Commit graph

6617 commits

Author SHA1 Message Date
Magnus Norddahl
0c8c9e0aea Added FDynamicColormap support to true color mode 2016-06-05 14:08:03 +02:00
Christoph Oelckers
8a08fb2f6a - fixed nullptr/bool mixup. 2016-06-04 20:52:56 +02:00
Magnus Norddahl
af02bafdeb Fixed missing some columns in transparency rendering 2016-06-03 22:57:36 +02:00
Leonard2
0b88bae458 The strife firehands now make proper use of the psprite layers 2016-06-03 19:46:31 +02:00
Leonard2
afa708c138 Allow psprite layers to be manipulated directly from the player's own body 2016-06-03 19:18:58 +02:00
Magnus Norddahl
373b59b94f Fix dovline4 being a define on X64_ASM 2016-06-03 14:06:44 +02:00
Magnus Norddahl
6160675e08 Added a few more SSE drawers 2016-06-03 12:42:08 +02:00
Leonard2
eeff17c550 Account for this on the renderer's side instead
This fixes the weapon's layer behaving differently when called from
A_Overlay (the flag would be set in this case breaking the offsets)
2016-06-03 00:50:12 +02:00
Leonard2
543414d31f Added 2 new layer flags: PSPF_CVARFAST and PSPF_POWDOUBLE
These flags allowed to easily restore a lost part of the targeter layers
behavior
2016-06-03 00:50:11 +02:00
Leonard2
bc334ccc9f Avoid creating the targeter layers if the inventory item isn't attached to
its owner yet
2016-06-03 00:50:11 +02:00
Leonard2
e1f139ddcd The targeter layers now use a proper Caller
This will avoid having to check for certain stuff and also allow them to not be destroyed when the ReadyWeapon is null like before
2016-06-03 00:50:10 +02:00
Leonard2
8244d2c844 Make sure never to call GetPSprite when the ReadyWeapon is null 2016-06-03 00:37:55 +02:00
Leonard2
9ee5e57340 Call GetPSprite here to update the ReadyWeapon but avoid doing so if it
is null

TickPSprites will take care of destroying the weapon/flash layers if the
ReadyWeapon is null
2016-06-03 00:37:54 +02:00
Leonard2
f14a840777 The ReadyWeapon is now assumed to not be null 2016-06-03 00:37:54 +02:00
Magnus Norddahl
7142faf41d Minor compile error fixes when X86_ASM is defined 2016-06-02 21:39:44 +02:00
Magnus Norddahl
02a39ef457 Added bgra support to SDL target 2016-06-02 20:05:08 +02:00
Leonard2
8668719bbc Revert "- re-added P_SetPSrite."
This reverts commit e6d89b9f71.
2016-06-02 20:02:03 +02:00
Leonard2
d933f77bf5 Fixed: the game could crash if some inventory items were destroyed in a
certain way
2016-06-02 20:00:22 +02:00
Magnus Norddahl
672b80898b Moved ColormapNum to visstyle_t and changed colormap to BaseColormap 2016-06-02 19:26:27 +02:00
Magnus Norddahl
41537a50ab Fix true color light calculation bug for decals 2016-06-02 16:52:41 +02:00
Magnus Norddahl
47f32d03cd Fixed some light and blending functions for the true color mode 2016-06-02 14:49:03 +02:00
Christoph Oelckers
2afadb0108 - fixed: ADehackedPickup was missing NULL pointer checks in nearly all methods that used RealPickup.
Some DECORATE hacks make it possible that this does not contain a valid pointer when these methods are called.
2016-06-01 23:41:34 +02:00
Christoph Oelckers
26a15d0ccc - delete thinkers before starting to restore the savegame data to avoid interference of the old thinkers' Destroy() method with the newly loaded data.
Note that even with this change it is still not possible to unarchive any thinker pointers before the thinker list has been loaded as it would create broken lists.
2016-06-01 11:43:56 +02:00
Christoph Oelckers
978e522fb4 - fixed: portal-related sound calculations offset the sound in the wrong direction. 2016-06-01 11:14:25 +02:00
Christoph Oelckers
14e4a64c82 - fixed: Destroying a SkyViewpoint disabled all sector portals. 2016-06-01 10:10:18 +02:00
Magnus Norddahl
4f635983fc Add bgra support to OS X target 2016-06-01 08:54:39 +02:00
Magnus Norddahl
b9d7a98aec Change swtruecolor cvar to take effect immediately 2016-06-01 06:02:37 +02:00
Magnus Norddahl
e929eec80f Make x86 asm aware of swtruecolor 2016-06-01 05:28:14 +02:00
Magnus Norddahl
05220a7133 Added IsBgra() to DCanvas
Changed SWRender output format to be decided by IsBgra()
2016-05-31 09:36:18 +02:00
Magnus Norddahl
045bad1b52 Removed the need for the pixel_canvas_t typedef 2016-05-31 05:31:32 +02:00
Magnus Norddahl
20b7743ec3 Added R_SetColorMapLight and R_SetDSColorMapLight 2016-05-31 01:49:39 +02:00
Magnus Norddahl
7080180d47 Added menu option for toggling true color output on and off 2016-05-30 13:32:24 +02:00
Magnus Norddahl
8aabc26cd9 Created standalone rgba drawing functions 2016-05-30 05:52:15 +02:00
alexey.lysiuk
5348a15b75 Added option to control dynamic loading of OpenAL
Dynamic loading is enabled by default, set DYN_OPENAL to OFF to link with static or dynamic library

