Commit Graph

597 Commits

Author SHA1 Message Date
GeckoEidechse 9a64c1885c
Add instructions to build with podman (#686)
Add instructions to build NorthstarLauncher with podman under SELinux enabled distros
2024-04-05 19:33:19 +02:00
GeckoEidechse 1004c06706 Trim trailing whitespace in build instructions 2024-04-05 17:01:59 +02:00
Jack d3ee91c1f5
Fix crash in silver-bun (#679) 2024-03-09 00:20:49 +01:00
Jack 85a2fb9c56
Address C4100 compiler warnings (unused var) (#648)
Adds and uses a macro to avoid the warning
2024-03-04 01:12:05 +01:00
Jack 4b0726d977
Update silver-bun to `72c74b4` (#664)
Bumps the vendored silver-bun library to the newest commit in upstream

Co-authored-by: F1F7Y <filip.bartos07@proton.me>
Co-authored-by: IcePixelx <41352111+IcePixelx@users.noreply.github.com>
2024-03-04 01:01:32 +01:00
Jack e1eb2a6f4b
Don't allow too many arguments to be sent to the map command (#673)
`map` should only take a single arg that specifies the map to load.
2024-03-02 15:29:58 +01:00
Jack 026adbebe5
Check OpenExternalWebBrowser custom flag better (#674)
Properly check string prefix to see if we should open it in browser
2024-03-02 15:29:02 +01:00
cat_or_not ec5dc504bf
Fix bad offsets of `sq_getfunction` (#672)
and remove duplicate assignment
2024-02-25 19:29:38 +01:00
Jan 30e58ac08b
Clean up wsock proxy code and move wsock build system logic (#671)
- moves `WSockProxy` to `wsockproxy/CmakeLists`
- remove exepath stuff from dllmain
  + its still done in loader.cpp because its used when reporting failure
- Disabled any Thread Library calls
  + we don't need to know about threads at all in the proxy
- yoink `wsock32.asm` into outer space
  + turns out, we can just call the function in a void shim since that wont touch the registers
- stop copying `wsock32.dll` to the game directory
  + this should improve the state of things when using the EA App
2024-02-18 22:11:09 +01:00
GeckoEidechse fc63948e09
Update default mods list URL (#662)
The default branch for the VerifiedMods repo was renamed from `master` to `main`.
2024-02-06 23:03:10 +01:00
Jack 73262ca616
Port navmesh debug renderer from primedev (#626)
Adds support for rendering navmeshes in-game using debug overlay

Cherry-picked from primedev, originally written by F1F7Y

Co-authored-by: F1F7Y <filip.bartos07@proton.me>
Co-authored-by: Maya <11448698+RoyalBlue1@users.noreply.github.com>
2024-02-05 18:01:22 +01:00
uniboi edf013952c
Plugin interfaces (plugins v4) (#615)
Replaces the current plugin api with source interfaces.

- backwards compatible
- no more json in binaries (wtf)
- does not rely on structs from third party libraries (wtf)
- actually initializes variables
- no more basically unused classes

The launcher exposes almost everything required by plugins in interfaces that allow for backwards compatibility.
The only thing that's passed to a plugin directly is the northstar dll HWND and a struct of data that's different for each plugin.
2024-02-04 02:14:46 +01:00
Jack 6ad955ae0a
ScopeGuard improvements (#651)
`std::function` introduced a layer of indirection that can be removed through templating the class.
2024-01-30 23:06:40 +01:00
Jack 350e6b1463
Remove unused variable in mod concommands (#652)
Remove unused variable that was also leaking memory
2024-01-27 14:16:11 +01:00
Jack abe5d029e5
Pull zlib from custom fork (#650)
Fixes builds failing due to 2e3d86c4e1
2024-01-24 22:58:18 +01:00
Jack 7f84bdf8fd
Address C4267 compiler warnings (#647)
Implicit conversion from `size_t` to a smaller type
2024-01-21 20:34:19 +01:00
Jack e72f0cbbac
Cherry-pick changes from more recent RapidJSON to reduce warnings (#646)
* fix C5054 (cherry-pick change from https://github.com/Tencent/rapidjson/pull/1817)

* fix C4099  in Rapidjson. Cherry-picks the following:
d87b698d0f
https://github.com/Tencent/rapidjson/pull/1568
2024-01-21 18:56:09 +01:00
Rémy Raes bf7b5e0a81
Add slow-speed timeout when downloading mod (#611)
Abort request if network connection is dropped or too slow.
2024-01-21 00:56:33 +01:00
GeckoEidechse c7edf9bf74
Always print masterserver response request id (#633)
Always print masterserver response request id to logs
2024-01-21 00:13:08 +01:00
Jack 447cace77f
Add and use ScopeGuard (#643)
Use a scope guard instead of `GOTO` statements for curl cleanup
2024-01-20 23:40:27 +01:00
Jan 7c9ffa1cab
Remove `structs.h` in favor of manual padding (#613)
- delete `structs.h`
- completely remove VPKFileEntry (its completely unused)
- convert all other instances of `OFFSET_STRUCT` to normal structs (this was automated and may be wrong)
- Update `m_bZooming` type from `uint32_t` to `bool`
2024-01-20 23:37:47 +01:00
Jack f2dd1583ef
Fix debug overlay not rendering script function stuff (#637)
Call our version of the function instead of native
2024-01-13 17:47:44 +01:00
cat_or_not f98513d71f
Add ban/kick concommand completion (#604)
Adds completion to ban and kick commands when typing them in in-game console.
2024-01-04 22:10:37 +01:00
Jack dcf6e1b1fd
Use .def for function exports (#625)
Cherry-picked from primedev

Co-authored-by: F1F7Y <filip.bartos07@proton.me>
2024-01-04 00:32:20 +01:00
Jack eda88bd170
Add cmake format check to CI (#630) 2024-01-04 00:10:06 +01:00
Northstar a59c64becd Format cmake files 2024-01-04 00:01:43 +01:00
Northstar 1220958ab8 Format cmake files 2024-01-03 23:54:41 +01:00
Northstar 36e1093620 Format cmake files 2024-01-03 23:39:55 +01:00
GeckoEidechse baa706d25a Run auto-label action at a later time
for testing
2024-01-03 21:46:43 +01:00
Jack 4855b56849
Schedule the merge conflict labelling to run daily (#631) 2024-01-03 21:39:05 +01:00
Jack a78b7d857f
Simplify vscript stub function (#627)
Since we can get stack info from the sqvm, we don't need to give the function name in the template and stuff.
Cherry picked from primedev
2023-12-30 23:59:56 +01:00
Jack f5ab6fb5e8
Folder restructuring from primedev (#624)
Copies of over the primedev folder structure for easier cherry-picking of further changes

Co-authored-by: F1F7Y <filip.bartos07@proton.me>
2023-12-27 01:32:01 +01:00
GeckoEidechse bb8ed59f68
Add Action to add label to PR on merge conflict (#621)
Adds a GitHub Action that auto-adds a label to a PR in case there are merge conflicts.
2023-12-20 16:03:31 +01:00
Northstar 1e5c4a7f6a Format project 2023-12-20 15:20:02 +01:00
Jack 714282b520
Set a better `AccessModifierOffset` in `clang-format` (#619)
Default appears to be -2, which causes clang-format to mix tabs and spaces
2023-12-20 15:01:01 +01:00
Jack 0438b5c8cf
Cherry pick "remove unnecessary namespaces" from primedev (#618)
Cherry-picks the removal of unnecessary namespaces from `primedev`
https://github.com/F1F7Y/NorthstarPrime/

Co-authored-by: F1F7Y <filip.bartos07@proton.me>
2023-12-20 14:24:07 +01:00
EladNLG 210dab2b0e
Fix SERVER | CLIENT context specifier error (#566) 2023-12-14 22:34:05 +01:00
Rémy Raes 5a7ad2249b
Mod download UI integration (#595)
UI integration for the mod downloading feature. Feature activation locked behind a convar.
2023-12-14 22:19:21 +01:00
cat_or_not 43f0bce059
Add plugin dependency constants (#458)
Adds dependency constants for plugins so mods can rely on plugins without always producing script errors when the plugin is missing
2023-12-14 13:07:02 +01:00
Jack 0976a3500e
Rework `-vanilla` to be a vanilla compatibility mode (#601)
Old `-vanilla` behaviour is now handled by `-nonorthstardll`.

New squirrel constant called `VANILLA`. Set to true when in vanilla compatibility mode.

Differences when in vanilla compatibility mode:
- Doesn't restrict server commands (same as `-norestrictservercommands`)
- Doesn't block FairFight screenshot functions 
- Doesn't do Atlas-related stuff (except for mainmenupromos)
2023-12-14 13:00:26 +01:00
Jan 8a4107191b
Disable more compression methods for minizip (#602)
Only use the absolute necessary compression methods in order to still allow compilation under Wine.
2023-12-13 14:56:23 +01:00
Northstar de5a5006f1 Format project 2023-12-07 21:20:15 +01:00
uniboi 2a30a0d58e
Add clang-format config to pack constructor initializers (#608)
The setting will set each initializer in a new line if all of them don't fit in one line
2023-12-07 21:17:50 +01:00
GeckoEidechse ad1b6ae61b
Bump clang format action to 0.16.2 (#609)
Current is 0.13 which was released October 2021. This bumps it latest at the time of writing, i.e. 0.16.2
2023-12-04 12:20:47 +01:00
GeckoEidechse a27c702b7d
Revert "Move player auth to `CServer::ConnectClient` (#548)" (#610)
This reverts commit 17217a3968 (PR #548) which introduced a regression allowing auth to progress further than intended.
2023-12-01 21:31:20 +01:00
GeckoEidechse da7061a846
Add a safeguard to map command (#564)
Adds safeguard to the `map` command that prevents it from executing if the requested map is invalid or no map argument is given.

Retry of #529

Co-authored-by: cat_or_not <41955154+catornot@users.noreply.github.com>
2023-11-28 00:05:42 +01:00
Maya c427fe4abc
Load plugin dependencies from lib folder (#590)
Disables recursive search for plugins in plugin folders and if it exists adds lib folder within plugin folder to DLL load dirs
2023-11-27 23:50:38 +01:00
Jan cfc53081ff
Replace audio event fetching with hook (#603)
Takes the previous audio event code, which relied on reading out a register using masm, and replaces it with a new hook.
Adapted from NorthstarPrime https://github.com/F1F7Y/NorthstarPrime

Co-authored-by: F1F7Y <filip.bartos07@proton.me>
2023-11-23 18:53:04 +01:00
cat_or_not 17217a3968
Move player auth to `CServer::ConnectClient` (#548)
Fixes bots crashing servers when they are the first to connect to it. Also moves player auth to `CServer::ConnectClient`. This allows the removal of `iNextPlayerUid` and `pNextPlayerToken` which were the cause of issues previously since they were not initialized by bots.
2023-11-22 02:17:35 +01:00
Jan 90e0376ebc
Improve replacing `xinput1_3` with `xinput9_1` (#583)
The previous logic incorrectly loaded compared the whole argument, which may be a path, to the string literal.
This fix checks if the argument ends with the string literal instead.
2023-11-22 02:16:22 +01:00