diff --git a/makefile.gaz b/makefile.gaz index 85b0a1b40..0521fc221 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -305,7 +305,8 @@ triggers_src := trigger \ tggleft \ tggright \ tgstop \ - thazard + thazard \ + tbgeyser utils_src := utils \ sincos \ diff --git a/source/thing/thing.cpp b/source/thing/thing.cpp index 968f9e624..c790349b4 100644 --- a/source/thing/thing.cpp +++ b/source/thing/thing.cpp @@ -357,7 +357,7 @@ void CThingManager::matchGaryTriggers() while( trigger ) { - if ( trigger->getThingSubType() == CTrigger::TRIGGER_GARYSTART ) + if ( trigger->getThingSubType() == CTrigger::TRIGGER_GARY_START ) { CGaryStartTrigger *garyTrigger = (CGaryStartTrigger *) trigger; diff --git a/source/triggers/trigger.cpp b/source/triggers/trigger.cpp index 59c98b134..ba86908da 100644 --- a/source/triggers/trigger.cpp +++ b/source/triggers/trigger.cpp @@ -71,6 +71,10 @@ #include "triggers\thazard.h" #endif +#ifndef __TRIGGERS_TBGEYSER_H__ +#include "triggers\tbgeyser.h" +#endif + #ifndef __GAME_GAME_H__ #include "game\game.h" #endif @@ -114,41 +118,46 @@ CTrigger *trigger; break; // Gary start trigger - case TRIGGER_GARYSTART: + case TRIGGER_GARY_START: trigger=(CGaryStartTrigger*)new("GaryStartTrigger") CGaryStartTrigger(); break; // Gary stop trigger - case TRIGGER_GARYSTOP: + case TRIGGER_GARY_STOP: trigger=(CGaryStopTrigger*)new("GaryStopTrigger") CGaryStopTrigger(); break; // Gary go left trigger - case TRIGGER_GARYGOLEFT: + case TRIGGER_GARY_GO_LEFT: trigger=(CGaryGoLeftTrigger*)new("GaryGoLeftTrigger") CGaryGoLeftTrigger(); break; // Gary go right trigger - case TRIGGER_GARYGORIGHT: + case TRIGGER_GARY_GO_RIGHT: trigger=(CGaryGoRightTrigger*)new("GaryGoRightTrigger") CGaryGoRightTrigger(); break; // Flame emitter - case TRIGGER_FLAMEEMITTER: + case TRIGGER_FLAME_EMITTER: trigger=(CFlameEmitterTrigger*)new( "FlameEmitterTrigger") CFlameEmitterTrigger(); break; - case TRIGGER_INTERMITTENTFLAMEEMITTER: - case TRIGGER_INTERMITTENTLEFTFLAMEEMITTER: - case TRIGGER_INTERMITTENTDOWNFLAMEEMITTER: + case TRIGGER_INTERMITTENT_FLAME_EMITTER: + case TRIGGER_INTERMITTENT_LEFT_FLAME_EMITTER: + case TRIGGER_INTERMITTENT_DOWN_FLAME_EMITTER: trigger=(CIntermittentFlameEmitterTrigger*)new( "IntermittentFlameEmitterTrigger") CIntermittentFlameEmitterTrigger(); break; // Bubble emitter - case TRIGGER_BUBBLEEMITTER: + case TRIGGER_BUBBLE_EMITTER: trigger=(CBubbleEmitterTrigger*)new( "BubbleEmitterTrigger") CBubbleEmitterTrigger(); break; + // Bubble geyser emitter + case TRIGGER_BUBBLE_GEYSER_EMITTER: + trigger=(CBubbleGeyserEmitterTrigger*)new( "BubbleGeyserEmitterTrigger") CBubbleGeyserEmitterTrigger(); + break; + case TRIGGER_PLATFORM: trigger = (CPlatformTrigger*)new ("PlatformTrigger") CPlatformTrigger(); break; @@ -178,7 +187,7 @@ CTrigger *trigger=Create(ThisTrigger->Type); switch( ThisTrigger->Type ) { - case TRIGGER_INTERMITTENTLEFTFLAMEEMITTER: + case TRIGGER_INTERMITTENT_LEFT_FLAME_EMITTER: { CIntermittentFlameEmitterTrigger *m_flameEmitter = (CIntermittentFlameEmitterTrigger *) trigger; @@ -188,7 +197,7 @@ CTrigger *trigger=Create(ThisTrigger->Type); break; } - case TRIGGER_INTERMITTENTDOWNFLAMEEMITTER: + case TRIGGER_INTERMITTENT_DOWN_FLAME_EMITTER: { CIntermittentFlameEmitterTrigger *m_flameEmitter = (CIntermittentFlameEmitterTrigger *) trigger; diff --git a/source/triggers/trigger.h b/source/triggers/trigger.h index 8f0007e09..9414aaedd 100644 --- a/source/triggers/trigger.h +++ b/source/triggers/trigger.h @@ -29,15 +29,16 @@ enum TRIGGER_TYPE TRIGGER_CAMLOCK, TRIGGER_INWATER, TRIGGER_OUTWATER, - TRIGGER_GARYSTART, - TRIGGER_FLAMEEMITTER, - TRIGGER_INTERMITTENTFLAMEEMITTER, - TRIGGER_GARYSTOP, - TRIGGER_GARYGOLEFT, - TRIGGER_GARYGORIGHT, - TRIGGER_BUBBLEEMITTER, - TRIGGER_INTERMITTENTLEFTFLAMEEMITTER, - TRIGGER_INTERMITTENTDOWNFLAMEEMITTER, + TRIGGER_GARY_START, + TRIGGER_FLAME_EMITTER, + TRIGGER_INTERMITTENT_FLAME_EMITTER, + TRIGGER_GARY_STOP, + TRIGGER_GARY_GO_LEFT, + TRIGGER_GARY_GO_RIGHT, + TRIGGER_BUBBLE_EMITTER, + TRIGGER_INTERMITTENT_LEFT_FLAME_EMITTER, + TRIGGER_INTERMITTENT_DOWN_FLAME_EMITTER, + TRIGGER_BUBBLE_GEYSER_EMITTER, // Code based triggers TRIGGER_PLATFORM, diff --git a/tools/Data/bin/MkLevel.ini b/tools/Data/bin/MkLevel.ini index a79b6b61e..8a0b09e58 100644 --- a/tools/Data/bin/MkLevel.ini +++ b/tools/Data/bin/MkLevel.ini @@ -140,6 +140,7 @@ GaryGoRight=11 BubbleEmitter=12 IntermittentLeftFlameEmitter=13 IntermittentDownFlameEmitter=14 +StreamGeyser=15 ################################################ # FX diff --git a/tools/MapEdit/trigger.ini b/tools/MapEdit/trigger.ini index 641686e1a..6baa9bf92 100644 --- a/tools/MapEdit/trigger.ini +++ b/tools/MapEdit/trigger.ini @@ -31,6 +31,8 @@ HasBox=1 [BubbleEmitter] +[StreamGeyser] + [GaryStop] [GaryGoLeft] diff --git a/users/paul/spongebob project/spongebob project.dsp b/users/paul/spongebob project/spongebob project.dsp index 6bd90e4d9..4c668c774 100644 --- a/users/paul/spongebob project/spongebob project.dsp +++ b/users/paul/spongebob project/spongebob project.dsp @@ -1925,6 +1925,14 @@ SOURCE=..\..\..\source\triggers\tbemit.h # End Source File # Begin Source File +SOURCE=..\..\..\source\triggers\tbgeyser.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\triggers\tbgeyser.h +# End Source File +# Begin Source File + SOURCE=..\..\..\source\triggers\tcamlock.cpp # End Source File # Begin Source File