Commit graph

230 commits

Author SHA1 Message Date
Christoph Oelckers
6adb069506 - rewrote p_local.h so that it doesn't pull in the entire bunch of headers.
This was to resolve some circular dependencies with the portal code.
The most notable changees:

 * FTextureID was moved from textures.h to doomtype.h because it is frequently needed in files that don't want to do anything with actual textures.
 * split off the parts from p_maputl into a separate header.
 * consolidated all blockmap related data into p_blockmap.h
 * split off the polyobject parts into po_man.h
2016-02-15 02:14:34 +01:00
Randy Heit
b3b0886b64 Merge branch 'scripting'
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_blastradius.cpp
	src/p_enemy.cpp
	src/p_enemy.h
	src/thingdef/thingdef.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
Christoph Oelckers
6b75f14c0f - fixed some Linux/GCC warnings. 2016-02-02 01:04:59 +01:00
Randy Heit
9f8dee45c4 Fixed: 0 was accidentally not allowed as transparent for grayscale
- I don't know what I was thinking when I wrote that.
2016-01-25 21:44:08 -06:00
Randy Heit
450b6de384 cRGBT::A should return 255, not 1. Whoops. 2016-01-25 21:31:21 -06:00
Randy Heit
0fc40cff0a Fix some rare PNG tRNS chunk cases
- For grayscale images drawn with the paletted renderer, the value here
  was treated as always full range [0,65535]. The max value is actually
  determined by the bit depth.
- For RGB images drawn with the paletted renderer, the tRNS chunk was
  ignored.
- For grayscale images drawn with the RGB renderer, having a tRNS chunk
  present resulted in undefined behavior.
- For RGB images drawn with the RGB renderer, the tRNS chunk was ignored.
2016-01-25 21:23:53 -06:00
Christoph Oelckers
cfcd2668cc Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
Conflicts:
	src/p_pspr.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
81f521fe56 - fixed: Texture precaching from MAPINFO was broken
The code assumed that it had access to the texture manager but that gets initialized after MAPINFO, which means that MAPINFO can only store the texture names and let the precaching code resolve the actual textures.
2015-12-02 22:31:27 +01:00
Christoph Oelckers
d8ea128f38 Merge branch 'master' into scripting
Conflicts:
	src/p_effect.cpp
	src/p_effect.h
	src/p_local.h
	src/p_map.cpp
	src/thingdef/thingdef_codeptr.cpp
2015-07-16 20:37:17 +02:00
Christoph Oelckers
fe2e293d02 - added some error checks for trying to create unsupported animations for textures with full path names. 2015-07-13 09:08:08 +02:00
Christoph Oelckers
8447990889 Merge commit '2719ce86dc07c9f7b1ad6d61a9a49c974896abf2' into scripting
Conflicts:
	src/info.h
	src/thingdef/thingdef_codeptr.cpp

(until right before the main work for multiple tags.)
2015-04-28 13:32:50 +02:00
Christoph Oelckers
065c0a79cd Merge commit '4f7ec3ad891d556c0d3f680e209a120ed38e9cdb' into scripting
Conflicts:
	src/d_main.cpp
	src/info.cpp
	src/info.h
	src/p_acs.cpp
	src/p_interaction.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp

(scripting branch update part 5)
2015-04-28 12:48:33 +02:00
Christoph Oelckers
792cad89b3 Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
Conflicts:
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/p_acs.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Christoph Oelckers
d6e3fc0567 Merge commit 'fb9231a38db2025eb77bfd246f36d985cbbccd2e' into scripting
Conflicts:
	src/info.cpp
	src/thingdef/thingdef_expression.cpp
	wadsrc/static/actors/constants.txt

