Commit graph

157 commits

Author SHA1 Message Date
Monster Iestyn
7ae6d5ee8c Merge branch 'public_next'
# Conflicts:
#	src/doomstat.h
#	src/g_game.c
2019-03-28 14:19:02 +00:00
Monster Iestyn
7441dd7d9b Merge branch 'master' into next 2019-03-25 18:08:36 +00:00
Steel Titanium
6d751ff302 Remove the define. 2019-03-15 18:46:25 -04:00
Steel Titanium
5a170b9e4e Merge branch 'master' into errorifpng 2019-03-15 16:40:47 -04:00
Steel Titanium
15323328c5 Check using memcmp() 2019-03-03 22:43:21 -05:00
Steel Titanium
3d5d02fc15 Error if the lump is a PNG lump 2019-03-03 19:58:01 -05:00
Monster Iestyn
a93e96c75b Merge branch 'public_next'
# Conflicts:
#	src/sdl12/Srb2SDL-vc10.vcxproj
#	src/sdl12/Srb2SDL-vc9.vcproj
#	src/sdl12/macosx/Srb2mac.pbproj/project.pbxproj
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
2019-03-02 20:51:15 +00:00
Alam Ed Arias
c2618fd987 Merge branch 'master' into next 2019-03-01 17:32:17 -05:00
Alam Ed Arias
f823768699 Fix building without BLUA support 2019-03-01 17:31:32 -05: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
Nev3r
7d09149b04 Solved conflicts related to PK3s
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-01-07 19:00:31 +01:00
mazmazz
a3fd5e7247 Revert "Un-dummy md5 checks"
This reverts commit 908a6d321d.
2019-01-04 11:31:20 -05:00
mazmazz
908a6d321d Un-dummy md5 checks 2019-01-02 23:31:29 -05:00
mazmazz
075f28b7c8 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
Digiku
393c64b8bc Merge branch 'expanded-nmuslist' into 'next'
Expand NMUSList to include HUD changes

See merge request STJr/SRB2!388
2019-01-01 15:06:04 -05:00
Arthur
587ffa9ada Removed gr_voodoocompatibility as even low-power mobile devices do not have this limitation
No longer using byte2float in DrawPolygon -- use the surface color data directly
Vertex Buffer Objects for non-interpolated model frames
Removed some old unused paletted texture stuff
2018-12-27 00:35:29 -05:00
mazmazz
1b7a9aaa01 2.1 Score/Time/Rings lump name 2018-12-16 16:53:13 -05:00
mazmazz
899120e475 Revert NMUSlist to original 2.1 2018-12-16 16:42:57 -05:00
mazmazz
d7321fd8c4 Pull expanded NMUSlist from 2.2 2018-12-16 16:40:40 -05:00
mazmazz
046d36a657 Remove Kart entries from NMUSlist 2018-12-16 16:08:31 -05:00
mazmazz
f0967520ed Compile fixes; enable PK3 support in addons menu
* Add missing vars highlightflags, recommendedflags, warningflags from Kart
* V_GetStringColormap() use vanilla behavior because Kart behavior glitches for us
* V_GetStringColormap() made non-static
2018-12-15 21:44:39 -05:00
mazmazz
37950341ec Merge remote-tracking branch 'public-gitlab/next' into addons-backport 2018-12-15 20:52:46 -05:00
mazmazz
0a3b3736bf Handle Kart-specific changes; add PK3 to exttable 2018-12-15 20:50:33 -05:00
mazmazz
b32f50648d Merge branch 'addons_menu' into 'master'
Addons menu

