Commit graph

728 commits

Author SHA1 Message Date
MascaraSnake
68da1856da Implement linedef args (unused and untested so far) 2020-01-02 12:23:14 +01:00
MascaraSnake
5ba179ad7c Fix two bugs in extended segs loading, and add some error checking while I'm at it 2020-01-02 09:51:07 +01:00
MascaraSnake
02acf6222b P_LoadExtendedSubsectorsAndSegs: Slightly simplify the seg vertex reading code 2020-01-02 00:32:29 +01:00
MascaraSnake
2da9c3cf81 P_LoadTextmap: Bail out if certain mandatory fields are not set 2020-01-01 23:52:30 +01:00
MascaraSnake
4f26a8e73a Move MAXFLATSIZE define to p_spec.h so p_spec.c doesn't have to redefine it 2020-01-01 16:01:07 +01:00
MascaraSnake
9cda82d896 Rework textmap parser to always read a parameter's value, even if it doesn't recognize the parameter 2020-01-01 15:52:59 +01:00
MascaraSnake
6724b11c36 Whoops 2020-01-01 15:11:39 +01:00
MascaraSnake
a41c640559 Move shared parts of sidedef initialization into P_InitializeSidedef 2020-01-01 15:10:41 +01:00
MascaraSnake
fe198b8a32 Check if certain mandatory linedef and sidedef fields are set, and use fallback values if not 2020-01-01 14:27:01 +01:00
MascaraSnake
b59532bcca Setup repeatcnt in P_LoadSidedefs instead of P_ProcessLinedefsWithSidedefs, since UDMF can set it directly 2020-01-01 14:13:24 +01:00
MascaraSnake
24d68ba07e P_LoadTextmap: Set defaults for all linedef and sidedef fields that UDMF is allowed to set 2020-01-01 13:40:17 +01:00
Jaime Passos
b41cd59e51 Revert "Merge branch 'software-clownery' into 'master'"
This reverts merge request !578
2019-12-31 23:40:17 +00:00
fickleheart
b22de48c03 Merge branch 'next' into next-newcontrols
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2019-12-31 12:58:36 -06:00
Jaime Passos
cd1cc9a222 Fix desynch 2019-12-31 14:00:25 -03:00
Jaime Passos
7b54846a02 Merge remote-tracking branch 'origin/master' into software-clownery 2019-12-30 23:21:42 -03:00
Jaime Passos
181a366d4a Merge remote-tracking branch 'origin/next' into respawndelaygametyperule 2019-12-30 18:39:31 -03:00
James R
fc8c0f8a9a Merge remote-tracking branch 'origin/master' into next 2019-12-30 13:16:53 -08:00
MascaraSnake
013f1f70d9 -Set defaults for vertex and mapthing fields in textmap
-Fix P_InitializeSector being called too early (band-aid fix for now, will reorganize this properly later)
2019-12-30 21:23:00 +01:00
fickleheart
e0f35d207f Convert analog/directionchar cvars into 2-long arrays 2019-12-30 14:01:14 -06:00
fickleheart
085c39128f Save separate camera settings for standard/simple modes 2019-12-30 12:10:38 -06:00
MascaraSnake
05a97530c1 Add support for flat offset and rotation fields in UDMF 2019-12-30 17:28:10 +01:00
MascaraSnake
72bb673209 Some minor refactoring of textmap loading code 2019-12-30 16:28:22 +01:00
Jaime Passos
7676f11112 Merge remote-tracking branch 'origin/next' into respawndelaygametyperule 2019-12-30 12:09:45 -03:00
Nev3r
99aace19f5 Merge branch 'textmap-parser' of https://git.magicalgirl.moe/STJr/SRB2/ into textmap-parser 2019-12-30 14:48:10 +01:00
Nev3r
4a5498473c Make P_LoadMapData() a return a boolean as well as P_LoadMapFromFile(); if they fail to load, they return false, and thus P_SetupLevel() will also return false.
TextmapCount() also now returns false if brackets are left open inside a textmap.
2019-12-30 14:47:48 +01:00
Nev3r
f9d6e26558 Replace INT16_MAX with LUMPERROR in lump check. 2019-12-30 14:45:39 +01:00
Nev3r
7ae2143c91 Add a disclaimer when loading textmaps/UDMF. 2019-12-30 14:42:41 +01:00
MascaraSnake
ea87af0076 Refactor TextmapParse 2019-12-30 14:33:41 +01:00
Nev3r
c6c00aa7d5 Tweak TextmapCount()'s bracket detection to account for multiple levels, if that ever happens. 2019-12-30 13:46:37 +01:00
MascaraSnake
4aee4e3684 Refactor TextmapCount 2019-12-30 13:27:05 +01:00
Nev3r
e43df2993f Move TextmapFixFlatOffsets() above P_LoadTextmap() so that it can compile. 2019-12-30 12:33:24 +01:00
Nev3r
f9aabe753e Refactor TextmapFixFlatOffsets(). 2019-12-30 12:31:55 +01:00
Nev3r
f49b8de5fd Adapt P_MakeMapMD5() for textmaps. 2019-12-30 12:07:54 +01:00
Nev3r
ed114f655b Fixed missing M_GetToken(NULL); 2019-12-30 12:07:02 +01:00
Nev3r
aaef412823 Add basic textmap support; currently crashes when trying to free the virtres, at vres_free(). 2019-12-30 11:33:22 +01:00
James R
97c5e63dc3 Initialize 'supported' array 2019-12-29 16:52:39 -08:00
MascaraSnake
136c656cc0 Properly pass nodes data along to functions that need it without breaking the original data pointer 2019-12-29 22:11:15 +01:00
MascaraSnake
81422c4e6d Revert "Pass along virtnodes to extended nodes loading functions to make sure virtnodes->data is moved correctly"
This reverts commit cfc6428569.
2019-12-29 21:57:47 +01:00
MascaraSnake
cfc6428569 Pass along virtnodes to extended nodes loading functions to make sure virtnodes->data is moved correctly 2019-12-29 21:42:16 +01:00
MascaraSnake
e88556efe1 P_GetNodetype: The virtnodes pointer is supposed to be the output parameter, so we have to pass a pointer to that pointer 2019-12-29 21:00:20 +01:00
MascaraSnake
dd02fe0d78 P_GetNodetype: Set virtnodes for traditional Doom format 2019-12-29 20:43:41 +01:00
MascaraSnake
882e8ef7b8 Separate shared parts of seg initialization into P_InitializeSeg 2019-12-29 20:24:14 +01:00
MascaraSnake
36f86077da Move loading of extended subsectors and segs into its own function 2019-12-29 19:54:04 +01:00
MascaraSnake
c287b86fab Get rid of duplicated code in the extended seg parsing 2019-12-29 19:04:50 +01:00
MascaraSnake
3839e95d63 Move reading of extra vertices into separate function 2019-12-29 18:07:44 +01:00
MascaraSnake
45ca959f97 -Move reading of actual extended nodes into separate function, cutting down on code duplication in the process
-Fix a typo in the segs reading
2019-12-29 17:52:49 +01:00
MascaraSnake
9d009edfc8 Move copying of the nodes signature out of the else case 2019-12-29 15:59:15 +01:00
MascaraSnake
0aed60f4de Separate retrieval of nodetype and nodes lump into its own function (Function. Not file. Sorry.) 2019-12-29 15:50:53 +01:00
MascaraSnake
8032054a47 Separate loading of extended nodes into its own file 2019-12-29 15:15:32 +01:00
Nev3r
389b9e35c4 Add XNOD, XGLN and XGL3 BSP formats recognition and support. 2019-12-29 14:17:51 +01:00
MascaraSnake
abdfe60aa7 Store custom FOF flags directly in back toptexture field at map load instead of re-reading the sidedefs data later on 2019-12-29 12:01:41 +01:00
MascaraSnake
cfadbb0f36 -Add linedef pointer to side_t, so sidedefs are able to tell if they're a front or back sidedef during setup
-Fix a broken condition during setup of texture fields for the change music linedef
2019-12-29 09:39:50 +01:00
Jaime Passos
e63f77ea1a Merge remote-tracking branch 'origin/next' into respawndelaygametyperule 2019-12-28 21:39:38 -03:00
James R
90e56bcdf9 Merge branch 'levelload-refactor' into 'next'
Hack P_SetupLevel into little pie- actually just clean it up a bit

