Commit graph

4600 commits

Author SHA1 Message Date
Edward Richardson
ed51083572 Change u_short as well. 2014-10-21 23:44:14 +13:00
Edward Richardson
759f1bb81b Fix handshakes between GCC and MSVC
u_long has two different sizes between Linux GCC and MSVC
Stopped netgames from starting up if player count wont fit
2014-10-21 23:38:45 +13:00
John Palomo Jr
82255c4dfd Using PickActor will only set the TID if the picked actor doesn't have a TID already. An optional 8th parameter (bool forceTID) was added to revert to the old behavior. 2014-10-19 20:52:48 -04:00
alexey.lysiuk
b2110db1f5 Extended list of display resolutions 2014-10-18 14:55:27 +03:00
alexey.lysiuk
949325df68 Merge branch 'fix_cmake_unix' into z_osx_clean 2014-10-18 12:36:09 +03:00
alexey.lysiuk
1715b25a3e Fixed Unknown CMake command "CHECK_LIBRARY_EXISTS" error on Unix targets
Previously it worked somehow but not with CMake 3.0.2
2014-10-18 12:33:39 +03:00
alexey.lysiuk
c29772de25 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-10-18 12:22:10 +03:00
Christoph Oelckers
a6f64500bf Merge branch 'master' of https://github.com/rheit/zdoom 2014-10-16 08:59:49 +02:00
ChillyDoom
c400dcf736 - Made DBot inherit from DObject. 2014-10-15 17:54:12 +01:00
ChillyDoom
db323643f8 - Renamed FBot to DBot and made it inherit from DThinker.
- Fixed: Bots added by players other than the net arbitrator did not have their skill set.
2014-10-14 19:57:11 +01:00
Christoph Oelckers
c9252d1919 Merge branch 'multi' of https://github.com/Edward850/zdoom 2014-10-14 11:54:40 +02:00
Christoph Oelckers
57895d69f9 Merge branch 'master' of https://github.com/rheit/zdoom 2014-10-14 08:54:41 +02:00
Christoph Oelckers
9f1f17c306 - fixed: The PolyBSPs weren't fully initialized. Some GZDoom-only fields in the segs were skipped. 2014-10-14 08:54:08 +02:00
Edward Richardson
29cf6b0daa Fixed PredictionActor size and typo 2014-10-14 12:54:03 +13:00
ChillyDoom
83d84eaae9 - Moved bot related variables from player_t into a new FBot class. 2014-10-13 18:40:25 +01:00
Christoph Oelckers
952d03da7c Merge branch 'multi' of https://github.com/Edward850/zdoom 2014-10-13 10:37:51 +02:00
ChillyDoom
5de6b535ae - Removed unnecessary 'id' variable from AActor.
- Removed unused 'backpack' variable from player_t.
- Removed duplicate code from b_move.cpp.
- General cleanup.
2014-10-13 08:45:36 +01:00
Edward Richardson
0cd736b487 Prevent lerping when tic duplication not 1
Network dup makes player prediction inaccurate
2014-10-13 17:09:29 +13:00
Edward Richardson
3e4446e46b Moved prediction lerp reset to cover all cases. 2014-10-13 16:49:53 +13:00
Edward Richardson
98904039b7 Final work on prediction lerping
Added cl_predict_lerpscale and cl_predict_lerpthreshold
Added options in menudef
Made sure that lerping cannot extrapolate or run on small scales
Lerping gets reset when rendering interpolation does or respawn
2014-10-13 16:32:49 +13:00
alexey.lysiuk
25b808cd82 Merge https://github.com/rheit/zdoom into z_osx_clean 2014-10-12 15:19:11 +03:00
Edward Richardson
3e6ad8c1a8 Further work on prediction lerping 2014-10-13 00:29:15 +13:00
Christoph Oelckers
0f19356e24 Merge branch 'master' of https://github.com/MajorCooke/zdoom
Conflicts:
	wadsrc/static/actors/constants.txt
2014-10-12 08:43:46 +02:00
Christoph Oelckers
2228dcb32f Merge branch 'experimental' of https://github.com/MajorCooke/zdoom 2014-10-12 08:30:13 +02:00
Christoph Oelckers
e6f3007bef Merge branch 'scoreboardtoggle' of https://github.com/ChillyDoom/zdoom 2014-10-12 08:27:35 +02:00
MajorCooke
f766a1ab38 - Added SXF_ORIGINATOR.
- Only useful for missiles.

By default, missiles cannot set themselves as the master when spawning
actors.
2014-10-11 16:15:42 -05:00
MajorCooke
47029a3efc DoKill bug
-Fixed: DoKill did not target 'killtarget' for missiles, causing crashes and making the function not work properly.
2014-10-07 11:33:08 -05:00
Christoph Oelckers
3eaebabdf1 - fixed: EV_Teleport must not access the thing's player pointer before ensuring that 'thing' is a valid pointer. 2014-10-06 17:40:02 +02:00
Christoph Oelckers
5d032f3fcf - fixed: Since the engine can no longer change renderers on the fly, thanks to ZDoom's messed up video startup code, we have to abort with a fatal error if we can't create a GL context. Otherwise the user will never see a meaningful message. 2014-10-06 10:00:02 +02:00
Christoph Oelckers
3e2a17538b - fixed: HUD weapons were affected by dynamic lights even when the CVARs said that they shouldn't. 2014-10-06 09:05:42 +02:00
Edward Richardson
e1b8b4a871 Started work on prediction lerping 2014-10-06 15:27:13 +13:00
Christoph Oelckers
9fe2857dc1 Merge branch 'master' of https://github.com/rheit/zdoom 2014-10-05 18:49:48 +02:00
Christoph Oelckers
ead8a2874d - fixed: The texture mode implied by render style did not work for models. 2014-10-05 12:03:55 +02:00
Christoph Oelckers
fd3128a164 - fixed: When changing enhanced nightvision mode the shaders need to have their fixed colormap state reset to ensure that the new settings get used.
- fixed: The shader code for handling special fixed colormaps did not use the color vertex attribute which was most evident with the 'shadow' render style on the spectre.
2014-10-05 09:40:36 +02:00
Edward Richardson
7175374350 Keep gateway sockets open during handshake 2014-10-05 19:46:34 +13:00
Edward Richardson
c9d603d1c3 Unreliable isn't exactly the problem 2014-10-05 18:52:56 +13:00
Edward Richardson
0c1fde81ad Remove PacketServer auto select
PacketServer has the tendency to amplify netgame latency times, so it
really shouldn't be auto selected.
Added a notice in case it's used.
2014-10-05 18:32:32 +13:00
Edward Richardson
ae71f94ed2 Remove disconnecting players safely
Players who were disconnecting would be removed outside of the playsims
control, causing problems with sector lists.
2014-10-05 18:04:11 +13:00
Edward Richardson
0f9a8176f5 Unprediction needs to restore selected inventory 2014-10-05 16:57:31 +13:00
MajorCooke
f54a59fdf8 - Added JLOSF_CHECKTRACER for A_JumpIfTargetInLOS.
- CHECKTRACER doesn't need to be a missile or have the SEEKERMISSILE
flag.
2014-10-02 17:00:17 -05:00
ChillyDoom
20dea78ce9 Merge branch 'master' of https://github.com/ChillyDoom/zdoom into scoreboardtoggle 2014-10-02 21:13:54 +01:00
ChillyDoom
c6e1ea864f - Added scoreboard toggling. 2014-10-02 21:03:15 +01:00
MajorCooke
5030832df0 - Added DMSS_NOFACTOR for all A_Damage functions. 2014-10-02 11:48:07 -05:00
Christoph Oelckers
c66c497811 Merge branch 'master' of https://github.com/crimsondusk/zdoom 2014-09-29 00:43:19 +02:00
Christoph Oelckers
cfb623d517 Merge branch 'master' of https://github.com/MajorCooke/zdoom 2014-09-29 00:42:59 +02:00
Christoph Oelckers
82656df8c8 Merge branch 'Get-linetarget-from-any-actor' of https://github.com/fdari/zdoom 2014-09-29 00:42:35 +02:00
Christoph Oelckers
81076abba2 Merge branch 'canraise' of https://github.com/GitExl/zdoom
Conflicts:
	src/p_acs.cpp
