diff --git a/source/level/layerback.cpp b/source/level/layerback.cpp index b0f307b9e..3e989a1f3 100644 --- a/source/level/layerback.cpp +++ b/source/level/layerback.cpp @@ -41,6 +41,7 @@ sBackSpriteInfo CLayerBack::InfoTab[]= {FRM_PUMPKIN,0,3}, {FRM_BUBBLE,NO_SPIN | NO_SCALE | NO_COLOR,3 }, {FRM_BUBBLESMALL,NO_SPIN | NO_SCALE | NO_COLOR,3}, +{FRM_FISHBONE,NO_COLOR,0}, }; /*****************************************************************************/ @@ -149,8 +150,8 @@ void CLayerBack::InitSprite(sBackSprite *SpritePtr) int StartPos=getRnd(); int Pos=getRnd(); -int XInc=(getRndRange((1<<((MOVE_SHIFT*2)/3))-1)+1)<Type].Flags & NO_MOVE)) { diff --git a/source/level/layerback.h b/source/level/layerback.h index e561046c6..66c2e5a21 100644 --- a/source/level/layerback.h +++ b/source/level/layerback.h @@ -57,6 +57,7 @@ public: PUMPKIN, BUBBLE, BUBBLESMALL, + FISHBONE, }; CLayerBack(sLayerHdr *Hdr,sTile *TileBank); diff --git a/source/level/level.cpp b/source/level/level.cpp index 719e449e2..065b2ddc1 100644 --- a/source/level/level.cpp +++ b/source/level/level.cpp @@ -180,18 +180,18 @@ sLvlTab LvlTable[]= {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0311_LVL,LEVELS_CHAPTER03_LEVEL03_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0312_LVL,LEVELS_CHAPTER03_LEVEL03_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0401_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2600,300,50,100, 96,432, CLayerBack::FLOWER,CLayerBack::FLOWER}, //132 - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0402_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 300,0,150,50, 368,110, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0403_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2550,400,100,150, 95,320, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0404_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2400,450,250,150, 100,272, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0405_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,600,100,200, 1910,464, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0405X_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,200,100,100, 144,288, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0406_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2000,400,100,100, 568,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0407_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0408_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0409_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0410_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, - {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0411_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0401_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2600,300,50,100, 96,432, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, //132 + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0402_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 300,0,150,50, 368,110, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0403_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2550,400,100,150, 95,320, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0404_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2400,450,250,150, 100,272, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0405_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,600,100,200, 1910,464, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0405X_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,200,100,100, 144,288, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0406_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 2000,400,100,100, 568,160, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0407_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0408_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0409_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0410_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, + {LEVELS_CHAPTER03_LEVEL04_TBK,LEVELS_CHAPTER03_LEVEL0411_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::FISHBONE,CLayerBack::FISHBONE}, // C4 {LEVELS_CHAPTER04_LEVEL01_TBK,LEVELS_CHAPTER04_LEVEL0101_LVL,LEVELS_CHAPTER04_LEVEL01_TEX, 250,1550,100,100, 117,272, CLayerBack::BUBBLE,CLayerBack::BUBBLESMALL}, //144 {LEVELS_CHAPTER04_LEVEL01_TBK,LEVELS_CHAPTER04_LEVEL0102_LVL,LEVELS_CHAPTER04_LEVEL01_TEX, 2200,1800,100,100, 758,656, CLayerBack::BUBBLE,CLayerBack::BUBBLESMALL}, @@ -298,7 +298,7 @@ sLvlTab LvlTable[]= {LEVELS_CHAPTER05_LEVEL04_TBK,LEVELS_CHAPTER05_LEVEL0412_LVL,LEVELS_CHAPTER05_LEVEL04_TEX, 0,0,50,50, 268,160, CLayerBack::BUBBLE,CLayerBack::BUBBLESMALL}, // C6 {LEVELS_CHAPTER06_LEVEL01_TBK,LEVELS_CHAPTER06_LEVEL0101_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, 2800,300,100,100, 109,416, CLayerBack::FLOWER,CLayerBack::FLOWER}, //240 - {LEVELS_CHAPTER06_LEVEL01_TBK,LEVELS_CHAPTER06_LEVEL0102_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, 1200,450,100,100, 192,1664, CLayerBack::FLOWER,CLayerBack::FLOWER}, + {LEVELS_CHAPTER06_LEVEL01_TBK,LEVELS_CHAPTER06_LEVEL0102_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, 1200,450,100,100, 192,1664, CLayerBack::BUBBLE,CLayerBack::BUBBLESMALL}, {LEVELS_CHAPTER06_LEVEL01_TBK,LEVELS_CHAPTER06_LEVEL0103_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, {LEVELS_CHAPTER06_LEVEL01_TBK,LEVELS_CHAPTER06_LEVEL0104_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, {LEVELS_CHAPTER06_LEVEL01_TBK,LEVELS_CHAPTER06_LEVEL0105_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, 0,0,50,50, 268,160, CLayerBack::FLOWER,CLayerBack::FLOWER}, @@ -368,7 +368,7 @@ void CLevel::init() #endif if (s_globalLevelSelectThing>=LvlTableSize) s_globalLevelSelectThing=0; - while (CFileIO::getFileSize(LvlTable[s_globalLevelSelectThing ].Level)==1492) // Dodgy blank level skip + while (CFileIO::getFileSize(LvlTable[s_globalLevelSelectThing ].Level)<=3636) // Dodgy blank level skip { s_globalLevelSelectThing++; if (s_globalLevelSelectThing>=LvlTableSize) s_globalLevelSelectThing=0;