Christoph Oelckers
f260709e73
- moved the weapon selection logic to PlayerPawn as overridable virtual functions.
2018-11-24 22:22:36 +01:00
Christoph Oelckers
b6d0d5008e
- change teleport freeze handling to a player property plus virtual override on PlayerPawn for increased configurability.
2018-11-24 21:37:00 +01:00
Christoph Oelckers
3d892d3970
- scriptified FilterCoopRespawnInventory.
2018-11-24 20:58:33 +01:00
Christoph Oelckers
fb91982da2
- scriptified APlayerPawn::Die and fixed a few things I encountered while doing it.
2018-11-24 20:32:12 +01:00
Christoph Oelckers
44d51a6de9
- scriptified GetDefaultInventory.
2018-11-24 19:03:33 +01:00
Christoph Oelckers
595208f2fd
- exported a few more weapon handling functions so that the native GetDownState stub could be removed.
2018-11-24 18:21:40 +01:00
Christoph Oelckers
9584e3bc53
- scriptified P_BringUpWeapon because this was the only native function still referencing AWeapon::GetReadyState.
2018-11-24 17:22:59 +01:00
Christoph Oelckers
bd84a60663
- scriptified the rest of the morph code.
2018-11-24 10:47:42 +01:00
Christoph Oelckers
ac1bffc51b
- scriptified P_MorphMonster.
2018-11-24 09:33:03 +01:00
Christoph Oelckers
3ed7f4066d
- fixed message output.
2018-11-24 08:41:07 +01:00
Christoph Oelckers
cce1bad042
- testing and cleanup of scripted morph code.
2018-11-24 08:39:35 +01:00
Christoph Oelckers
78d6832d14
- P_UndoPlayerMorph scriptified.
...
Not tested yet and still missing a new native interface.
2018-11-24 08:17:30 +01:00
Christoph Oelckers
192104aea2
- scriptified P_MorphPlayer and dependencies.
...
It still needs its counterpart scriptified as well before it can work.
2018-11-24 07:45:49 +01:00
Christoph Oelckers
a5ee673c91
- exported ADecal to ZScript as a non-native class.
...
Its one function is still native but this was by far the easiest of the remaining actor classes to export.
2018-11-19 17:54:38 +01:00
ZZYZX
a276ebfb08
Exported destructible geometry to ZScript
2018-11-07 00:12:37 +01:00
ZZYZX
d85e5afdfb
Destructible geometry - minor fixes and 3D floor support
2018-11-07 00:12:37 +01:00
ZZYZX
b911bbc424
Single commit - destructible geometry feature
2018-10-31 17:22:09 +01:00
Marrub
0b460ccb03
Squashed commit of the following:
...
commit 767e3a64f0d5fd27ef56de6e93221e9b2016a0c7
Author: Marrub <marrub.xz@gmail.com>
Date: Tue Oct 30 04:01:09 2018 -0400
ProMessage -> PronounMessage
commit 305477f63fb669f8cf2d9f6d609ed3988f437664
Author: Marrub <marrub.xz@gmail.com>
Date: Mon Oct 29 23:56:58 2018 -0400
improve variable naming
commit f3f0245d0cdcc1b0a8a9b74806bc8954be747f40
Author: Marrub <marrub.xz@gmail.com>
Date: Mon Oct 29 19:52:32 2018 -0400
add "neutral" gender option and better obit formatting
2018-10-30 21:42:09 +01:00
player701
eee0946bc5
- Fixed indentation
2018-10-14 00:52:00 +02:00
player701
6dc026895c
- Exported PickNewWeapon function from PlayerPawn to ZScript.
2018-10-14 00:52:00 +02:00
argv-minus-one
ce1aa7e962
Move RandomSpawner's random selection logic into a virtual method.
...
With this, one can use its self-replacement code (which copies a bunch of its state into the replacement actor, and monitors for boss death if appropriate), but select the replacement class based on some other criteria (map number, the player's RPG stats, the player's class, etc).
2018-07-09 17:50:55 +02:00
argv-minus-one
6239796b92
Move RandomSpawner's recursion check into PostBeginPlay.
...
Previously, a RandomSpawner with infinite recursion would hang the game, because the recursion check was happening before the recursion counter (bouncecount) was set.
2018-07-09 17:50:55 +02:00
Alexander
97aba0c416
add tags for Doom and Heretic monsters
...
Why? So mods that reveal enemy names don't show internal monster class names.
Tags are based on language.enu lump:
- Tags for Doom/Doom 2 monsters are referring directly to CC_* strings.
- Tags for Heretic monsters are based on obituaries.
- All tags match corresponding obituaries.
2018-06-27 21:04:00 +02:00
alexey.lysiuk
c8eefd84fa
Enabled playing of *gasp sound by default
...
https://forum.zdoom.org/viewtopic.php?t=60361
2018-04-27 11:04:21 +03:00
Christoph Oelckers
1648fc6a07
Fixed initialization issues with dynamic lights.
...
Actors get initialized from their defaults so anything done in the constructor or some explicit member initialization will be overwritten.
They must use their properties for setting up configurable fields and do the rest in BeginPlay.
2018-04-25 09:14:01 +02:00
alexey.lysiuk
84e9017a5f
Fixed infinite loop with zero height fast projectile
...
https://forum.zdoom.org/viewtopic.php?t=60019
2018-03-30 12:49:35 +03:00
alexey.lysiuk
a6738fd139
Fixed infinite loop with None class in random spawner
...
actor NoneSpawner : RandomSpawner
{
DropItem "None"
}
https://forum.zdoom.org/viewtopic.php?t=60027
2018-03-30 10:44:42 +03:00
Christoph Oelckers
3a3cd87ce0
- perform the stepping adjustment for FastProjectiles in 3D.
...
Not checking the z-Axis means that they might pass through 3D floors without noticing at steep angles and very high speeds.
2018-02-28 18:26:25 +01:00
alexey.lysiuk
af7648a151
Made PlayerRespawn skill definition consistent
...
Now it works the same as AllowRespawn map definition in MAPINFO
2018-02-03 16:26:49 +02:00
Christoph Oelckers
dbf0a68b02
Merge commit '67e3106254e987f5acb9534e725d4f5c3eaa82b2'
...
# Conflicts:
# src/doomdata.h
# src/namedef.h
# src/p_udmf.cpp
2018-01-20 19:07:54 +01:00
alexey.lysiuk
d9ddd50c98
Disabled interpolation point "thinking"
...
https://forum.zdoom.org/viewtopic.php?t=59087
2018-01-12 18:27:19 +02:00
alexey.lysiuk
16333320d0
Fixed transfer of count secret flag from random spawner
...
https://forum.zdoom.org/viewtopic.php?t=59013
2018-01-06 17:48:49 +02:00
Jonathan Russell
acf83c2a74
- fixing the last commit...
2018-01-04 23:13:14 +00:00
Jonathan Russell
254501d3e8
- fixing last commit, which didn't seem to work correctly
2018-01-04 23:09:48 +00:00
Jonathan Russell
7f7c720883
- added UDMF properties for spotlights (args have all been used up for dynlights)
2018-01-04 22:41:57 +00:00
Magnus Norddahl
5f36b86013
- Add dynamic spot lights
2018-01-04 17:58:11 +01:00
alexey.lysiuk
aacdc3546c
Fixed take ammo cheat
...
https://forum.zdoom.org/viewtopic.php?t=58854
2017-12-24 11:00:02 +02:00
alexey.lysiuk
acc943329b
Added null check for probe in SectorAction.OnDestroy()
...
Absence of check led to unhandled VM abort exception in case of saved game failed to load
2017-12-10 14:35:30 +02:00
Rachael Alexanderson
66773b6a1a
- added 'classicflight' user cvar which allows players to move forward and backward without pitch when flying
2017-10-23 12:16:02 -04:00
alexey.lysiuk
69e7bb57d4
Fixed VM abort with null activator for SecretTrigger object
...
https://forum.zdoom.org/viewtopic.php?t=57612
2017-08-19 11:19:29 +03:00
Christoph Oelckers
4483d665d4
- fixed: FastProjectile's movement code was missong a portal check.
2017-08-12 13:58:16 +02:00
Christoph Oelckers
7cbf45d76d
- let PlayerPawn.ForwardThrust use its angle parameter.
2017-08-12 12:35:01 +02:00
Christoph Oelckers
a6b7ce00c2
- made DropItem fully read-only by changing the two places which messed around with DropItem.Amount to use a local variable instead.
...
The pointers themselves should have been declared read-only from the start but for that it is too late, so now all its members are.
2017-06-21 11:39:59 +02:00
Christoph Oelckers
3b024c347b
- use a dedicated flag word for the dynamic light flags instead of piggybacking on some flags4 bits.
2017-06-18 10:15:31 +02:00
alexey.lysiuk
8a300b99e9
Fixed interpolation points chaining
...
Ambush flag cannot be used for marking visited points because HandleSpawnFlags() is no longer virtual
See E1M4 from Rise Of The Wool Ball v1.1 as example of broken chain
2017-06-10 15:50:44 +03:00
Rachael Alexanderson
11741846c6
- fixed: missed the teleport fog
2017-06-04 12:30:35 +02:00
Christoph Oelckers
4388d97db6
- PlayerPawn.PlayerThink needs to consider the possibility of the player getting unmorphed and must call any function after a potential unmorph through 'player.mo' instead of 'self'.
2017-05-20 20:56:43 +02:00
alexey.lysiuk
60fe34349e
Fixed applying of speed factor to player
...
Part of https://forum.zdoom.org/viewtopic.php?t=56333
2017-05-08 16:54:22 +03:00
Christoph Oelckers
ce0547aacb
- fixed: The player speed factor was only retrieved from the topmost item in the inventory.
2017-05-06 10:58:16 +02:00
Christoph Oelckers
b84f7bcada
- scriptified the weapon firing logic.
2017-05-01 01:55:35 +02:00
Christoph Oelckers
abee2805cb
- the last scriptified bits of P_PlayerThink.
2017-05-01 00:27:58 +02:00
Christoph Oelckers
6e25c34fda
- more player code exported
2017-04-30 22:17:51 +02:00
Christoph Oelckers
10deb5ce56
- exported P_PlayerThink to ZScript.
2017-04-30 22:17:50 +02:00
Christoph Oelckers
1ee9256842
- did a complete workover of the weapon sprite translucency code that got inherited from QZDoom.
...
This was very poorly done without ever addressing the issues a composite render style can bring, it merely dealt with the known legacy render styles.
The same, identical code was also present in two different places.
The oversight that AlterWeaponSprite overrode even forced styles was also fixed.
OpenGL is not implemented yet but with the problems eliminated should be doable now.
2017-04-15 16:41:00 +02:00
Christoph Oelckers
0ebf4958b9
- fixed pitch calculation for camera actors. For compatibility with Hexen format they need to treat the pitch arg as a signed byte.
2017-04-15 00:48:22 +02:00
Christoph Oelckers
5935dc706d
- prevent infinite recursion in PlayerPawn.GetObituary when the inflictor is the same as the origin for the kill.
2017-04-09 00:06:23 +02:00
Christoph Oelckers
7011010ff2
- fixed the drain callback.
...
- changed the effect spawn prevention of the Hexen flame strike weapon and reverted the attempt to fix this in FastProjectile.
This cannot be fixed in the base class, which was doing everything right. It's the flame missile that was doing undefined things by stopping its movement without clearing its missile flag. This cannot work because missiles are given some minimal forced velocity to ensure collision detection and any attempt to address this without clearing the missile flag is doomed to fail.
2017-03-29 22:50:13 +02:00
Christoph Oelckers
bdf761e457
- moved th player resurrection code into a player_t method.
2017-03-28 21:29:14 +02:00
Christoph Oelckers
e791c957d9
- implemented the regular Doom status bar.
...
The DOOM status bar and HUD are complete, except the inventory bar.
2017-03-26 22:04:58 +02:00
Christoph Oelckers
488fface50
- started port of Doom status bar to ZScript.
...
Fullscreen HUD done with the exception of key and inventory bar. I also used the opportunity to make it a bit more resistant against badly designed inventory icons.
2017-03-25 21:40:17 +01:00
Christoph Oelckers
9bffe4ee50
- scriptified the main statusbar interface and the Strife status bar.
...
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.
Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Christoph Oelckers
2c789a2d75
- looks like the last commit missed a few files.
2017-03-19 11:35:24 +01:00
Christoph Oelckers
a2f2be17ef
- status screen fully scriptified but not active yet.
2017-03-18 19:35:26 +01:00
Christoph Oelckers
745b96beec
- made the status screen a class and scriptified a few more functions.
2017-03-18 15:45:36 +01:00
Christoph Oelckers
5fd86cf98c
- added some syntactic help to the ZScript parser to allow defining the arrays with native structs on the script side instead of having to define them internally.
2017-03-13 12:51:09 +01:00
Rachael Alexanderson
527a172fcd
Merge https://github.com/coelckers/gzdoom
2017-03-07 22:03:56 -05:00
Christoph Oelckers
7ce8009576
- made several read-only actor functions accessible to UI code.
2017-03-07 18:59:48 +01:00
Rachael Alexanderson
b8b5360de1
Merge https://github.com/coelckers/gzdoom
2017-03-04 07:28:02 -05:00
Christoph Oelckers
4c5794b6d5
- made GetObituary non-constant.
...
This gets only called from within the play code and making it const would block potential use cases that involve changing some internal variables like counters.
2017-03-04 12:11:56 +01:00
Christoph Oelckers
b3ba5bfe2c
- allow 'const' on class functions. This is preferable to 'clearscope' so that the UI code can call getter functions without having to declare things as 'clearscope'.
...
Clearscope is a dangerous context and should be limited to the minimum extent possible and preferably be blocked in user code.
This may still need some work on const functions but better have it in now.
2017-03-04 12:07:45 +01:00
ZZYZX
c9a994a885
Fixed: clearscope should also clear the inherited scope (through struct member access chain); Fixed: struct member access chain should ONLY work for structs (forgot that FxClassMember inherits FxStructMember)
2017-03-04 00:04:19 +02:00
Rachael Alexanderson
b3a69e1df8
Merge https://github.com/coelckers/gzdoom
2017-03-02 18:13:33 -05:00
Christoph Oelckers
b194ba205a
- backported Zandronum's MaxHealth base class for the MaxHealthBonus item.
2017-03-02 11:39:52 +01:00
Rachael Alexanderson
d6169ea75e
Merge https://github.com/coelckers/gzdoom
2017-02-28 18:55:17 -05:00
Christoph Oelckers
cb295e0441
- added parameter to PLayerPawn::GetMaxHealth to return the real maximum health, including stamina upgrades.
2017-03-01 00:04:17 +01:00
Christoph Oelckers
314a642527
Merge branch 'meta'
2017-02-28 14:47:00 +01:00
nashmuhandes
bb1709228c
Changed FOV from a CCMD to a CVar, allowing players' FOV settings to persist. Also exported SetFOV to PlayerInfo for ZScript.
2017-02-28 14:46:30 +01:00
Christoph Oelckers
bc0ffc4185
- removed access to the PlayerPawn's DisplayName variable. This one has implicit semantics, so wherever a displayable name is needed GetPrintableDisplayName should be called instead to allow later refactoring of the internal handling.
2017-02-28 14:33:46 +01:00
Christoph Oelckers
fc125f7eaf
- reworked the obituary system to use scripted virtual overrides. Let's hope this solves the problems with the original code, now that any actor needing special treatment can override it.
2017-02-28 14:30:14 +01:00
Christoph Oelckers
a93a7e1cac
- handle player meta properties.
...
Only two really make sense, the rest is never used from scripts and may just remain where it was.
2017-02-28 01:23:12 +01:00
Rachael Alexanderson
65122ed19e
Merge https://github.com/coelckers/gzdoom
2017-02-18 00:18:45 -05:00
Christoph Oelckers
5f1241a55c
- scriptified the rest of the player menu. This compiles and runs but doesn't work yet, it will be fixed in the next commit.
2017-02-18 01:20:07 +01:00
Christoph Oelckers
50d2846e40
- scriptified UpdateColorsets.
2017-02-17 23:16:07 +01:00
Christoph Oelckers
97eed1e6df
- scriptified UpdateSkins.
2017-02-17 22:12:56 +01:00
Christoph Oelckers
498da825a5
- made the Skins array scripting friendly and exported it.
2017-02-17 21:51:23 +01:00
Christoph Oelckers
b375657509
- scriptified DPlayerMenu::SkinChanged.
2017-02-17 20:49:04 +01:00
Christoph Oelckers
f4e9cd0009
- scriptified DPlayerMenu::MouseEvent.
2017-02-17 18:21:59 +01:00
Rachael Alexanderson
ef22d10756
Merge https://github.com/coelckers/gzdoom
2017-02-15 20:08:21 -05:00
Christoph Oelckers
4df2a221a8
- fixed: The special called by the InterpolationSpecial actor must have no activator.
...
This required splitting A_CallSpecial into a direct wrapper around P_ExecuteSpecial and implementing itself as a script function calling ExecuteSpecial so that this special case can use a version of the function that can be used without an activator.
2017-02-15 22:49:13 +01:00
Rachael Alexanderson
5dad292c56
Merge remote-tracking branch 'remotes/gzdoom/master'
2017-02-15 05:43:15 -05:00
Christoph Oelckers
3170591e32
- restated some weird number manipulation in SBARINFO for powerup time. This appears to be needed to distinguish between non-expiring items and non-present items.
2017-02-14 22:04:52 +01:00
Rachael Alexanderson
8c176575c8
Merge https://github.com/coelckers/gzdoom
2017-02-12 21:39:20 -05:00
Christoph Oelckers
947b625c50
- all menu items scriptified, but not yet active.
2017-02-11 16:11:48 +01:00
Rachael Alexanderson
5948c7b0da
Merge https://github.com/coelckers/gzdoom
2017-02-08 18:42:24 -05:00
Christoph Oelckers
2ca0e34785
- turned many of PClassPlayerPawn's strings into names and moved all scalar properties into APlayerPawn.
...
The goal is to get rid of PClassPlayerPawn and PClassInventory so that the old assumption that all actor class descriptors have the same size can be restored
This is important to remove some code that seriously blocks optimization of the type table because that can only be done if types do not need to be replaced.
2017-02-08 16:42:13 +01:00
Rachael Alexanderson
d760b5070a
Merge https://github.com/coelckers/gzdoom
2017-02-07 02:23:48 -05:00
Christoph Oelckers
dae6230f76
- fixed: Since the FastProjectile does not perform a velocity underflow check it must use an approximate comparison when deciding whether to call the Effect method.
2017-02-07 00:39:46 +01:00
Rachael Alexanderson
ebb8da563a
Merge https://github.com/coelckers/gzdoom
2017-02-04 02:56:18 -05:00
Christoph Oelckers
075cce98c4
- fixed: PlayerPawn.GetEffectTicsForItem read the duration from the wrong actor.
2017-02-03 10:41:38 +01:00
Rachael Alexanderson
4e45ea2300
Merge https://github.com/coelckers/gzdoom
2017-01-31 23:04:56 -05:00