diff --git a/makefile.gaz b/makefile.gaz index 76b3f0e93..ee7f70c70 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -310,7 +310,8 @@ triggers_src := trigger \ tgstop \ thazard \ tbgeyser \ - thazwalk + thazwalk \ + tsemit utils_src := utils \ sincos \ diff --git a/source/platform/psbarrel.cpp b/source/platform/psbarrel.cpp index 9e9f9b29e..a11dddc89 100644 --- a/source/platform/psbarrel.cpp +++ b/source/platform/psbarrel.cpp @@ -140,16 +140,8 @@ void CNpcSteerableBarrelPlatform::processMovement( int _frames ) m_currentSpeed = 0; } - if ( moveX > 0 ) - { - m_rotation += 30 * _frames; - m_rotation &= 4095; - } - else if ( moveX < 0 ) - { - m_rotation -= 30 * _frames; - m_rotation &= 4095; - } + m_rotation += ( m_currentSpeed * 30 * _frames ) >> 10; + m_rotation &= 4095; if ( m_contact ) { diff --git a/source/triggers/tbemit.cpp b/source/triggers/tbemit.cpp index 42bf90d2a..8bfea5edd 100644 --- a/source/triggers/tbemit.cpp +++ b/source/triggers/tbemit.cpp @@ -1,6 +1,6 @@ /*========================================================================= - tbemit.h + tbemit.cpp Author: CRB Created: diff --git a/source/triggers/trigger.cpp b/source/triggers/trigger.cpp index 80bd9855c..f2e8779f1 100644 --- a/source/triggers/trigger.cpp +++ b/source/triggers/trigger.cpp @@ -79,6 +79,10 @@ #include "triggers\tbgeyser.h" #endif +#ifndef __TRIGGERS_TSEMIT_H__ +#include "triggers\tsemit.h" +#endif + #ifndef __GAME_GAME_H__ #include "game\game.h" #endif @@ -162,6 +166,11 @@ CTrigger *trigger; trigger=(CBubbleGeyserEmitterTrigger*)new( "BubbleGeyserEmitterTrigger") CBubbleGeyserEmitterTrigger(); break; + // Steam emitter + case TRIGGER_STEAM_EMITTER: + trigger=(CSteamEmitterTrigger*)new("SteamEmitterTrigger") CSteamEmitterTrigger(); + break; + case TRIGGER_PLATFORM: trigger = (CPlatformTrigger*)new ("PlatformTrigger") CPlatformTrigger(); break; diff --git a/source/triggers/trigger.h b/source/triggers/trigger.h index 51a1f8ecd..de8fd52aa 100644 --- a/source/triggers/trigger.h +++ b/source/triggers/trigger.h @@ -39,6 +39,7 @@ enum TRIGGER_TYPE TRIGGER_INTERMITTENT_LEFT_FLAME_EMITTER, TRIGGER_INTERMITTENT_DOWN_FLAME_EMITTER, TRIGGER_BUBBLE_GEYSER_EMITTER, + TRIGGER_STEAM_EMITTER, // Code based triggers TRIGGER_PLATFORM, diff --git a/tools/Data/bin/MkLevel.ini b/tools/Data/bin/MkLevel.ini index ca0a0b434..52ebf1aac 100644 --- a/tools/Data/bin/MkLevel.ini +++ b/tools/Data/bin/MkLevel.ini @@ -141,6 +141,7 @@ BubbleEmitter=12 IntermittentLeftFlameEmitter=13 IntermittentDownFlameEmitter=14 StreamGeyser=15 +SteamEmitter=16 ################################################ # FX diff --git a/tools/MapEdit/trigger.ini b/tools/MapEdit/trigger.ini index 6baa9bf92..91cf5f7f6 100644 --- a/tools/MapEdit/trigger.ini +++ b/tools/MapEdit/trigger.ini @@ -31,6 +31,8 @@ HasBox=1 [BubbleEmitter] +[SteamEmitter] + [StreamGeyser] [GaryStop] diff --git a/users/paul/spongebob project/spongebob project.dsp b/users/paul/spongebob project/spongebob project.dsp index 93d84b048..069fbc7a7 100644 --- a/users/paul/spongebob project/spongebob project.dsp +++ b/users/paul/spongebob project/spongebob project.dsp @@ -2165,6 +2165,14 @@ SOURCE=..\..\..\source\triggers\trigger.h # End Source File # Begin Source File +SOURCE=..\..\..\source\triggers\tsemit.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\triggers\tsemit.h +# End Source File +# Begin Source File + SOURCE=..\..\..\source\triggers\tteleprt.cpp # End Source File # Begin Source File