# Conflicts:
#	src/sound/oalsound.cpp
#	src/sound/oalsound.h
2016-05-29 14:25:04 +02:00
Edoardo Prezioso
243030046a - Fixed issues with invalid GetMaxInventory calls. 2016-05-29 12:50:37 +02:00
Christoph Oelckers
44f09edf4c - fixed: monsters cannot crouch, so their crouch factor has to be 1, as 0 would yield incorrect results if the value is used in subsequent calculations (e.g. adjusting a trajectory to a target which can be or may not be a player.) 2016-05-29 12:48:27 +02:00
MajorCooke
bb91723174 - Added GetCrouchFactor(ptr).
Gets the crouch factor of a player. Can be set to target/master/tracer, as long as it's a player. Defaults to the first player.
2016-05-29 12:43:46 +02:00
MajorCooke
2719905ade - Added source and inflictor parameters to all A_Damage/Kill functions.
- Source is the actor to blame for the cause of damage (monster infighting for example). For missiles, modders should consider setting to AAPTR_TARGET.
- Inflictor is the actor doing the damage itself. Note that by changing this, it will take into account the flags on the pointed actor.
2016-05-29 12:40:17 +02:00
MajorCooke
33ddbe8ab3 Added SKYEXPLODE support for P_LineAttack on horizons. 2016-05-29 12:38:37 +02:00
Benjamin Moir
6633e41cca added CheckProximity to ACS 2016-05-29 12:38:37 +02:00
alexey.lysiuk
89016020a8 Used ISO Latin 1 encoding for title text in startup window on OS X
Windows version uses ANSI_CHARSET to handle the corresponding text
This solves the problem like in https://github.com/alexey-lysiuk/gzdoom/issues/63:
*** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.47/AppKit.subproj/NSCell.m:1684
Invalid parameter not satisfying: aString != nil
2016-05-29 10:58:12 +03:00
Magnus Norddahl
6e53c1bd12 Change render target output from PAL8 to BGRA8 2016-05-28 20:40:33 +02:00
Christoph Oelckers
fc25a74a03 - fixed: In case of a crash the buffered console output was not dumped to the rich edit control so it never got into the crash log. 2016-05-28 20:11:19 +02:00
Leonard2
360ad7a844 Replaced every remaining instances of the old layer names 2016-05-28 01:19:42 +02:00
Leonard2
2f5ae3b51e Changed the default layer indices and renamed them
Note that this doesn't compile yet
2016-05-28 01:19:41 +02:00
Leonard2
c82620129c Added A_OverlayFlags
Allows psprites to follow the weapon and/or the player's bobbing
2016-05-28 01:19:40 +02:00
Leonard2
8f360f3bea Small refactor 2016-05-27 23:37:35 +02:00
Leonard2
b220db4ebe Fixed: a layer's movements weren't interpolated in some cases
The old position members would be incorrectly updated if a layer sets another layer's offsets and this layer ticks before the other
2016-05-27 23:37:34 +02:00
Leonard2
bca9829950 Fixed: a few members weren't properly initialized
This could go wrong if a layer had only one state of -1 tics
2016-05-27 22:58:27 +02:00
Leonard2
599fa7cfd1 Fixed: it was no longer possible to set the flash state in the very first
weapon's state

