Commit Graph

10728 Commits

Author SHA1 Message Date
Christoph Oelckers 168627f549 - native meta variables are not needed anymore. They were only a temporary aid to properly handle this, but now all have been redone. 2017-02-28 14:38:50 +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 851984efe0 - made GetDeathHeight a virtual scripted function.
- made GetGibHealth a virtual scripted function.
- removed a few more native meta properties.
2017-02-28 13:40:46 +01:00
Christoph Oelckers d5250d6b9f - made WoundHealth modifiable to allow more control over the wound state. 2017-02-28 12:56:35 +01:00
Christoph Oelckers 2a4a5e7a70 - refactored a few more native meta properties. 2017-02-28 12:47:44 +01:00
Christoph Oelckers 1311f08f47 - scriptified Actor.GetBloodType as a virtual function to allow mods more flexibility here.
- made CameraHeight a modifiable actor property - it was readonly before.
- allow accessing the type constants from ZScript, this required quite a bit of explicit coding because the type system has no capabilities to search for basic types by name.
2017-02-28 12:11:25 +01:00
Christoph Oelckers b6a1fe7fc6 - scriptified the basic attack functions, its properties and the explosion properties to test the new metadata system. 2017-02-28 10:51:32 +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
Christoph Oelckers 4a87a598fb - do floatification of the UDMF Health property as it should have been. 2017-02-28 00:59:09 +01:00
Christoph Oelckers 78a66e001a - properly handle all meta properties for inventory items. 2017-02-28 00:45:16 +01:00
Christoph Oelckers f343d36ea9 - implemented the basics of a working metadata system.
This will store class meta properties in a separate memory block so that it won't have to muck around with PClass - which made the implementation from the scripting branch relatively useless because extending the data wasn't particularly easy and also not well implemented. This can now be handled just like the defaults.
2017-02-27 23:28:19 +01:00
Christoph Oelckers 3700dea336 Revert "- the UDMF health key for actors was not correctly implemented. This addresses the problem by adding a second one and documenting 'Health' as implemented."
This reverts commit e4e023e59a.

