New version
2
.gitignore
vendored
@ -399,4 +399,4 @@ script.py
|
||||
jumpingbird.*
|
||||
jumpingbird.data
|
||||
build
|
||||
build-emcmake
|
||||
build-emcmake
|
||||
|
||||
83
.vscode/settings.json
vendored
@ -1,83 +0,0 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"array": "cpp",
|
||||
"atomic": "cpp",
|
||||
"bit": "cpp",
|
||||
"*.tcc": "cpp",
|
||||
"bitset": "cpp",
|
||||
"cctype": "cpp",
|
||||
"charconv": "cpp",
|
||||
"chrono": "cpp",
|
||||
"clocale": "cpp",
|
||||
"cmath": "cpp",
|
||||
"compare": "cpp",
|
||||
"concepts": "cpp",
|
||||
"condition_variable": "cpp",
|
||||
"cstdarg": "cpp",
|
||||
"cstddef": "cpp",
|
||||
"cstdint": "cpp",
|
||||
"cstdio": "cpp",
|
||||
"cstdlib": "cpp",
|
||||
"cstring": "cpp",
|
||||
"ctime": "cpp",
|
||||
"cwchar": "cpp",
|
||||
"cwctype": "cpp",
|
||||
"forward_list": "cpp",
|
||||
"list": "cpp",
|
||||
"string": "cpp",
|
||||
"unordered_map": "cpp",
|
||||
"vector": "cpp",
|
||||
"deque": "cpp",
|
||||
"exception": "cpp",
|
||||
"algorithm": "cpp",
|
||||
"functional": "cpp",
|
||||
"iterator": "cpp",
|
||||
"memory": "cpp",
|
||||
"memory_resource": "cpp",
|
||||
"optional": "cpp",
|
||||
"random": "cpp",
|
||||
"ratio": "cpp",
|
||||
"string_view": "cpp",
|
||||
"system_error": "cpp",
|
||||
"tuple": "cpp",
|
||||
"type_traits": "cpp",
|
||||
"utility": "cpp",
|
||||
"format": "cpp",
|
||||
"initializer_list": "cpp",
|
||||
"iomanip": "cpp",
|
||||
"iosfwd": "cpp",
|
||||
"istream": "cpp",
|
||||
"limits": "cpp",
|
||||
"mutex": "cpp",
|
||||
"new": "cpp",
|
||||
"ostream": "cpp",
|
||||
"print": "cpp",
|
||||
"span": "cpp",
|
||||
"sstream": "cpp",
|
||||
"stdexcept": "cpp",
|
||||
"streambuf": "cpp",
|
||||
"text_encoding": "cpp",
|
||||
"thread": "cpp",
|
||||
"cinttypes": "cpp",
|
||||
"typeinfo": "cpp",
|
||||
"variant": "cpp",
|
||||
"__bit_reference": "cpp",
|
||||
"__locale": "cpp",
|
||||
"__split_buffer": "cpp",
|
||||
"__verbose_abort": "cpp",
|
||||
"execution": "cpp",
|
||||
"ios": "cpp",
|
||||
"locale": "cpp",
|
||||
"queue": "cpp",
|
||||
"stack": "cpp",
|
||||
"codecvt": "cpp",
|
||||
"map": "cpp",
|
||||
"numeric": "cpp",
|
||||
"regex": "cpp",
|
||||
"fstream": "cpp",
|
||||
"iostream": "cpp",
|
||||
"numbers": "cpp",
|
||||
"semaphore": "cpp",
|
||||
"stop_token": "cpp"
|
||||
}
|
||||
}
|
||||
@ -1,24 +0,0 @@
|
||||
#pragma once
|
||||
#include "TextureManager.h"
|
||||
#include "Math.h"
|
||||
#include <unordered_map>
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace ZL {
|
||||
struct ActiveObject {
|
||||
std::string name;
|
||||
std::shared_ptr<ZL::Texture> activeObjectTexturePtr;
|
||||
ZL::VertexDataStruct activeObjectMesh;
|
||||
ZL::VertexRenderStruct activeObjectMeshMutable;
|
||||
|
||||
std::shared_ptr<ZL::Texture> activeObjectScreenTexturePtr;
|
||||
ZL::VertexDataStruct activeObjectScreenMesh;
|
||||
ZL::VertexRenderStruct activeObjectScreenMeshMutable;
|
||||
|
||||
std::shared_ptr<ZL::Texture> inventoryIconTexturePtr;
|
||||
|
||||
ZL::Vector3f objectPos;
|
||||
bool highlighted = false;
|
||||
};
|
||||
}
|
||||
110
BoundaryBox.h
@ -1,110 +0,0 @@
|
||||
#pragma once
|
||||
#include "Math.h"
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
namespace ZL {
|
||||
|
||||
// Базовый класс для всех коллизий
|
||||
class Collidable {
|
||||
public:
|
||||
virtual bool checkCollision(const Vector3f& position) const = 0;
|
||||
virtual ~Collidable() = default;
|
||||
};
|
||||
|
||||
// Прямоугольная граница комнаты
|
||||
class BoundaryBox {
|
||||
public:
|
||||
BoundaryBox()
|
||||
{
|
||||
}
|
||||
|
||||
BoundaryBox(float width, float height)
|
||||
: halfWidth(width/2)
|
||||
, halfHeight(height/2) {}
|
||||
|
||||
bool isInside(const Vector3f& position) const {
|
||||
return (position.v[0] >= -halfWidth && position.v[0] <= halfWidth &&
|
||||
position.v[2] >= -halfHeight && position.v[2] <= halfHeight);
|
||||
}
|
||||
|
||||
private:
|
||||
float halfWidth = 0;
|
||||
float halfHeight = 0;
|
||||
};
|
||||
|
||||
// Круглая коллизия для объектов
|
||||
class CircleCollider : public Collidable {
|
||||
public:
|
||||
CircleCollider(const Vector3f& center, float radius)
|
||||
: center(center)
|
||||
, radius(radius) {}
|
||||
|
||||
bool checkCollision(const Vector3f& position) const override {
|
||||
float dx = position.v[0] - center.v[0];
|
||||
float dz = position.v[2] - center.v[2];
|
||||
return (dx * dx + dz * dz) <= (radius * radius);
|
||||
}
|
||||
|
||||
void setPosition(const Vector3f& newPos) { center = newPos; }
|
||||
void setRadius(float newRadius) { radius = newRadius; }
|
||||
|
||||
private:
|
||||
Vector3f center;
|
||||
float radius;
|
||||
};
|
||||
|
||||
// Прямоугольная коллизия для объектов
|
||||
class RectangleCollider : public Collidable {
|
||||
public:
|
||||
RectangleCollider(const Vector3f& min, const Vector3f& max)
|
||||
: minPoint(min)
|
||||
, maxPoint(max) {}
|
||||
|
||||
bool checkCollision(const Vector3f& position) const override {
|
||||
return (position.v[0] >= minPoint.v[0] && position.v[0] <= maxPoint.v[0] &&
|
||||
position.v[2] >= minPoint.v[2] && position.v[2] <= maxPoint.v[2]);
|
||||
}
|
||||
|
||||
private:
|
||||
Vector3f minPoint;
|
||||
Vector3f maxPoint;
|
||||
};
|
||||
|
||||
// Менеджер коллизий
|
||||
class CollisionManager {
|
||||
public:
|
||||
CollisionManager()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void setRoomBoundary(float width, float height) {
|
||||
roomBoundary = BoundaryBox(width, height);
|
||||
}
|
||||
|
||||
void addCollider(std::shared_ptr<Collidable> collider) {
|
||||
colliders.push_back(collider);
|
||||
}
|
||||
|
||||
bool checkCollision(const Vector3f& position) const {
|
||||
// Проверяем границы комнаты
|
||||
if (!roomBoundary.isInside(position)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Проверяем коллизии с объектами
|
||||
for (const auto& collider : colliders) {
|
||||
if (collider->checkCollision(position)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private:
|
||||
BoundaryBox roomBoundary;
|
||||
std::vector<std::shared_ptr<Collidable>> colliders;
|
||||
};
|
||||
|
||||
} // namespace ZL
|
||||
@ -1,83 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(SDLApp VERSION 1.0 LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(SDL2 REQUIRED sdl2)
|
||||
pkg_check_modules(GL REQUIRED gl)
|
||||
pkg_check_modules(LIBZIP REQUIRED libzip)
|
||||
|
||||
option(AUDIO "Audio support" OFF)
|
||||
|
||||
if(AUDIO)
|
||||
set(AUDIO ON)
|
||||
else()
|
||||
set(AUDIO OFF)
|
||||
endif()
|
||||
|
||||
if(AUDIO)
|
||||
pkg_check_modules(VORBIS REQUIRED vorbis vorbisfile ogg)
|
||||
pkg_check_modules(OPENAL REQUIRED openal)
|
||||
add_definitions(-DAUDIO)
|
||||
endif()
|
||||
|
||||
add_executable(sdl_app
|
||||
Game.cpp
|
||||
main.cpp
|
||||
Math.cpp
|
||||
OpenGlExtensions.cpp
|
||||
Physics.cpp
|
||||
Renderer.cpp
|
||||
ShaderManager.cpp
|
||||
TextureManager.cpp
|
||||
Utils.cpp
|
||||
BoneAnimatedModel.cpp
|
||||
ObjLoader.cpp
|
||||
TextModel.cpp
|
||||
Inventory.cpp
|
||||
Environment.cpp
|
||||
GameObjectManager.cpp
|
||||
RenderSystem.cpp
|
||||
QuestScripts.cpp
|
||||
)
|
||||
|
||||
if(AUDIO)
|
||||
target_sources(sdl_app PRIVATE
|
||||
cmakeaudioplayer/src/AudioPlayer.cpp
|
||||
AudioPlayerAsync.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
target_include_directories(sdl_app PRIVATE
|
||||
${SDL2_INCLUDE_DIRS}
|
||||
${GL_INCLUDE_DIRS}
|
||||
${LIBZIP_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
if(AUDIO)
|
||||
target_include_directories(sdl_app PRIVATE
|
||||
${VORBIS_INCLUDE_DIRS}
|
||||
${OPENAL_INCLUDE_DIRS}
|
||||
cmakeaudioplayer/include
|
||||
)
|
||||
endif()
|
||||
|
||||
target_link_libraries(sdl_app
|
||||
${SDL2_LIBRARIES}
|
||||
${GL_LIBRARIES}
|
||||
Threads::Threads
|
||||
${LIBZIP_LIBRARIES}
|
||||
)
|
||||
|
||||
if(AUDIO)
|
||||
target_link_libraries(sdl_app
|
||||
${VORBIS_LIBRARIES}
|
||||
${OPENAL_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
|
Before Width: | Height: | Size: 48 MiB |
@ -1,8 +1,6 @@
|
||||
#include "Environment.h"
|
||||
|
||||
#include "RenderSystem.h"
|
||||
#include "Utils.h"
|
||||
#include "Inventory.h"
|
||||
#include <GL/gl.h>
|
||||
|
||||
namespace ZL {
|
||||
@ -10,7 +8,7 @@ namespace ZL {
|
||||
int Environment::windowHeaderHeight = 0;
|
||||
int Environment::width = 0;
|
||||
int Environment::height = 0;
|
||||
float Environment::zoom = 3.f;
|
||||
float Environment::zoom = 20.f;
|
||||
|
||||
bool Environment::leftPressed = false;
|
||||
bool Environment::rightPressed = false;
|
||||
@ -23,34 +21,14 @@ Vector3f Environment::characterPos = {0, 0, 0};
|
||||
float Environment::cameraPhi = 0.f;
|
||||
float Environment::cameraAlpha = 0.3*M_PI / 2.0;
|
||||
|
||||
float Environment::violaCurrentIdleFrame = 0.f;
|
||||
int Environment::violaLastIdleFrame = -1;
|
||||
float Environment::violaCurrentWalkFrame = 0.f;
|
||||
int Environment::violaLastWalkFrame = 0;
|
||||
|
||||
int Environment::violaCurrentAnimation = 0;
|
||||
float Environment::violaAngleAroundY = 0.f;
|
||||
|
||||
bool Environment::settings_inverseVertical = false;
|
||||
|
||||
SDL_Window* Environment::window = nullptr;
|
||||
|
||||
float Environment::cameraDefaultVerticalShift = -150.f;
|
||||
float Environment::itemDefaultVerticalShift = -80.f;
|
||||
bool Environment::showMouse = false;
|
||||
|
||||
bool Environment::exitGameLoop = false;
|
||||
|
||||
bool Environment::gameIsLoading = true;
|
||||
|
||||
float Environment::monsterTimer = 0.0;
|
||||
int Environment::monsterState = 1;
|
||||
|
||||
bool Environment::finalIsGood = false;
|
||||
bool Environment::finalIsBad = false;
|
||||
|
||||
bool Environment::goToLevel3 = false;
|
||||
float Environment::goTolevel3Timer = 0;
|
||||
|
||||
|
||||
} // namespace ZL
|
||||
|
||||
@ -24,38 +24,15 @@ public:
|
||||
static float cameraPhi;
|
||||
static float cameraAlpha;
|
||||
|
||||
//Viola
|
||||
static float violaCurrentIdleFrame;
|
||||
static float violaCurrentWalkFrame;
|
||||
|
||||
static int violaLastIdleFrame;
|
||||
static int violaLastWalkFrame;
|
||||
|
||||
static int violaCurrentAnimation;
|
||||
|
||||
static float violaAngleAroundY;
|
||||
|
||||
static bool settings_inverseVertical;
|
||||
|
||||
static SDL_Window* window;
|
||||
|
||||
static float cameraDefaultVerticalShift;
|
||||
static float itemDefaultVerticalShift;
|
||||
|
||||
static bool showMouse;
|
||||
static bool exitGameLoop;
|
||||
|
||||
static bool gameIsLoading;
|
||||
|
||||
static float monsterTimer;
|
||||
static int monsterState;
|
||||
|
||||
static bool finalIsGood;
|
||||
static bool finalIsBad;
|
||||
|
||||
static bool goToLevel3;
|
||||
static float goTolevel3Timer;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
127
Game.cpp
@ -2,20 +2,20 @@
|
||||
#include "AnimatedModel.h"
|
||||
#include "BoneAnimatedModel.h"
|
||||
#include "Utils.h"
|
||||
#include "Inventory.h" // Add this include
|
||||
#include "OpenGlExtensions.h"
|
||||
#include <iostream>
|
||||
#include "TextureManager.h"
|
||||
#include "TextModel.h"
|
||||
|
||||
namespace ZL
|
||||
{
|
||||
extern const char* CONST_ZIP_FILE;
|
||||
const char* CONST_ZIP_FILE = "";
|
||||
|
||||
Game::Game()
|
||||
: window(nullptr)
|
||||
, glContext(nullptr)
|
||||
, newTickCount(0)
|
||||
, lastTickCount(0)
|
||||
, renderer(renderSystem.getRenderer()) // Инициализация ссылки на renderer
|
||||
{
|
||||
}
|
||||
|
||||
@ -35,65 +35,71 @@ void Game::setup() {
|
||||
ZL::BindOpenGlFunctions();
|
||||
ZL::CheckGlError();
|
||||
|
||||
std::cout << "Hello 1" << std::endl;
|
||||
|
||||
// Initialize renderer
|
||||
|
||||
#ifdef EMSCRIPTEN
|
||||
renderer.shaderManager.AddShaderFromFiles("default", "./default.vertex", "./default_web.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultColor", "./defaultColor.vertex", "./defaultColor_web.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultHideCam", "./defaultHideCam.vertex", "./defaultHideCam_web.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("default", "./shaders/default.vertex", "./shaders/default_web.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultColor", "./shaders/defaultColor.vertex", "./shaders/defaultColor_web.fragment", CONST_ZIP_FILE);
|
||||
#else
|
||||
renderer.shaderManager.AddShaderFromFiles("default", "./default.vertex", "./default_desktop.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultColor", "./defaultColor.vertex", "./defaultColor_desktop.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultHideCam", "./defaultHideCam.vertex", "./defaultHideCam_desktop.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("default", "./shaders/default.vertex", "./shaders/default_desktop.fragment", CONST_ZIP_FILE);
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultColor", "./shaders/defaultColor.vertex", "./shaders/defaultColor_desktop.fragment", CONST_ZIP_FILE);
|
||||
#endif
|
||||
|
||||
//Load texture
|
||||
spaceshipTexture = std::make_unique<Texture>(CreateTextureDataFromPng("./resources/sship001x.png"));
|
||||
spaceshipBase = LoadFromTextFile02("./resources/spaceship004.txt");
|
||||
spaceshipBase.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundY(M_PI / 2.0)));
|
||||
spaceship.AssignFrom(spaceshipBase);
|
||||
spaceship.RefreshVBO();
|
||||
|
||||
// Initialize game objects
|
||||
std::cout << "Hello 2" << std::endl;
|
||||
|
||||
gameObjects.initialize();
|
||||
|
||||
std::cout << "Hello 3" << std::endl;
|
||||
|
||||
renderer.InitOpenGL();
|
||||
|
||||
}
|
||||
|
||||
void Game::drawScene() {
|
||||
// Вместо прямого рисования используем RenderSystem
|
||||
renderSystem.drawScene(gameObjects);
|
||||
static const std::string defaultShaderName = "default";
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
static const std::string textureUniformName = "Texture";
|
||||
|
||||
glClearColor(0.0f, 0.5f, 1.0f, 1.0f);
|
||||
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
||||
|
||||
glViewport(0, 0, Environment::width, Environment::height);
|
||||
|
||||
CheckGlError();
|
||||
|
||||
renderer.shaderManager.PushShader(defaultShaderName);
|
||||
renderer.RenderUniform1i(textureUniformName, 0);
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.PushPerspectiveProjectionMatrix(1.0 / 1.5,
|
||||
static_cast<float>(Environment::width) / static_cast<float>(Environment::height),
|
||||
1, 1000);
|
||||
renderer.PushMatrix();
|
||||
|
||||
renderer.LoadIdentity();
|
||||
renderer.TranslateMatrix({ 0,0, -1.0f*Environment::zoom });
|
||||
renderer.RotateMatrix(QuatFromRotateAroundX(M_PI/6.0));
|
||||
//renderer.RotateMatrix(QuatFromRotateAroundX(Environment::cameraAlpha));
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, spaceshipTexture->getTexID());
|
||||
renderer.DrawVertexRenderStruct(spaceship);
|
||||
|
||||
renderer.PopMatrix();
|
||||
renderer.PopProjectionMatrix();
|
||||
renderer.DisableVertexAttribArray(vPositionName);
|
||||
renderer.DisableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.shaderManager.PopShader();
|
||||
|
||||
CheckGlError();
|
||||
}
|
||||
|
||||
void Game::processTickCount() {
|
||||
|
||||
if (Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (Environment::finalIsBad)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (Environment::gameIsLoading)
|
||||
{
|
||||
if (gameObjects.loadingFunctions.size() != 0)
|
||||
{
|
||||
bool result = gameObjects.loadingFunctions.begin()->operator()();
|
||||
if (result)
|
||||
{
|
||||
gameObjects.loadingFunctions.erase(gameObjects.loadingFunctions.begin());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Environment::gameIsLoading = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (lastTickCount == 0) {
|
||||
lastTickCount = SDL_GetTicks64();
|
||||
return;
|
||||
@ -104,7 +110,9 @@ void Game::processTickCount() {
|
||||
size_t delta = (newTickCount - lastTickCount > CONST_MAX_TIME_INTERVAL) ?
|
||||
CONST_MAX_TIME_INTERVAL : newTickCount - lastTickCount;
|
||||
|
||||
gameObjects.updateScene(delta);
|
||||
//gameObjects.updateScene(delta);
|
||||
|
||||
Environment::cameraAlpha = Environment::cameraAlpha + delta * M_PI / 10000.f;
|
||||
|
||||
lastTickCount = newTickCount;
|
||||
}
|
||||
@ -127,22 +135,29 @@ void Game::update() {
|
||||
SDL_Event event;
|
||||
while (SDL_PollEvent(&event)) {
|
||||
if (event.type == SDL_QUIT) {
|
||||
if (gameObjects.loadingThread.joinable())
|
||||
{
|
||||
gameObjects.loadingThread.join();
|
||||
}
|
||||
#ifdef AUDIO
|
||||
gameObjects.audioPlayerAsync.exit();
|
||||
#endif
|
||||
Environment::exitGameLoop = true;
|
||||
|
||||
}
|
||||
else if (event.type == SDL_MOUSEWHEEL) {
|
||||
static const float zoomstep = 2.0f;
|
||||
if (event.wheel.y > 0) {
|
||||
Environment::zoom -= zoomstep;
|
||||
}
|
||||
else if (event.wheel.y < 0) {
|
||||
Environment::zoom += zoomstep;
|
||||
}
|
||||
if (Environment::zoom < zoomstep) {
|
||||
Environment::zoom = zoomstep;
|
||||
}
|
||||
/*if (Environment::zoom > 4) {
|
||||
Environment::zoom = 4;
|
||||
}*/
|
||||
|
||||
if (!Environment::gameIsLoading)
|
||||
{
|
||||
gameObjects.handleEvent(event);
|
||||
//this->modelMeshRender.data.Scale(0.5);
|
||||
//this->modelMeshRender.RefreshVBO();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
render();
|
||||
}
|
||||
|
||||
13
Game.h
@ -1,9 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include "OpenGlExtensions.h"
|
||||
#include "GameObjectManager.h"
|
||||
#include "RenderSystem.h"
|
||||
#include "Renderer.h"
|
||||
#include "Environment.h"
|
||||
#include "TextureManager.h"
|
||||
|
||||
namespace ZL {
|
||||
|
||||
@ -13,7 +13,6 @@ public:
|
||||
~Game();
|
||||
|
||||
void setup();
|
||||
void run();
|
||||
void update();
|
||||
void render();
|
||||
|
||||
@ -25,15 +24,17 @@ private:
|
||||
|
||||
SDL_Window* window;
|
||||
SDL_GLContext glContext;
|
||||
RenderSystem renderSystem;
|
||||
GameObjectManager gameObjects;
|
||||
Renderer& renderer; // Ссылка на renderer из RenderSystem
|
||||
Renderer renderer;
|
||||
|
||||
size_t newTickCount;
|
||||
size_t lastTickCount;
|
||||
|
||||
static const size_t CONST_TIMER_INTERVAL = 10;
|
||||
static const size_t CONST_MAX_TIME_INTERVAL = 1000;
|
||||
|
||||
std::shared_ptr<Texture> spaceshipTexture;
|
||||
VertexDataStruct spaceshipBase;
|
||||
VertexRenderStruct spaceship;
|
||||
};
|
||||
|
||||
} // namespace ZL
|
||||
@ -1,928 +0,0 @@
|
||||
#include "GameObjectManager.h"
|
||||
#include "Environment.h"
|
||||
#include "ObjLoader.h"
|
||||
#include "Inventory.h"
|
||||
#include "QuestScripts.h"
|
||||
#include "TextModel.h" // Add this include for LoadFromTextFile
|
||||
|
||||
#include <iostream>
|
||||
|
||||
namespace ZL {
|
||||
|
||||
const float GameObjectManager::INVENTORY_ICON_SIZE = 44.0f;
|
||||
const float GameObjectManager::INVENTORY_MARGIN = 44.0f;
|
||||
|
||||
const float GameObjectManager::SELECTED_CUBE_ICON_SIZE = 244.0f;
|
||||
const float GameObjectManager::SELECTED_CUBE_MARGIN = 50.0f;
|
||||
|
||||
const char* CONST_ZIP_FILE = ""; //CONST_ZIP_FILE
|
||||
|
||||
void GameObjectManager::initializeLoadingScreen()
|
||||
{
|
||||
loadingScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./loading.bmp", CONST_ZIP_FILE));
|
||||
|
||||
loadingScreenMesh = CreateRect2D(
|
||||
{ Environment::width / 2.f, Environment::height / 2.f },
|
||||
{ Environment::width / 2.f, Environment::height / 2.f },
|
||||
0.5f
|
||||
);
|
||||
loadingScreenMeshMutable.AssignFrom(loadingScreenMesh);
|
||||
loadingScreenMeshMutable.RefreshVBO();
|
||||
}
|
||||
|
||||
void GameObjectManager::initialize() {
|
||||
|
||||
initializeLoadingScreen();
|
||||
|
||||
std::function<bool()> loadingFunction1 = [this]()
|
||||
{
|
||||
|
||||
current_room_index = 0;
|
||||
objects_in_inventory = 0;
|
||||
bearName = "";
|
||||
current_room_index = 0;
|
||||
objects_in_inventory = 0;
|
||||
|
||||
//coneTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./conus.bmp"));
|
||||
|
||||
// Load models
|
||||
/*
|
||||
colorCubeMesh = CreateCube3D(5.0);
|
||||
colorCubeMeshMutable.data = CreateCube3D(5.0);
|
||||
colorCubeMeshMutable.RefreshVBO();
|
||||
*/
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
loadingThread = std::thread([this]() {
|
||||
|
||||
/*
|
||||
preloadedRoomMeshArr.resize(3);
|
||||
preloadedRoomMeshArr[0] = ZL::LoadFromTextFile("./oneroom001.txt", CONST_ZIP_FILE);
|
||||
preloadedRoomMeshArr[0].Scale(10);
|
||||
preloadedRoomMeshArr[0].Move(Vector3f{ 0, 93, 0 });
|
||||
|
||||
preloadedRoomMeshArr[1] = ZL::LoadFromTextFile("./secondroom001.txt", CONST_ZIP_FILE);
|
||||
preloadedRoomMeshArr[1].Scale(10);
|
||||
preloadedRoomMeshArr[1].Move(Vector3f{ 0, 93, 0 });
|
||||
|
||||
|
||||
preloadedRoomMeshArr[2] = ZL::LoadFromTextFile("./thirdroom1.txt", CONST_ZIP_FILE);
|
||||
preloadedRoomMeshArr[2].Scale(10);
|
||||
preloadedRoomMeshArr[2].Move(Vector3f{ 0, 93, 0 });
|
||||
|
||||
*/
|
||||
|
||||
|
||||
violaIdleModel.LoadFromFile("./idleviola_uv010.txt", CONST_ZIP_FILE);
|
||||
violaWalkModel.LoadFromFile("./walkviola_uv010.txt", CONST_ZIP_FILE);
|
||||
sideThreadLoadingCompleted = true;
|
||||
});
|
||||
|
||||
std::function<bool()> loadingFunction2 = [this]()
|
||||
{
|
||||
return sideThreadLoadingCompleted;
|
||||
};
|
||||
|
||||
std::function<bool()> loadingFunction3 = [this]()
|
||||
{
|
||||
/*
|
||||
// Create active object
|
||||
ActiveObject cubeForFirstRoomT;
|
||||
cubeForFirstRoomT.name = "cube_T";
|
||||
cubeForFirstRoomT.activeObjectMesh = ZL::LoadFromTextFile("./cube001.txt", CONST_ZIP_FILE);
|
||||
cubeForFirstRoomT.activeObjectMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundZ(M_PI * 0.5)));
|
||||
cubeForFirstRoomT.activeObjectMesh.Scale(10);
|
||||
cubeForFirstRoomT.activeObjectMeshMutable.AssignFrom(cubeForFirstRoomT.activeObjectMesh);
|
||||
cubeForFirstRoomT.activeObjectMeshMutable.RefreshVBO();
|
||||
cubeForFirstRoomT.objectPos = Vector3f{ -190, 90 , 280 };
|
||||
cubeForFirstRoomT.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./Material_Base_color_1001-_2_.bmp", CONST_ZIP_FILE));
|
||||
cubeForFirstRoomT.activeObjectScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./hand.bmp32", CONST_ZIP_FILE));
|
||||
cubeForFirstRoomT.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5);
|
||||
cubeForFirstRoomT.activeObjectScreenMeshMutable.AssignFrom(cubeForFirstRoomT.activeObjectScreenMesh);
|
||||
cubeForFirstRoomT.activeObjectScreenMeshMutable.RefreshVBO();
|
||||
cubeForFirstRoomT.inventoryIconTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./textures/inventory_objects/cubic_T_icon.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
ActiveObject cubeForFirstRoomO;
|
||||
cubeForFirstRoomO.name = "cube_O";
|
||||
cubeForFirstRoomO.activeObjectMesh = ZL::LoadFromTextFile("./cube001.txt", CONST_ZIP_FILE);
|
||||
cubeForFirstRoomO.activeObjectMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundZ(M_PI * 0.5)));
|
||||
cubeForFirstRoomO.activeObjectMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundX(M_PI * 1.5)));
|
||||
cubeForFirstRoomO.activeObjectMesh.Scale(10);
|
||||
cubeForFirstRoomO.activeObjectMeshMutable.AssignFrom(cubeForFirstRoomO.activeObjectMesh);
|
||||
cubeForFirstRoomO.activeObjectMeshMutable.RefreshVBO();
|
||||
cubeForFirstRoomO.objectPos = Vector3f{ 185, 90 , -365 };
|
||||
cubeForFirstRoomO.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./Material_Base_color_1001-_3.bmp", CONST_ZIP_FILE));
|
||||
cubeForFirstRoomO.activeObjectScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./hand.bmp32", CONST_ZIP_FILE));
|
||||
cubeForFirstRoomO.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5);
|
||||
cubeForFirstRoomO.activeObjectScreenMeshMutable.AssignFrom(cubeForFirstRoomO.activeObjectScreenMesh);
|
||||
cubeForFirstRoomO.activeObjectScreenMeshMutable.RefreshVBO();
|
||||
cubeForFirstRoomO.inventoryIconTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./textures/inventory_objects/cubic_O_icon.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
ActiveObject cubeForFirstRoomM;
|
||||
cubeForFirstRoomM.name = "cube_M";
|
||||
cubeForFirstRoomM.activeObjectMesh = ZL::LoadFromTextFile("./cube001.txt", CONST_ZIP_FILE);
|
||||
cubeForFirstRoomO.activeObjectMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundZ(M_PI * 0.5)));
|
||||
cubeForFirstRoomO.activeObjectMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundX(M_PI)));
|
||||
|
||||
cubeForFirstRoomM.activeObjectMesh.Scale(10);
|
||||
cubeForFirstRoomM.activeObjectMeshMutable.AssignFrom(cubeForFirstRoomO.activeObjectMesh);
|
||||
cubeForFirstRoomM.activeObjectMeshMutable.RefreshVBO();
|
||||
cubeForFirstRoomM.objectPos = Vector3f{ 200, 95 , 230 };
|
||||
cubeForFirstRoomM.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./Material_Base_color_1001_4.bmp", CONST_ZIP_FILE));
|
||||
cubeForFirstRoomM.activeObjectScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./hand.bmp32", CONST_ZIP_FILE));
|
||||
cubeForFirstRoomM.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5);
|
||||
cubeForFirstRoomM.activeObjectScreenMeshMutable.AssignFrom(cubeForFirstRoomO.activeObjectScreenMesh);
|
||||
cubeForFirstRoomM.activeObjectScreenMeshMutable.RefreshVBO();
|
||||
cubeForFirstRoomM.inventoryIconTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./textures/inventory_objects/cubic_M_icon.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
ActiveObject lampe;
|
||||
lampe.name = "lampe";
|
||||
lampe.activeObjectMesh = ZL::LoadFromTextFile("./lighter.txt", CONST_ZIP_FILE); // Add ZL:: namespace
|
||||
lampe.activeObjectMesh.Scale(7);
|
||||
lampe.activeObjectMeshMutable.AssignFrom(lampe.activeObjectMesh);
|
||||
lampe.activeObjectMeshMutable.RefreshVBO();
|
||||
lampe.objectPos = Vector3f{ 85, 30, 43 };
|
||||
lampe.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./temno.bmp", CONST_ZIP_FILE));
|
||||
lampe.activeObjectScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./hand.bmp32", CONST_ZIP_FILE));
|
||||
lampe.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5);
|
||||
lampe.activeObjectScreenMeshMutable.AssignFrom(lampe.activeObjectScreenMesh);
|
||||
lampe.activeObjectScreenMeshMutable.RefreshVBO();
|
||||
lampe.inventoryIconTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./textures/inventory_objects/cubic_T_icon.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
|
||||
ActiveObject carToy;
|
||||
carToy.name = "carToy";
|
||||
carToy.activeObjectMesh = ZL::LoadFromTextFile("./car.txt", CONST_ZIP_FILE); // Add ZL:: namespace
|
||||
carToy.activeObjectMesh.Scale(12);
|
||||
carToy.activeObjectMeshMutable.AssignFrom(carToy.activeObjectMesh);
|
||||
carToy.activeObjectMeshMutable.RefreshVBO();
|
||||
carToy.objectPos = Vector3f{ 300, 0, 315 };
|
||||
carToy.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./Material.001_Base_color_1001_5.bmp", CONST_ZIP_FILE));
|
||||
carToy.activeObjectScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./hand.bmp32", CONST_ZIP_FILE));
|
||||
carToy.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5);
|
||||
carToy.activeObjectScreenMeshMutable.AssignFrom(carToy.activeObjectScreenMesh);
|
||||
carToy.activeObjectScreenMeshMutable.RefreshVBO();
|
||||
carToy.inventoryIconTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./textures/inventory_objects/battery.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
|
||||
ActiveObject lock;
|
||||
lock.name = "lockFriend";
|
||||
lock.activeObjectMesh = ZL::LoadFromTextFile("./lock.txt", CONST_ZIP_FILE); // Add ZL:: namespace
|
||||
lock.activeObjectMesh.Scale(2);
|
||||
lock.activeObjectMeshMutable.AssignFrom(lock.activeObjectMesh);
|
||||
lock.activeObjectMeshMutable.RefreshVBO();
|
||||
lock.objectPos = Vector3f{ 101, 100, 255 };
|
||||
lock.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./temno.bmp", CONST_ZIP_FILE));
|
||||
lock.activeObjectScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./hand.bmp32", CONST_ZIP_FILE));
|
||||
lock.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5);
|
||||
lock.activeObjectScreenMeshMutable.AssignFrom(lock.activeObjectScreenMesh);
|
||||
lock.activeObjectScreenMeshMutable.RefreshVBO();
|
||||
lock.inventoryIconTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./textures/inventory_objects/battery.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
|
||||
ActiveObject door;
|
||||
door.name = "doorGlory";
|
||||
door.activeObjectMesh = ZL::LoadFromTextFile("./door.txt", CONST_ZIP_FILE); // Add ZL:: namespace
|
||||
door.activeObjectMesh.Scale(60);
|
||||
door.activeObjectMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundY(-M_PI * 0.5)));
|
||||
door.activeObjectMeshMutable.AssignFrom(door.activeObjectMesh);
|
||||
door.activeObjectMeshMutable.RefreshVBO();
|
||||
door.objectPos = Vector3f{ -350, -40, -60 };
|
||||
door.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./door.bmp", CONST_ZIP_FILE));
|
||||
door.activeObjectScreenTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./hand.bmp32", CONST_ZIP_FILE));
|
||||
door.activeObjectScreenMesh = CreateRect2D({ 0.f, 0.f }, { 64.f, 64.f }, 0.5);
|
||||
door.activeObjectScreenMeshMutable.AssignFrom(door.activeObjectScreenMesh);
|
||||
door.activeObjectScreenMeshMutable.RefreshVBO();
|
||||
door.inventoryIconTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./textures/inventory_objects/battery.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
|
||||
|
||||
Room room_1;
|
||||
room_1.roomTexture = std::make_shared<Texture>(CreateTextureDataFromBmp24("./Material_Base_color_1001.bmp", CONST_ZIP_FILE));
|
||||
room_1.objects.push_back(cubeForFirstRoomT);
|
||||
room_1.objects.push_back(cubeForFirstRoomO);
|
||||
room_1.objects.push_back(cubeForFirstRoomM);
|
||||
room_1.sound_name = "lullaby-music-vol20-186394--online-audio-convert.com.ogg";
|
||||
room_1.roomLogic = createRoom1Logic();
|
||||
room_1.textMesh = preloadedRoomMeshArr[0];
|
||||
room_1.textMeshMutable.AssignFrom(room_1.textMesh);
|
||||
room_1.collisionMgr.setRoomBoundary(790, 790);
|
||||
room_1.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ 80, 0, 200 }, Vector3f{ 400, 0, 400 }));
|
||||
room_1.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -220, 0, 165 }, Vector3f{ -143, 0, 230 }));
|
||||
room_1.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -400, 0, 125 }, Vector3f{ -121, 0, 400 }));
|
||||
room_1.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -380, 0, -92 }, Vector3f{ -240, 0, 100 }));
|
||||
room_1.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -399, 0, -390 }, Vector3f{ -236, 0, -100 }));
|
||||
room_1.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -220, 0, -400 }, Vector3f{ -150, 0, -230 }));
|
||||
room_1.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ 156, 0, -400 }, Vector3f{ 380, 0, -360 }));
|
||||
|
||||
rooms.push_back(room_1);
|
||||
//aoMgr.addActiveObject(ao1);
|
||||
|
||||
Room room_2;
|
||||
room_2.roomTexture = std::make_shared<Texture>(CreateTextureDataFromBmp24("./seconroom.bmp", CONST_ZIP_FILE));
|
||||
room_2.objects.push_back(lampe);
|
||||
room_2.objects.push_back(carToy);
|
||||
room_2.sound_name = "unholy-choir-1-279337--online-audio-convert.com.ogg";
|
||||
room_2.roomLogic = createRoom2Logic();
|
||||
room_2.textMesh = preloadedRoomMeshArr[1];
|
||||
room_2.textMeshMutable.AssignFrom(room_2.textMesh);
|
||||
room_2.collisionMgr.setRoomBoundary(790, 790);
|
||||
room_2.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -227, 0, -166 }, Vector3f{ 398, 0, -154 }));
|
||||
room_2.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -328, 0, 182 }, Vector3f{ -216, 0, 332 }));
|
||||
room_2.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ -227, 0, -400 }, Vector3f{ -208, 0, -165}));
|
||||
room_2.collisionMgr.addCollider(std::make_shared<RectangleCollider>(Vector3f{ 263, 0, 295 }, Vector3f{ 303, 0, 335 }));
|
||||
rooms.push_back(room_2);
|
||||
|
||||
activeObjects = rooms[current_room_index].objects;
|
||||
|
||||
|
||||
|
||||
|
||||
Room room_3;
|
||||
room_3.roomTexture = std::make_shared<Texture>(CreateTextureDataFromBmp24("./DefaultMaterial_Base_color_1001.bmp", CONST_ZIP_FILE));
|
||||
room_3.sound_name = "unseen-danger-fss-no-copyright-music-252588--online-audio-convert.com.ogg";
|
||||
room_3.objects.push_back(lock);
|
||||
room_3.objects.push_back(door);
|
||||
room_3.roomLogic = createRoom3Logic();
|
||||
room_3.textMesh = preloadedRoomMeshArr[2];
|
||||
room_3.textMeshMutable.AssignFrom(room_3.textMesh);
|
||||
room_3.collisionMgr.setRoomBoundary(790, 790);
|
||||
rooms.push_back(room_3);
|
||||
|
||||
activeObjects = rooms[current_room_index].objects;*/
|
||||
|
||||
// Initialize audio
|
||||
/*
|
||||
audioPlayer = std::make_unique<AudioPlayer>();
|
||||
if (audioPlayer) {
|
||||
audioPlayer->playMusic(rooms[current_room_index].sound_name);
|
||||
}*/
|
||||
#ifdef AUDIO
|
||||
audioPlayerAsync.resetAsync();
|
||||
audioPlayerAsync.playMusicAsync(rooms[current_room_index].sound_name);
|
||||
#endif
|
||||
// Initialize inventory
|
||||
inventoryIconMesh = CreateRect2D(
|
||||
{ 0.0f, 40.0f },
|
||||
{ INVENTORY_ICON_SIZE / 2, INVENTORY_ICON_SIZE / 2 },
|
||||
0.5f
|
||||
);
|
||||
inventoryIconMeshMutable.AssignFrom(inventoryIconMesh);
|
||||
inventoryIconMeshMutable.RefreshVBO();
|
||||
|
||||
//roomTexturePtr = rooms[current_room_index].roomTexture;
|
||||
|
||||
/*
|
||||
monsterTexturePtr1 = std::make_shared<Texture>(CreateTextureDataFromBmp32("./monster001.bmp32", CONST_ZIP_FILE));
|
||||
monsterTexturePtr2 = std::make_shared<Texture>(CreateTextureDataFromBmp32("./monster002.bmp32", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
monsterScreenMesh = CreateRect2D({ 0.f, 0.f }, { 300.f, 300.f }, 0.5);
|
||||
monsterScreenMeshMutable.AssignFrom(monsterScreenMesh);
|
||||
monsterScreenMeshMutable.RefreshVBO();
|
||||
*/
|
||||
|
||||
violaTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./viola.bmp", CONST_ZIP_FILE));
|
||||
|
||||
/*
|
||||
if (!dialogTextures.empty()) { // Проверяем, есть ли диалоги
|
||||
dialogTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24(dialogTextures[dialogIndex], CONST_ZIP_FILE));
|
||||
isDialogActive = true;
|
||||
}*/
|
||||
|
||||
//batteryDialogTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./battery_dialog.bmp", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
//finalGoodTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./final_good.bmp", CONST_ZIP_FILE));
|
||||
//finalBadTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./final_bad.bmp", CONST_ZIP_FILE));
|
||||
|
||||
|
||||
|
||||
|
||||
landMesh = CreateRect2D({ -6000.f, -6000.f }, { 6000.f, 6000.f }, 0.0);
|
||||
landMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundX(M_PI * 0.5)));
|
||||
landMesh.Move({ 5000.f, 0.f, -5000.f});
|
||||
landMeshRender.AssignFrom(landMesh);
|
||||
landMeshRender.RefreshVBO();
|
||||
landTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./land.bmp", CONST_ZIP_FILE));
|
||||
|
||||
//modelMesh = ZL::LoadFromTextFile("./inai001.txt", CONST_ZIP_FILE);
|
||||
//modelMesh.Scale(45);
|
||||
//modelMesh.Move({ 0, 430, 600 });
|
||||
modelMesh = ZL::LoadFromTextFile("./model001.txt", CONST_ZIP_FILE);
|
||||
//modelMesh.RotateByMatrix(QuatToMatrix(QuatFromRotateAroundZ(M_PI * 0.5)));
|
||||
modelMesh.Scale(40);
|
||||
modelMeshRender.AssignFrom(modelMesh);
|
||||
modelMeshRender.RefreshVBO();
|
||||
//modelTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./Cube.bmp", CONST_ZIP_FILE));
|
||||
modelTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./model001.bmp", CONST_ZIP_FILE));
|
||||
//SDL_ShowCursor(SDL_DISABLE);
|
||||
SDL_SetRelativeMouseMode(SDL_TRUE);
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
};
|
||||
|
||||
loadingFunctions.push_back(loadingFunction1);
|
||||
loadingFunctions.push_back(loadingFunction2);
|
||||
loadingFunctions.push_back(loadingFunction3);
|
||||
}
|
||||
|
||||
void GameObjectManager::switch_room(int index){
|
||||
current_room_index = index;
|
||||
|
||||
//roomTexturePtr = rooms[current_room_index].roomTexture;
|
||||
|
||||
|
||||
//audioPlayer.reset(); // This deletes the current AudioPlayer
|
||||
|
||||
// Reinitialize it
|
||||
/*audioPlayer = std::make_unique<AudioPlayer>();
|
||||
if (audioPlayer) {
|
||||
audioPlayer->playMusic(rooms[current_room_index].sound_name);
|
||||
}*/
|
||||
#ifdef AUDIO
|
||||
audioPlayerAsync.stopAsync();
|
||||
audioPlayerAsync.resetAsync();
|
||||
audioPlayerAsync.playMusicAsync(rooms[current_room_index].sound_name);
|
||||
#endif
|
||||
activeObjects = rooms[current_room_index].objects;
|
||||
|
||||
std::cout << "Current music" << rooms[current_room_index].sound_name << std::endl;
|
||||
|
||||
Environment::cameraShift = Vector3f{};
|
||||
Environment::characterPos = Vector3f{};
|
||||
}
|
||||
|
||||
void GameObjectManager::handleEvent(const SDL_Event& event) {
|
||||
// debug room switching
|
||||
/*if (event.type == SDL_MOUSEBUTTONDOWN && event.button.button == SDL_BUTTON_RIGHT) {
|
||||
|
||||
}
|
||||
else */if (event.type == SDL_MOUSEBUTTONDOWN) {
|
||||
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
/*
|
||||
if (isDialogActive) {
|
||||
dialogIndex++;
|
||||
if (dialogIndex < dialogTextures.size()) {
|
||||
dialogTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24(dialogTextures[dialogIndex], CONST_ZIP_FILE));
|
||||
}
|
||||
else {
|
||||
isDialogActive = false;
|
||||
}
|
||||
}
|
||||
else if (isBatteryDialogActive) {
|
||||
isBatteryDialogActive = false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
const auto highlightedObjects = rooms[current_room_index].findByHighlighted(true);
|
||||
|
||||
if (InventoryItem* item = GetItemSelected(true)) {
|
||||
std::cout << item->name << std::endl;
|
||||
|
||||
if (current_room_index == 0) {
|
||||
|
||||
if (bearName.length() <= 3) {
|
||||
if (item->name == "cube_T") {
|
||||
bearName += "T";
|
||||
selectedCubes.push_back(*item);
|
||||
gInventoryMap.erase(item->name);
|
||||
objects_in_inventory--;
|
||||
}
|
||||
else if (item->name == "cube_O") {
|
||||
bearName += "O";
|
||||
selectedCubes.push_back(*item);
|
||||
gInventoryMap.erase(item->name);
|
||||
objects_in_inventory--;
|
||||
}
|
||||
else if (item->name == "cube_M") {
|
||||
bearName += "M";
|
||||
selectedCubes.push_back(*item);
|
||||
gInventoryMap.erase(item->name);
|
||||
objects_in_inventory--;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (current_room_index == 1) {
|
||||
if (InventoryItem* item = GetItemSelected(true)) {
|
||||
std::cout << item->name << std::endl;
|
||||
if (item->name == "carToy") {
|
||||
|
||||
// Проверить, наведена ли мышь на лампу
|
||||
const auto highlightedObjects = rooms[current_room_index].findByHighlighted(true);
|
||||
std::cout << highlightedObjects.size() << std::endl;
|
||||
for (auto* ao : highlightedObjects) {
|
||||
if (ao && ao->name == "lampe") {
|
||||
|
||||
// Create a new lamp object with updated texture
|
||||
ActiveObject updatedLamp = *ao;
|
||||
// Change from dark to lit texture
|
||||
updatedLamp.activeObjectTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./base_Base_color_1001.bmp", CONST_ZIP_FILE));
|
||||
|
||||
// Replace the old lamp with updated one
|
||||
rooms[current_room_index].removeByPtr(ao);
|
||||
rooms[current_room_index].objects.push_back(updatedLamp);
|
||||
activeObjects = rooms[current_room_index].objects;
|
||||
|
||||
// Remove car from inventory
|
||||
gInventoryMap.erase(item->name);
|
||||
objects_in_inventory--;
|
||||
|
||||
// Play sound effect
|
||||
// audioPlayerAsync.playSoundAsync("lamp_on.ogg");
|
||||
|
||||
//AddItemToInventory(ao->name, ao->inventoryIconTexturePtr, objects_in_inventory+1);
|
||||
//objects_in_inventory++;
|
||||
//switch_room(2);
|
||||
|
||||
Environment::goToLevel3 = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (current_room_index == 2) {
|
||||
if (InventoryItem* item = GetItemSelected(true)) {
|
||||
if (item->name == "lockFriend") {}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
const auto highlightedObjects = rooms[current_room_index].findByHighlighted(true);
|
||||
|
||||
for (auto* ao : highlightedObjects) {
|
||||
if (!ao) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ao->name != "lampe" && ao->name != "doorGlory" && ao->name != "lockFriend") {
|
||||
AddItemToInventory(ao->name, ao->inventoryIconTexturePtr, objects_in_inventory + 1);
|
||||
|
||||
objects_in_inventory++;
|
||||
|
||||
rooms[current_room_index].removeByPtr(ao);
|
||||
activeObjects = rooms[current_room_index].objects;
|
||||
}
|
||||
else if (current_room_index == 1 && ao->name == "lampe")
|
||||
{
|
||||
if (isBatteryDialogActive == false)
|
||||
{
|
||||
isBatteryDialogActive = true;
|
||||
}
|
||||
}
|
||||
else if (current_room_index == 2 && ao->name == "doorGlory") {
|
||||
hasMadeChoise = true;
|
||||
hasChoisedFriendship = false;
|
||||
|
||||
// debug switching
|
||||
Environment::finalIsBad = true;
|
||||
}
|
||||
else if (current_room_index == 2 && ao->name == "lockFriend") {
|
||||
hasMadeChoise = true;
|
||||
hasChoisedFriendship = true;
|
||||
|
||||
// debug switching
|
||||
Environment::finalIsGood = true;
|
||||
}
|
||||
|
||||
|
||||
//aoMgr.removeByName(ao->name);
|
||||
}
|
||||
// bx.Interpolate(animationCounter);
|
||||
// animationCounter += 2;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
else if (event.type == SDL_MOUSEWHEEL) {
|
||||
static const float zoomstep = 2.0f;
|
||||
if (event.wheel.y > 0) {
|
||||
Environment::zoom -= zoomstep;
|
||||
}
|
||||
else if (event.wheel.y < 0) {
|
||||
Environment::zoom += zoomstep;
|
||||
}
|
||||
if (Environment::zoom < zoomstep) {
|
||||
Environment::zoom = zoomstep;
|
||||
}
|
||||
/*if (Environment::zoom > 4) {
|
||||
Environment::zoom = 4;
|
||||
}*/
|
||||
|
||||
//this->modelMeshRender.data.Scale(0.5);
|
||||
//this->modelMeshRender.RefreshVBO();
|
||||
}
|
||||
else if (event.type == SDL_KEYDOWN) {
|
||||
switch (event.key.keysym.sym) {
|
||||
case SDLK_i:
|
||||
Environment::settings_inverseVertical = !Environment::settings_inverseVertical;
|
||||
break;
|
||||
case SDLK_SPACE:
|
||||
Environment::showMouse = !Environment::showMouse;
|
||||
|
||||
if (Environment::showMouse) {
|
||||
SDL_SetRelativeMouseMode(SDL_FALSE);
|
||||
}
|
||||
else {
|
||||
SDL_SetRelativeMouseMode(SDL_TRUE);
|
||||
lastMouseX = 0;
|
||||
lastMouseY = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case SDLK_ESCAPE:
|
||||
case SDLK_q:
|
||||
if (loadingThread.joinable())
|
||||
{
|
||||
loadingThread.join();
|
||||
}
|
||||
#ifdef AUDIO
|
||||
audioPlayerAsync.exit();
|
||||
#endif
|
||||
Environment::exitGameLoop = true;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
case SDLK_a:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::leftPressed = true;
|
||||
#ifdef AUDIO
|
||||
audioPlayerAsync.playSoundAsync("walk.ogg"); // Заменено
|
||||
#endif
|
||||
if (Environment::violaCurrentAnimation == 0) {
|
||||
Environment::violaCurrentAnimation = 1;
|
||||
Environment::violaLastWalkFrame = -1;
|
||||
}
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
case SDLK_d:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::rightPressed = true;
|
||||
#ifdef AUDIO
|
||||
audioPlayerAsync.playSoundAsync("walk.ogg"); // Заменено
|
||||
#endif
|
||||
if (Environment::violaCurrentAnimation == 0) {
|
||||
Environment::violaCurrentAnimation = 1;
|
||||
Environment::violaLastWalkFrame = -1;
|
||||
}
|
||||
break;
|
||||
case SDLK_UP:
|
||||
case SDLK_w:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::upPressed = true;
|
||||
#ifdef AUDIO
|
||||
audioPlayerAsync.playSoundAsync("walk.ogg"); // Заменено
|
||||
#endif
|
||||
if (Environment::violaCurrentAnimation == 0) {
|
||||
Environment::violaCurrentAnimation = 1;
|
||||
Environment::violaLastWalkFrame = -1;
|
||||
}
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
case SDLK_s:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::downPressed = true;
|
||||
#ifdef AUDIO
|
||||
audioPlayerAsync.playSoundAsync("walk.ogg"); // Заменено
|
||||
#endif
|
||||
if (Environment::violaCurrentAnimation == 0) {
|
||||
Environment::violaCurrentAnimation = 1;
|
||||
Environment::violaLastWalkFrame = -1;
|
||||
}
|
||||
break;
|
||||
case SDLK_1:
|
||||
case SDLK_2:
|
||||
case SDLK_3:
|
||||
case SDLK_4:
|
||||
case SDLK_5:
|
||||
case SDLK_6:
|
||||
case SDLK_7:
|
||||
case SDLK_8:
|
||||
case SDLK_9:
|
||||
{
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
UnselectAllItems();
|
||||
if (InventoryItem* item = GetItemByHotkey(event.key.keysym.sym - SDLK_1 + 1)) {
|
||||
item->isSelected = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SDLK_RSHIFT:
|
||||
case SDLK_LSHIFT: {
|
||||
// Switch to next room
|
||||
/*int nextRoom = current_room_index + 1;
|
||||
if (nextRoom < rooms.size()) {
|
||||
switch_room(nextRoom);
|
||||
}*/
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (event.type == SDL_KEYUP) {
|
||||
switch (event.key.keysym.sym) {
|
||||
case SDLK_LEFT:
|
||||
case SDLK_a:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::leftPressed = false;
|
||||
if (!Environment::leftPressed && !Environment::rightPressed && !Environment::upPressed && !Environment::downPressed) {
|
||||
if (Environment::violaCurrentAnimation == 1) {
|
||||
Environment::violaCurrentAnimation = 0;
|
||||
Environment::violaCurrentIdleFrame = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
case SDLK_d:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::rightPressed = false;
|
||||
if (!Environment::leftPressed && !Environment::rightPressed && !Environment::upPressed && !Environment::downPressed) {
|
||||
if (Environment::violaCurrentAnimation == 1) {
|
||||
Environment::violaCurrentAnimation = 0;
|
||||
Environment::violaCurrentIdleFrame = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SDLK_UP:
|
||||
case SDLK_w:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::upPressed = false;
|
||||
if (!Environment::leftPressed && !Environment::rightPressed && !Environment::upPressed && !Environment::downPressed) {
|
||||
if (Environment::violaCurrentAnimation == 1) {
|
||||
Environment::violaCurrentAnimation = 0;
|
||||
Environment::violaCurrentIdleFrame = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
case SDLK_s:
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Environment::downPressed = false;
|
||||
if (!Environment::leftPressed && !Environment::rightPressed && !Environment::upPressed && !Environment::downPressed) {
|
||||
if (Environment::violaCurrentAnimation == 1) {
|
||||
Environment::violaCurrentAnimation = 0;
|
||||
Environment::violaCurrentIdleFrame = -1;
|
||||
}
|
||||
}
|
||||
|
||||
//modelMesh.Move({ 0, 250, 100 });
|
||||
//modelMeshRender.AssignFrom(modelMesh);
|
||||
//modelMeshRender.RefreshVBO();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (event.type == SDL_MOUSEMOTION) {
|
||||
if (!Environment::showMouse) {
|
||||
int mouseX, mouseY;
|
||||
SDL_GetRelativeMouseState(&mouseX, &mouseY);
|
||||
|
||||
float diffX = 0.01f * mouseX;
|
||||
float diffY = 0.01f * mouseY;
|
||||
|
||||
Environment::cameraPhi += diffX;
|
||||
|
||||
if (Environment::settings_inverseVertical) {
|
||||
Environment::cameraAlpha -= diffY;
|
||||
}
|
||||
else {
|
||||
Environment::cameraAlpha += diffY;
|
||||
}
|
||||
if (Environment::cameraAlpha < 0.1 * M_PI / 2.0) {
|
||||
Environment::cameraAlpha = 0.1 * M_PI / 2.0;
|
||||
}
|
||||
else if (Environment::cameraAlpha > 0.9 * M_PI / 2.0) {
|
||||
Environment::cameraAlpha = 0.9 * M_PI / 2.0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
lastMouseX = event.motion.x;
|
||||
lastMouseY = event.motion.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameObjectManager::updateScene(size_t ms) {
|
||||
const float SPEED = 0.1f;
|
||||
|
||||
Vector2f directionVector = { 0.f, SPEED }; // x and z
|
||||
|
||||
// Вычисляем новые координаты вектора
|
||||
float x_new = directionVector.v[0] * cos(Environment::cameraPhi) - directionVector.v[1] * sin(Environment::cameraPhi);
|
||||
float y_new = directionVector.v[0] * sin(Environment::cameraPhi) + directionVector.v[1] * cos(Environment::cameraPhi);
|
||||
|
||||
// Обновляем вектор
|
||||
directionVector.v[0] = x_new;
|
||||
directionVector.v[1] = y_new;
|
||||
|
||||
// Only forward is allowed
|
||||
/*
|
||||
if (Environment::leftPressed) {
|
||||
Environment::cameraShift.v[0] += SPEED * ms;
|
||||
}
|
||||
if (Environment::rightPressed) {
|
||||
Environment::cameraShift.v[0] -= SPEED * ms;
|
||||
}
|
||||
if (Environment::upPressed) {
|
||||
Environment::cameraShift.v[2] += SPEED * ms;
|
||||
}
|
||||
if (Environment::downPressed) {
|
||||
Environment::cameraShift.v[2] -= SPEED * ms;
|
||||
}
|
||||
*/
|
||||
|
||||
Vector3f newPosition = Environment::cameraShift;
|
||||
if (Environment::upPressed) {
|
||||
newPosition.v[0] += directionVector.v[0] * ms;
|
||||
newPosition.v[2] += directionVector.v[1] * ms;
|
||||
}
|
||||
if (Environment::downPressed) {
|
||||
newPosition.v[0] -= directionVector.v[0] * ms;
|
||||
newPosition.v[2] -= directionVector.v[1] * ms;
|
||||
}
|
||||
if (Environment::rightPressed) {
|
||||
newPosition.v[2] += directionVector.v[0] * ms;
|
||||
newPosition.v[0] -= directionVector.v[1] * ms;
|
||||
}
|
||||
if (Environment::leftPressed) {
|
||||
newPosition.v[2] -= directionVector.v[0] * ms;
|
||||
newPosition.v[0] += directionVector.v[1] * ms;
|
||||
}
|
||||
|
||||
|
||||
Vector3f characterNewPos{-newPosition.v[0], -newPosition.v[1], -newPosition.v[2]};
|
||||
|
||||
std::cout << "Player position: x=" << characterNewPos.v[0]
|
||||
<< ", y=" << characterNewPos.v[1]
|
||||
<< ", z=" << characterNewPos.v[2] << "\r";
|
||||
std::cout.flush();
|
||||
|
||||
Environment::cameraShift = newPosition;
|
||||
Environment::characterPos = characterNewPos;
|
||||
/*
|
||||
// Заменяем проверку walkArea.isInside() на проверку через collisionMgr
|
||||
if (rooms[current_room_index].collisionMgr.checkCollision(characterNewPos) == false) {
|
||||
Environment::cameraShift = newPosition;
|
||||
Environment::characterPos = characterNewPos;
|
||||
}
|
||||
|
||||
for (auto& obj : rooms[current_room_index].objects)
|
||||
{
|
||||
float dist = sqrtf(
|
||||
pow(Environment::characterPos.v[0] - obj.objectPos.v[0], 2) +
|
||||
pow(Environment::characterPos.v[1] - obj.objectPos.v[1], 2) +
|
||||
pow(Environment::characterPos.v[2] - obj.objectPos.v[2], 2)
|
||||
);
|
||||
obj.highlighted = (dist < 150.f);
|
||||
}
|
||||
|
||||
|
||||
if (rooms[current_room_index].roomLogic) {
|
||||
rooms[current_room_index].roomLogic(*this, ms);
|
||||
}
|
||||
*/
|
||||
if (Environment::violaCurrentAnimation == 0) {
|
||||
Environment::violaCurrentIdleFrame += ms / 24.f;
|
||||
//Environment::violaCurrentIdleFrame = 0;
|
||||
|
||||
while (Environment::violaCurrentIdleFrame >= 40) {
|
||||
Environment::violaCurrentIdleFrame -= 40;
|
||||
}
|
||||
|
||||
if (int(Environment::violaCurrentIdleFrame) != Environment::violaLastIdleFrame) {
|
||||
violaIdleModel.Interpolate(int(Environment::violaCurrentIdleFrame));
|
||||
Environment::violaLastIdleFrame = int(Environment::violaCurrentIdleFrame);
|
||||
}
|
||||
}
|
||||
else if (Environment::violaCurrentAnimation == 1) {
|
||||
Environment::violaCurrentWalkFrame += ms / 24.f;
|
||||
|
||||
while (Environment::violaCurrentWalkFrame >= 30) {
|
||||
Environment::violaCurrentWalkFrame -= 30;
|
||||
}
|
||||
|
||||
if (int(Environment::violaCurrentWalkFrame) != Environment::violaLastWalkFrame) {
|
||||
violaWalkModel.Interpolate(int(Environment::violaCurrentWalkFrame));
|
||||
Environment::violaLastWalkFrame = int(Environment::violaCurrentWalkFrame);
|
||||
}
|
||||
}
|
||||
|
||||
if (Environment::monsterState == 0)
|
||||
{
|
||||
Environment::monsterTimer += ms;
|
||||
|
||||
if (Environment::monsterTimer > 500)
|
||||
{
|
||||
Environment::monsterTimer = 0;
|
||||
Environment::monsterState = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Environment::monsterTimer += ms;
|
||||
|
||||
if (Environment::monsterTimer > 500)
|
||||
{
|
||||
Environment::monsterTimer = 0;
|
||||
Environment::monsterState = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (Environment::goToLevel3)
|
||||
{
|
||||
Environment::goTolevel3Timer += ms;
|
||||
|
||||
if (Environment::goTolevel3Timer > 1500)
|
||||
{
|
||||
Environment::goToLevel3 = false;
|
||||
switch_room(2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//float Environment::monsterTimer = 0.0;
|
||||
//int Environment::monsterState = 1;
|
||||
}
|
||||
|
||||
bool GameObjectManager::isPointInObject(int screenX, int screenY, int objectScreenX, int objectScreenY) const {
|
||||
// Простая проверка попадания точки в квадрат 64x64 вокруг центра объекта
|
||||
const int objectSize = 32; // Половина размера области выделения
|
||||
return (screenX >= objectScreenX - objectSize &&
|
||||
screenX <= objectScreenX + objectSize &&
|
||||
screenY >= objectScreenY - objectSize &&
|
||||
screenY <= objectScreenY + objectSize);
|
||||
}
|
||||
|
||||
void GameObjectManager::checkMouseIntersection(int mouseX, int mouseY, const Matrix4f& projectionModelView) {
|
||||
for (auto& ao : activeObjects) {
|
||||
int screenX, screenY;
|
||||
worldToScreenCoordinates(ao.objectPos, projectionModelView,
|
||||
Environment::width, Environment::height, screenX, screenY);
|
||||
|
||||
if (isPointInObject(mouseX, mouseY, screenX, screenY)) {
|
||||
std::cout << "Mouse over object at screen coordinates: "
|
||||
<< screenX << ", " << screenY
|
||||
<< " (world pos: "
|
||||
<< ao.objectPos.v[0] << ", "
|
||||
<< ao.objectPos.v[1] << ", "
|
||||
<< ao.objectPos.v[2] << ")"
|
||||
<< std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameObjectManager::worldToScreenCoordinates(Vector3f objectPos,
|
||||
Matrix4f projectionModelView,
|
||||
int screenWidth, int screenHeight,
|
||||
int& screenX, int& screenY) {
|
||||
|
||||
Vector4f inx = { objectPos.v[0], objectPos.v[1], objectPos.v[2], 1.0f };
|
||||
Vector4f clipCoords = MultMatrixVector(projectionModelView, inx);
|
||||
|
||||
float ndcX = clipCoords.v[0] / clipCoords.v[3];
|
||||
float ndcY = clipCoords.v[1] / clipCoords.v[3];
|
||||
|
||||
screenX = (int)((ndcX + 1.0f) * 0.5f * screenWidth);
|
||||
screenY = (int)((1.0f + ndcY) * 0.5f * screenHeight);
|
||||
}
|
||||
|
||||
} // namespace ZL
|
||||
@ -1,135 +0,0 @@
|
||||
#pragma once
|
||||
#include "TextureManager.h"
|
||||
#include "BoneAnimatedModel.h"
|
||||
#include "AudioPlayerAsync.h"
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
#include "ActiveObject.h"
|
||||
#include "Room.h"
|
||||
#include "RenderSystem.h"
|
||||
#include "Inventory.h"
|
||||
#ifdef __linux__
|
||||
#include <SDL2/SDL.h>
|
||||
#endif
|
||||
#include "OpenGlExtensions.h"
|
||||
#include <thread>
|
||||
#include <list>
|
||||
|
||||
#include "BoundaryBox.h" // Добавляем новый include
|
||||
|
||||
|
||||
namespace ZL {
|
||||
|
||||
class GameObjectManager {
|
||||
public:
|
||||
void initializeLoadingScreen();
|
||||
void initialize();
|
||||
|
||||
void switch_room(int index);
|
||||
|
||||
void handleEvent(const SDL_Event& event);
|
||||
void updateScene(size_t ms);
|
||||
void checkMouseIntersection(int mouseX, int mouseY, const Matrix4f& projectionModelView); // Добавляем новый метод
|
||||
|
||||
std::shared_ptr<ZL::Texture> testObjTexturePtr;
|
||||
//std::shared_ptr<ZL::Texture> roomTexturePtr;
|
||||
//std::shared_ptr<ZL::Texture> coneTexturePtr;
|
||||
|
||||
//ZL::VertexDataStruct colorCubeMesh;
|
||||
//ZL::VertexRenderStruct colorCubeMeshMutable;
|
||||
|
||||
//ZL::VertexDataStruct testObjMesh;
|
||||
//ZL::VertexRenderStruct testObjMeshMutable;
|
||||
|
||||
ZL::BoneSystem violaIdleModel;
|
||||
ZL::VertexRenderStruct violaIdleModelMutable;
|
||||
|
||||
ZL::BoneSystem violaWalkModel;
|
||||
ZL::VertexRenderStruct violaWalkModelMutable;
|
||||
|
||||
std::shared_ptr<ZL::Texture> violaTexturePtr;
|
||||
|
||||
std::vector<ZL::VertexDataStruct> preloadedRoomMeshArr;
|
||||
|
||||
|
||||
//ZL::VertexDataStruct coneMesh; // Раскомментировали
|
||||
//ZL::VertexRenderStruct coneMeshMutable; // Раскомментировали
|
||||
|
||||
std::vector<ZL::ActiveObject> activeObjects;
|
||||
std::vector<ZL::Room> rooms;
|
||||
std::vector<InventoryItem> selectedCubes;
|
||||
|
||||
std::string bearName;
|
||||
|
||||
#ifdef AUDIO
|
||||
AudioPlayerAsync audioPlayerAsync;
|
||||
#endif
|
||||
|
||||
ZL::VertexDataStruct inventoryIconMesh;
|
||||
ZL::VertexRenderStruct inventoryIconMeshMutable;
|
||||
|
||||
static const float INVENTORY_ICON_SIZE;
|
||||
static const float INVENTORY_MARGIN;
|
||||
static const float SELECTED_CUBE_ICON_SIZE;
|
||||
static const float SELECTED_CUBE_MARGIN;
|
||||
//ActiveObjectManager aoMgr;
|
||||
int objects_in_inventory;
|
||||
|
||||
std::shared_ptr<ZL::Texture> loadingScreenTexturePtr;
|
||||
|
||||
ZL::VertexDataStruct loadingScreenMesh;
|
||||
ZL::VertexRenderStruct loadingScreenMeshMutable;
|
||||
|
||||
std::list<std::function<bool()>> loadingFunctions;
|
||||
std::thread loadingThread;
|
||||
bool sideThreadLoadingCompleted = false;
|
||||
|
||||
int current_room_index;
|
||||
|
||||
std::shared_ptr<ZL::Texture> monsterTexturePtr1;
|
||||
std::shared_ptr<ZL::Texture> monsterTexturePtr2;
|
||||
ZL::VertexDataStruct monsterScreenMesh;
|
||||
ZL::VertexRenderStruct monsterScreenMeshMutable;
|
||||
|
||||
std::vector<std::string> dialogTextures = { // Список диалогов
|
||||
"./photo.bmp",
|
||||
"./next_dialog.bmp",
|
||||
"./final_dialog.bmp",
|
||||
};
|
||||
int dialogIndex = 0; // Текущий индекс диалога
|
||||
std::shared_ptr<Texture> dialogTexturePtr; // Активная текстура диалога
|
||||
bool isDialogActive = false; // Флаг активности диалога
|
||||
|
||||
|
||||
std::shared_ptr<Texture> batteryDialogTexturePtr; // Активная текстура диалога
|
||||
bool isBatteryDialogActive = false; // Флаг активности диалога
|
||||
|
||||
bool hasChoisedFriendship = false;
|
||||
bool hasMadeChoise = false;
|
||||
|
||||
std::shared_ptr<Texture> finalGoodTexturePtr;
|
||||
std::shared_ptr<Texture> finalBadTexturePtr;
|
||||
|
||||
ZL::VertexDataStruct modelMesh;
|
||||
ZL::VertexRenderStruct modelMeshRender;
|
||||
std::shared_ptr<Texture> modelTexturePtr;
|
||||
|
||||
ZL::VertexDataStruct landMesh;
|
||||
ZL::VertexRenderStruct landMeshRender;
|
||||
std::shared_ptr<Texture> landTexturePtr;
|
||||
|
||||
|
||||
private:
|
||||
//int animationCounter = 0;
|
||||
int lastMouseX = 0; // Добавляем переменные для хранения позиции мыши
|
||||
int lastMouseY = 0;
|
||||
|
||||
bool isPointInObject(int screenX, int screenY, int objectScreenX, int objectScreenY) const;
|
||||
void worldToScreenCoordinates(Vector3f objectPos, // Добавляем метод
|
||||
Matrix4f projectionModelView,
|
||||
int screenWidth, int screenHeight,
|
||||
int& screenX, int& screenY);
|
||||
BoundaryBox walkArea{800.0f, 800.0f}; // Зона для ходьбы 800x800
|
||||
};
|
||||
|
||||
} // namespace ZL
|
||||
@ -1,23 +0,0 @@
|
||||
#include "GameWorld.h"
|
||||
#include "InputManager.h"
|
||||
|
||||
namespace ZL {
|
||||
GameWorld& GameWorld::getInstance() {
|
||||
static GameWorld instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
void GameWorld::update(float deltaTime) {
|
||||
auto& input = InputManager::getInstance();
|
||||
|
||||
// Update game state based on input
|
||||
if (input.isKeyPressed(SDL_SCANCODE_W)) {
|
||||
// Move forward
|
||||
}
|
||||
// ... handle other game logic ...
|
||||
}
|
||||
|
||||
void GameWorld::addObject(const Vector3f& position) {
|
||||
mGameObjects.push_back(position);
|
||||
}
|
||||
}
|
||||
18
GameWorld.h
@ -1,18 +0,0 @@
|
||||
#pragma once
|
||||
#include "Math.h"
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
namespace ZL {
|
||||
class GameWorld {
|
||||
public:
|
||||
static GameWorld& getInstance();
|
||||
void update(float deltaTime);
|
||||
void addObject(const Vector3f& position);
|
||||
// ...other game world related methods...
|
||||
|
||||
private:
|
||||
GameWorld() = default;
|
||||
std::vector<Vector3f> mGameObjects;
|
||||
};
|
||||
}
|
||||
@ -1,27 +0,0 @@
|
||||
#include "InputManager.h"
|
||||
|
||||
namespace ZL {
|
||||
InputManager& InputManager::getInstance() {
|
||||
static InputManager instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
void InputManager::processInput() {
|
||||
SDL_Event event;
|
||||
while (SDL_PollEvent(&event)) {
|
||||
if (event.type == SDL_QUIT) {
|
||||
mShouldQuit = true;
|
||||
}
|
||||
else if (event.type == SDL_KEYDOWN) {
|
||||
mKeys[event.key.keysym.scancode] = true;
|
||||
}
|
||||
else if (event.type == SDL_KEYUP) {
|
||||
mKeys[event.key.keysym.scancode] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool InputManager::isKeyPressed(SDL_Scancode key) const {
|
||||
return mKeys[key];
|
||||
}
|
||||
}
|
||||
@ -1,17 +0,0 @@
|
||||
#pragma once
|
||||
#include "OpenGlExtensions.h"
|
||||
|
||||
namespace ZL {
|
||||
class InputManager {
|
||||
public:
|
||||
static InputManager& getInstance();
|
||||
void processInput();
|
||||
bool isKeyPressed(SDL_Scancode key) const;
|
||||
bool shouldQuit() const { return mShouldQuit; }
|
||||
|
||||
private:
|
||||
InputManager() = default;
|
||||
bool mKeys[SDL_NUM_SCANCODES] = {false};
|
||||
bool mShouldQuit = false;
|
||||
};
|
||||
}
|
||||
@ -1,90 +0,0 @@
|
||||
#include "Inventory.h"
|
||||
|
||||
namespace ZL
|
||||
{
|
||||
std::unordered_map<std::string, InventoryItem> gInventoryMap;
|
||||
|
||||
void clear()
|
||||
{
|
||||
gInventoryMap.clear();
|
||||
}
|
||||
|
||||
void AddItemToInventory(const std::string& name, std::shared_ptr<Texture> tex, int slot_index)
|
||||
{
|
||||
if (slot_index > MAX_INVENTORY_SLOTS || slot_index < 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
InventoryItem item;
|
||||
item.name = name;
|
||||
item.texture = tex;
|
||||
item.hot_key = slot_index;
|
||||
item.scale = 1.0f;
|
||||
|
||||
gInventoryMap[name] = item;
|
||||
std::cout << "Added item to slot " << slot_index << std::endl;
|
||||
}
|
||||
|
||||
void RemoveItemFromInventory(const std::string& name)
|
||||
{
|
||||
// erase вернёт количество удалённых элементов, если нужно проверить
|
||||
gInventoryMap.erase(name);
|
||||
}
|
||||
|
||||
|
||||
InventoryItem* GetItemByName(const std::string& name)
|
||||
{
|
||||
// Пытаемся найти элемент по ключу
|
||||
auto it = gInventoryMap.find(name);
|
||||
if (it != gInventoryMap.end())
|
||||
{
|
||||
// Возвращаем адрес найденного InventoryItem
|
||||
return &it->second;
|
||||
}
|
||||
// Если не нашли – nullptr
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
InventoryItem* GetItemByHotkey(int hotkey)
|
||||
{
|
||||
for (auto& [_, item] : gInventoryMap) {
|
||||
if (item.hot_key == hotkey) {
|
||||
return &item;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
InventoryItem* GetItemSelected(bool selected)
|
||||
{
|
||||
for (auto& [_, item] : gInventoryMap) {
|
||||
if (item.isSelected == selected) {
|
||||
return &item;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void PrintInventory()
|
||||
{
|
||||
std::cout << "Inventory contents:\n";
|
||||
for (auto& [itemName, item] : gInventoryMap)
|
||||
{
|
||||
std::cout << " - " << itemName << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
void UnselectAllItems()
|
||||
{
|
||||
for (auto& [_, item] : gInventoryMap) {
|
||||
item.isSelected = false;
|
||||
item.scale = 1.0f; // Reset scale when unselected
|
||||
}
|
||||
}
|
||||
|
||||
const std::unordered_map<std::string, InventoryItem>& ReturnInventory()
|
||||
{
|
||||
return gInventoryMap;
|
||||
}
|
||||
|
||||
}
|
||||
44
Inventory.h
@ -1,44 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <iostream>
|
||||
#include "TextureManager.h"
|
||||
|
||||
namespace ZL
|
||||
{
|
||||
static const int MAX_INVENTORY_SLOTS = 9;
|
||||
static const float SELECTED_ITEM_SCALE = 1.2f; // Scale factor for selected items
|
||||
|
||||
struct InventoryItem
|
||||
{
|
||||
std::string name;
|
||||
std::shared_ptr<Texture> texture;
|
||||
bool isSelected = false;
|
||||
int hot_key;
|
||||
float scale = 1.0f; // Add scale property
|
||||
};
|
||||
|
||||
// Глобальное хранилище предметов
|
||||
extern std::unordered_map<std::string, InventoryItem> gInventoryMap; // Changed key type from string to int
|
||||
|
||||
// Добавить предмет в инвентарь
|
||||
void AddItemToInventory(const std::string& name, std::shared_ptr<Texture> tex, int slot_index);
|
||||
|
||||
// Удалить предмет из инвентаря
|
||||
void RemoveItemFromInventory(int slot_index);
|
||||
|
||||
// Поиск предмета по индексу (возвращает указатель или nullptr)
|
||||
InventoryItem* GetItemByHotkey(int hot_key);
|
||||
InventoryItem* GetItemSelected(bool isSelected);
|
||||
InventoryItem* GetItemByName(const std::string& name);
|
||||
|
||||
// Вывести весь инвентарь в консоль
|
||||
void PrintInventory();
|
||||
|
||||
const std::unordered_map<std::string, InventoryItem>& ReturnInventory();
|
||||
|
||||
// Add these new functions
|
||||
void UnselectAllItems();
|
||||
}
|
||||
|
Before Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 12 MiB |
|
Before Width: | Height: | Size: 3.0 MiB |
1206
ObjLoader.cpp
@ -1,5 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "Renderer.h"
|
||||
|
||||
ZL::VertexDataStruct LoadFromObjFile(const std::string& fileName);
|
||||
78
Physics.cpp
@ -1,78 +0,0 @@
|
||||
#include "Physics.h"
|
||||
#include <cmath>
|
||||
|
||||
namespace ZL
|
||||
{
|
||||
|
||||
|
||||
bool TestIntersection(const LinePhysicsObject& line, const EllipsePhysicsObject& ellipse)
|
||||
{
|
||||
|
||||
// x*x / (a*a) + y*y / (b*b) = 1
|
||||
|
||||
// x = x0 + (x1 - x0) * t = x0 + dx * t
|
||||
|
||||
// y = y0 + (y1 - y0) * t = y0 + dy * t
|
||||
|
||||
//^ solve above for t, and make sure 0 > t > 1
|
||||
|
||||
float x0 = line.start.v[0] - ellipse.center.v[0];
|
||||
|
||||
float y0 = line.start.v[1] - ellipse.center.v[1];
|
||||
|
||||
float dx = line.end.v[0] - line.start.v[0];
|
||||
|
||||
float dy = line.end.v[1] - line.start.v[1];
|
||||
|
||||
|
||||
static const float EPS = 0.0001f; //Must very close to 0 to handle extreme situations
|
||||
|
||||
|
||||
float a = dx * dx * ellipse.b * ellipse.b + dy * dy * ellipse.a * ellipse.a;
|
||||
|
||||
float b = 2.f * (x0 * dx * ellipse.b * ellipse.b + y0 * dy * ellipse.a * ellipse.a);
|
||||
|
||||
float c = ellipse.b * ellipse.b * x0 * x0 + ellipse.a * ellipse.a * y0 * y0 - ellipse.a * ellipse.a * ellipse.b * ellipse.b;
|
||||
|
||||
if (abs(a) < EPS) //Here consider a = 0 and equation becomes linear
|
||||
{
|
||||
float t = -c / b;
|
||||
|
||||
if ((t > 0) && (t < 1.f))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
float D2 = b * b - 4 * a * c;
|
||||
|
||||
if (D2 < 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
float D = sqrtf(D2);
|
||||
|
||||
float t1 = (-b - D) / (2 * a);
|
||||
|
||||
float t2 = (-b + D) / (2 * a);
|
||||
|
||||
if (((t1 > 0) && (t1 < 1.f)) || ((t2 > 0) && (t2 < 1.f)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
22
Physics.h
@ -1,22 +0,0 @@
|
||||
#pragma once
|
||||
#include "Math.h"
|
||||
|
||||
namespace ZL
|
||||
{
|
||||
struct EllipsePhysicsObject
|
||||
{
|
||||
Vector2f center = {0.f, 0.f};
|
||||
|
||||
float a = 0.f;
|
||||
float b = 0.f;
|
||||
};
|
||||
|
||||
struct LinePhysicsObject
|
||||
{
|
||||
Vector2f start = { 0.f, 0.f };
|
||||
Vector2f end = { 0.f, 0.f };
|
||||
};
|
||||
|
||||
bool TestIntersection(const LinePhysicsObject& line, const EllipsePhysicsObject& ellipse);
|
||||
|
||||
}
|
||||
@ -1,57 +0,0 @@
|
||||
#include "QuestScripts.h"
|
||||
#include "GameObjectManager.h"
|
||||
#include "Inventory.h"
|
||||
#include <iostream>
|
||||
#include <chrono>
|
||||
#include <thread>
|
||||
|
||||
|
||||
namespace ZL
|
||||
{
|
||||
|
||||
std::function<void(GameObjectManager&, size_t)> createRoom1Logic()
|
||||
{
|
||||
return [elapsedTime = 0u](GameObjectManager& gom, size_t ms) mutable
|
||||
{
|
||||
if (gom.bearName.compare("TOM") == 0) {
|
||||
elapsedTime += ms;
|
||||
if (elapsedTime >= 2000) {
|
||||
gInventoryMap.clear();
|
||||
gom.switch_room(1);
|
||||
}
|
||||
} else if (gom.selectedCubes.size() >= 3 && gom.bearName.compare("TOM") != 0) {
|
||||
std::cout << "Else" << std::endl;
|
||||
elapsedTime += ms;
|
||||
if (elapsedTime >= 2000) {
|
||||
gom.bearName = "";
|
||||
for (const auto& cube : gom.selectedCubes) {
|
||||
gInventoryMap[cube.name] = cube;
|
||||
}
|
||||
gom.selectedCubes.clear();
|
||||
elapsedTime = 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
std::function<void(GameObjectManager&, size_t)> createRoom2Logic()
|
||||
{
|
||||
return [](GameObjectManager& gom, size_t ms)
|
||||
// Simple test logic
|
||||
{
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
std::function<void(GameObjectManager&, size_t)> createRoom3Logic()
|
||||
{
|
||||
return [](GameObjectManager& gom, size_t ms)
|
||||
// Simple test logic
|
||||
{
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
#pragma once
|
||||
#include <functional>
|
||||
|
||||
namespace ZL {
|
||||
class GameObjectManager;
|
||||
|
||||
std::function<void(GameObjectManager&, size_t)> createRoom1Logic();
|
||||
std::function<void(GameObjectManager&, size_t)> createRoom2Logic();
|
||||
std::function<void(GameObjectManager&, size_t)> createRoom3Logic();
|
||||
|
||||
}
|
||||
@ -1,46 +0,0 @@
|
||||
# Script to run:
|
||||
|
||||
```
|
||||
C:\Work\Projects\emsdk\emsdk.bat activate latest
|
||||
C:\Work\Projects\emsdk\emsdk_env.bat
|
||||
emcc main.cpp Game.cpp Math.cpp Physics.cpp Renderer.cpp ShaderManager.cpp TextureManager.cpp Utils.cpp OpenGlExtensions.cpp -O2 -std=c++14 -sTOTAL_MEMORY=33554432 -sUSE_SDL_IMAGE=2 -sSDL2_IMAGE_FORMATS="[""png""]" -sUSE_SDL=2 --preload-file background.bmp --preload-file bird.bmp32 --preload-file default.fragment --preload-file default.vertex --preload-file game_over.bmp32 --preload-file pipe.bmp32 -o jumpingbird.html
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
|
||||
zlib-1.3.1:
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_INSTALL_PREFIX=install ..
|
||||
|
||||
then run ALL_BUILD and INSTALL in Visual Studio
|
||||
|
||||
lpng1645:
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_INSTALL_PREFIX=install -DZLIB_ROOT=C:\Work\Projects\zlib-1.3.1\build\install ..
|
||||
|
||||
then run ALL_BUILD and INSTALL in Visual Studio
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
https://github.com/Bly7/OBJ-Loader/blob/master/Source/OBJ_Loader.h
|
||||
|
||||
|
||||
https://github.com/gametutorials/tutorials/blob/master/OpenGL/MD3%20Animation/Main.cpp
|
||||
|
||||
|
||||
|
||||
linux:
|
||||
```
|
||||
g++ Game.cpp main.cpp Math.cpp OpenGlExtensions.cpp Physics.cpp Renderer.cpp ShaderManager.cpp TextureManager.cpp Utils.cpp BoneAnimatedModel.cpp ObjLoader.cpp cmakeaudioplayer/src/AudioPlayer.cpp TextModel.cpp Inventory.cpp -o sdl_app -O2 -std=c++17 \
|
||||
-I cmakeaudioplayer/include \
|
||||
$(pkg-config --cflags --libs sdl2 gl) \
|
||||
$(pkg-config --cflags --libs vorbis vorbisfile ogg) \
|
||||
-lopenal
|
||||
```
|
||||
484
RenderSystem.cpp
@ -1,484 +0,0 @@
|
||||
#include "RenderSystem.h"
|
||||
#include "Environment.h"
|
||||
#include "Utils.h"
|
||||
#include "Inventory.h"
|
||||
#include <GL/gl.h>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
namespace ZL {
|
||||
|
||||
void RenderSystem::initialize() {
|
||||
/*
|
||||
renderer.shaderManager.AddShaderFromFiles("default", "./default.vertex", "./default.fragment");
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultHideCam", "./defaultHideCam.vertex", "./defaultHideCam.fragment");
|
||||
renderer.shaderManager.AddShaderFromFiles("defaultColor", "./defaultColor.vertex", "./defaultColor.fragment");
|
||||
renderer.InitOpenGL();*/
|
||||
}
|
||||
|
||||
void RenderSystem::drawScene(GameObjectManager& gameObjects) {
|
||||
static const std::string defaultShaderName = "default";
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
static const std::string textureUniformName = "Texture";
|
||||
|
||||
glClearColor(0.0f, 0.5f, 1.0f, 1.0f);
|
||||
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
||||
|
||||
glViewport(0, 0, Environment::width, Environment::height);
|
||||
if (Environment::gameIsLoading)
|
||||
{
|
||||
drawLoadingScreen(gameObjects);
|
||||
}
|
||||
else
|
||||
if (Environment::finalIsBad || Environment::finalIsGood)
|
||||
{
|
||||
drawFinalScreen(gameObjects);
|
||||
}
|
||||
else
|
||||
{
|
||||
drawWorld(gameObjects);
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
//drawUI(gameObjects);
|
||||
}
|
||||
|
||||
CheckGlError();
|
||||
}
|
||||
|
||||
void RenderSystem::drawViola(GameObjectManager& gameObjects)
|
||||
{
|
||||
static const std::string defaultShaderName = "default";
|
||||
static const std::string colorShaderName = "defaultColor";
|
||||
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
static const std::string vColorName = "vColor";
|
||||
static const std::string textureUniformName = "Texture";
|
||||
|
||||
renderer.shaderManager.PushShader(defaultShaderName);
|
||||
renderer.RenderUniform1i(textureUniformName, 0);
|
||||
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.PushPerspectiveProjectionMatrix(1.0 / 1.5,
|
||||
static_cast<float>(Environment::width) / static_cast<float>(Environment::height),
|
||||
50, 10000);
|
||||
renderer.PushMatrix();
|
||||
|
||||
renderer.LoadIdentity();
|
||||
renderer.TranslateMatrix({ 0,0, -100 * Environment::zoom });
|
||||
|
||||
renderer.RotateMatrix(QuatFromRotateAroundX(Environment::cameraAlpha));
|
||||
|
||||
//Go a little bit up to make camera at the position of Viola
|
||||
renderer.TranslateMatrix({ 0, Environment::cameraDefaultVerticalShift, 0 });
|
||||
|
||||
|
||||
//Viola stuff
|
||||
renderer.ScaleMatrix(10);
|
||||
renderer.RotateMatrix(QuatFromRotateAroundX(-M_PI / 2.0));
|
||||
renderer.RotateMatrix(QuatFromRotateAroundZ(M_PI));
|
||||
|
||||
|
||||
|
||||
|
||||
if (Environment::violaCurrentAnimation == 0)
|
||||
{
|
||||
gameObjects.violaIdleModelMutable.AssignFrom(gameObjects.violaIdleModel.mesh);
|
||||
gameObjects.violaIdleModelMutable.RefreshVBO();
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.violaTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.violaIdleModelMutable);
|
||||
}
|
||||
else
|
||||
{
|
||||
gameObjects.violaWalkModelMutable.AssignFrom(gameObjects.violaWalkModel.mesh);
|
||||
gameObjects.violaWalkModelMutable.RefreshVBO();
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.violaTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.violaWalkModelMutable);
|
||||
}
|
||||
|
||||
|
||||
renderer.PopMatrix();
|
||||
renderer.PopProjectionMatrix();
|
||||
renderer.DisableVertexAttribArray(vPositionName);
|
||||
renderer.DisableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.shaderManager.PopShader();
|
||||
}
|
||||
|
||||
void RenderSystem::drawWorld(GameObjectManager& gameObjects) {
|
||||
static const std::string defaultShaderName = "default";
|
||||
static const std::string colorShaderName = "defaultColor";
|
||||
static const std::string hideCamShaderName = "defaultHideCam";
|
||||
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
static const std::string vColorName = "vColor";
|
||||
static const std::string textureUniformName = "Texture";
|
||||
|
||||
//static const std::string modelViewMatrixName = "modelView";
|
||||
|
||||
/*
|
||||
renderer.shaderManager.PushShader(defaultShaderName);
|
||||
renderer.RenderUniform1i(textureUniformName, 0);
|
||||
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// Draw cone
|
||||
//glBindTexture(GL_TEXTURE_2D, gameObjects.coneTexturePtr->getTexID());
|
||||
//renderer.DrawVertexRenderStruct(gameObjects.coneMeshMutable);
|
||||
|
||||
//drawMonster(gameObjects);
|
||||
//glClear(GL_DEPTH_BUFFER_BIT);
|
||||
drawViola(gameObjects);
|
||||
|
||||
|
||||
renderer.shaderManager.PushShader(defaultShaderName);
|
||||
renderer.RenderUniform1i(textureUniformName, 0);
|
||||
|
||||
Vector3f totalCameraTargetPos = Environment::characterPos - Vector3f{ 0, Environment::cameraDefaultVerticalShift, 0 };
|
||||
|
||||
renderer.RenderUniform3fv("targetPos", &totalCameraTargetPos.v[0]);
|
||||
|
||||
Vector3f cameraPos = Vector3f{ 0,0, 100 * Environment::zoom };
|
||||
|
||||
cameraPos = MultVectorMatrix(cameraPos, QuatToMatrix(QuatFromRotateAroundX(Environment::cameraAlpha)));
|
||||
cameraPos = MultVectorMatrix(cameraPos, QuatToMatrix(QuatFromRotateAroundY(Environment::cameraPhi)));
|
||||
|
||||
cameraPos = cameraPos + totalCameraTargetPos;
|
||||
renderer.RenderUniform3fv("eyePos", &cameraPos.v[0]);
|
||||
//renderer.RenderUniform3fv("eyePos", &testVec2.v[0]);
|
||||
|
||||
|
||||
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
|
||||
|
||||
renderer.PushPerspectiveProjectionMatrix(1.0 / 1.5,
|
||||
static_cast<float>(Environment::width) / static_cast<float>(Environment::height),
|
||||
50, 10000);
|
||||
renderer.PushMatrix();
|
||||
|
||||
renderer.LoadIdentity();
|
||||
renderer.TranslateMatrix({ 0,0, -100 * Environment::zoom });
|
||||
|
||||
renderer.RotateMatrix(QuatFromRotateAroundX(Environment::cameraAlpha));
|
||||
renderer.RotateMatrix(QuatFromRotateAroundY(Environment::cameraPhi));
|
||||
|
||||
renderer.TranslateMatrix(Environment::cameraShift);
|
||||
|
||||
//Go a little bit up to make camera at the position of Viola
|
||||
renderer.TranslateMatrix({ 0, Environment::cameraDefaultVerticalShift, 0 });
|
||||
|
||||
// Draw active objects
|
||||
/*drawObjects(gameObjects);
|
||||
|
||||
// Draw room
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.rooms[gameObjects.current_room_index].roomTexture->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.rooms[gameObjects.current_room_index].textMeshMutable);
|
||||
|
||||
if (gameObjects.current_room_index == 1 && Environment::goToLevel3 == false)
|
||||
{
|
||||
drawMonster(gameObjects);
|
||||
}*/
|
||||
|
||||
//drawViola(gameObjects);
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.landTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.landMeshRender);
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.modelTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.modelMeshRender);
|
||||
|
||||
|
||||
Matrix4f latestProjectionModelView = renderer.GetProjectionModelViewMatrix();
|
||||
|
||||
// Проверяем пересечение с мышью после расчета всех матриц
|
||||
const_cast<GameObjectManager&>(gameObjects).checkMouseIntersection(
|
||||
lastMouseX, lastMouseY, latestProjectionModelView);
|
||||
|
||||
renderer.PopMatrix();
|
||||
renderer.PopProjectionMatrix();
|
||||
|
||||
renderer.DisableVertexAttribArray(vPositionName);
|
||||
renderer.DisableVertexAttribArray(vTexCoordName);
|
||||
renderer.shaderManager.PopShader();
|
||||
|
||||
// Store matrix for UI rendering
|
||||
currentProjectionModelView = latestProjectionModelView;
|
||||
}
|
||||
|
||||
void RenderSystem::drawUI(const GameObjectManager& gameObjects) {
|
||||
// Устанавливаем нужный шейдер для UI (например, "default")
|
||||
renderer.shaderManager.PushShader("default");
|
||||
|
||||
// Если шейдер ожидает атрибуты вершин, их нужно включить
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.PushProjectionMatrix(static_cast<float>(Environment::width),
|
||||
static_cast<float>(Environment::height));
|
||||
renderer.PushMatrix();
|
||||
renderer.LoadIdentity();
|
||||
|
||||
// Отрисовка диалогового окна, если оно активно
|
||||
if (gameObjects.isDialogActive && gameObjects.dialogTexturePtr) {
|
||||
renderer.PushMatrix();
|
||||
float xPos = Environment::width / 2.0f - 250; // Центрируем
|
||||
float yPos = Environment::height / 2.0f - 125; // Центрируем
|
||||
renderer.TranslateMatrix(Vector3f{xPos, yPos, 0.0f});
|
||||
renderer.ScaleMatrix(Vector3f{10.5f, 10.5f, 1.0f}); // Увеличиваем размер
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.dialogTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.inventoryIconMeshMutable); // Используем 2D меш инвентаря
|
||||
renderer.PopMatrix();
|
||||
}
|
||||
|
||||
// Отрисовка диалогового окна батарейки
|
||||
if (gameObjects.isBatteryDialogActive && gameObjects.batteryDialogTexturePtr) {
|
||||
renderer.PushMatrix();
|
||||
float xPos = Environment::width / 2.0f - 250; // Центрируем
|
||||
float yPos = Environment::height / 2.0f - 125; // Центрируем
|
||||
renderer.TranslateMatrix(Vector3f{xPos, yPos, 0.0f});
|
||||
renderer.ScaleMatrix(Vector3f{10.5f, 10.5f, 1.0f}); // Увеличиваем размер
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.batteryDialogTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.inventoryIconMeshMutable); // Используем 2D меш инвентаря
|
||||
renderer.PopMatrix();
|
||||
}
|
||||
|
||||
|
||||
//for (const auto* ao : gameObjects.aoMgr.findByHighlighted(true)) {
|
||||
for (auto& ao : gameObjects.rooms[gameObjects.current_room_index].findByHighlighted(true)) {
|
||||
std::cout << ao->name << std::endl;
|
||||
std::cout << "Draw" << std::endl;
|
||||
if (ao->activeObjectScreenTexturePtr) {
|
||||
std::cout << "Found activeObjectScreenTexturePtr" << std::endl;
|
||||
int screenX, screenY;
|
||||
|
||||
Vector3f objectPosPlusShift = ao->objectPos + Vector3f{ 0, -Environment::itemDefaultVerticalShift, 0 };
|
||||
|
||||
worldToScreenCoordinates(objectPosPlusShift, currentProjectionModelView,
|
||||
Environment::width, Environment::height, screenX, screenY);
|
||||
renderer.PushMatrix();
|
||||
// Здесь можно использовать вычисленные screenX, screenY,
|
||||
// но для теста оставляем фиксированное значение
|
||||
renderer.TranslateMatrix(Vector3f{screenX + 0.f, screenY + 0.f, 0.0f});
|
||||
glBindTexture(GL_TEXTURE_2D, ao->activeObjectScreenTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(ao->activeObjectScreenMeshMutable);
|
||||
renderer.PopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
const auto& inventoryMap = ZL::ReturnInventory();
|
||||
int i = 0;
|
||||
for (const auto& [name, item] : inventoryMap) {
|
||||
renderer.PushMatrix();
|
||||
|
||||
if (item.isSelected) {
|
||||
float xPos = Environment::width
|
||||
- gameObjects.INVENTORY_MARGIN
|
||||
- gameObjects.INVENTORY_ICON_SIZE;
|
||||
float yPos = gameObjects.INVENTORY_MARGIN
|
||||
+ i * (gameObjects.INVENTORY_ICON_SIZE
|
||||
+ gameObjects.INVENTORY_MARGIN);
|
||||
renderer.TranslateMatrix(Vector3f{xPos, yPos, 0.0f});
|
||||
renderer.ScaleMatrix(Vector3f{1.5f, 1.5f, 1.0f});
|
||||
glBindTexture(GL_TEXTURE_2D, item.texture->getTexID());
|
||||
}
|
||||
else {
|
||||
|
||||
float xPos = Environment::width
|
||||
- gameObjects.INVENTORY_MARGIN
|
||||
- gameObjects.INVENTORY_ICON_SIZE;
|
||||
float yPos = gameObjects.INVENTORY_MARGIN
|
||||
+ i * (gameObjects.INVENTORY_ICON_SIZE
|
||||
+ gameObjects.INVENTORY_MARGIN);
|
||||
renderer.TranslateMatrix(Vector3f{xPos, yPos, 0.0f});
|
||||
glBindTexture(GL_TEXTURE_2D, item.texture->getTexID());
|
||||
}
|
||||
|
||||
|
||||
renderer.DrawVertexRenderStruct(gameObjects.inventoryIconMeshMutable);
|
||||
|
||||
renderer.PopMatrix();
|
||||
i++;
|
||||
}
|
||||
|
||||
// Отрисовка кубиков
|
||||
if (gameObjects.current_room_index == 0) {
|
||||
for (int j = gameObjects.selectedCubes.size() - 1; j >= 0; j--) {
|
||||
auto& cube = gameObjects.selectedCubes[j];
|
||||
renderer.PushMatrix();
|
||||
|
||||
float xPos = (gameObjects.SELECTED_CUBE_MARGIN + 300.0f)
|
||||
+ j * (gameObjects.SELECTED_CUBE_ICON_SIZE + gameObjects.SELECTED_CUBE_MARGIN);
|
||||
float yPos = 500.0f;
|
||||
|
||||
renderer.TranslateMatrix(Vector3f{xPos, yPos, 0.0f});
|
||||
renderer.ScaleMatrix(Vector3f{2.8f, 2.8f, 1.0f});
|
||||
glBindTexture(GL_TEXTURE_2D, cube.texture->getTexID());
|
||||
|
||||
renderer.DrawVertexRenderStruct(gameObjects.inventoryIconMeshMutable);
|
||||
renderer.PopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
renderer.PopMatrix();
|
||||
renderer.PopProjectionMatrix();
|
||||
|
||||
// Выключаем атрибуты, чтобы сохранить баланс
|
||||
renderer.DisableVertexAttribArray(vPositionName);
|
||||
renderer.DisableVertexAttribArray(vTexCoordName);
|
||||
|
||||
// Снимаем шейдер, тем самым балансируя стек
|
||||
renderer.shaderManager.PopShader();
|
||||
}
|
||||
|
||||
void RenderSystem::drawLoadingScreen(const GameObjectManager& gameObjects)
|
||||
{
|
||||
renderer.shaderManager.PushShader("default");
|
||||
|
||||
// Если шейдер ожидает атрибуты вершин, их нужно включить
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.PushProjectionMatrix(static_cast<float>(Environment::width),
|
||||
static_cast<float>(Environment::height));
|
||||
renderer.PushMatrix();
|
||||
renderer.LoadIdentity();
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.loadingScreenTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(gameObjects.loadingScreenMeshMutable);
|
||||
|
||||
renderer.PopMatrix();
|
||||
renderer.PopProjectionMatrix();
|
||||
|
||||
// Выключаем атрибуты, чтобы сохранить баланс
|
||||
renderer.DisableVertexAttribArray(vPositionName);
|
||||
renderer.DisableVertexAttribArray(vTexCoordName);
|
||||
|
||||
// Снимаем шейдер, тем самым балансируя стек
|
||||
renderer.shaderManager.PopShader();
|
||||
|
||||
}
|
||||
|
||||
void RenderSystem::drawFinalScreen(const GameObjectManager& gameObjects)
|
||||
{
|
||||
renderer.shaderManager.PushShader("default");
|
||||
|
||||
// Если шейдер ожидает атрибуты вершин, их нужно включить
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.PushProjectionMatrix(static_cast<float>(Environment::width),
|
||||
static_cast<float>(Environment::height));
|
||||
renderer.PushMatrix();
|
||||
renderer.LoadIdentity();
|
||||
|
||||
if (Environment::finalIsBad)
|
||||
{
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.finalBadTexturePtr->getTexID());
|
||||
}
|
||||
else
|
||||
{
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.finalGoodTexturePtr->getTexID());
|
||||
}
|
||||
renderer.DrawVertexRenderStruct(gameObjects.loadingScreenMeshMutable);
|
||||
|
||||
renderer.PopMatrix();
|
||||
renderer.PopProjectionMatrix();
|
||||
|
||||
// Выключаем атрибуты, чтобы сохранить баланс
|
||||
renderer.DisableVertexAttribArray(vPositionName);
|
||||
renderer.DisableVertexAttribArray(vTexCoordName);
|
||||
|
||||
// Снимаем шейдер, тем самым балансируя стек
|
||||
renderer.shaderManager.PopShader();
|
||||
|
||||
}
|
||||
|
||||
void RenderSystem::drawMonster(const GameObjectManager& gameObjects)
|
||||
{
|
||||
renderer.shaderManager.PushShader("default");
|
||||
|
||||
static const std::string vPositionName = "vPosition";
|
||||
static const std::string vTexCoordName = "vTexCoord";
|
||||
renderer.EnableVertexAttribArray(vPositionName);
|
||||
renderer.EnableVertexAttribArray(vTexCoordName);
|
||||
|
||||
renderer.PushProjectionMatrix(static_cast<float>(Environment::width),
|
||||
static_cast<float>(Environment::height));
|
||||
renderer.PushMatrix();
|
||||
renderer.LoadIdentity();
|
||||
|
||||
|
||||
std::cout << "Found activeObjectScreenTexturePtr" << std::endl;
|
||||
int screenX, screenY;
|
||||
|
||||
Vector3f objectPosPlusShift = Vector3f{ -300, 50, -70 };
|
||||
worldToScreenCoordinates(objectPosPlusShift, currentProjectionModelView,
|
||||
Environment::width, Environment::height, screenX, screenY);
|
||||
renderer.PushMatrix();
|
||||
// Здесь можно использовать вычисленные screenX, screenY,
|
||||
// но для теста оставляем фиксированное значение
|
||||
renderer.TranslateMatrix(Vector3f{ screenX + 0.f, screenY + 0.f, 0.0f });
|
||||
|
||||
if (Environment::monsterState == 0)
|
||||
{
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.monsterTexturePtr1->getTexID());
|
||||
}
|
||||
else
|
||||
{
|
||||
glBindTexture(GL_TEXTURE_2D, gameObjects.monsterTexturePtr2->getTexID());
|
||||
}
|
||||
renderer.DrawVertexRenderStruct(gameObjects.monsterScreenMeshMutable);
|
||||
renderer.PopMatrix();
|
||||
|
||||
|
||||
renderer.PopMatrix();
|
||||
renderer.PopProjectionMatrix();
|
||||
|
||||
// Выключаем атрибуты, чтобы сохранить баланс
|
||||
renderer.DisableVertexAttribArray(vPositionName);
|
||||
renderer.DisableVertexAttribArray(vTexCoordName);
|
||||
|
||||
// Снимаем шейдер, тем самым балансируя стек
|
||||
renderer.shaderManager.PopShader();
|
||||
}
|
||||
|
||||
void RenderSystem::worldToScreenCoordinates(Vector3f objectPos,
|
||||
Matrix4f projectionModelView,
|
||||
int screenWidth, int screenHeight,
|
||||
int& screenX, int& screenY) {
|
||||
|
||||
Vector4f inx = { objectPos.v[0], objectPos.v[1], objectPos.v[2], 1.0f};
|
||||
Vector4f clipCoords = MultMatrixVector(projectionModelView, inx);
|
||||
|
||||
float ndcX = clipCoords.v[0] / clipCoords.v[3];
|
||||
float ndcY = clipCoords.v[1] / clipCoords.v[3];
|
||||
|
||||
screenX = (int)((ndcX + 1.0f) * 0.5f * screenWidth);
|
||||
screenY = (int)((1.0f + ndcY) * 0.5f * screenHeight);
|
||||
}
|
||||
|
||||
void RenderSystem::drawObjects(GameObjectManager& gameObjects){
|
||||
for (const auto& ao : gameObjects.activeObjects) {
|
||||
renderer.PushMatrix();
|
||||
renderer.TranslateMatrix(ao.objectPos);
|
||||
glBindTexture(GL_TEXTURE_2D, ao.activeObjectTexturePtr->getTexID());
|
||||
renderer.DrawVertexRenderStruct(ao.activeObjectMeshMutable);
|
||||
renderer.PopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace ZL
|
||||
@ -1,41 +0,0 @@
|
||||
#pragma once
|
||||
#include "Renderer.h"
|
||||
#include "ActiveObject.h"
|
||||
#include "GameObjectManager.h"
|
||||
#include <string>
|
||||
|
||||
namespace ZL {
|
||||
|
||||
class RenderSystem {
|
||||
public:
|
||||
RenderSystem() = default;
|
||||
Renderer renderer;
|
||||
void initialize();
|
||||
void drawScene(GameObjectManager& gameObjects);
|
||||
Renderer& getRenderer() { return renderer; }
|
||||
|
||||
void worldToScreenCoordinates(Vector3f objectPos,
|
||||
Matrix4f projectionModelView,
|
||||
int screenWidth, int screenHeight,
|
||||
int& screenX, int& screenY);
|
||||
|
||||
void drawObjects(GameObjectManager& gameObjects);
|
||||
void drawDialog(GameObjectManager& gameObjects);
|
||||
|
||||
private:
|
||||
void drawWorld(GameObjectManager& gameObjects);
|
||||
void drawUI(const GameObjectManager& gameObjects);
|
||||
|
||||
void drawViola(GameObjectManager& gameObjects);
|
||||
|
||||
void drawLoadingScreen(const GameObjectManager& gameObjects);
|
||||
void drawFinalScreen(const GameObjectManager& gameObjects);
|
||||
void drawMonster(const GameObjectManager& gameObjects);
|
||||
|
||||
ShaderManager shaderManager;
|
||||
Matrix4f currentProjectionModelView; // Добавлено для хранения матрицы между drawWorld и drawUI
|
||||
int lastMouseX = 0;
|
||||
int lastMouseY = 0;
|
||||
};
|
||||
|
||||
} // namespace ZL
|
||||
16
Renderer.cpp
@ -677,5 +677,21 @@ namespace ZL {
|
||||
|
||||
}
|
||||
|
||||
void worldToScreenCoordinates(Vector3f objectPos,
|
||||
Matrix4f projectionModelView,
|
||||
int screenWidth, int screenHeight,
|
||||
int& screenX, int& screenY) {
|
||||
|
||||
Vector4f inx = { objectPos.v[0], objectPos.v[1], objectPos.v[2], 1.0f };
|
||||
Vector4f clipCoords = MultMatrixVector(projectionModelView, inx);
|
||||
|
||||
float ndcX = clipCoords.v[0] / clipCoords.v[3];
|
||||
float ndcY = clipCoords.v[1] / clipCoords.v[3];
|
||||
|
||||
screenX = (int)((ndcX + 1.0f) * 0.5f * screenWidth);
|
||||
screenY = (int)((1.0f + ndcY) * 0.5f * screenHeight);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -130,4 +130,10 @@ namespace ZL {
|
||||
|
||||
|
||||
|
||||
|
||||
void worldToScreenCoordinates(Vector3f objectPos,
|
||||
Matrix4f projectionModelView,
|
||||
int screenWidth, int screenHeight,
|
||||
int& screenX, int& screenY);
|
||||
|
||||
};
|
||||
54
Room.h
@ -1,54 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "TextureManager.h"
|
||||
#include "Math.h"
|
||||
#include <memory>
|
||||
#include "ActiveObject.h"
|
||||
|
||||
#include <functional>
|
||||
#include "BoundaryBox.h"
|
||||
namespace ZL
|
||||
{
|
||||
struct Room{
|
||||
std::shared_ptr<ZL::Texture> roomTexture;
|
||||
std::vector<ActiveObject> objects;
|
||||
std::string sound_name;
|
||||
|
||||
ZL::VertexDataStruct textMesh;
|
||||
ZL::VertexRenderStruct textMeshMutable;
|
||||
|
||||
CollisionManager collisionMgr;
|
||||
|
||||
std::function<void(class GameObjectManager&, size_t)> roomLogic;
|
||||
|
||||
Room()
|
||||
{
|
||||
objects.reserve(30);
|
||||
}
|
||||
|
||||
std::vector<const ActiveObject*> findByHighlighted(bool highlighted) const {
|
||||
std::vector<const ActiveObject*> result;
|
||||
|
||||
for (auto& o : objects)
|
||||
{
|
||||
if (o.highlighted == highlighted) {
|
||||
result.push_back(&o);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void removeByPtr(const ActiveObject* ptr) {
|
||||
|
||||
for (int i = 0; i < objects.size(); i++)
|
||||
{
|
||||
if (ptr == &objects[i])
|
||||
{
|
||||
objects.erase(objects.begin() + i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
173
TextModel.cpp
@ -71,7 +71,7 @@ namespace ZL
|
||||
vertices[i] = Vector3f{ floatValues[0], floatValues[1], floatValues[2] };
|
||||
}
|
||||
|
||||
std::cout << "Hello x1" << std::endl;
|
||||
std::cout << "UV Coordinates" << std::endl;
|
||||
|
||||
std::getline(f, tempLine); //===UV Coordinates:
|
||||
|
||||
@ -132,15 +132,9 @@ namespace ZL
|
||||
|
||||
uvCoords[i][j] = Vector2f{ floatValues[0],floatValues[1] };
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
std::cout << "Hello eee" << std::endl;
|
||||
std::cout << "Normals go" << std::endl;
|
||||
|
||||
std::getline(f, tempLine); //===Normals:
|
||||
|
||||
@ -164,7 +158,7 @@ namespace ZL
|
||||
normals[i] = Vector3f{ floatValues[0], floatValues[1], floatValues[2] };
|
||||
}
|
||||
|
||||
std::cout << "Hello x4" << std::endl;
|
||||
std::cout << "Triangles go:" << std::endl;
|
||||
|
||||
std::getline(f, tempLine); //===Triangles: 3974
|
||||
|
||||
@ -189,11 +183,11 @@ namespace ZL
|
||||
}
|
||||
|
||||
|
||||
std::cout << "Hello x5" << std::endl;
|
||||
std::cout << "Process vertices" << std::endl;
|
||||
|
||||
|
||||
|
||||
// Now let's process bone weights and vertices
|
||||
// Now let's process vertices
|
||||
|
||||
for (int i = 0; i < numberTriangles; i++)
|
||||
{
|
||||
@ -233,6 +227,163 @@ namespace ZL
|
||||
|
||||
}
|
||||
|
||||
VertexDataStruct LoadFromTextFile02(const std::string& fileName, const std::string& ZIPFileName)
|
||||
{
|
||||
VertexDataStruct result;
|
||||
std::ifstream filestream;
|
||||
std::istringstream zipStream;
|
||||
|
||||
// --- 1. Открытие потока (без изменений) ---
|
||||
if (!ZIPFileName.empty())
|
||||
{
|
||||
std::vector<char> fileData = readFileFromZIP(fileName, ZIPFileName);
|
||||
std::string fileContents(fileData.begin(), fileData.end());
|
||||
zipStream.str(fileContents);
|
||||
}
|
||||
else
|
||||
{
|
||||
filestream.open(fileName);
|
||||
if (!filestream.is_open()) {
|
||||
throw std::runtime_error("Failed to open file: " + fileName);
|
||||
}
|
||||
}
|
||||
|
||||
std::istream& f = (!ZIPFileName.empty()) ? static_cast<std::istream&>(zipStream) : static_cast<std::istream&>(filestream);
|
||||
|
||||
std::string tempLine;
|
||||
std::smatch match;
|
||||
|
||||
// Обновленные регулярки
|
||||
// pattern_float стал чуть надежнее для чисел вида "0" или "-1" без точки, если вдруг Python округлит до int
|
||||
static const std::regex pattern_count(R"(\d+)");
|
||||
static const std::regex pattern_float(R"([-]?\d+(\.\d+)?)");
|
||||
static const std::regex pattern_int(R"([-]?\d+)");
|
||||
|
||||
// --- 2. Парсинг Вершин (Pos + Norm + UV) ---
|
||||
|
||||
// Ищем заголовок ===Vertices
|
||||
while (std::getline(f, tempLine)) {
|
||||
if (tempLine.find("===Vertices") != std::string::npos) break;
|
||||
}
|
||||
|
||||
int numberVertices = 0;
|
||||
if (std::regex_search(tempLine, match, pattern_count)) {
|
||||
numberVertices = std::stoi(match.str());
|
||||
}
|
||||
else {
|
||||
throw std::runtime_error("Vertices header not found or invalid.");
|
||||
}
|
||||
|
||||
// Временные буферы для хранения "уникальных" вершин перед разверткой по индексам
|
||||
std::vector<Vector3f> tempPositions(numberVertices);
|
||||
std::vector<Vector3f> tempNormals(numberVertices);
|
||||
std::vector<Vector2f> tempUVs(numberVertices);
|
||||
|
||||
for (int i = 0; i < numberVertices; i++)
|
||||
{
|
||||
std::getline(f, tempLine);
|
||||
// Строка вида: V 0: Pos(x, y, z) Norm(x, y, z) UV(u, v)
|
||||
|
||||
std::vector<float> floatValues;
|
||||
floatValues.reserve(8); // Ожидаем ровно 8 чисел (3 pos + 3 norm + 2 uv)
|
||||
|
||||
auto b = tempLine.cbegin();
|
||||
auto e = tempLine.cend();
|
||||
while (std::regex_search(b, e, match, pattern_float)) {
|
||||
floatValues.push_back(std::stof(match.str()));
|
||||
b = match.suffix().first;
|
||||
}
|
||||
|
||||
// Проверка целостности строки (ID вершины regex может поймать первым, но нас интересуют данные)
|
||||
// Обычно ID идет первым (0), потом 3+3+2 float. Итого 9 чисел, если считать ID.
|
||||
// Ваш Python пишет "V 0:", regex поймает 0. Потом 8 флоатов.
|
||||
|
||||
// Если regex ловит ID вершины как float (что вероятно), нам нужно смещение.
|
||||
// ID - floatValues[0]
|
||||
// Pos - [1], [2], [3]
|
||||
// Norm - [4], [5], [6]
|
||||
// UV - [7], [8]
|
||||
|
||||
if (floatValues.size() < 9) {
|
||||
throw std::runtime_error("Malformed vertex line at index " + std::to_string(i));
|
||||
}
|
||||
|
||||
tempPositions[i] = Vector3f{ floatValues[1], floatValues[2], floatValues[3] };
|
||||
tempNormals[i] = Vector3f{ floatValues[4], floatValues[5], floatValues[6] };
|
||||
tempUVs[i] = Vector2f{ floatValues[7], floatValues[8] };
|
||||
}
|
||||
|
||||
// --- 3. Парсинг Треугольников (Индексов) ---
|
||||
|
||||
// Пропускаем пустые строки до заголовка треугольников
|
||||
while (std::getline(f, tempLine)) {
|
||||
if (tempLine.find("===Triangles") != std::string::npos) break;
|
||||
}
|
||||
|
||||
int numberTriangles = 0;
|
||||
if (std::regex_search(tempLine, match, pattern_count)) {
|
||||
numberTriangles = std::stoi(match.str());
|
||||
}
|
||||
else {
|
||||
throw std::runtime_error("Triangles header not found.");
|
||||
}
|
||||
|
||||
// Резервируем память в result, чтобы избежать лишних аллокаций
|
||||
result.PositionData.reserve(numberTriangles * 3);
|
||||
result.NormalData.reserve(numberTriangles * 3);
|
||||
result.TexCoordData.reserve(numberTriangles * 3);
|
||||
|
||||
for (int i = 0; i < numberTriangles; i++)
|
||||
{
|
||||
std::getline(f, tempLine);
|
||||
// Строка вида: Tri: 0 1 2
|
||||
|
||||
std::vector<int> indices;
|
||||
indices.reserve(3);
|
||||
|
||||
auto b = tempLine.cbegin();
|
||||
auto e = tempLine.cend();
|
||||
while (std::regex_search(b, e, match, pattern_int)) {
|
||||
indices.push_back(std::stoi(match.str()));
|
||||
b = match.suffix().first;
|
||||
}
|
||||
|
||||
if (indices.size() != 3) {
|
||||
throw std::runtime_error("Malformed triangle line at index " + std::to_string(i));
|
||||
}
|
||||
|
||||
// --- 4. Заполнение VertexDataStruct (Flattening) ---
|
||||
// Берем данные из временных буферов по индексам и кладем в итоговый массив
|
||||
|
||||
for (int k = 0; k < 3; k++) {
|
||||
int idx = indices[k];
|
||||
result.PositionData.push_back(tempPositions[idx]);
|
||||
result.NormalData.push_back(tempNormals[idx]);
|
||||
result.TexCoordData.push_back(tempUVs[idx]);
|
||||
}
|
||||
}
|
||||
|
||||
// --- 5. Конвертация координат (Blender -> OpenGL/Engine) ---
|
||||
// Сохраняем вашу логику смены осей: X->Z, Y->X, Z->Y
|
||||
|
||||
for (size_t i = 0; i < result.PositionData.size(); i++)
|
||||
{
|
||||
Vector3f originalPos = result.PositionData[i];
|
||||
result.PositionData[i].v[0] = originalPos.v[1]; // New X = Old Y
|
||||
result.PositionData[i].v[1] = originalPos.v[2]; // New Y = Old Z
|
||||
result.PositionData[i].v[2] = originalPos.v[0]; // New Z = Old X
|
||||
|
||||
Vector3f originalNorm = result.NormalData[i];
|
||||
result.NormalData[i].v[0] = originalNorm.v[1];
|
||||
result.NormalData[i].v[1] = originalNorm.v[2];
|
||||
result.NormalData[i].v[2] = originalNorm.v[0];
|
||||
}
|
||||
|
||||
std::cout << "Model loaded: " << numberVertices << " verts, " << numberTriangles << " tris." << std::endl;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -8,7 +8,5 @@
|
||||
namespace ZL
|
||||
{
|
||||
VertexDataStruct LoadFromTextFile(const std::string& fileName, const std::string& ZIPFileName = "");
|
||||
|
||||
|
||||
|
||||
VertexDataStruct LoadFromTextFile02(const std::string& fileName, const std::string& ZIPFileName = "");
|
||||
}
|
||||
@ -259,8 +259,10 @@ namespace ZL
|
||||
texData.data.resize(dataSize);
|
||||
|
||||
|
||||
for (int y = 0; y < texData.height; y++) {
|
||||
png_bytep row = row_pointers[y];
|
||||
//for (int y = 0; y < texData.height; y++) { //Go in reverse because of UV coord start point
|
||||
for (int y = texData.height-1; y >= 0; y--) {
|
||||
//png_bytep row = row_pointers[y];//Go in reverse because of UV coord start point
|
||||
png_bytep row = row_pointers[texData.height - 1 - y];
|
||||
for (int x = 0; x < texData.width; x++) {
|
||||
png_bytep px = &(row[x * 4]);
|
||||
texData.data[(y * texData.width + x) * channels + 0] = px[0]; // R
|
||||
@ -270,7 +272,8 @@ namespace ZL
|
||||
texData.data[(y * texData.width + x) * channels + 3] = px[3]; // A
|
||||
}
|
||||
}
|
||||
free(row_pointers[y]);
|
||||
//free(row_pointers[y]);//Go in reverse because of UV coord start point
|
||||
free(row_pointers[texData.height - 1 - y]);//Go in reverse because of UV coord start point
|
||||
}
|
||||
free(row_pointers);
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 1.0 MiB |
@ -1,11 +0,0 @@
|
||||
precision mediump float;
|
||||
uniform sampler2D Texture;
|
||||
varying vec2 texCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 color = texture2D(Texture,texCoord).rgba;
|
||||
|
||||
gl_FragColor = color;
|
||||
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
attribute vec3 vPosition;
|
||||
attribute vec2 vTexCoord;
|
||||
varying vec2 texCoord;
|
||||
|
||||
uniform mat4 ProjectionModelViewMatrix;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = ProjectionModelViewMatrix * vec4(vPosition.xyz, 1.0);
|
||||
texCoord = vTexCoord;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 3.8 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
20
aaaa
@ -1,20 +0,0 @@
|
||||
//----------- Vertex shader
|
||||
|
||||
attribute vec3 vPosition;
|
||||
attribute vec2 vTexCoord;
|
||||
varying vec2 texCoord;
|
||||
|
||||
uniform mat4 ProjectionModelViewMatrix;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = ProjectionModelViewMatrix * vec4(vPosition.xyz, 1.0);
|
||||
texCoord = vTexCoord;
|
||||
}
|
||||
|
||||
//------------- Fragment shader
|
||||
|
||||
|
||||
|
||||
In windows it is ok. In linux, error: Failed to compile fragment shader code!
|
||||
|
||||
BIN
background.bmp
|
Before Width: | Height: | Size: 768 KiB |
|
Before Width: | Height: | Size: 768 KiB |
|
Before Width: | Height: | Size: 3.0 MiB |
BIN
bird.bmp32
|
Before Width: | Height: | Size: 64 KiB |
@ -1,372 +0,0 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: /home/romazan/Рабочий стол/cproject/build-emcmake
|
||||
# It was generated by CMake: /usr/bin/cmake
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
|
||||
|
||||
//Choose the type of build, options are: None Debug Release RelWithDebInfo
|
||||
// MinSizeRel ...
|
||||
CMAKE_BUILD_TYPE:STRING=
|
||||
|
||||
//Enable/Disable color output during build.
|
||||
CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_CROSSCOMPILING_EMULATOR:UNINITIALIZED=/home/romazan/Рабочий стол/emsdk/node/20.18.0_64bit/bin/node
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Enable/Disable output of compile commands during generation.
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
|
||||
|
||||
//Value Computed by CMake.
|
||||
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/pkgRedirects
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=/home/romazan/Рабочий стол/cproject/build-emcmake/install
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=/usr/bin/ld
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=SDLApp
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_VERSION:STATIC=1.0
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_VERSION_MAJOR:STATIC=1
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_VERSION_MINOR:STATIC=0
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_VERSION_PATCH:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_VERSION_TWEAK:STATIC=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_READELF:FILEPATH=/usr/bin/readelf
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_STRIP:FILEPATH=/usr/bin/strip
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_TOOLCHAIN_FILE:UNINITIALIZED=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Force C/C++ compiler
|
||||
EMSCRIPTEN_FORCE_COMPILERS:BOOL=OFF
|
||||
|
||||
//If set, static library targets generate LLVM bitcode files (.bc).
|
||||
// If disabled (default), UNIX ar archives (.a) are generated.
|
||||
EMSCRIPTEN_GENERATE_BITCODE_STATIC_LIBRARIES:BOOL=OFF
|
||||
|
||||
//Arguments to supply to pkg-config
|
||||
PKG_CONFIG_ARGN:STRING=
|
||||
|
||||
//pkg-config executable
|
||||
PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
|
||||
|
||||
//Value Computed by CMake
|
||||
SDLApp_BINARY_DIR:STATIC=/home/romazan/Рабочий стол/cproject/build-emcmake
|
||||
|
||||
//Value Computed by CMake
|
||||
SDLApp_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
SDLApp_SOURCE_DIR:STATIC=/home/romazan/Рабочий стол/cproject
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_ADDR2LINE
|
||||
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=/home/romazan/Рабочий стол/cproject/build-emcmake
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=28
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
|
||||
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
|
||||
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_DLLTOOL
|
||||
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Test CMAKE_HAVE_LIBC_PTHREAD
|
||||
CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=/home/romazan/Рабочий стол/cproject
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJCOPY
|
||||
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJDUMP
|
||||
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_READELF
|
||||
CMAKE_READELF-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.28
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STRIP
|
||||
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_TAPI
|
||||
CMAKE_TAPI-ADVANCED:INTERNAL=1
|
||||
//uname command
|
||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//If true, we are targeting Emscripten output.
|
||||
EMSCRIPTEN:INTERNAL=1
|
||||
//Details about finding PkgConfig
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v1.8.1()]
|
||||
//Details about finding Threads
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
|
||||
//ADVANCED property for variable: PKG_CONFIG_ARGN
|
||||
PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
|
||||
PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
SDL2_CFLAGS:INTERNAL=
|
||||
SDL2_CFLAGS_I:INTERNAL=
|
||||
SDL2_CFLAGS_OTHER:INTERNAL=
|
||||
SDL2_FOUND:INTERNAL=
|
||||
SDL2_INCLUDEDIR:INTERNAL=
|
||||
SDL2_LIBDIR:INTERNAL=
|
||||
SDL2_LIBS:INTERNAL=
|
||||
SDL2_LIBS_L:INTERNAL=
|
||||
SDL2_LIBS_OTHER:INTERNAL=
|
||||
SDL2_LIBS_PATHS:INTERNAL=
|
||||
SDL2_MODULE_NAME:INTERNAL=
|
||||
SDL2_PREFIX:INTERNAL=
|
||||
SDL2_STATIC_CFLAGS:INTERNAL=
|
||||
SDL2_STATIC_CFLAGS_I:INTERNAL=
|
||||
SDL2_STATIC_CFLAGS_OTHER:INTERNAL=
|
||||
SDL2_STATIC_LIBDIR:INTERNAL=
|
||||
SDL2_STATIC_LIBS:INTERNAL=
|
||||
SDL2_STATIC_LIBS_L:INTERNAL=
|
||||
SDL2_STATIC_LIBS_OTHER:INTERNAL=
|
||||
SDL2_STATIC_LIBS_PATHS:INTERNAL=
|
||||
SDL2_VERSION:INTERNAL=
|
||||
SDL2_sdl2_INCLUDEDIR:INTERNAL=
|
||||
SDL2_sdl2_LIBDIR:INTERNAL=
|
||||
SDL2_sdl2_PREFIX:INTERNAL=
|
||||
SDL2_sdl2_VERSION:INTERNAL=
|
||||
|
||||
@ -1,85 +0,0 @@
|
||||
set(CMAKE_CXX_COMPILER "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "Clang")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "21.0.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
|
||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar")
|
||||
set(CMAKE_CXX_COMPILER_AR "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar")
|
||||
set(CMAKE_RANLIB "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX )
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED FALSE)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "4")
|
||||
set(CMAKE_CXX_COMPILER_ABI "")
|
||||
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1;/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "GL-getprocaddr;al;html5;stubs-debug;noexit;c-debug;dlmalloc-debug;compiler_rt;c++-noexcept;c++abi-debug-noexcept;sockets")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||
@ -1,15 +0,0 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-6.8.0-53-generic")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "6.8.0-53-generic")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
include("/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake")
|
||||
|
||||
set(CMAKE_SYSTEM "Emscripten-1")
|
||||
set(CMAKE_SYSTEM_NAME "Emscripten")
|
||||
set(CMAKE_SYSTEM_VERSION "1")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "TRUE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
||||
@ -1,869 +0,0 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__cray__)
|
||||
# define COMPILER_ID "CrayClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
# define COMPILER_ID "Tasking"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
||||
|
||||
#elif defined(__ORANGEC__)
|
||||
# define COMPILER_ID "OrangeC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(_ADI_COMPILER)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VERSIONNUM__)
|
||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
# elif defined(_ADI_COMPILER)
|
||||
# define PLATFORM_ID "ADSP"
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
# elif defined(__ADSPSHARC__)
|
||||
# define ARCHITECTURE_ID "SHARC"
|
||||
|
||||
# elif defined(__ADSPBLACKFIN__)
|
||||
# define ARCHITECTURE_ID "Blackfin"
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
|
||||
# if defined(__CTC__) || defined(__CPTC__)
|
||||
# define ARCHITECTURE_ID "TriCore"
|
||||
|
||||
# elif defined(__CMCS__)
|
||||
# define ARCHITECTURE_ID "MCS"
|
||||
|
||||
# elif defined(__CARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__CARC__)
|
||||
# define ARCHITECTURE_ID "ARC"
|
||||
|
||||
# elif defined(__C51__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__CPCP__)
|
||||
# define ARCHITECTURE_ID "PCP"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
|
||||
# if defined(__INTEL_CXX11_MODE__)
|
||||
# if defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD 201402L
|
||||
# else
|
||||
# define CXX_STD 201103L
|
||||
# endif
|
||||
# else
|
||||
# define CXX_STD 199711L
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# define CXX_STD _MSVC_LANG
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
||||
#if CXX_STD > 202002L
|
||||
"23"
|
||||
#elif CXX_STD > 201703L
|
||||
"20"
|
||||
#elif CXX_STD >= 201703L
|
||||
"17"
|
||||
#elif CXX_STD >= 201402L
|
||||
"14"
|
||||
#elif CXX_STD >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
@ -1,254 +0,0 @@
|
||||
|
||||
---
|
||||
events:
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake:228 (message)"
|
||||
- "CMakeLists.txt:3 (project)"
|
||||
message: |
|
||||
The target system is: Emscripten - 1 - x86
|
||||
The host system is: Linux - 6.8.0-53-generic - x86_64
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||
- "CMakeLists.txt:3 (project)"
|
||||
message: |
|
||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||
Compiler: /home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
shared:INFO: (Emscripten: Running sanity checks)
|
||||
cache:INFO: generating system asset: symbol_lists/5942949263c8e6ecd538c6aa2e8973567049bbc7.json... (this will be cached in "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/symbol_lists/5942949263c8e6ecd538c6aa2e8973567049bbc7.json" for subsequent builds)
|
||||
cache:INFO: - ok
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out.js"
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out.wasm"
|
||||
|
||||
The CXX compiler identification could not be found in:
|
||||
/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/3.28.3/CompilerIdCXX/a.out.js
|
||||
|
||||
The CXX compiler identification is Clang, found in:
|
||||
/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/3.28.3/CompilerIdCXX/a.out.wasm
|
||||
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)"
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:3 (project)"
|
||||
checks:
|
||||
- "Detecting CXX compiler ABI info"
|
||||
directories:
|
||||
source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh"
|
||||
binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps"
|
||||
CMAKE_CXX_FLAGS: ""
|
||||
CMAKE_CXX_FLAGS_DEBUG: "-g"
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules"
|
||||
buildResult:
|
||||
variable: "CMAKE_CXX_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_63219/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_63219.dir/build.make CMakeFiles/cmTC_63219.dir/build
|
||||
gmake[1]: Entering directory '/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh'
|
||||
Building CXX object CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++" -v -MD -MT CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o.d -o CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/bin/clang++" -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr "--sysroot=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -v -MD -MT CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o.d -oCMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp
|
||||
clang version 21.0.0git (https:/github.com/llvm/llvm-project 4775e6d9099467df9363e1a3cd5950cc3d2fde05)
|
||||
Target: wasm32-unknown-emscripten
|
||||
Thread model: posix
|
||||
InstalledDir: /home/romazan/Рабочий стол/emsdk/upstream/bin
|
||||
(in-process)
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/bin/clang-21" -cc1 -triple wasm32-unknown-emscripten -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model static -mframe-pointer=none -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu generic -fvisibility=hidden -debugger-tuning=gdb "-fdebug-compilation-dir=/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh" -v "-fcoverage-compilation-dir=/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh" -resource-dir "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21" -dependency-file CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o.d -MT CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -sys-header-deps -D EMSCRIPTEN -isysroot "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten/c++/v1" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include" -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fignore-exceptions -fexceptions -iwithsysroot/include/fakesdl -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -o CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp
|
||||
clang -cc1 version 21.0.0git based upon LLVM 21.0.0git default target x86_64-unknown-linux-gnu
|
||||
ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten/c++/v1"
|
||||
ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl
|
||||
/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat
|
||||
/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1
|
||||
/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include
|
||||
/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include
|
||||
End of search list.
|
||||
Linking CXX executable cmTC_63219.js
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_63219.dir/link.txt --verbose=1
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++" -v @CMakeFiles/cmTC_63219.dir/objects1.rsp -o cmTC_63219.js
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" --version
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_63219.wasm CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmplzzwbdr5libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/bin/llvm-objcopy" cmTC_63219.wasm cmTC_63219.wasm --remove-section=.debug* --remove-section=producers --remove-section=name
|
||||
"/home/romazan/Рабочий стол/emsdk/node/20.18.0_64bit/bin/node" "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/tools/compiler.mjs" -
|
||||
gmake[1]: Leaving directory '/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh'
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:127 (message)"
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:3 (project)"
|
||||
message: |
|
||||
Parsed CXX implicit include dir info: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl]
|
||||
add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat]
|
||||
add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1]
|
||||
add: [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include]
|
||||
add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include]
|
||||
end of search list found
|
||||
collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl]
|
||||
collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat]
|
||||
collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1]
|
||||
collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] ==> [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include]
|
||||
collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include]
|
||||
implicit include dirs: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1;/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include]
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:159 (message)"
|
||||
- "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:3 (project)"
|
||||
message: |
|
||||
Parsed CXX implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
ignore line: [Change Dir: '/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh']
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_63219/fast]
|
||||
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_63219.dir/build.make CMakeFiles/cmTC_63219.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o]
|
||||
ignore line: ["/home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++" -v -MD -MT CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o.d -o CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang++" -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr "--sysroot=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -v -MD -MT CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o.d -oCMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [clang version 21.0.0git (https:/github.com/llvm/llvm-project 4775e6d9099467df9363e1a3cd5950cc3d2fde05)]
|
||||
ignore line: [Target: wasm32-unknown-emscripten]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [InstalledDir: /home/romazan/Рабочий стол/emsdk/upstream/bin]
|
||||
ignore line: [ (in-process)]
|
||||
ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang-21" -cc1 -triple wasm32-unknown-emscripten -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model static -mframe-pointer=none -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu generic -fvisibility=hidden -debugger-tuning=gdb "-fdebug-compilation-dir=/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh" -v "-fcoverage-compilation-dir=/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KFqeHh" -resource-dir "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21" -dependency-file CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o.d -MT CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -sys-header-deps -D EMSCRIPTEN -isysroot "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten/c++/v1" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include" -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fignore-exceptions -fexceptions -iwithsysroot/include/fakesdl -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -o CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [clang -cc1 version 21.0.0git based upon LLVM 21.0.0git default target x86_64-unknown-linux-gnu]
|
||||
ignore line: [ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten/c++/v1"]
|
||||
ignore line: [ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl]
|
||||
ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat]
|
||||
ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1]
|
||||
ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include]
|
||||
ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Linking CXX executable cmTC_63219.js]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_63219.dir/link.txt --verbose=1]
|
||||
ignore line: ["/home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++" -v @CMakeFiles/cmTC_63219.dir/objects1.rsp -o cmTC_63219.js ]
|
||||
ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" --version]
|
||||
link line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_63219.wasm CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmplzzwbdr5libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1]
|
||||
arg [/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_63219.wasm] ==> ignore
|
||||
arg [CMakeFiles/cmTC_63219.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] ==> dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten]
|
||||
arg [-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] ==> dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib]
|
||||
arg [-lGL-getprocaddr] ==> lib [GL-getprocaddr]
|
||||
arg [-lal] ==> lib [al]
|
||||
arg [-lhtml5] ==> lib [html5]
|
||||
arg [-lstubs-debug] ==> lib [stubs-debug]
|
||||
arg [-lnoexit] ==> lib [noexit]
|
||||
arg [-lc-debug] ==> lib [c-debug]
|
||||
arg [-ldlmalloc-debug] ==> lib [dlmalloc-debug]
|
||||
arg [-lcompiler_rt] ==> lib [compiler_rt]
|
||||
arg [-lc++-noexcept] ==> lib [c++-noexcept]
|
||||
arg [-lc++abi-debug-noexcept] ==> lib [c++abi-debug-noexcept]
|
||||
arg [-lsockets] ==> lib [sockets]
|
||||
arg [-mllvm] ==> ignore
|
||||
arg [-combiner-global-alias-analysis=false] ==> ignore
|
||||
arg [-mllvm] ==> ignore
|
||||
arg [-enable-emscripten-sjlj] ==> ignore
|
||||
arg [-mllvm] ==> ignore
|
||||
arg [-disable-lsr] ==> ignore
|
||||
arg [/tmp/tmplzzwbdr5libemscripten_js_symbols.so] ==> ignore
|
||||
arg [--strip-debug] ==> ignore
|
||||
arg [--export=emscripten_stack_get_end] ==> ignore
|
||||
arg [--export=emscripten_stack_get_free] ==> ignore
|
||||
arg [--export=emscripten_stack_get_base] ==> ignore
|
||||
arg [--export=emscripten_stack_get_current] ==> ignore
|
||||
arg [--export=emscripten_stack_init] ==> ignore
|
||||
arg [--export=_emscripten_stack_alloc] ==> ignore
|
||||
arg [--export=__wasm_call_ctors] ==> ignore
|
||||
arg [--export=_emscripten_stack_restore] ==> ignore
|
||||
arg [--export-if-defined=__start_em_asm] ==> ignore
|
||||
arg [--export-if-defined=__stop_em_asm] ==> ignore
|
||||
arg [--export-if-defined=__start_em_lib_deps] ==> ignore
|
||||
arg [--export-if-defined=__stop_em_lib_deps] ==> ignore
|
||||
arg [--export-if-defined=__start_em_js] ==> ignore
|
||||
arg [--export-if-defined=__stop_em_js] ==> ignore
|
||||
arg [--export-if-defined=main] ==> ignore
|
||||
arg [--export-if-defined=__main_argc_argv] ==> ignore
|
||||
arg [--export-if-defined=fflush] ==> ignore
|
||||
arg [--export-table] ==> ignore
|
||||
arg [-zstack-size=65536] ==> ignore
|
||||
arg [--no-growable-memory] ==> ignore
|
||||
arg [--initial-heap=16777216] ==> ignore
|
||||
arg [--no-entry] ==> ignore
|
||||
arg [--stack-first] ==> ignore
|
||||
arg [--table-base=1] ==> ignore
|
||||
collapse library dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten]
|
||||
collapse library dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib]
|
||||
implicit libs: [GL-getprocaddr;al;html5;stubs-debug;noexit;c-debug;dlmalloc-debug;compiler_rt;c++-noexcept;c++abi-debug-noexcept;sockets]
|
||||
implicit objs: []
|
||||
implicit dirs: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
|
||||
- "/usr/share/cmake-3.28/Modules/CheckCXXSourceCompiles.cmake:52 (cmake_check_source_compiles)"
|
||||
- "/usr/share/cmake-3.28/Modules/FindThreads.cmake:99 (CHECK_CXX_SOURCE_COMPILES)"
|
||||
- "/usr/share/cmake-3.28/Modules/FindThreads.cmake:163 (_threads_check_libc)"
|
||||
- "CMakeLists.txt:9 (find_package)"
|
||||
checks:
|
||||
- "Performing Test CMAKE_HAVE_LIBC_PTHREAD"
|
||||
directories:
|
||||
source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-0L1xjZ"
|
||||
binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-0L1xjZ"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps"
|
||||
CMAKE_CXX_FLAGS: ""
|
||||
CMAKE_CXX_FLAGS_DEBUG: "-g"
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules"
|
||||
buildResult:
|
||||
variable: "CMAKE_HAVE_LIBC_PTHREAD"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-0L1xjZ'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ad7d0/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_ad7d0.dir/build.make CMakeFiles/cmTC_ad7d0.dir/build
|
||||
gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-0L1xjZ»
|
||||
Building CXX object CMakeFiles/cmTC_ad7d0.dir/src.cxx.o
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++" -DCMAKE_HAVE_LIBC_PTHREAD -std=gnu++17 -MD -MT CMakeFiles/cmTC_ad7d0.dir/src.cxx.o -MF CMakeFiles/cmTC_ad7d0.dir/src.cxx.o.d -o CMakeFiles/cmTC_ad7d0.dir/src.cxx.o -c "/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-0L1xjZ/src.cxx"
|
||||
Linking CXX executable cmTC_ad7d0.js
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ad7d0.dir/link.txt --verbose=1
|
||||
"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/em++" @CMakeFiles/cmTC_ad7d0.dir/objects1.rsp -o cmTC_ad7d0.js
|
||||
gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-0L1xjZ»
|
||||
|
||||
exitCode: 0
|
||||
...
|
||||
@ -1 +0,0 @@
|
||||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
||||
@ -1,344 +0,0 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: c:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build
|
||||
# It was generated by CMake: C:/Strawberry/c/bin/cmake.exe
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Value Computed by CMake
|
||||
AudioPlayer_BINARY_DIR:STATIC=C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build
|
||||
|
||||
//Value Computed by CMake
|
||||
AudioPlayer_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
AudioPlayer_SOURCE_DIR:STATIC=C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/lib.exe
|
||||
|
||||
//Semicolon separated list of supported configuration types, only
|
||||
// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything
|
||||
// else will be ignored.
|
||||
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /W3 /GR /EHsc
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=/MDd /Zi /Ob0 /Od /RTC1
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/MD /O1 /Ob1 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=/MD /O2 /Ob2 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/MD /Zi /O2 /Ob1 /DNDEBUG
|
||||
|
||||
//Libraries linked by default with all C++ applications.
|
||||
CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
|
||||
|
||||
//Flags used by the C compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=/DWIN32 /D_WINDOWS /W3
|
||||
|
||||
//Flags used by the C compiler during DEBUG builds.
|
||||
CMAKE_C_FLAGS_DEBUG:STRING=/MDd /Zi /Ob0 /Od /RTC1
|
||||
|
||||
//Flags used by the C compiler during MINSIZEREL builds.
|
||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=/MD /O1 /Ob1 /DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELEASE builds.
|
||||
CMAKE_C_FLAGS_RELEASE:STRING=/MD /O2 /Ob2 /DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/MD /Zi /O2 /Ob1 /DNDEBUG
|
||||
|
||||
//Libraries linked by default with all C applications.
|
||||
CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Value Computed by CMake.
|
||||
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/pkgRedirects
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/AudioPlayer
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/link.exe
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MT:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64/mt.exe
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=AudioPlayer
|
||||
|
||||
//RC compiler
|
||||
CMAKE_RC_COMPILER:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64/rc.exe
|
||||
|
||||
//Flags for Windows Resource Compiler during all build types.
|
||||
CMAKE_RC_FLAGS:STRING=-DWIN32
|
||||
|
||||
//Flags for Windows Resource Compiler during DEBUG builds.
|
||||
CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG
|
||||
|
||||
//Flags for Windows Resource Compiler during MINSIZEREL builds.
|
||||
CMAKE_RC_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELEASE builds.
|
||||
CMAKE_RC_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Path to a file.
|
||||
OPENAL_INCLUDE_DIR:PATH=OPENAL_INCLUDE_DIR-NOTFOUND
|
||||
|
||||
//Path to a library.
|
||||
OPENAL_LIBRARY:FILEPATH=OPENAL_LIBRARY-NOTFOUND
|
||||
|
||||
//Arguments to supply to pkg-config
|
||||
PKG_CONFIG_ARGN:STRING=
|
||||
|
||||
//pkg-config executable
|
||||
PKG_CONFIG_EXECUTABLE:FILEPATH=PKG_CONFIG_EXECUTABLE-NOTFOUND
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=c:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=29
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=C:/Strawberry/c/bin/cmake.exe
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=C:/Strawberry/c/bin/cpack.exe
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=C:/Strawberry/c/bin/ctest.exe
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
|
||||
CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
|
||||
CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Visual Studio 17 2022
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=C:/Program Files/Microsoft Visual Studio/2022/Community
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MT
|
||||
CMAKE_MT-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//noop for ranlib
|
||||
CMAKE_RANLIB:INTERNAL=:
|
||||
//ADVANCED property for variable: CMAKE_RC_COMPILER
|
||||
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
|
||||
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS
|
||||
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
|
||||
CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
|
||||
CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
|
||||
CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=C:/Strawberry/c/share/cmake-3.29
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: PKG_CONFIG_ARGN
|
||||
PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
|
||||
PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
|
||||
@ -1,323 +0,0 @@
|
||||
|
||||
---
|
||||
events:
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineSystem.cmake:205 (message)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
message: |
|
||||
The system is: Windows - 6.2.9200 - AMD64
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
message: |
|
||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||
Compiler:
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
╨Т╨╡╤А╤Б╨╕╤П MSBuild 17.14.23+b0019275e ╨┤╨╗╤П .NET Framework
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨╜╨░╤З╨░╤В╨░ 31.10.2025 15:03:34.
|
||||
|
||||
╨Я╤А╨╛╨╡╨║╤В "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdC\\CompilerIdC.vcxproj" ╨▓ ╤Г╨╖╨╗╨╡ 1 (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
PrepareForBuild:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "Debug\\".
|
||||
╨б╤В╤А╤Г╨║╤В╤Г╤А╨╕╤А╨╛╨▓╨░╨╜╨╜╤Л╨╣ ╨▓╤Л╨▓╨╛╨┤ ╨▓╨║╨╗╤О╤З╨╡╨╜. ╨д╨╛╤А╨╝╨░╤В╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╨┤╨╕╨░╨│╨╜╨╛╤Б╤В╨╕╨║╨╕ ╨║╨╛╨╝╨┐╨╕╨╗╤П╤В╨╛╤А╨░ ╨▒╤Г╨┤╨╡╤В ╨╛╤В╤А╨░╨╢╨░╤В╤М ╨╕╨╡╤А╨░╤А╤Е╨╕╤О ╨╛╤И╨╕╨▒╨╛╨║. ╨Я╨╛╨┤╤А╨╛╨▒╨╜╨╡╨╡ ╤Б╨╝. https://aka.ms/cpp/structured-output.
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "Debug\\CompilerIdC.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ "Debug\\CompilerIdC.tlog\\unsuccessfulbuild", ╤В╨░╨║ ╨║╨░╨║ ╨▒╤Л╨╗╨╛ ╨╖╨░╨┤╨░╨╜╨╛ "AlwaysCreate".
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "Debug\\CompilerIdC.tlog\\unsuccessfulbuild".
|
||||
VcpkgTripletSelection:
|
||||
Using triplet "x64-windows" from "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\"
|
||||
Using normalized configuration "Release"
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /I"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\include" /nologo /W0 /WX- /diagnostics:column /Od /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\\\" /Fd"Debug\\vc143.pdb" /external:W0 /Gd /TC /FC /errorReport:queue CMakeCCompilerId.c
|
||||
CMakeCCompilerId.c
|
||||
Link:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /ERRORREPORT:QUEUE /OUT:".\\CompilerIdC.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib" /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\manual-link" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\*.lib" /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\\CompilerIdC.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\\CompilerIdC.lib" /MACHINE:X64 Debug\\CMakeCCompilerId.obj
|
||||
CompilerIdC.vcxproj -> C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdC\\CompilerIdC.exe
|
||||
AppLocalFromInstalled:
|
||||
pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdC\\CompilerIdC.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "Debug\\CompilerIdC.tlog\\CompilerIdC.write.1u.tlog" "Debug\\vcpkg.applocal.log"
|
||||
"pwsh.exe" ╨╜╨╡ ╤П╨▓╨╗╤П╨╡╤В╤Б╤П ╨▓╨╜╤Г╤В╤А╨╡╨╜╨╜╨╡╨╣ ╨╕╨╗╨╕ ╨▓╨╜╨╡╤И╨╜╨╡╨╣
|
||||
╨║╨╛╨╝╨░╨╜╨┤╨╛╨╣, ╨╕╤Б╨┐╨╛╨╗╨╜╤П╨╡╨╝╨╛╨╣ ╨┐╤А╨╛╨│╤А╨░╨╝╨╝╨╛╨╣ ╨╕╨╗╨╕ ╨┐╨░╨║╨╡╤В╨╜╤Л╨╝ ╤Д╨░╨╣╨╗╨╛╨╝.
|
||||
╨Т╤Л╤Е╨╛╨┤ ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╤Л "pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdC\\CompilerIdC.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "Debug\\CompilerIdC.tlog\\CompilerIdC.write.1u.tlog" "Debug\\vcpkg.applocal.log"" ╤Б ╨║╨╛╨┤╨╛╨╝ 9009.
|
||||
"C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdC\\CompilerIdC.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "Debug\\CompilerIdC.tlog\\CompilerIdC.write.1u.tlog" "Debug\\vcpkg.applocal.log"
|
||||
PostBuildEvent:
|
||||
for %%i in (cl.exe) do @echo CMAKE_C_COMPILER=%%~$PATH:i
|
||||
:VCEnd
|
||||
CMAKE_C_COMPILER=C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\Hostx64\\x64\\cl.exe
|
||||
FinalizeBuildStatus:
|
||||
╨д╨░╨╣╨╗ "Debug\\CompilerIdC.tlog\\unsuccessfulbuild" ╤Г╨┤╨░╨╗╤П╨╡╤В╤Б╤П.
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "Debug\\CompilerIdC.tlog\\CompilerIdC.lastbuildstate".
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨┐╤А╨╛╨╡╨║╤В╨░ "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdC\\CompilerIdC.vcxproj" ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░ (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
|
||||
╨б╨▒╨╛╤А╨║╨░ ╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░.
|
||||
╨Я╤А╨╡╨┤╤Г╨┐╤А╨╡╨╢╨┤╨╡╨╜╨╕╨╣: 0
|
||||
╨Ю╤И╨╕╨▒╨╛╨║: 0
|
||||
|
||||
╨Я╤А╨╛╤И╨╗╨╛ ╨▓╤А╨╡╨╝╨╡╨╜╨╕ 00:00:01.58
|
||||
|
||||
|
||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CompilerIdC.exe"
|
||||
|
||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CompilerIdC.vcxproj"
|
||||
|
||||
The C compiler identification is MSVC, found in:
|
||||
C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/3.29.2/CompilerIdC/CompilerIdC.exe
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
message: |
|
||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||
Compiler:
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
╨Т╨╡╤А╤Б╨╕╤П MSBuild 17.14.23+b0019275e ╨┤╨╗╤П .NET Framework
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨╜╨░╤З╨░╤В╨░ 31.10.2025 15:03:36.
|
||||
|
||||
╨Я╤А╨╛╨╡╨║╤В "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdCXX\\CompilerIdCXX.vcxproj" ╨▓ ╤Г╨╖╨╗╨╡ 1 (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
PrepareForBuild:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "Debug\\".
|
||||
╨б╤В╤А╤Г╨║╤В╤Г╤А╨╕╤А╨╛╨▓╨░╨╜╨╜╤Л╨╣ ╨▓╤Л╨▓╨╛╨┤ ╨▓╨║╨╗╤О╤З╨╡╨╜. ╨д╨╛╤А╨╝╨░╤В╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╨┤╨╕╨░╨│╨╜╨╛╤Б╤В╨╕╨║╨╕ ╨║╨╛╨╝╨┐╨╕╨╗╤П╤В╨╛╤А╨░ ╨▒╤Г╨┤╨╡╤В ╨╛╤В╤А╨░╨╢╨░╤В╤М ╨╕╨╡╤А╨░╤А╤Е╨╕╤О ╨╛╤И╨╕╨▒╨╛╨║. ╨Я╨╛╨┤╤А╨╛╨▒╨╜╨╡╨╡ ╤Б╨╝. https://aka.ms/cpp/structured-output.
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "Debug\\CompilerIdCXX.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ "Debug\\CompilerIdCXX.tlog\\unsuccessfulbuild", ╤В╨░╨║ ╨║╨░╨║ ╨▒╤Л╨╗╨╛ ╨╖╨░╨┤╨░╨╜╨╛ "AlwaysCreate".
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "Debug\\CompilerIdCXX.tlog\\unsuccessfulbuild".
|
||||
VcpkgTripletSelection:
|
||||
Using triplet "x64-windows" from "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\"
|
||||
Using normalized configuration "Release"
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /I"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\include" /nologo /W0 /WX- /diagnostics:column /Od /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\\\" /Fd"Debug\\vc143.pdb" /external:W0 /Gd /TP /FC /errorReport:queue CMakeCXXCompilerId.cpp
|
||||
CMakeCXXCompilerId.cpp
|
||||
Link:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /ERRORREPORT:QUEUE /OUT:".\\CompilerIdCXX.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib" /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\manual-link" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\*.lib" /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\\CompilerIdCXX.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\\CompilerIdCXX.lib" /MACHINE:X64 Debug\\CMakeCXXCompilerId.obj
|
||||
CompilerIdCXX.vcxproj -> C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdCXX\\CompilerIdCXX.exe
|
||||
AppLocalFromInstalled:
|
||||
pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdCXX\\CompilerIdCXX.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "Debug\\CompilerIdCXX.tlog\\CompilerIdCXX.write.1u.tlog" "Debug\\vcpkg.applocal.log"
|
||||
"pwsh.exe" ╨╜╨╡ ╤П╨▓╨╗╤П╨╡╤В╤Б╤П ╨▓╨╜╤Г╤В╤А╨╡╨╜╨╜╨╡╨╣ ╨╕╨╗╨╕ ╨▓╨╜╨╡╤И╨╜╨╡╨╣
|
||||
╨║╨╛╨╝╨░╨╜╨┤╨╛╨╣, ╨╕╤Б╨┐╨╛╨╗╨╜╤П╨╡╨╝╨╛╨╣ ╨┐╤А╨╛╨│╤А╨░╨╝╨╝╨╛╨╣ ╨╕╨╗╨╕ ╨┐╨░╨║╨╡╤В╨╜╤Л╨╝ ╤Д╨░╨╣╨╗╨╛╨╝.
|
||||
╨Т╤Л╤Е╨╛╨┤ ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╤Л "pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdCXX\\CompilerIdCXX.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "Debug\\CompilerIdCXX.tlog\\CompilerIdCXX.write.1u.tlog" "Debug\\vcpkg.applocal.log"" ╤Б ╨║╨╛╨┤╨╛╨╝ 9009.
|
||||
"C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdCXX\\CompilerIdCXX.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "Debug\\CompilerIdCXX.tlog\\CompilerIdCXX.write.1u.tlog" "Debug\\vcpkg.applocal.log"
|
||||
PostBuildEvent:
|
||||
for %%i in (cl.exe) do @echo CMAKE_CXX_COMPILER=%%~$PATH:i
|
||||
:VCEnd
|
||||
CMAKE_CXX_COMPILER=C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\Hostx64\\x64\\cl.exe
|
||||
FinalizeBuildStatus:
|
||||
╨д╨░╨╣╨╗ "Debug\\CompilerIdCXX.tlog\\unsuccessfulbuild" ╤Г╨┤╨░╨╗╤П╨╡╤В╤Б╤П.
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "Debug\\CompilerIdCXX.tlog\\CompilerIdCXX.lastbuildstate".
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨┐╤А╨╛╨╡╨║╤В╨░ "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\3.29.2\\CompilerIdCXX\\CompilerIdCXX.vcxproj" ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░ (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
|
||||
╨б╨▒╨╛╤А╨║╨░ ╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░.
|
||||
╨Я╤А╨╡╨┤╤Г╨┐╤А╨╡╨╢╨┤╨╡╨╜╨╕╨╣: 0
|
||||
╨Ю╤И╨╕╨▒╨╛╨║: 0
|
||||
|
||||
╨Я╤А╨╛╤И╨╗╨╛ ╨▓╤А╨╡╨╝╨╡╨╜╨╕ 00:00:01.24
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.exe"
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.vcxproj"
|
||||
|
||||
The CXX compiler identification is MSVC, found in:
|
||||
C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/3.29.2/CompilerIdCXX/CompilerIdCXX.exe
|
||||
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerABI.cmake:64 (try_compile)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
checks:
|
||||
- "Detecting C compiler ABI info"
|
||||
directories:
|
||||
source: "C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-d3xle8"
|
||||
binary: "C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-d3xle8"
|
||||
cmakeVariables:
|
||||
CMAKE_C_FLAGS: "/DWIN32 /D_WINDOWS /W3"
|
||||
CMAKE_C_FLAGS_DEBUG: "/MDd /Zi /Ob0 /Od /RTC1"
|
||||
CMAKE_EXE_LINKER_FLAGS: "/machine:x64"
|
||||
buildResult:
|
||||
variable: "CMAKE_C_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: 'C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-d3xle8'
|
||||
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_b9934.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
╨Т╨╡╤А╤Б╨╕╤П MSBuild 17.14.23+b0019275e ╨┤╨╗╤П .NET Framework
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨╜╨░╤З╨░╤В╨░ 31.10.2025 15:03:38.
|
||||
|
||||
╨Я╤А╨╛╨╡╨║╤В "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\cmTC_b9934.vcxproj" ╨▓ ╤Г╨╖╨╗╨╡ 1 (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
PrepareForBuild:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "cmTC_b9934.dir\\Debug\\".
|
||||
╨б╤В╤А╤Г╨║╤В╤Г╤А╨╕╤А╨╛╨▓╨░╨╜╨╜╤Л╨╣ ╨▓╤Л╨▓╨╛╨┤ ╨▓╨║╨╗╤О╤З╨╡╨╜. ╨д╨╛╤А╨╝╨░╤В╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╨┤╨╕╨░╨│╨╜╨╛╤Б╤В╨╕╨║╨╕ ╨║╨╛╨╝╨┐╨╕╨╗╤П╤В╨╛╤А╨░ ╨▒╤Г╨┤╨╡╤В ╨╛╤В╤А╨░╨╢╨░╤В╤М ╨╕╨╡╤А╨░╤А╤Е╨╕╤О ╨╛╤И╨╕╨▒╨╛╨║. ╨Я╨╛╨┤╤А╨╛╨▒╨╜╨╡╨╡ ╤Б╨╝. https://aka.ms/cpp/structured-output.
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\Debug\\".
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\unsuccessfulbuild", ╤В╨░╨║ ╨║╨░╨║ ╨▒╤Л╨╗╨╛ ╨╖╨░╨┤╨░╨╜╨╛ "AlwaysCreate".
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\unsuccessfulbuild".
|
||||
VcpkgTripletSelection:
|
||||
Using triplet "x64-windows" from "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\"
|
||||
Using normalized configuration "Release"
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /I"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\include" /Zi /W3 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_b9934.dir\\Debug\\\\" /Fd"cmTC_b9934.dir\\Debug\\vc143.pdb" /external:W3 /Gd /TC /errorReport:queue "C:\\Strawberry\\c\\share\\cmake-3.29\\Modules\\CMakeCCompilerABI.c"
|
||||
╨Ю╨┐╤В╨╕╨╝╨╕╨╖╨╕╤А╤Г╤О╤Й╨╕╨╣ ╨║╨╛╨╝╨┐╨╕╨╗╤П╤В╨╛╤А Microsoft (R) C/C++ ╨▓╨╡╤А╤Б╨╕╨╕ 19.44.35217 ╨┤╨╗╤П x64
|
||||
(C) ╨Ъ╨╛╤А╨┐╨╛╤А╨░╤Ж╨╕╤П ╨Ь╨░╨╣╨║╤А╨╛╤Б╨╛╤Д╤В (Microsoft Corporation). ╨Т╤Б╨╡ ╨┐╤А╨░╨▓╨░ ╨╖╨░╤Й╨╕╤Й╨╡╨╜╤Л.
|
||||
cl /c /I"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\include" /Zi /W3 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_b9934.dir\\Debug\\\\" /Fd"cmTC_b9934.dir\\Debug\\vc143.pdb" /external:W3 /Gd /TC /errorReport:queue "C:\\Strawberry\\c\\share\\cmake-3.29\\Modules\\CMakeCCompilerABI.c"
|
||||
CMakeCCompilerABI.c
|
||||
Link:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /ERRORREPORT:QUEUE /OUT:"C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\Debug\\cmTC_b9934.exe" /INCREMENTAL /ILK:"cmTC_b9934.dir\\Debug\\cmTC_b9934.ilk" /NOLOGO /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib" /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\manual-link" kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\*.lib" /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-d3xle8/Debug/cmTC_b9934.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-d3xle8/Debug/cmTC_b9934.lib" /MACHINE:X64 /machine:x64 cmTC_b9934.dir\\Debug\\CMakeCCompilerABI.obj
|
||||
cmTC_b9934.vcxproj -> C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\Debug\\cmTC_b9934.exe
|
||||
AppLocalFromInstalled:
|
||||
pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\Debug\\cmTC_b9934.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\cmTC_b9934.write.1u.tlog" "cmTC_b9934.dir\\Debug\\vcpkg.applocal.log"
|
||||
"pwsh.exe" ╨╜╨╡ ╤П╨▓╨╗╤П╨╡╤В╤Б╤П ╨▓╨╜╤Г╤В╤А╨╡╨╜╨╜╨╡╨╣ ╨╕╨╗╨╕ ╨▓╨╜╨╡╤И╨╜╨╡╨╣
|
||||
╨║╨╛╨╝╨░╨╜╨┤╨╛╨╣, ╨╕╤Б╨┐╨╛╨╗╨╜╤П╨╡╨╝╨╛╨╣ ╨┐╤А╨╛╨│╤А╨░╨╝╨╝╨╛╨╣ ╨╕╨╗╨╕ ╨┐╨░╨║╨╡╤В╨╜╤Л╨╝ ╤Д╨░╨╣╨╗╨╛╨╝.
|
||||
╨Т╤Л╤Е╨╛╨┤ ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╤Л "pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\Debug\\cmTC_b9934.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\cmTC_b9934.write.1u.tlog" "cmTC_b9934.dir\\Debug\\vcpkg.applocal.log"" ╤Б ╨║╨╛╨┤╨╛╨╝ 9009.
|
||||
"C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\Debug\\cmTC_b9934.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\cmTC_b9934.write.1u.tlog" "cmTC_b9934.dir\\Debug\\vcpkg.applocal.log"
|
||||
FinalizeBuildStatus:
|
||||
╨д╨░╨╣╨╗ "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\unsuccessfulbuild" ╤Г╨┤╨░╨╗╤П╨╡╤В╤Б╤П.
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "cmTC_b9934.dir\\Debug\\cmTC_b9934.tlog\\cmTC_b9934.lastbuildstate".
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨┐╤А╨╛╨╡╨║╤В╨░ "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-d3xle8\\cmTC_b9934.vcxproj" ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░ (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
|
||||
╨б╨▒╨╛╤А╨║╨░ ╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░.
|
||||
╨Я╤А╨╡╨┤╤Г╨┐╤А╨╡╨╢╨┤╨╡╨╜╨╕╨╣: 0
|
||||
╨Ю╤И╨╕╨▒╨╛╨║: 0
|
||||
|
||||
╨Я╤А╨╛╤И╨╗╨╛ ╨▓╤А╨╡╨╝╨╡╨╜╨╕ 00:00:01.08
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerABI.cmake:170 (message)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
message: |
|
||||
Parsed C implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|link\\.exe|lld-link(\\.exe)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?|link\\.exe|lld-link(\\.exe)?))("|,| |$)]
|
||||
linker tool for 'C': C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/HostX64/x64/link.exe
|
||||
implicit libs: []
|
||||
implicit objs: []
|
||||
implicit dirs: []
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerABI.cmake:207 (cmake_determine_linker_id)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
message: |
|
||||
Running the C compiler's linker: "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/HostX64/x64/link.exe" "-v"
|
||||
Microsoft (R) Incremental Linker Version 14.44.35217.0
|
||||
Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerABI.cmake:64 (try_compile)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
checks:
|
||||
- "Detecting CXX compiler ABI info"
|
||||
directories:
|
||||
source: "C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-jvadad"
|
||||
binary: "C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-jvadad"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: "/DWIN32 /D_WINDOWS /W3 /GR /EHsc"
|
||||
CMAKE_CXX_FLAGS_DEBUG: "/MDd /Zi /Ob0 /Od /RTC1"
|
||||
CMAKE_EXE_LINKER_FLAGS: "/machine:x64"
|
||||
buildResult:
|
||||
variable: "CMAKE_CXX_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: 'C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-jvadad'
|
||||
|
||||
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe" cmTC_a4dde.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
|
||||
╨Т╨╡╤А╤Б╨╕╤П MSBuild 17.14.23+b0019275e ╨┤╨╗╤П .NET Framework
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨╜╨░╤З╨░╤В╨░ 31.10.2025 15:03:39.
|
||||
|
||||
╨Я╤А╨╛╨╡╨║╤В "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\cmTC_a4dde.vcxproj" ╨▓ ╤Г╨╖╨╗╨╡ 1 (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
PrepareForBuild:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "cmTC_a4dde.dir\\Debug\\".
|
||||
╨б╤В╤А╤Г╨║╤В╤Г╤А╨╕╤А╨╛╨▓╨░╨╜╨╜╤Л╨╣ ╨▓╤Л╨▓╨╛╨┤ ╨▓╨║╨╗╤О╤З╨╡╨╜. ╨д╨╛╤А╨╝╨░╤В╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╨┤╨╕╨░╨│╨╜╨╛╤Б╤В╨╕╨║╨╕ ╨║╨╛╨╝╨┐╨╕╨╗╤П╤В╨╛╤А╨░ ╨▒╤Г╨┤╨╡╤В ╨╛╤В╤А╨░╨╢╨░╤В╤М ╨╕╨╡╤А╨░╤А╤Е╨╕╤О ╨╛╤И╨╕╨▒╨╛╨║. ╨Я╨╛╨┤╤А╨╛╨▒╨╜╨╡╨╡ ╤Б╨╝. https://aka.ms/cpp/structured-output.
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\Debug\\".
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ ╨║╨░╤В╨░╨╗╨╛╨│╨░ "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\".
|
||||
InitializeBuildStatus:
|
||||
╨б╨╛╨╖╨┤╨░╨╜╨╕╨╡ "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\unsuccessfulbuild", ╤В╨░╨║ ╨║╨░╨║ ╨▒╤Л╨╗╨╛ ╨╖╨░╨┤╨░╨╜╨╛ "AlwaysCreate".
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\unsuccessfulbuild".
|
||||
VcpkgTripletSelection:
|
||||
Using triplet "x64-windows" from "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\"
|
||||
Using normalized configuration "Release"
|
||||
ClCompile:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\CL.exe /c /I"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\include" /Zi /W3 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"cmTC_a4dde.dir\\Debug\\\\" /Fd"cmTC_a4dde.dir\\Debug\\vc143.pdb" /external:W3 /Gd /TP /errorReport:queue "C:\\Strawberry\\c\\share\\cmake-3.29\\Modules\\CMakeCXXCompilerABI.cpp"
|
||||
╨Ю╨┐╤В╨╕╨╝╨╕╨╖╨╕╤А╤Г╤О╤Й╨╕╨╣ ╨║╨╛╨╝╨┐╨╕╨╗╤П╤В╨╛╤А Microsoft (R) C/C++ ╨▓╨╡╤А╤Б╨╕╨╕ 19.44.35217 ╨┤╨╗╤П x64
|
||||
(C) ╨Ъ╨╛╤А╨┐╨╛╤А╨░╤Ж╨╕╤П ╨Ь╨░╨╣╨║╤А╨╛╤Б╨╛╤Д╤В (Microsoft Corporation). ╨Т╤Б╨╡ ╨┐╤А╨░╨▓╨░ ╨╖╨░╤Й╨╕╤Й╨╡╨╜╤Л.
|
||||
cl /c /I"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\include" /Zi /W3 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"cmTC_a4dde.dir\\Debug\\\\" /Fd"cmTC_a4dde.dir\\Debug\\vc143.pdb" /external:W3 /Gd /TP /errorReport:queue "C:\\Strawberry\\c\\share\\cmake-3.29\\Modules\\CMakeCXXCompilerABI.cpp"
|
||||
CMakeCXXCompilerABI.cpp
|
||||
Link:
|
||||
C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe /ERRORREPORT:QUEUE /OUT:"C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\Debug\\cmTC_a4dde.exe" /INCREMENTAL /ILK:"cmTC_a4dde.dir\\Debug\\cmTC_a4dde.ilk" /NOLOGO /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib" /LIBPATH:"C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\manual-link" kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\lib\\*.lib" /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-jvadad/Debug/cmTC_a4dde.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Work/Projects/ZeptoLabTest1/cmakeaudioplayer/build/CMakeFiles/CMakeScratch/TryCompile-jvadad/Debug/cmTC_a4dde.lib" /MACHINE:X64 /machine:x64 cmTC_a4dde.dir\\Debug\\CMakeCXXCompilerABI.obj
|
||||
cmTC_a4dde.vcxproj -> C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\Debug\\cmTC_a4dde.exe
|
||||
AppLocalFromInstalled:
|
||||
pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\Debug\\cmTC_a4dde.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\cmTC_a4dde.write.1u.tlog" "cmTC_a4dde.dir\\Debug\\vcpkg.applocal.log"
|
||||
"pwsh.exe" ╨╜╨╡ ╤П╨▓╨╗╤П╨╡╤В╤Б╤П ╨▓╨╜╤Г╤В╤А╨╡╨╜╨╜╨╡╨╣ ╨╕╨╗╨╕ ╨▓╨╜╨╡╤И╨╜╨╡╨╣
|
||||
╨║╨╛╨╝╨░╨╜╨┤╨╛╨╣, ╨╕╤Б╨┐╨╛╨╗╨╜╤П╨╡╨╝╨╛╨╣ ╨┐╤А╨╛╨│╤А╨░╨╝╨╝╨╛╨╣ ╨╕╨╗╨╕ ╨┐╨░╨║╨╡╤В╨╜╤Л╨╝ ╤Д╨░╨╣╨╗╨╛╨╝.
|
||||
╨Т╤Л╤Е╨╛╨┤ ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╤Л "pwsh.exe -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\Debug\\cmTC_a4dde.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\cmTC_a4dde.write.1u.tlog" "cmTC_a4dde.dir\\Debug\\vcpkg.applocal.log"" ╤Б ╨║╨╛╨┤╨╛╨╝ 9009.
|
||||
"C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" -ExecutionPolicy Bypass -noprofile -File "C:\\Work\\vcpkg-2024.03.25\\scripts\\buildsystems\\msbuild\\applocal.ps1" "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\Debug\\cmTC_a4dde.exe" "C:\\Work\\vcpkg-2024.03.25\\installed\\x64-windows\\bin" "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\cmTC_a4dde.write.1u.tlog" "cmTC_a4dde.dir\\Debug\\vcpkg.applocal.log"
|
||||
FinalizeBuildStatus:
|
||||
╨д╨░╨╣╨╗ "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\unsuccessfulbuild" ╤Г╨┤╨░╨╗╤П╨╡╤В╤Б╤П.
|
||||
╨Ю╨▒╤А╨░╤Й╨╡╨╜╨╕╨╡ ╨║ "cmTC_a4dde.dir\\Debug\\cmTC_a4dde.tlog\\cmTC_a4dde.lastbuildstate".
|
||||
╨б╨▒╨╛╤А╨║╨░ ╨┐╤А╨╛╨╡╨║╤В╨░ "C:\\Work\\Projects\\ZeptoLabTest1\\cmakeaudioplayer\\build\\CMakeFiles\\CMakeScratch\\TryCompile-jvadad\\cmTC_a4dde.vcxproj" ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░ (╤Ж╨╡╨╗╨╡╨▓╤Л╨╡ ╨╛╨▒╤К╨╡╨║╤В╤Л ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О).
|
||||
|
||||
╨б╨▒╨╛╤А╨║╨░ ╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜╨░.
|
||||
╨Я╤А╨╡╨┤╤Г╨┐╤А╨╡╨╢╨┤╨╡╨╜╨╕╨╣: 0
|
||||
╨Ю╤И╨╕╨▒╨╛╨║: 0
|
||||
|
||||
╨Я╤А╨╛╤И╨╗╨╛ ╨▓╤А╨╡╨╝╨╡╨╜╨╕ 00:00:01.07
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerABI.cmake:170 (message)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
message: |
|
||||
Parsed CXX implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|link\\.exe|lld-link(\\.exe)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?|link\\.exe|lld-link(\\.exe)?))("|,| |$)]
|
||||
linker tool for 'CXX': C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/HostX64/x64/link.exe
|
||||
implicit libs: []
|
||||
implicit objs: []
|
||||
implicit dirs: []
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeDetermineCompilerABI.cmake:207 (cmake_determine_linker_id)"
|
||||
- "C:/Strawberry/c/share/cmake-3.29/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:2 (project)"
|
||||
message: |
|
||||
Running the CXX compiler's linker: "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/HostX64/x64/link.exe" "-v"
|
||||
Microsoft (R) Incremental Linker Version 14.44.35217.0
|
||||
Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
...
|
||||
@ -1 +0,0 @@
|
||||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
||||
@ -1,7 +0,0 @@
|
||||
Run using cmakelist
|
||||
make -j$(nproc) -C build #Компилируем
|
||||
./build/sdl_app #Запускаем
|
||||
|
||||
Для постройки без звука
|
||||
rm -rf build #Очищаем build папку
|
||||
cmake -B build -DAUDIO=1 #Пересоздаём конфигурацию CMake
|
||||
93
cube001.txt
@ -1,93 +0,0 @@
|
||||
===Vertices: 8
|
||||
Vertex 0: <Vector (1.0000, 1.0000, 1.0000)>
|
||||
Vertex 1: <Vector (1.0000, 1.0000, -1.0000)>
|
||||
Vertex 2: <Vector (1.0000, -1.0000, 1.0000)>
|
||||
Vertex 3: <Vector (1.0000, -1.0000, -1.0000)>
|
||||
Vertex 4: <Vector (-1.0000, 1.0000, 1.0000)>
|
||||
Vertex 5: <Vector (-1.0000, 1.0000, -1.0000)>
|
||||
Vertex 6: <Vector (-1.0000, -1.0000, 1.0000)>
|
||||
Vertex 7: <Vector (-1.0000, -1.0000, -1.0000)>
|
||||
===UV Coordinates:
|
||||
Face count: 12
|
||||
Face 0
|
||||
UV Count: 3
|
||||
UV <Vector (0.8750, 0.5000)>
|
||||
UV <Vector (0.6250, 0.7500)>
|
||||
UV <Vector (0.6250, 0.5000)>
|
||||
Face 1
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.7500)>
|
||||
UV <Vector (0.3750, 1.0000)>
|
||||
UV <Vector (0.3750, 0.7500)>
|
||||
Face 2
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.0000)>
|
||||
UV <Vector (0.3750, 0.2500)>
|
||||
UV <Vector (0.3750, 0.0000)>
|
||||
Face 3
|
||||
UV Count: 3
|
||||
UV <Vector (0.3750, 0.5000)>
|
||||
UV <Vector (0.1250, 0.7500)>
|
||||
UV <Vector (0.1250, 0.5000)>
|
||||
Face 4
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.5000)>
|
||||
UV <Vector (0.3750, 0.7500)>
|
||||
UV <Vector (0.3750, 0.5000)>
|
||||
Face 5
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.2500)>
|
||||
UV <Vector (0.3750, 0.5000)>
|
||||
UV <Vector (0.3750, 0.2500)>
|
||||
Face 6
|
||||
UV Count: 3
|
||||
UV <Vector (0.8750, 0.5000)>
|
||||
UV <Vector (0.8750, 0.7500)>
|
||||
UV <Vector (0.6250, 0.7500)>
|
||||
Face 7
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.7500)>
|
||||
UV <Vector (0.6250, 1.0000)>
|
||||
UV <Vector (0.3750, 1.0000)>
|
||||
Face 8
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.0000)>
|
||||
UV <Vector (0.6250, 0.2500)>
|
||||
UV <Vector (0.3750, 0.2500)>
|
||||
Face 9
|
||||
UV Count: 3
|
||||
UV <Vector (0.3750, 0.5000)>
|
||||
UV <Vector (0.3750, 0.7500)>
|
||||
UV <Vector (0.1250, 0.7500)>
|
||||
Face 10
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.5000)>
|
||||
UV <Vector (0.6250, 0.7500)>
|
||||
UV <Vector (0.3750, 0.7500)>
|
||||
Face 11
|
||||
UV Count: 3
|
||||
UV <Vector (0.6250, 0.2500)>
|
||||
UV <Vector (0.6250, 0.5000)>
|
||||
UV <Vector (0.3750, 0.5000)>
|
||||
===Normals:
|
||||
Vertex 0: Normal <Vector (0.5774, 0.5773, 0.5773)>
|
||||
Vertex 1: Normal <Vector (0.5773, 0.5774, -0.5774)>
|
||||
Vertex 2: Normal <Vector (0.5773, -0.5774, 0.5774)>
|
||||
Vertex 3: Normal <Vector (0.5774, -0.5773, -0.5773)>
|
||||
Vertex 4: Normal <Vector (-0.5773, 0.5774, 0.5774)>
|
||||
Vertex 5: Normal <Vector (-0.5774, 0.5773, -0.5773)>
|
||||
Vertex 6: Normal <Vector (-0.5774, -0.5773, 0.5773)>
|
||||
Vertex 7: Normal <Vector (-0.5773, -0.5774, -0.5774)>
|
||||
===Triangles: 12
|
||||
Triangle: [4, 2, 0]
|
||||
Triangle: [2, 7, 3]
|
||||
Triangle: [6, 5, 7]
|
||||
Triangle: [1, 7, 5]
|
||||
Triangle: [0, 3, 1]
|
||||
Triangle: [4, 1, 5]
|
||||
Triangle: [4, 6, 2]
|
||||
Triangle: [2, 6, 7]
|
||||
Triangle: [6, 4, 5]
|
||||
Triangle: [1, 3, 7]
|
||||
Triangle: [0, 2, 3]
|
||||
Triangle: [4, 0, 1]
|
||||
@ -1,15 +0,0 @@
|
||||
attribute vec3 vPosition;
|
||||
attribute vec2 vTexCoord;
|
||||
varying vec2 texCoord;
|
||||
varying vec3 vWorldPos; // Мировая позиция вершины
|
||||
|
||||
uniform mat4 ProjectionModelViewMatrix;
|
||||
//uniform mat4 ModelMatrix; // Матрица модели объекта
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 worldPos = vec4(vPosition, 1.0);
|
||||
vWorldPos = worldPos.xyz;
|
||||
gl_Position = ProjectionModelViewMatrix * vec4(vPosition, 1.0);
|
||||
texCoord = vTexCoord;
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
uniform sampler2D Texture;
|
||||
varying vec2 texCoord;
|
||||
varying vec3 vWorldPos;
|
||||
|
||||
uniform vec3 eyePos; // Позиция камеры
|
||||
uniform vec3 targetPos; // Цель камеры
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
vec4 color;
|
||||
|
||||
vec3 dirToCamera = normalize(eyePos - targetPos);
|
||||
vec3 dirToVertex = normalize(vWorldPos - targetPos);
|
||||
|
||||
float dotProduct = dot(dirToCamera, dirToVertex);
|
||||
|
||||
float distanceX = abs(vWorldPos.x);
|
||||
float distanceZ = abs(vWorldPos.z);
|
||||
|
||||
//float distanceToCamera = length(vWorldPos - targetPos);
|
||||
|
||||
if ((distanceX > 380.0 || distanceZ > 380.0) && (dotProduct > 0.0) && vWorldPos.y > 10.0)
|
||||
{
|
||||
//color.rgba = vec4(1,0,0,1);
|
||||
discard;
|
||||
}
|
||||
else
|
||||
{
|
||||
color.rgb = texture2D(Texture, texCoord).rgb;
|
||||
color.a = 1.0;
|
||||
}
|
||||
gl_FragColor = color;
|
||||
}
|
||||
@ -1,36 +0,0 @@
|
||||
precision mediump float;
|
||||
|
||||
uniform sampler2D Texture;
|
||||
varying vec2 texCoord;
|
||||
varying vec3 vWorldPos;
|
||||
|
||||
uniform vec3 eyePos; // Позиция камеры
|
||||
uniform vec3 targetPos; // Цель камеры
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
vec4 color;
|
||||
|
||||
vec3 dirToCamera = normalize(eyePos - targetPos);
|
||||
vec3 dirToVertex = normalize(vWorldPos - targetPos);
|
||||
|
||||
float dotProduct = dot(dirToCamera, dirToVertex);
|
||||
|
||||
float distanceX = abs(vWorldPos.x);
|
||||
float distanceZ = abs(vWorldPos.z);
|
||||
|
||||
//float distanceToCamera = length(vWorldPos - targetPos);
|
||||
|
||||
if ((distanceX > 380.0 || distanceZ > 380.0) && (dotProduct > 0.0) && vWorldPos.y > 10.0)
|
||||
{
|
||||
//color.rgba = vec4(1,0,0,1);
|
||||
discard;
|
||||
}
|
||||
else
|
||||
{
|
||||
color.rgb = texture2D(Texture, texCoord).rgb;
|
||||
color.a = 1.0;
|
||||
}
|
||||
gl_FragColor = color;
|
||||
}
|
||||
93
door.txt
@ -1,93 +0,0 @@
|
||||
===Vertices: 8
|
||||
Vertex 0: <Vector (-1.0000, -1.0000, -1.0000)>
|
||||
Vertex 1: <Vector (-1.0000, -1.3082, 2.8700)>
|
||||
Vertex 2: <Vector (-1.0000, 1.0000, -1.0000)>
|
||||
Vertex 3: <Vector (-1.0000, 1.0000, 3.2248)>
|
||||
Vertex 4: <Vector (-0.3594, -1.0000, -1.0000)>
|
||||
Vertex 5: <Vector (-0.3594, -1.3082, 2.8700)>
|
||||
Vertex 6: <Vector (-0.3594, 1.0000, -1.0000)>
|
||||
Vertex 7: <Vector (-0.3594, 1.0000, 3.2248)>
|
||||
===UV Coordinates:
|
||||
Face count: 12
|
||||
Face 0
|
||||
UV Count: 3
|
||||
UV <Vector (0.3708, 0.0570)>
|
||||
UV <Vector (0.7416, 0.6787)>
|
||||
UV <Vector (0.4203, 0.6787)>
|
||||
Face 1
|
||||
UV Count: 3
|
||||
UV <Vector (0.7416, -0.0000)>
|
||||
UV <Vector (0.8445, 0.6787)>
|
||||
UV <Vector (0.7416, 0.6787)>
|
||||
Face 2
|
||||
UV Count: 3
|
||||
UV <Vector (-0.0000, 0.6787)>
|
||||
UV <Vector (0.3708, 0.0570)>
|
||||
UV <Vector (0.3213, 0.6787)>
|
||||
Face 3
|
||||
UV Count: 3
|
||||
UV <Vector (0.8445, -0.0000)>
|
||||
UV <Vector (0.9474, 0.6237)>
|
||||
UV <Vector (0.8445, 0.6237)>
|
||||
Face 4
|
||||
UV Count: 3
|
||||
UV <Vector (0.0000, 1.0000)>
|
||||
UV <Vector (0.1029, 0.6787)>
|
||||
UV <Vector (0.1029, 1.0000)>
|
||||
Face 5
|
||||
UV Count: 3
|
||||
UV <Vector (0.9474, 0.6237)>
|
||||
UV <Vector (0.8445, 0.9988)>
|
||||
UV <Vector (0.8445, 0.6237)>
|
||||
Face 6
|
||||
UV Count: 3
|
||||
UV <Vector (0.3708, 0.0570)>
|
||||
UV <Vector (0.7416, -0.0000)>
|
||||
UV <Vector (0.7416, 0.6787)>
|
||||
Face 7
|
||||
UV Count: 3
|
||||
UV <Vector (0.7416, -0.0000)>
|
||||
UV <Vector (0.8445, -0.0000)>
|
||||
UV <Vector (0.8445, 0.6787)>
|
||||
Face 8
|
||||
UV Count: 3
|
||||
UV <Vector (-0.0000, 0.6787)>
|
||||
UV <Vector (0.0000, 0.0000)>
|
||||
UV <Vector (0.3708, 0.0570)>
|
||||
Face 9
|
||||
UV Count: 3
|
||||
UV <Vector (0.8445, -0.0000)>
|
||||
UV <Vector (0.9474, 0.0000)>
|
||||
UV <Vector (0.9474, 0.6237)>
|
||||
Face 10
|
||||
UV Count: 3
|
||||
UV <Vector (0.0000, 1.0000)>
|
||||
UV <Vector (0.0000, 0.6787)>
|
||||
UV <Vector (0.1029, 0.6787)>
|
||||
Face 11
|
||||
UV Count: 3
|
||||
UV <Vector (0.9474, 0.6237)>
|
||||
UV <Vector (0.9474, 0.9988)>
|
||||
UV <Vector (0.8445, 0.9988)>
|
||||
===Normals:
|
||||
Vertex 0: Normal <Vector (-0.5816, -0.5519, -0.5976)>
|
||||
Vertex 1: Normal <Vector (-0.5813, -0.6381, 0.5049)>
|
||||
Vertex 2: Normal <Vector (-0.5773, 0.5774, -0.5774)>
|
||||
Vertex 3: Normal <Vector (-0.5698, 0.5352, 0.6237)>
|
||||
Vertex 4: Normal <Vector (0.5816, -0.5519, -0.5976)>
|
||||
Vertex 5: Normal <Vector (0.5813, -0.6381, 0.5049)>
|
||||
Vertex 6: Normal <Vector (0.5774, 0.5774, -0.5773)>
|
||||
Vertex 7: Normal <Vector (0.5698, 0.5351, 0.6237)>
|
||||
===Triangles: 12
|
||||
Triangle: [1, 2, 0]
|
||||
Triangle: [3, 6, 2]
|
||||
Triangle: [6, 5, 4]
|
||||
Triangle: [5, 0, 4]
|
||||
Triangle: [6, 0, 2]
|
||||
Triangle: [3, 5, 7]
|
||||
Triangle: [1, 3, 2]
|
||||
Triangle: [3, 7, 6]
|
||||
Triangle: [6, 7, 5]
|
||||
Triangle: [5, 1, 0]
|
||||
Triangle: [6, 4, 0]
|
||||
Triangle: [3, 1, 5]
|
||||
BIN
final_bad.bmp
|
Before Width: | Height: | Size: 768 KiB |
BIN
final_dialog.bmp
|
Before Width: | Height: | Size: 3.0 MiB |
BIN
final_good.bmp
|
Before Width: | Height: | Size: 768 KiB |
BIN
game_over.bmp32
|
Before Width: | Height: | Size: 512 KiB |
BIN
hand.bmp32
|
Before Width: | Height: | Size: 16 MiB |
42311
idleviola_uv010.txt
93
inai001.txt
@ -1,93 +0,0 @@
|
||||
===Vertices: 8
|
||||
Vertex 0: <Vector (10.0851, 30.8909, 9.4815)>
|
||||
Vertex 1: <Vector (10.0851, 30.8909, -9.4815)>
|
||||
Vertex 2: <Vector (10.0851, -30.8909, 9.4815)>
|
||||
Vertex 3: <Vector (10.0851, -30.8909, -9.4815)>
|
||||
Vertex 4: <Vector (-10.0851, 30.8909, 9.4815)>
|
||||
Vertex 5: <Vector (-10.0851, 30.8909, -9.4815)>
|
||||
Vertex 6: <Vector (-10.0851, -30.8909, 9.4815)>
|
||||
Vertex 7: <Vector (-10.0851, -30.8909, -9.4815)>
|
||||
===UV Coordinates:
|
||||
Face count: 12
|
||||
Face 0
|
||||
UV Count: 3
|
||||
UV <Vector (0.0000, 0.7539)>
|
||||
UV <Vector (0.2577, 0.0000)>
|
||||
UV <Vector (0.2577, 0.7539)>
|
||||
Face 1
|
||||
UV Count: 3
|
||||
UV <Vector (0.0000, 1.0000)>
|
||||
UV <Vector (0.2423, 0.7539)>
|
||||
UV <Vector (0.2423, 1.0000)>
|
||||
Face 2
|
||||
UV Count: 3
|
||||
UV <Vector (0.5154, 0.7539)>
|
||||
UV <Vector (0.7577, 0.0000)>
|
||||
UV <Vector (0.7577, 0.7539)>
|
||||
Face 3
|
||||
UV Count: 3
|
||||
UV <Vector (0.2577, 0.7539)>
|
||||
UV <Vector (0.5154, 0.0000)>
|
||||
UV <Vector (0.5154, 0.7539)>
|
||||
Face 4
|
||||
UV Count: 3
|
||||
UV <Vector (0.7577, 0.7539)>
|
||||
UV <Vector (1.0000, 0.0000)>
|
||||
UV <Vector (1.0000, 0.7539)>
|
||||
Face 5
|
||||
UV Count: 3
|
||||
UV <Vector (0.2423, 1.0000)>
|
||||
UV <Vector (0.4846, 0.7539)>
|
||||
UV <Vector (0.4846, 1.0000)>
|
||||
Face 6
|
||||
UV Count: 3
|
||||
UV <Vector (0.0000, 0.7539)>
|
||||
UV <Vector (0.0000, 0.0000)>
|
||||
UV <Vector (0.2577, 0.0000)>
|
||||
Face 7
|
||||
UV Count: 3
|
||||
UV <Vector (0.0000, 1.0000)>
|
||||
UV <Vector (0.0000, 0.7539)>
|
||||
UV <Vector (0.2423, 0.7539)>
|
||||
Face 8
|
||||
UV Count: 3
|
||||
UV <Vector (0.5154, 0.7539)>
|
||||
UV <Vector (0.5154, 0.0000)>
|
||||
UV <Vector (0.7577, 0.0000)>
|
||||
Face 9
|
||||
UV Count: 3
|
||||
UV <Vector (0.2577, 0.7539)>
|
||||
UV <Vector (0.2577, 0.0000)>
|
||||
UV <Vector (0.5154, 0.0000)>
|
||||
Face 10
|
||||
UV Count: 3
|
||||
UV <Vector (0.7577, 0.7539)>
|
||||
UV <Vector (0.7577, 0.0000)>
|
||||
UV <Vector (1.0000, 0.0000)>
|
||||
Face 11
|
||||
UV Count: 3
|
||||
UV <Vector (0.2423, 1.0000)>
|
||||
UV <Vector (0.2423, 0.7539)>
|
||||
UV <Vector (0.4846, 0.7539)>
|
||||
===Normals:
|
||||
Vertex 0: Normal <Vector (0.5774, 0.5774, 0.5774)>
|
||||
Vertex 1: Normal <Vector (0.5774, 0.5774, -0.5774)>
|
||||
Vertex 2: Normal <Vector (0.5774, -0.5774, 0.5774)>
|
||||
Vertex 3: Normal <Vector (0.5774, -0.5774, -0.5774)>
|
||||
Vertex 4: Normal <Vector (-0.5774, 0.5774, 0.5774)>
|
||||
Vertex 5: Normal <Vector (-0.5774, 0.5774, -0.5774)>
|
||||
Vertex 6: Normal <Vector (-0.5774, -0.5774, 0.5774)>
|
||||
Vertex 7: Normal <Vector (-0.5774, -0.5774, -0.5774)>
|
||||
===Triangles: 12
|
||||
Triangle: [4, 2, 0]
|
||||
Triangle: [2, 7, 3]
|
||||
Triangle: [6, 5, 7]
|
||||
Triangle: [1, 7, 5]
|
||||
Triangle: [0, 3, 1]
|
||||
Triangle: [4, 1, 5]
|
||||
Triangle: [4, 6, 2]
|
||||
Triangle: [2, 6, 7]
|
||||
Triangle: [6, 4, 5]
|
||||
Triangle: [1, 3, 7]
|
||||
Triangle: [0, 2, 3]
|
||||
Triangle: [4, 0, 1]
|
||||
BIN
jumpingbird.wasm
261
lighter.txt
@ -1,261 +0,0 @@
|
||||
===Vertices: 20
|
||||
Vertex 0: <Vector (-1.0000, -1.0000, 1.0000)>
|
||||
Vertex 1: <Vector (-1.0000, 1.0000, 1.0000)>
|
||||
Vertex 2: <Vector (1.0000, -1.0000, 1.0000)>
|
||||
Vertex 3: <Vector (1.0000, 1.0000, 1.0000)>
|
||||
Vertex 4: <Vector (0.0000, 1.0000, -1.3168)>
|
||||
Vertex 5: <Vector (0.0000, 1.0000, 3.2597)>
|
||||
Vertex 6: <Vector (0.0000, -1.0000, -1.3168)>
|
||||
Vertex 7: <Vector (0.0000, -1.0000, 3.2597)>
|
||||
Vertex 8: <Vector (2.9516, -1.0000, 1.0000)>
|
||||
Vertex 9: <Vector (2.9516, 1.0000, 1.0000)>
|
||||
Vertex 10: <Vector (-3.0111, -1.0000, 1.0000)>
|
||||
Vertex 11: <Vector (-3.0111, 1.0000, 1.0000)>
|
||||
Vertex 12: <Vector (-1.6367, 1.0000, -0.3668)>
|
||||
Vertex 13: <Vector (-1.6367, -1.0000, -0.3668)>
|
||||
Vertex 14: <Vector (1.6107, -1.0000, -0.3742)>
|
||||
Vertex 15: <Vector (1.6107, 1.0000, -0.3742)>
|
||||
Vertex 16: <Vector (-1.6367, 1.0000, -3.1173)>
|
||||
Vertex 17: <Vector (-1.6367, -1.0000, -3.1173)>
|
||||
Vertex 18: <Vector (1.6107, -1.0000, -3.1246)>
|
||||
Vertex 19: <Vector (1.6107, 1.0000, -3.1246)>
|
||||
===UV Coordinates:
|
||||
Face count: 36
|
||||
Face 0
|
||||
UV Count: 3
|
||||
UV <Vector (0.6779, 0.5670)>
|
||||
UV <Vector (0.8298, 0.5670)>
|
||||
UV <Vector (0.6779, 0.7197)>
|
||||
Face 1
|
||||
UV Count: 3
|
||||
UV <Vector (0.3743, 0.6470)>
|
||||
UV <Vector (0.2225, 0.6470)>
|
||||
UV <Vector (0.2225, 0.5670)>
|
||||
Face 2
|
||||
UV Count: 3
|
||||
UV <Vector (0.5261, 0.5670)>
|
||||
UV <Vector (0.5261, 0.7506)>
|
||||
UV <Vector (0.3743, 0.5670)>
|
||||
Face 3
|
||||
UV Count: 3
|
||||
UV <Vector (0.5261, 0.7506)>
|
||||
UV <Vector (0.6779, 0.5670)>
|
||||
UV <Vector (0.6779, 0.7506)>
|
||||
Face 4
|
||||
UV Count: 3
|
||||
UV <Vector (0.6779, 0.8715)>
|
||||
UV <Vector (0.8261, 0.7197)>
|
||||
UV <Vector (0.8261, 0.8715)>
|
||||
Face 5
|
||||
UV Count: 3
|
||||
UV <Vector (0.3418, 0.0686)>
|
||||
UV <Vector (0.3595, 0.2554)>
|
||||
UV <Vector (0.2155, 0.2073)>
|
||||
Face 6
|
||||
UV Count: 3
|
||||
UV <Vector (0.0707, 0.5670)>
|
||||
UV <Vector (0.2225, 0.5670)>
|
||||
UV <Vector (0.0707, 0.6480)>
|
||||
Face 7
|
||||
UV Count: 3
|
||||
UV <Vector (0.0707, 0.6480)>
|
||||
UV <Vector (0.2225, 0.8523)>
|
||||
UV <Vector (0.0707, 0.8523)>
|
||||
Face 8
|
||||
UV Count: 3
|
||||
UV <Vector (0.3743, 0.6470)>
|
||||
UV <Vector (0.3743, 0.8512)>
|
||||
UV <Vector (0.2225, 0.8512)>
|
||||
Face 9
|
||||
UV Count: 3
|
||||
UV <Vector (0.4833, 0.7506)>
|
||||
UV <Vector (0.5913, 0.7506)>
|
||||
UV <Vector (0.4833, 0.9024)>
|
||||
Face 10
|
||||
UV Count: 3
|
||||
UV <Vector (0.3743, 0.9024)>
|
||||
UV <Vector (0.3743, 0.7506)>
|
||||
UV <Vector (0.4833, 0.9024)>
|
||||
Face 11
|
||||
UV Count: 3
|
||||
UV <Vector (0.3704, 0.3690)>
|
||||
UV <Vector (0.3595, 0.2554)>
|
||||
UV <Vector (0.5000, 0.3023)>
|
||||
Face 12
|
||||
UV Count: 3
|
||||
UV <Vector (0.3043, 0.5670)>
|
||||
UV <Vector (0.2318, 0.3981)>
|
||||
UV <Vector (0.3704, 0.3690)>
|
||||
Face 13
|
||||
UV Count: 3
|
||||
UV <Vector (0.0707, 0.4884)>
|
||||
UV <Vector (0.1368, 0.2904)>
|
||||
UV <Vector (0.2318, 0.3981)>
|
||||
Face 14
|
||||
UV Count: 3
|
||||
UV <Vector (0.0707, 0.1589)>
|
||||
UV <Vector (0.2155, 0.2073)>
|
||||
UV <Vector (0.1368, 0.2904)>
|
||||
Face 15
|
||||
UV Count: 3
|
||||
UV <Vector (0.1368, 0.2904)>
|
||||
UV <Vector (0.2155, 0.2073)>
|
||||
UV <Vector (0.2318, 0.3981)>
|
||||
Face 16
|
||||
UV Count: 3
|
||||
UV <Vector (0.2155, 0.2073)>
|
||||
UV <Vector (0.3595, 0.2554)>
|
||||
UV <Vector (0.2318, 0.3981)>
|
||||
Face 17
|
||||
UV Count: 3
|
||||
UV <Vector (0.3595, 0.2554)>
|
||||
UV <Vector (0.3704, 0.3690)>
|
||||
UV <Vector (0.2318, 0.3981)>
|
||||
Face 18
|
||||
UV Count: 3
|
||||
UV <Vector (0.9293, 0.1589)>
|
||||
UV <Vector (0.8632, 0.2904)>
|
||||
UV <Vector (0.7845, 0.2073)>
|
||||
Face 19
|
||||
UV Count: 3
|
||||
UV <Vector (0.2225, 0.5670)>
|
||||
UV <Vector (0.3743, 0.5670)>
|
||||
UV <Vector (0.3743, 0.6470)>
|
||||
Face 20
|
||||
UV Count: 3
|
||||
UV <Vector (0.0707, 0.6480)>
|
||||
UV <Vector (0.2225, 0.5670)>
|
||||
UV <Vector (0.2225, 0.6480)>
|
||||
Face 21
|
||||
UV Count: 3
|
||||
UV <Vector (0.2225, 0.8523)>
|
||||
UV <Vector (0.0707, 0.6480)>
|
||||
UV <Vector (0.2225, 0.6480)>
|
||||
Face 22
|
||||
UV Count: 3
|
||||
UV <Vector (0.2225, 0.8512)>
|
||||
UV <Vector (0.2225, 0.6470)>
|
||||
UV <Vector (0.3743, 0.6470)>
|
||||
Face 23
|
||||
UV Count: 3
|
||||
UV <Vector (0.5913, 0.7506)>
|
||||
UV <Vector (0.5913, 0.9024)>
|
||||
UV <Vector (0.4833, 0.9024)>
|
||||
Face 24
|
||||
UV Count: 3
|
||||
UV <Vector (0.6779, 0.7197)>
|
||||
UV <Vector (0.8298, 0.5670)>
|
||||
UV <Vector (0.8298, 0.7197)>
|
||||
Face 25
|
||||
UV Count: 3
|
||||
UV <Vector (0.4833, 0.9024)>
|
||||
UV <Vector (0.3743, 0.7506)>
|
||||
UV <Vector (0.4833, 0.7506)>
|
||||
Face 26
|
||||
UV Count: 3
|
||||
UV <Vector (0.3743, 0.5670)>
|
||||
UV <Vector (0.5261, 0.7506)>
|
||||
UV <Vector (0.3743, 0.7506)>
|
||||
Face 27
|
||||
UV Count: 3
|
||||
UV <Vector (0.6779, 0.5670)>
|
||||
UV <Vector (0.5261, 0.7506)>
|
||||
UV <Vector (0.5261, 0.5670)>
|
||||
Face 28
|
||||
UV Count: 3
|
||||
UV <Vector (0.8261, 0.7197)>
|
||||
UV <Vector (0.6779, 0.8715)>
|
||||
UV <Vector (0.6779, 0.7197)>
|
||||
Face 29
|
||||
UV Count: 3
|
||||
UV <Vector (0.6582, 0.0686)>
|
||||
UV <Vector (0.7845, 0.2073)>
|
||||
UV <Vector (0.6405, 0.2554)>
|
||||
Face 30
|
||||
UV Count: 3
|
||||
UV <Vector (0.5000, 0.3023)>
|
||||
UV <Vector (0.6405, 0.2554)>
|
||||
UV <Vector (0.6296, 0.3690)>
|
||||
Face 31
|
||||
UV Count: 3
|
||||
UV <Vector (0.6957, 0.5670)>
|
||||
UV <Vector (0.6296, 0.3690)>
|
||||
UV <Vector (0.7682, 0.3981)>
|
||||
Face 32
|
||||
UV Count: 3
|
||||
UV <Vector (0.9293, 0.4884)>
|
||||
UV <Vector (0.7682, 0.3981)>
|
||||
UV <Vector (0.8632, 0.2904)>
|
||||
Face 33
|
||||
UV Count: 3
|
||||
UV <Vector (0.8632, 0.2904)>
|
||||
UV <Vector (0.7682, 0.3981)>
|
||||
UV <Vector (0.7845, 0.2073)>
|
||||
Face 34
|
||||
UV Count: 3
|
||||
UV <Vector (0.6296, 0.3690)>
|
||||
UV <Vector (0.6405, 0.2554)>
|
||||
UV <Vector (0.7682, 0.3981)>
|
||||
Face 35
|
||||
UV Count: 3
|
||||
UV <Vector (0.6405, 0.2554)>
|
||||
UV <Vector (0.7845, 0.2073)>
|
||||
UV <Vector (0.7682, 0.3981)>
|
||||
===Normals:
|
||||
Vertex 0: Normal <Vector (-0.2851, -0.8526, 0.4379)>
|
||||
Vertex 1: Normal <Vector (-0.2851, 0.8526, 0.4380)>
|
||||
Vertex 2: Normal <Vector (0.2851, -0.8526, 0.4379)>
|
||||
Vertex 3: Normal <Vector (0.2851, 0.8526, 0.4380)>
|
||||
Vertex 4: Normal <Vector (-0.0020, 0.9166, -0.3998)>
|
||||
Vertex 5: Normal <Vector (0.0000, 0.5482, 0.8364)>
|
||||
Vertex 6: Normal <Vector (-0.0020, -0.9166, -0.3998)>
|
||||
Vertex 7: Normal <Vector (0.0000, -0.5482, 0.8364)>
|
||||
Vertex 8: Normal <Vector (0.7713, -0.5472, 0.3250)>
|
||||
Vertex 9: Normal <Vector (0.7713, 0.5473, 0.3250)>
|
||||
Vertex 10: Normal <Vector (-0.7739, -0.5468, 0.3193)>
|
||||
Vertex 11: Normal <Vector (-0.7739, 0.5469, 0.3193)>
|
||||
Vertex 12: Normal <Vector (-0.5484, 0.8045, -0.2280)>
|
||||
Vertex 13: Normal <Vector (-0.5484, -0.8045, -0.2280)>
|
||||
Vertex 14: Normal <Vector (0.5525, -0.8026, -0.2249)>
|
||||
Vertex 15: Normal <Vector (0.5525, 0.8026, -0.2249)>
|
||||
Vertex 16: Normal <Vector (-0.3021, 0.5458, -0.7816)>
|
||||
Vertex 17: Normal <Vector (-0.3021, -0.5458, -0.7816)>
|
||||
Vertex 18: Normal <Vector (0.2983, -0.5455, -0.7832)>
|
||||
Vertex 19: Normal <Vector (0.2983, 0.5455, -0.7832)>
|
||||
===Triangles: 36
|
||||
Triangle: [0, 1, 10]
|
||||
Triangle: [12, 13, 10]
|
||||
Triangle: [5, 1, 7]
|
||||
Triangle: [3, 7, 2]
|
||||
Triangle: [3, 8, 9]
|
||||
Triangle: [5, 3, 1]
|
||||
Triangle: [9, 8, 15]
|
||||
Triangle: [15, 18, 19]
|
||||
Triangle: [12, 16, 17]
|
||||
Triangle: [6, 17, 4]
|
||||
Triangle: [6, 4, 18]
|
||||
Triangle: [15, 3, 9]
|
||||
Triangle: [19, 4, 15]
|
||||
Triangle: [16, 12, 4]
|
||||
Triangle: [11, 1, 12]
|
||||
Triangle: [12, 1, 4]
|
||||
Triangle: [1, 3, 4]
|
||||
Triangle: [3, 15, 4]
|
||||
Triangle: [10, 13, 0]
|
||||
Triangle: [10, 11, 12]
|
||||
Triangle: [15, 8, 14]
|
||||
Triangle: [18, 15, 14]
|
||||
Triangle: [17, 13, 12]
|
||||
Triangle: [17, 16, 4]
|
||||
Triangle: [10, 1, 11]
|
||||
Triangle: [18, 4, 19]
|
||||
Triangle: [7, 1, 0]
|
||||
Triangle: [7, 3, 5]
|
||||
Triangle: [8, 3, 2]
|
||||
Triangle: [7, 0, 2]
|
||||
Triangle: [8, 2, 14]
|
||||
Triangle: [18, 14, 6]
|
||||
Triangle: [17, 6, 13]
|
||||
Triangle: [13, 6, 0]
|
||||
Triangle: [14, 2, 6]
|
||||
Triangle: [2, 0, 6]
|
||||
BIN
loading.bmp
|
Before Width: | Height: | Size: 768 KiB |
559
lock.txt
@ -1,559 +0,0 @@
|
||||
===Vertices: 43
|
||||
Vertex 0: <Vector (-0.0002, 4.1693, -1.1602)>
|
||||
Vertex 1: <Vector (-0.0002, 4.1693, 0.8398)>
|
||||
Vertex 2: <Vector (0.9508, 3.4783, -1.1602)>
|
||||
Vertex 3: <Vector (0.9508, 3.4783, 0.8398)>
|
||||
Vertex 4: <Vector (0.5875, 2.3603, -1.1602)>
|
||||
Vertex 5: <Vector (0.5875, 2.3603, 0.8398)>
|
||||
Vertex 6: <Vector (-0.5880, 2.3603, -1.1602)>
|
||||
Vertex 7: <Vector (-0.5880, 2.3603, 0.8398)>
|
||||
Vertex 8: <Vector (-0.9513, 3.4783, -1.1602)>
|
||||
Vertex 9: <Vector (-0.9513, 3.4783, 0.8398)>
|
||||
Vertex 10: <Vector (0.5871, -2.3745, -1.1602)>
|
||||
Vertex 11: <Vector (0.5871, -2.3745, 0.8398)>
|
||||
Vertex 12: <Vector (0.9510, -3.4923, -1.1602)>
|
||||
Vertex 13: <Vector (0.9510, -3.4923, 0.8398)>
|
||||
Vertex 14: <Vector (0.0003, -4.1838, -1.1602)>
|
||||
Vertex 15: <Vector (0.0003, -4.1838, 0.8398)>
|
||||
Vertex 16: <Vector (-0.9511, -3.4933, -1.1602)>
|
||||
Vertex 17: <Vector (-0.9511, -3.4933, 0.8398)>
|
||||
Vertex 18: <Vector (-0.5884, -2.3751, -1.1602)>
|
||||
Vertex 19: <Vector (-0.5884, -2.3751, 0.8398)>
|
||||
Vertex 20: <Vector (-0.5881, 1.3244, 2.2781)>
|
||||
Vertex 21: <Vector (-0.5882, -0.0074, 2.7576)>
|
||||
Vertex 22: <Vector (-0.5884, -1.3392, 2.2781)>
|
||||
Vertex 23: <Vector (0.5875, 1.3246, 2.2779)>
|
||||
Vertex 24: <Vector (0.5873, -0.0071, 2.7573)>
|
||||
Vertex 25: <Vector (0.5872, -1.3387, 2.2779)>
|
||||
Vertex 26: <Vector (-0.9513, 1.9533, 2.9574)>
|
||||
Vertex 27: <Vector (-0.9512, -0.0075, 3.6633)>
|
||||
Vertex 28: <Vector (-0.9512, -1.9682, 2.9574)>
|
||||
Vertex 29: <Vector (-0.0001, 2.3421, 3.3770)>
|
||||
Vertex 30: <Vector (0.0000, -0.0072, 4.2228)>
|
||||
Vertex 31: <Vector (0.0002, -2.3565, 3.3770)>
|
||||
Vertex 32: <Vector (0.9509, 1.9535, 2.9571)>
|
||||
Vertex 33: <Vector (0.9509, -0.0070, 3.6629)>
|
||||
Vertex 34: <Vector (0.9509, -1.9675, 2.9571)>
|
||||
Vertex 35: <Vector (-1.4333, -3.8304, -9.3966)>
|
||||
Vertex 36: <Vector (-1.4333, -4.5015, -0.9919)>
|
||||
Vertex 37: <Vector (-1.4333, 3.8841, -9.3966)>
|
||||
Vertex 38: <Vector (-1.4333, 4.5742, -0.9919)>
|
||||
Vertex 39: <Vector (1.4353, -3.8304, -9.3966)>
|
||||
Vertex 40: <Vector (1.4353, -4.5015, -0.9919)>
|
||||
Vertex 41: <Vector (1.4353, 3.8841, -9.3966)>
|
||||
Vertex 42: <Vector (1.4353, 4.5742, -0.9919)>
|
||||
===UV Coordinates:
|
||||
Face count: 78
|
||||
Face 0
|
||||
UV Count: 3
|
||||
UV <Vector (0.8193, 0.8359)>
|
||||
UV <Vector (0.8638, 0.9308)>
|
||||
UV <Vector (0.8193, 0.9294)>
|
||||
Face 1
|
||||
UV Count: 3
|
||||
UV <Vector (0.8699, 0.0000)>
|
||||
UV <Vector (0.7747, 0.0523)>
|
||||
UV <Vector (0.7777, 0.0000)>
|
||||
Face 2
|
||||
UV Count: 3
|
||||
UV <Vector (0.3621, 0.6569)>
|
||||
UV <Vector (0.4171, 0.7504)>
|
||||
UV <Vector (0.3621, 0.7504)>
|
||||
Face 3
|
||||
UV Count: 3
|
||||
UV <Vector (0.0922, 0.6989)>
|
||||
UV <Vector (0.0030, 0.7512)>
|
||||
UV <Vector (0.0000, 0.6989)>
|
||||
Face 4
|
||||
UV Count: 3
|
||||
UV <Vector (0.7747, 0.8372)>
|
||||
UV <Vector (0.8193, 0.9294)>
|
||||
UV <Vector (0.7747, 0.9308)>
|
||||
Face 5
|
||||
UV Count: 3
|
||||
UV <Vector (0.0847, 0.7682)>
|
||||
UV <Vector (0.1370, 0.7512)>
|
||||
UV <Vector (0.1694, 0.7957)>
|
||||
Face 6
|
||||
UV Count: 3
|
||||
UV <Vector (0.8669, 0.2740)>
|
||||
UV <Vector (0.7777, 0.3263)>
|
||||
UV <Vector (0.7747, 0.2740)>
|
||||
Face 7
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.7614)>
|
||||
UV <Vector (0.4616, 0.8536)>
|
||||
UV <Vector (0.4171, 0.8549)>
|
||||
Face 8
|
||||
UV Count: 3
|
||||
UV <Vector (0.4616, 0.7601)>
|
||||
UV <Vector (0.5062, 0.8549)>
|
||||
UV <Vector (0.4616, 0.8536)>
|
||||
Face 9
|
||||
UV Count: 3
|
||||
UV <Vector (0.0951, 0.4248)>
|
||||
UV <Vector (0.0000, 0.4772)>
|
||||
UV <Vector (0.0030, 0.4248)>
|
||||
Face 10
|
||||
UV Count: 3
|
||||
UV <Vector (0.3621, 0.4941)>
|
||||
UV <Vector (0.4171, 0.5876)>
|
||||
UV <Vector (0.3621, 0.5877)>
|
||||
Face 11
|
||||
UV Count: 3
|
||||
UV <Vector (0.0323, 0.7512)>
|
||||
UV <Vector (0.0847, 0.8232)>
|
||||
UV <Vector (0.0323, 0.8402)>
|
||||
Face 12
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.6569)>
|
||||
UV <Vector (0.3621, 0.5877)>
|
||||
UV <Vector (0.4171, 0.5877)>
|
||||
Face 13
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.8751)>
|
||||
UV <Vector (0.3621, 0.8128)>
|
||||
UV <Vector (0.4171, 0.8128)>
|
||||
Face 14
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.8128)>
|
||||
UV <Vector (0.3621, 0.7504)>
|
||||
UV <Vector (0.4171, 0.7504)>
|
||||
Face 15
|
||||
UV Count: 3
|
||||
UV <Vector (0.3621, 0.4248)>
|
||||
UV <Vector (0.4171, 0.4941)>
|
||||
UV <Vector (0.3621, 0.4941)>
|
||||
Face 16
|
||||
UV Count: 3
|
||||
UV <Vector (0.7747, 0.8372)>
|
||||
UV <Vector (0.8193, 0.7207)>
|
||||
UV <Vector (0.8193, 0.8359)>
|
||||
Face 17
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.6266)>
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
UV <Vector (0.4617, 0.6448)>
|
||||
Face 18
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.4430)>
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
UV <Vector (0.4171, 0.5348)>
|
||||
Face 19
|
||||
UV Count: 3
|
||||
UV <Vector (0.5062, 0.7614)>
|
||||
UV <Vector (0.4616, 0.6448)>
|
||||
UV <Vector (0.5062, 0.6651)>
|
||||
Face 20
|
||||
UV Count: 3
|
||||
UV <Vector (0.8193, 0.7207)>
|
||||
UV <Vector (0.8638, 0.8372)>
|
||||
UV <Vector (0.8193, 0.8359)>
|
||||
Face 21
|
||||
UV Count: 3
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
UV <Vector (0.5062, 0.6266)>
|
||||
UV <Vector (0.4617, 0.6448)>
|
||||
Face 22
|
||||
UV Count: 3
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
UV <Vector (0.5062, 0.4431)>
|
||||
UV <Vector (0.5062, 0.5348)>
|
||||
Face 23
|
||||
UV Count: 3
|
||||
UV <Vector (0.4616, 0.6448)>
|
||||
UV <Vector (0.4171, 0.7614)>
|
||||
UV <Vector (0.4171, 0.6652)>
|
||||
Face 24
|
||||
UV Count: 3
|
||||
UV <Vector (0.1928, 0.6798)>
|
||||
UV <Vector (0.0922, 0.6989)>
|
||||
UV <Vector (0.1585, 0.6504)>
|
||||
Face 25
|
||||
UV Count: 3
|
||||
UV <Vector (0.2253, 0.5880)>
|
||||
UV <Vector (0.1585, 0.6504)>
|
||||
UV <Vector (0.1806, 0.5880)>
|
||||
Face 26
|
||||
UV Count: 3
|
||||
UV <Vector (0.2253, 0.5880)>
|
||||
UV <Vector (0.1585, 0.5257)>
|
||||
UV <Vector (0.1928, 0.4962)>
|
||||
Face 27
|
||||
UV Count: 3
|
||||
UV <Vector (0.1928, 0.4962)>
|
||||
UV <Vector (0.0922, 0.4772)>
|
||||
UV <Vector (0.0951, 0.4248)>
|
||||
Face 28
|
||||
UV Count: 3
|
||||
UV <Vector (0.8669, 0.0523)>
|
||||
UV <Vector (0.9675, 0.0714)>
|
||||
UV <Vector (0.9332, 0.1008)>
|
||||
Face 29
|
||||
UV Count: 3
|
||||
UV <Vector (0.9332, 0.1008)>
|
||||
UV <Vector (1.0000, 0.1631)>
|
||||
UV <Vector (0.9553, 0.1632)>
|
||||
Face 30
|
||||
UV Count: 3
|
||||
UV <Vector (0.9332, 0.2255)>
|
||||
UV <Vector (1.0000, 0.1631)>
|
||||
UV <Vector (0.9675, 0.2549)>
|
||||
Face 31
|
||||
UV Count: 3
|
||||
UV <Vector (0.8669, 0.2740)>
|
||||
UV <Vector (0.9675, 0.2549)>
|
||||
UV <Vector (0.8699, 0.3263)>
|
||||
Face 32
|
||||
UV Count: 3
|
||||
UV <Vector (0.3874, -0.0000)>
|
||||
UV <Vector (0.0000, 0.3925)>
|
||||
UV <Vector (0.0000, 0.0314)>
|
||||
Face 33
|
||||
UV Count: 3
|
||||
UV <Vector (0.7747, 0.3263)>
|
||||
UV <Vector (0.9090, 0.7207)>
|
||||
UV <Vector (0.7747, 0.7207)>
|
||||
Face 34
|
||||
UV Count: 3
|
||||
UV <Vector (0.3874, 0.0323)>
|
||||
UV <Vector (0.7747, 0.4248)>
|
||||
UV <Vector (0.3874, 0.3934)>
|
||||
Face 35
|
||||
UV Count: 3
|
||||
UV <Vector (0.6404, 0.4248)>
|
||||
UV <Vector (0.7747, 0.8192)>
|
||||
UV <Vector (0.6404, 0.8192)>
|
||||
Face 36
|
||||
UV Count: 3
|
||||
UV <Vector (0.5062, 0.7860)>
|
||||
UV <Vector (0.6404, 0.4248)>
|
||||
UV <Vector (0.6404, 0.7860)>
|
||||
Face 37
|
||||
UV Count: 3
|
||||
UV <Vector (0.2253, 0.8497)>
|
||||
UV <Vector (0.3596, 0.4248)>
|
||||
UV <Vector (0.3596, 0.8497)>
|
||||
Face 38
|
||||
UV Count: 3
|
||||
UV <Vector (0.8193, 0.8359)>
|
||||
UV <Vector (0.8638, 0.8372)>
|
||||
UV <Vector (0.8638, 0.9308)>
|
||||
Face 39
|
||||
UV Count: 3
|
||||
UV <Vector (0.8699, 0.0000)>
|
||||
UV <Vector (0.8669, 0.0523)>
|
||||
UV <Vector (0.7747, 0.0523)>
|
||||
Face 40
|
||||
UV Count: 3
|
||||
UV <Vector (0.3621, 0.6569)>
|
||||
UV <Vector (0.4171, 0.6569)>
|
||||
UV <Vector (0.4171, 0.7504)>
|
||||
Face 41
|
||||
UV Count: 3
|
||||
UV <Vector (0.0922, 0.6989)>
|
||||
UV <Vector (0.0952, 0.7512)>
|
||||
UV <Vector (0.0030, 0.7512)>
|
||||
Face 42
|
||||
UV Count: 3
|
||||
UV <Vector (0.7747, 0.8372)>
|
||||
UV <Vector (0.8193, 0.8359)>
|
||||
UV <Vector (0.8193, 0.9294)>
|
||||
Face 43
|
||||
UV Count: 3
|
||||
UV <Vector (0.1370, 0.8402)>
|
||||
UV <Vector (0.0847, 0.8232)>
|
||||
UV <Vector (0.1694, 0.7957)>
|
||||
Face 44
|
||||
UV Count: 3
|
||||
UV <Vector (0.0847, 0.8232)>
|
||||
UV <Vector (0.0847, 0.7682)>
|
||||
UV <Vector (0.1694, 0.7957)>
|
||||
Face 45
|
||||
UV Count: 3
|
||||
UV <Vector (0.8669, 0.2740)>
|
||||
UV <Vector (0.8699, 0.3263)>
|
||||
UV <Vector (0.7777, 0.3263)>
|
||||
Face 46
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.7614)>
|
||||
UV <Vector (0.4616, 0.7601)>
|
||||
UV <Vector (0.4616, 0.8536)>
|
||||
Face 47
|
||||
UV Count: 3
|
||||
UV <Vector (0.4616, 0.7601)>
|
||||
UV <Vector (0.5062, 0.7614)>
|
||||
UV <Vector (0.5062, 0.8549)>
|
||||
Face 48
|
||||
UV Count: 3
|
||||
UV <Vector (0.0951, 0.4248)>
|
||||
UV <Vector (0.0922, 0.4772)>
|
||||
UV <Vector (0.0000, 0.4772)>
|
||||
Face 49
|
||||
UV Count: 3
|
||||
UV <Vector (0.3621, 0.4941)>
|
||||
UV <Vector (0.4171, 0.4941)>
|
||||
UV <Vector (0.4171, 0.5876)>
|
||||
Face 50
|
||||
UV Count: 3
|
||||
UV <Vector (0.0323, 0.8402)>
|
||||
UV <Vector (-0.0000, 0.7957)>
|
||||
UV <Vector (0.0323, 0.7512)>
|
||||
Face 51
|
||||
UV Count: 3
|
||||
UV <Vector (0.0323, 0.7512)>
|
||||
UV <Vector (0.0847, 0.7682)>
|
||||
UV <Vector (0.0847, 0.8232)>
|
||||
Face 52
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.6569)>
|
||||
UV <Vector (0.3621, 0.6569)>
|
||||
UV <Vector (0.3621, 0.5877)>
|
||||
Face 53
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.8751)>
|
||||
UV <Vector (0.3621, 0.8751)>
|
||||
UV <Vector (0.3621, 0.8128)>
|
||||
Face 54
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.8128)>
|
||||
UV <Vector (0.3621, 0.8128)>
|
||||
UV <Vector (0.3621, 0.7504)>
|
||||
Face 55
|
||||
UV Count: 3
|
||||
UV <Vector (0.3621, 0.4248)>
|
||||
UV <Vector (0.4171, 0.4248)>
|
||||
UV <Vector (0.4171, 0.4941)>
|
||||
Face 56
|
||||
UV Count: 3
|
||||
UV <Vector (0.7747, 0.8372)>
|
||||
UV <Vector (0.7747, 0.7411)>
|
||||
UV <Vector (0.8193, 0.7207)>
|
||||
Face 57
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.6266)>
|
||||
UV <Vector (0.4171, 0.5348)>
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
Face 58
|
||||
UV Count: 3
|
||||
UV <Vector (0.4171, 0.4430)>
|
||||
UV <Vector (0.4617, 0.4248)>
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
Face 59
|
||||
UV Count: 3
|
||||
UV <Vector (0.5062, 0.7614)>
|
||||
UV <Vector (0.4616, 0.7601)>
|
||||
UV <Vector (0.4616, 0.6448)>
|
||||
Face 60
|
||||
UV Count: 3
|
||||
UV <Vector (0.8193, 0.7207)>
|
||||
UV <Vector (0.8638, 0.7411)>
|
||||
UV <Vector (0.8638, 0.8372)>
|
||||
Face 61
|
||||
UV Count: 3
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
UV <Vector (0.5062, 0.5348)>
|
||||
UV <Vector (0.5062, 0.6266)>
|
||||
Face 62
|
||||
UV Count: 3
|
||||
UV <Vector (0.4617, 0.5348)>
|
||||
UV <Vector (0.4617, 0.4248)>
|
||||
UV <Vector (0.5062, 0.4431)>
|
||||
Face 63
|
||||
UV Count: 3
|
||||
UV <Vector (0.4616, 0.6448)>
|
||||
UV <Vector (0.4616, 0.7601)>
|
||||
UV <Vector (0.4171, 0.7614)>
|
||||
Face 64
|
||||
UV Count: 3
|
||||
UV <Vector (0.1928, 0.6798)>
|
||||
UV <Vector (0.0952, 0.7512)>
|
||||
UV <Vector (0.0922, 0.6989)>
|
||||
Face 65
|
||||
UV Count: 3
|
||||
UV <Vector (0.2253, 0.5880)>
|
||||
UV <Vector (0.1928, 0.6798)>
|
||||
UV <Vector (0.1585, 0.6504)>
|
||||
Face 66
|
||||
UV Count: 3
|
||||
UV <Vector (0.2253, 0.5880)>
|
||||
UV <Vector (0.1806, 0.5880)>
|
||||
UV <Vector (0.1585, 0.5257)>
|
||||
Face 67
|
||||
UV Count: 3
|
||||
UV <Vector (0.1928, 0.4962)>
|
||||
UV <Vector (0.1585, 0.5257)>
|
||||
UV <Vector (0.0922, 0.4772)>
|
||||
Face 68
|
||||
UV Count: 3
|
||||
UV <Vector (0.8669, 0.0523)>
|
||||
UV <Vector (0.8699, 0.0000)>
|
||||
UV <Vector (0.9675, 0.0714)>
|
||||
Face 69
|
||||
UV Count: 3
|
||||
UV <Vector (0.9332, 0.1008)>
|
||||
UV <Vector (0.9675, 0.0714)>
|
||||
UV <Vector (1.0000, 0.1631)>
|
||||
Face 70
|
||||
UV Count: 3
|
||||
UV <Vector (0.9332, 0.2255)>
|
||||
UV <Vector (0.9553, 0.1632)>
|
||||
UV <Vector (1.0000, 0.1631)>
|
||||
Face 71
|
||||
UV Count: 3
|
||||
UV <Vector (0.8669, 0.2740)>
|
||||
UV <Vector (0.9332, 0.2255)>
|
||||
UV <Vector (0.9675, 0.2549)>
|
||||
Face 72
|
||||
UV Count: 3
|
||||
UV <Vector (0.3874, -0.0000)>
|
||||
UV <Vector (0.3874, 0.4248)>
|
||||
UV <Vector (0.0000, 0.3925)>
|
||||
Face 73
|
||||
UV Count: 3
|
||||
UV <Vector (0.7747, 0.3263)>
|
||||
UV <Vector (0.9090, 0.3263)>
|
||||
UV <Vector (0.9090, 0.7207)>
|
||||
Face 74
|
||||
UV Count: 3
|
||||
UV <Vector (0.3874, 0.0323)>
|
||||
UV <Vector (0.7747, 0.0000)>
|
||||
UV <Vector (0.7747, 0.4248)>
|
||||
Face 75
|
||||
UV Count: 3
|
||||
UV <Vector (0.6404, 0.4248)>
|
||||
UV <Vector (0.7747, 0.4248)>
|
||||
UV <Vector (0.7747, 0.8192)>
|
||||
Face 76
|
||||
UV Count: 3
|
||||
UV <Vector (0.5062, 0.7860)>
|
||||
UV <Vector (0.5062, 0.4248)>
|
||||
UV <Vector (0.6404, 0.4248)>
|
||||
Face 77
|
||||
UV Count: 3
|
||||
UV <Vector (0.2253, 0.8497)>
|
||||
UV <Vector (0.2253, 0.4248)>
|
||||
UV <Vector (0.3596, 0.4248)>
|
||||
===Normals:
|
||||
Vertex 0: Normal <Vector (0.0000, 0.8032, -0.5957)>
|
||||
Vertex 1: Normal <Vector (-0.0000, 0.9606, 0.2778)>
|
||||
Vertex 2: Normal <Vector (0.7639, 0.2482, -0.5957)>
|
||||
Vertex 3: Normal <Vector (0.9084, 0.3867, 0.1591)>
|
||||
Vertex 4: Normal <Vector (0.4721, -0.6498, -0.5957)>
|
||||
Vertex 5: Normal <Vector (0.6386, -0.7267, -0.2531)>
|
||||
Vertex 6: Normal <Vector (-0.4721, -0.6498, -0.5957)>
|
||||
Vertex 7: Normal <Vector (-0.6386, -0.7267, -0.2531)>
|
||||
Vertex 8: Normal <Vector (-0.7639, 0.2482, -0.5957)>
|
||||
Vertex 9: Normal <Vector (-0.9084, 0.3867, 0.1591)>
|
||||
Vertex 10: Normal <Vector (0.4718, 0.6501, -0.5957)>
|
||||
Vertex 11: Normal <Vector (0.6381, 0.7271, -0.2533)>
|
||||
Vertex 12: Normal <Vector (0.7640, -0.2478, -0.5957)>
|
||||
Vertex 13: Normal <Vector (0.9086, -0.3863, 0.1590)>
|
||||
Vertex 14: Normal <Vector (0.0004, -0.8032, -0.5957)>
|
||||
Vertex 15: Normal <Vector (0.0005, -0.9606, 0.2778)>
|
||||
Vertex 16: Normal <Vector (-0.7638, -0.2486, -0.5957)>
|
||||
Vertex 17: Normal <Vector (-0.9082, -0.3872, 0.1592)>
|
||||
Vertex 18: Normal <Vector (-0.4725, 0.6496, -0.5957)>
|
||||
Vertex 19: Normal <Vector (-0.6390, 0.7264, -0.2530)>
|
||||
Vertex 20: Normal <Vector (-0.6177, -0.4688, -0.6314)>
|
||||
Vertex 21: Normal <Vector (-0.6246, 0.0001, -0.7809)>
|
||||
Vertex 22: Normal <Vector (-0.6180, 0.4687, -0.6312)>
|
||||
Vertex 23: Normal <Vector (0.6175, -0.4689, -0.6315)>
|
||||
Vertex 24: Normal <Vector (0.6242, -0.0001, -0.7813)>
|
||||
Vertex 25: Normal <Vector (0.6173, 0.4690, -0.6317)>
|
||||
Vertex 26: Normal <Vector (-0.9056, 0.2472, 0.3447)>
|
||||
Vertex 27: Normal <Vector (-0.8986, -0.0000, 0.4387)>
|
||||
Vertex 28: Normal <Vector (-0.9055, -0.2474, 0.3449)>
|
||||
Vertex 29: Normal <Vector (0.0001, 0.6089, 0.7932)>
|
||||
Vertex 30: Normal <Vector (0.0002, -0.0000, 1.0000)>
|
||||
Vertex 31: Normal <Vector (0.0004, -0.6089, 0.7932)>
|
||||
Vertex 32: Normal <Vector (0.9057, 0.2471, 0.3445)>
|
||||
Vertex 33: Normal <Vector (0.8989, 0.0000, 0.4382)>
|
||||
Vertex 34: Normal <Vector (0.9058, -0.2469, 0.3443)>
|
||||
Vertex 35: Normal <Vector (-0.5817, -0.5518, -0.5976)>
|
||||
Vertex 36: Normal <Vector (-0.5733, -0.6020, 0.5558)>
|
||||
Vertex 37: Normal <Vector (-0.5818, 0.5511, -0.5982)>
|
||||
Vertex 38: Normal <Vector (-0.5732, 0.6027, 0.5552)>
|
||||
Vertex 39: Normal <Vector (0.5816, -0.5518, -0.5976)>
|
||||
Vertex 40: Normal <Vector (0.5733, -0.6020, 0.5558)>
|
||||
Vertex 41: Normal <Vector (0.5818, 0.5511, -0.5982)>
|
||||
Vertex 42: Normal <Vector (0.5732, 0.6027, 0.5552)>
|
||||
===Triangles: 78
|
||||
Triangle: [1, 2, 0]
|
||||
Triangle: [3, 4, 2]
|
||||
Triangle: [5, 6, 4]
|
||||
Triangle: [7, 8, 6]
|
||||
Triangle: [9, 0, 8]
|
||||
Triangle: [2, 4, 6]
|
||||
Triangle: [11, 12, 10]
|
||||
Triangle: [13, 14, 12]
|
||||
Triangle: [15, 16, 14]
|
||||
Triangle: [17, 18, 16]
|
||||
Triangle: [19, 10, 18]
|
||||
Triangle: [12, 16, 18]
|
||||
Triangle: [7, 23, 20]
|
||||
Triangle: [20, 24, 21]
|
||||
Triangle: [21, 25, 22]
|
||||
Triangle: [22, 11, 19]
|
||||
Triangle: [9, 29, 1]
|
||||
Triangle: [26, 30, 29]
|
||||
Triangle: [28, 30, 27]
|
||||
Triangle: [17, 31, 28]
|
||||
Triangle: [29, 3, 1]
|
||||
Triangle: [30, 32, 29]
|
||||
Triangle: [30, 34, 33]
|
||||
Triangle: [31, 13, 34]
|
||||
Triangle: [26, 7, 20]
|
||||
Triangle: [27, 20, 21]
|
||||
Triangle: [27, 22, 28]
|
||||
Triangle: [28, 19, 17]
|
||||
Triangle: [5, 32, 23]
|
||||
Triangle: [23, 33, 24]
|
||||
Triangle: [25, 33, 34]
|
||||
Triangle: [11, 34, 13]
|
||||
Triangle: [36, 37, 35]
|
||||
Triangle: [38, 41, 37]
|
||||
Triangle: [41, 40, 39]
|
||||
Triangle: [40, 35, 39]
|
||||
Triangle: [41, 35, 37]
|
||||
Triangle: [38, 40, 42]
|
||||
Triangle: [1, 3, 2]
|
||||
Triangle: [3, 5, 4]
|
||||
Triangle: [5, 7, 6]
|
||||
Triangle: [7, 9, 8]
|
||||
Triangle: [9, 1, 0]
|
||||
Triangle: [8, 0, 6]
|
||||
Triangle: [0, 2, 6]
|
||||
Triangle: [11, 13, 12]
|
||||
Triangle: [13, 15, 14]
|
||||
Triangle: [15, 17, 16]
|
||||
Triangle: [17, 19, 18]
|
||||
Triangle: [19, 11, 10]
|
||||
Triangle: [18, 10, 12]
|
||||
Triangle: [12, 14, 16]
|
||||
Triangle: [7, 5, 23]
|
||||
Triangle: [20, 23, 24]
|
||||
Triangle: [21, 24, 25]
|
||||
Triangle: [22, 25, 11]
|
||||
Triangle: [9, 26, 29]
|
||||
Triangle: [26, 27, 30]
|
||||
Triangle: [28, 31, 30]
|
||||
Triangle: [17, 15, 31]
|
||||
Triangle: [29, 32, 3]
|
||||
Triangle: [30, 33, 32]
|
||||
Triangle: [30, 31, 34]
|
||||
Triangle: [31, 15, 13]
|
||||
Triangle: [26, 9, 7]
|
||||
Triangle: [27, 26, 20]
|
||||
Triangle: [27, 21, 22]
|
||||
Triangle: [28, 22, 19]
|
||||
Triangle: [5, 3, 32]
|
||||
Triangle: [23, 32, 33]
|
||||
Triangle: [25, 24, 33]
|
||||
Triangle: [11, 25, 34]
|
||||
Triangle: [36, 38, 37]
|
||||
Triangle: [38, 42, 41]
|
||||
Triangle: [41, 42, 40]
|
||||
Triangle: [40, 36, 35]
|
||||
Triangle: [41, 39, 35]
|
||||
Triangle: [38, 36, 40]
|
||||
4
main.cpp
@ -22,7 +22,7 @@ int main(int argc, char* argv[]) {
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
|
||||
|
||||
SDL_Window* win = SDL_CreateWindow("Jumping Bird",
|
||||
SDL_Window* win = SDL_CreateWindow("Space Ship Game",
|
||||
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
|
||||
CONST_WIDTH, CONST_HEIGHT,
|
||||
SDL_WINDOW_OPENGL);
|
||||
@ -53,7 +53,7 @@ int main(int argc, char* argv[]) {
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||
|
||||
ZL::Environment::window = SDL_CreateWindow(
|
||||
"INAI game",
|
||||
"Space Ship Game",
|
||||
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
|
||||
CONST_WIDTH, CONST_HEIGHT,
|
||||
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 948 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
@ -1,40 +0,0 @@
|
||||
// animation config file
|
||||
|
||||
sex m
|
||||
|
||||
// first frame, num frames, looping frames, frames per second
|
||||
|
||||
0 30 0 20 // BOTH_DEATH1
|
||||
29 1 0 20 // BOTH_DEAD1
|
||||
30 30 0 20 // BOTH_DEATH2
|
||||
59 1 0 20 // BOTH_DEAD2
|
||||
60 30 0 20 // BOTH_DEATH3
|
||||
89 1 0 20 // BOTH_DEAD3
|
||||
|
||||
90 40 0 18 // TORSO_GESTURE
|
||||
|
||||
130 6 0 15 // TORSO_ATTACK (MUST NOT CHANGE -- hand animation is synced to this)
|
||||
136 6 0 15 // TORSO_ATTACK2 (MUST NOT CHANGE -- hand animation is synced to this)
|
||||
|
||||
142 5 0 20 // TORSO_DROP (MUST NOT CHANGE -- hand animation is synced to this)
|
||||
147 4 0 20 // TORSO_RAISE (MUST NOT CHANGE -- hand animation is synced to this)
|
||||
|
||||
151 1 0 15 // TORSO_STAND
|
||||
152 1 0 15 // TORSO_STAND2
|
||||
|
||||
153 8 8 20 // LEGS_WALKCR
|
||||
161 12 12 20 // LEGS_WALK
|
||||
173 11 11 21 // LEGS_RUN
|
||||
184 10 10 20 // LEGS_BACK
|
||||
194 10 10 15 // LEGS_SWIM
|
||||
|
||||
204 10 0 18 // LEGS_JUMP
|
||||
214 6 0 20 // LEGS_LAND
|
||||
|
||||
220 8 0 15 // LEGS_JUMPB
|
||||
228 1 0 15 // LEGS_LANDB
|
||||
|
||||
229 10 10 15 // LEGS_IDLE
|
||||
239 8 8 15 // LEGS_IDLECR
|
||||
|
||||
247 7 7 15 // LEGS_TURN
|
||||
|
Before Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 192 KiB |