Commit Graph

10137 Commits

Author SHA1 Message Date
Christoph Oelckers 7c6542e595 - partial scriptification of AInventory.
- scriptification of CustomInventory.
2017-01-19 19:14:22 +01:00
Christoph Oelckers 19b1c10ba8 - scriptified a large part of the weapon code. 2017-01-19 17:40:34 +01:00
Rachael Alexanderson 3b55406302 - fixed: Remove ccmd now no longer removes owned inventory objects (that's what the "take" ccmd is for) 2017-01-19 14:01:12 +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
alexey.lysiuk 0376c8ba24 Removed no longer present file from CMakeLists.txt 2017-01-19 10:08:00 +02:00
Christoph Oelckers 9f550941d2 - fixed loop ordering in P_SetRenderSector. 2017-01-19 01:39:05 +01:00
Christoph Oelckers 8256f25a84 - no need to keep AArmor native, now that all child classes have been scriptified. 2017-01-18 23:46:19 +01:00
Christoph Oelckers 632a29e365 - scriptified HexenArmor. 2017-01-18 23:42:08 +01:00
Christoph Oelckers 2fcffd1fc1 - removed the remaining native parts of ABasicArmor.
- simplified some FindInventory calls using PClass::FindActor to call the variant taking a name directly.
2017-01-18 22:57:47 +01:00
Christoph Oelckers 3148496f57 - scriptified BasicArmor and fixed a few errors in the conversion. 2017-01-18 22:15:48 +01:00
Christoph Oelckers 2dd6fb9595 - scriptified BasicArmorBonus. 2017-01-18 20:23:13 +01:00
Christoph Oelckers 87b9b6111d - scriptified the BeginPlay methods of the VavoomLight classes.
- moved m_Radius back to arg[3] and arg[4], so that scripts have access to light sizes again.
2017-01-18 19:10:25 +01:00
Christoph Oelckers 1ce7b80158 - scriptified the rest of the weapon pieces. 2017-01-18 18:46:24 +01:00
Christoph Oelckers 30a8541a15 - scriptified the weapon piece functions.
- fixed: ClearInventory did not process depleted items properly.
- changed HexenArmor from UNDROPPABLE to UNTOSSABLE because this allowed to remove some special handling in ClearInventory. The only other place which checks this flag also checks UNTOSSABLE.
2017-01-18 17:26:12 +01:00
Christoph Oelckers d8acf774a6 - scriptified the remains of AKey.
- replaced Key.KeyNumber with special1. This is only for internal bookkeeping purposes so there's really no need to complicate this with a new variable when this one works just as well.
2017-01-18 15:17:12 +01:00
Christoph Oelckers d9fd2d509f - scriptified the remains of AAmmo. 2017-01-18 14:18:17 +01:00
Christoph Oelckers cfdd580044 - deleted a_artifacts files. 2017-01-18 10:44:51 +01:00
Christoph Oelckers 534b2ebbfb - scriptified the remains of APowerup.
- ensure that actor defaults contain a valid virtual table and class pointer so that they can actually use virtual and class-dependent method functions. This is needed for retrieving script variables from them.
2017-01-18 10:33:03 +01:00
Christoph Oelckers b41d4d9f84 - initialize variable to make Valgrind happy. 2017-01-18 01:53:15 +01:00
Christoph Oelckers 207f81cc37 - fixed: There was a temporarily commented out piece of code about the Sigil which I forgot to reinstate after making some changes. 2017-01-18 01:45:02 +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
Christoph Oelckers 98f9219334 - scriptified the remaining functions in a_artifacts.cpp.
- added some helpers to set scripted member variables through the native property parser.

Unfortunately some classes, e.g. PowerMorph, MorphProjectile and the powerup contain some that cannot be handled through the 'property' definition on the script side so they need to be done from the native side.
2017-01-17 20:30:17 +01:00
Christoph Oelckers 14f2c39e58 - scriptified cht_Give and cht_Take and made them virtual function of PlayerPawn so that this can be better configured for mods that want other options in here.
- improved the class pointer to string cast to print the actual type it describes and not the class pointer's own type.
- fixed: The 'is' operator created non-working code when checking the inheritance of a class pointer, it only worked for objects.
2017-01-17 17:34:39 +01:00
Christoph Oelckers 75d3f42d4f - scriptified APowerup. 2017-01-17 17:34:07 +01:00
Edoardo Prezioso 0da1142bdb - Run libsndfile before libmpg123 when reading an audio lump.
libmpg123 spews quite a lot of debug stuff in stdout when encountering files like WAV or Ogg Vorbis, while libsndfile is silent when encountering an MP3 file.
2017-01-17 16:47:37 +01:00
alexey.lysiuk c4aaeef6b1 Removed homebrew MP3 format detection
It didn't work for all files so let libmpg123 handle all quirks for us
See https://mantis.zdoom.org/view.php?id=60
2017-01-17 11:26:51 +02:00
Edoardo Prezioso c317a4cbf3 - Fixed: wrong FString 'Replace' action function.
The function replaced only the first character of the first argument with the first character of the second argument.
2017-01-17 10:00:35 +01:00
Edoardo Prezioso bfb7b82bcc - Fixed uninitialized data for libsndfile.
According to the API docs, when opening a file for read, SF_INFO::format must be set to 0.
Discovered with Valgrind while running Deus Vult 2 map01.
2017-01-17 00:21:27 +01:00
Christoph Oelckers 8f6571241d - scriptified AÜpwerInvulnerable. 2017-01-16 23:45:25 +01:00
Christoph Oelckers 6990a46daf - scriptified PowerStrength.
This revealed an interesting bug: When the berserk fadout formula was changed in 2005 the result was essentially broken, resulting in values around 7000 - it only worked by happenstance because the lower 8 bits of the resulting values just happened to work to some degree and never overflowed. But the resulting fade was far too weak and a slightly different handling of the color composition code for the VM made it break down entirely.
This restores the pre-2005 formula but weakened intensity which now comes a lot closer to how it is supposed to look.
2017-01-16 22:27:49 +01:00
Christoph Oelckers c5f100a61d - fixed class name checks for custom properties. 2017-01-16 20:44:52 +01:00
Christoph Oelckers d3ab691afb - scriptified APowerInvisibility.
- changed AlterWeaponSprite so that it doesn't expose renderer internals to the script code.
2017-01-16 20:34:12 +01:00
Rachael Alexanderson a5edd421bd - Added Deejay's par times for Thy Flesh Consumed 2017-01-16 19:17:22 +01:00
Christoph Oelckers 616f954153 - scriptified PowerIronFeet and PowerMask. 2017-01-16 19:04:03 +01:00
Christoph Oelckers 65b7e344f7 - added custom property parsing to DECORATE as well. 2017-01-16 10:36:56 +01:00
Christoph Oelckers cd1d96b83a - fixed compilation. 2017-01-16 10:36:56 +01:00
Christoph Oelckers cd0d17dbd5 - made AbsorbDamage work iteratively to avoid large stack use in the VM. 2017-01-16 10:36:56 +01:00
Braden Obrzut ae7b95fc52 - There are more DYN options than just fluidsynth so unconditionally use CMAKE_DL_LIBS. 2017-01-16 02:19:03 -05:00
Christoph Oelckers d207b571d9 - scriptified PowerLightAmp and PowerTorch.
- allow calling qualified super methods so skipping some levels is possible.
2017-01-16 00:46:15 +01:00
Christoph Oelckers d2d6e5d486 - scriptified PowerFlight and PowerWeaponLevel2. 2017-01-15 23:21:38 +01:00
Christoph Oelckers 4837e1e770 - partially scriptified APowerSpeed. 2017-01-15 20:58:52 +01:00
Christoph Oelckers 7503937a84 - scriptified PowerTargeter. 2017-01-15 19:44:43 +01:00
Christoph Oelckers bf52ce19e4 - fixed: AActor::ClearInventory should respect IF_KEEPDEPLETED for all items. 2017-01-15 18:58:17 +01:00
Christoph Oelckers 03c7b10fd6 - fully scriptified HealthPickup. 2017-01-15 18:46:40 +01:00
Christoph Oelckers 156f9c488e - added script variable access for native code so that many more classes can be fully exported. Tested with the puzzle items. 2017-01-15 18:16:36 +01:00
Christoph Oelckers 179b6e1a39 - added property definitions to the ZScript parser. This will allow defining custom properties for the default block in custom base classes. See 'Health' for an example.
- support transient object member variables for information that does not need to be put in a savegame.
- fixed: special initialization of objects needs to pass the proper defaults along, otherwise the parent classes will use their own, inappropriate one.
2017-01-15 16:55:30 +01:00
Christoph Oelckers 0c3aab794f - corrections to license file. 2017-01-15 12:17:48 +01:00
Christoph Oelckers 267600826f - sxriptified key and puzzleitem base classes. 2017-01-15 10:37:54 +01:00