Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #1

Open
wants to merge 439 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
439 commits
Select commit Hold shift + click to select a range
d7637c7
Bump download-artifact action to v3 (#444)
GeckoEidechse Apr 7, 2023
72da1da
Fix stringcmd limits causing unnecessary disconnects (#447)
ASpoonPlaysGames Apr 8, 2023
450d0b1
Plugin system v2 (#343)
emma-miler Apr 11, 2023
2c889a0
Extract ProcessConnectionlessPacket hook to separate file
pg9182 Mar 5, 2023
29c6aec
Add support for Atlas connectionless packets
pg9182 Mar 5, 2023
35e91aa
Implement Atlas sigreq1 connectionless packet
pg9182 Mar 5, 2023
45819c0
Add missing curl lib deps
pg9182 Mar 6, 2023
87bd14c
Replace HTTP auth server with Atlas connectionless packet
pg9182 Mar 6, 2023
b1aed57
Remove httplib
pg9182 Mar 6, 2023
009482f
Use detailed master server error messages when available
pg9182 Mar 5, 2023
c173e8f
Set default server auth failure reason
pg9182 Mar 5, 2023
ca45fcc
Fix getvector returning garbage data (#448)
uniboi Apr 18, 2023
4e341f1
Fix DecodeJSON fatalParseErrors param (#443)
EladNLG Apr 18, 2023
e1dcf7a
Fix incorrect script ConCommand argc (#446)
Glacir Apr 19, 2023
34af81a
Fix parsing string ConVar/ConCommand.Flags from `mod.json` (#450)
pg9182 Apr 19, 2023
10b6839
Remove leftover LoadPlugins declaration (#449)
pg9182 Apr 19, 2023
7c2b56b
Replace `set-output` in GitHub Actions workflows (#452)
pg9182 Apr 22, 2023
c50441f
Fix initscript issue (#457)
catornot Apr 23, 2023
6fa48ab
Use structs for the Script Server Browser (#453)
uniboi Apr 27, 2023
6857b93
Support loading plugins from subdirs (#460)
catornot May 5, 2023
6fe1805
Fix `maps *` command, expose to squirrel (#442)
F1F7Y Jun 7, 2023
9cf27a6
Restore `-noplugins` argument (#459)
catornot Jun 7, 2023
8999640
Move to cmake (#467)
F1F7Y Jun 22, 2023
23594f2
Update release action to match push action (#476)
F1F7Y Jun 22, 2023
58a2324
Cast types in MAKEHOOK macro to follow C++ Standard (#489)
Jan200101 Jun 29, 2023
de970c5
Use correctly typed values for variables (#486)
Jan200101 Jun 29, 2023
d50739a
Remove pragma once from source file (#487)
Jan200101 Jun 29, 2023
d7f8dd7
Fix const pointer const (#488)
Jan200101 Jun 29, 2023
2bd882e
Add RelWithDebInfo configuration (#483)
F1F7Y Jun 29, 2023
b5c4e4e
Replace dependent names with explicit template definition (#490)
Jan200101 Jun 29, 2023
efd9071
Code cleanup (#478)
Jan200101 Jun 29, 2023
71f0ee9
Reorganize third-party dependencies into `thirdparty` directory (#491)
F1F7Y Jun 30, 2023
e4de2f3
Update gitattributes vendored code path (#496)
GeckoEidechse Jul 2, 2023
10cb6e5
Basic mods blacklisting (#474)
F1F7Y Jul 2, 2023
043fb83
Improve `ShouldLoadNorthstar()` logic readability (#499)
GeckoEidechse Jul 2, 2023
513705e
Memory class renaming (#469)
F1F7Y Jul 7, 2023
9f9e3a9
Improve logging for mods (#445)
ASpoonPlaysGames Jul 7, 2023
0309af1
Add support for loading Thunderstore mods natively (#503)
GeckoEidechse Jul 16, 2023
24248c7
CMAKE: set build type if not previously set, turn bin dir message int…
Jan200101 Jul 16, 2023
06825e3
Add OS, Wine and Proton logging (#502)
Jan200101 Jul 16, 2023
9841d69
Search for Northstar.dll in profile directory (#451)
F1F7Y Jul 17, 2023
d3fb76f
Replace vendored libcurl and minhook with submodules (#500)
Jan200101 Jul 22, 2023
cf8b267
Safe I/O 2 - Electric Boogaloo! (#404)
EladNLG Jul 22, 2023
ddb4670
Remove Vector3 Constructor (#494)
Jan200101 Jul 25, 2023
2e6c1cf
Replace forward slashes with windows path separators (#514)
Jan200101 Jul 25, 2023
a65cbea
Add support for loading plugins from Thunderstore packages (#513)
Jan200101 Jul 27, 2023
e742eb3
Fix plugins not loading (#522)
F1F7Y Jul 28, 2023
2440018
Make sure `packages` dir exists when loading plugins (#523)
F1F7Y Jul 28, 2023
82bff57
Remove `pch.cpp` and all `#include "pch.h"` occurrences (#519)
F1F7Y Jul 28, 2023
e3f2c4c
Warn about the package dir, not the mod dir (#526)
Jan200101 Jul 29, 2023
0af8c50
Validate package pattern before checking for plugins (#525)
Jan200101 Jul 29, 2023
3005216
Turn VPKData into a opaque struct (#510)
Jan200101 Jul 29, 2023
07e76e3
Support DLLs in Profile from wsock32 proxy (#527)
Jan200101 Aug 5, 2023
a27368d
Linux build instructions in `BUILD.md` (#531)
itscynxx Sep 14, 2023
e51d345
feat: Enforce Thunderstore format for remote mods (#535)
Alystrasz Sep 14, 2023
1979247
Fix `CSquirrelVM::Init` hook in `server.dll` (#544)
F1F7Y Sep 14, 2023
af1df84
Export Northstar version number in DLL (#542)
ASpoonPlaysGames Sep 14, 2023
0cbdd56
Set `spewlog_enable` default value to `0` (#516)
F1F7Y Sep 17, 2023
cde626b
Add a safeguard to map command (#529)
catornot Oct 2, 2023
d6f0cd5
Fix crash when running `disconnect %%s` (#554)
ASpoonPlaysGames Oct 2, 2023
2a3be90
Revert "Add a safeguard to map command" (#561)
GeckoEidechse Oct 3, 2023
1d30b2d
Always allow the local player through the banlist (#540)
ASpoonPlaysGames Oct 3, 2023
5798c63
Give `g_pMemAllocSingleton` a default value (#563)
Jan200101 Oct 4, 2023
b269c4d
Define indent size in editorconfig (#550)
GeckoEidechse Oct 4, 2023
9d8bedf
Write date to logs (#565)
H0L0theBard Oct 5, 2023
c093ee1
Expose origin auth state and errors to squirrel (#468)
ASpoonPlaysGames Oct 7, 2023
0246053
Reduce warnings due to calling conventions (#555)
ASpoonPlaysGames Oct 7, 2023
70a0114
Rewrite crash handler (#477)
F1F7Y Oct 8, 2023
a040bff
Create mod entry in `enabledmods.json` if it doesn't exist (#410)
Alystrasz Oct 8, 2023
c1745b2
Add `mileslog_enable` convar (#515)
F1F7Y Oct 10, 2023
5720164
Fix incorrect help string text (#567)
GeckoEidechse Oct 10, 2023
a9a1e08
Fixed mixed indentation in utils.cmake (#570)
GeckoEidechse Oct 11, 2023
14c01e8
Trim trailing whitespace
GeckoEidechse Oct 11, 2023
16f8542
Make link to BUILD.md relative to README.md (#571)
GeckoEidechse Oct 11, 2023
9adf88f
Correct submodule detection (#569)
Jan200101 Oct 11, 2023
99c5c86
Update libcurl to 8.4.0 (#568)
Jan200101 Oct 12, 2023
2dd19ab
Add workflow for adding PRs and Issues to the project board (#572)
ASpoonPlaysGames Oct 14, 2023
db5ef8d
Only run `add-to-project` action on issues (#577)
GeckoEidechse Oct 15, 2023
fb7b538
Revert "Update libcurl to 8.4.0" (#574)
Jan200101 Oct 15, 2023
98af0dc
Move plugin communication handler init out of plugin manager init (#581)
ASpoonPlaysGames Oct 15, 2023
f24089e
Add check for r2/maps folder (#575)
H0L0theBard Oct 15, 2023
f763e66
Fix proton detection output (#534)
Jan200101 Oct 15, 2023
d463a43
Use 4th digit in version number for CI build number (#541)
ASpoonPlaysGames Oct 16, 2023
db5eac1
Replace field preprocessors with less hacky solutions (#492)
Jan200101 Oct 23, 2023
cfc32a6
Run add-to-project on new PRs (#584)
ASpoonPlaysGames Oct 23, 2023
6e32a58
Refactor `debugoverlay.cpp` (fix smart pistol lines) (#538)
ASpoonPlaysGames Oct 30, 2023
13f2fac
Inital native code for verified mod auto-downloading (#545)
Alystrasz Nov 3, 2023
35581f1
Expose `Northstar.dll` version to squirrel (#558)
ASpoonPlaysGames Nov 5, 2023
2b269d2
Convar print commands (#539)
H0L0theBard Nov 5, 2023
583bae6
Plugin related log error expecting more args (#591)
GeckoEidechse Nov 5, 2023
bb822b7
Plugins v3 (#472)
catornot Nov 6, 2023
407bcc7
Update link for verified mods JSON file (#600)
GeckoEidechse Nov 17, 2023
86c2001
Don't log masterserver registration errors in the lobby (#543)
ASpoonPlaysGames Nov 20, 2023
aeecd7a
Add mod versions when logging that a mod has loaded (#596)
itscynxx Nov 21, 2023
90e0376
Improve replacing `xinput1_3` with `xinput9_1` (#583)
Jan200101 Nov 22, 2023
17217a3
Move player auth to `CServer::ConnectClient` (#548)
catornot Nov 22, 2023
cfc5308
Replace audio event fetching with hook (#603)
Jan200101 Nov 23, 2023
c427fe4
Load plugin dependencies from lib folder (#590)
RoyalBlue1 Nov 27, 2023
da7061a
Add a safeguard to map command (#564)
GeckoEidechse Nov 27, 2023
a27c702
Revert "Move player auth to `CServer::ConnectClient` (#548)" (#610)
GeckoEidechse Dec 1, 2023
ad1b6ae
Bump clang format action to 0.16.2 (#609)
GeckoEidechse Dec 4, 2023
2a30a0d
Add clang-format config to pack constructor initializers (#608)
uniboi Dec 7, 2023
de5a500
Format project
Dec 7, 2023
8a41071
Disable more compression methods for minizip (#602)
Jan200101 Dec 13, 2023
0976a35
Rework `-vanilla` to be a vanilla compatibility mode (#601)
ASpoonPlaysGames Dec 14, 2023
43f0bce
Add plugin dependency constants (#458)
catornot Dec 14, 2023
5a7ad22
Mod download UI integration (#595)
Alystrasz Dec 14, 2023
210dab2
Fix SERVER | CLIENT context specifier error (#566)
EladNLG Dec 14, 2023
0438b5c
Cherry pick "remove unnecessary namespaces" from primedev (#618)
ASpoonPlaysGames Dec 20, 2023
714282b
Set a better `AccessModifierOffset` in `clang-format` (#619)
ASpoonPlaysGames Dec 20, 2023
1e5c4a7
Format project
Dec 20, 2023
bb8ed59
Add Action to add label to PR on merge conflict (#621)
GeckoEidechse Dec 20, 2023
f5ab6fb
Folder restructuring from primedev (#624)
ASpoonPlaysGames Dec 27, 2023
a78b7d8
Simplify vscript stub function (#627)
ASpoonPlaysGames Dec 30, 2023
4855b56
Schedule the merge conflict labelling to run daily (#631)
ASpoonPlaysGames Jan 3, 2024
baa706d
Run auto-label action at a later time
GeckoEidechse Jan 3, 2024
36e1093
Format cmake files
Jan 3, 2024
1220958
Format cmake files
Jan 3, 2024
a59c64b
Format cmake files
Jan 3, 2024
eda88bd
Add cmake format check to CI (#630)
ASpoonPlaysGames Jan 3, 2024
dcf6e1b
Use .def for function exports (#625)
ASpoonPlaysGames Jan 3, 2024
f98513d
Add ban/kick concommand completion (#604)
catornot Jan 4, 2024
f2dd158
Fix debug overlay not rendering script function stuff (#637)
ASpoonPlaysGames Jan 13, 2024
7c9ffa1
Remove `structs.h` in favor of manual padding (#613)
Jan200101 Jan 20, 2024
447cace
Add and use ScopeGuard (#643)
ASpoonPlaysGames Jan 20, 2024
c7edf9b
Always print masterserver response request id (#633)
GeckoEidechse Jan 20, 2024
bf7b5e0
Add slow-speed timeout when downloading mod (#611)
Alystrasz Jan 20, 2024
e72f0cb
Cherry-pick changes from more recent RapidJSON to reduce warnings (#646)
ASpoonPlaysGames Jan 21, 2024
7f84bdf
Address C4267 compiler warnings (#647)
ASpoonPlaysGames Jan 21, 2024
abe5d02
Pull zlib from custom fork (#650)
ASpoonPlaysGames Jan 24, 2024
350e6b1
Remove unused variable in mod concommands (#652)
ASpoonPlaysGames Jan 27, 2024
6ad955a
ScopeGuard improvements (#651)
ASpoonPlaysGames Jan 30, 2024
edf0139
Plugin interfaces (plugins v4) (#615)
uniboi Feb 4, 2024
73262ca
Port navmesh debug renderer from primedev (#626)
ASpoonPlaysGames Feb 5, 2024
fc63948
Update default mods list URL (#662)
GeckoEidechse Feb 6, 2024
30e58ac
Clean up wsock proxy code and move wsock build system logic (#671)
Jan200101 Feb 18, 2024
ec5dc50
Fix bad offsets of `sq_getfunction` (#672)
catornot Feb 25, 2024
026adbe
Check OpenExternalWebBrowser custom flag better (#674)
ASpoonPlaysGames Mar 2, 2024
e1eb2a6
Don't allow too many arguments to be sent to the map command (#673)
ASpoonPlaysGames Mar 2, 2024
4b0726d
Update silver-bun to `72c74b4` (#664)
ASpoonPlaysGames Mar 4, 2024
85a2fb9
Address C4100 compiler warnings (unused var) (#648)
ASpoonPlaysGames Mar 4, 2024
d3ee91c
Fix crash in silver-bun (#679)
ASpoonPlaysGames Mar 8, 2024
1004c06
Trim trailing whitespace in build instructions
GeckoEidechse Apr 5, 2024
9a64c18
Add instructions to build with podman (#686)
GeckoEidechse Apr 5, 2024
ab65355
Fix plugin with NULL strings causing UB (#695)
Jan200101 May 5, 2024
220b7a1
Fix engine error crash caused by language detection hooks (#699)
wolf109909 May 21, 2024
a06319c
Use old Mutex constructor to deal with redist incompatibility (#704)
Jan200101 Jun 14, 2024
d8d861c
Assign `CreateInterface` member instead of creating a new variable (#…
Jan200101 Jun 15, 2024
742c4a1
Remove duplicate wsock32 export (#714)
Jan200101 Jun 16, 2024
4a716e5
Check if hook target is non `null` before calling MinHook (#711)
Jan200101 Jun 16, 2024
f75aff1
Use double brackets to let compiler know assignment is intentional (#…
Jan200101 Jun 16, 2024
75bb414
Add default case for SquirrelContext switch (#716)
Jan200101 Jun 16, 2024
ec974f6
Don't instantiate templates before declaration, add missing instantia…
Jan200101 Jun 17, 2024
b02e609
Update `actions/checkout` to v4 (#724)
GeckoEidechse Jun 19, 2024
9a60c23
Add clang CI (#721)
Jan200101 Jun 19, 2024
7f3fe6c
Update `actions/upload-artifact` to v4 (#725)
GeckoEidechse Jun 19, 2024
8e56367
Add missing case for switch cases in JSON deserialization function (#…
Jan200101 Jun 19, 2024
26fffcf
Remove invalid memset in ServerPresence (#709)
Jan200101 Jun 20, 2024
f1a9905
Lowercase all linked libraries for building on Linux (#726)
Jan200101 Jun 20, 2024
874afd9
Remove useless `this` pointer check (#710)
Jan200101 Jun 20, 2024
3c87644
Add overrides to `custom_sink_it_` methods (#708)
Jan200101 Jun 22, 2024
225eb18
Use static MSVC Runtime Library (#718)
Jan200101 Jun 22, 2024
1c9f39d
Fix memalloc problems (#728)
Jan200101 Jun 22, 2024
c07ebd8
Restructure primelauncher cmake logic (#727)
Jan200101 Jun 22, 2024
4ada6a3
Fix const-qualified assignment in RapidJSON (#717)
Jan200101 Jun 22, 2024
d52aaad
Add missing object check in mod manager (#731)
Jan200101 Jun 24, 2024
f29823a
Check for Console Window before allocating one (#741)
Jan200101 Jun 27, 2024
4d8798e
Remove EXPORT macro from precompiled header (#738)
Jan200101 Jun 27, 2024
778e338
Remove precompiled header from wsock proxy (#739)
Jan200101 Jun 27, 2024
fc087d8
Remove unused typedefs from precompiled header (#737)
Jan200101 Jun 27, 2024
193ab49
Properly handle invalid cvar replications without blocking netmessage…
BobTheBob9 Jul 4, 2024
afa2469
Make Script Errors from Northstar Callbacks Fatal (#698)
EladNLG Jul 4, 2024
3edcc91
Expose mods remote status to Squirrel VM (#684)
Alystrasz Jul 4, 2024
497945b
Fix multiple audio file overrides (#677)
Alystrasz Jul 6, 2024
52b1102
fix: Do not crash on unknown MAD manifesto format (#749)
Alystrasz Jul 9, 2024
acdfefd
Fix typo in class member function (#750)
GeckoEidechse Jul 10, 2024
2cd7829
Define `fs` alias in source file where used (#747)
GeckoEidechse Jul 10, 2024
c405583
Fix logging sometimes not working (#754)
ASpoonPlaysGames Jul 28, 2024
6551632
Only fetch MAD manifesto on server join (#751)
Alystrasz Jul 29, 2024
51991cc
Add CreateScriptInstance (#692)
EladNLG Jul 29, 2024
9715c89
Add comment explaining time choice for cron job (#759)
GeckoEidechse Aug 8, 2024
a176b70
Add option to manually run merge conflict label action (#760)
GeckoEidechse Aug 8, 2024
a28c1cb
Fix postload crash from missing `rpak.json` (#762)
EM4Volts Aug 9, 2024
5c730b0
Refactor DLL callbacks (#665)
ASpoonPlaysGames Aug 18, 2024
bebda79
Fix casing of `KERNEL32.DLL` (#768)
ASpoonPlaysGames Aug 18, 2024
9615ba2
Try loading XInput 1.4 before trying to load 9.1.0 (#769)
barnabwhy Aug 23, 2024
d333a96
Formatting: Set short inline functions to be on one line (#771)
ASpoonPlaysGames Aug 23, 2024
5b2c608
Format project
Aug 23, 2024
2dce58a
Add formatting commit to git-blame-ignore-revs
GeckoEidechse Aug 23, 2024
5aae421
engine: restore `mat_crosshair_printmaterial` concommand (#763)
F1F7Y Aug 25, 2024
3e2d403
Fix manual hooks storing their name badly (#774)
ASpoonPlaysGames Aug 25, 2024
f6915dc
Format constructor initializers in a better way (#775)
ASpoonPlaysGames Aug 26, 2024
6e9792f
Format project
Aug 26, 2024
932735e
Add formatting commit to git-blame-ignore-revs
GeckoEidechse Aug 26, 2024
f128835
hooking: run callbacks for imported modules (#780)
ASpoonPlaysGames Aug 27, 2024
a73006d
core: Remove unused `CModule` variable (#785)
F1F7Y Aug 27, 2024
aec239d
Remove uses of Autohook from `clientauthhooks.cpp` (#782)
ASpoonPlaysGames Aug 27, 2024
3a930e4
Remove uses of Autohook from `clientvideooverrides.cpp` (#784)
ASpoonPlaysGames Aug 27, 2024
dafd7ab
Remove uses of Autohook from `clientruihooks.cpp` (#783)
ASpoonPlaysGames Aug 27, 2024
37452ee
Document coding standards (#779)
GeckoEidechse Aug 28, 2024
39c2ec9
client: Remove uses of Autohook from `audio.cpp` (#777)
ASpoonPlaysGames Aug 28, 2024
6a26194
Remove uses of Autohook from `debugoverlay.cpp` (#786)
ASpoonPlaysGames Aug 28, 2024
c905910
Add code review and testing sections to pull request template (#791)
GeckoEidechse Aug 29, 2024
efecb84
Fix module callbacks related crash (#790)
ASpoonPlaysGames Aug 29, 2024
46478a3
Add GitHub Action to automatically label PRs (#794)
ASpoonPlaysGames Aug 29, 2024
db353e6
client: Remove uses of Autohook from `rejectconnectionfixes.cpp` (#793)
ASpoonPlaysGames Aug 30, 2024
4ff226d
client: Remove uses of Autohook from `modlocalisation.cpp` (#792)
ASpoonPlaysGames Aug 30, 2024
e73ede2
core: Remove uses of Autohook from `filesystem.cpp` (#795)
ASpoonPlaysGames Aug 30, 2024
a60c273
core: Remove uses of Autohook from `hooks.cpp` (#796)
ASpoonPlaysGames Aug 31, 2024
4d609a8
client: Remove uses of Autohook from `latencyflex.cpp` (#789)
ASpoonPlaysGames Aug 31, 2024
cb62662
client: Remove uses of Autohook from `languagehooks.cpp` (#787)
ASpoonPlaysGames Aug 31, 2024
f2d07f5
core: Remove uses of Autohook from `sourceinterface.cpp` (#798)
ASpoonPlaysGames Aug 31, 2024
96c34f6
Remove uses of Autohook from `gl_matsysiface.cpp` (#801)
ASpoonPlaysGames Sep 1, 2024
669fdae
core: Remove use of `SourceInterface` for `CCvar` (#804)
F1F7Y Sep 2, 2024
79fbb9b
logging: Remove use of `SourceInterface` for `CGameConsole` (#803)
F1F7Y Sep 2, 2024
ce21abe
vscript: Move squirrel types to their respective files (#788)
F1F7Y Sep 2, 2024
261fcda
engine: Remove uses of Autohook from `host.cpp` (#802)
ASpoonPlaysGames Sep 2, 2024
f9cb7d1
Update build instructions and CI for `build` subfolder (#808)
GeckoEidechse Sep 3, 2024
8f6f81c
Ensure whitespace indentation is consistent in Dockerfile (#809)
GeckoEidechse Sep 3, 2024
b75daf3
Bump clang-format-lint-action to v0.18.2 (#813)
GeckoEidechse Sep 4, 2024
e5c9e5d
Add dependabot config to check for GitHub Actions updates (#814)
GeckoEidechse Sep 4, 2024
68d374d
game: Add more ways to crash to the `crash_test` concommand (#807)
F1F7Y Sep 5, 2024
27f478e
core: Remove use of `SourceInterface` for `IFileSystem` (#805)
F1F7Y Sep 5, 2024
dab5764
Remove uses of Autohook from `logging.cpp` (#811)
ASpoonPlaysGames Sep 7, 2024
160f503
Big rpak loading refactor (#766)
ASpoonPlaysGames Sep 7, 2024
8c546ed
Adjust for restructured `verified-mods.json` (#748)
Alystrasz Sep 7, 2024
8824340
Set thread names for game threads (#666)
p0358 Sep 7, 2024
f9a9798
plugins: Remove duplicate sqvm destroy log (#822)
uniboi Sep 12, 2024
1f4765d
dedicated: Remove uses of Autohook from `dedicated.cpp` (#799)
ASpoonPlaysGames Sep 16, 2024
ba485e9
dedicated: Remove uses of Autohook from `dedicatedmaterialsystem.cpp`…
ASpoonPlaysGames Sep 17, 2024
6737a34
engine: Remove uses of Autohook from `hoststate.cpp` (#806)
ASpoonPlaysGames Sep 17, 2024
71349f0
Force `_WIN32_WINNT` variable (#770)
Gazyi Oct 1, 2024
8a29c5b
core: Remove unused SourceInterface class (#816)
F1F7Y Oct 6, 2024
42d9702
Fix rpak aliasing not working when trying to alias towards a vanilla …
ASpoonPlaysGames Oct 6, 2024
27e1711
plugins: Allow plugins to customize their log colors (#823)
uniboi Oct 14, 2024
41583e4
server: Remove uses of Autohook from `serverauthentication.cpp` (#820)
ASpoonPlaysGames Oct 30, 2024
10041ca
mods: Remove uses of Autohook from `modkeyvalues.cpp` (#818)
ASpoonPlaysGames Oct 30, 2024
0de2a3a
Remove uses of Autohook from `clientchathooks.cpp` (#819)
ASpoonPlaysGames Nov 10, 2024
13344f3
server: Remove uses of Autohook from `buildainfile.cpp` (#824)
ASpoonPlaysGames Nov 12, 2024
90a06cd
engine: Remove uses of Autohook from `runframe.cpp` (#810)
ASpoonPlaysGames Nov 15, 2024
3e40fa3
Remove uses of Autohook from `loghooks.cpp` (#812)
ASpoonPlaysGames Nov 20, 2024
2d97883
script: Refactor mod information (#826)
Alystrasz Nov 21, 2024
6585d62
mods(MAD): Make MAD process cancellable (#815)
Alystrasz Nov 22, 2024
db40260
mods(Safe I/O): Only allow creating files with whitelisted filetypes …
GeckoEidechse Nov 22, 2024
fad89b3
Send all mods to Atlas that are enabled (#536)
ASpoonPlaysGames Nov 22, 2024
21843ee
mods: Move mod content related logic to dedicated package (#829)
Alystrasz Nov 27, 2024
5e07df8
mods: Move collecting mods to own function (#830)
Alystrasz Dec 1, 2024
feab262
Rework MAD `cleanup` handles (#817)
Alystrasz Dec 6, 2024
1045478
scripts/client: Remove uses of Autohook from `scriptbrowserhooks.cpp`…
ASpoonPlaysGames Dec 15, 2024
f98f6b9
Fix reloading plugins (#835)
catornot Jan 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 27 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,14 +1,39 @@
Language: Cpp
Standard: Auto
Standard: Cpp11
IndentWidth: 4
TabWidth: 4
UseCRLF: false
AccessModifierOffset: -4
AlignTrailingComments: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortFunctionsOnASingleLine: Inline
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: No
BinPackArguments: false
BinPackParameters: false
ExperimentalAutoDetectBinPacking: false
IndentCaseLabels: false
ObjCBinPackProtocolList: Auto
SpacesInSquareBrackets: false
SpacesInParentheses: false
SpaceAfterCStyleCast: false
SpaceInEmptyParentheses: false
SpaceAfterLogicalNot: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
UseTab: Always
ColumnLimit: 140
BreakBeforeBraces: Allman
AlignAfterOpenBracket: AlwaysBreak
IndentExternBlock: Indent
PointerAlignment: Left
SortIncludes: false
SortIncludes: false
NamespaceIndentation: All
PackConstructorInitializers: Never
BreakConstructorInitializers: BeforeComma
26 changes: 26 additions & 0 deletions .cmake-format.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"format": {
"line_width": 120,
"tab_size": 4,
"use_tabchars": false,
"fractional_tab_policy": "use-space",
"max_subgroups_hwrap": 2,
"max_pargs_hwrap": 2,
"max_rows_cmdline": 2,
"separate_ctrl_name_with_space": false,
"separate_fn_name_with_space": false,
"dangle_parens": true,
"dangle_align": "child",
"min_prefix_chars": 4,
"max_prefix_chars": 10,
"max_lines_hwrap": 2,
"line_ending": "unix",
"command_case": "canonical",
"keyword_case": "unchanged",
"always_wrap": [],
"enable_sort": true,
"autosort": false,
"require_valid_layout": false,
"layout_passes": {}
}
}
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# For more info on `.editorconfig` file see https://EditorConfig.org

# top-most EditorConfig file
root = true

# Newline ending every file
[*]
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = tab
indent_size = 4
9 changes: 9 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,12 @@

# Format commit
75bf194b2fca06de805a7bc025c6dd8379250fa5

# Folder rename
f9bc3c9d1834cb8bd5f872b749b057c33e8b0102

# Clang format change: one-line inline functions
5b2c608b22ba272e4ab1a45adc1f43b60b1aea79

# Clang format change: see PR #775
6e9792f3651d1e0c7045c5d67312c10f91ce6962
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1 @@
**/include/** linguist-vendored
**/thirdparty/** linguist-vendored
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Configures dependabot

version: 2
updates:
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
9 changes: 9 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Add 'needs code review' label to any changes within the entire repository
needs code review:
- changed-files:
- any-glob-to-any-file: '**'

# Add 'needs testing' label to any changes within the entire repository
needs testing:
- changed-files:
- any-glob-to-any-file: '**'
26 changes: 26 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!--
WHEN OPENING A PULL REQUEST KEEP IN MIND:
-> If the changes you made can be summarised in a screenshot, add one (e.g. you changed the layout of an in-game menu)
-> If the changes you made can be summarised in a screenrecording, add one (e.g. proof that you fixed a certain bug)

-> For fixes, description on how to reproduce the bug are appreciated and help your PR get merged faster
-> For features, description on how to use the feature is appreciated and will help your PR get merged faster

-> Please use a sensible title for your pull request

-> Please describe the changes you made. The easier it is to understand what you changed, the higher the chances of your PR being merged (in a timely manner).

-> If you made multiple independent changes, please make a new PR for each one. This prevents your PR being blocked from merging by one of the changes you made.

Note that commit messages in PRs will generally be squashed to keep commit history clean.
-->

Replace this line with a description of your change (and screenshots/screenrecordings if applicable).

### Code review:

Replace this line with anything specific to look out for during code reviews.

### Testing:

Replace this line with instructions on how to test your pull request. The more detailed, the easier it is for reviewers to test, the faster your PR gets merged.
20 changes: 20 additions & 0 deletions .github/workflows/add-to-project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: add-to-project

on:
issues:
types:
- opened
pull_request_target:
types:
- opened

jobs:
add-to-project:
name: Add to project
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
project-url: "https://github.com/orgs/R2Northstar/projects/3"
github-token: "${{ secrets.PROJECT_BOARD_TOKEN }}"

14 changes: 14 additions & 0 deletions .github/workflows/auto-label-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Auto-Labeler
on:
pull_request_target:
types:
- opened

jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
59 changes: 43 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,66 @@ on: [push, pull_request]

env:
BUILD_PROFILE: Release
NORTHSTAR_VERSION: 0.0.0.${{github.run_number}}

jobs:
build:
runs-on: windows-2022
strategy:
matrix:
config:
- { name: "MSVC", cc: cl }
- { name: "LLVM", cc: clang-cl }
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cc }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup MSBuild
uses: microsoft/[email protected]
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Setup msvc
uses: ilammy/msvc-dev-cmd@v1
- name: Configure cmake
run: cmake -G "Ninja" -B build -DCMAKE_BUILD_TYPE:STRING="${{ env.BUILD_PROFILE }}"
- name: Setup resource file version
shell: bash
run: |
sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' primedev/primelauncher/resources.rc
sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' primedev/resources.rc
FILEVERSION=$(echo ${{ env.NORTHSTAR_VERSION }} | tr '.' ',' | sed -E 's/-rc[0-9]+//' | tr -d '[:alpha:]')
sed -i "s/0,0,0,1/${FILEVERSION}/g" primedev/ns_version.h
- name: Build
run: msbuild /p:Configuration=${{ env.BUILD_PROFILE }}
run: cmake --build build/
- name: Extract Short Commit Hash
id: extract
shell: bash
run: echo ::set-output name=commit::`git rev-parse --short HEAD`
run: echo commit=$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT
- name: Upload Build Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: NorthstarLauncher-${{ steps.extract.outputs.commit }}
name: NorthstarLauncher-${{ matrix.config.name }}-${{ steps.extract.outputs.commit }}
path: |
x64/${{ env.BUILD_PROFILE }}/*.dll
x64/${{ env.BUILD_PROFILE }}/*.exe
x64/${{ env.BUILD_PROFILE }}/*.pdb
x64/${{ env.BUILD_PROFILE }}/*.txt
build/game/

format-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: DoozyX/clang-format-lint-action@v0.13
- uses: actions/checkout@v4
- uses: DoozyX/clang-format-lint-action@v0.18.2
with:
source: 'NorthstarDedicatedTest LauncherInjector'
exclude: 'NorthstarDedicatedTest/include loader_launcher_proxy loader_wsock32_proxy'
source: 'primedev'
exclude: 'primedev/include primedev/thirdparty primedev/wsockproxy'
extensions: 'h,cpp'
clangFormatVersion: 13
clangFormatVersion: 16
style: file

format-check-cmake-files:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: puneetmatharu/[email protected]
with:
args: "--in-place"
- run: |
git diff --exit-code
19 changes: 19 additions & 0 deletions .github/workflows/merge-conflict-auto-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Merge Conflict Auto Label
on:
workflow_dispatch: # Manual run
push:
branches:
- main
schedule:
- cron: "10 21 * * *" # Runs at 21:10; time was chosen based on contributor activity and low GitHub Actions cron load.

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: mschilde/auto-label-merge-conflicts@master
with:
CONFLICT_LABEL_NAME: "merge conflicts"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MAX_RETRIES: 5
WAIT_MS: 5000
80 changes: 80 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Build
on:
push:
tags:
- 'v*'

permissions:
contents: write # Needed to write to GitHub draft release

env:
NORTHSTAR_VERSION: ${{ github.ref_name }}

jobs:
build-launcher:
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Setup msvc
uses: ilammy/msvc-dev-cmd@v1
- name: Configure cmake
run: cmake -G "Ninja" -B build -DCMAKE_BUILD_TYPE:STRING="Release"
- name: Setup resource file version
shell: bash
run: |
sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' primedev/primelauncher/resources.rc
sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' primedev/resources.rc
FILEVERSION=$(echo ${{ env.NORTHSTAR_VERSION }} | tr '.' ',' | sed -E 's/-rc[0-9]+//' | tr -d '[:alpha:]')
sed -i "s/0,0,0,1/${FILEVERSION}/g" primedev/ns_version.h
- name: Build
run: cmake --build build/
- name: Upload launcher build as artifact
uses: actions/upload-artifact@v3
with:
name: northstar-launcher
path: |
build/game/*.exe
build/game/*.dll
build/game/bin/x64_retail/*.dll
- name: Upload debug build artifact
uses: actions/upload-artifact@v3
with:
name: launcher-debug-files
path: |
build/game/*.pdb
build/game/bin/x64_retail/*.pdb

upload-launcher-to-release:
if: startsWith(github.ref, 'refs/tags/v')
needs: build-launcher
runs-on: ubuntu-22.04
steps:
- name: Download compiled launcher
uses: actions/download-artifact@v3
with:
name: northstar-launcher
path: northstar-launcher
- name: Download compiled launcher
uses: actions/download-artifact@v3
with:
name: launcher-debug-files
path: launcher-debug-files
- name: Create zip with binaries
run: |
cd northstar-launcher
zip --recurse-paths --quiet ../northstar-launcher.zip *
- name: Create zip with debug symbols
run: |
cd launcher-debug-files
zip --recurse-paths --quiet ../launcher-debug-files.zip *
- name: Upload files to release
uses: softprops/action-gh-release@v1
with:
body: ":warning: These are development files! If you want to download Northstar, [go here instead](https://github.com/R2Northstar/Northstar/releases) :warning:"
draft: false
files: |
northstar-launcher.zip
launcher-debug-files.zip
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,31 @@
# Mono auto generated files
mono_crash.*

# CMake output
out/
build/game/
build/
CMakeFiles/
cmake_install.cmake
CMakeCache.txt
CopyOfCMakeCache.txt

# Ninja build files
.ninja_deps
.ninja_log
build.ninja

# Visual studio build files
*.vcxproj
*.vcxproj.filters
*.sln

# Build results
# These ignore *.lib and *.exp in the specified
loader_wsock32_proxy/wsock32.*
NorthstarDLL/Northstar.*
NorthstarLauncher/NorthstarLauncher.*

# Build results
[Dd]ebug/
[Dd]ebugPublic/
Expand Down
Loading