Commit graph

131 commits

Author SHA1 Message Date
Boondorl
bcd6c6170e
Reapply "Improvements to death and cheat handling"
This reverts commit c7bba2a126.
2024-04-20 01:15:46 -04:00
Rachael Alexanderson
c7bba2a126
Revert "Improvements to death and cheat handling"
This reverts commit 3033fafaa7.

Revert "Improved ZScript interface for morphing"

This reverts commit 6c64a4403c.

Revert "Further morphing clean up"

This reverts commit 12dc5c1506.

Revert "Fixed inconsistencies between player and monster morphing"

This reverts commit 30730647fe.

Revert "Reworked Morphing"

This reverts commit 2c09a443b4.

- fix compile
2024-04-17 17:55:24 -04:00
Boondorl
2c09a443b4 Reworked Morphing
Removed StaticPointerSubstitution in favor of a much safer function that only changes select pointers. As a result the ability to properly modify morphing has been opened back up to ZScript. Many missing virtual callbacks were amended and MorphedDeath has been reworked to only be called back on an actual morphed death. MorphedMonster is no longer required to morph an Actor. CheckUnmorph virtual added that gets called back on morphed Actors. Fixed numerous bugs related to morph behavior.
2024-03-01 08:35:31 -05:00
Christoph Oelckers
8c5eb2c807 use FTranslationID in all places where strict type checking is needed.
This means all properties in serializable classes now use this wrapper type. The backend hasn't been changed yet
2023-11-09 23:04:10 +01:00
Christoph Oelckers
6055ff029d the remaining GetChars additions.
The offending operator const char * no longer exists.
2023-10-07 23:44:01 +02:00
inkoalawetrust
d882a41824 Added a ninth actor flag field. 2023-08-02 00:39:35 -04:00
Christoph Oelckers
72aa6fe3b8 - did some cleanup on p_mobj.cpp
* deleting some unused code
* turned several class methods into static local functions in cases where they never were used outside this file.
* inlined the dangerous assignment operator in the only place where it was used.
2022-11-05 12:00:43 +01:00
Christoph Oelckers
f0fbdba593 - disable implicit conversions from float to TAngle 2022-08-26 18:01:26 +02:00
RaveYard
f9bf6f9311 Implement FVector ZScript for Actor Scale 2022-06-12 17:57:44 +02:00
Christoph Oelckers
109069f718 - removed the unused palette parameter from the V_GetColor family of functions. 2021-08-14 09:57:23 +02:00
Christoph Oelckers
c700682a36 - MBF21: ported the code pointers to ZScript.
So far it's just the functions and some initial changes to Dehacked's parser. None of this is usable yet.
2021-07-01 00:53:15 +02:00
Christoph Oelckers
0bb5ec0d22 - MBF21: splash group. 2021-06-29 17:47:52 +02:00
Christoph Oelckers
cc801a7efa - MBF21: added projectile group. 2021-06-29 17:33:16 +02:00
Christoph Oelckers
bca8d01ab3 - MBF21: infighting groups. 2021-06-29 01:34:14 +02:00
Christoph Oelckers
8e1b091cf3 - disabled negative gravity check.
According to reports on the forum this does not cause bad behavior.
2020-10-17 09:11:44 +02:00
vidaritos
0adbb8d631 pass ScriptPosition down to color parser functions 2020-09-18 20:07:41 +02:00
Christoph Oelckers
a28182fe35 - moved the script compiler's backend to 'common'. 2020-04-11 20:20:55 +02:00
Christoph Oelckers
f8e9cb8fbc - major dependency reduction of the texture system. 2020-04-11 20:20:37 +02:00
Christoph Oelckers
ac610d87e5 - merged FPalette and PaletteContainer. 2020-04-11 20:19:53 +02:00
Christoph Oelckers
7243495b16 - moved special color maps to utilities.
The default tables are needed by the texture compositor which should be universal, so this needs to be, too.
2020-04-11 20:19:52 +02:00
Christoph Oelckers
05d8856fe0 - moved file system implementation to 'common'. 2020-04-11 14:00:20 +02:00
Christoph Oelckers
80c6d5b276 - renamed more stuff and also moved the Strife teaser voice handling out of the file system. 2020-04-11 14:00:19 +02:00
Christoph Oelckers
6bccde3b51 - renamed the file system related classes to actually use the term "FileSystem". 2020-04-11 14:00:18 +02:00
Christoph Oelckers
ace3e29473 - removed the implicit conversion operators from FName.
These were creating dangerous interdependencies. It is better to do explicit conversions when needed.
As an added plus, this means that zstring.h no longer depends on name.h which was very annoying.
2020-04-11 14:00:13 +02:00
Christoph Oelckers
cf757ba834 - made the translation container a class.
This also splits off some Doom-specific implementation details into higher level headers.
2020-04-11 14:00:11 +02:00
Christoph Oelckers
b0ecb02d6b - move SuperFastHash to its own set of files, instead of having this tied to the console.
- replace swapvalues with std::swap globally.
- added some additions to utility code from Raze, mainly to reduce file content differences.
- reduced some unused utilities
2020-04-11 14:00:10 +02:00
Christoph Oelckers
e3eaa5964d - removed v_video.h include from portals.h
This has no business in a play related file which also made no use of it.
2019-02-01 00:30:21 +01:00
Christoph Oelckers
0f2938089d - started cleaning up the contents of the g_shared directory, starting with a_dynlight.cpp
This is supposed to be come the place where all pure play code should be placed, but for that all CVARs and CCMDs and other things that do not directly handle play data should be taken out to make code reviewing easier. These now get collected in two separate files, g_cvars.cpp and g_dumpinfo.cpp respectively.
The sole ZScript property in here has also been moved - to thingdef_properties.cpp.
2019-01-31 02:05:16 +01:00
Christoph Oelckers
b4a95ccaa9 - roughly 50 more, mostly search and replace. 2019-01-27 19:16:14 +01:00
Christoph Oelckers
9521b6cd1f - removed all remaining native parts of APlayerPawn.
Unlike the other classes, the places where variables from this class were accessed were quite scattered so there isn't much scriptified code. Instead, most of these places are now using the script variable access methods.
This was the last remaining subclass of AActor, meaning that class Actor can now be opened for user-side extensions.
2019-01-03 22:05:49 +01:00
Christoph Oelckers
c18e895272 - exported all native components of APlayerPawn.
Only the class definition itself remains and needs to be taken care of.
2019-01-03 18:01:58 +01:00
Christoph Oelckers
3314a1efe5 - scriptified the remaining PlayerPawn methods. 2019-01-03 14:35:17 +01:00
Christoph Oelckers
badacbb968 - scriptified APlayerPawn's DamageFade handling. 2019-01-03 12:47:34 +01:00
Christoph Oelckers
2bd72478ee - scriptified P_CalcHeight.
This was the only code using the ViewBob member variable.
This also moves the range check for this variable to its application, because a badly behaved mod can just as easily change it at run time instead of just setting an absurdly large value in the class definition.
2019-01-03 11:57:20 +01:00
Christoph Oelckers
9e5c5b68c5 - did some more lightening on the PlayerPawn class. 4 more properties and one native member function have been handled. 2019-01-03 10:06:45 +01:00
Christoph Oelckers
da735c0e87 - initialize the PlayerPawn members only used by scripts through the script variable interface.
The goal here is to eliminate the native PlayerPawn class, after all, so this will be needed anyway.
2019-01-03 08:27:41 +01:00
Christoph Oelckers
6eb8ded471 - made ColorRangeStart and ColorRangeEnd meta properties of APlayerPawn.
These are only used during initialization and they should have been readonly from the start.
2019-01-02 22:13:57 +01:00
Christoph Oelckers
a38e75db00 - improved error reporting for badly defined translations.
This needs to be handled by the caller for all use cases because the translation parser lacks the context to do a proper error report.
2018-12-16 09:56:53 +01:00
Christoph Oelckers
5e4b366724 Removed all native components from AInventory. 2018-12-04 18:06:09 +01:00
Christoph Oelckers
a573c63f60 - removed all direct access to AInventory's members.
We are getting closer to make class Inventory fully scripted.
2018-12-04 00:22:26 +01:00
Christoph Oelckers
a7e472b4b3 - moved all exports from class Font to vmthunks.cpp and gave them direct native entrypoints.
- changed PARAM_STRING to use the passed string by reference instead of by value. The 3 instances where passing by value was needed now use PARAM_STRING_VAL.
2018-12-01 10:30:50 +01:00
Christoph Oelckers
a0c0e8bdfe Merge remote-tracking branch 'remotes/origin/weapon_scriptification' into asmjit
# Conflicts:
#	src/g_inventory/a_pickups.cpp
2018-11-30 21:28:44 +01:00
Christoph Oelckers
59b4e297c0 - fixed the mapping of additive translucency to color-based translucency.
The destination mode sould be 'One', not 'InvSrcColor'.
Now both of these are available as explicit modes, not just through the optional mapping.
2018-11-27 19:43:10 +01:00
Christoph Oelckers
d6b781312c - removed all remaining native components of the weapon class. 2018-11-25 10:00:55 +01:00
Christoph Oelckers
b5c4ab8c47 - removed all direct access to AWeapon's members to prepare moving this class fully to the script side.
Disregarding UI-side and setup-related calls there's unfortunately still 6 places in the native game code which require direct access.
2018-11-25 08:17:37 +01:00
Christoph Oelckers
8fa16b6c30 - some cleanup on the weapon slot interface.
This really shouldn't make any decisions from directly reading weapon class defaults.
2018-11-25 07:21:02 +01:00
Christoph Oelckers
fad406c4c9 - got rid of FNameNoInit and made the default constructor of FName non-initializing.
This setup has been a constant source of problems so now I reviewed all uses of FName to make sure that everything that needs to be initialized is done manually.
This also merges the player_t constructor into the class definition as default values.
2018-08-19 08:19:19 +02:00
alexey.lysiuk
2ae8d39441 Removed all superfluous #include's
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
5d436cd3ed - forward the error state of the translation parser to the calling code so that it can print a message pointing to the problem content. 2018-03-12 19:14:56 +01:00