This was due to an oversight in my first commit
2016-05-27 22:31:18 +02:00
Christoph Oelckers
d43ea33031 - fixed: A_CustomBulletAttack may not rely on the parameter default setter to get a valid puff. This must be checked explicitly in the functions body to ensure it is never NULL. 2016-05-27 11:39:44 +02:00
Christoph Oelckers
b926cf35d5 - fixed: The portal init code should only delete REJECT if there's actually some portals to consider. 2016-05-27 09:45:17 +02:00
Christoph Oelckers
19003a7973 - fixed: The node builder's FindMapBounds function included all vertices generated by the node builder.
This could cause problems on maps with bogus nodes so it's better to only check vertices that are referenced by a linedef.
2016-05-27 09:38:33 +02:00
Christoph Oelckers
34c67b9eae - fixed: The NoiseList array was not cleared before use. 2016-05-27 00:00:27 +02:00
Christoph Oelckers
cc685e982b - fixed: interactive line portals were always deactivated, regardless of alignment type. 2016-05-25 11:36:23 +02:00
Christoph Oelckers
f241d9773a - made P_NoiseAlert non-recursive to avoid stack overflow problems in large open-area maps with a high sector count. 2016-05-25 11:30:11 +02:00
Christoph Oelckers
72a3257400 - fixed: DIntermissionScreen::Init did not handle non-existent strings in the string table and crashed on a NULL pointer. 2016-05-25 01:45:55 +02:00
Christoph Oelckers
49234b1fc3 - fixed: UpdateRenderSectorList did some bad calculations for checking portal plane order. 2016-05-24 13:53:29 +02:00
Christoph Oelckers
e6d89b9f71 - re-added P_SetPSprite.
For debugging purposes it's better to have this as a function.
2016-05-24 13:05:43 +02:00
Christoph Oelckers
d058820c65 - fixed scroll speed calculation for Heretic. 2016-05-24 10:01:57 +02:00
Christoph Oelckers
d70601471a - fixed the spawn position of Strife's sentinel's attack's trail. 2016-05-24 09:37:01 +02:00
Christoph Oelckers
3bde8824a3 - fixed A_Burst's velocity calculation. 2016-05-24 09:32:30 +02:00
MajorCooke
1b1195df6a - Added limit parameter to A_RadiusGive.
- The function ends operation if the number of successfully given actors reaches this count.
2016-05-23 21:11:26 -05:00
alexey.lysiuk
aa6753383d Fixed fullscreen mode on non-default monitor in OS X backend
Fullscreen window was incorrectly placed on the main screen instead of the current one
Honestly I have no idea what was the reason behind that [NSWindow setFrameOrigin:] call
Apparently it's redundant and moreover it's incorrect for multi-monitor configuration
2016-05-22 13:22:07 +03:00
Christoph Oelckers
ae31e0ba72 - changed the default key name string because '#' is used as a comment in the config files. 2016-05-22 12:20:46 +02:00
Christoph Oelckers
db944df467 - fixed 3D floor rendering with nearby slopes. 2016-05-22 12:15:14 +02:00
Christoph Oelckers
eed32ee285 - fixed: The friction calculations for terrain based friction had some fixed/float mixups. 2016-05-22 12:11:39 +02:00
Christoph Oelckers
36dfa97802 - fixed: Polyobjects did not save their specialdata pointer.
- fixed: DMovePoly did not save its m_Speedv member.