See merge request KartKrew/Kart!8
2018-12-15 20:46:42 -05:00
Monster Iestyn
e0a1c43813 Free lump names *before* either lumpinfo or the WAD itself! 2018-11-30 14:19:47 +00:00
Monster Iestyn
305ad4f73e backport some cleanup that I clearly missed wasn't there already to do with ZWAD lump loading 2018-11-29 14:16:02 +00:00
Monster Iestyn
3e6388c183 use UINT8 * instead of void or Bytef * 2018-11-27 15:49:41 +00:00
Monster Iestyn
1889c36dea add HAVE_ZLIB around the rest of the zlib stuff in w_wad.c/h, move zlib.h inclusion down below doomdef.h etc includes in case that does anything for compiling (?) 2018-11-27 13:57:32 +00:00
Alam Ed Arias
b7f7c2ecf7 PK3: fixup support for newer version of zlib 2018-11-26 20:08:26 -05:00
Alam Ed Arias
4e332b3848 Fix MSVC build 2018-11-26 18:27:07 -05:00
MonsterIestyn
b53cd70201
Merge branch 'next' into PK3-BackportNext 2018-11-26 18:56:51 +00:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Nev3r
d7b3cf9314 Forgot the alignment for compact structs.
Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-25 11:35:19 +01:00
Nev3r
32a9e40baa Progress?
Get all IO outputs used for possible errors.
Attempt to fix errors from travis-ci.

Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-25 11:11:50 +01:00
Nev3r
7c44054aa3 Take out the ifdef?
Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-25 09:48:52 +01:00
Nev3r
ec67c4cbd6 Fix uninitialized pointer.
Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-24 23:39:31 +01:00
Nev3r
a1fb333e9b Revamped the lumpinfo_t array generation code.
-The resource type is 'adequately*' detected first.
-The type-specific behaviors are now contained in their own functions, which are called accordingly for each.
-The PKZip lumpinfo_t generation has been almost entirely rewritten.
-If the functions return null pointer, the resource addition is considered invalid and pops an error.
2018-11-24 22:58:35 +01:00
Nev3r
cb0c31fa9a Final touches
-Backported multiple per-wad/pk3 ANIMDEFS supported now, just like TEXTURES.
-Removed now-unused function.

Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-24 09:26:52 +01:00
Nev3r
0487558a98 Add missing tweaks
Also remove a test printf.

Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-23 17:58:45 +01:00
Nev3r
c548aaa347 Backported PK3 support to 2.1
Hopefully I'm not missing anything.

Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-23 16:58:16 +01:00
mazmazz
74da082c75 Merge remote-tracking branch 'origin/master' into HEAD 2018-11-20 23:19:36 -05:00
Monster Iestyn
268bde3fdf Merge branch 'public_next'
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/g_game.h
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/lua_baselib.c
#	src/lua_hook.h
#	src/lua_hooklib.c
#	src/lua_hudlib.c
#	src/lua_libs.h
#	src/lua_maplib.c
#	src/lua_script.c
#	src/m_misc.h
#	src/p_mobj.c
#	src/s_sound.c
#	src/sdl12/mixer_sound.c
#	src/w_wad.c
2018-11-10 15:41:57 +00:00
Monster Iestyn
0f37411e2b Make sure handles of files opened by W_LoadWadFile are closed if we abort loading the files for whatever reason.
ESPECIALLY if the file is already loaded in SRB2, that's just silly.
2018-11-02 20:48:12 +00:00
Monster Iestyn
291ebf302c Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +01:00
toaster
1324e0bfcd * Fix a memory leak regarding implementation of SOC_ (improperly copypasted code from LUA_LoadLump!!)
* Optimise the repeated strlen usage into a single call, which is stored for later.
2018-10-08 18:50:17 +01:00
Monster Iestyn
1af8d3ac02 Merge branch 'master' into hud-n-menu-tidbits
# Conflicts:
#	src/m_menu.c
#	src/screen.c
#	src/st_stuff.c
2018-08-28 20:51:46 +01:00
toaster
bd3e9cc067 Major refinement of Add-ons menu!
* Kill addonsresponselimit, which was a hacky solution to a stupid problem. Instead...
* Allocate and consistently handle memory to store the name of an added file so we can reference it directly.
* Replace the choice between ./ and a custom folder with the full, standard assortment of Default (usehome ? SRB2HOME : SRB2PATH), HOME (SRB2HOME), SRB2 (SRB2PATH) or Custom (cv_addons_folder.string).
* Make these render as the name plus folder, since you can't go UP... from the top level.
* Make the path seperators consistently system-based re PATHSEP. (Quite frankly, I'm surprised it even worked in the first place...)
2018-06-18 16:55:34 +01:00
toaster
00d75840b6 Not necessary on-topic devwork, but using global variables I developed in internal to make there less code repetition/iteration in the WAD limit checks. 2018-06-18 12:49:06 +01:00
toaster
0bb5419785 CORRECTION OF MINOR ANNOYANCES
* On request of Nev3r and Sphere (combined with my own annoyances), make SOC-loading in .pk3 files use the /SOC folder rather than the /SOCS folder.
* Make the Crushstacean's claw launch sounds stop when killed.
2018-06-06 17:11:12 +01:00
Monster Iestyn
49b8fd6d67 Don't attempt to load the "Lua/" or "SOCs/" folder lumps themselves as Lua/SOC lumps 2018-02-13 21:12:42 +00:00
Monster Iestyn
8556a05668 Fix SOC/Lua loading messages to display full names or even display at all (for PK3s at least), and otherwise some cleanup of existing code for the messages.
Also, I moved lua_lumploading on/offing to LUA_LoadFile.
2018-02-09 22:43:08 +00:00
Monster Iestyn
ddf82949bf W_IsLumpWad: check if the file is a PK3, so it can bail out if it isn't 2018-01-10 19:13:29 +00:00
Monster Iestyn
0c89853425 created W_IsLumpWad as a shortcut for the "is the lump a WAD" checking in the code getting map data lumps 2018-01-10 16:51:23 +00:00
Monster Iestyn
29d605a104 clarify this comment a little better 2018-01-04 15:17:32 +00:00
Monster Iestyn
6590d97338 clean up CM_LZF code in W_ReadLumpHeaderPwad 2018-01-04 15:14:53 +00:00
Monster Iestyn
8d07e2f8be Merge branch 'master' into file-loading-cleanup 2018-01-02 18:46:02 +00:00
Alam Ed Arias
75abd428fc MSVC2015: fixup 2018-01-02 13:22:10 -05:00
Monster Iestyn
91097fb48e added RET_SOC and RET_LUA, so we can load SOC/LUA files differently to WADs
this also means we can remove a few ancient hacks relating to using the same code used to load SOC/Lua in WADs for loading standalone Lua/SOC files, though I haven't fully done this yet
2017-11-10 22:36:37 +00:00
Alam Ed Arias
7f4424b4a0 whitespace cleanup 2017-11-02 23:13:34 -04:00
toasterbabe
3a96c507a2 * Made PK3s fail the music lump check, because... that method of checking doesn't really work with it.
* Improve the output of listwad to identify unimportant, non-networked files. https://cdn.discordapp.com/attachments/237467298590490625/371314970002063370/srb20044.png
* Fixed mainwads being one too high due to the removal of rings.dta.
2017-10-21 16:18:28 +01:00
toasterbabe
50d6208913 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-10-21 14:28:44 +01:00
Alam Ed Arias
021417500e Do not use Win32's TRUE/FALSE is OS independent code 2017-10-07 19:08:29 -04:00
wolfy852
b298c7a541 Fix p_spec.c and r_things.h, get the compiler to shut up
This compiles with no errors or warnings, but hasn't been tested yet. Please review/test when you can.
2017-10-07 17:18:25 -05:00
wolfy852
a3cfa8dd5c Fixes from toaster, plus some other stuff 2017-10-07 14:52:27 -05:00
Monster Iestyn
302d0425e0 Incinerated WinCE 2017-09-29 23:25:34 +01:00
Nevur
4aed951bd8 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement
# Conflicts:
#	src/r_things.h
#	src/w_wad.h
2017-09-04 22:32:11 +02:00
toasterbabe
06dc30ea54 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into skin_patch
# Conflicts:
#	src/dehacked.c
2017-08-14 21:34:37 +01:00
Nevur
8b64a6eef3 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-08-08 10:41:33 +02:00
Nevur
677c1045a1 The sprites stuff is changed now.
-PK3 loadtime drastically reduced, even for very big files.
-Looks for srb2.pk3 now instead.
-"flipped the switch" for sprites.
2017-06-25 23:04:51 +02:00
Nevur
35189dc219 Fixed PK3s.
-Colormaps, palettes and other stuff are properly loaded now. It was a bug related to the generation of the lump name with files in the root of the PK3.

Known issues:
-Map WADs' REJECT and BLOCKMAP are still not loaded.
2017-06-25 14:02:39 +02:00
Nevur
16336dbe22 I'm pushing this because I'm having issues. Changes so far:
-Folders aren't loaded as lumps anymore
-Can now load an arbitrary number of TEXTURES lumps in PK3s. Name them textures.gfz, textures.thz, ..., for example.
2017-05-28 21:47:15 +02:00
toasterbabe
d685060aef Store importance (nmuslumps check) to prevent having to do it again when doing d_netfil stuff. 2017-05-27 14:01:26 +01:00
toasterbabe
c2705b4662 * Make wads that don't modify the game not count towards the internal packet size tally in w_wad.c, like they wouldn't in d_netfil.c.
* Now that it's consistent, removed the redundant packet size tally check in d_netfil.c.
2017-05-24 21:45:03 +01:00
Nevur
19c46f3732 More PK3 work.
-Removed code duplicity on map resource reading.
-Fixed all known PK3-related bugs so far except for the ones mentioned below.
Issues:
-Blockmap and reject matrix still aren't loaded yet when using a map WAD.
-Palettes and colormaps aren't loaded (by extension, TRANS tables might not work either).
2017-05-18 21:13:18 +02:00
Nevur
d4c324eb30 PK3 stuff again.
-Now can load map WAD files inside Maps/ directory, but they must only contain map data explicitly!

Known problems:
-There's an issue causing a crash with palettes and colormaps in PK3s.
-SS_START and SS_END don't work now. Will check later.
-Standalone lumps for maps in the Maps/ folder don't work anymore; perhaps I should keep that functionality?

Notes:
-It's now a mashup of something dumb that I wanted to do and yet piling hacks again.
-A lot of code duplicity with map lump loading functions.
2017-05-16 21:10:02 +02:00
toasterbabe
9445455fb1 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into skin_patch 2017-05-11 22:02:12 +01:00
Nevur
ea2846394e More PK3 work. Now we're getting somewhere.
-DEFLATE-compressed lumps work properly now.
-All "big" lumps are supported now with the exception of WAD maps.

Notes:
-Compiler spits out a shitload of warnings still.
-Individual lump reading clashes with folders of the same name (see TEXTURES lump, and the Textures/ folder).

Signed-off-by: Nevur <apophycens@gmail.com>
2017-05-07 12:30:06 +02:00
toasterbabe
bf740f60cc Whitelist menu stuff so VAda can have his XP themed icon set without setting ismodified. ;P 2017-05-06 20:22:47 +01:00
Nevur
8ef6d6fd9e A bit more work on PK3.
-Expanded folder recognition for PK3s. Some resources are still not loaded from them yet.
-Took a glimpse at how maps are loaded, since the flat recognition is rooted somewhere there; did nothing yet about it though.
-Working towards "generalizing" how new resources are handled. Some var and functionality redundancy is still present.
2017-05-06 16:52:53 +02:00
toasterbabe
66f56bbba3 * Menu always updates for file load... by doing the refresh in the drawing function, eep. Oh well.
* M_StartMessages when file loading goes wrong! (Determined by CONS_Alerts of warning level CONS_WARNING and CONS_ERROR happening after W_LoadWadFile has been called.)
* Now actively tries to keep your place on the menu if files are deleted between calls to preparefilemenu().
* More enums! DIR_ (for if you want to try embed more metadata in the dirmenu strings) and REFRESHDIR_ (for refreshing the menu and handling warnings).
* Handle changing size menu between calls to opendir() better.
* Don't crash on draw/enter attempt if one of the dirmenu's is null.
* Moved the addons menu to OP_MainMenu instead of MainMenu for now so it can be tested in MP without needing to mess with several menus.
* Display the amount of space used for serverinfo_pak's fileneeded on the addons menu, both visually and with a percentage.
2017-05-03 22:36:08 +01:00
Nevur
b60010f0f1 Tweaked so that it spits out an error for unsupported compression formats. 2017-05-02 19:20:29 +02:00
Nevur
0c73dae57d Submitted changes so far. Deflate doesn't work yet, apparently. 2017-05-02 18:04:16 +02:00
Nevur
9246ab8429 Tweaked lump reading functionality.
-Removed functions exclusively used by W_ReadLumpHeaderPwad.
-Merged those functions into the main one, optimized the structure.
2017-05-02 15:40:31 +02:00
Nevur
1b881afb99 Remember when I said I'd stop for today? I lied.
-Lumps are loaded fine now. Essentially non-compressed PK3s are supported now.
2017-05-01 19:16:30 +02:00
Nevur
e125dedbe9 sdad 2017-05-01 18:33:41 +02:00
Nevur
65b89f6c0f Oops. It should compile now. 2017-05-01 16:43:52 +02:00
Nevur
2c614f8f2c More work on PK3 handling.
-Moved the MD5 check for added files up so it avoids unnecessary work when you mess up and re-add a file.
-Using compression enum for compressed lumps now.
-Vastly improved central directory seeking algorithm, big files are read fine now. Thanks a lot JTE!
-Improved remaining central directory navigation algorithm, we know and expect what data is coming from now on, after all.
-TX_ textures and sounds are replaced, but textures crash the game on mapload, and sounds are simply mute when replaced. Might have to do something with caching, I don't know yet.
2017-05-01 16:37:32 +02:00
Nevur
448ceefe84 Little progress made. The code from everywhere still looks for the basic WAD structure of the lumps.
-Removed a redundant boolean related to texture loading in P_AddWadFile.
-Started working on handling PK3s differently, except that I'm not sure about what I'm doing.

I don't know what to do from now on for today, so I'll leave it here for now.
2017-04-30 20:05:26 +02:00
Nevur
376d2a2da3 Further work on PK3 support.
-PK3 files are now properly loaded as files.
-PK3 lumps are still being treated the same way as WAD files. It means they're dependant on markers, if that makes any sense in the context of a ZIP file (it doesn't). I haven't worked out this part yet but I obviously intend to do so.
-I don't know if the lumps' position address is correct, we'll figure out when I fix the thing from above.
2017-04-30 17:43:11 +02:00
Nevur
afba4b2abd Started to work towards PK3 support.
-Tweaked compression conditional to a switch-case format, looking towards adding several comrpession algorithms; haven't removed the previous "compressed" boolean yet.
-Added dynamically allocated name strings for lumps; haven't removed the previous name field.
-Added rudimentary PK3 central directory recognition; nothing is actually loaded in the end.
2017-04-30 14:49:33 +02:00
Monster Iestyn
5608c4b4e7 Merge branch 'public_next' 2017-04-26 16:17:29 +01:00
toasterbabe
b73b38c326 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into skin_patch 2017-03-27 15:57:50 +01:00
Inuyasha
0e9761bc57 HUD changes don't trip isgamemodified
(some HUD patches renamed because they're dumb)
2017-03-19 05:37:04 -07:00
Monster Iestyn
84727f4205 Created W_OpenWadFile for opening WAD files with the path correction code.
This is used by Command_Addfile in the MD5 calculation code, so that it can search subfolders properly and allow addfile in netgames to treat them the same way as in SP
2017-02-16 21:55:17 +00:00
toasterbabe
0ddb8b0b33 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into skin_patch 2017-01-20 13:54:42 +00:00
toasterbabe
299ba49161 Introducing skin patching! (Also, DELFILE is super dead.)
* Create a normal skin, but replace the S_SKIN lump with an almost empty one named P_SKIN.
* Provide "name = existing skin name as one of the first line (comments allowed)
* Reset individual spritenames back to zero sprite2s (or one for SPR2_STND to prevent complete removal) via "reset = SPR2_****" statements.
* No support for changing skin properties that are non-visual at the moment, but I don't really feel like it's wise to have those changable with patch alone. (Hello, tons of "modern Sonic" wadfiles which just change vanilla Sonic's ability to CA_HOMINGTHOK!)
* Sprites patch over.

To see an example in action, look at <root>/toaster/smilespatch.wad.
2017-01-17 00:16:23 +00:00
frozenLake
e3b94c04fd Added transmaps to non modifying lump list. 2017-01-08 18:13:46 -06:00
Monster Iestyn
83c4dba4ce Fix crash reported by FuriousFox at http://mb.srb2.org/showthread.php?t=41536
Basically this makes sure numwadfiles is updated before loading the SOC/Lua scripts, so if a Lua script calls COM_BufInsertText with the contents "addfile scr_mysticrealm.wad" it can't overwrite the last written wadfile slot! Not that COM_BufInsertText really should be used like that to begin with
2016-06-02 20:16:25 +01:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Monster Iestyn
4f9bb15e4d "Loading SOC from" console message now also displays the name of the SOC_ lump 2016-03-03 18:31:17 +00:00