Christoph Oelckers
f261ec7d53
- rewrote dynamic lights to not use actors for the internal representation and made DynamicLight a purely scripted class.
...
This should be less of a drag on the playsim than having each light a separate actor. A quick check with ZDCMP2 showed that the light processing time was reduced to 1/3rd from 0.5 ms to 0.17 ms per tic.
It's also one native actor class less.
# Conflicts:
# src/g_shared/a_dynlight.cpp
# src/g_shared/a_dynlight.h
# src/hwrenderer/dynlights/hw_dynlightdata.cpp
# src/hwrenderer/dynlights/hw_dynlightdata.h
# src/hwrenderer/scene/hw_renderhacks.cpp
# src/namedef.h
# src/scripting/thingdef_data.cpp
# src/swrenderer/line/r_walldraw.cpp
# Conflicts:
# src/d_main.cpp
# src/g_levellocals.h
# src/g_shared/a_dynlight.cpp
# src/g_shared/a_dynlight.h
# src/gl/dynlights/gl_dynlight.h
# src/gl/dynlights/gl_dynlight1.cpp
# src/gl/scene/gl_spritelight.cpp
# src/gl/scene/gl_walls.cpp
# src/hwrenderer/dynlights/hw_shadowmap.cpp
# src/hwrenderer/dynlights/hw_shadowmap.h
# src/hwrenderer/scene/hw_flats.cpp
# src/p_setup.cpp
2019-04-26 00:19:03 +02:00
Christoph Oelckers
08c75efb10
- fixed: ADynamicLight's shadowmap index must be reset when loading a savegame.
2019-04-25 21:20:56 +02:00
Christoph Oelckers
bc8af1cab8
Fixed initialization issues with dynamic lights.
...
Actors get initialized from their defaults so anything done in the constructor or some explicit member initialization will be overwritten.
They must use their properties for setting up configurable fields and do the rest in BeginPlay.
2019-04-25 20:59:06 +02:00
alexey.lysiuk
81cb8cb60b
Fixed applying of dynamic lights to models
...
https://forum.zdoom.org/viewtopic.php?t=60301
# Conflicts:
# src/gl/scene/gl_sprite.cpp
2019-04-25 20:48:17 +02:00
Christoph Oelckers
b3a8dcdbd4
store shadow map index in the light actor instead of a separate TMap
...
This frees another file of a direct renderer dependency and generally also should be faster
2019-04-25 20:14:00 +02:00
drfrag
e335a48009
- Fixed bad merge of "- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned.".
2019-04-25 19:11:40 +02:00
Christoph Oelckers
99dd234d10
- exported all native components of APlayerPawn.
...
Only the class definition itself remains and needs to be taken care of.
# Conflicts:
# src/g_statusbar/sbarinfo_commands.cpp
# src/hu_scores.cpp
# src/scripting/thingdef_data.cpp
# Conflicts:
# src/actorinlines.h
# src/hu_scores.cpp
2019-04-25 17:42:11 +02:00
Christoph Oelckers
94eb0ecdda
- scriptified the remaining PlayerPawn methods.
2019-04-25 17:35:44 +02:00
Christoph Oelckers
b28faa6793
- took several methods out of the native PlayerPawn implementation, either by scriptification or moving them to other places.
2019-04-25 17:34:56 +02:00
Christoph Oelckers
6f2a32ecbe
- scriptified PlayerPawn.ResetAirSupply.
2019-04-25 17:34:53 +02:00
Christoph Oelckers
1c577e4c97
- scriptified APlayerPawn's DamageFade handling.
2019-04-25 17:34:51 +02:00
Christoph Oelckers
cf890a24c3
- 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-04-25 17:34:49 +02:00
Christoph Oelckers
8e376754fc
- did some more lightening on the PlayerPawn class. 4 more properties and one native member function have been handled.
2019-04-25 17:34:47 +02:00
Christoph Oelckers
c762757aca
- 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-04-25 17:34:45 +02:00
Christoph Oelckers
cb2e46a4fe
- scriptified A_SkullPop and ObtainInventory.
...
These were the last relevant items to access PlayerPawn.InvFirst.
2019-04-25 17:34:43 +02:00
Christoph Oelckers
08e2a86f64
- made ColorRangeStart and ColorRangeEnd meta properties of APlayerPawn.
...
These are only used during initialization and they should have been readonly from the start.
2019-04-25 17:34:41 +02:00
Christoph Oelckers
51499e167d
- scriptified useflechette CCMD's item finding code.
2019-04-25 17:34:39 +02:00
Christoph Oelckers
4be9217215
- scriptified the declaration of AmbientSound
...
Most of the code is still native, but this means that PlayerPawn is the last remaining child of AActor.
# Conflicts:
# src/g_shared/a_dynlight.cpp
2019-04-25 17:34:37 +02:00
alexey.lysiuk
70e7f9f853
- added missing range checks to level compatibility handler
...
# Conflicts:
# src/compatibility.cpp
2019-04-25 16:50:28 +02:00
Christoph Oelckers
990aad3b0c
- fixed: The player sound lookup would fail if a sound was only available for the last gender in the list.
...
This is an ancient bug, but it never registered before - only after making 'other' the default gender for nonsense input it became apparent.
2019-04-25 16:32:19 +02:00
Christoph Oelckers
0c1fc45df8
- fixed A_Chase default detection.
2019-04-25 16:31:58 +02:00
Christoph Oelckers
96d40ac403
- fixed the direct native variant of DynamicLight.SetOffset.
2019-04-25 16:26:40 +02:00
Major Cooke
2e6382f55e
- Fixed: NODAMAGE was not accounted for with pain.
2019-04-25 13:10:51 +02:00
Rachael Alexanderson
77c97afd2b
- force CMake to use internal asmjit. I left it in a state so that it can easily be changed back in the future.
2019-04-25 13:10:49 +02:00
Timo Myyrä
b561b72fd0
fix Unix builds without backtrace functions in their libc
...
backtrace functions are not present in all libc implementations. Cmake has
module to add external libraries into build if needed so use it to fix build on
Unix systems without backtrace in libc.
2019-04-25 13:10:47 +02:00
Marrub
d623ede89d
Fix A_CustomBulletAttack's spawnofs_xy parameter
...
The current behaviour offsets to the front of the actor rather than the side, due to an oversight in the code, which oddly is not present in the A_FireBullets equivalent.
2019-04-25 13:10:44 +02:00
Player701
3d1e810e72
- Since GetParentAmmo is now virtual, BackpackItem and the "give ammo" cheat should call GetParentAmmo to determine base ammo classes.
2019-04-25 13:10:41 +02:00
Christoph Oelckers
1669e10f6e
- fixed memory leaks in network code.
...
ReadString allocates a buffer, so saving it in a local variable and then forgetting it will not free the buffer afterward.
(This should probably be refactored to use some safer methods to read the string than this old-school method...)
2019-04-25 13:10:39 +02:00
alexey.lysiuk
b706e8fead
- fixed everlasting fast projectile after hitting ceiling
...
Without the test for ceiling hit fast projectile could enter its Death state every tick infinitely
https://forum.zdoom.org/viewtopic.php?t=63023
2019-04-25 13:04:25 +02:00
Christoph Oelckers
f1b345dc73
- fixed crash in AutoUseStrifeHealth
...
The loop never checked if the item was still valid and would continue to try to use it, even after it was removed from the inventory and destroyed.
As native code this just failed silently, but with the VM it needs to be explicitly checked.
2019-04-25 13:04:21 +02:00
Major Cooke
5209d43bf3
- Fixed: SXF_CLEARCALLERSPECIAL cleared the spawned actor's special instead of the caller.
2019-04-25 13:03:50 +02:00
player701
77633415f9
- Fixed settings_controller not updating properly when a player becomes the new arbitrator in a netgame.
2019-04-25 13:03:47 +02:00
Christoph Oelckers
6371d3f88b
- added missing return in P_RemoveThing.
2019-04-25 13:03:45 +02:00
Christoph Oelckers
d54ef75311
- added missing null pointer check to SBarInfo's inventory bar drawer.
2019-04-25 13:03:42 +02:00
Christoph Oelckers
08dd81ed36
- use a TArray to store the sprite model hash to get rid of one atterm call.
2019-04-25 12:55:22 +02:00
Christoph Oelckers
7259cd44ee
- reworked the lock code to remove the 255 locks limit and to allow it to automatically deinitialize.
...
# Conflicts:
# src/fragglescript/t_func.cpp
2019-04-25 12:55:19 +02:00
Christoph Oelckers
5bb0428fa8
- made PlayerPawn.TweakSpeeds virtual.
2019-04-25 12:55:16 +02:00
Christoph Oelckers
e4bf84b015
- treat non-existent arrays in the savegame as zero length.
2019-04-25 12:55:13 +02:00
alexey.lysiuk
32f0bbfe03
- fixed ammo check for weapon with 'uses both' flags
...
https://forum.zdoom.org/viewtopic.php?t=63047
2019-04-25 12:52:20 +02:00
alexey.lysiuk
dc2f2a431e
- fixed SPC music loops
...
This reverts the following commit from game-music-emu repository
49238f9ae5
https://forum.zdoom.org/viewtopic.php?t=62613
2019-04-25 12:52:17 +02:00
Christoph Oelckers
8c38a7c05f
- fixed precaching of switches.
...
The backwards animation accessed the wrong array which in case of sequences with different length could crash
2019-04-25 12:52:02 +02:00
alexey.lysiuk
8e230eebaf
- fixed missing attack sound in A_CustomPunch
...
See 7bb3855439/src/p_actionfunctions.cpp (L1729)
https://forum.zdoom.org/viewtopic.php?t=63049
2019-04-25 12:51:49 +02:00
Major Cooke
5e183d8718
Fixed: IsFakePain received the modified damage instead of the raw, preventing ALLOWPAIN from working as intended.
2019-04-25 12:51:46 +02:00
Erick Tenorio
3262af7514
- TNT.WAD fixes
2019-04-25 12:45:25 +02:00
Erick Tenorio
63313d0214
- Have Plutonia MAP16 pit kill player
2019-04-25 12:45:23 +02:00
Christoph Oelckers
f00ec3bfb9
- use TArrays for all local allocations in the map loader.
...
# Conflicts:
# src/p_setup.cpp
2019-04-25 12:44:28 +02:00
drfrag
df251be921
- Fixed compilation of previous commit.
...
# Conflicts:
# src/textures/textures.h
2019-04-18 20:16:30 +02:00
Christoph Oelckers
f29408e199
- fixed precaching to consider animations and switches
2019-04-18 20:13:35 +02:00
Ijon
50d8993e6e
NOFRICTION now applies to Z friction when flying or swimming
2019-04-18 19:57:44 +02:00
alexey.lysiuk
33067deb86
- fixed crash in Actor.Warp() with null destination
...
https://forum.zdoom.org/viewtopic.php?t=63031
2019-04-18 19:57:30 +02:00