# Conflicts:
#	src/version.h
2016-05-22 01:27:05 +02:00
Christoph Oelckers
f184438032 - fixed: Polyobjects did not save their specialdata pointer.
- fixed: DMovePoly did not save its m_Speedv member.
2016-05-22 01:26:13 +02:00
Christoph Oelckers
d767d10322 - made PSprites submission GC aware. 2016-05-21 13:11:43 +02:00
Leonard2
8c205ebac3 Added A_OverlayOffset
Like A_WeaponOffset except it can access any psprites
2016-05-20 17:04:45 +02:00
Leonard2
1ecfb5897b Added A_Overlay 2016-05-20 17:04:45 +02:00
Leonard2
1966b61b8f Generalized the psprites implementation 2016-05-20 17:04:44 +02:00
Christoph Oelckers
bd396ccb7c - made P_Move's multiple-step movement portal and teleporter-aware. 2016-05-20 13:30:10 +02:00
Christoph Oelckers
428bd52295 - fixed: It was not possible to step through a ceiling portal into the upper sector. 2016-05-20 13:10:42 +02:00
Gaerzi
68c5191798 Add GOG path for SVE
Since GOG.com is finally offering this game.
2016-05-20 02:18:48 +02:00
Christoph Oelckers
78055733c8 - fixed: automap markers were scaled too small 2016-05-18 21:25:58 +02:00
Christoph Oelckers
f22adcc398 - be more thorough with Eternal Doom MAP03. The compatibility option does not seem to fully solve the problem, so let's just clear the tags in the bogus stair sectors. 2016-05-18 21:06:07 +02:00
Christoph Oelckers
9e0301c1a1 - prevent message spam with no MIDI devices. 2016-05-18 13:11:01 +02:00
Christoph Oelckers
7642c2cdaa - fixed: Opening a non-existent menu left the engine in an invalid state. 2016-05-18 12:02:54 +02:00
Christoph Oelckers
3dcb05e5d2 - fixed: Lock #255 was inaccessible for LOCKDEFS. 2016-05-18 11:56:39 +02:00
Christoph Oelckers
a7fd04a235 Merge branch 'master' of https://github.com/kcat/zdoom 2016-05-18 11:48:27 +02:00
MajorCooke
115dbd0b58 - Added A_WeaponOffset(x = 0, y = 32, flags).
- Places the weapon offset by the defined x and y. Both are floats. This stacks with weapon bobbing.
- WOF_KEEPX: Don't change the X offset.
- WOF_KEEPY: Don't change the Y offset.
- WOF_ADD: Add onto instead of replacing the coordinates.
2016-05-18 11:19:24 +02:00
Christoph Oelckers
661c2e5919 - added missing NULL pointer check to ACS's CheckInventory. 2016-05-18 09:39:19 +02:00
Chris Robinson
fe966916d7 Set head-relative for sources near the listener
This matches the behavior of the FMOD backend
2016-05-16 17:02:39 -07:00
Christoph Oelckers
9e847c252b - fixed: When linking an actor into the blockmap multiple portal groups, AActor::LinkToWorld would delete the links to the previous nodes for each new group. This was causing random crashes when the affected actor was deleted by the garbage collector. 2016-05-15 23:24:30 +02:00
Christoph Oelckers
aff8b00575 - added NULL pointer checks to SpecialDropAction methods that call CheckLocalView. 2016-05-15 09:16:37 +02:00
Christoph Oelckers
6949afc334 - fixed: For allowing an unblocking move, PIT_CheckThing used the wrong actor's position. This was causing monster pile-ups with moving ceilings.
- don't let P_PushUp move any actors with the same z as the pushing actor. This should solve most monster pile-ups, but the entire logic here needs some serious rethinking. The only reason this doesn't cause more problems is some fudging in several other places.
2016-05-14 15:05:06 +02:00
Christoph Oelckers
ebca170e73 - fixed a few warnings in OpenAL code. 2016-05-13 10:07:18 +02:00
Christoph Oelckers
cd8213f067 - fixed: The skybox pointer in FSectorPortal must at least be initialized to nullptr when the struct is deserialized, to avoid an access violation if the partially initialized data is used. This can happen when P_SerializeThinkers destroys the original thinkers that were created on map load.
- removed the sector loop for deleting skybox references in ASkyViewpoint::Destroy. Since this only refers to the sectorPortals array it is completely redundant as the following code will clear them just as well.
2016-05-13 10:07:01 +02:00
MajorCooke
4998d4a84d Use the direct pointer of P_PointInSector instead. 2016-05-12 22:15:06 +02:00
MajorCooke
2ba26693d1 - Added 3D Floor + Portal awareness, along with flags to turn off detection of both features. 2016-05-12 22:15:06 +02:00
MajorCooke
b91ed5dc5d Added GetZAt DECORATE function.
- float GetZAt(x, y, angle, flags, pick_pointer);
- Gets the floor z  at x distance ahead and y distance to the side in relative form from the calling actor pointer. Flags are as follows (GZF_ prefix):
- CEILING: Returns the ceiling z instead of floor.
- ABSOLUTEPOS: x and y are absolute positions.
- ABSOLUTEANG: angle parameter does not add the pointer's angle to the angle parameter.
2016-05-12 22:15:05 +02:00
MajorCooke
39f64383cb Changed RTF_THRUSTZ to match RADF_THRUSTZ's bitmap. 2016-05-11 19:41:33 +02:00
MajorCooke
952219a018 Added RTF_THRUSTZ for A_RadiusThrust.
- Allows thrusting with Z velocity.
2016-05-11 19:41:33 +02:00
Christoph Oelckers
852ed6cd04 - un-revert P_CheckMove fix. 2016-05-11 19:39:08 +02:00
Edoardo Prezioso
769521b2e1 - Fixed second player lock after error in netgame. 2016-05-11 14:05:29 +02:00
Christoph Oelckers
078e27e61f - fixed: The mugshot's angle was inverted. 2016-05-11 14:04:21 +02:00
Christoph Oelckers
d4b258f15b - don't place the chasecam right at the hit position of the trace. This will be the intersection with a wall or sector plane and may cause clipping issues. Instead place it very slightly in front of the actual hit position. 2016-05-11 13:57:49 +02:00
MajorCooke
9ab620814d - Fixed: Armor absorption did not take ALLOW/CAUSEPAIN flags into account. 2016-05-11 13:33:39 +02:00
Christoph Oelckers
0726a88ab9 - only return DWORD aligned addresses in openings because the 3D floor code stores floating point values in there which cannot be accessed on platforms with strict alignment rules. 2016-05-11 12:04:41 +02:00
Christoph Oelckers
220255e6a4 - fixed P_CheckMove's dropoff check and removed some unneeded code. 2016-05-11 11:56:03 +02:00
Christoph Oelckers
43d93a19a0 - fixed: P_AlignFlat had the 'dist' value negated. Also simplified the code a bit. 2016-05-11 11:36:53 +02:00
Christoph Oelckers
f8c12f4533 - fixed warning in s_sound.cpp 2016-05-11 10:32:57 +02:00
Christoph Oelckers
cc88130362 - fixed: P_CheckMove's dropoff check had the heights swapped. This also shouldn't in any way depend on COMPATF_DROPOFF and must be skipped entirely for actors with either MF_FLOAT or MF_DROPOFF set. 2016-05-11 10:09:13 +02:00
Christoph Oelckers
77e30bb7d7 - fixed: The line portal links were not deleted when an actor was destroyed. 2016-05-11 09:58:03 +02:00
Christoph Oelckers
966e6797e4 - fixed: The view path for checking whether the player sprite should be drawn during a portal transition was never set properly in the portal transitioning case. 2016-05-09 23:16:06 +02:00
Christoph Oelckers
2e4b8dd416 - fixed incorrect sign in P_TranslatePortalVXVY 2016-05-09 21:59:13 +02:00
Christoph Oelckers
841a5795ae - savegame version bump for a GZDoom exclusive change (to avoid synchronization problems in the future.) 2016-05-08 09:27:42 +02:00
Chris Robinson
8334189d66 Merge remote-tracking branch 'zdoom/master' 2016-05-05 12:55:16 -07:00
Chris Robinson
ba1574e65a Don't define OpenAL redirect macros with the IDE's parser
At least with KDevelop4, macros like this interefere with contextual info by
causing it to show information about the macro itself (where it's defined and
what it defines to), rather than the function (parameters, comments, etc). It
also gets in the way of auto-completion.
2016-05-05 21:00:30 +02:00
Chris Robinson
fa46965a71 Check for OpenAL device errors after pausing/resuming the device 2016-05-05 21:00:30 +02:00
Chris Robinson
0b7b78c5d2 Better handle channel configs when monoizing in LoadSound 2016-05-05 21:00:29 +02:00
Chris Robinson
e298f8389b Avoid divide-by-0 when the area sound radius is less than the max distance 2016-05-05 21:00:29 +02:00
Chris Robinson
66c61a7c8b Set the appropriate start offset for non-3D sounds too 2016-05-05 21:00:28 +02:00
Chris Robinson
26a8a8a1ba Pause OpenAL processing using ALC_SOFT_pause_device when inactive 2016-05-05 21:00:28 +02:00
Chris Robinson
e1c8890c5e Set the appropriate start offset for restarted sounds 2016-05-05 21:00:27 +02:00
Chris Robinson
c3cef91a4f Properly sum the channels being downmixed to mono 2016-05-05 21:00:27 +02:00
Chris Robinson
12c9281a7e Avoid redundantly setting DistanceScale 2016-05-05 21:00:26 +02:00
Chris Robinson
bf5ac9b476 Use AL_EXT_SOURCE_RADIUS for area sounds 2016-05-05 21:00:26 +02:00
Chris Robinson
55294c5806 Use the correct OpenAL lib name on Linux 2016-05-05 21:00:25 +02:00
Edoardo Prezioso
52995f8fc2 - Fixed missing sector light clamp in DFlicker.
For some reason, this code didn't care about the sector light limits. Found by code inspection.
2016-05-05 21:00:08 +02:00
Christoph Oelckers
c193bb7799 - removed the special case 0 in A_SpawnItem, meaning 'in front of the player'.
As it turned out this has been broken for many, many years, so one can assume that most content using this function depends on this special case not working. I could track it down to at least 2008.
2016-05-05 20:12:26 +02:00
Christoph Oelckers
0b833be06e - removed accidentally added GZDoom specials. 2016-05-04 14:37:52 +02:00
Christoph Oelckers
2c88816577 - fixed parameters for warp type 2. 2016-05-04 13:25:26 +02:00
Christoph Oelckers
be3b126f7b - fixed: Order of skybox and portal initialization was not well defined. It was always the last item to get initialized that got set. Changed it so that skyboxes cannot override portals at all. 2016-05-03 19:42:53 +02:00
Christoph Oelckers
a576243ff2 - fixed: ThrustThing should add to the velocity, not set it. 2016-05-03 10:26:29 +02:00
Randy Heit
4fbe77fb82 Very minor optimization for ACS str(i)cmp
- If the two strings compared both point to the same location in memory,
  then we know they are the same string without having to bother actually
  comparing their contents. Note that the opposite is not neccessarily
  true: If they point to two different locations, they could still match a
  case-sensitive comparison because there are still two ACS string tables:
  the one that belongs to the map's script and the one that belongs to
  everything else.
