17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-28 13:27:30 +01:00
Commit Graph

193 Commits

Author SHA1 Message Date
maj00r
14b2e6dc6f define WIN32 when not building with the MSVC driver
Only Platform/Windows-MSVC.cmake passes /DWIN32; neither Windows-GNU nor
the GNU branch of Windows-Clang does. Switching drivers silently took the
macro away from every translation unit, and third-party code that tests
the unprefixed WIN32 took its non-Windows path: FSR2 defined wcscpy_s as
wcscpy, which then failed against the SDK's own three-argument call. asio
reads the same macro.

Defined before any add_subdirectory so every target sees it.
2026-09-10 14:24:15 +02:00
maj00r
78c8961591 use clang's GNU driver on Windows, not clang-cl
CMake wires up C++20 module scanning for Clang only when the frontend
variant is GNU; for clang-cl it sets nothing and refuses to generate:
"the compiler does not provide a way to discover the import graph
dependencies". Not a missing tool, a hard gap - Compiler/Clang-CXX.cmake
guards the whole scandep block on the GNU variant.

clang++ on Windows still targets x86_64-pc-windows-msvc, so the ABI, the
SDK, the vcpkg packages and D3D12 are unchanged. CMake then takes the
GNU path and leaves MSVC false, which is what the /MD /Zi /O2 block wants
anyway; the version resource had to move to a WIN32 guard to survive.
2026-09-10 13:49:54 +02:00
maj00r
7daf200748 build Windows with clang-cl instead of MSVC
clang-cl keeps the MSVC ABI, so the Windows SDK, the vcpkg packages and
D3D12 all still link; only the front end changes. That front end is the
one whose module support has been giving way - global module fragment
merging and type completeness at a template's instantiation point.

Switches the job to Ninja, which is where CMake's module scanning is best
supported, with vcvars64 for the SDK paths. Ninja is single-config, so
the artifacts move from build/bin/<config>/ to build/bin/.

CMakeLists: the MSVC-only blocks tested CMAKE_CXX_COMPILER_ID, which
clang-cl reports as Clang, so the version resource, the icon and /utf-8
would have been dropped silently. They test MSVC now, which is true for
both. /MAP and /MP stay behind a real-MSVC check - the first is a
link.exe spelling, the second clang-cl rejects.
2026-09-10 13:35:35 +02:00
maj00r
7667d8d4d3 build betterRenderer against the modules
Verified locally now that Vulkan and DXC are installed: all 31 targets
compile. glm has to come from eu07.glm only - having it both as a plain
include and as an import made every overload ambiguous. nvrenderer.h is
self-sufficient, since register.cpp includes nothing else. Fixes the
vcpkg triplet, which was pinned to x64-windows.
2026-09-09 23:45:53 +02:00
maj00r
06f6c6035b let betterRenderer import the modules
The module file set moves to its own eu07_modules library: a target can
only consume C++20 modules by linking the target that owns them, and
betterRenderer is a separate add_library. Its project includes become
imports.

CXX_EXTENSIONS must match across the two - a BMI built with -std=c++20
is refused by a unit compiled with -std=gnu++20.
2026-09-09 23:30:34 +02:00
maj00r
ce5ee288ff fix the clang CI build
Every module unit now includes the standard headers it uses. Declarations
reaching a unit only through an imported module's global module fragment
are reachable but not visible, so ADL misses the free operators older
libstdc++ declares beside a type - reproduced on ubuntu 24.04 (libstdc++
13), where gl/vao.cpp could not compare vector iterators.

