diff --git a/source/platform/platdata.cpp b/source/platform/platdata.cpp new file mode 100644 index 000000000..561f53bf1 --- /dev/null +++ b/source/platform/platdata.cpp @@ -0,0 +1,204 @@ +/*========================================================================= + + platdata.cpp + + Author: CRB + Created: + Project: Spongebob + Purpose: + + Copyright (c) 2000 Climax Development Ltd + +===========================================================================*/ + +#ifndef __PLATFORM_PLATFORM_H__ +#include "platform\platform.h" +#endif + +#ifndef __ANIM_CLAM_HEADER__ +#include +#endif + +CNpcPlatform::NPC_PLATFORM_DATA CNpcPlatform::m_data[NPC_PLATFORM_TYPE_MAX] = +{ + { // NPC_LINEAR_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_FIXED_PATH, + 1, + //512, + 2048, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 0, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_CIRCULAR_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_FIXED_CIRCULAR, + 3, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 0, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_BUBBLE_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_BUBBLE, + 3, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_FINITE_LIFE_RESPAWN, + 0, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_COLLAPSING_BUBBLE_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_STATIC, + 3, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE_COLLAPSIBLE, + 0, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_FISH_HOOK_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_STATIC, + 3, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE_FISH_HOOK, + 0, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_RETRACTING_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_STATIC, + 3, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 0, + NPC_PLATFORM_TIMER_RETRACT, + }, + + { // NPC_GEYSER_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_STATIC, + 8, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 4, + NPC_PLATFORM_TIMER_GEYSER, + }, + + { // NPC_BOBBING_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_BOB, + 0, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 4, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_FALLING_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_FALL, + 4, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 4, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_CART_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_CART, + 4, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 4, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_PLAYER_BUBBLE_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + NPC_PLATFORM_MOVEMENT_PLAYER_BUBBLE, + 3, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_FINITE_LIFE, + 0, + NPC_PLATFORM_TIMER_NONE, + }, +}; + +CNpcPlatform::NPC_PLATFORM_UNIT_TYPE CNpcPlatform::mapEditConvertTable[NPC_PLATFORM_TYPE_MAX] = +{ + NPC_BUBBLE_PLATFORM, + NPC_LINEAR_PLATFORM, + NPC_FALLING_PLATFORM, + NPC_CIRCULAR_PLATFORM, + NPC_COLLAPSING_BUBBLE_PLATFORM, + NPC_FISH_HOOK_PLATFORM, + NPC_RETRACTING_PLATFORM, + NPC_GEYSER_PLATFORM, + NPC_BOBBING_PLATFORM, + NPC_CART_PLATFORM, + NPC_PLAYER_BUBBLE_PLATFORM, +};