diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 178a5934e..db36362e9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -976,6 +976,7 @@ set (PCH_SOURCES r_data/colormaps.cpp r_data/gldefs.cpp r_data/a_dynlightdata.cpp + r_data/a_lightprobe.cpp r_data/r_translate.cpp r_data/sprites.cpp r_data/portalgroups.cpp diff --git a/src/common/engine/namedef.h b/src/common/engine/namedef.h index 489507061..b836dd6fb 100644 --- a/src/common/engine/namedef.h +++ b/src/common/engine/namedef.h @@ -1078,6 +1078,7 @@ xx(SpotOuterAngle) xx(lightflags) xx(lighttype) xx(InternalDynamicLight) +xx(LightProbe) xx(_a_chase_default) xx(MapMarker) xx(Spawn2) diff --git a/src/r_data/a_lightprobe.cpp b/src/r_data/a_lightprobe.cpp new file mode 100644 index 000000000..4057041cc --- /dev/null +++ b/src/r_data/a_lightprobe.cpp @@ -0,0 +1,31 @@ +/* +** Light Probe Actor +** Copyright (c) 2021 Nash Muhandes, Magnus Norddahl +** +** This software is provided 'as-is', without any express or implied +** warranty. In no event will the authors be held liable for any damages +** arising from the use of this software. +** +** Permission is granted to anyone to use this software for any purpose, +** including commercial applications, and to alter it and redistribute it +** freely, subject to the following restrictions: +** +** 1. The origin of this software must not be misrepresented; you must not +** claim that you wrote the original software. If you use this software +** in a product, an acknowledgment in the product documentation would be +** appreciated but is not required. +** 2. Altered source versions must be plainly marked as such, and must not be +** misrepresented as being the original software. +** 3. This notice may not be removed or altered from any source distribution. +*/ + + +#include "actor.h" +#include "a_lightprobe.h" + +IMPLEMENT_CLASS(ALightProbe, false, false) + +void ALightProbe::Tick() +{ + Super::Tick(); +} diff --git a/src/r_data/a_lightprobe.h b/src/r_data/a_lightprobe.h new file mode 100644 index 000000000..051b6d82f --- /dev/null +++ b/src/r_data/a_lightprobe.h @@ -0,0 +1,35 @@ +/* +** Light Probe Actor +** Copyright (c) 2021 Nash Muhandes, Magnus Norddahl +** +** This software is provided 'as-is', without any express or implied +** warranty. In no event will the authors be held liable for any damages +** arising from the use of this software. +** +** Permission is granted to anyone to use this software for any purpose, +** including commercial applications, and to alter it and redistribute it +** freely, subject to the following restrictions: +** +** 1. The origin of this software must not be misrepresented; you must not +** claim that you wrote the original software. If you use this software +** in a product, an acknowledgment in the product documentation would be +** appreciated but is not required. +** 2. Altered source versions must be plainly marked as such, and must not be +** misrepresented as being the original software. +** 3. This notice may not be removed or altered from any source distribution. +*/ + +#ifndef __A_LIGHTPROBE_H__ +#define __A_LIGHTPROBE_H__ + +class AActor; + +class ALightProbe : public AActor +{ + DECLARE_CLASS(ALightProbe, AActor) + +public: + void Tick(); +}; + +#endif //__A_LIGHTPROBE_H__ diff --git a/wadsrc/static/mapinfo/common.txt b/wadsrc/static/mapinfo/common.txt index 6a31743b4..6a4b230d4 100644 --- a/wadsrc/static/mapinfo/common.txt +++ b/wadsrc/static/mapinfo/common.txt @@ -136,6 +136,7 @@ DoomEdNums 9872 = SpotLightFlickerAttenuated 9873 = SectorSpotLightAttenuated 9874 = SpotLightFlickerRandomAttenuated + 9875 = LightProbe 9982 = SecActEyesAboveC 9983 = SecActEyesBelowC 9988 = CustomSprite diff --git a/wadsrc/static/sprites/LPROA0.png b/wadsrc/static/sprites/LPROA0.png new file mode 100644 index 000000000..b325a44fb Binary files /dev/null and b/wadsrc/static/sprites/LPROA0.png differ diff --git a/wadsrc/static/zscript.txt b/wadsrc/static/zscript.txt index a447a9b73..bd709f1bf 100644 --- a/wadsrc/static/zscript.txt +++ b/wadsrc/static/zscript.txt @@ -90,6 +90,7 @@ version "4.6" #include "zscript/actors/shared/fastprojectile.zs" #include "zscript/actors/shared/randomspawner.zs" #include "zscript/actors/shared/dynlights.zs" +#include "zscript/actors/shared/lightprobe.zs" #include "zscript/actors/doom/doomplayer.zs" #include "zscript/actors/doom/possessed.zs" diff --git a/wadsrc/static/zscript/actors/shared/lightprobe.zs b/wadsrc/static/zscript/actors/shared/lightprobe.zs new file mode 100644 index 000000000..032e2e779 --- /dev/null +++ b/wadsrc/static/zscript/actors/shared/lightprobe.zs @@ -0,0 +1,9 @@ +class LightProbe : Actor native +{ + States + { + Spawn: + LPRO A -1 Bright; + Stop; + } +}