Also drops a stale editor/editorSettings.hpp from the MSVC source list,
which broke the Windows configure step, silences the deliberate
include-in-purview warning in the glm wrapper, and removes GCC support:
clang or MSVC only.
2026-09-09 22:52:28 +02:00
maj00r
f16b5deefb build with clang
Linux CI switches to clang 22; fixes what that exposed - export on
out-of-line member definitions, missing std includes, missing glm
imports. GCC 16 still builds.
2026-09-09 22:34:32 +02:00
maj00r
3f7960aad5 pch migration to modules [wip] 2026-09-09 20:35:26 +02:00
jakubg1
ba19db8715 Revert "Remove training card window"
This reverts commit 363b50c9c2.
2026-09-02 12:32:35 +02:00
jakubg1
363b50c9c2 Remove training card window
This was a leftover from attempts at modifying MaSzyna for professional simulators.
Interaction with this window could cause a crash.
2026-08-23 22:37:33 +02:00
Sebastian Krzyszkowiak
84b3de6088 cmake: Allow to disable date & git hash suffix in executable name 2026-06-29 23:32:38 +02:00
b0bb2c9c42 Fix autodetect python directory 2026-06-27 15:15:11 +02:00
16c94f8e19 Merge remote-tracking branch 'origin/feature/python314' into Editor-Python3.14 2026-06-18 18:22:38 +02:00
75461eaf86 World Streaming Part 1 2026-06-18 18:18:02 +02:00
449609d817 Snap to ground || New terrain system || Terrain sculping || Mesh simplification 2026-06-17 08:56:42 +02:00
5a39ed5193 ImGuizmo System OpenGL 2026-06-17 01:19:59 +02:00
3bed2212d7 Editor settings for New/Legacy camera controll 2026-06-16 23:53:01 +02:00
f07c8fdcd2 Enable /map identifier in cmakelists.txt 2026-05-26 22:08:18 +02:00
maj00r
996cc68822 Fix Windows post-build zlib path (Python DLLs folder)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 18:25:01 +02:00
maj00r
4258af45dd cmake_path removed 2026-05-11 18:21:12 +02:00
maj00r
3786ecd98f Python 3.14 build and CI updates
Squashes the last five commits: migrate to Python 3.14 (CMake, AppVeyor, Azure, README), vcpkg/setup-ci fixes, CMake adjustments, remove bundled ref/python 2.7, and related scripting/static file updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 18:21:12 +02:00
02cffbe4ad Enable AVX2 support 2026-05-06 20:02:00 +02:00
docentYT
d5d1825e38 Remove dumb3d 2026-04-27 23:03:47 +02:00
copilot-swe-agent[bot]
7e49aa8740 Rewrite #includes to use explicit subdirectory paths
Co-authored-by: Hirek193 <23196899+Hirek193@users.noreply.github.com>
2026-03-14 19:16:48 +00:00
copilot-swe-agent[bot]
0531086bb9 Reorganize source files into logical subdirectories
Co-authored-by: Hirek193 <23196899+Hirek193@users.noreply.github.com>
2026-03-14 19:01:57 +00:00
11e79f52ae Conversion to cpp 20 2026-01-18 21:21:15 +01:00
c6c042aa52 Fix screenshot manager on OpenGL renderers 2025-09-17 17:34:53 +02:00
f43d4b5201 Add trivia randomisation 2025-09-16 00:25:00 +02:00
Ryba04
33ad7b718f Merge branch 'master' into master 2025-09-13 19:46:26 +02:00
jakubg1
5e2175302b Loading screen overhaul POC
The loading screen has been significantly changed:
- The background image is now properly picked randomly instead of taking the `textures/logo.bmp` file, prepended by an external program such as Rainsted/Starter.
- The progress bar has been moved from a floating window to a thin green line at the bottom of the loading screen.
- The log window is now hidden by default. It can be turned on by setting `loadinglog` to `true` in `eu07.ini`.
- There is an animated wheel icon on the loading screen, and a trivia text is displayed.

New translation key:
- `"Did you know"`

TODO:
- Load trivia from a separate file.
2025-09-10 01:53:22 +02:00
3810fff0dc Revert "Add TGUI library"
This reverts commit c6564351e8.
2025-09-09 16:46:12 +02:00
c6564351e8 Add TGUI library 2025-09-08 18:32:38 +02:00
ac2c5ab4cf Add auto dmp file genration 2025-06-02 22:41:39 +02:00
70b68a155b Fix rc porecompilation 2025-05-05 20:20:29 +02:00
cc82af3375 Add versioning info to binary 2025-05-05 19:58:17 +02:00
09920609ff Add generating PDBs and MAPs for executables 2025-04-17 10:56:42 +02:00
a39d972126 Some renaming 2025-04-15 01:32:56 +02:00
12d6a1578d Add vcpkg as submodule and ref it in cmake 2025-04-15 00:23:36 +02:00
WLs50
1feb4c4bd0 fix merging issue regarding discord-rpc 2025-04-05 14:49:42 +02:00
WLs50
0280b40ca5 Merge remote-tracking branch 'manul-public/master' into manul-staging 2025-04-05 14:24:53 +02:00
WLs50
ffe5ece058 wrap discord rpc as optional feature 2025-03-17 07:19:07 +01:00
WLs50
d793866937 Merge branch 'manul-staging' of https://github.com/wls50/maszyna-internal into manul-staging 2025-03-16 22:14:42 +01:00
WLs50
8f98292cbe implement moon 2025-03-16 22:12:37 +01:00
27f4920869 Add discord-rpc library 2025-03-16 16:22:54 +01:00
WLs50
07583a9f07 fix order of parameters after cmake -E copy -t 2025-03-16 14:51:38 +01:00
WLs50
d9b64c42fb fix unresolved symbols when static linking glfw 2025-03-10 20:32:27 +01:00
WLs50
33ffcaf66b always use included glfw for build 2025-03-09 21:22:35 +01:00
WLs50
a5f6397eca merge manul 2025-03-09 15:36:11 +01:00
33b85baf77 Add discord-rpc library 2025-02-24 22:02:01 +01:00
milek7
ba5dfda64d WITH_PYTHON build option 2022-07-07 02:29:36 +02:00