aboutsummaryrefslogtreecommitdiff
path: root/src/fixes.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove years from copyright headersGravatar Michael Smith 2025-04-071-2/+2
| | | | | | | | They're legally unnecessary as far as I know, and kind of annoying to maintain on a long-term basis. This was done with the consent of all 3 other contributors, in case anyone was wondering.
* Fix very stupid, very old mistake in fixes.cGravatar Michael Smith 2025-04-061-2/+6
| | | | Thanks, months-ago Hayden! Finally remembered to do this.
* Use C23 void-argument-free prototypesGravatar Michael Smith 2025-04-061-6/+6
| | | | | | | In the future we can also consider moving to {} instead of {0} for initialisers, but my old Clang (16) doesn't support this, so it might be wise to wait longer on that one so people don't need too bleeding-edge of a compiler just to build this thing.
* Rewrite and redesign codegen and feature systemGravatar Michael Smith 2025-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Also switch to somewhat proper C23 flags while we're at it. This is a huge change. It took me forever, in between being really busy. Sorry about that. But the good news is I'm now free to start integrating the various patches that have accumulated since last release. Well, at least in between still being really busy. Gotta manage expectations. The main benefit of introducing GAMESPECIFIC() is that features that don't apply to a particular game no longer show up *at all*, and less time is wasted on init. It also enables a cool optimisation wherein unnecessary REQUIRE_GAMEDATA() checks can elided at compile time whenever the gamedata is known up-front to always exist in supported games. The DEF_FEAT_CVAR macro family meanwhile makes it easier to manage the lifecycle of cvars/ccmds, with less manual registering, unhiding and such. Originally I was going to try and just hack these features into the existing codegen abomination, but it just got too terrible. This rewrite should make it easier to continue tweaking codegen behaviour in future. It also has slightly better error messages.
* Unhide con_logfile in fixesGravatar Michael Smith 2024-08-291-0/+1
|
* Add a quick hack fix for Portal 4104 demo playbackGravatar Michael Smith 2024-08-231-1/+30
| | | | | | Thanks Evan Lin for doing the hard RE work to figure out the necessary patch - I just reimplemented that here in about the dumbest way possible.
* Revise syntax macros and add a ton of branch hintsGravatar Michael Smith 2024-08-231-7/+7
| | | | | | | | | My new programming style is branch hints. All non-confusing branches must be hinted when I can be bothered. It's faster, sometimes, maybe. Also, start trying to use more signed sizes in at least some of the places where it makes sense. Unsigned sizes are surprisingly error-prone!
* Fix another stupid fps_max exploitGravatar Michael Smith 2023-08-021-2/+2
|
* Fix L4D VGuiConnect/VGuiIsInitialized gamedataGravatar Willian Henrique 2023-06-151-1/+0
| | | | | | | This was actually breaking deferred initialisation in 0.5, the main observable effect being that the L4D1 console spam fix stopped working. Committer's note: woopsy!
* Prune some comments and tidy up other minor thingsGravatar Michael Smith 2023-06-101-1/+2
|
* Fix enabling and disabling addons in L4D1Gravatar Hayden K 2023-05-041-0/+5
|
* Unhide cl_showdemooverlayGravatar Hayden K 2023-05-041-1/+2
|
* Fix some miscellaneous stupid bugs and jankGravatar Michael Smith 2023-04-081-1/+1
| | | | Note: fixes.c was changed this year, so correct the copyright year too.
* Document more recent knowledge on the lag issueGravatar Michael Smith 2023-01-151-7/+6
|
* Enforce L4D2 FPS limit properly when loaded lateGravatar Michael Smith 2022-09-131-1/+2
| | | | Shoutouts to Lokki for accidentally reporting this bug.
* Allow cl_fullupdate as an attempted bug workaroundGravatar Michael Smith 2022-08-161-0/+20
|
* Properly solve load order issues via deferred initGravatar Michael Smith 2022-05-191-8/+0
|
* Rerun L4D1 console spam fix after config loadingGravatar Michael Smith 2022-05-121-0/+8
| | | | | | This was the simplest way I could think of to solve this issue. Thanks again Aciidz for pointing the issue out, and thanks Turtle Rock for shipping such a broken game.
* Allow lowering fps_max in the Left 4 DeadsGravatar Michael Smith 2022-05-041-0/+21
|
* Centralise engine access, add Portal FOV changerGravatar Michael Smith 2022-04-301-1/+0
| | | | | | | | | | | | | | | - A bunch of stuff is now defined in one header, engineapi.h - engineapi.c is responsible for setting up any interfaces/stuff that's used in more than one place - mkgamedata is pretty much rewritten and now supports nested conditionals - gamedata variables no longer have the gamedata_ prefix because it was just annoyingly long all the time - vcall macros are somewhat revamped and support dynamic (gamedata) indices - Portal 1 FOV can be set anywhere from 75-120 using fov_desired - tested in both the main versions currently used by runners - A few typos were also fixed ("intput," "writeable," "indexes")
* Fix a couple of bits of convar min/max brokennessGravatar Michael Smith 2022-04-261-0/+1
| | | | It's amazing how long these things can go unnoticed.
* Suppress L4D1 console spamGravatar Hayden 2022-04-251-0/+7
|
* Organise general and game-specific fixesGravatar Michael Smith 2022-04-251-27/+32
|
* Fix dark L4D2 rendering on Intel integrated GPUsGravatar Michael Smith 2022-04-251-0/+27
| | | | Thanks Aciidz for helping test this.
* Fix some egregious and sloppy mistakesGravatar Michael Smith 2022-04-061-2/+2
| | | | | | Thanks Aciidz and Bill for spotting these. Lesson (ostensibly) learned: Don't program while sleep-deprived!
* Fix a couple of errataGravatar Michael Smith 2022-03-191-4/+3
| | | | | | | 1. Why is it so hard to remember to bump the years aaaaaaaaaaaaaaaaaaaa 2. Aciidz wrote the mat_monitorgamma patch a while ago and it turns out he since found out it's not version-specific, so the comment was confusing.
* Fix L4D1 v1.0 mat_monitorgamma flags for QoLGravatar Hayden 2022-03-191-0/+11
| | | | Also unhide demo_interpolateview because yes.
* Spruce up text and fix some copyright yearsGravatar Michael Smith 2022-03-191-2/+2
| | | | Sometimes, you just want to Unicode.
* Fix Left 4 Dead 2 Survivors crashingGravatar Michael Smith 2022-01-171-1/+1
|
* Fix up more command flagsGravatar Michael Smith 2022-01-071-7/+21
| | | | | Mostly L4D leaderboard related stuff, but shouldn't really hurt anyone in other games.
* Fix mat_queue_mode *properly*Gravatar Michael Smith 2022-01-071-13/+16
| | | | | | | I hadn't realised this was all that newer versions did. Thanks Aciidz for testing the fix on earlier versions too and confirming that it really is this simple.
* Add a basic L4D2 multicore rendering workaroundGravatar Michael Smith 2021-12-271-0/+18
|
* Unhide useful commands and allow cheats in lobbiesGravatar Michael Smith 2021-12-261-0/+59
This is done through a new "fixes" file which will probably become one of those silly dumping grounds that every project has to have somewhere to put random miscellaneous crap in. These are mainly hidden in L4D2 but they just get unilaterally unhidden if they exist, just to be sure they're accessible. As a bonus, it turns out that unhiding a single cvar also allows us to set sv_cheats 1 in Left 4 Dead 2, bringing an end to the need to port- forward a listen server for co-op practice.