Skip to content

Commit c5ce63a

Browse files
authored
Merge branch 'master' into cursor
2 parents aa91979 + c757a89 commit c5ce63a

File tree

1,265 files changed

+99977
-73097
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,265 files changed

+99977
-73097
lines changed

.git-blame-ignore-revs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,3 +247,9 @@ b42518e64803762d27fe6277b36044d1a71fc2c4
247247
# Date: Mon Jun 12 19:01:59 2023 +0300
248248
#
249249
# Apply win-apply-clang-format.bat
250+
251+
466c162fbd1af45b290849cc0771fab66f55ba34
252+
# Author: Dutchman101 <mcak105@outlook.com>
253+
# Date: Wed April 9 19:01:39 2025 +0300
254+
#
255+
# Eliminate the use of http:// across whole project

.github/workflows/build.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252

5353
macOS:
5454
name: macOS
55-
runs-on: macOS-13
55+
runs-on: macOS-15
5656
steps:
5757
- uses: actions/checkout@v4
5858

@@ -64,7 +64,7 @@ jobs:
6464
run: brew link --overwrite mysql
6565

6666
- name: Run Build
67-
run: ./linux-build.sh --os=macosx
67+
run: ./linux-build.sh
6868

6969
linux:
7070
strategy:
@@ -78,4 +78,4 @@ jobs:
7878
- uses: actions/checkout@v4
7979

8080
- name: Run Build
81-
run: ./linux-build.sh --arch=${{ matrix.architecture }}
81+
run: /docker-entrypoint.sh --arch=${{ matrix.architecture }}
Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,62 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2-
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:v3="urn:schemas-microsoft-com:asm.v3">
3-
<assemblyIdentity type="win32" version="1.0.0.0" processorArchitecture="*" name="CEFLauncher" />
2+
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
3+
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"
4+
manifestVersion="1.0">
5+
<assemblyIdentity type="win32"
6+
name="CEFLauncher"
7+
version="1.0.0.0"
8+
processorArchitecture="x86" />
49

5-
<v3:application>
6-
<windowsSettings>
7-
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware>
8-
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
9-
</windowsSettings>
10-
</v3:application>
10+
<description>MTA:SA CEF (Chromium Embedded Framework) Launcher</description>
1111

1212
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
1313
<application>
14-
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> <!-- Windows 10 and Windows 11 -->
15-
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /> <!-- Windows 8.1 -->
16-
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /> <!-- Windows 8 -->
17-
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /> <!-- Windows 7 -->
14+
<!-- Windows 11 and Windows 10 -->
15+
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
16+
<!-- Windows 8.1 -->
17+
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
18+
<!-- Windows 8 -->
19+
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
20+
<!-- Windows 7 -->
21+
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
1822
</application>
1923
</compatibility>
2024

25+
<asmv3:application>
26+
<asmv3:windowsSettings
27+
xmlns:ws2005="http://schemas.microsoft.com/SMI/2005/WindowsSettings"
28+
xmlns:ws2013="http://schemas.microsoft.com/SMI/2013/WindowsSettings"
29+
xmlns:ws2016="http://schemas.microsoft.com/SMI/2016/WindowsSettings"
30+
xmlns:ws2017="http://schemas.microsoft.com/SMI/2017/WindowsSettings"
31+
xmlns:ws2019="http://schemas.microsoft.com/SMI/2019/WindowsSettings"
32+
xmlns:ws2020="http://schemas.microsoft.com/SMI/2020/WindowsSettings"
33+
xmlns:ws2024="http://schemas.microsoft.com/SMI/2024/WindowsSettings">
34+
<ws2005:dpiAware>true/pm</ws2005:dpiAware>
35+
<ws2016:dpiAwareness>PerMonitorV2, PerMonitor</ws2016:dpiAwareness>
36+
<ws2013:ultraHighResolutionScrollingAware>true</ws2013:ultraHighResolutionScrollingAware>
37+
<ws2016:longPathAware>true</ws2016:longPathAware>
38+
<ws2019:activeCodePage>UTF-8</ws2019:activeCodePage>
39+
<ws2020:heapType>SegmentHeap</ws2020:heapType>
40+
<ws2024:supportedArchitectures>x86</ws2024:supportedArchitectures>
41+
</asmv3:windowsSettings>
42+
</asmv3:application>
43+
2144
<dependency optional="yes">
2245
<dependentAssembly>
23-
<!-- Automatically use ComCtl32.dll version 6 or later. -->
24-
<assemblyIdentity
25-
type="win32"
26-
name="Microsoft.Windows.Common-Controls"
27-
version="6.0.0.0"
28-
processorArchitecture="*"
29-
publicKeyToken="6595b64144ccf1df"
30-
language="*" />
46+
<assemblyIdentity type="win32"
47+
name="Microsoft.Windows.Common-Controls"
48+
version="6.0.0.0"
49+
processorArchitecture="*"
50+
publicKeyToken="6595b64144ccf1df"
51+
language="*" />
3152
</dependentAssembly>
3253
</dependency>
54+
55+
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
56+
<security>
57+
<requestedPrivileges>
58+
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
59+
</requestedPrivileges>
60+
</security>
61+
</trustInfo>
3362
</assembly>

Client/ceflauncher/Main.cpp

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,30 @@
2020
(set flag.new_cef_exe on the build server to generate new exe)
2121
*/
2222

23-
int _declspec(dllimport) InitCEF();
23+
#include <cstdlib>
24+
#include <functional>
2425

25-
using HINSTANCE = struct HINSTANCE__*;
26+
struct HINSTANCE__;
27+
using HINSTANCE = HINSTANCE__*;
2628
using LPSTR = char*;
2729

28-
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdShow, int nCmdShow)
30+
extern "C" [[nodiscard("InitCEF return value must be used")]] __declspec(dllimport) int __cdecl InitCEF();
31+
32+
// Users are faced with vague crashes in CEFLauncher.exe, so rather than over-engineering all this is intended
33+
// Do note that CEFLauncher.exe ends up hosting any GPU rendering processes of CEF
34+
int __stdcall WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
2935
{
30-
return InitCEF();
36+
const auto init = std::function<int()>{InitCEF};
37+
const auto safe_invoke = [&]() noexcept -> int
38+
{
39+
try
40+
{
41+
return std::invoke_r<int>(init);
42+
}
43+
catch (...)
44+
{
45+
return EXIT_FAILURE;
46+
}
47+
};
48+
return safe_invoke();
3149
}

Client/ceflauncher/premake5.lua

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,29 @@ project "CEFLauncher"
2020
"*.manifest",
2121
}
2222

23+
filter "system:windows"
24+
buildoptions {
25+
"/Zc:inline",
26+
"/Zc:throwingNew",
27+
"/diagnostics:caret",
28+
"/sdl",
29+
"/guard:cf"
30+
}
31+
editandcontinue "Off"
32+
linkoptions { "/guard:cf" }
33+
34+
filter {"system:windows", "configurations:Debug"}
35+
defines { "_DEBUG" }
36+
runtime "Debug"
37+
38+
filter {"system:windows", "configurations:Release"}
39+
optimize "Speed"
40+
defines { "NDEBUG" }
41+
42+
filter {"system:windows", "configurations:Nightly"}
43+
optimize "Speed"
44+
defines { "NDEBUG" }
45+
2346
filter "architecture:not x86"
2447
flags { "ExcludeFromBuild" }
2548

0 commit comments

Comments
 (0)