2014-09-29 00:42:09 +02:00
Teemu Piippo
770547e661 - added udmf key midtex3dimpassible which causes the midtex to behave like a finite-height impassible line; practically this means the mid texture lets projectiles pass through it. 2014-09-28 17:17:19 +03:00
MajorCooke
96c6e7d9bf Minor fix; didn't mean to include that flag check. 2014-09-28 08:20:27 -05:00
MajorCooke
43b86288c7 - Added A_Remove(int pointer, int flags).
- RMVF_MISSILES removes missiles.
- RMVF_NOMONSTERS ignores monsters.
- RMVF_MISC includes non-monsters and missiles.
- RMVF_EVERYTHING disregards all checks and remove it.

These flags now apply to the following in addition to the new function:

-A_RemoveTarget
-A_RemoveMaster
-A_RemoveTracer
-A_RemoveChildren
-A_RemoveSiblings
2014-09-28 08:15:00 -05:00
fdari
c4f0f95ec8 Get linetarget (aim target) from any actor (not just player): AAPTR_LINETARGET 2014-09-28 15:06:52 +02:00
fdari
a2f7b86a0f IsPointerEqual (ACS and Decorate)
Decorate: IsPointerEqual(int aaptr_selector1, int aaptr_selector2)
ACS: IsPointerEqual(int aaptr_selector1, int aaptr_selector2, int tid1 = 0, int tid2 = 0)

Compare the pointers values returned by two pointer select operations. Returns true if they both resolve to the same value. Null values can be explicitly tested using IsPointerEqual(AAPTR_NULL, ...)

ACS: IsPointerEqual(int aaptr1, int aaptr2, int tid1 = 0, int tid2 = 0)

This function lets you compare pointers from other actors than the activator, using tids. Tid1 determines the actor used to resolve aaptr1, Tid2 does the same for aaptr2. If tid1 and tid2 are equal, the same actor will be used for resolving both pointers (that could always happen randomly; this way you know it will happen).
2014-09-28 11:52:37 +02:00
Christoph Oelckers
ee09f8c72d Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-28 01:06:04 +02:00
MajorCooke
97d5d614c4 - Fixed: SXF_NOPOINTERS didn't clear LastHeard, causing monsters to spawn with targets. 2014-09-27 16:50:24 -05:00
MajorCooke
68a5db3c8c - Added SXF_NOPOINTERS for A_SpawnItemEx.
- Added WARPF_ABSOLUTEPOSITION for A_Warp.
2014-09-27 13:22:14 -05:00
Christoph Oelckers
68c481945a - extended parameter list of A_BFGSpray. 2014-09-27 09:36:38 +02:00
Christoph Oelckers
e025f40902 - more redundancy removal: Consolidated the common part of the A_Kill* functions into a subfunction. 2014-09-27 08:54:18 +02:00
Christoph Oelckers
afaa88a460 - consolidated the common portion of the 6 different A_Damage* functions into a subfunction. 2014-09-27 08:48:36 +02:00
MajorCooke
0735cb9550 - Updated many functions.
- Added A_KillTarget(damagetype, int flags).
- Added A_KillTracer(damagetype, int flags).
- Added A_RemoveTarget.
- Added A_RemoveTracer.

A_Kill (Master/Target/Tracer/Children/Siblings):
- KILS_FOILINVUL: foils invulnerability.
- KILS_KILLMISSILES: destroys projectiles. Does not work on invulnerable
projectiles without KILS_FOILINVUL, and doesn't work at all on missiles
with NODAMAGE flag.
- KILS_NOMONSTERS: actors that are monsters will not be killed.

A_Damage (Self/Target/Master/Tracer/Children/Siblings):
- DMSS_FOILINVUL: foils invulnerability.
- DMSS_AFFECTARMOR: damages the actor's armor instead of bypassing it
entirely.
- DMSS_KILL: damages the actor by its remaining health (useful for
modular DECORATE programming).

- Added A_SpawnItemEx flags:
- SXF_SETTARGET: sets the calling actor as the target.
- SXF_SETTRACER: sets the calling actor as the tracer.
Both of these functions take priority similar to SXF_SETMASTER over
SXF_TRANSFERPOINTERS.
2014-09-27 00:10:31 -05:00
MajorCooke
5b71ce6dcb - Added FDARI's A_JumpIfHealthLower patch.
Now with pointer accessibility.
2014-09-26 11:48:20 -05:00
Edoardo Prezioso
54ccf5d44d - Fixed a possible uninitialized condition.
In the function R_RebuildViewInterpolation, the pointer 'iview' was not initialized when the player or its camera were NULL, hence 'iview == NULL' was garbage. Also, the function FindPastViewer does not return NULL, hence the mentioned check is not needed at all. Just return early if the player camera does not exist.
2014-09-26 11:11:35 +02:00
Christoph Oelckers
0f62983aee Merge branch 'master' of https://github.com/Edward850/zdoom 2014-09-26 08:31:20 +02:00
Christoph Oelckers
80060cf1ac Merge branch 'checkclass' of https://github.com/MajorCooke/zdoom 2014-09-26 08:30:33 +02:00
MajorCooke
6586fa29fd - Added FDARI's A_JumpIf CheckClass submission.
- bool CheckClass(string classname, int ptr_select = aaptr_default, bool
match_superclass = false)
2014-09-25 23:56:10 -05:00
MajorCooke
422e83a1b9 - Added more A_Damage functions:
- A_DamageTarget
- A_DamageTracer
-Both take a number for how much damage to deal and the damagetype to
inflict. Negative numbers means healing.
2014-09-25 23:12:25 -05:00
Edward Richardson
e25b91d5a1 Cleanup 2014-09-26 16:11:52 +12:00
Edward Richardson
84cf799803 Final changes to balancing 2014-09-26 15:48:46 +12:00
Edward Richardson
8f82243f4c Don't balance if already the slowest node
- Network balancing shouldn't be run if already too far behind
- Don't save network settings
- Added net_fakelatency for debug builds
2014-09-26 15:48:45 +12:00
Edward Richardson
9e68983b44 Added standard teleports to line prediction
- Added standard teleports to line prediction
- Menudef for line special prediction
2014-09-26 15:48:45 +12:00
Edward Richardson
53b6e7d4d5 Added silent line teleport prediction
- Allow activation of line teleport specials during prediction
- Moved prediction functions to improve uncapped framerates
2014-09-26 15:48:45 +12:00
Edward Richardson
ad0a1ad865 Readded -extratic for compatibility with launchers 2014-09-26 15:48:45 +12:00
Edward Richardson
530f474673 Shifted netmode reporting for guests
- The netmode is now reported after a guest has received it.
- Minor code cleanup
2014-09-26 15:48:44 +12:00
Edward Richardson
c661da2995 Stop negative tic counts from corrupting messages 2014-09-26 15:48:44 +12:00
Edward Richardson
42e6737803 Player prediction now updates listener 2014-09-26 15:48:44 +12:00
Edward Richardson
4db8b3e421 Made delay updates less erratic 2014-09-26 15:48:44 +12:00
Edward Richardson
c585eee82b Don't need to MAX() mode 2 2014-09-26 15:48:43 +12:00
Edward Richardson
78f8bf19d2 Extratics mode 3 didn't work well
- Removed Extratics mode 3
- Fixed a typo
2014-09-26 15:48:43 +12:00
Edward Richardson
4041f56cc8 Bumped net version 2014-09-26 15:48:43 +12:00
Edward Richardson
ded3bc73be New extratic method
- Extratic changed to server var, that can be changed at any time
(net_extratic)
- Added net_extratic 2 which resends all unconfirmed tics
- Corrected bad variable typo in delay reporting
2014-09-26 15:48:43 +12:00
Edward Richardson
97586c317e Further refinements to network balancing
- Added delay times of all players to the scoreboard
- Removed balancing from packet-server (tried it, didn't work)
- Calculations remove an extra tic to account for possible bias
2014-09-26 15:48:42 +12:00
Edward Richardson
542b8a7171 Added network load balancing
- Guests can now attempt to match latency with the arbitrator.
(net_loadbalance)
- Added althud feature to show arbitrator and local latency.
(hud_showlag 1 is on for netgames, 2 is always on)
2014-09-26 15:48:42 +12:00
MajorCooke
b1f87295b8 - Added A_DamageSelf.
- A_DamageSelf(int amount, name damagetype)
2014-09-25 16:47:41 -05:00
John Palomo Jr
79d9a573bb Added AProp_MeleeRange to SetActorProperty. 2014-09-24 03:56:20 -04:00
GitExl
bb3d2fa535 Add CanRaiseActor ACS function. 2014-09-23 12:10:39 +02:00
Christoph Oelckers
0b44b51b00 Merge branch 'master' of https://github.com/GitExl/zdoom 2014-09-21 22:13:16 +02:00
Christoph Oelckers
48da2f87bb - fixed: The light buffer index must not be reset between rendering a camera texture and the main scene.
Since rendering is asynchronous, the camera texture scene may not be finished once the main scene's lights get filled in. Unfortunately forcing a synchronization with glFinisg has bad side effects on performance the only remaining option is to use separate parts of the buffer for both scenes, which in extreme cases may increase the light buffer's size - but on modern hardware that shouldn't be a problem.
2014-09-21 21:01:11 +02:00
GitExl
313b229319 Add PickActor ACS function. 2014-09-21 16:43:17 +02:00
Christoph Oelckers
b2cf7d6512 - fixed memory leak: The sector links for dynamic lights were never freed. 2014-09-21 12:40:08 +02:00
Christoph Oelckers
7359631a43 - fixed weapon drawing rules to account for the death camera. 2014-09-21 11:08:38 +02:00
Christoph Oelckers
4682736585 - fixed: non-tiled mid textures on a fog boundary require some special clamping to be performed in the shader. 2014-09-21 11:08:17 +02:00
Christoph Oelckers
da87a34a6f - fixed: MODELDEF's FrameIndex command was case sensitive. 2014-09-21 09:40:41 +02:00
Christoph Oelckers
a93cb0bfab - added a NULL check for GL resource context in init code. 2014-09-21 09:19:17 +02:00
Christoph Oelckers
e14756e810 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-21 09:18:23 +02:00
Christoph Oelckers
f92cdb0ce7 - fixed: When the SectorAction's TriggerAction method was renamed, the inherited one in the MusicChanger was overlooked. (Bit thanks to the C++ specs for allowing to override a non-virtual method with a virtual one without even showing a warning...) 2014-09-21 09:11:33 +02:00
Christoph Oelckers
cbf72fe992 - fixed: Since the serializing code cannot distinguish between user variables of the same name coming from different actors in an inheritance chain, this kind of name duplication must be prohibited. 2014-09-21 08:32:39 +02:00
Christoph Oelckers
cbf353ca52 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-21 08:12:32 +02:00
MajorCooke
44683657f2 - Added jpalomo's A_SetSpeed patch. 2014-09-20 17:34:57 -05:00
alexey.lysiuk
49dca4d9cb Native Cocoa back-end is enabled by default 2014-09-20 11:56:15 +03:00
alexey.lysiuk
e8ca4fa94e Applied fixes for timer to its thread-based implementation 2014-09-20 11:55:49 +03:00
alexey.lysiuk
0f602fb1ce Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-09-20 11:54:21 +03:00
Christoph Oelckers
43e2d704a3 - always use glPolygonOffset to render translucent geometry. 2014-09-20 09:04:36 +02:00
MajorCooke
16a380f82a - Added Blue Shadow's DropInventory ACS function. 2014-09-19 17:27:18 -05:00
MajorCooke
5c4ad9be68 Added Blue Shadow's A_SpawnItemEx changes: (1/2)
SXF_TRANSFERALPHA and SXF_TRANSFERRENDERSTYLE
2014-09-19 14:15:31 -05:00
Christoph Oelckers
c2377ff8e1 Merge branch 'setmasterfix' of https://github.com/MajorCooke/zdoom 2014-09-19 09:15:33 +02:00
Christoph Oelckers
0787f73cd4 Merge branch 'clang_3_5_crash' of https://github.com/edward-san/zdoom 2014-09-19 09:14:44 +02:00
MajorCooke
7a62459c00 Allow SXF_SETMASTER to work on non-monsters. 2014-09-18 17:58:06 -05:00
Christoph Oelckers
92dcf2e5ef - fixed some of those supremely annoying and supremely pointless GCC/Clang compiler warnings. 2014-09-17 11:03:05 +02:00
Christoph Oelckers
c5e00dbc53 fixed: The sampler object for camera textures was never initialized. 2014-09-17 10:52:34 +02:00
Christoph Oelckers
c773a500f2 - only activate shader storage buffers on modern drivers also supporting GL_ARB_buffer storage. Early adopters of this extension (i.e. older AMD drivers mainly) tend to implement this badly. 2014-09-17 09:01:16 +02:00
Christoph Oelckers
df1364e2d7 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-16 08:46:12 +02:00
Christoph Oelckers
134c9ade21 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-16 08:44:37 +02:00
Christoph Oelckers
8ef16b72ee Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-16 08:43:03 +02:00
Christoph Oelckers
864adde92e - typo for savegame versioning of AActor::weaponspecial: it was introduced in savegame version 4512, not 4511. 2014-09-16 08:42:27 +02:00
Edoardo Prezioso
1c96039d7a - Fixed miscompilation with Clang 3.5.0.
The optimizer miscompiles the function FBehavior::LoadScriptsDirectory and causes random crashes when zdoom is run with wads containing scripts.
As said in the comment, I just hope that the Clang devs fix it for the next patching release, ie 3.5.1.
2014-09-15 19:46:43 +02:00
Braden Obrzut
94123d5ef4 - Applied anonymous patch to fix uncapped stuttering in SDL backend. 2014-09-15 12:59:07 -04:00
Christoph Oelckers
a25ed3c807 - fixed: inverted rendering for fuzzy things with light powerup was switched off due to change of render style. 2014-09-15 12:15:19 +02:00
Christoph Oelckers
77c4533e4b Merge branch 'v2.x' 2014-09-15 11:51:59 +02:00
Christoph Oelckers
2ed287428c Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-15 11:36:51 +02:00
Christoph Oelckers
4be9a71636 - fixed: The VOC reader didn't advance the read index correctly. 2014-09-15 11:32:40 +02:00
Christoph Oelckers
1b13e6be98 -. fixed:S_LoadSound passed the wrong value for the lump size parameter to LoadSoundVoc. 2014-09-15 11:24:48 +02:00
Christoph Oelckers
8e7e16f73a - fixed: The light uniform buffer may not be mapped with GL_MAP_INVALIDATE_BUFFER_BIT, because it needs to be mapped for each portal in a scene but it must preserve the existing data for the remaining translucent objects. 2014-09-15 10:27:09 +02:00
Christoph Oelckers
07ef7d3d59 Merge branch 'master' into v2.x 2014-09-14 23:07:30 +02:00
Christoph Oelckers
60ff6c5f07 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-14 23:06:57 +02:00
Christoph Oelckers
32f08adaf3 - moved some code to better places.
- allow GL version 3.0 in Windows, too.
2014-09-14 23:01:57 +02:00
Ralgor
5cc43137a1 Only require OpenGL 3.0 compatibility profile. 2014-09-14 14:43:42 -05:00
Ralgor
cfc8f3dbbf Global GL render context shouldn't be initialized inside of gl_PrintStartupLog, since it's not compiled in non MSC builds. 2014-09-14 14:42:14 -05:00
Ralgor
1a70a6aabc The light buffer should check for shader_storage_buffer_object rather than buffer_storage. 2014-09-14 14:29:13 -05:00
Ralgor
ddf58b43c9 Fix compile errors on linux. 2014-09-14 14:28:05 -05:00
alexey.lysiuk
1529ff7730 Fixed compilation warning in HID name formatting 2014-09-14 09:51:55 +03:00
alexey.lysiuk
c7fc44062e Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-09-13 16:12:14 +03:00
alexey.lysiuk
1e3e94f8ad Fixed crash Apple's HID Utilities in x86_64 build
Only a small part of HID Utilities version 5.3, 2014-02-28 was merged in because of various issues it has
https://developer.apple.com/library/mac/samplecode/HID_Config_Save/
2014-09-13 15:46:32 +03:00
Christoph Oelckers
ee6e87d94b - use a separate counter from AActor::special1 to count weapon use with some Hexen weapons. special1 is used for some other purposes as well, and when using a separate counter it can be reset to 0 when changing weapons, preventing counting errors. 2014-09-13 12:38:16 +02:00
Christoph Oelckers
de68361f27 - fixed: When a sprite is being renamed by Dehacked it also needs to be changed in the list of original sprite names, otherwise any subsequent attempt to use the altered sprite in a frame definition will fail. 2014-09-13 11:54:19 +02:00
Christoph Oelckers
2ada3fe00e - remove debug stuff. 2014-09-13 11:40:06 +02:00
Christoph Oelckers
50a8297201 - fixed: G_ChangeLevel must resolve warptrans map links before getting the next level's levelinfo. 2014-09-13 11:00:25 +02:00
alexey.lysiuk
87472bf002 Use the same binary architecture to restart from IWAD picker 2014-09-13 11:44:24 +03:00
Christoph Oelckers
f0e9fde336 - fixed: In Raven games, don't chase after monsters in the titlemap or when actor has a goal. 2014-09-13 10:40:56 +02:00
alexey.lysiuk
7286ee9626 Renamed application delegate to controller 2014-09-13 11:23:38 +03:00
alexey.lysiuk
b6f829979a Cleaned up software rendering internals in Cocoa back-end 2014-09-13 11:16:23 +03:00
Christoph Oelckers
2be3b776d8 - fixed: A_CustomMissile should not jump to the See state for dead monsters when using CMF_CHECKTARGETDEAD. 2014-09-13 10:15:09 +02:00
Christoph Oelckers
46ec364443 - fixed: When validating the crouch sprite it was assumed that both the regular and the crouch sprite were having full rotations. 2014-09-13 10:08:22 +02:00
Christoph Oelckers
1e82d72349 - fixed: G_FinishTravel must clear the MF2_BLASTED flag off the player pawn because this flag will result in damage from contact with other objects in the map. 2014-09-13 09:56:21 +02:00
Christoph Oelckers
a0f507d18f - fixed: The crosshair setting code checked for existence of lumps, not textures and missed anything defined in a TEXTURES lump. 2014-09-13 09:51:49 +02:00
Christoph Oelckers
3c2f1952fd Merge branch 'master' into v2.x 2014-09-12 21:01:55 +02:00
Christoph Oelckers
5a1ad75402 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-12 21:01:27 +02:00
Christoph Oelckers
109da206a6 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-12 20:59:41 +02:00
Christoph Oelckers
a2c81f1ca9 -fixed the file validity checks in MapData::GetChecksum.
They need to be done per lump, because MapData::Seek can alter the FileReader being used for a specific lump. Even worse, the FileReader will be NULL when the function as it was is called for a map inside a Zip-file.
2014-09-12 20:59:23 +02:00
alexey.lysiuk
1dab120e15 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-09-12 18:37:43 +03:00
alexey.lysiuk
0fd84bc853 Added ability to turn off hi-res backing surface rendering on Retina displays
High resolution backing surface is enabled by default and controlled via vid_hidpi CVAR
When it is set to false one pixel per point scale is used
2014-09-12 18:35:45 +03:00
Braden Obrzut
27ebfa783e - Added IfHealth based on Blue Shadow's patch. 2014-09-12 00:49:09 -04:00
Braden Obrzut
0223b7f460 - Fixed: InInventory didn't work quite right with multiple items. 2014-09-12 00:39:36 -04:00
Christoph Oelckers
25951362fc - fixed: When applying Boom's Transfer_Heights effect to a sector, gl_FakeFlat needs to remove all portals from the original sector planes that are being replaced in the sector copy. 2014-09-11 13:02:39 +02:00
Christoph Oelckers
acf6c259d8 - changed the handling of alpha textures. The only special case they need is with palette-less textures and this can be handled far more easily and robustly with a predefined translation instead of passing another parameter through all the layers of the texture management code. This also fixes problems with paletted PNGs that get used as an alpha texture because the old method clobbered the image's palette. 2014-09-09 13:21:36 +02:00
Christoph Oelckers
4bb320a27c - route texture binding through the renderstate class for better control. Currently it's just a direct passthrough but this will change. 2014-09-09 12:00:42 +02:00
Christoph Oelckers
d5633701b4 - swapped order of textures in burn shader to avoid some problems with the texture samplers.
- fixed: texture sampler state for the burn texture was never set.
2014-09-09 10:17:44 +02:00
Christoph Oelckers
c6f4c0b6f0 - fixed: FMaterial's tex pointer could be accessed before it was set.
- allow more than two texture units in shaders.
2014-09-09 10:03:34 +02:00
Christoph Oelckers
62880f113b - fix a render glitch with Back to Saturn X MAP06: Do not flood missing upper and lower textures with the backsector's flat if that backsector is malformed (i.e. has no area.) 2014-09-09 08:47:39 +02:00
Christoph Oelckers
9b8869e78d Merge branch 'master' into v2.x
Conflicts:
	src/gl/textures/gl_material.cpp
2014-09-09 01:30:11 +02:00
Christoph Oelckers
86d9c7ec8e - add some compatibility settings to fix rendering glitches in BTSX_E1 MAP12. 2014-09-09 01:27:41 +02:00
Christoph Oelckers
e2c2f635ac Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-08 23:26:17 +02:00
Christoph Oelckers
5e34b78451 - missed a line. 2014-09-08 23:25:27 +02:00
Christoph Oelckers
0ff061b928 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-08 22:55:37 +02:00
Christoph Oelckers
580e580c42 - added option to set a sector's tag via compatibility.txt (needed by GZDoom) 2014-09-08 22:54:56 +02:00
Christoph Oelckers
3d2646cbae Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-08 13:02:39 +02:00
Christoph Oelckers
cfd24f438f - jpalomo's A_Saw flags submission. 2014-09-08 13:02:05 +02:00
alexey.lysiuk
e29fce6951 Fixed missing transparency on upscaled textures
Textures with diagonal patterns were treated as opaque after resizing
Images upscaled by hqNx were affected mostly by this issue

http://forum.drdteam.org/viewtopic.php?f=24&t=5370
http://zandronum.com/tracker/view.php?id=269
http://zandronum.com/tracker/view.php?id=315
2014-09-07 11:52:51 +03:00
alexey.lysiuk
e60d181e87 Removed redundant #include's that broke build of native back-end 2014-09-06 10:22:37 +03:00
alexey.lysiuk
45a88780b0 Fixed build with GCC 4.x / Xcode 3.2.x 2014-09-06 10:18:33 +03:00
alexey.lysiuk
4d799cab70 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-09-06 10:17:41 +03:00
Braden Obrzut
49382a2a14 - Added detection for The Adventures of Sqaure (based off MTrop's submission).
- IWADINFO no longer requires a mapinfo to be specified.
2014-09-04 19:36:08 -04:00
Christoph Oelckers
b96dd6c421 - fixed: The missing fourth component of the texture coordinate must be filled with 1.0, not 0.0 before applying the texture matrix. Not doing so will cancel out the translation part of the matrix. 2014-09-02 10:31:48 +02:00
Christoph Oelckers
fa3a62e954 - fix a render glitch with Back to Saturn X MAP06: Do not flood missing upper and lower textures with the backsector's flat if that backsector is malformed (i.e. has no area.) 2014-08-31 23:01:53 +02:00
Christoph Oelckers
a280c20b4e - fixed: If we want to cache texture binding state we have to reset it in all places where a texture becomes unbound. 2014-08-31 19:00:17 +02:00
Christoph Oelckers
12160bd29c - remove some obsolete code from decal rendering.
- avoid rebinding the same texture multiple times, as there's considerable overhead in the texture manager.
- check gl_sort_textures only once per scene, not per draw list.
2014-08-30 15:34:14 +02:00
Christoph Oelckers
6a3cd6378a - found out that reading the CPU's real time clock costs a not insignificant amount of time so this is now only done when either the benchmark command is running or the rendertimes are shown. 2014-08-30 14:33:06 +02:00
Christoph Oelckers
49ec7beb8f - separate draw lists for walls and flats. This makes the sorting much more efficient because draw types no longer need to be checked in the compare function. This is a lot more important than having perfect texture order. 2014-08-30 13:04:41 +02:00
Christoph Oelckers
1d2aa3df0c fixed: The wait console command waited one tic too many because it got 1 added to it twice instead of only once. 2014-08-25 10:51:50 +02:00
Christoph Oelckers
a903cbe12e - sorting draw items by light level no longer makes sense so remove all corresponding code from dicmp. 2014-08-24 13:10:45 +02:00
Christoph Oelckers
bf03d02228 - print OpenGL profile type in startup log. 2014-08-24 01:09:44 +02:00
Christoph Oelckers
904cc2e158 - some code cleanup. 2014-08-23 18:54:24 +02:00
alexey.lysiuk
51d7340288 Fixed crash on music volume change when no track is played using FluidSynth device 2014-08-23 16:35:05 +03:00
Christoph Oelckers
5364116354 - fixed: APROP_Friendly did not manage monster counting correctly. 2014-08-23 13:24:15 +02:00
Christoph Oelckers
bf6079af46 - fixed incorrect check for overrideshader. 2014-08-23 00:47:05 +02:00
Christoph Oelckers
1050013017 major cleanup of the texture manager:
- use sampler objects to avoid creating up to 4 different system textures for one game texture just because of different clamping settings.
- avoids flushing all textures for change of texture filter mode.
- separate sprite and regular dimensions on the material level to have better control over which one gets used. It's now an explicit parameter of ValidateTexture. The main reason for this change is better handling of wall sprites which may not be subjected to such handling.
- create mipmaps based on use case, not texture type.
- allows removal of FCloneTexture hack for proper sharing of the same sprite for decals and other purposes.
- better precaching of skyboxes.
2014-08-22 23:50:38 +02:00
Christoph Oelckers
7a727b6807 Merge branch 'master' into v2.x 2014-08-21 13:44:41 +02:00
Christoph Oelckers
816999109e Merge branch 'master' of https://github.com/rheit/zdoom 2014-08-21 13:42:43 +02:00
Christoph Oelckers
df0d3543a8 - fixed: *ALL* original ceiling crushers, not just type 49, require a distance of 8 to the floor for the destination height. For the silent types this required a new action special, Ceiling_CrushAndRaiseSilentDist. This change only affects the XLAT mapping, the Hexen format types behave as before.
- removed the redundant internal ceilCrushAndRaiseDist ceiling movement type. It was precisely the same as ceilCrushAndRaise in all details.
2014-08-21 13:01:12 +02:00
Christoph Oelckers
274a4216ea - disabling inlining in the GL loader produces an executable that's 8kb smaller. 2014-08-21 11:47:53 +02:00
Christoph Oelckers
78815a9601 -we need this, too. 2014-08-21 11:29:43 +02:00
Christoph Oelckers
e132fc5eed - replaced GLEW with GLLoadGen for GL access. This allows to have a header that only contains what's actually required, namely OpenGL 3.3 plus glBegin and glEnd which are the only compatibility functions needed for the fallback render path.
GLEW has two major problems:

- it always includes everything, there is no way to restrict the header to a specific GL version
- it is mostly broken with a core profile and only works if all sanity checks get switched off.
2014-08-21 11:02:46 +02:00
Edward Richardson
07d7f690e8 Non-wall sprites need their original depth checks 2014-08-21 20:03:17 +12:00
Christoph Oelckers
6f65bccf1c - reinstated the far superior assembly HQnX version for Visual C++. 2014-08-20 12:45:33 +02:00
Christoph Oelckers
86d37e06f9 - lowered requirements of GL 2.x to OpenGL 3.3.
There was one issue preventing the previous 2.0 betas from running under GL 3.x: The lack of persistently mapped buffers.
For the dynamic light buffer today's changes take care of that problem.
For the vertex buffer there is no good workaround but we can use immediate mode render calls instead which have been reinstated.

To handle the current setup, the engine first tries to get a core profile context and checks for presence of GL 4.4 or the GL_ARB_buffer_storage extension.
If this fails the context is deleted again and a compatibility context retrieved which is then used for 'old style' rendering which does work on older GL versions.

This new version does not support GL 3.2 or lower, meaning that Intel GMA 3000 or lower is not supported. The reason for this is that the engine uses a few GL 3.3 features which are not present in the latest Intel driver.
In general the Intel GMA 3000 is far too weak, though, to run the demanding shader of GZDoom 2.x, so this is no real loss. Performance would be far from satisfying.

A command line option '-gl3' exists to force the fallback render path. On my Geforce 550Ti there's approx. 10% performance loss on this path.
2014-08-19 15:56:33 +02:00
Christoph Oelckers
a2dc4afe3f - screwed by the editor's autocompletion... (wrong GL flag was used...) 2014-08-19 14:25:47 +02:00
Christoph Oelckers
00d7707aef - allow reallocation of light buffer if more lights are needed.
- added a light preprocessing pass to the renderer so that a non-persistent buffer can be used with minimal mapping/unmapping. This only gets used if necessary because it adds some overhead to the renderer.
2014-08-19 14:18:21 +02:00
Christoph Oelckers
38796e7714 - removed some obsolete and useless GL calls. 2014-08-17 11:41:03 +02:00
alexey.lysiuk
9479a89b66 Fixed crash on Release targets 2014-08-16 13:55:05 +03:00
alexey.lysiuk
cbe6cf2d41 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-08-16 13:28:55 +03:00
Christoph Oelckers
5d6ef5cb16 Merge branch 'master' into v2.x 2014-08-11 13:19:42 +02:00
Christoph Oelckers
c30cfb3190 Merge branch 'master' of https://github.com/rheit/zdoom 2014-08-11 13:18:21 +02:00
Christoph Oelckers
f482dc094d fixed: R_PointOnSideSlow had precision issues with very short lines.
When this function was originally written there was no possibility of fractional vertex coordinates so it threw away the fractional parts of the node's directional vector (which in the original nodes was always 0.)
Now, with UDMF and high precision vertices this no longer works and the loss of significant parts of their value caused this code to produce erroneous results if the linedefs were only a few map units long and using fractional positions.
2014-08-11 12:27:04 +02:00
Christoph Oelckers
48163de8e2 must include doomdef.h in cmdlib.h to get TICRATE. 2014-08-11 11:47:14 +02:00
Christoph Oelckers
f0eccb9d15 - BlueShadow's submission for keeping the max save amount of BasicArmorPickups around when picking up armor bonuses. 2014-08-11 10:08:49 +02:00
Christoph Oelckers
259466c3d4 fixed time printing.
- In ZDoom the timer runs a bit too fast because roundoff errors make 35 tics only last 0.98 seconds. None of the internal timing has been changed, only the places where a time value is printed it will get adjusted for this discrepancy.
2014-08-11 09:39:38 +02:00
alexey.lysiuk
96a3e0f729 Set more descriptive name for SDL source files list in CMake file 2014-08-10 12:30:19 +03:00
alexey.lysiuk
2649b4c26a Moved render buffer options definition to own header file
This is needed for GZDoom
2014-08-10 11:22:20 +03:00
alexey.lysiuk
f8dfdbd4a4 Extracted fullscreen and windowed modes handling to separate methods 2014-08-10 11:12:35 +03:00
alexey.lysiuk
406ee9234a Added two SDL functions needed for GZDoom 2014-08-09 16:27:07 +03:00
alexey.lysiuk
efdfeeec90 Distinguish SDL and Cocoa back-ends in startup log 2014-08-09 15:51:39 +03:00
alexey.lysiuk
b6404180bb Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-08-09 13:34:06 +03:00
alexey.lysiuk
18c9caf68d Enhanced Cocoa version of IWAD picker window
Added ability to specify custom command line parameters
Added ability to browse for user files
Improved handling of restart console command
Improved layout for window
2014-08-09 13:32:32 +03:00
alexey.lysiuk
82e8c514e9 Renamed SDL specific source file with GUI related code 2014-08-09 13:20:52 +03:00
Christoph Oelckers
1fcde91298 - BlueShadow's GetArmorInfo submission. 2014-08-08 09:25:35 +02:00
Randy Heit
bf0856aef5 Remove DepthScale and DepthOrg from FWallTmapVals 2014-08-07 22:58:11 -05:00
Randy Heit
891b3da103 Remove extra magnitude from magic texture mapping values
- These used to be fixed point, but now they're floating point, so the
  excess magnitude is unneeded.
2014-08-07 22:43:23 -05:00
Randy Heit
fefe6aa2c1 Specie -> Species
- specie: money in the form of coins rather than notes
- species: a group of living organisms consisting of similar individuals
  capable of exchanging genes or interbreeding
2014-08-07 22:40:12 -05:00
Randy Heit
75dc7de632 Merge branch 'master' of github.com:rheit/zdoom 2014-08-07 22:28:35 -05:00
Randy Heit
46592f5f6d Don't clamp SHADE2LIGHT
- Light levels aren't stored in bytes anymore, so there's no reason to
  clamp it anymore when loading Build maps.
2014-08-07 22:27:48 -05:00
Randy Heit
fbb5689f29 Eliminate extra vars from FWallCoords
- cx1, cx2, cy1, and cy2 are not used anywhere, so get rid of them.
- Also annotated the comments to indicate the corresponding arrays in the Build engine.
2014-08-07 22:26:24 -05:00
Randy Heit
e6a1d6b516 Parse more info from Blood's map header 2014-08-07 22:00:02 -05:00
Randy Heit
9659b894a3 Skip neardepth/fardepth checking in R_DrawSprite
- Wall sprites now clip much, much better than before.
2014-08-07 20:43:09 -05:00
Randy Heit
7b02027ba7 Fixed: Wall sprites cut off one pixel short of the window's right border 2014-08-07 20:00:49 -05:00
Randy Heit
6303935ad6 Use wall sprite Y scale 2014-08-07 19:57:55 -05:00
Randy Heit
0aa67c68ab Redo lighting for each wall sprite
- Because previously it just reused whatever the most recently drawn wall
  used.
2014-08-07 17:23:06 -05:00
Randy Heit
e1ee80661e Make FWallCoords' members lowercase
because they're kind of a pain to type when all uppercase.
- Also, make its sx1 and sx2 members shorts, so it takes less space, since
  it's getting crammed into a vissprite now.
2014-08-07 17:12:04 -05:00
Leonard2
8c4c011ca2 MTHRUSPECIES on puffs
You were right it's cleaner that way
2014-08-07 18:05:39 +02:00
Leonard2
5400ce1a21 +MTHRUSPECIES on puffs 2014-08-07 15:50:21 +02:00
Christoph Oelckers
b9ffb51d0c - small but important optimization: Two-sided lines with both sides in the same sector don't really require vertex splitting for precise rendering. 2014-08-04 23:00:40 +02:00
Christoph Oelckers
09a68e8c93 - fixed incorrect function call in shader compiler. 2014-08-03 18:14:19 +02:00
Christoph Oelckers
370582d2fa - corrected versioning info for development branch. 2014-08-03 12:25:59 +02:00
Christoph Oelckers
19cfffebb3 - fixed: the WallTypes enum contained a value that no longer was valid. This was fixed orignally last week but it seems to have gotten lost. 2014-08-03 12:21:05 +02:00
alexey.lysiuk
313173aa32 Added support for clipboard operations on OS X 2014-08-03 12:40:14 +03:00
alexey.lysiuk
4fb1e7517c Added support for VSync option in Cocoa back-end 2014-08-03 12:39:42 +03:00
Braden Obrzut
177112603d Added support for Cocoa back-end in CMake build system 2014-08-03 12:38:56 +03:00
alexey.lysiuk
e12f860f1b Added native Cocoa back-end implementation 2014-08-03 12:36:02 +03:00
alexey.lysiuk
fecd1b6401 Moved cursor and timer implementations into separate files 2014-08-03 12:33:29 +03:00
alexey.lysiuk
d6cc6ee452 Added notification dialog in case of fatal error 2014-08-03 12:26:17 +03:00
alexey.lysiuk
906102c3b6 Added HID Utilities source code
https://developer.apple.com/library/mac/samplecode/HID_Utilities/Introduction/Intro.html
https://developer.apple.com/library/mac/samplecode/HID_Utilities/HID_Utilities.zip
2014-08-03 12:23:08 +03:00
alexey.lysiuk
2efb62e8ef Added work-around for vectorization issue in Apple's GCC 4.x 2014-08-03 12:21:00 +03:00
alexey.lysiuk
0a5dd94072 Fixed whole program (link-time) optimization build with Clang 2014-08-03 12:20:30 +03:00
alexey.lysiuk
39e2ebe425 Fixed GNU inline assembly for Clang 2014-08-03 12:19:07 +03:00
alexey.lysiuk
32af6cb0cf Added support for Command/Meta key 2014-08-03 12:18:15 +03:00
Christoph Oelckers
c98e3ca99d Merge branch 'master' into v2.x 2014-08-03 10:58:41 +02:00
Christoph Oelckers
b3e0d93385 - implemented rendering of wall sprites. 2014-08-03 10:57:58 +02:00
Christoph Oelckers
398d902e7e - split off sprite clipping adjustment code into its own function. 2014-08-03 10:22:12 +02:00
Christoph Oelckers
1b55c17379 Merge branch 'master' of https://github.com/rheit/zdoom 2014-08-03 10:08:05 +02:00
Randy Heit
1d02ad3aa2 Merge branch 'master' of github.com:rheit/zdoom 2014-08-02 22:40:02 -05:00
Randy Heit
d0043bed78 Q&D port of decal code to draw generic wall sprites
- This still doesn't use all the sprite properties correctly. It also
  looks like they're going to need different code to build the clipping
  arrays. But at least wall sprites are drawn at the proper angle now!
2014-08-02 22:35:57 -05:00
Christoph Oelckers
eef4d1fac1 Merge branch 'fix_build_nonmsvc' of https://github.com/alexey-lysiuk/gzdoom 2014-08-03 01:17:15 +02:00
Christoph Oelckers
cd5e429d3b - adjust version number. 2014-08-02 23:12:08 +02:00
Christoph Oelckers
a63871d170 - at least for Intel GMA we need shaders without 'discard' to render non-transparent stuff. The performance penalty is rather hefty here. 2014-08-02 21:06:34 +02:00
Christoph Oelckers
a97b58fa27 - added check for light uniform buffer overflows, because uniform buffers on Intel are rather small. 2014-08-02 20:41:13 +02:00
alexey.lysiuk
6ef67e1d3e Fixed build on compilers other than MSVC
No more "Call to 'LittleShort' is ambiguous" error
2014-08-02 13:14:25 +03:00
Christoph Oelckers
e35fefdc06 - better rebind the active shader after updating the matrices. 2014-08-02 11:59:04 +02:00
Christoph Oelckers
b2860a1d63 - it looks like glProgramUniform is not working correctly with Intel drivers, so better forget about it for setting the view and projection matrices. Even on NVidia the time difference can only be measured in microseconds per frame so it's not a big loss. 2014-08-02 11:57:42 +02:00
Edward Richardson
9716a61219 Add CVar for drawing weapons in the althud 2014-08-02 19:34:16 +12:00
Christoph Oelckers
a8e9c1832f - decided to restrict the 2.0 beta to OpenGL 4.x with GL_ARB_buffer_storage extension and removed all code for supporting older versions.
Sadly, anything else makes no sense.
All the recently made changes live or die, depending on this extension's presence.
Without it, there are major performance issues with the buffer uploads. All of the traditional buffer upload methods are without exception horrendously slow, especially in the context of a Doom engine where frequent small updates are required.
It could be solved with a complete restructuring of the engine, of course, but that's hardly worth the effort, considering it's only for legacy hardware whose market share will inevitably shrink considerably over the next years.
And even then, under the best circumstances I'd still get the same performance as the old immediate mode renderer in GZDoom 1.x and still couldn't implement the additions I'd like to make.

So, since I need to keep GZDoom 1.x around anyway for older GL 2.x hardware, it may as well serve for 3.x hardware, too. It's certainly less work than constantly trying to find workarounds for the older hardware's limitations that cost more time than working on future-proofing the engine.

This new, trimmed down 4.x renderer runs on a core profile configuration and uses persistently mapped buffers for nearly everything that is getting transferred to the GPU. (The global uniforms are still being used as such but they'll be phased out after the first beta release.
2014-08-01 22:42:39 +02:00
Christoph Oelckers
7967082e60 - use the light buffer to handle dynamic lighting. 2014-08-01 20:59:39 +02:00
Randy Heit
15251e7a21 Set face/wall/floor flags from Build sprites 2014-07-31 22:18:08 -05:00
Randy Heit
a600a816c3 Consolidate some common code for texture mapping setup
- R_AddLine() and R_RenderDecal() had nearly identical code for setting up
  texture mapping. These have now been spun off into methods of
  FWallCoords and FWallTmapVals.
2014-07-31 21:02:22 -05:00
Randy Heit
b0b9c57e85 Pass x1 and x2 to Prep(L)Wall as params 2014-07-31 20:32:21 -05:00
Randy Heit
fc63e9db3c Pass WallC as a parameter to (O)WallMost instead of referencing it globally 2014-07-31 20:23:04 -05:00
Randy Heit
bc450808b2 Consolidate wall texturing vars into two structs
- All transformation and clipping values go into FWallCoords.
- All texture mapping values go into FWallTMapVals.
2014-07-31 20:17:23 -05:00
Randy Heit
bbc3b69a7c Remove polymost stuff
- Maybe it will be back someday, but it's been essentially dead for nearly
  10 years, so don't hold your breath.
2014-07-31 19:44:41 -05:00
Randy Heit
4cf468452c Remove slopetype from line_t.
- Recomputing it in the only two places where it's used is trivial, so
  it's basically a waste of space to precompute it.
2014-07-31 19:15:08 -05:00
Randy Heit
e55e7b9a38 Don't weed out wall and floor sprites when spawning Build sprites 2014-07-31 18:22:33 -05:00
Christoph Oelckers
01a1e10084 Merge branch 'master' into Glew_Version_For_Real 2014-07-31 00:59:56 +02:00
Christoph Oelckers
09ae52e26b Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-31 00:44:59 +02:00
Christoph Oelckers
1ec58011d2 - start of light buffer implementation so that we don't have to use uniform arrays which appear to be broken on AMD. 2014-07-31 00:44:22 +02:00
Christoph Oelckers
ef8f66c9a1 - removed the code for hardware alpha testing again because it didn't work anymore with how things are set up now.
- we need to check all GL versions when trying to get a context because some drivers only give us the version we request, leaving out newer features that are not exposed via extension.
- added some status info about uniform blocks.
2014-07-30 23:13:16 +02:00
Randy Heit
a922ae04cc Use Blood player starts
- Blood's maps use thing types, much like Doom's, so getting its player
  starts is easy. There's no need to synthesize a start from the editor
  position like with other Build maps.
2014-07-29 21:39:05 -05:00
Randy Heit
449a17c2f4 Correctly assign the sample rate for all Blood SFX formats
- Blood can do 44100 Hz sounds!
2014-07-29 21:09:29 -05:00
Randy Heit
e0e00c4f8c Fixed: None of the Blood ambient sounds were registered correctly 2014-07-29 20:56:20 -05:00
Randy Heit
4296e9caa2 Fix typo in comment 2014-07-29 20:51:23 -05:00
Randy Heit
d602b272b5 Never cache nodes for Build maps 2014-07-29 20:46:20 -05:00
Randy Heit
00854dd09e Don't reopen the reader for encrypted maps
- Fixed: Memory leak when loading Blood maps.
2014-07-29 20:42:17 -05: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
Randy Heit
f3d8edb4d8 Fixed: No sprites were loaded for Build maps 2014-07-29 20:30:50 -05:00
Christoph Oelckers
a1dfdf0fc7 Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-29 15:51:14 +02:00
Randy Heit
ea7ba9dba3 Add per-actor friction
- This is multiplied by the sector's friction.
- This is intentionally not serialized yet, while awaiting feedback.
2014-07-28 23:15:50 -05:00
Randy Heit
0f8a0020ed Merge remote-tracking branch 'origin/master' 2014-07-28 21:08:21 -05:00
Randy Heit
7280d278d9 Fix VC2005 warning in F7ZFile::Open 2014-07-28 21:03:41 -05:00
Randy Heit
4c6edd5e58 Add script array support to ZDoom 2014-07-28 21:02:20 -05:00
Edward Richardson
6af441c4d7 Dup frames shouldn't adapt.
Adapting during a dup frame caused jittery network performance
(especially when using high dup values).
The demoplayback check also didn't need to be there anyway.
2014-07-29 11:09:46 +12:00
Christoph Oelckers
beabfad293 Merge branch 'master' into Glew_Version_For_Real 2014-07-28 22:23:56 +02:00
Christoph Oelckers
318aebc4ad - fixed: the vertex collection code used incorrect indices for checking the checkmap array. 2014-07-28 22:23:17 +02:00
Christoph Oelckers
183d0ba82a Merge branch 'master' into Glew_Version_For_Real 2014-07-28 19:56:17 +02:00
Christoph Oelckers
355dd1c2f5 - fixed some issues with setting the vertex dirty state. It was also called from several sector init functions and copy code for Boom deep water. The only case where SetPlaneTexZ should call it is from the interpolation code so this is a special case now. 2014-07-28 18:01:01 +02:00
Christoph Oelckers
993b6c3066 - fixed typo in FraggleScript item class list 2014-07-28 17:13:42 +02:00
Christoph Oelckers
192daf1d5a Merge branch 'master' into Glew_Version_For_Real 2014-07-27 21:57:38 +02:00
Christoph Oelckers
ece10bb57f - fixed several incorrect uses of abs instead of fabs. 2014-07-27 21:57:05 +02:00
Christoph Oelckers
c9c93a58a2 - fixed bad constant and potential use of uninitialized variable. 2014-07-27 21:55:25 +02:00
Christoph Oelckers
3d24f58bf0 - fixed conditions for disabling the flat vertex buffer. 2014-07-27 20:18:32 +02:00
Christoph Oelckers
29a56fe01c Merge branch 'master' into Glew_Version_For_Real 2014-07-27 17:59:50 +02:00
Christoph Oelckers
925305aa05 - fixed: The code for updating vertex dirty state had been completely missing. I have no idea when it disappeared... 2014-07-27 17:58:51 +02:00
Christoph Oelckers
4904abfc1c - forgot test stuff. 2014-07-27 13:47:37 +02:00
Christoph Oelckers
97341fcb31 - reenabled the flat vertex buffer for GL 3.x NVidia hardware. On AMD and Intel it'll stay off because past tests have shown that it won't improve performance at all. 2014-07-27 13:46:35 +02:00
Christoph Oelckers
c1d8f235c2 - renamed some stuff that clashed with gl function names. 2014-07-27 12:33:54 +02:00
Christoph Oelckers
77d9d9b2a5 - fixed: For updating the model VAO's attribute pointers it is necessary to first bind the vertex buffer we need to refer to, because this is not part of the VAO's state. 2014-07-27 11:53:18 +02:00
Christoph Oelckers
6d4eb7f62d - changed handling of DF_NO_COOP_WEAPON_SPAWN dmflag so that weapons are not determined by class type but by a newly added flag WEAPONSPAWN, to allow CustomInventory replacements to act like weapons when being spawned. 2014-07-27 10:07:37 +02:00
Christoph Oelckers
e07d06fa2a Merge branch 'master' into Glew_Version_For_Real 2014-07-26 22:26:58 +02:00
Christoph Oelckers
7ae25906fd - fixed: fog must be disabled before drawing the HUD model, not after it. 2014-07-26 22:26:17 +02:00
Christoph Oelckers
bdf5bbd34e - make the shader timer part of the render state. 2014-07-26 20:56:10 +02:00
Christoph Oelckers
637aa9d77e - some adjustments to allow testing the different rendering methods. 2014-07-26 18:43:54 +02:00
Christoph Oelckers
0e647e0f2b Merge branch 'master' into Glew_Version_For_Real 2014-07-26 10:37:00 +02:00
Christoph Oelckers
8465a5f5d7 Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-26 10:23:41 +02:00
Christoph Oelckers
6c9a818220 - allow different render modes if persistent buffers are not available (untested!) 2014-07-26 10:23:07 +02:00
Christoph Oelckers
79f3984346 Merge branch 'upstream' of https://github.com/Edward850/zdoom 2014-07-26 10:17:47 +02:00
Christoph Oelckers
5576892c01 Merge branch 'redundant_offsetof_macro' of https://github.com/edward-san/zdoom 2014-07-26 10:17:25 +02:00
Christoph Oelckers
a21f01bc5f - added jpalomo's submission to make freelook a 3-state setting, like crouch and jump. This required moving around the flags a bit so demo compatibility had to be bumped. It may also require adjustment for launchers that can set the dmflags. 2014-07-26 10:15:07 +02:00
Edward Richardson
0276760a2d Animate switches when bumped 2014-07-19 21:00:12 +12:00
Edoardo Prezioso
ae2f7b8707 - Remove a duplicate of a custom offsetof macro.
It's already defined in cmdlib.h .
2014-07-19 00:53:18 +02:00
Edoardo Prezioso
484eb347ca - Fixed: wrong FString empty string check.
Even when '+logfile' argument was omitted, the console would print 'Could not start log', because 'logfile != NULL' was used as a check for the presence of '+logfile' argument, but the internal buffer of FString is never NULL, so the right check is 'logfile.isNotEmpty()'.
While I'm at it, I fixed another bad check for 'pagename'.
2014-07-18 01:15:41 +02:00
Christoph Oelckers
e0b756e511 - fixed: The cubemapped skybox renderer did not set up the model matrix properly. 2014-07-17 10:04:20 +02:00
Christoph Oelckers
f64428dd2a Merge branch 'master' into Glew_Version_For_Real 2014-07-17 09:31:18 +02:00
Christoph Oelckers
b78b566b0a Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-17 09:30:50 +02:00
Christoph Oelckers
eb9d2d9917 - reactivate compatibility profile so that immediate mode drawing can be used on older hardware not supporting persistently mapped buffers.
- reactivate alpha testing per fixed function pipeline
- use the 'modern' way to define clip planes (GL_CLIP_DISTANCE). This is far more portable than the old glClipPlane method and a lot more robust than checking this in the fragment shader.
2014-07-17 02:37:18 +02:00
Edward Richardson
f99a84b498 Changes to maketic/menu/console updates
- Console and Menu will now update cleanly during stalls.
- Moved net adaption so uncapped framerate will always use it.
2014-07-17 11:29:30 +12:00
Braden Obrzut
84cb49b074 - Fixed: Legacy render style array was in the wrong order. 2014-07-16 19:19:20 -04:00
Braden Obrzut
b6bbdf6195 - Call C_DeinitConsole in I_Quit so that we can be sure that Printf will work for as long as possible. Otherwise ZDoom will crash when ending a demo recording. 2014-07-16 18:59:49 -04:00
Braden Obrzut
bd5bf2a40a - Expand environment variables for autoload paths.
- Forgot to save the French translation file for the last commit, so a few more corrections there.
2014-07-15 21:26:26 -04:00
Braden Obrzut
fa5dfe79ae - Disable cubic and spline resamplers on 64-bit with fmod 4.26 since they crash. 2014-07-15 21:07:07 -04:00
Braden Obrzut
2020769967 - Fixed: Player turned into a zombie if exiting telefragged in buddha mode.
- Fixed: Players could drop their inventory after dying.
2014-07-15 20:16:28 -04:00
Christoph Oelckers
6b9d6787d9 - move models into their own draw list to avoid frequent buffer changes.
- same for SKYHACK walls. Although rare, they would get in the way of optimizing the draw calls if not being separated out.
2014-07-15 21:16:59 +02:00
Christoph Oelckers
b8bcbe819b - removed texture based dynamic lighting. For GL 3.x the shader approach is always better.
- fixed: sky fog was not unset.
2014-07-15 20:49:21 +02:00
Christoph Oelckers
fb6b4238ed - fixed: glProgramUniform is only present from GL 4.1 or a specific extension so it may not be used on systems not supporting it. 2014-07-15 02:48:59 +02:00
Christoph Oelckers
fc0cf4f998 - GZDoom now runs on an OpenGL core profile. :)
It's probably still necessary to replace GLEW with another loader library. GLEW is pretty much broken on core OpenGL without some hacky workarounds...
2014-07-15 02:26:23 +02:00
Christoph Oelckers
6046b11b4f - all shaders now compile in core profile. 2014-07-15 01:05:53 +02:00
Christoph Oelckers
eedc5a69be - replaced builtin position vertex attribute. 2014-07-15 01:02:48 +02:00
Christoph Oelckers
1b7f5a2e6a - replaced builtin texture coordinate vertex attribute. 2014-07-15 00:59:01 +02:00
Christoph Oelckers
5a322742c3 - remove use of builtin and deprecated color vertex attribute. 2014-07-15 00:37:13 +02:00
Christoph Oelckers
ed8a21fd86 - replaced deprecated alpha testing with shader code. 2014-07-14 21:14:43 +02:00
Christoph Oelckers
84a49e37ee - handle normals for spheremapped mirror surfaces using non-deprecated features.
- move all WGL references out of global header files so that global wgl header include is no longer necessary
2014-07-14 19:54:07 +02:00
Christoph Oelckers
ed5ee4e8d1 - removed some obsolete init stuff and some deprecated constants. 2014-07-14 18:48:46 +02:00
Christoph Oelckers
4df25d951b Merge branch 'master' into Glew_Version_For_Real 2014-07-14 16:51:41 +02:00
Christoph Oelckers
4297bd9a51 Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-14 00:32:16 +02:00
Christoph Oelckers
1f2f7616e1 - remove timing of matrix application method 2014-07-14 00:31:10 +02:00
Christoph Oelckers
150135a07d - reinstate drawcall timing. 2014-07-13 23:14:28 +02:00
Christoph Oelckers
ce3653f6e1 - remove all uses of builtin matrices. 2014-07-13 23:13:40 +02:00
Christoph Oelckers
2214c0ac06 - remove all uses of builtin matrix manipulation. Only glLoadMatrix for view and projection matrix are left. 2014-07-13 22:37:34 +02:00
Christoph Oelckers
dbb05c5f33 - remove use of builtin texture matrices.
- make matrix class single precision.
2014-07-13 20:41:20 +02:00
Christoph Oelckers
9230a20f18 - added some checks to the wall rendering code that will allow to disable the clip planes in many cases, even when a plane mirror portal is active. This also solves the precision issue with using world coordinates for clip checks. 2014-07-13 17:15:17 +02:00
Christoph Oelckers
00fcf4bc06 - for some reason using world coordinates for clipping in the shader is somewhat imprecise so the clip plane heights have to be adjusted a bit for it. 2014-07-13 13:25:42 +02:00
Christoph Oelckers
d868f60f6c - since the clip planes for plane mirrors did not work anymore I reimplemented them using shader based logic. It still needs to be seen if this affects performance on older hardware. 2014-07-13 12:14:12 +02:00
Christoph Oelckers
004cf5748c - fixed: FraggleScript's SpawnedThings array must always be checked for owned inventory items. The 'mapthingnumexist' function forgot to do that. 2014-07-13 09:43:28 +02:00
Christoph Oelckers
400a573e65 - fixed: ACS's LineAttack function with a valid tid still used the activator as the attack's source. 2014-07-13 09:12:46 +02:00
Edward Richardson
e1130b860e Serialize FriendPlayer 2014-07-13 14:44:22 +12:00
Christoph Oelckers
7cbffc7c14 - test code removal. 2014-07-10 10:35:02 +02:00
Christoph Oelckers
a936629cec - use default fragment shader for burn and stencil shader, with the time consuming parts disabled by a #define, to avoid code duplication. 2014-07-10 10:33:07 +02:00
Christoph Oelckers
e691341541 Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-09 09:16:30 +02:00