Christoph Oelckers
099b9970ef
- added proper definitions for all exported native fields.
...
- synthesize native fields for all declared flags, not just for AActor.
2016-11-22 23:43:32 +01:00
Christoph Oelckers
980c986305
- allow defining native fields through scripts. Internally this only requires exporting the address, but not the entire field.
...
- added new VARF_Transient flag so that the decision whether to serialize a field does not depend solely on its native status. It may actually make a lot of sense to use the auto-serializer for native fields, too, as this would eliminate a lot of maintenance code.
- defined (u)int8/16 as aliases to the byte and short types (Can't we not just get rid of this naming convention already...?)
- exporting the fields of Actor revealed a few name clashes between them and some global types, so Actor.Sector was renamed to CurSector and Actor.Inventory was renamed to Actor.Inv.
2016-11-22 19:20:31 +01:00
Christoph Oelckers
bbb0778fd4
- scriptified Chicken and Pig - not tested yet, because other things have priority.
2016-11-22 12:21:55 +01:00
Christoph Oelckers
6cc00e79a6
- made all internal struct types NativeStructs so that all variables of their types are made references.
2016-11-21 19:20:27 +01:00
Christoph Oelckers
97763b5a2b
- added scriptable virtual overrides for PostBeginPlay, Tick, BeginPlay, Activate and Deactivate.
2016-11-21 14:59:17 +01:00
Christoph Oelckers
d50da34664
- scriptified the pistol to test if struct member functions work.
...
- made APlayerPawn::PlayAttacking(2) virtual script functions so that mods have better control over player animations. Note that these have no native base so they skip the templated interface for managing virtual functions.
2016-11-19 13:56:29 +01:00
Christoph Oelckers
8650d6806e
- script export of player_t.
...
- replaced __alignof with the standard alignof equivalent.
2016-11-18 00:42:04 +01:00
Christoph Oelckers
d86f03e2e0
- reverted most of the last commit after realizing that trying to manage constructing/destructing per variable is not going to work because it'd require some extensive exception management in the compiled VM code.
...
- instead add a list of SpecialInits to VMScriptFunction so this can be done transparently when setting up and popping the stack frame. The only drawback is that this requires permanent allocation of stack objects for the entire lifetime of a function but this is a relatively small tradeoff for significantly reduced maintenance work throughout.
- removed most #include "vm.h", because nearly all files already pull this in through dobject.h.
2016-11-17 13:10:19 +01:00
Christoph Oelckers
633da6e5d8
- scriptified two of the Acolyte's functions.
...
- added a DActorIterator class.
- fixed: It was not possible to have functions of the same name in two different classes because the name they were searched for was not qualified by the class. Changed so that the class name is included now, but to avoid renaming several hundreds of functions all at once, if the search fails, it will repeat with 'Actor' as class name.
This commit contains preparations for scriptifying Hexen's Dragon, but that doesn't work yet so it's not included.
2016-11-16 01:36:21 +01:00
Christoph Oelckers
696af7d7e5
- Moved all virtual function related template code to its own file because it depends on includes that cannot be done in dobject.h.
2016-11-12 00:33:40 +01:00
Leonard2
fb2a843c03
Test on a few methods/classes
2016-11-09 17:45:56 +01:00
Leonard2
7dbc4710f1
Add the new argument to all uses of the implement macro
2016-11-09 17:45:55 +01:00
Leonard2
bb2d61de50
Replaced the many implement macros with a single one that takes arguments instead
2016-11-09 17:45:53 +01:00
Leonard2
0b3585c83f
Separate the pointer list from the implement macro
2016-11-09 17:45:52 +01:00
Christoph Oelckers
272dff6b8f
Merge branch 'master' into zscript
2016-11-05 10:35:00 +01:00
Magnus Norddahl
484e1b56be
Merge remote-tracking branch 'origin/new_wallscan' into qzdoom
2016-11-05 04:49:54 +01:00
Christoph Oelckers
540f20882e
- fixed: Degeneration should use the same base health value as all the rest of the engine.
...
- also replaced deh.MaxHealth in the bot code which was the only other remaining case where this was used as health limiter.
2016-11-04 11:32:57 +01:00
Christoph Oelckers
286f9510d4
- got rid of all default parameter redundancies.
...
- scriptified a few more functions.
2016-10-28 00:32:52 +02:00
Christoph Oelckers
34a07d4bd6
Merge branch 'master' of https://github.com/rheit/zdoom into zscript
2016-10-25 09:29:12 +02:00
Rachael Alexanderson
623910bd2a
- Putting the CVAR definition right in the middle of prediction stuff probably wasn't the best idea.
2016-10-25 09:25:57 +02:00
Rachael Alexanderson
043e761eec
- Implemented sv_singleplayerrespawn
2016-10-25 09:25:56 +02:00
Rachael Alexanderson
4934fc5070
- Removed duplicate definition from ZDoom merge
2016-10-23 08:19:29 -04:00
Rachael Alexanderson
7d174e6b3e
Merge ../zdoom
2016-10-23 08:17:28 -04:00
Rachael Alexanderson
1e9d3b1917
- Putting the CVAR definition right in the middle of prediction stuff probably wasn't the best idea.
2016-10-23 08:14:54 -04:00
Rachael Alexanderson
a39807eb9a
- Implemented sv_singleplayerrespawn
2016-10-23 06:10:24 -04:00
Rachael Alexanderson
edf2556ea3
- Implemented sv_singleplayerrespawn
2016-10-23 06:06:59 -04:00
Christoph Oelckers
371712c53a
- turned everything I could into non-action functions.
...
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
2016-10-22 17:49:08 +02:00
raa-eruanna
9cf9cc1318
Merge http://github.com/rheit/zdoom
...
# Conflicts:
# wadsrc/static/language.enu
2016-10-21 13:37:12 -04:00
Christoph Oelckers
3b0b0baf05
Merge branch 'master' of https://github.com/rheit/zdoom into zscript
...
# Conflicts:
# wadsrc/static/actors/shared/player.txt
2016-10-21 19:31:08 +02:00
nashmuhandes
21b690a3c7
Fixed: Player.ViewBob should be multiplying the bobbing height in P_CalcHeight, not the velocity of the bobbing.
...
This mimics the act of the user altering their movebob CVar to compensate for non-standard player movement speeds.
2016-10-21 19:24:39 +02:00
raa-eruanna
e0efdd97b3
- Added: PlayerPawn property "Player.ViewBob" which acts as a MoveBob/StillBob multiplier.
2016-10-21 19:24:39 +02:00
Christoph Oelckers
b1a83bfd26
- started with cleanup and separation of DECORATE code.
...
* everything related to scripting is now placed in a subdirectory 'scripting', which itself is separated into DECORATE, ZSCRIPT, the VM and code generation.
* a few items have been moved to different headers so that the DECORATE parser definitions can mostly be kept local. The only exception at the moment is the flags interface on which 3 source files depend.
2016-10-12 19:22:33 +02:00
raa-eruanna
1fab0cc514
- Added: PlayerPawn property "Player.ViewBob" which acts as a MoveBob/StillBob multiplier.
2016-10-10 01:35:47 -04:00
Christoph Oelckers
f93e4813d1
- removed farchive.cpp and .h
2016-09-22 00:48:22 +02:00
Christoph Oelckers
da83d9e2bd
- converted player serializer and everything it needs.
...
This means that everything belonging to the level snapshot will be generated in the JSON output.
2016-09-21 01:18:29 +02:00
Christoph Oelckers
42e38f6cc1
- more cleanup to reduce references to FArchive.
2016-09-20 10:59:48 +02:00
Christoph Oelckers
af6404f763
- all DObjects converted.
...
- cleaned out some old cruft that's no longer needed.
2016-09-20 10:27:53 +02:00
Christoph Oelckers
88eab9d1f9
- And another batch of serializers.
2016-09-19 15:07:53 +02:00
Christoph Oelckers
d24aa5dec9
- reformatting for easier search.
2016-09-19 10:47:59 +02:00
Christoph Oelckers
e04055dbb2
- added multiple message levels for 'developer' CVAR so that the important stuff won't get drowned in pointless notification spam that's of no use to anyone.
...
- made 'developer' CVAR persist across launches and added some menu entries for it.
- added checks for 'developer' to ACS's CheckInventory function.
2016-08-28 09:55:04 +02:00
MajorCooke
c9f4620702
Reimplemented P_SetPsprite.
2016-06-16 07:24:00 -05:00
Leonard2
e1f139ddcd
The targeter layers now use a proper Caller
...
This will avoid having to check for certain stuff and also allow them to not be destroyed when the ReadyWeapon is null like before
2016-06-03 00:50:10 +02:00
Leonard2
8244d2c844
Make sure never to call GetPSprite when the ReadyWeapon is null
2016-06-03 00:37:55 +02:00
Leonard2
f14a840777
The ReadyWeapon is now assumed to not be null
2016-06-03 00:37:54 +02:00
Leonard2
8668719bbc
Revert "- re-added P_SetPSrite."
...
This reverts commit e6d89b9f71 .
2016-06-02 20:02:03 +02:00
Leonard2
360ad7a844
Replaced every remaining instances of the old layer names
2016-05-28 01:19:42 +02:00
Leonard2
2f5ae3b51e
Changed the default layer indices and renamed them
...
Note that this doesn't compile yet
2016-05-28 01:19:41 +02:00
Leonard2
c82620129c
Added A_OverlayFlags
...
Allows psprites to follow the weapon and/or the player's bobbing
2016-05-28 01:19:40 +02:00
Christoph Oelckers
e6d89b9f71
- re-added P_SetPSprite.
...
For debugging purposes it's better to have this as a function.
2016-05-24 13:05:43 +02:00
Leonard2
1966b61b8f
Generalized the psprites implementation
2016-05-20 17:04:44 +02:00