See merge request STJr/SRB2!587
2019-12-28 19:37:06 -05:00
MascaraSnake
bd7765227e Rename P_GroupLines to the more apt P_LinkMapData 2019-12-28 17:40:08 +01:00
MascaraSnake
7e5b87ce42 Fix debug prints 2019-12-28 17:37:32 +01:00
MascaraSnake
d38ee51d49 Separate setting of sector field defaults into P_InitializeSector 2019-12-28 17:29:58 +01:00
MascaraSnake
54fe91b1cc Refactor P_SetupLines into P_InitializeLinedef 2019-12-28 17:21:31 +01:00
MascaraSnake
1ca25224c2 Fix P_SetupLines printing the wrong line number 2019-12-28 17:05:04 +01:00
MascaraSnake
85de3614cb Standardize P_LoadVertices and P_LoadSidedefs 2019-12-28 16:58:48 +01:00
MascaraSnake
86d1fb73f4 Split P_LoadLineDefs2 into P_ProcessLinedefsWithSidedefs and P_CompressSidedefs 2019-12-28 16:49:56 +01:00
MascaraSnake
21b7507aee Reorganize and partially rename map loading functions 2019-12-28 16:40:35 +01:00
MascaraSnake
b1854b5c96 Remove stray #endif 2019-12-28 14:50:00 +01:00
MascaraSnake
5590343043 Rename P_LoadThingsOnly to P_RespawnThings to make it clearer that it doesn't actually reload the things from the file, it just respawns them. 2019-12-28 14:13:26 +01:00
MascaraSnake
3971067cf3 Remove some old #if 0'd code 2019-12-28 14:03:48 +01:00
MascaraSnake
303e6cee4a Merge branch 'next' into mapload-refactor 2019-12-28 13:59:24 +01:00
MascaraSnake
ceca99e3c5 Fix accidental removal of sector_t's spawn_lightlevel initialization 2019-12-28 13:58:23 +01:00
MascaraSnake
e9376a8353 Cleaned up some more stuff in P_LoadLevel() 2019-12-28 12:48:32 +01:00
MascaraSnake
c059146937 Move more P_LoadLevel parts into subfunctions 2019-12-28 11:37:56 +01:00
MascaraSnake
319ed09c00 Rename P_SetupLevel to the more accurate P_LoadLevel and separate out some of its content into subfunctions 2019-12-28 11:30:39 +01:00
Jaime Passos
3b341245f1 Same deal, but for starposts. 2019-12-27 17:14:56 -03:00
Jaime Passos
f8eed7171a add G_CompetitionGametype(void) 2019-12-27 12:28:00 -03:00
Jaime Passos
9613bdeca6 use GTR_DEATHMATCHSTARTS 2019-12-27 12:14:33 -03:00
Jaime Passos
56e94182d5 P_SetupCamera funny 2019-12-27 02:07:13 -03:00
Alam Ed Arias
61a0197339 Merge branch 'next' into gametype-clownery 2019-12-26 14:48:04 -05:00
Jaime Passos
649455c2d0 R_CalculateSegDistance stuff... 2019-12-26 01:58:38 -03:00
Nev3r
a932b54b26 Merge branch 'mapdataload_refactor' into 'next'
Mapdataload refactor

