mirror of
https://github.com/Relintai/sfw.git
synced 2025-01-30 22:59:17 +01:00
Fixed building with MSVC. Also fixed a few other smaller issues.
This commit is contained in:
parent
f015c42b12
commit
57a84028de
3
.gitignore
vendored
3
.gitignore
vendored
@ -27,7 +27,10 @@ libs/
|
||||
compile_commands.json
|
||||
|
||||
*.o
|
||||
*.obj
|
||||
|
||||
game
|
||||
game.exe
|
||||
game-vc.*
|
||||
vc140.pdb
|
||||
|
||||
|
@ -41,7 +41,7 @@ ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/core/dir_access.cpp -o sfw/core/di
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/core/pool_vector.cpp -o sfw/core/pool_vector.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/core/pool_allocator.cpp -o sfw/core/pool_allocator.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/core/mutex.cpp -o sfw/core/mutex.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/core/sfw_time.cpp -o sfw/core/SFWTime.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/core/sfw_time.cpp -o sfw/core/sfw_time.o
|
||||
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/core/sfw_core.cpp -o sfw/core/sfw_core.o
|
||||
|
||||
@ -58,7 +58,7 @@ ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/object/resource.cpp -o sfw/object/
|
||||
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/render_core/application.cpp -o sfw/render_core/application.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/render_core/scene.cpp -o sfw/render_core/scene.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/render_core/app_window.cpp -o sfw/render_core/window.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/render_core/app_window.cpp -o sfw/render_core/app_window.o
|
||||
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/render_core/shader.cpp -o sfw/render_core/shader.o
|
||||
ccache g++ -Wall -D_REENTRANT -g -Isfw -c sfw/render_core/material.cpp -o sfw/render_core/material.o
|
||||
@ -106,7 +106,7 @@ ccache g++ -Wall -lm -ldl -lpthread -lX11 -D_REENTRANT -g sfw/core/aabb.o sfw/c
|
||||
sfw/core/ustring.o sfw/core/string_name.o \
|
||||
sfw/core/vector2.o sfw/core/vector2i.o sfw/core/vector3.o \
|
||||
sfw/core/vector3i.o sfw/core/vector4.o sfw/core/vector4i.o \
|
||||
sfw/core/pool_vector.o sfw/core/pool_allocator.o sfw/core/mutex.o sfw/core/SFWTime.o \
|
||||
sfw/core/pool_vector.o sfw/core/pool_allocator.o sfw/core/mutex.o sfw/core/sfw_time.o \
|
||||
sfw/core/dir_access.o sfw/core/file_access.o \
|
||||
sfw/core/sfw_core.o \
|
||||
sfw/object/object.o sfw/object/reference.o sfw/object/core_string_names.o \
|
||||
@ -114,7 +114,7 @@ ccache g++ -Wall -lm -ldl -lpthread -lX11 -D_REENTRANT -g sfw/core/aabb.o sfw/c
|
||||
sfw/object/array.o sfw/object/dictionary.o sfw/object/ref_ptr.o \
|
||||
sfw/object/resource.o \
|
||||
sfw/render_core/image.o sfw/render_core/render_state.o \
|
||||
sfw/render_core/application.o sfw/render_core/scene.o sfw/render_core/window.o \
|
||||
sfw/render_core/application.o sfw/render_core/scene.o sfw/render_core/app_window.o \
|
||||
sfw/render_core/shader.o sfw/render_core/material.o sfw/render_core/mesh.o \
|
||||
sfw/render_core/mesh_utils.o sfw/render_core/texture.o \
|
||||
sfw/render_core/input_event.o sfw/render_core/input_map.o \
|
||||
|
151
compile_vs.bat
Normal file
151
compile_vs.bat
Normal file
@ -0,0 +1,151 @@
|
||||
@echo off
|
||||
|
||||
if not defined DevEnvDir (
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
|
||||
)
|
||||
|
||||
rem debug: /Zi (== -g)
|
||||
|
||||
rem TODO reentrant is probably not needed
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/aabb.cpp /Fo:sfw/core/aabb.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/basis.cpp /Fo:sfw/core/basis.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/color.cpp /Fo:sfw/core/color.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/face3.cpp /Fo:sfw/core/face3.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/logger.cpp /Fo:sfw/core/logger.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/math_funcs.cpp /Fo:sfw/core/math_funcs.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/memory.cpp /Fo:sfw/core/memory.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/pcg.cpp /Fo:sfw/core/pcg.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/plane.cpp /Fo:sfw/core/plane.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/projection.cpp /Fo:sfw/core/projection.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/quaternion.cpp /Fo:sfw/core/quaternion.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/random_pcg.cpp /Fo:sfw/core/random_pcg.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/rect2.cpp /Fo:sfw/core/rect2.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/rect2i.cpp /Fo:sfw/core/rect2i.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/safe_refcount.cpp /Fo:sfw/core/safe_refcount.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/transform_2d.cpp /Fo:sfw/core/transform_2d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/transform.cpp /Fo:sfw/core/transform.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/ustring.cpp /Fo:sfw/core/ustring.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/string_name.cpp /Fo:sfw/core/string_name.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/vector2.cpp /Fo:sfw/core/vector2.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/vector2i.cpp /Fo:sfw/core/vector2i.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/vector3.cpp /Fo:sfw/core/vector3.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/vector3i.cpp /Fo:sfw/core/vector3i.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/vector4.cpp /Fo:sfw/core/vector4.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/vector4i.cpp /Fo:sfw/core/vector4i.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/file_access.cpp /Fo:sfw/core/file_access.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/dir_access.cpp /Fo:sfw/core/dir_access.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/pool_vector.cpp /Fo:sfw/core/pool_vector.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/pool_allocator.cpp /Fo:sfw/core/pool_allocator.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/mutex.cpp /Fo:sfw/core/mutex.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/sfw_time.cpp /Fo:sfw/core/sfw_time.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/core/sfw_core.cpp /Fo:sfw/core/sfw_core.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/object.cpp /Fo:sfw/object/object.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/reference.cpp /Fo:sfw/object/reference.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/core_string_names.cpp /Fo:sfw/object/core_string_names.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/variant.cpp /Fo:sfw/object/variant.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/variant_op.cpp /Fo:sfw/object/variant_op.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/psignal.cpp /Fo:sfw/object/psignal.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/array.cpp /Fo:sfw/object/array.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/dictionary.cpp /Fo:sfw/object/dictionary.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/ref_ptr.cpp /Fo:sfw/object/ref_ptr.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/object/resource.cpp /Fo:sfw/object/resource.obj
|
||||
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/application.cpp /Fo:sfw/render_core/application.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/scene.cpp /Fo:sfw/render_core/scene.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/app_window.cpp /Fo:sfw/render_core/app_window.obj
|
||||
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/shader.cpp /Fo:sfw/render_core/shader.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/material.cpp /Fo:sfw/render_core/material.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/mesh.cpp /Fo:sfw/render_core/mesh.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/mesh_utils.cpp /Fo:sfw/render_core/mesh_utils.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/texture.cpp /Fo:sfw/render_core/texture.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/image.cpp /Fo:sfw/render_core/image.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/render_state.cpp /Fo:sfw/render_core/render_state.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/keyboard.cpp /Fo:sfw/render_core/keyboard.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/input_event.cpp /Fo:sfw/render_core/input_event.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/input_map.cpp /Fo:sfw/render_core/input_map.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/input.cpp /Fo:sfw/render_core/input.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/shortcut.cpp /Fo:sfw/render_core/shortcut.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/font.cpp /Fo:sfw/render_core/font.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/color_material_2d.cpp /Fo:sfw/render_core/color_material_2d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/color_material.cpp /Fo:sfw/render_core/color_material.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/colored_material.cpp /Fo:sfw/render_core/colored_material.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/font_material.cpp /Fo:sfw/render_core/font_material.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/texture_material_2d.cpp /Fo:sfw/render_core/texture_material_2d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/texture_material.cpp /Fo:sfw/render_core/texture_material.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_core/transparent_texture_material.cpp /Fo:sfw/render_core/transparent_texture_material.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_immediate/renderer.cpp /Fo:sfw/render_immediate/renderer.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/camera_3d.cpp /Fo:sfw/render_objects/camera_3d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/object_3d.cpp /Fo:sfw/render_objects/object_3d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/mesh_instance_3d.cpp /Fo:sfw/render_objects/mesh_instance_3d.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/camera_2d.cpp /Fo:sfw/render_objects/camera_2d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/mesh_instance_2d.cpp /Fo:sfw/render_objects/mesh_instance_2d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/object_2d.cpp /Fo:sfw/render_objects/object_2d.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/sprite.cpp /Fo:sfw/render_objects/sprite.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/tile_map.cpp /Fo:sfw/render_objects/tile_map.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/render_objects/text_2d.cpp /Fo:sfw/render_objects/text_2d.obj
|
||||
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/game_scene.cpp /Fo:sfw/game_scene.obj
|
||||
cl /D_REENTRANT /EHsc /Zi /Isfw /c sfw/main.cpp /Fo:sfw/main.obj
|
||||
|
||||
|
||||
|
||||
|
||||
rem cl main.cpp shader.cpp material.cpp mesh.cpp mesh_instance.cpp mesh_utils.cpp texture.cpp camera.cpp application.cpp scene.cpp game_scene.cpp object_2d.cpp tile_map.cpp sprite.cpp ^
|
||||
rem libs\glad\src\glad.c /Febin/game-vc.exe ^
|
||||
rem /EHsc ^
|
||||
rem /Ilibs\SDL2-VC\include ^
|
||||
rem /Ilibs\glad\include ^
|
||||
rem /link /LIBPATH:libs\SDL2-VC\lib SDL2.lib SDL2main.lib opengl32.lib ^
|
||||
rem /SUBSYSTEM:CONSOLE
|
||||
|
||||
|
||||
|
||||
|
||||
cl /D_REENTRANT /Zi ^
|
||||
/EHsc ^
|
||||
/Fegame-vc.exe ^
|
||||
sfw/core/aabb.obj sfw/core/basis.obj sfw/core/color.obj ^
|
||||
sfw/core/face3.obj sfw/core/logger.obj sfw/core/math_funcs.obj ^
|
||||
sfw/core/memory.obj sfw/core/pcg.obj sfw/core/plane.obj sfw/core/projection.obj sfw/core/quaternion.obj sfw/core/random_pcg.obj ^
|
||||
sfw/core/rect2.obj sfw/core/rect2i.obj sfw/core/safe_refcount.obj sfw/core/transform_2d.obj sfw/core/transform.obj ^
|
||||
sfw/core/ustring.obj sfw/core/string_name.obj ^
|
||||
sfw/core/vector2.obj sfw/core/vector2i.obj sfw/core/vector3.obj ^
|
||||
sfw/core/vector3i.obj sfw/core/vector4.obj sfw/core/vector4i.obj ^
|
||||
sfw/core/pool_vector.obj sfw/core/pool_allocator.obj sfw/core/mutex.obj sfw/core/sfw_time.obj ^
|
||||
sfw/core/dir_access.obj sfw/core/file_access.obj ^
|
||||
sfw/core/sfw_core.obj ^
|
||||
sfw/object/object.obj sfw/object/reference.obj sfw/object/core_string_names.obj ^
|
||||
sfw/object/variant.obj sfw/object/variant_op.obj sfw/object/psignal.obj ^
|
||||
sfw/object/array.obj sfw/object/dictionary.obj sfw/object/ref_ptr.obj ^
|
||||
sfw/object/resource.obj ^
|
||||
sfw/render_core/image.obj sfw/render_core/render_state.obj ^
|
||||
sfw/render_core/application.obj sfw/render_core/scene.obj sfw/render_core/app_window.obj ^
|
||||
sfw/render_core/shader.obj sfw/render_core/material.obj sfw/render_core/mesh.obj ^
|
||||
sfw/render_core/mesh_utils.obj sfw/render_core/texture.obj ^
|
||||
sfw/render_core/input_event.obj sfw/render_core/input_map.obj ^
|
||||
sfw/render_core/input.obj sfw/render_core/shortcut.obj ^
|
||||
sfw/render_core/keyboard.obj sfw/render_core/font.obj ^
|
||||
sfw/render_core/color_material_2d.obj sfw/render_core/color_material.obj ^
|
||||
sfw/render_core/colored_material.obj sfw/render_core/font_material.obj ^
|
||||
sfw/render_core/texture_material_2d.obj sfw/render_core/texture_material.obj ^
|
||||
sfw/render_core/transparent_texture_material.obj ^
|
||||
sfw/render_immediate/renderer.obj ^
|
||||
sfw/render_objects/camera_3d.obj sfw/render_objects/object_3d.obj sfw/render_objects/mesh_instance_3d.obj ^
|
||||
sfw/render_objects/object_2d.obj ^
|
||||
sfw/render_objects/sprite.obj sfw/render_objects/tile_map.obj ^
|
||||
sfw/render_objects/camera_2d.obj sfw/render_objects/mesh_instance_2d.obj ^
|
||||
sfw/render_objects/text_2d.obj ^
|
||||
sfw/game_scene.obj sfw/main.obj ^
|
||||
/SUBSYSTEM:CONSOLE
|
@ -45,6 +45,10 @@
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma comment(lib, "Shlwapi")
|
||||
#endif
|
||||
|
||||
#if defined(_WIN64) || defined(_WIN32)
|
||||
|
||||
bool DirAccess::is_link(String p_file) {
|
||||
|
@ -249,7 +249,7 @@ _FORCE_INLINE_ void _RLOG_MACRO_TEMPLATE_FUNC(STR str, A p0, B p1, C p2, D p3, E
|
||||
RLogger::log_error(__FUNCTION__, __FILE__, __LINE__, msg); \
|
||||
GENERATE_TRAP
|
||||
|
||||
#define CRASH_NOW(msg) \
|
||||
#define CRASH_NOW() \
|
||||
RLogger::log_error(__FUNCTION__, __FILE__, __LINE__, "CRASH!"); \
|
||||
GENERATE_TRAP
|
||||
|
||||
|
@ -23,15 +23,15 @@ void *operator new(size_t p_size, void *(*p_allocfunc)(size_t p_size)) {
|
||||
|
||||
#ifdef _MSC_VER
|
||||
void operator delete(void *p_mem, const char *p_description) {
|
||||
CRASH_NOW_MSG("Call to placement delete should not happen.");
|
||||
CRASH_MSG("Call to placement delete should not happen.");
|
||||
}
|
||||
|
||||
void operator delete(void *p_mem, void *(*p_allocfunc)(size_t p_size)) {
|
||||
CRASH_NOW_MSG("Call to placement delete should not happen.");
|
||||
CRASH_MSG("Call to placement delete should not happen.");
|
||||
}
|
||||
|
||||
void operator delete(void *p_mem, void *p_pointer, size_t check, const char *p_description) {
|
||||
CRASH_NOW_MSG("Call to placement delete should not happen.");
|
||||
CRASH_MSG("Call to placement delete should not happen.");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -4,9 +4,7 @@
|
||||
//--STRIP
|
||||
#include "core/sfw_time.h"
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <ctime>
|
||||
//--STRIP
|
||||
|
||||
@ -14,6 +12,9 @@
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <winnt.h>
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
@ -120,8 +121,8 @@ static uint64_t nanotimer(uint64_t *out_freq) {
|
||||
}
|
||||
|
||||
uint64_t SFWTime::time_ns() {
|
||||
static __thread uint64_t epoch = 0;
|
||||
static __thread uint64_t freq = 0;
|
||||
static thread_local uint64_t epoch = 0;
|
||||
static thread_local uint64_t freq = 0;
|
||||
if (!freq) {
|
||||
epoch = nanotimer(&freq);
|
||||
}
|
||||
|
@ -13574,7 +13574,7 @@ static _GLFWinitconfig _glfwInitHints =
|
||||
|
||||
// Terminate the library
|
||||
//
|
||||
static void terminate(void)
|
||||
static void _glfw_terminate_(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -13775,7 +13775,7 @@ GLFWAPI int glfwInit(void)
|
||||
|
||||
if (!_glfwPlatformInit())
|
||||
{
|
||||
terminate();
|
||||
_glfw_terminate_();
|
||||
return GLFW_FALSE;
|
||||
}
|
||||
|
||||
@ -13783,7 +13783,7 @@ GLFWAPI int glfwInit(void)
|
||||
!_glfwPlatformCreateTls(&_glfw.errorSlot) ||
|
||||
!_glfwPlatformCreateTls(&_glfw.contextSlot))
|
||||
{
|
||||
terminate();
|
||||
_glfw_terminate_();
|
||||
return GLFW_FALSE;
|
||||
}
|
||||
|
||||
@ -13803,7 +13803,7 @@ GLFWAPI void glfwTerminate(void)
|
||||
if (!_glfw.initialized)
|
||||
return;
|
||||
|
||||
terminate();
|
||||
_glfw_terminate_();
|
||||
}
|
||||
|
||||
GLFWAPI void glfwInitHint(int hint, int value)
|
||||
|
@ -169,38 +169,36 @@ void AppWindow::window_hints(unsigned flags) {
|
||||
//glfwWindowHint( GLFW_COCOA_MENUBAR, GLFW_FALSE );
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
#if defined(__APPLE__)
|
||||
/* We need to explicitly ask for a 3.2 context on OS X */
|
||||
//glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // osx
|
||||
//glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); // osx, 2:#version150,3:330
|
||||
#else
|
||||
//according to the documentation, it must be GLFW_OPENGL_ANY_PROFILE.
|
||||
//glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_ANY_PROFILE);
|
||||
#elif defined(_WIN64) || defined(_WIN32)
|
||||
// Compute shaders need 4.5 otherwise. But...
|
||||
// According to the GLFW docs, the context version hint acts as a minimum version.
|
||||
// i.e, the context you actually get may be a higher or highest version (which is usually the case)
|
||||
//glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
|
||||
//glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);
|
||||
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
|
||||
//according to the documentation, it must be GLFW_OPENGL_ANY_PROFILE.
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_ANY_PROFILE);
|
||||
#else
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);
|
||||
glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_ES_API);
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); //osx
|
||||
#endif
|
||||
|
||||
//glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //osx+ems
|
||||
glfwWindowHint(GLFW_STENCIL_BITS, 8); //osx
|
||||
glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GL_TRUE);
|
||||
//according to the documentation, it must be GLFW_OPENGL_ANY_PROFILE.
|
||||
//glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_ANY_PROFILE);
|
||||
glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_ES_API);
|
||||
|
||||
/*
|
||||
#if defined(_WIN64) || defined(_WIN32)
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||
#else
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
|
||||
#endif
|
||||
*/
|
||||
|
||||
//glfwWindowHint( GLFW_RED_BITS, 8 );
|
||||
//glfwWindowHint( GLFW_GREEN_BITS, 8 );
|
||||
|
Loading…
Reference in New Issue
Block a user