Commit graph

171 commits

Author SHA1 Message Date
Jaime Passos
d38ba4d88c define stuff idk 2019-09-06 19:41:29 -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
f68652aa66 I 2019-08-18 14:16:48 -03:00
Alam Ed Arias
f67f9405bc Merge remote-tracking branch 'origin/master' into flats-png 2019-07-24 19:07:36 -04:00
Alam Ed Arias
0eb6b24415 Merge commit '45922f80d1e35aadc9da6e20fa32fa78c1044dfd' into flats-png 2019-07-24 18:17:01 -04: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
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
afa6afa593 something something memory leaks 2019-06-28 19:43:37 -03:00
Monster Iestyn
3a9ce483f5 Merge branch 'master' into next
# Conflicts:
#	src/r_data.c
2019-06-28 23:24:36 +01:00
Jaime Passos
8362710e50 Merge remote-tracking branch 'origin/flats' into flats-png 2019-06-25 16:04:24 -03:00
Jaime Passos
0af9e865f9 Delete R_CropFlat 2019-06-25 14:41:07 -03:00
Monster Iestyn
d9ca8b45d3 Saving work so far, UNTESTED
# Conflicts:
#	src/r_data.c
2019-06-23 17:51:36 +01:00
Sryder
8a778a4070 Simply truncate the per-map COLORMAP lump instead of not reading it at all.
Keep the warning though.
2019-06-23 15:02:32 +01:00
Sryder
bb9b1b3b1f Change COLORMAP lump size check to be exact
A lower size could technically be valid, but could easily run into strange issues.
2019-06-23 13:49:39 +01:00
Sryder
bc254d9cf7 Kill Texture SOC feature.
As far as I know it's basically unused, and the strstr is inherently unsafe because there's no guarantee that a patch's contents are NULL terminated.
2019-06-23 13:48:29 +01:00
Sryder
45922f80d1 Don't read from a per-map COLORMAP if it is too big.
Could this be changed to only read the first so many bytes?
2019-06-23 12:47:20 +01:00
Jaime Passos
39857a846a PNG support 2019-05-26 23:37:23 -03:00
Jaime Passos
dfd8beae27 Merge remote-tracking branch 'upstream/jimita-flats' into flats 2019-05-26 16:43:33 -03:00
Jaime Passos
93f60267c1 Minor fixes 2019-05-26 16:22:33 -03:00
Nev3r
36036b6cfd Permit textures to use the "TEXTURE" tag in addition to "WALLTEXTURE".
It's pointless to make any distinctions anymore IMO, given flats can load them just fine now.
2019-05-26 12:02:43 +02:00
Jaime Passos
dbb1575a6d Animations, better flat management. 2019-05-21 15:24:26 -03:00
Jaime Passos
869f1e4e8d Fix warnings 2019-05-21 11:03:53 -03:00
Jaime Passos
35d6da159d HOLD UP 2019-05-21 09:50:39 -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
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
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
mazmazz
7aa55f24f5 Resolve r_data.c colormap conflict 2019-01-07 15:29:37 -05:00
Nev3r
7d09149b04 Solved conflicts related to PK3s
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-01-07 19:00:31 +01: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
mazmazz
c65f44e805 Remove log message 2018-12-24 20:33:59 -05:00
mazmazz
e9e5128754 Use DBL_EPSILON for colormap comparison 2018-12-24 20:22:10 -05:00
mazmazz
58728ec358 Fix float comparison for colormap maskamt 2018-12-24 19:58:05 -05:00
Alam Ed Arias
15d0673685 fix compiling for clang 2018-12-14 21:31:37 -05:00
Alam Ed Arias
6fd66bdb49 Clear float equal warnings 2018-12-14 20:34:06 -05:00
MonsterIestyn
b53cd70201
Merge branch 'next' into PK3-BackportNext 2018-11-26 18:56:51 +00:00
Monster Iestyn
1b2aea81dc Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Nev3r
6f5e3d42ff Merge branch 'PK3-Backport' into 'PK3-BackportNext'
Pk3 backport