See merge request STJr/SRB2!568
2019-12-25 06:21:49 -05:00
Nev3r
c4a017ddf0 Move flat caching code to the map data load function. 2019-12-25 12:05:40 +01:00
Jaime Passos
7e5ec552ee Merge remote-tracking branch 'origin/next' into gametype-clownery 2019-12-25 06:09:00 -03:00
MascaraSnake
f11caefed7 Merge branch 'spawnhoopsandrings_refactor' into 'next'
Hack P_SpawnHoopsAndRings into little pieces

See merge request STJr/SRB2!572
2019-12-25 03:00:07 -05:00
Jaime Passos
3622829504 Merge remote-tracking branch 'aaaaaaaa/next' into gametype-clownery 2019-12-24 17:55:46 -03:00
James R
0780e48f86 Merge branch 'titlecard2' into 'next'
More customisable title card

See merge request STJr/SRB2!552
2019-12-24 14:47:55 -05:00
MascaraSnake
a57f903933 Move bonus time handling into new function P_SetBonusTime() 2019-12-24 12:52:43 +01:00
MascaraSnake
dd01fce1a8 Separate P_SpawnHoopsAndRings into different functions:
-Hoops are spawned in P_SpawnHoop
-Item patterns are spawned in P_SpawnItemPattern
-Ring-like items are spawned normally via P_SpawnMapThing
-Bonus time items are spawned via P_SpawnBonusTimeItem, which is a wrapper for P_SpawnMapThing
2019-12-24 10:50:49 +01:00
Jaime Passos
89b4a558a8 Merge remote-tracking branch 'origin/next' into gametype-clownery 2019-12-23 23:08:16 -03:00
Jaime Passos
630c06b7b0 Turn GTR_CHASECAM into GTR_FIRSTPERSON. 2019-12-23 19:24:06 -03:00
Nev3r
9a9f72f598 Don't reload mapthings in P_LoadThingsOnly() as they should no longer be modified past the mapload procedure. 2019-12-23 16:37:44 +01:00
Nev3r
d6a86c37b2 P_PrepareRawThings() is now where it was supposed to be at; moved save and flat & texture caching related functions to the end of P_LoadMapData(). 2019-12-23 16:36:26 +01:00
Nev3r
bb54597552 Remove redundant netarchive-related sector vars as they're not used anymore.
Replace lump-based difference checks for sectors in P_NetArchiveWorld(), now it uses the mapload-created copy instead.
2019-12-23 12:42:38 +01:00
Nev3r
eadf953957 Store a copy of sectors, lines and sides in memory so that P_NetArchiveWorld() can soon use them instead of relying on re-opening the original lumps.
Fix print type issue.
2019-12-23 12:30:32 +01:00
MascaraSnake
579362fd3b P_LoadMapData(): Throw an error if resources are not found. 2019-12-22 23:22:15 +01:00
MascaraSnake
a4fde93fbb Merge branch 'next' into virtres
# Conflicts:
#	src/p_setup.c
2019-12-22 23:02:47 +01:00
Jaime Passos
0accadf02f Merge remote-tracking branch 'origin/next' into gametype-clownery 2019-12-19 02:15:45 -03:00
Jaime Passos
ea5e0d28ed More gametype rules yay!! 2019-12-18 01:54:45 -03:00
Jaime Passos
254d812901 More customisable title card
Add TitleCardZigZag, TitleCardZigZagText and TitleCardActDiamond fields to SOC.
Add the same fields to Lua under their internal names.
Turn map header level flags into an UINT16, so that NoTitleCard works. (NOBODY caught this, I'm actually disappointed.)
2019-12-18 00:28:58 -03:00
Jaime Passos
e359f802fd Update comments 2019-12-17 16:14:26 -03:00
Jaime Passos
cc54163210 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-17 16:12:44 -03:00
James R
4da57653eb Merge branch 'spawn_z_refactor' into 'next'
(UDMF prereq.) Spawn Z refactor

See merge request STJr/SRB2!536
2019-12-16 23:21:07 -05:00
MascaraSnake
79350992df Some more cleanup of map loading code 2019-12-16 00:17:20 +01:00
MascaraSnake
bb3440d021 Minor cleanup of virtual resources code 2019-12-16 00:04:48 +01:00
MascaraSnake
8a6e244e60 SpawnEmeraldHunt() -> P_SpawnEmeraldHunt() 2019-12-15 09:49:54 +01:00
James R
14674223e8 Merge branch 'opengl-is-a-bad-renderer' into 'master'
OpenGL fixes

See merge request STJr/SRB2!519
2019-12-14 16:48:50 -05:00
Jaime Passos
b7c7529e75 Don't reset the FOV 2019-12-12 17:06:04 -03:00
Nev3r
c64a9d7ae9 Stop things from becoming Chocapic in THZ3, ACZ2, and special stages.
Temporarily revert function call order for mapthings.
2019-12-12 11:37:48 +01:00
Nev3r
ec9f727e53 Move map data load procedure to separate functions. 2019-12-12 11:16:55 +01:00
Nev3r
43cbad200c Move loading functions around a bit and refactor the stage data allocation code. 2019-12-12 10:35:38 +01:00
Jaime Passos
ea129f701c Fix Ploadflat closing the game with "Too many flats in level" error message 2019-12-11 22:45:47 -03:00
Nev3r
a87a9e6ff6 Remove wrappers and dupes for map lump reading, as they are no longer used. 2019-12-11 14:40:31 +01:00
Nev3r
9952bae5ee P_MakeMapMD5() now uses virtres. 2019-12-11 14:20:08 +01:00
Nev3r
4d86dc11a6 'prepare' mapthings using virtres in P_LevelInitStuff(). Whether 'preparing' them or not is actually necessary is another matter. 2019-12-11 13:54:15 +01:00
Nev3r
bf5a2c68d5 P_SetupLevel() no longer makes distinction on whether the map is a WAD in a PK3 or not. 2019-12-11 13:22:07 +01:00
Nev3r
d2cbdd4fb1 Do not overwrite the mapthing Z when spawning rings and similars, as it now causes them to respawn in wrong places because it is being actually used now. 2019-12-11 11:10:31 +01:00
Jaime Passos
9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Nev3r
8466dc5813 Move mobj spawn Z calculating to a separate function. 2019-12-10 18:03:15 +01:00
Nev3r
3dfa526eea Separate Emerald Hunt emerald spawning into another function. 2019-12-10 14:21:08 +01:00
Nev3r
6fe6db8e18 Removed seemingly redundant (and incorrect) mapthing Z load code.
The proper code seems to sit inside P_SpawnMapThing() and the SpawnHoop functions. Time will tell if I've actually commited an atrocity.
2019-12-09 14:05:22 +01:00
Nev3r
8ea7dd418a Move the axis spawning code out of the mapthing read function, and read the mapthing z in the mapthing read function. 2019-12-09 13:26:31 +01:00
Alam Ed Arias
e91a689478 Merge branch 'master' into opengl-is-a-bad-renderer 2019-12-08 12:50:45 -05:00
Alam Ed Arias
1d0cd586ba P_AddWadFile: the PK3 may not have folders 2019-12-08 12:35:21 -05:00
Jaime Passos
d74f2a003b HWR_FreeMipmapCache already calls HWR_FreeMipmapCache indirectly
(done by calling HWR_LoadTextures, which in turn calls HWR_FreeTextureCache)
2019-12-08 04:40:29 -03:00
Jaime Passos
4c808cb7e2 Actually don't even call HWR_FreeMipmapCache between levels because I feel like it's futile outside of PWAD loading 2019-12-08 04:32:25 -03:00
Jaime Passos
cc12496e9c Optimize mipmaps 2019-12-08 03:23:37 -03:00
MascaraSnake
a3549cc8f2 Merge branch 'datestuff' into 'master'
Date stuff

See merge request STJr/SRB2Internal!618
2019-12-06 16:10:36 -05:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
Jaime Passos
c0cc742fb8 Remove unnecessary function parameters from title card code 2019-12-05 01:58:19 -03:00
Jaime Passos
b646922967 fix Ploadflat warning 2019-12-04 15:41:29 -03:00
MascaraSnake
f9460434f8 Merge branch 'savedatareorder' into 'master'
Savedata load order of operations change

See merge request STJr/SRB2Internal!583
2019-12-03 02:18:06 -05:00
Alam Ed Arias
b5738620c1 Fixup compiling errors 2019-12-02 12:12:26 -05:00
toaster
6e278c1138 Change the order of operations such that savedata info is loaded before mapthings are spawned, so that if you have all the emeralds, the emerald objects won't spawn in BCZ2 if you use the SP savefile's level select to go to it directly. 2019-11-30 15:52:41 +00:00
lachwright
5719a93211 Fix 'Speeding off to...' placement in non-greeen resolutions 2019-11-26 00:16:46 +08:00
Jaime Passos
e850d42bc2 fix RA fade 2019-11-23 18:15:09 -03:00
MascaraSnake
aabddd69f1 Fixed a missing space in the "Speeding off to..." text 2019-11-23 18:51:32 +01:00
Jaime Passos
faa305a2f2 Fix crossfades
Fixes NoReload using the wrong wipestyle.
Also fixes non-titlemap title screen wipes using the wrong wipestyle.
2019-11-22 17:44:42 -03:00
toaster
3add9a9bd2 Make the SPEEDING OFF TO ZONE text that appears while loading:
* Use a mixed case "Zone" to match the mixed case level titles.
* Have V_TRANSLUCENT to not stick out too much against pure black/white backgrounds. (Can revert this aspect if necessary, but I think you'll agree it's a good balance between readable and aesthetic.)
2019-11-19 13:00:37 +00:00
Jaime Passos
8a05afa1aa Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-18 18:48:19 -03:00
Jaime Passos
6920d20a0f map header option 2019-11-18 14:08:47 -03:00
Jaime Passos
e40bf85a6f lua 2019-11-18 13:50:44 -03:00
Jaime Passos
4ea3513076 Organize 2019-11-18 12:56:41 -03:00
Jaime Passos
9d17614c55 arg 2019-11-18 11:42:45 -03:00
Jaime Passos
6c98dde736 stuff 2019-11-18 11:39:54 -03:00
Jaime Passos
c15ee65015 LEVELWIPES 2019-11-15 18:21:12 -03:00
Jaime Passos
6be45ec241 Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-14 20:24:42 -03:00
MascaraSnake
b0786f12de Merge branch 'coop-item-respawn' into 'master'
Allow item respawn in co-op again

See merge request STJr/SRB2Internal!466
2019-11-14 18:06:32 -05:00
Jaime Passos
d95a93b537 Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-14 19:57:51 -03:00
MascaraSnake
8f6890025c Merge branch 'secretstuff' into 'master'
The letter

See merge request STJr/SRB2Internal!438
2019-11-14 17:49:23 -05:00
Louis-Antoine
cccf1c8a7b Disable perfect bonus in multiplayer 2019-11-14 19:25:19 +01:00
Jaime Passos
8506d420a6 Optimise 2019-11-14 14:12:36 -03:00
Jaime Passos
10d1b63ff2 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-14 12:49:03 -03:00
Jaime Passos
4292c5fc0b Other things I missed. Also added SF_NONIGHTSROTATION. Do I even have to keep the old behaviour? I have no idea. 2019-11-14 12:27:22 -03:00
MascaraSnake
14477748be Merge branch 'stopclock' into 'master'
Stop the clock!

See merge request STJr/SRB2Internal!450
2019-11-13 14:39:59 -05:00
MascaraSnake
d591554a5d Merge branch 'radiomode' into 'master'
Radio mode

See merge request STJr/SRB2Internal!443
2019-11-13 04:16:38 -05:00
Jaime Passos
245881ec55 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-12 21:38:02 -03:00
Jaime Passos
3354169769 Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-12 20:36:06 -03:00
Jaime Passos
c6253bb6f9 Merge remote-tracking branch 'origin/master' into renderswitch 2019-11-12 20:25:40 -03:00
MascaraSnake
66123b8165 Merge branch 'internal-md3-vanilla-c' into 'master'
Internal MD3 merge 2 good riddance glBegin

See merge request STJr/SRB2Internal!362
2019-11-12 15:44:20 -05:00
Jaime Passos
b88a37949e Use REDFLR for missing flats 2019-11-09 00:08:22 -03:00
Jaime Passos
ae838d4879 Merge remote-tracking branch 'origin/master' into texture-flats-optimization 2019-11-08 23:01:29 -03:00
toaster
d8ad0b4eaa STOP THE CLOCK linedef exectutor!
* When activated, stops the timer in SP/MP.
* Applies to the mapheader countdowntimer as well.
* If you're playing Record Attack, also exits the level immediately.
* It has no special modes, no linedef flags, no parameters, nothing.
* Only not an innate property of A_BossDeath because people may want it to NOT happen sometimes, or make it happen with non-boss events too.

Also, skip over calling P_DoPlayerExit if the player isn't in game.
2019-11-08 15:47:12 +00:00
toaster
5f8671b100 Sound test is cool now!
https://cdn.discordapp.com/attachments/405336003239477249/641295998395613224/srb20042.gif

* Port MUSICDEFs from Kart.
    * Safe to modify without modifying game, so we can put it in music.dta eventually.
    * "Title", "AltTitle", "Authors" fields are self-evident.
    * "Soundtestpage" and "Soundtestcond" are used to determine which sound test unlockable can play them (set with Unlockable's variable, just like Level Select).
    * "Stoppingtime" and "BPM" both accept floats, and are used for presentation stuff on the sound test.
    * Ironically, we don't share a single field name with them. Such is the case of differing foci, though, and I expect they'll change their implementation to match (since this is necessary for a sound test).
* Change how S_AddSoundFx works to avoid iterating through all of them, and to allow cv_soundtest to only scroll through defined slots (instead of the infinite wall of thok sounds when scrolling to the left).
* Change V_DrawFixedPatch to allow scaling on two seperate axes.
    * Now called "V_DrawStretchyFixedPatch".
    * "V_DrawFixedPatch" is a macro to V_DrawStretchyFixedPatch now (same scale on both axes).
    * Available to Lua under v.drawStretched!
    * Even works in GL!
* Bugfix: Add SR_PLAYER to SOC's menutypes_list.

Stay tuned for the merge request, where I put the onus on the Music Team to finish this off...
2019-11-05 16:23:46 +00:00
Jaime Passos
00d76bd9ef fix fades for real 2019-11-05 12:10:42 -03:00
toaster
915e50a1e4 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into internal-md3-vanilla-c
Merge seems fine, but won't compile for some reason.
2019-11-02 18:34:12 +00:00
toaster
e3fe542f31 Prevent desync with modeattacking. 2019-11-01 16:25:28 +00:00
toaster
67f5b2245f Secret stuff. (I intend to keep candid discussion of this outside of any commits; you'll see me write up a comment describing what's going on here soon.) 2019-11-01 15:48:50 +00:00
Jaime Passos
94ab276508 Merge remote-tracking branch 'origin/master' into f_wipes 2019-10-28 23:14:00 -03:00
Jaime Passos
a22af36305 add r_patch.c 2019-10-28 15:28:42 -03:00
Jaime Passos
79e99dc471 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-10-28 14:29:10 -03:00
MascaraSnake
03c5b70fc5 Merge branch 'newmenus' into 'master'
Better looking menus, nametags and much more. (Resolves #245 and #244 and #252)

Closes #245, #244, and #252

See merge request STJr/SRB2Internal!389
2019-10-25 17:46:16 -04:00
James R
e15ffd2bc8 Optimize texture/patch/png/flat flat caching
SIGSEGV in the case where you have a TEXTURES entry, but no texture or flat,
has been fixed.

Missing flats for now yield a HOM instead of REDFLR as well.

OpenGL also doesn't work yet. And I'm too tired for now to bother with it.
2019-10-20 20:24:03 -07:00
Steel Titanium
3e0a9cf742
Revert my old attempt of making the level music fade out before game over jingle 2019-10-19 14:36:30 -04:00
toaster
910df54fb5 Added some examples of cvars that can use named values.
* Pandora's box now has infinite lives show up as "Infinite" instead of "-1".
* `pointlimit None`
* `timelimit None`
* Ported `basenumlaps` (with "Map default" value) from Kart to replace `usemaplaps`, for if Circuit ever gets shown any love ever again.
* `respawndelay Off`
* `resynchattempts Don't`
2019-10-15 11:49:37 +01:00
Jaime Passos
7746767735 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-10-06 17:40:41 -03:00
Steel Titanium
6b10ffb88f
Merge branch 'master' into newmenus 2019-10-01 16:52:31 -04:00
Jaime Passos
7eb5155240 sprite2info soc yummy yummy yes 2019-09-29 19:03:10 -03:00
Jaime Passos
c268743220 hehee 2019-09-29 12:13:51 -03:00
Jaime Passos
5118f8589d Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-28 12:14:55 -03:00
Jaime Passos
fe60902df5 Merge remote-tracking branch 'origin/master' into renderswitch 2019-09-27 22:53:57 -03:00
toaster
3285cc9a0d Properly scrub the player struct clean between level transitions. (Good chance this fixes our new bug where the player gets stuck in their standing pose when the map begins..?) 2019-09-18 16:06:13 +01:00
Nev3r
777e7f8760 Merge branch 'deathstuff' into 'master'
Lots of death stuff

Closes #207

See merge request STJr/SRB2Internal!306
2019-09-16 16:32:45 -04:00
Jaime Passos
db979845e0 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-09-15 16:24:24 -03:00
Jaime Passos
f2915817a7 Merge remote-tracking branch 'origin/master' into newmenus 2019-09-11 22:17:42 -03:00
toaster
440b63ef13 Merge branch 'musicplus-resetmusic-followup' into 'master'
Follow-up fixes for reset-upon-dying music

See merge request STJr/SRB2Internal!284
2019-09-11 14:14:09 -04:00
toaster
10a0b38ab1 Fix an issue where completing a stage normally would not correctly set startrings for the next one (as opposed to warping directly or dying inside it). 2019-09-11 14:25:22 +01:00
Jaime Passos
8057eeaaca Merge remote-tracking branch 'jimita/renderswitch' into renderswitch 2019-09-10 18:12:01 -03:00
Jaime Passos
f0788598c9 Better fades 2019-09-09 23:31:48 -03:00
Jaime Passos
0a973af5b8 Comments 2019-09-09 19:27:08 -03:00
Jaime Passos
da93e0f1f5 I am the CEO of renderers 2019-09-09 16:20:17 -03:00
Nev3r
043bb86acd Revert "Merge branch 'flats-png_port' into 'master'"
This reverts merge request !322
2019-09-09 18:40:21 +00:00
Jaime Passos
6553d816ea Merge remote-tracking branch 'origin/master' into flats-png_port 2019-09-09 14:12:28 -03:00
Jaime Passos
725d0b4c44 still making things better 2019-09-08 21:37:24 -03:00
Jaime Passos
c7e01a558e initial stuff 2019-09-08 18:44:40 -03:00
Jaime Passos
2863ede7bf initial stuff 2019-09-08 18:27:35 -03:00
Jaime Passos
0cc553be5f Merge remote-tracking branch 'jimita/flats-png' into flats-png_port 2019-09-06 19:20:45 -03:00
Jaime Passos
1dca3338fd Sprite2 support but I'm not a dumbass 2019-09-03 18:27:22 -03:00
Steel Titanium
8655b8f1f1
Add spawn object linedef special.
Note that spawning a object within a random range does not fully work yet and crashes the game
2019-08-29 01:57:58 -04:00
Jaime Passos
f68652aa66 I 2019-08-18 14:16:48 -03:00
Steel Titanium
ff9766beee
Merge branch 'master' into newmenus 2019-08-14 22:51:06 -04:00
mazmazz
46993268ae * Added FORCERESETMUSIC level header
* cv_resetmusicbyheader toggle to disable said override
* Never reset music during time attack
* Change cv_resetmusic default back to off
2019-08-04 20:02:38 -04:00
toaster
b06af59907 Merge branch 'revert_revert_musicplus' into 'master'
Revert "Revert MusicPlus"

See merge request STJr/SRB2Internal!282
2019-08-04 13:58:01 -04:00
Steel Titanium
dacee0665d
More menu stuff 2019-08-04 13:26:25 -04:00
Steel Titanium
153ed82849 Last min changes 2019-08-04 11:34:55 -04:00
toaster
384dc0674e Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit 603d5805f7.
2019-08-04 12:03:57 +01:00
toaster
603d5805f7 Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 56bfdb7113, reversing
changes made to c29cfbef9b.
2019-08-04 11:32:55 +01:00
mazmazz
cdb7250da4 Merge branch 'musicplus-feature-postboss' into musicplus-aug2019-b 2019-08-04 03:22:36 -04:00
mazmazz
5f2a45befd Merge remote-tracking branch 'origin/master' into musicplus-feature-dying-fp 2019-08-03 22:49:20 -04:00
mazmazz
a9b66109fc Fix titlemap music bug 2019-08-03 22:49:12 -04:00
mazmazz
efc8e42083 Fix titlemap music bug 2019-08-03 22:48:40 -04:00
mazmazz
1b59b224c0 Merge branch 'master' into musicplus-feature-dying-fp 2019-08-03 22:22:39 -04:00
Steel Titanium
00c3329ba9
Ring sparkle mirroring 2019-08-03 18:28:53 -04:00
Steel Titanium
9ea7a6dfca
Work on menus 2019-08-03 17:30:51 -04:00
toaster
8a0f1e7ed4 Merge branch 'ending' into 'master'
ENDINGS

See merge request STJr/SRB2Internal!264
2019-08-03 16:23:51 -04:00
toaster
9f34a7aa82 Merge branch 'bossenable' into 'master'
Boss enable linedef (type 449)

See merge request STJr/SRB2Internal!272
2019-08-03 16:23:22 -04:00
Monster Iestyn
8520243ab6 Merge branch 'emeraldfixes' into 'master'
Special stage related fixes

See merge request STJr/SRB2Internal!269
2019-08-02 13:08:20 -04:00
Steel Titanium
e8caa8538d
Merge branch 'master' into newmenus 2019-08-01 18:36:42 -04:00
toaster
7cb02985f4 * Added boss enable linedef (type 449).
- Frontside x offset = boss ID (determined via parameter for all bosses)
	- Noclimb flag = disable mode
	- Bosses don't do a fuckin' THING - no state updates, no player searches, no sounds, no lua, no nothin' - and it's all totally netsynced.
	- The only thing they WILL do is flash infinitely if you hurt them, but this is designed for stuff where you're not meant to be in the same room as the boss til it's activated.
	- All bosses of all IDs are automatically enabled on mapload, then if an enable mode version of this linedef is present in the map for a specific boss id, that boss id is automatically disabled.
* Add multi-boss support via parameter for:
	- All bosses' MT_BOSSFLYPOINT search
	- Boss 5's waypoint search
	- Oldbrak's waypoint search (this one's for you, jood)
2019-07-31 23:17:17 +01:00
toaster
18e43a5cef * Fix "exitlevel" being counted as a special stage success despite not giving you an emerald by inverting stagefailed's default value, since there's only a limited number of ways you can WIN at a special stage.
* Correct a potential source of desync in P_GiveEmerald.
2019-07-30 16:44:40 +01:00
toaster
deaee586ed Make MANIASPHERES' #define'd away stuff also recreatable with SOC, since I want to release it publically if the team don't want it. 2019-07-29 21:06:17 +01:00
toaster
47554b57e4 * Made the evaluation screen even more attractive.
* Fixed an unused variable warning in lua_skinlib.c.
- fixed post-level cutscenes playing when you get game over in MP (still kinda on-topic)
Also with apologies to MI:
- golden egg statue mode for tutorial, since the grey doesn't contrast enough with the blue and lime green
- fixed closed captions for replaced player sounds being incorrect
- fixed closed captions overlapping tutorial text
2019-07-29 14:55:36 +01:00
toaster
063e350c63 A good and bad ending cutscene now exist.
Also:
* SPR2_XTRA - instead of defining lumpnames in S_SKIN, those kinds of assets can just be bundled into the spriteset. Required for ending cutscene stuff, I guess, but also done for HUD life icon and character select image (aside from Sonic&Tails, still SOC'd in).
* Minor oversights in SPR2 support corrected.
* Better evaluation, featuring ending assets.
* Intro has warping-in blackrock, reusing ending assets.
* Cutscene text now supports lowercase (intro and custom).
* Disable the asset-fucking "gamma correction" I put in over two years ago when implementing colour cube. (This is the only thing I could move into another branch if you MUST, but it's basically invisble in the diff so w/e.)
* Don't blank the screen if the top left pixel of a screen-covering patch is transparent. (Checked via nonzero topdelta for first column)

Bugs:
* OPENGL ONLY: The first ~20 frames of both endings are fucked. A little help here? Might be HWR_DrawFadeFill's fault, which I just created. OR it could be in f_finale, but I doubt it, since it doesn't appear in Software.
2019-07-28 00:32:57 +01:00
Monster Iestyn
fac6de9c2e The titlemap glitches turned out to be linked to deathmatchstarts, which wasn't actually properly cleared out each level load ...let's actually fix that, lol.
(Neither were the CTF starts but those didn't directly cause any problems luckily)
2019-07-14 18:10:03 +01:00
Jonas Sauer
166f1fac66 Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
MascaraSnake
a5074a846b Implemented a skin-based linedef executor trigger 2019-07-03 09:19:29 +02:00
MascaraSnake
e9978b2955 Merge branch 'master' into thinkerlists
# Conflicts:
#	src/f_finale.c
#	src/p_enemy.c
2019-07-02 23:08:37 +02:00
Monster Iestyn
9913cc39a1 Merge branch 'public_next'
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
#	src/p_user.c
#	src/r_data.c
2019-06-29 20:55:58 +01:00
Jaime Passos
28566008b4 Merge remote-tracking branch 'upstream/master' into flats-png 2019-06-25 16:02:35 -03:00
Steel Titanium
8026fe0d4b Some few changes.
The amount of rings you start with also applies when you respawn from a starpost.

Startrings counts the ring total requirement for a perfect bonus.
2019-06-24 16:21:03 -04:00
Steel Titanium
a801efa946 Forgot to do this. 2019-06-23 18:51:42 -04:00
Nev3r
264386f842 Add visplane portal creation functionality and use it to replace the skybox rendering.
The skybox rendering process has been replaced with portals instead. Those are generated after the first BSP tree pass by looking for existing sky visplanes at the time, and their windows are used to define new portals.
The skybox portals are still incomplete and cause visual glitches when masked elements are involved.
2019-06-02 00:07:55 +02:00
Jaime Passos
0bcf89679e Hardware renderer: Fix polyobjects 2019-05-26 18:16:13 -03:00
Jaime Passos
dbb1575a6d Animations, better flat management. 2019-05-21 15:24:26 -03:00
Jaime Passos
714c997aac Support for patches and textures to be used in place of sector flats
Still a work in progress.
2019-05-21 00:28:52 -03:00
mazmazz
89ab777c40 Merge remote-tracking branch 'origin/master' into menu-execs 2019-05-02 18:47:43 -04:00
Nev3r
a9110c0645 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r
11dba34f43 Remove dynamic slope queue list due to now being unnecessary.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:52:18 +02:00
Nev3r
d264d06879 Merge branch 'slopethinkers' into thinkerlists
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:47:34 +02:00
Nev3r
b60c66325c Added a mobj-only list entry for mobj thinkers
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 23:29:20 +02:00
Nev3r
39ba20be6b Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
Nev3r
b3ac590e5e Add a slope thinker queue.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 13:06:06 +02:00
Nev3r
5401e9560f Dynamic slopes now use thinkers.
* Moved dynamic slope-related data into its own thinker.
* Vertex slopes no longer use the mapthings directly.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-19 14:14:43 +02:00
mazmazz
ad50fa4d9e Fix MIDI crash bug when changing music between levels
This happened when the old music was ERZ2 native midi, then warping to any other level.
2019-03-15 10:02:50 -04:00
mazmazz
7346684bd8 Fade out music upon dying or level change: 2.1 frontport 2019-03-15 04:21:17 -04:00
mazmazz
f163633591 Merge branch 'public_next' 2019-03-15 01:43:03 -04:00
mazmazz
e098d6a8b8 Merge branch 'public-musicplus-feature-interfadeout' into public-musicplus-feature-endoflevel 2019-03-15 01:09:12 -04:00
mazmazz
6cf05a4613 Implement MUSICINTERFADEOUT level header 2019-03-15 01:05:52 -04:00
mazmazz
773f9dc2ba Merge remote-tracking branch 'public-gl/next' into public-musicplus-feature-endoflevel 2019-03-15 00:39:26 -04:00
mazmazz
4377386153 Merge branch 'public_next' 2019-03-15 00:33:06 -04:00
mazmazz
9ec98c588f Merge branch 'public_next' 2019-03-14 22:15:34 -04:00
MascaraSnake
bc30bd06df In-map emblem coordinates are now set via emblem mapthings (thing type 322) instead of X/Y/Z fields in SOC 2019-02-03 14:32:07 +01:00
MascaraSnake
8c345b87ca Emblem and unlockable SOFTcoding! Emblems and unlockables are no longer predefined in the code and instead loaded from IWAD 2019-02-03 11:05:22 +01:00
Monster Iestyn
f3796dc7f6 revert to LF_SAVEGAME system code, removing all traces of saveoverride
(I believe Sal wanted us to do this anyway, so...)
2019-01-08 17:14:21 +00:00
mazmazz
b3f7b169b2 Merge errors for compile 2019-01-07 17:05:20 -05:00