(Scripting branch update part 2)
2015-04-28 09:57:01 +02:00
Braden Obrzut
7217c69be4 - Fixed portability issue in ANIMATED with systems that treat char as unsigned. 2015-04-12 15:22:39 -04:00
Christoph Oelckers
ad9e4413fa - made the texture precaching code a bit more self-descriptive after finding a discrepancy in handling between ZDoom and GZDoom's versions. 2015-04-01 11:48:47 +02:00
Christoph Oelckers
3849cb8623 - added precaching of textures via MAPINFO. 2015-03-29 13:02:45 +02:00
Christoph Oelckers
d1a972ff3d - fixed: The recent ANIMDEFS extension missed adjusting the call to AddSimpleAnim for ANIMATED-defined animations. 2015-03-25 20:34:26 +01:00
Christoph Oelckers
7dbabb5ee7 - missed a NULL pointer check. 2015-03-21 13:08:08 +01:00
Christoph Oelckers
ffbcda206c - allow oscillating for discretely defined animations as well, not just for ranged ones.
- add random animations.
2015-03-21 12:48:37 +01:00
Randy Heit
e259087c19 Change RGB32k to a union of BYTE[32][32][32] and BYTE[32*32*32]
- Clang's optional runtime array bounds checking doesn't understand when we
  intentionally "overflow" by doing this:
    RGB32k[0][0][colorval]
  It will warn that it was accessed at an index will past the bounds
  of type 'BYTE [32]', which makes it less than useful for catching real
  array bounds overflows. So now do this:
    RGB32k.All[colorval]
  And if you want this:
    RGB32k[r][g][b]
  Now do this:
    RGB32k.RGB[r][g][b]
2015-03-08 18:05:02 -05:00
Christoph Oelckers
a3bdbff052 - fixed: 3Dmidtex opening checks didn't take per-sidedef scaling into account. 2015-02-10 21:30:52 +01:00
Randy Heit
2d87eb0ba2 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/actor.h
	src/g_heretic/a_hereticmisc.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_ironlich.cpp
	src/info.h
	src/namedef.h
	src/p_buildmap.cpp
	src/p_enemy.cpp
	src/p_map.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	zdoom.vcproj
2014-12-20 19:13:14 -06:00
Randy Heit
02e7c56c82 Move SpriteFrames.Clear() from R_InitSprites to FTextureManager::Init
- Fixed: Blood sprite rotations were overwritten by the Doom sprite
  rotations.
2014-07-29 20:31:53 -05:00
Edoardo Prezioso
b285cbebe4 - Fixed compiler errors in latest TEXTURES code. 2014-05-25 01:12:16 +02:00
Shawn Walker
582b1990b7 - restore original line endings 2014-05-18 16:00:31 -07:00
Shawn Walker
59885b856d - remove texture name length limits for udmf maps 2014-05-18 15:38:46 -07:00
Shawn Walker
ae8995e65b Merge branch 'master' of https://github.com/rheit/zdoom
# By Christoph Oelckers (2) and Edward Richardson (1)
# Via Christoph Oelckers
* 'master' of https://github.com/rheit/zdoom:
  - fixed: The map setup code was still truncating texture names in several places.
  Fix nettic run-out at end of demo playback
  - fixed: ACS's check...Texture functions must use the same search flags as the texture initialization code in p_setup.cpp and p_udmf.cpp. It also should not create textures that don't exist yet. We are only doing a comparison so it's not relevant if the texture exists or not.
2014-05-16 20:27:57 -07:00
Christoph Oelckers
25f4af734f - fixed: ACS's check...Texture functions must use the same search flags as the texture initialization code in p_setup.cpp and p_udmf.cpp. It also should not create textures that don't exist yet. We are only doing a comparison so it's not relevant if the texture exists or not. 2014-05-16 10:56:23 +02:00
Shawn Walker
bfb5944517 Merge branch 'master' of https://github.com/rheit/zdoom 2014-05-15 00:11:52 -07:00
Christoph Oelckers
2944e4f6ae - fixed some Linux issues with recent changes. 2014-05-14 14:08:14 +02:00
Christoph Oelckers
8c052818b7 - fixed: long texture name lookup did not work with TEXMAN_TryAny. 2014-05-14 10:27:40 +02:00
Shawn Walker
fdfcb728a9 - make it easier to spot patch definition errors in console log 2014-05-13 22:50:39 -07:00
Christoph Oelckers
ca4179caa3 - allow texture lookup by full path names. Due to technical limitations this may result in double textures if the same graphics lump is also referenced by its short texture name. 2014-05-13 20:51:16 +02:00
Christoph Oelckers
65e8563cf4 replaced all character arrays for lump/texture names in the level_info_t and FLevelLocals structures with FStrings as first preparation for allowing long texture names. 2014-05-13 11:33:59 +02:00
Randy Heit
fc97584c69 Disable warning C4200 on VC++
- This warning is about using zero-sized arrays in structs (aka flexible
  member arrays). It's standard-enough for our purposes, so don't warn
  about it, since neither GCC nor Clang do.
