Commit graph

76 commits

Author SHA1 Message Date
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
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
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
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
3ea27cd996 Merge https://github.com/coelckers/gzdoom 2017-01-23 22:12:55 -05:00
Christoph Oelckers
17ed23bfcc - don't read the full height of a player from the defaults, because that cannot be changed by A_SetHeight.
Instead a new member, FullHeight is used for this now.
2017-01-24 00:12:06 +01:00
Rachael Alexanderson
8a198591f4 Merge https://github.com/coelckers/gzdoom 2017-01-19 11:58:53 -05:00
Christoph Oelckers
19b1c10ba8 - scriptified a large part of the weapon code. 2017-01-19 17:40:34 +01:00
Christoph Oelckers
6d3b26f94c - scriptified the WeaponGiver. 2017-01-19 14:00:00 +01:00
Christoph Oelckers
42f3ccc602 - scriptified a few parts of p_pspr.cpp.
- added a speed parameter to A_Lower and A_Raise in the process.
2017-01-19 13:26:46 +01:00
Rachael Alexanderson
9333ce1888 Merge https://github.com/coelckers/gzdoom 2017-01-18 21:15:08 -05:00
Christoph Oelckers
2dd6fb9595 - scriptified BasicArmorBonus. 2017-01-18 20:23:13 +01:00
Magnus Norddahl
53a79ca215 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_things.cpp
2017-01-18 04:09:16 +01:00
Christoph Oelckers
ade9e4c3da - implemented processing of multiple return values in script functions. 2017-01-18 01:27:50 +01:00
Christoph Oelckers
232b64d332 - eliminated the native PowerupGiver class.
- scriptified the respawn invulnerability code into a virtual OnRespawn function for PlayerPawn so that custom effects can be implemented.
2017-01-18 00:11:04 +01:00