diff --git a/makefile.gaz b/makefile.gaz index 8e55e1883..4fb609f24 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -113,7 +113,8 @@ platform_src := platform \ plantern \ pbgeyser \ pleaf \ - pbwheel + pbwheel \ + psbarrel hazard_src := hazard \ hfalling \ diff --git a/source/platform/platdata.cpp b/source/platform/platdata.cpp index 614eb472e..b2f894fce 100644 --- a/source/platform/platdata.cpp +++ b/source/platform/platdata.cpp @@ -334,6 +334,18 @@ CNpcPlatform::NPC_PLATFORM_DATA CNpcPlatform::m_data[NPC_PLATFORM_TYPE_MAX] = NPC_PLATFORM_TIMER_NONE, }, + { // NPC_STEERABLE_BARREL_PLATFORM + 2, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 0, + NPC_PLATFORM_TIMER_NONE, + }, + { // NPC_PLAYER_BUBBLE_PLATFORM 3, 128, @@ -373,5 +385,6 @@ CNpcPlatform::NPC_PLATFORM_UNIT_TYPE CNpcPlatform::mapEditConvertTable[NPC_PLATF NPC_LANTERN_PLATFORM, NPC_BUBBLE_GEYSER_GENERATOR, NPC_BIG_WHEEL_PLATFORM, + NPC_STEERABLE_BARREL_PLATFORM, NPC_PLAYER_BUBBLE_PLATFORM, }; diff --git a/source/platform/platform.cpp b/source/platform/platform.cpp index 11f478c0d..910a9bb9b 100644 --- a/source/platform/platform.cpp +++ b/source/platform/platform.cpp @@ -131,6 +131,10 @@ #include "platform\pbwheel.h" #endif +#ifndef __PLATFORM_PSBARREL_H__ +#include "platform\psbarrel.h" +#endif + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -306,6 +310,12 @@ CNpcPlatform *CNpcPlatform::Create(sThingPlatform *ThisPlatform) break; } + case NPC_STEERABLE_BARREL_PLATFORM: + { + platform = new ("steerable barrel platform") CNpcSteerableBarrelPlatform; + break; + } + default: { ASSERT( 0 ); diff --git a/source/platform/platform.h b/source/platform/platform.h index cd5dc396f..4fd6469a1 100644 --- a/source/platform/platform.h +++ b/source/platform/platform.h @@ -78,6 +78,7 @@ public: NPC_BUBBLE_GEYSER_GENERATOR, NPC_LEAF_PLATFORM, NPC_BIG_WHEEL_PLATFORM, + NPC_STEERABLE_BARREL_PLATFORM, NPC_PLAYER_BUBBLE_PLATFORM, NPC_PLATFORM_TYPE_MAX, }; diff --git a/tools/Data/bin/MkLevel.ini b/tools/Data/bin/MkLevel.ini index 55556229c..f94f70541 100644 --- a/tools/Data/bin/MkLevel.ini +++ b/tools/Data/bin/MkLevel.ini @@ -106,6 +106,7 @@ SwingingLantern=21 BubbleGeyserGenerator=22 BigWheelPlatform=23 FixedPathBarrelPlatform=1 +SteerableBarrelPlatform=24 ################################################ # Triggers diff --git a/tools/MapEdit/platform.ini b/tools/MapEdit/platform.ini index c012826da..685f7b1e5 100644 --- a/tools/MapEdit/platform.ini +++ b/tools/MapEdit/platform.ini @@ -93,3 +93,6 @@ Gfx=..\..\Graphics\platforms\carriage\carriage.gin [FixedPathBarrelPlatform] Gfx=..\..\Graphics\platforms\barrel\barrel.gin + +[SteerableBarrelPlatform] +Gfx=..\..\Graphics\platforms\barrel\barrel.gin \ No newline at end of file diff --git a/users/paul/spongebob project/spongebob project.dsp b/users/paul/spongebob project/spongebob project.dsp index f9974b80f..1511f07a8 100644 --- a/users/paul/spongebob project/spongebob project.dsp +++ b/users/paul/spongebob project/spongebob project.dsp @@ -1313,6 +1313,14 @@ SOURCE=..\..\..\source\platform\pretract.h # End Source File # Begin Source File +SOURCE=..\..\..\source\platform\psbarrel.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\platform\psbarrel.h +# End Source File +# Begin Source File + SOURCE=..\..\..\source\platform\pseesaw.cpp # End Source File # Begin Source File