See merge request Nev3r/SRB2!1
2018-11-24 06:02:19 -05: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
Monster Iestyn
c1d5c711a9 Be gone ye old texture hack 2018-10-11 21:08:25 +01:00
mazmazz
efe0af960d Colormap overhaul: Wrap R_CheckNumForNameList under ifdef EXTRACOLORMAPLUMPS 2018-09-15 02:10:55 -04:00
mazmazz
6844ed37c5 Colormap overhaul: %d format size_t -> UINT32 fix 2018-09-15 01:50:33 -04:00
mazmazz
57959522e2 Colormap overhaul r_data: Mixed D+C fix 2018-09-15 00:49:03 -04:00
mazmazz
07af82aa84 Missed fog boolean -> integer 2018-09-13 12:18:53 -04:00
mazmazz
6824e6a359 Make extracolormap_t->fog UINT8; it's not boolean, but categorical 2018-09-13 12:08:46 -04:00
mazmazz
9a6a8b0b82 Outdated comment; unused var 2018-09-12 08:07:34 -04:00
mazmazz
55c43a2161 R_AddColormap will not return an existing colormap, and new colormap is not added to chain 2018-09-12 07:24:22 -04:00
mazmazz
87ad2a87f7 Smarter default fadergbaA and fadeend for relative calc 2018-09-12 07:14:23 -04:00
mazmazz
133c3598a7 Add fadestart/fadeend/fog to R_AddColormaps 2018-09-12 07:07:26 -04:00
mazmazz
90aeac5058 Add R_CheckEqualColormaps comparison method 2018-09-11 22:43:12 -04:00
mazmazz
f0c11eb135 R_AddColormaps method 2018-09-11 21:03:55 -04:00
mazmazz
548f02eea1 Extra macros R_GetRgbaRGB; R_PutRgbaR/G/B/A/RGB/RGBA 2018-09-11 17:30:43 -04:00
mazmazz
5975f26177 Don't set sector's extra_colormap if we just made a default clone
* Allow colormap parsing to proceed in p_setup always
* Add R_CheckDefaultColormap
* Add R_GetRgbaR/G/B/A macros
2018-09-11 17:08:57 -04:00
mazmazz
71ade23739 Ifdef typo 2018-09-11 15:59:56 -04:00
mazmazz
c920827032 Consolidate colormap matching into R_GetColormapFromList 2018-09-11 15:56:21 -04:00
mazmazz
85d89287de Add R_CopyColormap 2018-09-11 15:20:30 -04:00
mazmazz
ba88f8ebb6 Smarter string digit parsing; allow alpha-only values
* GetDefaultColormap and CheckDefaultColormapValues methods
2018-09-11 15:01:05 -04:00
mazmazz
4ef016e40f Clear colormaps properly (resolve sigsegv crash) 2018-09-11 13:46:34 -04:00
mazmazz
a818b9a1dc Remove cr/cg/cb/ca in favor of rgba * Change default colormap values to be in sync with rgba/fadergba 2018-09-11 13:27:04 -04:00
mazmazz
b7a216c78b Add COLORMAPREVERSELIST ifdef to toggle Newest -> Oldest extra_colormaps order 2018-09-10 22:37:27 -04:00
mazmazz
43ae25c4fd Make default extracolormap on init
* Calc fadedist in R_CreateLightTable
2018-09-10 21:56:57 -04:00
mazmazz
3da38f2a9b Fixed colormap matching code again * Added debug messages for matching code 2018-09-10 20:56:59 -04:00
mazmazz
8d78c22194 extracolormap_t refinement and netsyncing
* Store raw values per rgba in extracolormap_t (no maskcolor or fadecolor)
* Crunched some UINT16/32 into UINT8
* Calculate mask values in R_CreateLightTable
* ifdef out EXTRACOLORMAPLUMPS
2018-09-10 20:36:34 -04:00
mazmazz
7608583c6f Fix shared colormap matching 2018-09-10 16:42:07 -04:00
mazmazz
2701976ba3 Compiler fixes 2018-09-10 16:28:39 -04:00
mazmazz
e33ed45b7b Colormap overhaul in r_data.c
* Split R_CreateColormap to R_CreateLightTable
* Replace extra_colormaps array with next/prev pointer chain
* Remove foundcolormaps; instead store lumpnum in extracolormap_t
* Add properties to extracolormap_t for portability
2018-09-10 15:59:31 -04:00
mazmazz
fef38acc59 Merge remote-tracking branch 'public-gitlab/colormap-code-cleanup' into colormap-cleanup 2018-09-10 13:24:57 -04:00
Monster Iestyn
40ff436829 Remove commented out stuff, now I've confirmed everything works fine without them 2018-09-10 15:49:21 +01:00
Monster Iestyn
c0bf79ad8e R_CreateColormap2 and R_MakeColormaps have been made obsolete, it's just R_CreateColormap now, like it used to be!
With that, I moved R_CreateColormap2's exclusive software colormap malloc code to R_CreateColormap, and merged the two software-only blocks of code into one. I also disabled any unneeded variables and fixed a preprocessor-related goofup
2018-09-09 22:48:09 +01:00
Monster Iestyn
58a844d3cf Merge branch 'public_next'
# Conflicts:
#	src/r_things.c
#	src/v_video.c
2018-08-28 19:31:08 +01:00
toaster
973b3c3f5e Continuing my recent streak of making random lighting/colormap-related fixes to long-standing bugs:
* Fix that thing where ALL transparent FOF planes were continuously fullbright unless encased in a fog which disables sprite fullbrightness, which was long-hated by many people in the community!
	* For backwards compatibility, setting flag 1 in that fog field (which is probably the most common "in-the-wild" usage of this feature) will continue to make objects un-fullbright.
	* For situations where you desperately want the behaviour to be enabled, you can apply fog flag 2.