2016-05-01 16:55:28 -05:00
Christoph Oelckers
65e1589543 - allow specifying actor classes whose graphics to precache through MAPINFO.
- some reorganization of texture precaching so that the renderer can decide what to do with actors.

Just marking the sprite textures loses too much info if more is needed than just loading the images into memory.
2016-05-01 22:47:36 +02:00
Chris Robinson
0d402618a3 Load mono copies of multichannel sounds that are used in 3D 2016-05-01 21:44:03 +02:00
Christoph Oelckers
b443ac8f71 - let Trace() be a bit smarter about checking 3D slopes. If one matches right up with the floor or ceiling at the line where the trace enters a sector, check a second point to see whether we deal with something inside valid sector bounds or not. 2016-05-01 19:30:51 +02:00
Edoardo Prezioso
3aee8a3eee - Fixed a mistake in GiveInventory refactoring.
'give item' stopped working because commit 7b35f32f3d and 6aca7604eb didn't take account that give cheat with zero amount should not touch the item amount.
2016-05-01 17:07:39 +02:00
Edoardo Prezioso
a17ec55d0d - Fixed drop style gameinfo inconsistency.
The gameinfo option was ignored when deciding the initial spawn height position.
2016-05-01 11:30:09 +02:00
Randy Heit
7d03ed4dc7 Use floating point node bounding boxes 2016-04-30 22:37:02 -05:00
Randy Heit
265783e1f6 Use doubles for intermediates in the nodebuilder's FindMapBounds() 2016-04-30 21:28:41 -05:00
Christoph Oelckers
f387199442 - extended the voxeldef parser to allow negative numbers where appropriate. 2016-04-30 14:33:15 +02:00
Christoph Oelckers
86b647ed41 - added map name display to IDMYPOS. 2016-04-30 13:03:08 +02:00
Christoph Oelckers
2161ad2c4b - fixed: P_GetMapColorForKey did not check for keys that worked as an alias defined through their species. 2016-04-30 12:48:51 +02:00
Christoph Oelckers
c3759646e7 - merged FWarpTexture and FWarp2Texture, making the choice of effect a parameter of the WarpBuffer function.
Ideally the warping shouldn't be a property of the texture class itself but an effect processor that can get added to a texture. Unfortunately the current setup will not allow this, requiring some significant refactoring of texture access first.
2016-04-30 12:36:55 +02:00
Randy Heit
a95c6b9644 Draw upper/lower textures on two-sided portal lines 2016-04-29 21:54:29 -05:00
Randy Heit
09730bff73 Fix incorrect texture mapping vectors for slopes 2016-04-29 20:35:55 -05:00
Christoph Oelckers
8309d8f634 - fixed coordinate typo. 2016-04-29 23:14:04 +02:00
MajorCooke
b9687b4a57 Compiler fix 2016-04-29 06:33:38 -05:00
Christoph Oelckers
4a72c7d2f1 - fixed: Decals may not be serialized before thinkers.
Since decals may have thinkers attached this will crash when such a savegame gets loaded, because the thinker lists get reset in P_SerializeThinkers, deleting any thinker that already was processed.
I also added an error message that immediately aborts the save process if such an out-of-sequence thinker is attempted to be written out.
This obviously breaks savegame compatibility again...
2016-04-29 11:44:17 +02:00
Randy Heit
f3d273c94f Fixed: Tiled midtextures could go up past the ceiling when a 3D floor is in view 2016-04-28 22:06:57 -05:00
Randy Heit
8f3921190f Keep values in floats longer for visplane drawing 2016-04-28 21:21:49 -05:00
Randy Heit
96228ca15f Trying to fix some rounding, not sure it's actually correct yet 2016-04-28 21:14:48 -05:00
Christoph Oelckers
3bbb5c7237 - moved the texture warping into templated subfunctions, so that the same code can be used for true color buffers as well. 2016-04-28 18:17:18 +02:00
Christoph Oelckers
af2a1769d8 - use the FP2005 method to calculate xtoviewangle, because it is far more straightforward than the old version. 2016-04-28 16:27:28 +02:00
Christoph Oelckers
ef98757c7c - replaced finesine for texture warping with a smaller custom table, based on the old 2005 FP code, but fixes the generation of the sine table.
- removed all remnants of finesine and deleted tables.c and tables.h.
2016-04-28 15:59:37 +02:00