Commit graph

28098 commits

Author SHA1 Message Date
AJ Martinez
be377e523d Merge branch 'convert-r-textures' into 'master'
Convert r_textures.c -> r_textures.cpp

See merge request KartKrew/Kart!2479
2024-10-19 00:05:39 +00:00
AJ Martinez
3c38cabaa2 Merge branch 'vector-fps-storage' into 'master'
Use std::vector for r_fps storage

See merge request KartKrew/Kart!2478
2024-10-19 00:03:14 +00:00
Sal
323452df73 Merge branch 'vote-anger-fix' into 'master'
Fix map anger race condition

See merge request KartKrew/Kart!2447
2024-10-18 01:13:42 +00:00
Sal
663ea2b123 Merge branch 'fix-checkpoints' into 'master'
Fix checkpoints desyncing in netgames

See merge request KartKrew/Kart!2474
2024-10-18 01:09:21 +00:00
Sal
067a1007da Merge branch 'more-saveg-fixes' into 'master'
Several netsave fixes / improvements

See merge request KartKrew/Kart!2475
2024-10-18 01:08:07 +00:00
Eidolon
96a39fd45b Convert r_textures.c -> r_textures.cpp 2024-10-16 21:30:23 -05:00
Eidolon
2cad0b0cc0 Use std::vector for r_fps storage
This isn't an optimization for the mobj pointer list, but it is an
optimization for level interpolators, which previously made N
allocations for N non-mobj thinkers. Now those allocations are amortized
according to std::vector's storage.

This could still be further cleaned up to be more C++-ey.
2024-10-16 20:22:01 -05:00
Eidolon
59eb36eb91 Merge branch 'convert-r-fps' into 'master'
Convert r_fps.c -> r_fps.cpp

See merge request KartKrew/Kart!2477
2024-10-16 23:17:51 +00:00
Eidolon
61d3f14621 Convert r_fps.c -> r_fps.cpp 2024-10-16 18:07:39 -05:00
Sally Coolatta
71ec8e3f4e Archive line tag list
Sectors do this, so why don't lines? Are they stupid?
2024-10-13 01:43:48 -04:00
Sally Coolatta
c4cca8c8b7 Attempt to encode less for objects
- Don't encode radius, height, or scale if they are at mapobjectscale
- Don't encode watertop if it is INT32_MAX (its actual initial spawn value)
2024-10-13 01:29:18 -04:00
Sally Coolatta
aae9374b0a Create doomednum lookup for loading mobjthinkers
Cuts off 10% of the time it takes to load mobj thinkers.
2024-10-12 23:02:31 -04:00
Sally Coolatta
4f77c9f228 Reload from spawnsectors/spawnlines/spawnsides
I do not trust memcpy due to the rendering bug even though it appeared to mostly work, so I did it manually. It's still order of magnitudes faster than reloading the level from scratch.
2024-10-12 22:24:12 -04:00
Sally Coolatta
353af883aa Add deep copy functions
Does allocation, a memcpy shallow copy, and a callback to handle memory addresses if desired. Might be reusable for runahead saves.
2024-10-12 12:39:36 -04:00
James R
e68bb676db Fix netsync of race checkpoints and associated map lines
- Use srb2::MobjList to keep checkpoint objects list
  intact after savegame load
- Use std::unordered_map of line tag and vector of line_t
  pointers
  - Use line tag for the key so multiple checkpoints may
    be associated to the same set of lines
2024-10-12 02:27:30 -07:00
Sally Coolatta
e3ccc4f0ea Fix UnArchiveSectors not actually adding tags
It was removing tags and then also removing the new ones, instead of removing tags and adding the new ones. Netsaves are so fucking scuffed.
2024-10-11 20:09:19 -04:00
Eidolon
f579d25770 Merge branch 'saveg-fixes' into 'master'
p_saveg fixes

See merge request KartKrew/Kart!2472
2024-10-08 00:28:16 +00:00
Antonio Martinez
7d584c1f79 Fix mobjcache memory leak after reloading gamestate
Weird history splice from 711804be
2024-10-07 19:15:51 -05:00
Antonio Martinez
b3086d011d Convert p_saveg to C++ 2024-10-07 19:15:51 -05:00
Sal
39a0724db6 Merge branch 'no-snull' into 'master'
SOC/Lua null struct safety

Closes #1488

See merge request KartKrew/Kart!2469
2024-10-05 15:26:06 +00:00
Sal
7ad44ec693 Merge branch 'fix-overtime-resync' into 'master'
Fix Battle Overtime resync under certain conditions

Closes RingRacers#205 and #1353