* Change the fadestart and fadeend range in which colormaps are generated.
	* The problem HERE was that the darkest light level reached by generated colormaps was actually slightly brighter than the darkest level reached by normal colormaps.
	* The typo I fixed does have SOME basis in fact - standard colormap lumps are 34 (33 in 0-indexing) long rather than 32 (31), but whoever wrote this didn't realise that the code for generating them didn't do it DooM style, just bright-to-dark with no extras on the end...
2018-08-25 16:46:45 +01:00
Monster Iestyn
bf88407d00 Make sure both software and OpenGL ignore patches that are completely out of a multi-patch texture's bounds.
This fixes OpenGL in particular crashing because of such a weird situation.
2018-02-09 17:23:35 +00:00
Alam Ed Arias
7f4424b4a0 whitespace cleanup 2017-11-02 23:13:34 -04:00
toasterbabe
efc4d2f81d * Make multiple ANIMDEFS lumps get loaded.
* Refactor the multiple TEXTURES lump code.
2017-10-28 17:12:08 +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
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
Monster Iestyn
302d0425e0 Incinerated WinCE 2017-09-29 23:25:34 +01:00
Nevur
b087c16eb1 Merge branch 'toastfixes' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement
# Conflicts:
#	src/p_setup.c
#	src/p_spec.c
2017-09-04 21:13:29 +02:00
toasterbabe
a3767fedac Clean out code/update comments relating to TEXTUREn, TEXTURE (SOC), PNAMES, and ANIMATED. 2017-08-08 22:03:37 +01:00
Nevur
d5e38c087d Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement
# Conflicts:
#	src/p_setup.c
2017-06-25 14:51:37 +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
Monster Iestyn
21d29c8550 Merge branch 'public_next' 2017-05-17 16:19:01 +01: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
Monster Iestyn
f8482421e5 Don't need to use WADFILENUM/LUMPNUM in this function, since W_CheckNumForNamePwad returns just the lump number, not a combined WAD + lump number frankenstein's monster
This is just in case someone actually tries to dump in C_START/C_END and "add" colormaps using them, not that they would ever be used currently anyway.
2017-05-15 14:38:55 +01:00
Monster Iestyn
222807c6f6 Fix R_InitExtraColormaps reporting 6 or more colormaps every time you loaded the game, even though we haven't used C_START/C_END in more than a decade now
Note to self: W_ functions are awfully confusing with returning with LUMPERROR or INT16_MAX. Should sort out what's going on there if necessary
2017-05-15 14:29:31 +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
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
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
toasterbabe
d669a4e84a Introducing pMasterPalette.
Used instead of pLocalPalette when attempting to determine objective truths, such as "the colours of this gif without color profile modification" and "what indicies should this colormap remap to".

Also, made f_wipe.c's paldiv only get calculated once.
2017-04-30 22:18:06 +01:00
Monster Iestyn
f0256c41be Be gone ye old texture hack 2017-04-19 20:00:19 +01:00
Monster Iestyn
5877cc40d9 You actually don't need to set ColumnDrawerPointer to &R_DrawColumnInCache etc, C allows you to set it directly to R_DrawColumnInCache etc. ColumnDrawerPointer can then be called without the (* ) stuff 2017-03-19 20:08:33 +00:00
Monster Iestyn
351a391e43 Fixed errors reported while compiling 2017-03-19 19:43:02 +00:00
Nevur
191623e246 Made tweaks suggested by toaster to make the code a bit less dumb. 2017-03-15 15:46:04 +01:00
Nevur
be9ca534d7 Whitespace indenting. 2017-03-12 20:26:45 +01:00
Nevur
144514247d Added exceptions to the transparent column drawers to avoid modifying pixels with the cyan color. 2017-03-12 20:02:29 +01:00
Nevur
13dbe7d3a3 Fixed issue with vertical offsets being broken.
Add a vertical flip variant for the translucent column drawer.
Translucency is now properly distributed: 0.00 leads to no render at all, 0.1 to TRANS10, ..., 0.9 to TRANS90, 1 to regular column drawer.
2017-03-05 18:53:34 +01:00
Nevur
829be5bd43 Changed how R_GenerateTexture picks the function to draw the columns so it checks once per patch.
Also had to set the same args for all of the three current column drawer functions.
2017-03-05 12:49:09 +01:00