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

pain #3

Closed
wants to merge 34 commits into from
Closed

pain #3

wants to merge 34 commits into from

Conversation

wolf109909
Copy link

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

Jan200101 and others added 30 commits June 14, 2024 10:40
…2Northstar#705)

Assign CreateInterface member instead of creating a new variable. This fixes valid Plugins failing to load.
…2Northstar#707)

Use double brackets to let compiler know that assignment inside `if` statement is intentional and not the cause of a missing second `=`.
Add default case for SquirrelContext switch and logs errors so we can catch them if they do ever happen.
…tion (R2Northstar#706)

In C++ explicit template instantiations need to be done AFTER template declarations are made.
v3 is outdated and will soon be deprecated

Co-authored-by: Jan <[email protected]>
Builds Northstar with the Microsoft provided clang-cl build next to MSVC
Release builds are unchanged and still only built with MSVC
v3 is outdated and will soon be deprecated

Co-authored-by: Jan <[email protected]>
…2Northstar#712)

RapidJSON switch gets a new case for null, where we do nothing. Future enum values would result in a new warning.
The use of sizeof is incorrect here since `this` is a pointer and sizeof is used on the pointer directly, instead of what the pointer points to.
It seems to work without issue due to padding but could cause issues if an instanced class like `std::string` gets nulled.
Microsoft, in their infinite wisdom, decided to suffix some libraries with `.Lib` instead of `.lib`
This causes issues with cmake on Linux because it only looks for `.lib` which it won't be able to resolve because the file system is case sensitive.
Microsoft does this for backwards compatibility, in cmake this is a limitation so the best solution is to bite the bullet and lowercase all libraries which setups such as wine-msvc and xwin already do.
The standard states that this must always be a valid pointer so these checks are optimized out anyway.
Sane compilers, such as clang, also complain about this and state that this is pointless.
the compiler knows we want to override here, since the original `custom_sink_it_` is virtual but we should be explicit to prevent any mistakes.
I think its best if we use the static runtime to remove more dynamic dependencies that we can't anticipate.
alloc declarations to work with CRT
implement missing _recalloc_base and _msize
Move primelauncher cmake logic into its subdirectory allowing everything related to it to be self contained
`HasMember` asserts `IsObject()` internally.
In release builds this is not an issue but this does not work on Debug builds.
Check for Console Window before allocating one and remove "console already exists" from error message, we know it doesn't
as its used once and does not warrant being in the precompiled header
The wsock proxy is so small and self contained that it really does not benefit from a precompiled header.
…R2Northstar#408)

Properly handle invalid cvar replications without blocking netmessage entirely and restore `ns_server_name` replication
Because:
- Errors are incredibly confusing when non-fatal - there is no indicator that an error is happening
- The error is unknown without a try/catch block
- Errors cannot be tracked to a line, or file, and its location has to be figured out manually
- They can throw a game into an unexpected state with no indicator, confusing both players AND developers
Add a Squirrel VM method to know if a given mod is remote or not.
This basically prevents audio files from being loaded into memory if matching audio event has already been overriden by a previous mod, preventing a crash from occurring.

This means that audio mods now respect the load priority, i.e. mods with higher priority (= lower int value) will have priority over other mods on audio overrides.
Verify JSON has attributes before trying to access them
`pushSQObject` does not exist

Co-authored-by: EladNLG <[email protected]>
GeckoEidechse and others added 4 commits July 10, 2024 15:13
for filesystem namespace instead of relying on implicit include

Co-authored-by: Jan <[email protected]>
Revert R2Northstar#741 and remove log message since it's not a big deal
Previously, the verified mods manifesto was fetched on game start without checking if the verified mod feature is enabled Squirrel-side; with this, the manifesto is only fetched when the user wants to download a mod (meaning they enabled the feature beforehand).
Adds a function that converts entities to SQObjects to the SquirrelManagers.
@wolf109909 wolf109909 closed this Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants