Commit graph

4904 commits

Author SHA1 Message Date
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
Edward Richardson
e1b8b4a871 Started work on prediction lerping 2014-10-06 15:27:13 +13: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
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
Chris Robinson
b8e3f99ce6 Merge remote-tracking branch 'zdoom/master' into openal
Conflicts:
	src/s_sound.cpp
2014-09-22 18:24:55 -07:00
Christoph Oelckers
0b44b51b00 Merge branch 'master' of https://github.com/GitExl/zdoom 2014-09-21 22:13:16 +02:00
GitExl
313b229319 Add PickActor ACS function. 2014-09-21 16:43:17 +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
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
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
134c9ade21 Merge branch 'master' of https://github.com/rheit/zdoom 2014-09-16 08:44:37 +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
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
Chris Robinson
4b68891de7 Rename 'near', because microsoft 2014-09-14 11:15:32 -07:00
alexey.lysiuk
1529ff7730 Fixed compilation warning in HID name formatting 2014-09-14 09:51:55 +03:00
Chris Robinson
cd46f95902 Merge remote-tracking branch 'zdoom/master' into openal 2014-09-13 11:52:47 -07:00
Chris Robinson
ce678caab6 Include algorithm for std::min/max 2014-09-13 11:51:53 -07: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
Chris Robinson
1baf355ecd Use the properly-sized type for ssize_t 2014-09-12 19:36:13 -07: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
Chris Robinson
628f2cd474 Merge remote-tracking branch 'zdoom/master' into openal 2014-09-12 05:02:05 -07:00
Chris Robinson
713846f27a Fix use of ssize_t with MSVC 2014-09-12 04:26:54 -07: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
Chris Robinson
ca22f2dd3f Fix a PrintMidiDevice call 2014-09-11 14:16:56 -07:00
Chris Robinson
77cce303ef Fix merge conflict properly 2014-09-09 15:11:26 -07:00
Chris Robinson
ff6eb6df5c Merge remote-tracking branch 'zdoom/master' into openal
Conflicts:
	src/s_sound.cpp
2014-09-09 14:45:53 -07:00
Christoph Oelckers
5e34b78451 - missed a line. 2014-09-08 23:25:27 +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
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
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
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
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
Edward Richardson
07d7f690e8 Non-wall sprites need their original depth checks 2014-08-21 20:03:17 +12: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
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
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
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
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
Edward Richardson
9716a61219 Add CVar for drawing weapons in the althud 2014-08-02 19:34:16 +12: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
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
993b6c3066 - fixed typo in FraggleScript item class list 2014-07-28 17:13:42 +02:00
Chris Robinson
7e7219a84b Merge remote-tracking branch 'zdoom/master' into openal 2014-07-27 06:59:26 -07: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
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
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
Chris Robinson
e8233d7e87 Merge remote-tracking branch 'zdoom/master' into openal 2014-07-16 08:31:12 -07:00
Chris Robinson
d43226631d Set reverb density based on the environment size 2014-07-15 23:04:53 -07: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
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
e691341541 Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-09 09:16:30 +02:00
Christoph Oelckers
e1729a9ec2 - fixed compilation with VC++2005 solution.
hu_stuff.h defined some callbacks for qsort without STACK_ARGS which causes problems with this solution's Release setting which uses __fastcall calling convention.
2014-07-09 09:15:51 +02:00
Chris Robinson
1aaaac900d Merge remote-tracking branch 'zdoom/master' into openal 2014-07-01 22:14:49 -07:00
Edoardo Prezioso
d83f048858 - Miscellaneous CMakeLists.txt fixes.
- fixed a CMake warning about uninitialized use of the variable CROSS_EXPORTS in the tools subfolder when CMAKE_CROSSCOMPILING is off;
- fixed a variable typo: CMAKE_CURRENTY_BINARY_DIR instead of CMAKE_CURRENT_BINARY_DIR;
- in src/CMakeLists.txt, fixed a missing merge of a portion of code from maint branch to master.
2014-07-01 19:13:05 +02:00
Christoph Oelckers
dd05e564cf - this needed more fixes... 2014-06-29 14:32:50 +02:00
Christoph Oelckers
d0e551060d - fixed: When the 3D floor init code was updated 5 years ago for Vavoom's latest changes to its 3D-floor implementation it accidentally set the 3D-floor's alpha as its desaturation. 2014-06-29 12:50:42 +02:00
Chris Robinson
90fa215da2 Replace another std::vector with a TArray 2014-06-28 23:30:58 -07:00
Chris Robinson
48df515dd1 Merge remote-tracking branch 'zdoom/master' into openal 2014-06-28 23:29:48 -07:00
Christoph Oelckers
7d7f146ce1 - fixed: transferring a translation to a missile needs to check if the missile was spawned successfully. 2014-06-28 15:21:19 +02:00
Chris Robinson
ae95a2d5cf Fix creating effect map entries
TMap apparently doesn't clear the memory for new entries like std::map...
2014-06-28 05:41:11 -07:00
Chris Robinson
6e64545725 Simplify some branching 2014-06-28 01:32:06 -07:00
Chris Robinson
7f3be7bf14 Show the name of unsupported sound formats with OpenAL 2014-06-28 01:25:25 -07:00
alexey.lysiuk
65203760a8 Fix incorrect actor flag handling on big endian platforms 2014-06-28 11:00:08 +03:00
alexey.lysiuk
7b69c60af1 Use correct 'true' keyword 2014-06-28 11:00:01 +03:00
alexey.lysiuk
e6d468eb38 Use byte swapping functions from <libkern/OSByteOrder.h> on OS X
Remove inclusion of Core Foundation headers to avoid type conflicts with LZMA SDK.
2014-06-28 10:59:56 +03:00
Chris Robinson
afcada4a3b Remove an unused field 2014-06-28 00:46:45 -07:00
Chris Robinson
7908116fef Use a separate function to update an openal stream's volume 2014-06-28 00:37:12 -07:00
Chris Robinson
c73d97af44 Use TArray and TMap instead of std::vector and std::map 2014-06-28 00:33:15 -07:00
Chris Robinson
a630c47e6a Remove a redundant call 2014-06-27 22:09:03 -07:00
Chris Robinson
d55dfcdb1d Pass the correct size to LoadSoundVoc 2014-06-27 22:05:11 -07:00
Chris Robinson
6f8545e694 Use a TArray for SoundDecoder::readAll 2014-06-27 21:51:05 -07:00
Chris Robinson
a16f9d061c Work around a libsndfile bug related to converting float samples to shorts
Do the conversion ourselves to ensure it's properly clamped.
2014-06-27 01:29:34 -07:00
Braden Obrzut
d941203ab0 - Fixed edward-san's typo.
- Cleared a warning.
2014-06-26 20:37:11 -04:00
Chris Robinson
1a40c95f84 Rename some FMOD references to be generic sound system
Since they relates to other sound backends as well, there's no need to single
out FMOD in these places.
2014-06-26 16:58:18 -07:00
Braden Obrzut
19415668ec Merge branch 'gcc_aggressive_optimization' of github.com:edward-san/zdoom into edward-san-gcc_agressive_optimization 2014-06-26 18:11:32 -04:00
Braden Obrzut
1ae53473ff Merge branch 'edward-san-cmake_gcc_compatible' 2014-06-26 17:54:48 -04:00
Braden Obrzut
cb9877e7ff - Using USE_WINDOWS_DWORD on other platforms can cause problems. 2014-06-26 17:52:26 -04:00
Christoph Oelckers
270541f942 fixed compilation with latest LZMA SDK on Windows.
LZMA SDK recently added an #include <windows.h> to its headers, meaning it's no longer safe to include its headers globally in platform independent files.
The following changes were necessary:

- rename DWORD type in zipdir.c
- add USE_WINDOWS_DWORD and reorder includes in file_7z.cpp
- wrap LZMA decoder stream into a local struct that's declared anonymously in files.h and adjust files.cpp for this change.
2014-06-26 09:43:51 +02:00
Chris Robinson
0adfdf31dd Fix calling SetPosition when not playing 2014-06-25 21:50:52 -07:00
Chris Robinson
a6900b48ba Use AL_SOFT_deferred_updates to sync updates when availeble 2014-06-25 21:48:13 -07:00
Chris Robinson
c6bb52c866 Get the length from sounds when possible 2014-06-25 21:14:35 -07:00
Chris Robinson
fd25ec2a62 Implement GetPosition for OpenAL streams, and display it in the stats 2014-06-25 20:03:24 -07:00
Chris Robinson
d761dd1ff6 Merge remote-tracking branch 'zdoom/master' into openal 2014-06-25 17:37:20 -07:00
Chris Robinson
3d33f565a4 Use a proper, more unique, pointer formatter for the open callback 2014-06-25 17:10:17 -07:00
Edoardo Prezioso
1a3ac9d0b3 - Simplify CMake GCC and Clang checking.
Introduce the variable 'ZD_CMAKE_COMPILER_IS_GNUC(XX)_COMPATIBLE' and replace any occurrence of '"${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "Clang"' with it. This makes it possible to add more GCC compatible compilers in just one place.
2014-06-26 01:23:41 +02:00
Chris Robinson
7f5b538110 Implement SetPosition for OpenAL streams 2014-06-25 04:59:18 -07:00
Chris Robinson
9c12abeb2d Better report the amount buffered in an OpenAL stream 2014-06-25 04:53:08 -07:00
Chris Robinson
0017e1e6e8 Use a FileReader to handle music resources and audio decoding
Instead of the previous method where there'd be a filename and offset, and/or a
memory pointer, this uses a class to access resource data regardless of its
underlying form.
2014-06-25 04:25:36 -07:00
Edoardo Prezioso
0e3bee6f30 - Enable 'language' feature on unix targets.
The sdl version of the function 'SetLanguageIDs' is very limited, comparing to the win32 counterpart, as it will try to accept only the language codes (ie 'enu', 'fr', 'ptb', etc). If a different string is provided, zdoom will default its language to English.
2014-06-23 20:02:40 +02:00
Chris Robinson
075c5d872d Always use the pitch multiplier when underwater 2014-06-22 22:22:45 -07:00
Chris Robinson
b2f9430fb1 Use the correct diffusion value for reverb
I don't know what the Density and Diffusion values correspond to, but
EnvDiffusion is the actual diffusion setting.
2014-06-22 19:38:47 -07:00
Chris Robinson
a434af92ee Handle sounds marked as 'area sounds'
Note, the area radius is 128 units for it to actually do something, unlike FMOD
where it's only 32.
2014-06-22 19:35:09 -07:00
Christoph Oelckers
4f599b7b4d Merge branch 'master' of https://github.com/binarycrusader/zdoom 2014-06-22 09:00:23 +02:00
Christoph Oelckers
e56e525d0f - A_FireCustomMissile transfer tranlsation flag, code submission by jpalomo 2014-06-22 08:55:21 +02:00
Shawn Walker
6164807e97 - fix x64 visual studio linking for common controls 2014-06-21 22:49:42 -07:00
Chris Robinson
845e369b87 Don't set a room rolloff factor
The reverb engine already handles an initial attenuation based on the
attenuation of the dry path.
2014-06-20 05:03:20 -07:00
Chris Robinson
f0c9aae670 Rework manual rolloff handling
For distance models OpenAL doesn't handle, alter the source's distance to get
the appropriate attenuation instead of the source's gain.
2014-06-20 04:38:48 -07:00
Chris Robinson
ef7ce41d07 Don't purge sources in an initial state 2014-06-20 01:17:48 -07:00
Chris Robinson
fb07f7ef07 Cast OpenAL IDs to/from void* 2014-06-20 01:12:47 -07:00
Chris Robinson
906b828d87 Partially implement OpenALSoundRenderer::SetInactive 2014-06-20 00:41:19 -07:00
Chris Robinson
42fdc3c059 Use structs to store available extensions 2014-06-19 23:49:46 -07:00
Chris Robinson
0f234fb36d Remove an unused function 2014-06-19 23:10:36 -07:00
Chris Robinson
4f6861d798 Move specific decoder classes to separate headers 2014-06-19 23:03:13 -07:00
Chris Robinson
e2708c8b3e Cleanup creating decoders 2014-06-19 22:46:46 -07:00
Chris Robinson
9f493fca5f Move the generic DecodeSample implementation to the base class 2014-06-19 22:42:12 -07:00
Chris Robinson
72ddc0d935 Remove a non-existent friend class 2014-06-19 22:33:39 -07:00
Chris Robinson
a661797aa8 Be less noisey about loop points 2014-06-19 22:31:19 -07:00
Chris Robinson
73d8659f23 Remove an unnecessary cast 2014-06-19 22:21:05 -07:00
Chris Robinson
07a50c604e Use the correct formatter type 2014-06-19 22:13:20 -07:00
Chris Robinson
e39165655d Don't call the sfx volume cvar callback in the OpenALSoundRenderer constructor
I_InitSound already does that after creating it.
2014-06-19 21:51:16 -07:00
Chris Robinson
364065f121 Handle file sources with mpg123 2014-06-19 20:14:16 -07:00
Chris Robinson
1310a4a814 Fix libsndfile file handler 2014-06-19 18:35:12 -07:00
Chris Robinson
eeae36fbf7 Rename the decoder sources 2014-06-19 17:53:37 -07:00
Chris Robinson
b1c98acf33 Close the file handle in the sndfile decoder 2014-06-19 17:50:03 -07:00
Chris Robinson
73d51a4446 Check for ID3 tags in MPG123Decoder::open 2014-06-19 17:19:59 -07:00
Chris Robinson
77b1febd0e Add an mp3 decoder using libmpg123
Does not currently handle direct file sources
2014-06-19 06:40:27 -07:00
Chris Robinson
14618cbf30 Remove use of SDL_sound 2014-06-19 04:33:00 -07:00
Chris Robinson
b38589e2dc Implement and use a libsndfile decoder 2014-06-19 04:13:42 -07:00
Chris Robinson
5370a1cb46 Add a SoundDecoder base class and a stub method to create one 2014-06-19 01:00:46 -07:00
Chris Robinson
b94a2949e5 Don't use air absorption for being underwater 2014-06-18 23:41:45 -07:00
Chris Robinson
34c9a47435 Fix some typos 2014-06-17 23:11:19 -07:00
Chris Robinson
cd550cf9b6 Merge remote-tracking branch 'origin/master' into openal 2014-06-17 22:08:03 -07:00
Edward Richardson
2d896d2b47 Added wi_autoadvance
- Prevents an absent player from stopping the intermission
2014-06-17 20:26:49 +12:00
Edward Richardson
a3a7ee569f Multi-intermission waits for all players + changes
- Added a segment of code that now makes the intermission wait for all
players before advancing, instead of continuing on any player. A "ready
icon" shows to reflect this.

- The Deathmatch intermisson couldn't show the ready icon (because it
just used the ingame scoreboard), so a proper intermission was added,
which reflects the same design as the coop scoreboard.

- The colour column wasted more space then it should have needed, so it
was replaced with player colour backgrounds.

- Slight y offset adjustments to make everything fit in 320x200
properly.
2014-06-17 19:46:10 +12:00
Chris Robinson
7ff7c151a8 Merge remote-tracking branch 'origin/master' into openal
Conflicts:
	src/CMakeLists.txt
2014-06-15 12:04:15 -07:00
Chris Robinson
82de7e6357 Convert line-endings 2014-06-15 11:36:49 -07:00
Chris Robinson
0e21057a2a Merge remote-tracking branch 'origin/openal' into openal
Conflicts:
	src/sound/fmodsound.cpp
	src/sound/oalsound.cpp
	src/sound/oalsound.h
2014-06-15 09:59:24 -07:00
Chris Robinson
160e70f8f2 Fix getting the actual device name 2014-06-15 09:27:00 -07:00
Edward Richardson
2838c4b25b Prediction was rebuilding too much thinglist data
- Stopped player prediction from rebuilding more sector list data then
the player originally had.
2014-06-16 03:34:33 +12:00
WChrisK
67c6690689 Added a check that doesn't print empty obituary strings, as wad's that hide obituary strings in multiplayer games end up spamming a lot of empty lines. 2014-06-11 23:30:25 -04:00
Edward Richardson
842ef86e73 Don't reset the inventory of dead players 2014-06-09 19:54:40 +12:00
alexey.lysiuk
20adcecb1d Remove redundant saving of GL nodes if they were loaded from cache 2014-06-02 10:54:52 +02:00
alexey.lysiuk
3e7b0c2916 Fix crash when GL nodes file cannot be opened for writing
Report errors to console if nodes file cannot be opened or written
2014-06-02 10:53:29 +02:00
Christoph Oelckers
9cd074ddf3 - fixed: plane equation vectors must be normalized when being loaded from UDMF. 2014-06-02 10:51:17 +02:00
alexey.lysiuk
96e4cb90b7 Fix crash on attempt to save cached OpenGL nodes on OS X
Root permissions are required to be able to create directories inside /Library/Application Support
So user's ~/Library/Application Support is used to store cached nodes
2014-06-01 15:12:41 +03:00
Edward Richardson
3817bed0b3 Weap scroll could sometimes miss sameslot weapons
In rear cases, when using next/prevweap, defined weapons in the same
slot couldn't cycle when looping to another when you only had weapons in
1 slot.
2014-06-01 18:13:47 +12:00
Christoph Oelckers
8f5683e23d - moved secret found message to string table and removed the CVAR crutch that dates from a time when modifying string table content wasn't as easy as it is now.
- added 'showsecretsector' CVAR to show the sector number with the secret found message.
2014-05-29 17:50:14 +02:00
Christoph Oelckers
75cde0b221 - allow locks to check for a key's species so that newly defined keys can open previously defined locks without the need to redefine them. 2014-05-29 17:30:01 +02:00
Edoardo Prezioso
72bbb19cc7 - Shut up GCC aggressive optimizer warnings.
From what I can see, GCC would miscompile the involved loops, because the index variable is 'signed int' and the multiplication with an unsigned would cause signed overflow (undefined behavior). Change the index variable type to 'unsigned int' to expect unsigned overflow (conformant to standard).
2014-05-25 10:11:09 +02:00
Edoardo Prezioso
b285cbebe4 - Fixed compiler errors in latest TEXTURES code. 2014-05-25 01:12:16 +02:00
Christoph Oelckers
9d846395bc - replaced console buffer with a significantly more efficient new version that also can hold a lot more data. 2014-05-24 21:05:00 +02:00
Shawn Walker
01e909070a Merge branch 'master' of https://github.com/rheit/zdoom 2014-05-23 19:08:56 -07:00
Christoph Oelckers
261bc77846 - fixed: when bringing up a new weapon the current flash state needs to be removed.
Especially when dropping the current weapon it can still be active, this is most easily observed with Strife's crossbow which loops the flash state, but it also can happen with other weapons, right after shooting.
2014-05-20 10:29:27 +02:00
Christoph Oelckers
8ec95dc58e - fixed a few places in the savegame code where map names were still truncated to 8 characters. 2014-05-20 10:14:44 +02:00
Shawn Walker
582b1990b7 - restore original line endings 2014-05-18 16:00:31 -07:00
Shawn Walker
d2b0596cd4 Merge branch 'master' of https://github.com/rheit/zdoom 2014-05-18 15:39:41 -07:00
Shawn Walker
59885b856d - remove texture name length limits for udmf maps 2014-05-18 15:38:46 -07:00
Christoph Oelckers
4acc04ce68 - don't truncate map names stored in demos. 2014-05-18 10:05:35 +02:00
Christoph Oelckers
cfef894867 This can be done better... 2014-05-18 09:41:13 +02:00
Edward Richardson
26b1abe3da Fix netgame arbitration with long map lump names 2014-05-18 18:38:54 +12:00
Christoph Oelckers
ff7913ace8 - fixed: When a level gets loaded the renderer's sky variables need to be set. 2014-05-17 09:46:58 +02: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
e92032e8ff - fixed: The map setup code was still truncating texture names in several places. 2014-05-16 22:48:37 +02:00
Christoph Oelckers
76b4ff143f Merge branch 'upstream' of https://github.com/Edward850/zdoom 2014-05-16 15:56:32 +02:00
Edward Richardson
d3dcc04666 Fix nettic run-out at end of demo playback 2014-05-17 00:36:43 +12: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
49e0eb03cc Merge branch 'master' of https://github.com/rheit/zdoom 2014-05-15 22:55:35 -07:00
Christoph Oelckers
bf6a193e5b - fixed: The episode parser was still truncating its map names to 8 characters. 2014-05-15 20:29:36 +02:00
Shawn Walker
bfb5944517 Merge branch 'master' of https://github.com/rheit/zdoom 2014-05-15 00:11:52 -07:00
Christoph Oelckers
e3cd144af9 - one last GCC compile problem. 2014-05-14 17:27:22 +02:00
Christoph Oelckers
adcdc11360 - GCC compile fix. 2014-05-14 15:44:05 +02:00
Christoph Oelckers
2944e4f6ae - fixed some Linux issues with recent changes. 2014-05-14 14:08:14 +02:00
Christoph Oelckers
85fb8c4326 - fixed: _M_X64 macro was misnamed _M_IX64. 2014-05-14 13:04:47 +02:00
Christoph Oelckers
388f09f786 - fixed: In Heretic corpses do not get crunched to gibs, they just get their size reduced to 0. Handled by a new gameinfo flag. This also gets set for Chex quest which has the gib sprite replaced by something different. Using a Crush state will override this global flag. 2014-05-14 12:54:03 +02:00
Christoph Oelckers
47a9dab56d - allow setting sector planes' plane equations directly from UDMF. 2014-05-14 12:16:33 +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
a375454474 - removed 8 character limit for map names. 2014-05-14 00:52:16 +02:00
Christoph Oelckers
24886b6734 - removed the last static character arrays from FLevelLocals. 2014-05-13 23:16:13 +02:00
Christoph Oelckers
e49e926bd9 - added option to ASectorAction to remove itself upon triggering by setting the STANDSTILL flag on the map thing. 2014-05-13 21:26:51 +02:00
Christoph Oelckers
30f57c0b8e - added new renderstyles AddStencil and AddShaded. 2014-05-13 21:16:06 +02: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
ebd6c18bef - missed one texture name field in level_info_t. 2014-05-13 15:32:54 +02:00
Christoph Oelckers
a22670626c - expanded names for view border elements. Also fixed the horribly bad implementation of custom borders which modified the DoomBorder elements without ever checking the game being used. 2014-05-13 13:40:02 +02:00
Christoph Oelckers
a05e62f3f7 - changed storage of lump and texture names in gameinfo to allow long names (with the exception of view border elements.) 2014-05-13 12:44:17 +02:00
Christoph Oelckers
e718a72b4d fixed: skies should be loaded into the FLevelLocals struct not into the global variables of the renderer. 2014-05-13 11:53:08 +02:00
Christoph Oelckers
fedf9c6a5b fixed: if we allow long names for the fade table we must also check for them when the colormap gets loaded. 2014-05-13 11:39:25 +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
Christoph Oelckers
458e1b1be2 - changed sound lookup for ZSDF dialogues so that it first checks the svox/ namespace before using the global one. 2014-05-08 11:29:45 +02:00
Christoph Oelckers
ea7fb936a8 - fixed: memory allocation for file names in 7z archives was broken. Changing it to use TArray instead of alloca makes it work. 2014-05-08 10:33:32 +02:00
Christoph Oelckers
2223c12938 - added new ChangeActorAngle/ChangeActorPitch ACS functions because the new required 'interpolate' parameter cannot be added to the existing SetActorAngle/SetActorPitch functions without breaking old scripts. 2014-05-08 09:43:58 +02:00
Christoph Oelckers
63a0e01c6a Merge branch 'interpview_optin' 2014-05-08 09:17:00 +02:00
Christoph Oelckers
67ebbe3ed4 made some changes to turn the CF_INTERPVIEW flag when changing angles into an op-in feature instead of making it automatic. 2014-05-08 09:15:56 +02:00
Christoph Oelckers
890e9ecddd - typo in resurrection code. 2014-05-07 17:18:44 +02:00
Christoph Oelckers
fcbb72a4d4 - removed redundant variable. 2014-05-06 09:59:56 +02:00
Edward Richardson
90e9937b71 Stop NetUpdate from corrupting demo playback 2014-05-05 22:47:48 +12:00
Christoph Oelckers
93aa1ea2c4 fixed some issues with reviving monsters
- fixed: Thing_Raise didn't properly set the spawn health.
- fixed: Thing_Raise did not the CanRaise state flag.
- fixed: Reviving a monster must also reset the damage type.
- fixed: Thing_Raise reset the actor after calling the raise state, but it should be before, just as the Archvile code is doing.
- consolidated some common code of Thing_Raise and Archvile resurrection into AActor methods.
2014-05-05 11:24:20 +02:00
Christoph Oelckers
a9f1b54d2d - fixed: since A_LightGoesOut alters a sector's floor plane it must also alter the TexZ for that sector's floor. 2014-05-03 10:12:25 +02:00
Christoph Oelckers
34360e7975 Merge branch 'upstream' of https://github.com/Edward850/zdoom 2014-05-02 17:31:02 +02:00
Edward Richardson
104a07d461 Make sure use_staticrng is false if not needed 2014-05-03 03:27:14 +12:00
Edward Richardson
6183f8125f Don't change RNG in demos incase they are static 2014-05-03 03:01:49 +12:00
Edward Richardson
d6af8dc352 Added static RNGseed control 2014-05-03 03:01:40 +12:00
alexey.lysiuk
3af7d8a245 Added support for LZMA2 compression method in .7z archives
Updated LZMA SDK to version 9.20
http://www.7-zip.org/sdk.html
http://downloads.sourceforge.net/sevenzip/lzma920.tar.bz2
2014-04-27 13:05:40 +03:00
alexey.lysiuk
6b26b710b8 Added simple check for unsupported compression method in .7z files 2014-04-27 10:23:20 +03:00
alexey.lysiuk
3fa89b4e9f Fixed crash on attempt to load corrupted data file
Instance of FileReader is no longer destructed when header of data file is valid but complete loading of file fails
Loading of truncated .zip file is the simplest test case
2014-04-27 10:18:50 +03:00
Christoph Oelckers
3f8c7239af Merge branch 'master' of https://github.com/Gaerzi/zdoom 2014-04-24 09:41:54 +02:00
Gaerzi
7c3660087e Restore shadow renderstyle.
It was accidentally lost in r3085.
2014-04-22 13:32:33 +02:00
Gaerzi
265917c923 Add shadow and subtract styles to ACS.
There is a matching pull request for rheit/acs.
2014-04-22 13:31:55 +02:00
alexey.lysiuk
1c50b5dd6f Fixed initialization of Hexen-style things
Recently added pitch and roll members were not initialized with zeroes when loading Hexen-style maps
At least, hitscan attack can be fired in random direction because of this
2014-04-20 13:37:59 +03:00
Christoph Oelckers
7cb828d763 Merge branch 'slowstate' of https://github.com/Gaerzi/zdoom 2014-04-18 09:46:23 +02:00
Christoph Oelckers
584dd78ba9 Merge branch 'master' of https://github.com/Edward850/zdoom 2014-04-16 16:42:43 +02:00
Edward Richardson
897d87a6a3 Invisibility would could P_LookForPlayers early 2014-04-17 01:13:18 +12:00
Edward Richardson
d855bd66b3 Fixed P_LookForPlayers scanning redundancies
- Players could be scanned multiple times, repeating expensive tests
- Players could be skipped completely and become invisible as a result
2014-04-17 00:46:33 +12:00
Christoph Oelckers
48b926e5b4 - check +logfile explicitly at the start of execution. Due to the custom CVAR rewrite it would get called so late that it'd miss half of the log.
- added version check for Windows 8. I also would have liked to add 8.1 but due to some incredibly stupid changes in the version API it's no longer possible to reliably retrieve the correct Windows version for later builds.
2014-04-16 09:53:07 +02:00
Gaerzi
83182b703d Added slow monsters, the inverse of fast monsters
This is a skill setting only, no "always slow" or "never slow" actor
flags, and no DM flags.
2014-04-15 21:01:49 +02:00
Gaerzi
c54f5571ea Typo. 2014-04-15 17:24:01 +02:00
Gaerzi
6f2fd8edbf Hexen also needs to init 0 fields. 2014-04-15 17:22:56 +02:00
Gaerzi
8e3360453f Hexen too. 2014-04-15 17:18:55 +02:00
Gaerzi
e5578934ad Init new non-0 fields for non-UDMF maps. 2014-04-15 17:16:33 +02:00
Christoph Oelckers
4e683d360d Merge branch 'master' of https://github.com/Edward850/zdoom 2014-04-15 09:22:50 +02:00
Edward Richardson
4270838613 CANRAISE state definition
CANRAISE state for allowing a monster to be resurrected without an
infinite frame
2014-04-12 22:02:19 +12:00
Gaerzi
101107b1e5 Updated documentation 2014-04-12 10:55:10 +02:00
Gaerzi
4cac599b88 Less flags, more generic properties 2014-04-11 00:58:59 +02:00
Gaerzi
580094a792 More editing flags
PSX-inspired flags to change the render styles of monsters (and other
things).
2014-04-10 12:32:23 +02:00
Christoph Oelckers
bbb41e869c Merge branch 'master' of https://github.com/Edward850/zdoom 2014-04-07 19:54:30 +02:00
Edward Richardson
ca93e04de3 Added GetActorPowerupTics ACS function 2014-04-07 23:23:55 +12:00
alexey.lysiuk
878dcdc0a4 Fix loading of lumps from directory on OS X
Use POSIX-compliant opendir() / readdir() functions instead fts_open() / fts_read()
Unlike Linux version, on OS X fts_read() inserts extra slash character between source directory and traversed entry paths
2014-04-06 12:56:51 +03:00
Randy Heit
940794929c Remove more VC++ warnings 2014-04-03 17:51:15 -05: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
Edward Richardson
546ae759fd Cleanup old prediction fix development code 2014-04-02 21:25:45 +13:00
Edward Richardson
be33d2894a Fixed prediction thinglist order restoration
Prediction didn't take sector_thinglist and thinglist order into
account.
This notably broke the order in which things were damaged.
2014-04-02 21:25:12 +13:00
Christoph Oelckers
a9bea7d774 Merge branch 'getsectorz_take2' of https://github.com/crimsondusk/zdoom 2014-03-31 19:12:47 +02:00
Christoph Oelckers
edcc257667 fixed: APROP_StencilColor was not implemented for CheckActorProperty. 2014-03-31 16:39:34 +02:00
Christoph Oelckers
bd3bd0ed22 Merge branch 'upstream' of https://github.com/Edward850/zdoom 2014-03-31 16:36:54 +02:00
Edward Richardson
016cc7ba96 Missed space in flags7 line. 2014-03-31 23:57:43 +13:00
Edward Richardson
79f6e77e2b Remove garbage characters from info CCMD 2014-03-31 23:51:18 +13:00
crimsondusk
d7a2435703 - the ACS functions GetSectorFloorZ and GetSectorCeilingZ now interpret tag=0 as 'any sector' and return the z height of whatever sector is at those coordinates. 2014-03-27 16:34:32 +02:00
Edward Richardson
697ef02871 Added StencilColor to Set/GetActorProperty 2014-03-28 00:23:12 +13:00
Edoardo Prezioso
5789ac6245 - Fixed new[]/delete mismatch in FNodeBuilder
Found with address sanitizer.
2014-03-16 13:21:08 +01:00
alexey.lysiuk
6aa56202b6 Fix two issues with GL nodes handling
Fix inability to load GL nodes for maps with names longer than 5 characters.
Fix inability to load GL nodes from external GWA files.
2014-03-15 13:17:22 +02:00
Edward Richardson
40771d22a5 Player prediction fixes in PIT_CheckThing
Player prediction could end up executing functions for TOUCHY things or
modify velocities when BLASTED, among other things.
2014-03-15 04:15:30 +13:00
Edward Richardson
55362d2296 Merge remote-tracking branch 'upstream/master' 2014-03-14 20:59:24 +13:00
Edward Richardson
9dad8bdbbe Clear old camera from previous level
The sound code could accidentally reference an old invalid camera during
level spawn
2014-03-13 18:27:39 +13:00
Christoph Oelckers
f44dc926e6 - fixed uniqueTid logic - patch by Edward-San. 2014-03-09 10:02:07 +01:00
Edward Richardson
79abe2d4e9 Made onground a player property
"onground" was a global, despite being treated as a player property and
crossed with instances from other players or prediction.
2014-03-03 01:00:47 +13:00
Edoardo Prezioso
1fb757f6f1 - Fixed useless 'array != NULL' check.
- 'notranslate != NULL' is completely useless, because 'notranslate' is an array, hence removed.
- I interpreted 'SbarInfoScript != NULL' as a typo, since 1)in the next expression inside the condition there's a dereference to 'SBarInfoScript[SCRIPT_CUSTOM]' and 2)'SBarInfoScript[SCRIPT_CUSTOM]' is checked against 'NULL', in line 352, and then dereferenced when introducing 'cstype'.
2014-03-01 22:27:40 +01: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
Randy Heit
5a5fb9b3d1 Clamp xy angle range in P_SetSlope()
- This function just assumed that every xy angle passed to it was within
  the range [0,360). This is obviously bad, since anything outside that
  range can result in accessing data outside the range of the finecosine
  and finesine tables.
2014-02-24 18:16:18 -06:00
Randy Heit
a60918f601 Add NoPushWindowCheck compatibility flag
- For maps like xtheateriii that expect non-blocking push lines to
  activate when you are standing on them and run into a completely different
  line, there is now this compatiblity.txt-only flag.
2014-02-24 17:43:28 -06:00
Randy Heit
db4763b14a Delay skin setting on save load until player class is known.
- Fixed: Loading players from savegames set the skin before their current
  class was retrieved, so they could not validate their skins with the
  correct class.
2014-02-24 16:27:57 -06:00
Randy Heit
7052d4e14e Fixed: userinfo_t::SkinChanged() was unaware of player classes 2014-02-24 16:18:10 -06:00
Randy Heit
0f7ad00d9a Ignore the minor version number when checking for DRO v1 files
- There exist files where the first word of the version number for DRO v1
  files is not 0 but something else completely. (Maybe it's not actually a
  version number?) Assume they are valid v1 files as long as the second
  word is a 1.
2014-02-24 15:48:41 -06:00
Gaerzi
d430c18574 The wrong value was used here.
This caused crashes on some files (notably MBELLS from Cosmo and NUBC
from Body Count) in my port of this code to SLADE 3.
2014-02-24 15:37:59 -06:00
Gaerzi
c7301a0fbb Some DOSBox Raw OPL v2 indices were off by one.
This caused access violation errors on perfectly fine DRO files. For
reference, scoredata[20] is the hardware type (OPL2, dual OPL2, or
OPL3).
2014-02-24 15:37:42 -06:00
rheit
3437b08c1a Merge pull request #27 from Gaerzi/master
Some DOSBox Raw OPL v2 indices were off by one.
2014-02-24 15:22:20 -06:00
rheit
d0782d779d Merge pull request #22 from edward-san/cmake_uninitialized_fix
- Fixed some cmake --warn-uninitialized messages
2014-02-24 15:20:56 -06:00
rheit
78f85340d8 Merge pull request #20 from edward-san/cmake_clang_flags_fix
- Remove clang check from GCC-related workaround
2014-02-24 15:19:35 -06:00
rheit
3111f8f93d Merge pull request #19 from edward-san/unix_no_gtk_iwadpicker_fix
- Fixed scanf in IWAD picker without GTK
2014-02-24 15:18:24 -06:00
Gaerzi
9dacc9cc8d The wrong value was used here.
This caused crashes on some files (notably MBELLS from Cosmo and NUBC
from Body Count) in my port of this code to SLADE 3.
2014-02-24 05:07:37 +01:00
Gaerzi
732ee11da1 Some DOSBox Raw OPL v2 indices were off by one.
This caused access violation errors on perfectly fine DRO files. For
reference, scoredata[20] is the hardware type (OPL2, dual OPL2, or
OPL3).
2014-02-23 23:07:10 +01:00
Christoph Oelckers
861a0f0f09 Merge branch 'master' of https://github.com/Gaerzi/zdoom 2014-02-16 18:59:02 +01:00
Gaerzi
02cd6eebf4 A_Log formatted text
Make DECORATE version of Log consistent with ACS version.
2014-02-16 18:29:01 +01:00
Alex Qyoun-ae
dd5f273128 Added possibly missing brackets 2014-02-14 05:10:48 +04:00
Edward Richardson
0db82f02cf P_HitWater ignore extra floors below real floor
P_HitWater incorrectly assumed extra floors were always above the real
floor.
2014-02-12 20:30:37 +13:00
Randy Heit
3cff307e77 Add Get/SetLineActivation ACS functions 2014-02-04 19:53:10 -06:00
Randy Heit
8b02bb55aa Fix compiling with FMOD 4.36
- That stuff I thought that went poof in FMOD Ex 4.37 was apparently
  already gone in 4.36.
2014-01-30 20:30:40 -06:00
Christoph Oelckers
4e53df8bca - fixed: The 'load' command in GAMEINFO only worked if the filename contained a slash. 2014-01-26 14:32:44 +01:00
Braden Obrzut
efa9e0c3ee Merge branch 'maint' 2014-01-18 18:10:48 -05:00
Braden Obrzut
811a75ebf6 - Minor adjustments to SDL joystick code so that all axes have at least a small deadzone so that button mapping works properly. 2014-01-18 17:54:46 -05:00
Braden Obrzut
27f6b3c9f3 Merge branch 'maint' of github.com:rheit/zdoom into maint 2014-01-18 16:23:06 -05:00
Braden Obrzut
75fd674d31 - If the player doesn't have ` bound to open the console, don't close it with that key. 2014-01-18 16:20:52 -05:00
Braden Obrzut
919b928300 - Fixed: Taking an item in a Strife dialog didn't account for items that have the keep depleted flag set. 2014-01-18 15:45:11 -05:00
Braden Obrzut
ebcd0e9c49 - Removed redundant expression in R_FindPlane. 2014-01-18 15:40:48 -05:00
Braden Obrzut
7af8b78b9f - Applied Chilly's patch to fix excessive name change notifications. 2014-01-18 15:18:35 -05:00
Braden Obrzut
e5d7077d74 - Fixed: Shareware games couldn't bother with the actor has no frames errors since we don't load mods.
- Fixed: Heretic shareware used a different border for the statusbar.
2014-01-18 15:09:12 -05:00
Braden Obrzut
6f7885210b - Fixed: Some setups require the dynamic linking library to be linked explicitly, so specify it when using DYN_FLUIDSYNTH 2014-01-18 14:58:39 -05:00
Edoardo Prezioso
70717cd2fa - Cover the ASM_SOURCES fix for NO_ASM users too 2014-01-18 02:21:49 +01:00
Christoph Oelckers
6824e8c931 Merge branch 'maint' 2014-01-18 01:12:06 +01:00
Christoph Oelckers
1fd1ac9bab Merge branch 'cmake_uninitialized_fix' of https://github.com/edward-san/zdoom into maint 2014-01-18 01:10:33 +01:00
Edoardo Prezioso
b329a34a58 - Fixed some cmake --warn-uninitialized messages 2014-01-17 23:36:59 +01:00
Christoph Oelckers
e126c3ec2f Merge branch 'maint' 2014-01-17 20:45:20 +01:00
Christoph Oelckers
9a74f96702 Merge branch 'viewpitch_overflow_fix' of https://github.com/edward-san/zdoom into maint 2014-01-17 20:43:03 +01:00
Christoph Oelckers
2d3a80fbd9 Merge branch 'cmake_clang_flags_fix' of https://github.com/edward-san/zdoom into maint 2014-01-17 20:43:00 +01:00
Edoardo Prezioso
884928687d - Fixed overflow checking in some viewpitch code 2014-01-17 19:27:12 +01:00
Edoardo Prezioso
aafea851f0 - Remove clang check from GCC-related workaround
It caused a clang warning/error regarding the non-existing flags '-fno-tree-dominator-opts' and '-fno-tree-fre'.
2014-01-17 19:11:29 +01:00
Edoardo Prezioso
f51fcd90b3 - Fixed scanf in IWAD picker without GTK
If you try to kill the program with Ctrl-C, it would run the first IWAD available in the list instead of closing it.
2014-01-17 18:57:52 +01:00
Christoph Oelckers
af3e619232 Merge branch 'uniquetid_overflow_fix' of https://github.com/edward-san/zdoom 2014-01-16 11:38:53 +01:00
Edoardo Prezioso
2501dc6df6 Fixed signed overflow issue, which caused a non-intended aggressive optimization by GCC 4.8. Also, negative values of the 'limit' parameter in both ACS UniqueTID() and in 'utid' CCMD are ignored and replaced by 0. 2014-01-13 01:48:31 +01:00
Christoph Oelckers
725d3e3f53 Merge branch 'master' of https://github.com/Edward850/zdoom 2014-01-12 10:53:34 +01:00
Edward Richardson
6db974918a Treat packets from unknown nodes differently
Instead of trying to decompress packets from unknown connections (and
failing them anyway), they are now reported and discarded without doing
anything else.
2014-01-12 18:39:19 +13:00
Braden Obrzut
db4a23e3c4 Merge branch 'origin/maint' 2014-01-10 02:19:14 -05:00
Braden Obrzut
44c4736de3 - Ignore unknown properties in the GAMEINFO lump instead of throwing an error. 2014-01-10 02:16:41 -05:00
Braden Obrzut
fa516c5ee6 - For some reason __MAC_10_6 is defined in the 10.5 SDK so use MAC_OS_X_VERSION_MAX to check SDK version instead. 2014-01-07 00:55:32 -05:00
Braden Obrzut
bbd3106cbb Merge commit 'b3f5de356f14e2026cc9e5738e8b58e22e7daa44' 2014-01-06 04:04:51 -05:00
Braden Obrzut
d8ff4ec281 - Fixed: All clang 5.0 warnings.
- Renamed autostart/autozend since Xcode’s build process links in strictly alphabetical order.
2014-01-05 19:50:09 -05:00
Braden Obrzut
b3f5de356f - Fixed: SBarInfo's gamemode command used to ignore unknowns (for cross compatibility). On top of restoring the old behavior, generate a warning for only the first ignored instance. 2014-01-05 15:46:11 -05:00
Braden Obrzut
b0f40c0733 - So we did end up restoring the variable that the last commit was compensating for. 2014-01-04 00:37:15 -05:00
Braden Obrzut
4770b9b27b - Fixed: Rampage timer should only reset when the weapon is ready to be fired. 2014-01-03 01:21:21 -05:00
Braden Obrzut
511bdc7208 - Work around GCC 4.8 bug 54570 2014-01-02 19:41:53 -05:00
Braden Obrzut
50cec119a0 - Work around GCC 4.8 bug 54570 2014-01-02 19:12:03 -05:00
Christoph Oelckers
853c1c4f1e Merge branch 'master' of https://github.com/Edward850/zdoom 2014-01-01 16:51:27 +01:00
Edward Richardson
455145d611 Stall testing for interpolation
Uncapped framerate never triggered the stall detection code, as it never
tried to process a frame to start with.
2014-01-02 00:04:32 +13:00
Christoph Oelckers
6e0f885135 - fixed: The 3D floor setup code treated alphas larger than 255 as translucent. This was causing problems with ZDCMP2 in GZDoom 2013-12-25 22:30:47 +01:00
Christoph Oelckers
ae49044f96 - let 'showloadtimes' measure UDMF parsing. 2013-12-19 17:59:58 +01:00
Christoph Oelckers
3e0325c8b0 Merge branch 'master' of https://github.com/rheit/zdoom 2013-12-17 17:24:43 +01:00
Christoph Oelckers
9a927c2030 Merge branch 'master' of https://github.com/Edward850/zdoom 2013-12-16 11:56:58 +01:00
Edward Richardson
a993b0288a Stop prediction from playing and stopping sounds
Player prediction would play *jump and stop falling sounds, creating odd
cases of sound repetition before the gametic caught up.
2013-12-16 23:02:27 +13:00
Braden Obrzut
5904df7f56 Merge branch 'maint' 2013-12-13 03:05:06 -05:00
Braden Obrzut
12d45bbc33 - Use setenv for LC_NUMERIC since setlocale gets reset by the libraries on some systems. 2013-12-13 03:00:35 -05:00
Braden Obrzut
10c312f55c - Silence GCC PCD_PRINTBINARY warning since we've been able to since GCC 4.6. 2013-12-13 02:51:15 -05:00
Christoph Oelckers
74dee4cd63 - removed ddraw.lib from CMake files because that library is not used anymore. 2013-12-09 11:24:58 +01:00
Christoph Oelckers
31c9a0b0e8 - Subtract should respect alpha. 2013-12-05 15:36:20 +01:00
Christoph Oelckers
c959b3f250 - added 'subtract' render style to DECORATE parser. This is actually 'reverse subtract' 2013-12-05 15:28:09 +01: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
8b92597508 Merge branch 'master' of https://github.com/Edward850/zdoom 2013-12-01 18:29:46 +01:00
Edward Richardson
7045f195f3 Removed excess value from stall debug output
The debug output for a stalled Arbitrator had an excess Net_Arbitrator
value, bumping the gametic+counts value off the output.
2013-12-02 06:23:22 +13:00
Christoph Oelckers
c5b2c95572 - fixed placement and handling of 'allowdecals' for animated doors. 2013-12-01 15:11:41 +01:00
Christoph Oelckers
a89ecdad50 Merge branch 'master' of https://github.com/Edward850/zdoom 2013-12-01 10:27:40 +01:00
Edward Richardson
662bc7a3ac cl_bloodtype could break playsim sync
Corrected entries were blood would spawn inconsistently because of
cl_bloodtype. Blood now always spawns but is marked invisible according
to cl_bloodtype.
2013-12-01 22:06:48 +13: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
Christoph Oelckers
698495efc5 - fixed: missing return in playerinfo CCMD added. 2013-12-01 01:21:43 +01:00
Christoph Oelckers
e7225bced6 - check negative XScale on sprites to allow mirroring. 2013-12-01 01:15:10 +01:00
Braden Obrzut
c04a800e2b - When doing OLDSTYLE builds we can use the RUNTIME_OUTPUT_DIRECTORY_<CONFIG> properties to force the output location properly. 2013-11-29 17:10:29 -05:00
Christoph Oelckers
cbed4624fa - added a user-settable factor for earthquake intensity. Value can be between 0 (no shaking) and 1 (normal shaking.) 2013-11-29 13:24:38 +01:00
Christoph Oelckers
b9c032461e - add a CMake option to enable/disable SSE2 with Visual C++. This is necessary because since VC 2012 SSE2 is the default instruction set. 2013-11-29 12:35:45 +01:00
Braden Obrzut
a8090dc22c - Remove a hardcoded "zdoom" so that the name passed into the copy operation should always match that passed to /MAP. 2013-11-29 02:09:27 -05:00
Braden Obrzut
c21beb0b6c - Fixed: Some versions of Visual Studio put the map file in a different location. 2013-11-29 01:54:46 -05:00
Christoph Oelckers
7cb70f60b3 - removed duplicate #define warning in fmodsound.cpp.
- commented out output of Cr0NpxState for floating point state because this variable was renamed in most recent Windows headers.
- added CMAKE option to generate assembly output for release builds.
- added my CMake-based project directory to .gitignore.
2013-11-28 11:03:19 +01:00
Braden Obrzut
0c1d92834a - Fixed: Some setups require the dynamic linking library to be linked explicitly, so specify it when using DYN_FLUIDSYNTH 2013-11-26 17:58:55 -05:00
Braden Obrzut
c7632174d8 - Fixed error in manifest embedding that stopped the binary from working on Windows XP.
- Tweaked PK3 copying commands so that it shouldn't be possible to end up with files named Debug/Release.
2013-11-26 12:49:23 -05:00
Christoph Oelckers
8bf5872fc0 - always add DelayImp.lib for MSVC. 2013-11-24 10:27:08 +01:00
Randy Heit
fe67ae5e54 Merge branch 'maint' 2013-11-19 21:01:15 -06:00
Randy Heit
f4e9edccb9 Don't display the cost in dialogues twice
- Fixed: Commit 75dd5503, which was to enable the use of LANGUAGE
  substitutions for conversation items with a cost attached, neglected to
  remove the original code that attached the cost to the end of the item,
  so the cost got added twice.
2013-11-19 19:55:57 -06:00
Randy Heit
d4304c3bde Change tspeed += 2 to *= 2
- Fixed: The initial keyboard turn rate used the running initial rate whether
  +speed was down or not.
2013-11-19 19:49:17 -06:00
Braden Obrzut
c7099744bd - Minor changes to the CMake since it looks like VS2005 doesn't support a few things that were added. 2013-11-11 23:56:58 -05:00
Edward Richardson
a967b05290 Improvements to restoring stalled netgames
- The waiting message is now always cleared, regardless if it needed to
be in the first place. It's a rather simple for-loop so I doubt it
matters.
- Nodes are also cleared from the list if they catch up while other
nodes are still behind.
- "lastglobalrecvtime" is now bumped after the waiting loop if a tic was
successful, rather then bumping it every time a packet was received. It
appears that you can receive a packet before the game knows it stalled,
thus stalling it anyway.
- Instead of comparing the nettics to the local node, all nodes are
tested against gametic+counts (the real reason why the game has
stopped).
- More then one node can be marked as late at any one time.
- In a packet-server game, the arbitrator is now assumed slow, rather
then testing it. There is no point, seeing as we already know the game
has stalled because of it.
2013-11-11 20:42:54 +13:00
Braden Obrzut
34457ce737 - Applied VoidMage's patch to strip color codes from system console on SDL platforms. 2013-11-06 13:42:05 -05:00
Braden Obrzut
f0b946c3cf - Allow use of system GME library. It defaults to forcing the use of the internal library at least for now though. 2013-11-06 13:37:34 -05:00
Randy Heit
ec6624dfc7 Prioritize single->double conversions for FindBestProto()
- The binary form of ZCC_OpInfoType::FindBestProto() needs special
  handling for conversion from single to double precision floating point
  so that it doesn't choose an integer form over a floating point form
  when picking the best prototype.
2013-11-01 22:05:49 -05:00
Randy Heit
3063df4f74 Add single <-> double conversions.
- With explicit casting now possible, converting from double to single
  precision floating point and back again needs to be possible, too.
2013-11-01 21:45:02 -05:00
Randy Heit
b66de4116d Remove IsUnary() and IsBinary()
- This information is already stored in the node's NodeType field, so
  there's no reason to go do a table lookup for it elsewhere. Must have
  been a brain fart when I wrote them in the first place.
2013-11-01 21:28:00 -05:00
Randy Heit
16fc9be411 Interpret function calls to type refs as type casts 2013-10-30 20:53:02 -05:00
Randy Heit
2adf5782b9 Return propertype conversion routes larger than 1
- Fixed: PType::FindConversion() gave all but the source type a distance of
  0, so it only ever returned just one step of a route that requires more
  than one step.
2013-10-30 20:52:46 -05:00
Randy Heit
39d7fa0605 Allow access to the numeric properties.
- Identifiers can now evaluate to type references.
- The dot operator can now find symbols in type references.
2013-10-29 22:06:14 -05:00
Randy Heit
e7616ec0bd Add D-style properties to the numeric types
- This is stuff like min and max for integral types and infinity and nan
  for floating point types.
2013-10-29 22:06:03 -05:00
Randy Heit
fe21ceec56 Add a constructor to PSymbolTable that takes a parent table as input 2013-10-29 22:05:56 -05:00
Randy Heit
e696fff0be Capitalize some names that weren't before.
- Since this caused several duplicate names to creep in, try to be more
  consistant abount name capitalization.
2013-10-29 22:05:49 -05:00
Randy Heit
6c7788d2ad Make global symbols survive GC runs
- The global symbol table was never marked by the GC, so anything pointed
  only by it was fair game to disappear.
- Don't clear the global symbol table during DECORATE parsing. Junk in
  there should be considered constant after initialization.
2013-10-29 22:05:43 -05:00
Randy Heit
61b419c187 Remove duplicated names from namedef.h
- Added an assertion in FName::NameManager::InitBuckets() that makes these
  errors easier to spot in the future.
2013-10-29 22:05:32 -05:00
Randy Heit
82c22459dc Give all types a symbol table, not just structs and derivatives 2013-10-29 22:05:25 -05:00
Randy Heit
b227a2f508 Add the basic types to the global symbol table 2013-10-29 22:05:16 -05:00
Randy Heit
03c4244fd8 Accept only one identifier for class names. 2013-10-29 22:05:09 -05:00
Randy Heit
2b96db5fac Do not share constant 1 for enum autoincrements.
- AST nodes cannot be shared, because type conversion changes them in
  place, and what's appropriate for one use is by no means appropriate for
  all uses.
2013-10-25 22:30:25 -05:00
Randy Heit
6384613487 Allow using constants in other constants before their definitions.
- Something like this is now valid:
    const foo = bar + 10;
    const bar = 1000;
2013-10-25 22:30:25 -05:00
Randy Heit
76d2e8cfc4 Set node type when nil-ing an id node.
- Nodes can't stay as type AST_ExprID if they don't also have the
  operation PEX_ID.
2013-10-25 22:30:25 -05:00
Randy Heit
850055a766 Add evaluation of constant unary and binary expressions
- Added ZCCCompiler class as a place to generate IR and symbols from an
  AST. Right now, all it does is simplify constant expressions into
  constant values.
- Do type promotion on the AST where appropriate.
- Added true and false tokens to the parser driver.
2013-10-25 22:30:24 -05:00
Randy Heit
d0968af9a6 Separate the AST from the parser state. 2013-10-25 22:30:24 -05:00
Randy Heit
dbc9fd6c0e Pad PSymbolConstNumeric to ensure it's the same size as PSymbolConstString 2013-10-25 22:30:12 -05:00
Randy Heit
c7e817dfb9 Added type conversion search routines
- PType::FindConversion() can find a path to convert one type to another.
  This is completely generic and can handle any number of conversion
  functions.
2013-10-23 22:39:51 -05:00
Braden Obrzut
2142e857a9 - Applied VoidMage's OpenAL patch. 2013-10-23 19:41:58 -04:00
Braden Obrzut
97d7b1e59e Merge branch 'origin/maint'
Conflicts:
	src/sound/fmodsound.cpp
2013-10-23 19:39:22 -04:00
Braden Obrzut
7dbf4ec38f - Slight cleanup and I accidentally inverted the map generation flag. 2013-10-12 01:58:39 -04:00
Braden Obrzut
0759a4b438 - Actually, lets not use /Gm since it's incompatible with /MP which will be much faster on multi-core machines.
- Added ZDOOM_GENERATE_MAPFILE which enables linker map file generation.
2013-10-12 01:44:57 -04:00
Braden Obrzut
03b75ae7c1 - Fixed a few flags for Visual Studio compilation. 2013-10-12 00:56:49 -04:00
Braden Obrzut
b9a1528747 - DYN_FLUIDSYNTH now defaults to ON.
- Added ZDOOM_OUTPUT_OLDSTYLE (could probably use a more descriptive name) which causes CMake to vary the executable name by build type and place the exes and pk3s into the directory specified in ZDOOM_OUTPUT_DIR.
- ALL_BUILD will now launch ZDoom.
2013-10-10 17:40:15 -07:00
Randy Heit
d76dbcaa9d Merge branch 'maint' 2013-10-09 22:33:58 -05:00
Randy Heit
02514dc9b2 - Fixed: AFSwordMissile::DoSpecialDamage had a unique prototype
so it would never actually be called.
2013-10-09 22:32:52 -05:00
Randy Heit
637798c1b5 Add handling for +warp at the command line.
- Command-line console commands are executed before a level is entered, so
  trying to use +warp to position yourself at a specific location will not
  work. We now specially handle this command so that it does work.
2013-10-09 22:15:11 -05:00
Randy Heit
1f723c10ae Add CF_INTERPVIEW for players.
- Added CF_INTERPVIEW flag for players. A_SetPitch/A_SetAngle and the
  similar ACS APROPs set this when changing an angle. This forces the
  renderer to interpolate the view angles instead of updating with the
  latest mouse positions. The effect lasts one tick.
2013-10-09 21:50:24 -05: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
03f19a12fa Merge branch 'maint' 2013-10-09 12:52:33 +02:00
Christoph Oelckers
8170cfbf98 - added my own FMOD path to CMakeLists.txt so that I can use it to create VC++ 2010 files with it. 2013-10-09 12:52:07 +02:00
Randy Heit
242f2ab7b0 Merge branch 'maint' 2013-10-08 21:51:51 -05:00
Randy Heit
0c9c624e8c Do not follow NextThinker links in DestroyThinkersInList
- Fixed: DThinker::Destroy(Most)ThinkersInList() were unreliable when
  destroyed thinkers destroyed more thinkers in the same list.
  Specifically, if the thinker it destroyed caused the very next thinker
  in the list to also be destroyed, it would get lost in the thinker list
  and end up with a NULL node. So just keep iterating through the first
  thinker in the list until there are none left. Since destroying a
  thinker causes it to remove itself from its list, the first thinker will
  always be changing as long as there's something to destroy.
2013-10-08 21:32:26 -05:00
Randy Heit
3c376aa342 Move C_ExecCmdLineParams() call slightly later in the startup process.
- Fixed: You could not set any CVARINFO-defined cvars from the command line
  because command line console commands were executed before wads were
  even loaded. Off the top of my head, I can't think of anything that would\
  break by having them get executed after wads are loaded.
2013-10-08 20:18:35 -05:00
Randy Heit
d558cf51a9 - Fixed: ABackpackItem::CreateTossable did not check for failure from the supermethod. 2013-10-08 19:59:46 -05:00
Braden Obrzut
4ced90756a - Let CMake know about noncompiled cpp files so they can appear in project files.
- Fixed: Somehow when I added a way to disable generator expressions I inverted the meaning of NO_GENERATOR_EXPRESSIONS.
2013-10-08 15:35:50 -04:00
Christoph Oelckers
eb186a5b92 Merge branch 'maint' 2013-10-07 11:58:53 +02:00
Christoph Oelckers
c4d2a021b0 - fixed: AInventory::BecomePickup must not restore the MF_COUNTITEM flag when transforming the inventory item into a pickup again. 2013-10-07 11:53:58 +02:00
Braden Obrzut
f386d6b1e3 - Embed the proper manifest file and group soure files when building Visual Studio projects with CMake. (The groups probably also apply to other project types as well.) 2013-10-06 14:37:51 -04:00
Randy Heit
4bd5bf310b Do not use GT, GTEQ, or NEQ operators in the AST.
- Since the VM doesn't directly support the GT, GTEQ, and NEQ comparisons,
  don't use them in the trees either. Instead, wrap them as LTEQ, LT, and
  EQEQ inside a BoolNot operator.
2013-10-02 23:28:06 -05:00
Braden Obrzut
ffae34c5fd - Changed the new default alignment keyword for drawimage from topleft to none in order to allow a potential topleft without image offsets. 2013-09-30 20:02:05 -04:00
Randy Heit
a0dbcb5d5b Add TRUE and FALSE terminals to the zcc grammar
- I can't believe I completely forgot to let the parser handle true and
  false literals.
- Consolidate all the %include blocks in zcc-parse.lemon into a single
  one, because Lemon all of a sudden decided it didn't like me having more
  than one in the grammar file.
- Added a PBool type to represent boolean values with.
2013-09-28 21:16:44 -05:00
Randy Heit
1948642758 Add Printf extension %H
- This conversion has behavior similar to %g: It automatically behaves like
  %f or %e based on the number of output characters. However, unlike %g,
  this decision is also based on what will produce the smallest string
  without truncating the output. The precision field (the * in %.*f) is
  ignored. Converting a double to text with %H and then back to a double
  should be lossless.
2013-09-25 20:46:45 -05:00
Braden Obrzut
658b4f7e0f - For some reason git decided not to include the actual changes for the last commit. 2013-09-21 15:30:32 -04:00
Braden Obrzut
e8bcbd14fb - Added vid_asyncblit for Linux and OS X. It defaults to true and sets SDL_AYNCBLIT on the frame buffer. This allows for ZDoom to obtain ~100% CPU usage with an uncapped frame rate on Linux like it should. (Not sure if it does anything for OS X yet.) It also makes uncapped play smoothly for me (as long as the frame rate is >= 2*refresh rate), but I'm not sure if capped feels more jittery or not. I could use some feedback here. Do note that vid_asyncblit requires a restart after the value is changed. 2013-09-21 13:20:36 -04:00
Braden Obrzut
f73275ad88 - Applied Tesseract's patch for drawimage extensions. (Extended icon support and maximum width/height.) 2013-09-21 12:46:19 -04:00
Randy Heit
0fb9f98a96 Add void and error types; rejigger pointer types
- Added TypeVoid for statements, which produce no type.
- Added TypeError for expressions whose arguments are incompatible.
- Pointers now derive from PBasicType instead of PInt. Since they have their own register sets in the VM, this seems to make more sense than treating them as integers.
2013-09-20 21:10:20 -05:00
Randy Heit
fc843c28ba Merge branch 'maint' 2013-09-18 22:06:31 -05:00
Randy Heit
5850279090 - Fixed: Thing_SetGoal could put an actor's target and goal out of sync.
If an actor is already targeting a goal, and Thing_SetGoal is used on
  it, it would still be left targeting the old goal instead of the new
  one. This messed up checks in A_Chase for walking towards a goal vs a
  real target.
2013-09-18 22:03:59 -05:00
Randy Heit
ad7aefff20 - Fixed: Do not apply AVOIDMELEE logic when moving toward a goal 2013-09-18 21:52:29 -05:00
Randy Heit
75535fba72 Do not enter testing mode if a valid mode is not selected.
- It doesn't make much sense to "test" the current mode if a non-video
  mode is selected in the menu, so don't.