See merge request KartKrew/Kart!2468
2024-10-05 15:25:44 +00:00
Sally Coolatta
9cce0811d8 Fix flipped G_SameTeam in K_FindJawzTarget 2024-10-04 19:20:07 -04:00
Sally Coolatta
68eb4311f0 Fix osx pipeline being unhappy for unordered_map
- v_draw.hpp was simply missing the header entirely.
- r_debug_printer.cpp is the weird one -- unordered_set's definition uses unordered_map, but it seems like osx's standard library does not include it in their definition? wut?
2024-10-04 19:07:31 -04:00
Sally Coolatta
83edda8f11 SOC/Lua null struct safety
- SOC cannot edit S_NULL. (It already does it this way for sfxinfo and mobjinfo.)
- Lua cannot get or set S_NULL & MT_NULL. (It already does it this way for sfxinfo.)
- Lua cannot set a custom mobjinfo field called "string". (There is already a getter called "string", so this would create weird behavior for someone who doesn't know about it.)
2024-10-04 18:35:46 -04:00
James R
1b4bdf247c Fix Battle Overtime resync under certain conditions
Resync can be triggered when server/clients differ in the
number of Overtime laser objects spawned. For example,
when one of the clients is in splitscreen.

- MT_OVERTIME_PARTICLE had a spawnstate of S_NULL
- P_SetupStateAnimation is always called on spawn,
  regardless of if the spawnstate is S_NULL
- S_NULL inexplicably has FF_RANDOMANIM in its frame flags
  - This is NOT intentional and the likely source of the
    error is SOC/Lua
- Setting MT_OVERTIME_PARTICLE's spawnstate to S_INVISIBLE
  solves the problem
2024-10-04 14:57:29 -07:00
toaster
af5a65440d Compilation error repair
The compiler is just not smart enough to see that program flow is completely under order, so make sure every variable is initialised
(also change some variable types here and there)
2024-09-28 20:27:50 +01:00
Oni
71588f490f Merge branch 'queue-skin' into 'master'
Queued skin/color changes

See merge request KartKrew/Kart!2452
2024-09-28 17:46:42 +00:00
Oni
c357f544d5 Merge branch 'descriptive-controls' into 'master'
Descriptive controls

See merge request KartKrew/Kart!2460
2024-09-28 17:46:12 +00:00
Antonio Martinez
94db0ebc0e Admin Tools descriptige input 2024-09-28 03:03:40 -07:00
Antonio Martinez
f721eca7be Shorter key names 2024-09-28 02:52:31 -07:00
Antonio Martinez
bac60e3af8 Improve descriptive zvote offsetting 2024-09-27 15:43:19 -07:00
Antonio Martinez
c2f56050c3 Descriptive spectator controls 2024-09-27 15:24:54 -07:00
Antonio Martinez
7161de29fd Migrate old profiles, set descriptiveinput Modern 2024-09-27 06:44:00 -07:00
Antonio Martinez
dfd15ca8a2 Real definitely final button unfuck TWO 2024-09-27 05:29:57 -07:00
Antonio Martinez
b1bd711d5e Really definitely final button literal unfuck 2024-09-27 05:29:47 -07:00
Antonio Martinez
555e4eaa4c Final raw button literal fixups?! 2024-09-27 04:44:59 -07:00
Antonio Martinez
d7eebe1016 Use splitfont for FPZ help text 2024-09-27 04:20:44 -07:00
Antonio Martinez
00e97a4387 fix Top, FPZ help text 2024-09-27 04:19:34 -07:00
Antonio Martinez
f12f69559b Unused warning TWO 2024-09-27 03:30:52 -07:00
Antonio Martinez
a51ec95237 Fix extra debug print in patch allocation 2024-09-27 03:29:07 -07:00
Antonio Martinez
92c2f5d5a5 Unused warning 2024-09-27 03:29:07 -07:00
Antonio Martinez
7a9793f202 Fix profile control menu youfuckedups 2024-09-27 03:29:07 -07:00
Antonio Martinez
89036e07eb big ol fucking fuck 2024-09-27 03:29:07 -07:00
Antonio Martinez
8e47e37af1 Responsive button display setting, no more standardbuttons 2024-09-27 03:28:40 -07:00
Antonio Martinez
c6d3f78246 bring that enum in 2024-09-27 03:28:40 -07:00
Antonio Martinez
c96b96eb5f Fix saturn type C 2024-09-27 03:28:40 -07:00
Antonio Martinez
cad7273ff4 Controller type refactor 2024-09-27 03:28:40 -07:00
Antonio Martinez
80912b173c Descriptiveinput in profiles, various 6bt. modes 2024-09-27 03:28:40 -07:00
Antonio Martinez
598a91039b Change help text for descriptiveinput 2024-09-27 03:28:40 -07:00
Antonio Martinez
d1798c80fe Descriptive input: expanded 6bt support 2024-09-27 03:28:40 -07:00