2014-04-03 16:50:20 -05:00
Randy Heit
43fe317dbe Use flexible array members for structs that end with var-sized arrays
- Since Clang++, G++, and VC++ all support this extension (even though it's
  technically officially only part of C99), use it. It lets Clang's array-
  bounds checker know that these are meant to be accessed out of their so-called
  "bounds".
2014-04-03 16:33:33 -05:00
Randy Heit
e7f427aa60 Merge branch 'maint' 2014-02-24 19:26:50 -06:00
Randy Heit
1d4f4b25d7 Don't free replaced textures that are used as patches.
- Fixed: If a part of a multipatch texture is replaced by a HIRESTEX
  version, the original patch must not be deleted, since the multipatch
  texture still needs it for compositing.
2014-02-24 19:01:36 -06:00
Christoph Oelckers
86d7a326be - allowdecals logic was nonfunctional. 2013-12-01 21:11:33 +01:00
Christoph Oelckers
25f60779fd - fixed: The 'allowdecals' check in animated doors was wrong. 2013-12-01 20:20:26 +01:00
Christoph Oelckers
c5b2c95572 - fixed placement and handling of 'allowdecals' for animated doors. 2013-12-01 15:11:41 +01:00
Christoph Oelckers
7e062f394b - fixed: animated door textures defined by index were not added to the sequence.
- fixed: animated doors should set 'no decals' for the texture.
- added 'allowdecals' option to override the above.
2013-12-01 01:26:30 +01:00
Randy Heit
c2bac9d2df Add WorldPanning flag for camera texture definitions.
- To make camera textures pan in world units instead of texture units, you
  can now add "WorldPanning" at the end of the cameratexture definition in
  ANIMDEFS, after the "fit" specification. e.g.

    cameratexture CAMTEX 128 128 fit 64 64 worldpanning
2013-10-09 21:29:28 -05:00
Christoph Oelckers
251cdacf26 Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_randomspawner.cpp
	src/g_strife/a_strifeweapons.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/constants.txt
2013-09-03 09:01:28 +02:00
Randy Heit
260ce62175 Don't abort for TEXTUREx lumps that define textures with no patches
- A texture defined in TEXTUREx without any patches isn't necessarily an
  error, so accept. This also means they shouldn't be used for determining
  if a TEXTURE directory belongs to Strife instead of Doom.
2013-08-30 23:10:20 -05:00
Christoph Oelckers
bba092cc0b Merge branch 'master' into scripting
Conflicts:
	src/d_player.h
	src/g_doom/a_archvile.cpp
	src/thingdef/thingdef.h
	src/thingdef/thingdef_properties.cpp
2013-08-09 13:03:28 +02:00
Edoardo Prezioso
7e21eafc2f - Fixed mismatched alloc/dealloc in FTextureManager.
The 'TextureFrames', which is attached to all the 'mAnimatedDoors', were deleted with one-pointer 'delete' and they were allocated with 'new[]'.
2013-07-30 13:36:56 +02:00
Randy Heit
459ad5abff - Updated scripting branch to latest version in trunk.
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Braden Obrzut
b493d8e823 - Just remembered that the true color stuff generates textures differently. Changed the previous commit to expand 1, 2, and 4 bit grayscale images while reading the PNG instead of changing the palette.
SVN r4289 (trunk)
2013-05-26 04:56:52 +00:00