2013-09-18 21:32:46 -05:00
Randy Heit
e3741c8097 GetSelectedSize() needs to check for a valid selection.
- With mouse navigation, there's no guarantee that there even is a
  selected item.
2013-09-18 21:29:19 -05:00
Randy Heit
a7a7d5d6b3 Add missing prantheses for A_CustomPunch's puffFlags calculation
- Fixed: Need parentheses for precedence when setting puffFlags in
  A_CustomPunch. Otherwise, it's completely broken.
2013-09-18 21:25:00 -05:00
Randy Heit
d05cdb79ef Switch true to LAF_ISMELEEATTACK inside A_Punch's call to P_LineAttack() 2013-09-18 21:22:21 -05:00
Randy Heit
0cf68af7d2 Overload operator = for player_t
- This fixes crashes when quitting multiplayer games because the default
  byte-for-byte copy caused PredictionPlayerBackup and the console player
  to point to the exact same userinfo data and to both try and free it
  when they are deleted.
2013-09-18 21:14:44 -05:00
Randy Heit
285be8db92 Fixed: wi_noautostartmap was not sync safe
- Make wi_noautostartmap a userinfo cvar. This allows it to be
  communicated across the network and saved in demos. If any player has it
  set, then the intermission screen will not automatically advance to the
  next level.
2013-09-18 20:45:39 -05:00
Randy Heit
e748c49dd0 - Fixed: m_specialpaths.cpp did not compile under Linux. 2013-09-18 17:29:42 -05:00
Christoph Oelckers
8ef130c376 Merge branch 'master' of https://github.com/rheit/zdoom 2013-09-18 09:40:48 +02:00
Christoph Oelckers
f591c5df5e - fixed: saving the config to the user's known folders should use the GAME_DIR #define, not 'zdoom' so that child ports can have their own. 2013-09-18 09:40:40 +02:00
Randy Heit
e021fba5e1 Improve NoDelay reliability.
- Instead of tying NoDelay behavior to OF_JustSpawned, use a new actor
  flag, MF7_HANDLENODELAY. This only gets cleared once it has actually
  been checked by Tick(). This is necessary because freeze mode delays the
  initial run of Tick() past the initial spawn, so OF_JustSpawned will no
  longer be set when it does the initial tick.
- Delay NoDelay processing if an actor is spawned dormant. Actors spawned
  dormant have Deactivate() called before they tick, so MF7_HANDLENODELAY
  will remain set as long as an actor is dormant. This allows the NoDelay
  handling to occur as expected once it is activated.
2013-09-17 20:44:13 -05:00
Randy Heit
a3e74bb39f Merge branch 'master' of github.com:rheit/zdoom 2013-09-17 17:32:04 -05:00
Randy Heit
88b05fe2a1 Fixed: SHGetKnownFolderPath needs to be declared as WINAPI. 2013-09-17 17:31:29 -05:00
Christoph Oelckers
c1aac878b0 Merge branch 'maint' 2013-09-15 23:12:21 +02:00
Christoph Oelckers
8847d5649a - fixed: Bridge needs to call Super::Destroy. 2013-09-15 23:11:55 +02:00
Christoph Oelckers
d36afb975c - fixed the Linux portion of m_specialpaths.cpp which had a section of GetUserFile duplicated. 2013-09-15 08:57:22 +02:00
Randy Heit
0645053431 Add support for standard file paths on Windows.
- If the current user does not have write permissions for the directory
  zdoom.exe is located in, use standard folder paths located in their home
  directory instead. This is a common scenario when people put ZDoom into
  Program Files. (Ironically, zdoom.ini used to be in AppData, buth then
  people complained when it wasn't in the same directory as zdoom.exe, so
  it got turned into zdoom-<user>.ini so at least it could retain some
  multi-user support. I'm not sure when the AppData support was removed,
  though, since it should have still been kept around for migrating
  configs to the new name.)
2013-09-14 23:07:59 -05:00
Randy Heit
da02a44126 Consolidate special path functions into m_specialpaths.cpp
- Also remove CDROM_DIR while I'm at it.
2013-09-14 21:04:00 -05:00
Christoph Oelckers
e4e26e7aa7 Merge branch 'maint' 2013-09-13 10:17:38 +02:00
Christoph Oelckers
ea0e4ed344 - fixed: The Hexen bridge must make its balls disappear when it gets destroyed.
Hexen did this with a call to A_BridgeRemove in Thing_Destroy which merely set a flag in the bridge object, which cannot be done safely in ZDoom because it's not guaranteed that the ball object calls A_BridgeOrbit and the garbage collector may delete the bridge actor before it can be checked so now the Bridge's Destroy method deletes all balls attached to the bridge object itself.
2013-09-13 10:07:43 +02:00
Randy Heit
743b05189e Give the parser knowledge of constants for unary - and +
- Since the tokenizer never gives the parser negative numbers but always a
  unary minus followed by a positive number, it seems reasonable to make
  the parser smart enough to turn these into negative constants without
  generating extra tree nodes.
- And since we're doing it for unary -, we might as well do it for unary +
  as well and avoid extra nodes when we know we don't need them.
2013-09-12 22:22:43 -05:00
Randy Heit
2a1414ad66 Use labels in autogenerated enum value expressions
- For an enum like this:
    enum { value1 = SOME_NUM*2, value2 };
  Generate an increment expression for value2 of the form
    (add (id value1) 1)
  and not
    (add (* SOME_NUM 2) 1)
2013-09-12 22:06:57 -05:00
Randy Heit
af8e0f2ba6 Represent enumerations as constant definitions
- Instead of representating enumeration values with a special node type,
  use the same ZCC_ConstantDef nodes that const_def produces. These are
  created at the same scope as the ZCC_Enum, rather than being contained
  entirely within it. To mark the end of enums for a single instance of
  ZCC_Enum, a ZCC_EnumTerminator node is now appended to the chain of
  ZCC_ConstantDefs.
2013-09-12 22:00:49 -05:00
Randy Heit
d5fa550118 Make ZCC_TreeNode::AppendSibling() work with lists
- Previously, you could only append lone nodes to ZCC_TreeNode lists.
  Now you can append one list to another.
2013-09-12 22:00:49 -05:00
Randy Heit
2ab3974752 Add a PSymbolConstString class
- Constants can be strings, but the existing PSymbolConst couldn't handle
  them. The old PSymbolConst is now PSymbolConstNumeric, and the new
  PSymbolConst is a now a baseclass for it and PSymbolConstString.
2013-09-10 22:01:00 -05:00
Randy Heit
33e835b58d Accept name constants in the grammar 2013-09-10 21:56:13 -05:00
Randy Heit
b6e525d935 Add missing closing " for string constants in AST dumps 2013-09-10 21:50:27 -05:00
Randy Heit
52d5e74e7e Mark unsigned constants in AST dumps.
- Add the u suffix to unsigned integer constants printed in AST dumps.
2013-09-10 21:48:15 -05:00
Randy Heit
1b4851224e Let the grammar accept unsigned integer constants 2013-09-10 21:44:32 -05:00
Randy Heit
33344201fa Let the scanner returned unsigned integers
- The scanner already recognized the u suffix for unsigned integers, but
  otherwise ignored it. Return it as a proper token.
2013-09-10 21:40:05 -05:00
Randy Heit
aec6aff7a8 Don't accept l as a suffix for floating point numbers in the scanner
- We're never going to support long doubles, so don't pretend.
2013-09-10 21:30:33 -05:00
Randy Heit
6545c48e07 Accept constant definitions at global scope 2013-09-10 21:25:50 -05:00
Randy Heit
3044fdd0a9 Use %f instead of %g in AST dumps
- To ensure that floating point constants are identifiable as floating
  point, FLispString::AddFloat() now prints them with %f.
2013-09-10 21:24:32 -05:00
Randy Heit
61666e1515 Consolidate constant expression nodes into a single type
- Instead of having ZCC_ExprString, ZCC_ExprInt, and ZCC_ExprFloat,
  just use a single ZCC_ExprConstant. It should simplify type
  promotion and constant folding in the future.
2013-09-10 21:10:48 -05:00
Randy Heit
f9f8d1e79b Add a type field for ZCC expressions.
- Constants can fill out the type field right away. Other expressions will need
  to wait until a later pass, after names have been resolved, so they get
  initialized to NULL.
2013-09-10 20:50:21 -05:00
Randy Heit
6584819d01 Use PType for typing things in PSymbolConst. 2013-09-07 20:35:46 -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
Christoph Oelckers
18386e4b23 Merge branch 'maint' 2013-09-03 08:44:52 +02:00
Christoph Oelckers
11c026ee84 - fixed: displaying sprites on the automap ignored both the actor's scale and translation. 2013-09-03 08:34:55 +02:00
Christoph Oelckers
75dd5503cf - fixed: Cost strings for dialogues must not be added in the dialogue parser but while displaying the message to properly handle stringtable entries. 2013-09-03 08:24:47 +02:00
Christoph Oelckers
4ed27c22fd Merge branch 'master' of https://github.com/MazterQyou/zdoom 2013-09-03 07:59:37 +02:00
Alex Qyoun-ae
b6baeecd9a Fixed compilation with LLVM compilers 2013-09-03 03:49:39 +04:00
Christoph Oelckers
ba2a07fb26 - removed all uses of single precision floats from FraggleScript code. 2013-09-02 09:08:47 +02:00
Randy Heit
267030c759 Merge branch 'maint' 2013-08-30 23:13:32 -05: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
Randy Heit
b0371e1804 Don't abort when merely checking if a non-map is a map
- When P_OpenMapData() is called by P_CheckMapData(), we don't actually
  care if any required lumps are missing. This just means it isn't a valid
  map, so don't abort with I_Error().
2013-08-30 22:38:57 -05:00
Randy Heit
33ee8f9fef Merge branch 'maint' 2013-08-29 22:27:49 -05:00
Randy Heit
0f0d9da839 Reset FirstFreeEntry in ACSStringPool::ReadStrings()
- Fixed: When an ACS string pool was read from a savegame, FirstFreeEntry
  would not be updatedt, except by the Clear() function. This left FirstFreeEntry
  at 0, which meant the next string added to the pool would always go in
  slot 0, whether it was free or not.
2013-08-29 22:22:30 -05:00
Randy Heit
7143ae49e1 Fixed: CheckPlayerCamera not sync safe
-  If a player is spying through another player, CheckPlayerCamera will
   return the TID of the player you are "spying", but as coopspy isn't a
   net command, this wont be reflected by all nodes. So to fix this,
   CheckPlayerCamera now returns -1 if a player's camera is that of any
   player at all. (thanks edward850)
2013-08-29 21:45:37 -05:00
Randy Heit
aac0de3e48 Fixed: Make A_SetTics work with weapons.
- When A_SetTics is called from a weapon, we need to set the tics for the
  psprite instead of the actor itself.
2013-08-29 21:40:01 -05:00
Randy Heit
28e5cc536a Add some awareness of short file names
- Added I_GetLongPathName(). It wraps the Win32 API's GetLongPathName().
  DArgs::CollectFiles() now calls this for every argument it processes, so
  any arguments passed using short file names will be converted to long
  file names. This is mainly of interest so that savegames will never
  record the short file name, which can change based on what else is in
  the directory.
