Christoph Oelckers
68667e5eaa
- moved particle storage into FLevelLocals.
...
- moved parts of the render setup out of the separate render functions.
Things like particle and polyobject linking were duplicated several times for rendering different things in different renderers.
These things only need to be set up once before the renderer is started so it makes a lot more sense to consolidate them into one place outside the actual rendering code.
2019-01-29 01:09:02 +01:00
Christoph Oelckers
1dc11c5032
- changed infighting check so that the static skill checker does not access the level
...
Instead the level needs to be queried now.
2019-01-28 14:31:23 +01:00
Christoph Oelckers
648e472744
- handled approx. half of all cases where the address of level is taken.
2019-01-28 00:55:21 +01:00
Christoph Oelckers
b4a95ccaa9
- roughly 50 more, mostly search and replace.
2019-01-27 19:16:14 +01:00
Christoph Oelckers
8323524014
- give thinkers a 'level' member and change linking to the chain to happen outside the constructor.
2019-01-27 01:49:20 +01:00
Christoph Oelckers
3cef56249d
- moved most functions of portals.cpp into FLevelLocals.
...
Much of this is used during level init and needs to be independent of the current level.
2019-01-25 00:30:55 +01:00
Christoph Oelckers
057b746e58
- fixed: The rail attack only considered the puff's decal if it had ALWAYSPUFF set.
2019-01-23 21:44:39 +01:00
alexey.lysiuk
11958b713e
- fixed many compilation errors with GCC and Clang
2019-01-23 20:45:01 +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
Ijon
d2d684a35a
Add NOFRICTION and NOFRICTIONBOUNCE flags
...
NOFRICTION disables all friction effects on the thing it's set on
(including the speed cap from water/crouching), and NOFRICTIONBOUNCE
disables the "bounce off walls on an icy floor" effect on the thing
it's set on.
2018-12-26 11:49:17 +01:00
Christoph Oelckers
494a113920
- more direct native entry points.
...
- disallow bool as a return value for direct native calls because it only sets the lowest 8 bits of the return register.
- changed return type for several functions from bool to int where the return type was the only thing blocking use as direct native call.
2018-12-05 20:10:44 +01:00
Christoph Oelckers
6c9d0b166a
Added direct native entry points to a larger number of functions.
2018-12-05 17:34:11 +01:00
Christoph Oelckers
d7bb1726ab
- fixed compile warning
2018-12-03 09:14:11 +01:00
Christoph Oelckers
bfcd714186
- started replacing direct references to class AInventory.
...
The easiest part was the type checks which could be changed to the name variant with a global search and replace.
2018-12-02 21:35:55 +01:00
Christoph Oelckers
b26b16e4b7
Merge remote-tracking branch 'remotes/origin/master' into asmjit
2018-11-30 21:29:12 +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
Player701
b79e3f8904
- Added a flag to make bouncing objects disappear when hitting sky surfaces
2018-11-30 18:53:57 +01:00
Christoph Oelckers
8e46cb3a21
Merge remote-tracking branch 'remotes/origin/master' into asmjit
2018-11-30 18:49:28 +01:00
Player701
927d333063
- Exported AActor::Grind to ZScript.
2018-11-29 23:46:47 +01:00
Christoph Oelckers
f43f0b9bd4
- added a few more direct native entry points.
2018-11-29 00:27:09 +01:00
Christoph Oelckers
d3ff657231
- added a direct native function for NextHighestCeilingAt to test multiple return values.
2018-11-28 21:40:56 +01:00
Christoph Oelckers
47b1fa774d
Merge branch 'asmjit' into weapon_scriptification
...
# Conflicts:
# src/gi.cpp
# wadsrc/static/zscript/base.txt
2018-11-26 00:14:44 +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
4392b4e96d
- exported the blood spawning part of P_LineAttack as a virtual ZScript function.
2018-11-24 22:35:50 +01:00
Christoph Oelckers
652606f70b
- scriptified A_Explode and relatives.
2018-11-24 19:29:52 +01:00
Christoph Oelckers
4c1b3f81ab
- scriptified A_RailAttack.
2018-11-24 15:12:30 +01:00
Christoph Oelckers
b267252a09
- fixed: Since out types cannot be marked as such in a function prototype (as it'd cause parameter mismatches in the resolving pass) it is necessary to check the argflags as well when determining the register type.
2018-11-24 09:34:53 +01:00
Christoph Oelckers
94ed30e782
- removed the default parameter handling from all native script functions because it is no longer needed.
2018-11-17 10:03:40 +01:00
Cacodemon345
07838f4c2a
BOUNCEONUNRIPPABLES flag; makes actors bounce on actors with DONTRIP flag
2018-11-15 12:47:57 +01:00
Player701
d37192c1e8
- Fixed: Decal generator should be taken from the current weapon instance instead of the default instance.
2018-11-11 15:07:57 +01:00
Christoph Oelckers
0caabbe355
- clear spechit before leaving P_CheckPosition.
...
Otherwise this may contain residual data from the last call.
One can only hope that this doesn't cause other side effects - this entire code is one horrendous mess of bad ideas.
2018-11-09 19:06:54 +01:00
ZZYZX
ed3355acc6
Explode bouncing projectiles if hit damageable geometry
2018-11-07 00:12:37 +01:00
ZZYZX
d85e5afdfb
Destructible geometry - minor fixes and 3D floor support
2018-11-07 00:12:37 +01:00
Cacodemon345
b1d35eb0b3
Extend SKYEXPLODE flag for LineAttack
2018-11-03 15:24:30 +01:00
Cacodemon345
eaaf0cb8f6
Fix bounce state not entering when hit from top.
2018-11-01 00:11:57 +01:00
ZZYZX
b911bbc424
Single commit - destructible geometry feature
2018-10-31 17:22:09 +01:00
Major Cooke
1210e1a951
Added DMG_EXPLOSION flag.
...
- This allows modders to determine if damage is caused by an actual explosion, assigned by P_RadiusAttack and BlastActor for +TOUCHY actors.
2018-09-15 13:23:11 +02:00
Major Cooke
c988a0b3a4
Allow LineAttack's LAF_NOINTERACT to fill FTranslatedLineTarget's information.
...
- Originally when the flag was made, LineAttack was not yet exported. This can now be benefitted directly from ZScript.
2018-09-15 13:22:26 +02: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
Marisa Kirisame
20b6db30d7
Added missing check for HITOWNER on bouncers with 0 damage.
2018-08-17 21:39:41 +02:00
Marisa Kirisame
155afebb65
Add HITOWNER flag, when set, allows a projectile to collide with its shooter.
2018-08-17 19:47:12 +02:00
Marisa Kirisame
51b57cebb1
Additional blocking-related flags for Actor.LineTrace()
2018-08-05 09:42:40 -04:00
Christoph Oelckers
60b6dbadb2
- fixed autoaiming for unranged attacks.
...
The abort condition for the extended checks must completely stop any further processing but the check for this was missing.
2018-06-05 20:35:01 +02:00
Marisa Kirisame
fae514f30d
BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines
2018-06-04 22:18:51 +02:00
Christoph Oelckers
a851a5d151
- fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
...
This is necessary to be in line with P_LineAttack which does check for those.
2018-06-03 17:49:00 +02:00
alexey.lysiuk
f17f8c9359
- added end line to various messages
...
so they don't screw up further output anymore
2018-05-11 18:03:57 +03:00
Christoph Oelckers
9bdb0f2e49
- renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
...
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.
2018-05-01 11:29:29 +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
Marisa Kirisame
19b701728d
Typo fix in linetrace flags checking.
2018-03-26 22:00:17 +02:00