(This was nonsense.)
2017-02-27 22:05:20 +01:00
Christoph Oelckers d5d383ee93 - added Floor_Stop and Ceiling_Stop action specials. 2017-02-27 21:31:59 +01:00
Christoph Oelckers 1ff4016498 - added ACS math functions floor, ceil and round. 2017-02-27 20:42:12 +01:00
Christoph Oelckers e511f7f84b - added a damage type parameter to MDK CCMD. 2017-02-27 20:07:21 +01:00
Christoph Oelckers ac4074a69a - allow sprites and particles simultaneously for puffs. 2017-02-27 19:51:37 +01:00
Christoph Oelckers 321c846d01 - added StealthAlpha actor property for defining a minimum visibility value of a stealth monster. 2017-02-27 19:46:27 +01:00
Christoph Oelckers f82ab889b2 - added ACS strarg function which can convert a string into a string argument for ACS specials. 2017-02-27 18:44:58 +01:00
Christoph Oelckers 4bcbd5c011 - clear WF_WEAPONBOBBING in P_FireWeapon, because otherwise the first frame of the fire animation will be drawn in the current bobbing position and not centered. 2017-02-27 18:38:01 +01:00
Rachael Alexanderson e9364fccb8 - Fixed: voxels were not properly remapped after "restart" ccmd 2017-02-27 18:12:49 +01:00
Christoph Oelckers cc598dfdde - fixed: To get the final error handling from the serializer, Close must be called before the destructor gets invoked.
- added line feeds to all error messages in the serializer.
2017-02-27 15:16:03 +01:00
Christoph Oelckers 78538ed9ef - missed an else. 2017-02-27 14:53:39 +01:00
Christoph Oelckers f9f9f2d5fc - added selfdamagefactor actor property. 2017-02-27 11:22:51 +01:00
Christoph Oelckers e84a2899f9 - this needs one more check. 2017-02-27 10:52:29 +01:00
Christoph Oelckers 073e63ed04 - Added a check for all z-movement for floor huggers so that it doesn't skip all the height checks if +NODROPOFF is also given. 2017-02-27 10:50:21 +01:00
Christoph Oelckers 0c660ff29c - added an option to add elements to an existing options menu.
Note that for list menus this does not exist because they require complete setup to work as intended.
2017-02-27 10:37:47 +01:00
Christoph Oelckers 720e05d131 - fixed memory leak in DEM_NETEVENT.
- added handling for DEM_NETEVENT to SkipCommand.
- keep the data of DEM_NETEVENT at a fixed length to simplify handling.
2017-02-27 02:31:19 +01:00
Christoph Oelckers 3a5124e10e - fixed: TakeInventory needs to check for subclasses of PowerInfiniteAmmo. 2017-02-27 02:09:56 +01:00
Christoph Oelckers c7cf619ff4 - Caution: Wads.GetLumpName with a char pointer is stupid because it doesn't 0-terminate its return. 2017-02-27 01:58:21 +01:00
Christoph Oelckers 1e1194a669 - fixed: Dp mot strip the top level folder name in Zips if they only contain one entry or if the first entry isn't a directory. 2017-02-27 01:53:51 +01:00
Christoph Oelckers c8445703ac - added a workaround for the 'cannot split a seg' error in the node builder: In order to prevent all segs from ending up on the same side it will now force the bogus seg onto the other side of the node - regardless of whether this is correct or not, because the most important thing here is that the set of segs gets split to prevent the node builder from ending up in an endless recursion trying to split the same set of data and endlessly failing.
Note that this is not a fix, it's merely a countermeasure to avoid the crash in ZPack's E2M6 which this seems to achieve.
2017-02-27 01:41:27 +01:00
Christoph Oelckers 1ed2a0baf9 - fixed: The intermission screen did not show 'entering' for cluster-less maps. 2017-02-26 23:49:53 +01:00
Christoph Oelckers e4e023e59a - the UDMF health key for actors was not correctly implemented. This addresses the problem by adding a second one and documenting 'Health' as implemented.
- fixed: Several ZDoom-exclusive actor keys did not check the current namespace.
2017-02-26 23:21:56 +01:00
Christoph Oelckers 0514a997db - added a new argument to GlassBreak to allow it to spawn other types of debris than GlassJunk by passing a spawn ID. 2017-02-26 23:07:16 +01:00
Christoph Oelckers 8c30ca213d - allow loading of zips that have one root folder with all content contained within this folder. This top level's folder name will be stripped out from all file names, unless it is a special name that maps to a known namespace. 2017-02-26 22:55:36 +01:00
Christoph Oelckers f918a9d9a7 - added a BOUNCE_NotOnShootables flag that hopefully helps addressing the biggest glitch in the bouncing code. 2017-02-26 22:31:43 +01:00
Christoph Oelckers 80e9763d64 - added a NOMENU option for skills. 2017-02-26 22:10:35 +01:00
Christoph Oelckers 51b5b327ef - fixed constant names. 2017-02-26 21:38:08 +01:00
Christoph Oelckers 3d500f0495 - added default obituaries for damage types.
Note that this is only implemented for the new official way of doing this in MAPINFO, but not in DECORATE!
2017-02-26 21:36:06 +01:00
Christoph Oelckers f6dd99d3aa - added A_Morph function. 2017-02-26 21:20:47 +01:00
Christoph Oelckers 24a505ed36 - fixed: The internal and scripted morph flags did not match. 2017-02-26 21:10:53 +01:00
Christoph Oelckers 346ada76bc - allow blocking controller input in the menu. 2017-02-26 20:59:24 +01:00
Christoph Oelckers 8cac2d8c84 - added a NOATTACK sector flag which prevents monsters from going to their attack states if present. 2017-02-26 20:27:02 +01:00
Christoph Oelckers 9aff224891 - allow a link between the same sector's floor and ceiling. 2017-02-26 20:11:24 +01:00
Christoph Oelckers 0eebaf9f6b - allow nightmare respawn if the current state has the 'canraise' flag. 2017-02-26 20:06:16 +01:00
Christoph Oelckers 7a1f36bfb0 - added RF_DONTINTERPOLATE flag. 2017-02-26 20:01:39 +01:00
Christoph Oelckers 4d043f086e - missed a spot. 2017-02-26 19:41:39 +01:00
Christoph Oelckers 7267e608cf - added kickback factor skill property. 2017-02-26 19:37:25 +01:00
Christoph Oelckers b0eb19bbc8 - added an option to define untranslated fonts through FONTDEFS. Note that due to how the fonts work they cannot be colorized AT ALL! 2017-02-26 19:29:27 +01:00