2013-08-29 21:24:05 -05:00
Randy Heit
2823ea5de3 Annote AST nodes with source information 2013-08-28 22:59:03 -05:00
Randy Heit
5e0e74a47d Fix incorrect comment 2013-08-28 22:35:29 -05:00
Christoph Oelckers
9c2454eacc Merge branch 'maint' 2013-08-28 11:20:53 +02:00
Christoph Oelckers
26c381224c - removed unused constants in p_map.cpp. 2013-08-28 11:16:30 +02:00
Christoph Oelckers
f8899f98fc - fixed: The secret counter was not incremented for items that had the UDMF COUNTSECRET flag set. 2013-08-28 11:14:48 +02:00
Braden Obrzut
0a16e9a256 - Fixed uninitialized variable in A_AlertMonsters. 2013-08-27 20:42:35 -04:00
Braden Obrzut
0fb37ca5f1 Merge branch 'maint' 2013-08-27 20:41:10 -04:00
Braden Obrzut
5079d6c505 - Fixed: clang 32-bit compile (I hear it still doesn't run though).
- Applied edward's patch to remove boolean increment.
2013-08-27 20:28:38 -04:00
Randy Heit
064710422b Accept empty struct and enum definitions (useless as they may be) 2013-08-24 20:32:59 -05:00
Randy Heit
80daf736ec Accept enums and structs defined at global scope 2013-08-24 20:28:26 -05:00
Randy Heit
956d754804 DECORATE cleanup
- Remove some ExpVal stuff that wasn't used.
2013-08-23 22:17:08 -05:00
Randy Heit
2f7183b937 Use PField instead of PSymbolVariable for DECORATE expressions
- The type systems used by PField and FxExpression are completely
  incompatible, but I think I got the differences taken care of as far
  as ParseNativeVariable(), ParseUserVariable(), and FxClassMember are
  concerned.
- Support for declaring native bool variables has been removed for the time
  being. It wasn't used anyway.
- Removed PSymbolVariable.
2013-08-23 22:02:51 -05:00
Randy Heit
0d1973a659 Make PStruct::AddField() check for duplicates
- PStruct::AddField() now checks the symbol table for a symbol of the same
  name before adding a new field. If the name is in use, it returns NULL.
2013-08-23 21:56:18 -05:00
Randy Heit
27ddaad7ca Set PStatePointer's TypeTableType in PType::StaticInit()
- It was forgotten about earlier.
2013-08-23 21:54:35 -05:00
Randy Heit
263b160905 Add PFixed and PArray types
- These are types that are stored as integers but otherwise handled as floating point values.
2013-08-23 21:53:54 -05:00
Randy Heit
b5d37348f6 Add code generation simplification methods to PType
- To assist with using PType with DECORATE expression code generation,
  added GetStoreOp(), GetLoadOp(), and GetRegType() to PType.
2013-08-23 21:52:04 -05:00
Randy Heit
2ec3cbddb9 Mark PType's GetValueInt method as const 2013-08-23 21:50:33 -05:00
Randy Heit
3ea0d1b444 Add VM opcodes NOP, LANG, and SANG
- To simplify code generation genericizing, add three new opcodes
  * NOP: No-Operation
  * LANG: Load Angle - load a BAM angle into a float reg as degrees
  * SANG: Save Angle - store a float reg into a BEM angle, converting from degrees
2013-08-23 21:46:40 -05:00
Randy Heit
a69089ffd7 Change disassembly dumps to be controlled from one spot
- Instead of changing three places to turn disassembly dumps on and off,
  do it with just one place. As a side effect, this now handles the case
  where the dump file can't be opened.
2013-08-23 21:43:56 -05:00
Randy Heit
3f6c3fa927 Remove unused GetVariableValue() 2013-08-21 23:19:46 -05:00
Randy Heit
d798c7896c Remove FxGlobalVariable class 2013-08-21 23:01:41 -05:00
Randy Heit
01822c002f Use PField instead of PSymbolVariable for A_SetUserVar/Array 2013-08-21 22:58:12 -05:00
Randy Heit
6aee7833d0 Use PField instead of PSymbolVariable for SetMapThingUserData() 2013-08-21 22:51:12 -05:00
Randy Heit
5aff8156ba Use PField and not PSymbolVariable for ACS's Get/SetUserVariable 2013-08-21 22:39:28 -05:00
Randy Heit
4cf0ef7e3f Minor PField changes.
- Rename FieldOffset and FieldType so they no longer have the "Field" prefix
- Add a Flags field.
2013-08-21 22:38:05 -05:00
Randy Heit
e50c00c856 Add generic integer setters and getters for PInt and PFloat types 2013-08-21 22:36:46 -05:00
Randy Heit
6198c000af Fix A_DropItem from merge 2013-08-21 22:31:40 -05:00
Randy Heit
fd9c450c6e Fix merge for ACS's DropItem 2013-08-21 22:28:53 -05:00
Christoph Oelckers
8e8f6cf5a6 - A_AlertMonsters flags submission by NeuralStunner. 2013-08-20 20:33:03 +02:00
Christoph Oelckers
3e4678765b Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/thingdef/thingdef_codeptr.cpp
2013-08-18 12:18:59 +02:00
Christoph Oelckers
116defbb35 - fixed: LookForEnemiesInBlock needs to check for MF7_NEVERTARGET. 2013-08-18 09:11:40 +02:00
Randy Heit
5fe5fe7c51 Merge branch 'scripting' of github.com:rheit/zdoom into scripting 2013-08-14 22:15:28 -05:00
Randy Heit
cf87d0f1e9 Use PFunction instead of PSymbolActionFunction in DECORATE parser 2013-08-14 22:00:16 -05:00
Randy Heit
aba691ad72 Implement NewClassPointer() 2013-08-14 21:59:10 -05:00
Randy Heit
8fbb4b90fb Add some flags for PFunction 2013-08-14 21:56:21 -05:00
Randy Heit
ed1c22186f Add PStatePointer type 2013-08-14 21:53:03 -05:00
Christoph Oelckers
62830f7927 - added separate automap color for non-counting monsters.
- fixed: using a nonexistent CVAR in a ColorPicker menu item caused a crash.
2013-08-14 00:32:05 +02:00
Christoph Oelckers
c8b4fb0d3d - added a 'closemenu' CCMD so that menu options that close the menu can be added. 2013-08-13 21:09:46 +02:00
Christoph Oelckers
7a87e08107 - added MF7_ALWAYSTELEFRAG flag that causes an actor to be telefragged by everything that teleports into the same place. 2013-08-13 21:01:14 +02:00
Christoph Oelckers
9ebf345fec Merge branch 'maint' 2013-08-13 08:53:23 +02:00
Christoph Oelckers
1b79f7d956 - fixed chance default for ACS's DropItem. 2013-08-13 08:52:53 +02:00
Christoph Oelckers
3518b4dd28 - allow menu's back button and the pause sign to be animated. 2013-08-12 22:46:45 +02:00
Christoph Oelckers
61c94648dc - added ACS CheckFlag function. 2013-08-12 22:38:52 +02:00
Christoph Oelckers
ba3e57281a Merge branch 'maint' 2013-08-12 21:12:20 +02:00
Christoph Oelckers
072b66fb9f - fixed: The music that's defined in the Gameinfo section of MAPINFO could not set the order for multitrack music lumps. 2013-08-12 21:11:53 +02:00
Christoph Oelckers
aa03609b69 - added IF_TOSSED inventory flag. 2013-08-12 21:00:23 +02:00
Christoph Oelckers
be1a00c537 Merge branch 'maint' 2013-08-12 20:42:21 +02:00
Christoph Oelckers
e14590d8ce - moved NOTELESTOMP to flags7. When committing I was accidentally on maint instead of master and in master flags6 was already full. 2013-08-12 20:41:33 +02:00
Christoph Oelckers
44a1b94ad9 - added MF6_NOTELESTOMP flag that prevents an actor from telefragging under all possible circumstances. 2013-08-12 20:23:54 +02:00
Christoph Oelckers
f2c250d35d - flags7 variable added to AActor. 2013-08-12 20:09:21 +02:00
Christoph Oelckers
2bcc5cd7cc Merge branch 'maint' 2013-08-12 09:14:18 +02:00
Christoph Oelckers
ecfe67dd78 - removed weirdness from Powerup.Strength property that was specifically tailored to its use on PowerInvisibility and made its use problematic elsewhere. 2013-08-12 09:13:55 +02:00
Christoph Oelckers
fabf8272e6 Merge branch 'maint' 2013-08-11 21:04:17 +02:00
Christoph Oelckers
1b2d8420bb - DropItem for ACS. 2013-08-11 20:57:53 +02:00
Christoph Oelckers
c0174ea7cd - Added A_DropItem for DECORATE. 2013-08-11 20:48:08 +02:00
Christoph Oelckers
35764ff3b2 - fixed: Powerup.Strength is a fixed point value, so using it as health amount for PowerRegeneration requires division by FRACUNIT. 2013-08-11 20:39:53 +02:00
Christoph Oelckers
5bb4b558a4 Merge branch 'maint' 2013-08-11 13:37:36 +02:00
Christoph Oelckers
c5cba70fc8 - removed obsolete quit message #defines. 2013-08-11 13:36:48 +02:00
Christoph Oelckers
c7a46492eb - fixed bad index variable in R_RenderFakeWallRange. 2013-08-11 12:41:14 +02:00
Randy Heit
55bec365e8 Added a way to specify paramater flags for PFunction
- And right now, the only flag is "Optional".
2013-08-10 20:24:12 -05:00
Randy Heit
973b0f5c56 Change PFunction's superclass from PNamedType to PSymbol 2013-08-10 20:17:55 -05:00
Randy Heit
6575499f37 Added basic implementation for PField.
- I don't know why this didn't give me trouble before, but I needed to add IMPLEMENT_CLASS for PField.
2013-08-10 20:17:29 -05:00
Randy Heit
3e46e6376c Added NewPrototype() function 2013-08-10 20:06:54 -05:00
Randy Heit
f18c7b8959 Make FType::Hash work for PPrototype
- For Prototypes, Hash is passed the address of two TArrays. If we blindly
  hash those without checking their contents, then we can forget about
  ever finding any matching prototypes in the type table. (Not that I
  remember why I wanted them to be unique, but I'm sure I must have had my
  reasons.)
2013-08-10 20:05:42 -05:00
Christoph Oelckers
3bcc4078b1 Merge branch 'maint' 2013-08-10 10:19:20 +02:00
Christoph Oelckers
1c889dc9fa - let APowerRegeneration use the Strength property to define the amount of regeneration it gives. 2013-08-10 09:51:48 +02:00
Christoph Oelckers
c8f0df44f2 Merge branch 'maint'
Conflicts:
	src/am_map.cpp
2013-08-10 09:41:50 +02:00
Christoph Oelckers
25ec3fb8fe - added MF6_RELATIVETOFLOOR flag. 2013-08-10 09:32:55 +02:00
Christoph Oelckers
211d293002 - added MF6_NOTONAUTOMAP flag to exclude things from being shown with the scanner powerup. The IDDT cheat will not be affected by this. 2013-08-10 08:53:37 +02:00
Christoph Oelckers
55f637c906 - fixed: When creating colormaps for 3D floors the model sector's fade value must be used when defining a fog volume. 2013-08-09 23:40:34 +02:00
Christoph Oelckers
9c12c03684 Merge branch 'maint' 2013-08-09 20:36:08 +02:00
Christoph Oelckers
6a07118ea4 - added ML_BLOCKHITSCAN line flag. 2013-08-09 20:35:10 +02:00
Christoph Oelckers
a78ad3188b - added MF5_NOFORWARDFALL flag to prevent attacks from making its victim fall forward randomly. 2013-08-09 20:20:23 +02:00
Christoph Oelckers
0a258f95ea - added gravity property to UDMF things. Positive values are multiplied with the class's gravity property, negative values are used as their absolute. 2013-08-09 16:25:16 +02: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
Christoph Oelckers
21bce3b0c4 Merge branch 'maint' 2013-08-09 12:51:26 +02:00
Christoph Oelckers
5d0369d4ed - Ability to set A_VileAttack's initial attack's damage type - by BlueShadow. 2013-08-09 12:18:58 +02:00
Christoph Oelckers
b187451a71 - added APROP_ViewHeight and APROP_AttackZOffset submission by TheFortuneTeller. 2013-08-09 12:06:51 +02:00
Christoph Oelckers
34b71baad1 - added Player.Aircapacity property which is used as a multiplier for the level's air supply. 2013-08-09 11:57:14 +02:00
Christoph Oelckers
a0c214104d Merge branch 'maint' of https://github.com/rheit/zdoom into maint 2013-08-09 11:47:33 +02:00
Christoph Oelckers
e6c880c93a - fixed: The sector's 'hidden' UDMF property did not properly clear the corresponding flag if the value was 'false'.
- added UDMF 'waterzone' property for sectors.
2013-08-09 11:47:25 +02:00
Christoph Oelckers
151d54aaf5 - added 3 more modes for am_cheat: 4-6 are the same as 1-3 with the exception that lines not drawn on the regular automap won't be shown. 2013-08-09 11:32:46 +02:00
Christoph Oelckers
9f35788164 - added custom automap overlay colors.
- extended am_drawmapback so that map backgrounds can only be drawn if used with custom colorsets and Raven's, assuming that these sets were specifically made for the accompanying backgrounds.
2013-08-09 11:00:24 +02:00
Braden Obrzut
5b228ae5a7 Merge branch 'maint' 2013-08-09 00:25:51 -04:00
Braden Obrzut
7e76fb0078 - Fixed: Disable ifitem jumping if a link isn't specified since an invalid value can cause a crash. 2013-08-09 00:25:29 -04:00
Braden Obrzut
bb494292c6 - Fixed P_CheckMapData allowed non-map lump names to pass resulting in a crash when actually trying to load the map. 2013-08-08 23:47:58 -04:00
Randy Heit
93cbdd37a5 PArray's size should take alignment into account. 2013-08-08 22:27:40 -05:00
Randy Heit
6c1f3a1396 Added PStruct::AddField() 2013-08-08 22:27:40 -05:00
Randy Heit
476a98652c Remove extraneous PField class
- Remove the existing PField class, rename PMemberField to PField, and
  derive it from PSymbol instead of the old PField.
2013-08-08 22:27:39 -05:00
Randy Heit
7e24f6b00c - Added NewStruct() function. 2013-08-08 22:27:39 -05:00
Randy Heit
0ec33191aa - Added NewEnum() function. 2013-08-08 22:27:39 -05:00
Randy Heit
12a312b6b4 - Fixed: NewArray returned the element type, not the array type. 2013-08-08 22:27:38 -05:00
Randy Heit
dbaf72772b Move the symbol table from PClass to PStruct. 2013-08-08 22:27:38 -05:00
Randy Heit
11b588de4a Add names for fallback tokens.
- Fixed: When falling back to the IDENTIFIER token, the identifier it
  would get was undefined, because it never got initialized.
2013-08-02 21:54:50 -05:00
Randy Heit
5cc8a9c2a7 Remove redundant Resolves
- ParseExpression() calls Resolve() on the FxExpression before returing
  it, so there's no need to immediately Resolve() what it returns.
2013-08-02 21:19:05 -05:00
Randy Heit
4f528e3832 Remove lax from FCompileContext
- It's always set to true these days, so let's get rid of it.
2013-08-02 21:13:40 -05:00
Randy Heit
09c902ce55 Remove isconst from FCompileContext.
- It's not used anymore, so keeping it around is pointless.
2013-08-02 21:09:49 -05:00
Christoph Oelckers
8f45e906d4 Merge branch 'automap_colors' 2013-08-02 18:16:05 +02:00
Christoph Oelckers
aa72857c72 - implemented automap color parser for MAPINFO (code not tested yet!) 2013-08-02 16:56:42 +02:00
alexey.lysiuk
5c05f1f3cd - Ignored dehacked.exe from *.zip files to enable loading of *.deh files. 2013-08-02 10:17:06 +03:00
Christoph Oelckers
845020c617 - ovthingcolors were not properly set.
- added all the missing color CVARs for the overlays which previously duplicated use of one of the other CVARs.
2013-07-31 23:13:20 +02:00
Christoph Oelckers
d77673d681 - reorganization of automap color handling for easier maintenance
Mostly preparation to implement a per-mod automap option but also fixes a few minor issues with some colors that are not defined in the original game specific colorsets.
2013-07-31 22:59:35 +02:00
Edoardo Prezioso
0dc70f847c - Be more compatible with C++11 narrowing conversions system. 2013-07-31 12:27:54 +02:00
Edoardo Prezioso
8cab8f180b - Be clear about the safe 'memset/memcpy' operations on virtual classes.
Since I remember that 'memset/memcpy' is safe in this code, it should be okay to cast to the generic pointer all the 'virtual class' arguments before calling the above functions. Shuts up Clang warnings.
2013-07-31 12:23:31 +02:00
Randy Heit
58f088c1ab Remove FxExpression::EvalExpression() entirely
- For the purposes of getting constant values from expressions, the only
  class where Resolve doesn't duplicate the functionality of
  EvalExpression was FxConstant. So, every other class has had its
  EvalExpression taken away, and FxConstant has had it renamed to GetValue.
2013-07-30 22:52:27 -05:00
Christoph Oelckers
4eb6f74e36 Merge branch 'maint' 2013-07-30 16:53:00 +02:00
Christoph Oelckers
3480d40484 - fixed: AActor::Die may only randomize the death state's duration if it is positive. Otherwise -1 (infinite) gets clobbered. 2013-07-30 16:52:36 +02:00
Christoph Oelckers
9c08a029b1 Merge branch 'maint' 2013-07-30 15:14:10 +02:00
Christoph Oelckers
a13af5cc65 Merge branch 'maint' of https://github.com/edward-san/zdoom into maint 2013-07-30 15:08:44 +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
Christoph Oelckers
e01c4e0201 Merge branch 'maint' 2013-07-30 13:18:08 +02:00
Christoph Oelckers
16456bec56 - added separate colors for the various types of 2-sided walls for the overlay automap. They previously all mapped to the same CVAR. 2013-07-30 13:17:20 +02:00
Edoardo Prezioso
4ce0574b3f - Use a more conformant C++ preprocessor macro identifier for Unix systems.
The 'unix' identifier isn't defined when '-std' is passed to the compiler (tested with gcc and clang), so use '__unix__' which is well enough documented.
2013-07-30 11:46:14 +02:00
Christoph Oelckers
81334809c4 - changed autoloading of *.deh lumps: it is now controlled by a CVAR with 3 options: never load *.deh lumps, load all of them or only load the last one. *.deh loading is disabled by default. 2013-07-30 09:32:33 +02:00
Christoph Oelckers
27de9f45af - commented out autoloading of .DEH lumps for maint branch. 2013-07-30 09:25:07 +02:00
Christoph Oelckers
805de60aa4 - fixed: ChangeSpy didn't check if a player's camera's player pointer was valid before using it to get an index into the players table. 2013-07-30 09:16:27 +02:00
Braden Obrzut
bc71d4537e Merge branch 'maint' 2013-07-29 18:55:29 -04:00
Braden Obrzut
eb5d57be06 - Fixed: crash when closing ZDoom in the save menu and a memory leak. 2013-07-29 18:35:19 -04:00
Randy Heit
c810b4d724 Use new degree FLOPs for DECORATE expressions.
- Now that the VM supports degrees, use those instructions when emitting
  code for cos and sin DECORATE expressions. (This looks like it also
  fixed a bug where sqrt also did the degree to radian conversion.)
2013-07-28 20:31:23 -05:00
Randy Heit
ff7b1f6e5e Add degree variants of FLOP operations
- Added versions of the trig operations supported by FLOP that can work
  with degrees directly instead of radians.
- Reorder FLOPs into more sensible groupings.
2013-07-28 20:22:47 -05:00
Randy Heit
0468b1f9ce Delete default expressions for action definitions
- After StateParams was removed in commit 4a1fbdb, the expressions for
  default paramaters that ParseActionDef() created went nowhere and were
  lost. Properly throw them away by deleting them as soon as they've been
  parsed.
2013-07-28 20:05:07 -05:00
Randy Heit
241622300e Removed some EvalExpression implementations
- Removed EvalExpression() implementations from some subclasses of
  FxExpression that don't make any sense in the context of evaluating a
  constant value.
2013-07-28 19:40:48 -05:00
Randy Heit
2c24e7f9c6 Remove self pointer from FxExpression::EvalExpression()
- Every place that calls this now (which are all in thingdef_parse.cpp)
  passed NULL for the self pointer, so it was superfluous to have around.
2013-07-28 19:28:14 -05:00
Christoph Oelckers
c7d167d278 - used TEXTCOLOR_ #defines for colorizing CCMD list, remove use of strbin1. 2013-07-28 17:15:47 +02:00
Christoph Oelckers
6f4b09cc77 Merge branch 'master' of https://github.com/slatenails/zdoom 2013-07-28 16:42:36 +02:00
Christoph Oelckers
c253d40fbb - externalize labels for automap statistics display to the string table. 2013-07-28 16:18:57 +02:00
slatenails
48a29b769f Results for console tab-completion are now color-coded. CCMDs appear blue, CVars green and aliases red. 2013-07-28 14:58:30 +03:00
Christoph Oelckers
909ec2e35a Merge branch 'maint' into scripting 2013-07-28 10:47:17 +02:00
Christoph Oelckers
775ecdeebb - fall back to drawing triangles on automap when encountering actors with non-displayable sprites 2013-07-28 10:14:46 +02:00
Randy Heit
4a1fbdb32a Remove all state expression/param stuff
- This all became vestigial code after the relevant information was all
  moved into FStateTempCall. Now that the MBF code pointer code has been
  converted, I can be sure it wasn't still used anywhere.
2013-07-27 22:34:44 -05:00
Randy Heit
9485752b55 Reimplement MBF code pointer parameters
- Where the old code mucked about with parameter lists to convert misc1
  and misc2 values to action function parameters, we now create new script
  functions using a VMFunctionBuilder to pass the parameters to an action
  function. This code is completely untested, as I have no BEX patches to
  test it with, but at least it compiles without error.
2013-07-27 22:07:37 -05:00
Randy Heit
6cf0916f72 Use VMFunctionBuilder::EmitParamInt in thingdef_expression.cpp 2013-07-27 22:06:14 -05:00
Randy Heit
0603295822 Added EmitParamInt to VMFunctionBuilder 2013-07-27 22:06:14 -05:00
Randy Heit
57bb9c2f7a Better disassembly of FLOP instructions.
- Annotate FLOP instructions with the name of the floating point operation
  indicated by the C field.
2013-07-25 22:29:59 -05:00
Randy Heit
070c0a9e30 Stop leaking function damage expressions.
- Function damage expressions parsed from DECORATE are now stored in a
  single array and deleted at the end of FinishThingdef().
2013-07-25 21:42:30 -05:00
Randy Heit
e3e32d7cca Added DeleteAndClear method to TDeletingArray.
- Normally, TDeletingArray only deletes its contents when it is destroyed.
  Now you can do it earlier if you want.
2013-07-25 21:41:18 -05:00
Christoph Oelckers
992ba0bbf4 - added handling of MF3_FOILINVUL for A_BFGSpray. This function needs special treatment because the shooting player is considered the inflictor of the spray damage. 2013-07-26 00:52:12 +02:00
Christoph Oelckers
7006df8d96 - fixed sprite rotation in automap submission 2013-07-25 17:19:36 +02:00
Christoph Oelckers
9ed829c3af Merge branch 'map_sprites' of https://github.com/alexey-lysiuk/gzdoom 2013-07-25 16:39:53 +02:00
alexey.lysiuk
76e1e87456 + things as sprites on map, controlled with am_showthingsprites CVAR
drawing of sprites instead of things/players markers with am_cheat >= 2
possible am_showthingsprites values are:
0 - sprites disabled
1 - static front sprites
2 - animated front sprites
3 - animated sprites with actual things angles
2013-07-25 17:01:07 +03:00
Christoph Oelckers
6dd956c0dc - fixed: Speaker names in dialogues were not able to use the string table. 2013-07-25 15:58:47 +02:00
Randy Heit
f6bbd5abf7 Simplify AST dumps.
- More forced line breaks.
- Don't use extra parentheses in places where it can still be unambiguous
  without them.
- Don't print the UserType for basic-types that aren't ZCC_UserType.
2013-07-24 21:35:02 -05:00
Randy Heit
7d304a4cb6 Partially revert commit 46c0127
- Being able to omit optional function arguments is not such a nonsensical
  thing after all. However, the previous grammar was still inadequate for
  representing this in a useful way.
2013-07-24 20:59:29 -05:00
Christoph Oelckers
cbc0b70e7c - TransferStencilColor A_SpawnItemEx patch / by Ryan Cordell. 2013-07-24 20:15:17 +02:00
Randy Heit
9c86f1c220 Merge branch 'master' into scripting for plugged userinfo memory leak
Conflicts:
	src/d_player.h
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
2013-07-23 21:01:13 -05:00
Randy Heit
a136ca65ea Allow functions without parameters
- Fixed: Trying to define a function without any parameters would silently
  discard the function, because the declarator tested FuncParams instead
  of FuncName to decide if it was a function.
2013-07-23 20:43:15 -05:00
Randy Heit
67caf3303b Add the array size to ZCC_VarName 2013-07-23 19:59:47 -05:00
Randy Heit
0d25ed8289 state_call needs parenthesis around func_expr_list
- Fixed: state_call needs to enclose func_expr_list in LPAREN/RPAREN
  itself, because func_expr_list doesn't include them. This means it also
  needs a separate production to accept calls without a parameter list.
2013-07-23 19:34:21 -05:00
Randy Heit
46c0127ebb Don't accept function params starting with a comma
- Fixed: func_expr_list would accept nonsense like this:
    Myfunction(, 1, 2);
2013-07-23 19:28:58 -05:00
Randy Heit
aadd4e4de6 ZCCParseNode needs to initialize TopNode
- If the parsing is a complete failure, then TopNode won't ever be set to
  anything during the parsing process.
2013-07-23 18:38:57 -05:00
Christoph Oelckers
af470b3d56 - fixed: The global variables holding the view's fixed colormap must be preserved when rendering to a camera texture. 2013-07-23 12:32:33 +02:00