diff --git a/data/DataCache.scr b/data/DataCache.scr index 447c32e02..dd35c9eb5 100644 --- a/data/DataCache.scr +++ b/data/DataCache.scr @@ -35,9 +35,33 @@ backdrop/credits.gfx backdrop/sky.gfx memcard/memhead.bin -levels/chapter02_level04.tex -levels/chapter02_level0401.lvl -levels/chapter02_level04.tbk +levels/CHAPTER03_LEVEL03.TBK +levels/chapter03_level03.tex +levels/CHAPTER03_LEVEL0301.Lvl +levels/CHAPTER03_LEVEL0302.Lvl +levels/CHAPTER03_LEVEL0303.Lvl +levels/CHAPTER03_LEVEL0304.Lvl +levels/CHAPTER03_LEVEL0305.Lvl +levels/CHAPTER03_LEVEL0306.Lvl + +levels/CHAPTER04_LEVEL03.TBK +levels/chapter04_level03.tex +levels/CHAPTER04_LEVEL0301.Lvl +levels/CHAPTER04_LEVEL0302.Lvl +levels/CHAPTER04_LEVEL0303.Lvl +levels/CHAPTER04_LEVEL0304.Lvl +levels/CHAPTER04_LEVEL0305.Lvl +levels/CHAPTER04_LEVEL0306.Lvl + +levels/CHAPTER04_LEVEL04.TBK +levels/chapter04_level04.tex +levels/CHAPTER04_LEVEL0401.Lvl +levels/CHAPTER04_LEVEL0402.Lvl +levels/CHAPTER04_LEVEL0403.Lvl +levels/CHAPTER04_LEVEL0404.Lvl +levels/CHAPTER04_LEVEL0405.Lvl +levels/CHAPTER04_LEVEL0406.Lvl +levels/CHAPTER04_LEVEL0407.Lvl actors/spongebob.a3d actors/spongebob.tex diff --git a/data/translations/text.dat b/data/translations/text.dat index cb607e057..1dda739c9 100644 --- a/data/translations/text.dat +++ b/data/translations/text.dat @@ -166,11 +166,117 @@ eng=Set CORALBLOWER mode eng=LEVEL SELECT [STR__DEBUG__LEVEL_SELECT_START] eng=START GAME -[STR__DEBUG__LEVEL_SELECT_00] -eng=00 -[STR__DEBUG__LEVEL_SELECT_01] -eng=01 -[STR__DEBUG__LEVEL_SELECT_02] -eng=02 -[STR__DEBUG__LEVEL_SELECT_03] -eng=03 + +[STR__DEBUG__LEVEL_SELECT_C3L301] +eng=CHAPTER 3 Level 3 Part 1 +[STR__DEBUG__LEVEL_SELECT_C3L302] +eng=CHAPTER 3 Level 3 Part 2 +[STR__DEBUG__LEVEL_SELECT_C3L303] +eng=CHAPTER 3 Level 3 Part 3 +[STR__DEBUG__LEVEL_SELECT_C3L304] +eng=CHAPTER 3 Level 3 Part 4 +[STR__DEBUG__LEVEL_SELECT_C3L305] +eng=CHAPTER 3 Level 3 Part 5 +[STR__DEBUG__LEVEL_SELECT_C3L305] +eng=CHAPTER 3 Level 3 Part 5 +[STR__DEBUG__LEVEL_SELECT_C3L306] +eng=CHAPTER 3 Level 3 Part 6 +[STR__DEBUG__LEVEL_SELECT_C3L307] +eng=CHAPTER 3 Level 3 Part 7 +[STR__DEBUG__LEVEL_SELECT_C3L308] +eng=CHAPTER 3 Level 3 Part 8 + +[STR__DEBUG__LEVEL_SELECT_C3L401] +eng=CHAPTER 3 Level 4 Part 1 +[STR__DEBUG__LEVEL_SELECT_C3L402] +eng=CHAPTER 3 Level 4 Part 2 +[STR__DEBUG__LEVEL_SELECT_C3L403] +eng=CHAPTER 3 Level 4 Part 3 +[STR__DEBUG__LEVEL_SELECT_C3L404] +eng=CHAPTER 3 Level 4 Part 4 +[STR__DEBUG__LEVEL_SELECT_C3L405] +eng=CHAPTER 3 Level 4 Part 5 +[STR__DEBUG__LEVEL_SELECT_C3L405] +eng=CHAPTER 3 Level 4 Part 5 +[STR__DEBUG__LEVEL_SELECT_C3L406] +eng=CHAPTER 3 Level 4 Part 6 +[STR__DEBUG__LEVEL_SELECT_C3L407] +eng=CHAPTER 3 Level 4 Part 7 +[STR__DEBUG__LEVEL_SELECT_C3L408] +eng=CHAPTER 3 Level 4 Part 8 + +[STR__DEBUG__LEVEL_SELECT_C4L101] +eng=CHAPTER 4 Level 1 Part 1 +[STR__DEBUG__LEVEL_SELECT_C4L102] +eng=CHAPTER 4 Level 1 Part 2 +[STR__DEBUG__LEVEL_SELECT_C4L103] +eng=CHAPTER 4 Level 1 Part 3 +[STR__DEBUG__LEVEL_SELECT_C4L104] +eng=CHAPTER 4 Level 1 Part 4 +[STR__DEBUG__LEVEL_SELECT_C4L105] +eng=CHAPTER 4 Level 1 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L105] +eng=CHAPTER 4 Level 1 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L106] +eng=CHAPTER 4 Level 1 Part 6 +[STR__DEBUG__LEVEL_SELECT_C4L107] +eng=CHAPTER 4 Level 1 Part 7 +[STR__DEBUG__LEVEL_SELECT_C4L108] +eng=CHAPTER 4 Level 1 Part 8 + +[STR__DEBUG__LEVEL_SELECT_C4L201] +eng=CHAPTER 4 Level 2 Part 1 +[STR__DEBUG__LEVEL_SELECT_C4L202] +eng=CHAPTER 4 Level 2 Part 2 +[STR__DEBUG__LEVEL_SELECT_C4L203] +eng=CHAPTER 4 Level 2 Part 3 +[STR__DEBUG__LEVEL_SELECT_C4L204] +eng=CHAPTER 4 Level 2 Part 4 +[STR__DEBUG__LEVEL_SELECT_C4L205] +eng=CHAPTER 4 Level 2 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L205] +eng=CHAPTER 4 Level 2 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L206] +eng=CHAPTER 4 Level 2 Part 6 +[STR__DEBUG__LEVEL_SELECT_C4L207] +eng=CHAPTER 4 Level 2 Part 7 +[STR__DEBUG__LEVEL_SELECT_C4L208] +eng=CHAPTER 4 Level 2 Part 8 + +[STR__DEBUG__LEVEL_SELECT_C4L301] +eng=CHAPTER 4 Level 3 Part 1 +[STR__DEBUG__LEVEL_SELECT_C4L302] +eng=CHAPTER 4 Level 3 Part 2 +[STR__DEBUG__LEVEL_SELECT_C4L303] +eng=CHAPTER 4 Level 3 Part 3 +[STR__DEBUG__LEVEL_SELECT_C4L304] +eng=CHAPTER 4 Level 3 Part 4 +[STR__DEBUG__LEVEL_SELECT_C4L305] +eng=CHAPTER 4 Level 3 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L305] +eng=CHAPTER 4 Level 3 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L306] +eng=CHAPTER 4 Level 3 Part 6 +[STR__DEBUG__LEVEL_SELECT_C4L307] +eng=CHAPTER 4 Level 3 Part 7 +[STR__DEBUG__LEVEL_SELECT_C4L308] +eng=CHAPTER 4 Level 3 Part 8 + +[STR__DEBUG__LEVEL_SELECT_C4L401] +eng=CHAPTER 4 Level 4 Part 1 +[STR__DEBUG__LEVEL_SELECT_C4L402] +eng=CHAPTER 4 Level 4 Part 2 +[STR__DEBUG__LEVEL_SELECT_C4L403] +eng=CHAPTER 4 Level 4 Part 3 +[STR__DEBUG__LEVEL_SELECT_C4L404] +eng=CHAPTER 4 Level 4 Part 4 +[STR__DEBUG__LEVEL_SELECT_C4L405] +eng=CHAPTER 4 Level 4 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L405] +eng=CHAPTER 4 Level 4 Part 5 +[STR__DEBUG__LEVEL_SELECT_C4L406] +eng=CHAPTER 4 Level 4 Part 6 +[STR__DEBUG__LEVEL_SELECT_C4L407] +eng=CHAPTER 4 Level 4 Part 7 +[STR__DEBUG__LEVEL_SELECT_C4L408] +eng=CHAPTER 4 Level 4 Part 8 diff --git a/makefile.gfx b/makefile.gfx index 1fa3c3b39..2d575ce19 100644 --- a/makefile.gfx +++ b/makefile.gfx @@ -38,7 +38,7 @@ TEMP_FILE := $(TEMP_BUILD_DIR)/build.tmp #---------------------------------------------------------------------------- #--- Levels ----------------------------------------------------------------- #---------------------------------------------------------------------------- -LEVELS_OPTS := -t:8,2,1 -s:256 +LEVELS_OPTS := -t:8,8,1 -s:256 LEVELS_IN_DIR := $(GRAF_DIR)/levels LEVELS_OUT_DIR := $(DATA_OUT)/levels LEVELS_MAKEFILE_DIR := $(TEMP_BUILD_DIR)/levels @@ -52,23 +52,23 @@ LEVELS_CHAPTER01_LEVEL02 := LEVELS_CHAPTER01_LEVEL03 := LEVELS_CHAPTER01_LEVEL04 := -LEVELS_CHAPTER02 := LEVEL04 +LEVELS_CHAPTER02 := LEVELS_CHAPTER02_LEVEL01 := LEVELS_CHAPTER02_LEVEL02 := LEVELS_CHAPTER02_LEVEL03 := -LEVELS_CHAPTER02_LEVEL04 := 01 +LEVELS_CHAPTER02_LEVEL04 := -LEVELS_CHAPTER03 := +LEVELS_CHAPTER03 := LEVEL03 LEVELS_CHAPTER03_LEVEL01 := LEVELS_CHAPTER03_LEVEL02 := -LEVELS_CHAPTER03_LEVEL03 := +LEVELS_CHAPTER03_LEVEL03 := 01 02 03 04 05 06 LEVELS_CHAPTER03_LEVEL04 := -LEVELS_CHAPTER04 := +LEVELS_CHAPTER04 := LEVEL03 LEVEL04 LEVELS_CHAPTER04_LEVEL01 := LEVELS_CHAPTER04_LEVEL02 := -LEVELS_CHAPTER04_LEVEL03 := -LEVELS_CHAPTER04_LEVEL04 := +LEVELS_CHAPTER04_LEVEL03 := 01 02 03 04 05 06 +LEVELS_CHAPTER04_LEVEL04 := 01 02 03 04 05 06 07 LEVELS_CHAPTER05 := LEVELS_CHAPTER05_LEVEL01 := diff --git a/source/frontend/start.cpp b/source/frontend/start.cpp index 7591f29f9..30b10140d 100644 --- a/source/frontend/start.cpp +++ b/source/frontend/start.cpp @@ -72,18 +72,106 @@ int CFrontEndStart::s_levelValues[]= { - 0, - 1, - 2, - 3, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, -1, }; CGUITextReadout::TextReadoutData CFrontEndStart::s_levelReadoutText[]= { - {0,STR__DEBUG__LEVEL_SELECT_00}, - {1,STR__DEBUG__LEVEL_SELECT_01}, - {2,STR__DEBUG__LEVEL_SELECT_02}, - {3,STR__DEBUG__LEVEL_SELECT_03}, + { 0,STR__DEBUG__LEVEL_SELECT_C3L301}, + { 1,STR__DEBUG__LEVEL_SELECT_C3L302}, + { 2,STR__DEBUG__LEVEL_SELECT_C3L303}, + { 3,STR__DEBUG__LEVEL_SELECT_C3L304}, + { 4,STR__DEBUG__LEVEL_SELECT_C3L305}, + { 5,STR__DEBUG__LEVEL_SELECT_C3L306}, +/* + { 8,STR__DEBUG__LEVEL_SELECT_C3L401}, + { 9,STR__DEBUG__LEVEL_SELECT_C3L402}, + {10,STR__DEBUG__LEVEL_SELECT_C3L403}, + {11,STR__DEBUG__LEVEL_SELECT_C3L404}, + {12,STR__DEBUG__LEVEL_SELECT_C3L405}, + {13,STR__DEBUG__LEVEL_SELECT_C3L406}, + {14,STR__DEBUG__LEVEL_SELECT_C3L407}, + {15,STR__DEBUG__LEVEL_SELECT_C3L408}, + + {16,STR__DEBUG__LEVEL_SELECT_C4L101}, + {17,STR__DEBUG__LEVEL_SELECT_C4L102}, + {18,STR__DEBUG__LEVEL_SELECT_C4L103}, + {19,STR__DEBUG__LEVEL_SELECT_C4L104}, + {20,STR__DEBUG__LEVEL_SELECT_C4L105}, + {21,STR__DEBUG__LEVEL_SELECT_C4L106}, + {22,STR__DEBUG__LEVEL_SELECT_C4L107}, + {23,STR__DEBUG__LEVEL_SELECT_C4L108}, + + {24,STR__DEBUG__LEVEL_SELECT_C4L201}, + {25,STR__DEBUG__LEVEL_SELECT_C4L202}, + {26,STR__DEBUG__LEVEL_SELECT_C4L203}, + {27,STR__DEBUG__LEVEL_SELECT_C4L204}, + {28,STR__DEBUG__LEVEL_SELECT_C4L205}, + {29,STR__DEBUG__LEVEL_SELECT_C4L206}, + {30,STR__DEBUG__LEVEL_SELECT_C4L207}, + {31,STR__DEBUG__LEVEL_SELECT_C4L208}, +*/ + {6,STR__DEBUG__LEVEL_SELECT_C4L301}, + {7,STR__DEBUG__LEVEL_SELECT_C4L302}, + {8,STR__DEBUG__LEVEL_SELECT_C4L303}, + {9,STR__DEBUG__LEVEL_SELECT_C4L304}, + {10,STR__DEBUG__LEVEL_SELECT_C4L305}, + {11,STR__DEBUG__LEVEL_SELECT_C4L306}, + + {12,STR__DEBUG__LEVEL_SELECT_C4L401}, + {13,STR__DEBUG__LEVEL_SELECT_C4L402}, + {14,STR__DEBUG__LEVEL_SELECT_C4L403}, + {15,STR__DEBUG__LEVEL_SELECT_C4L404}, + {16,STR__DEBUG__LEVEL_SELECT_C4L405}, + {17,STR__DEBUG__LEVEL_SELECT_C4L406}, + {18,STR__DEBUG__LEVEL_SELECT_C4L407}, }; extern int s_globalLevelSelectThing; diff --git a/source/level/level.cpp b/source/level/level.cpp index c3324f4e4..e64387e87 100644 --- a/source/level/level.cpp +++ b/source/level/level.cpp @@ -21,6 +21,45 @@ DVECTOR CLevel::MapPos; +struct sLvlTab +{ + FileEquate TileBank,Level,Tex; +}; + +sLvlTab LvlTable[]= +{ +// C3 L3 - 6 parts + {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0301_LVL,LEVELS_CHAPTER03_LEVEL03_TEX}, // 0 + {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0302_LVL,LEVELS_CHAPTER03_LEVEL03_TEX}, // 1 + {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0303_LVL,LEVELS_CHAPTER03_LEVEL03_TEX}, // 2 + {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0304_LVL,LEVELS_CHAPTER03_LEVEL03_TEX}, // 3 + {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0305_LVL,LEVELS_CHAPTER03_LEVEL03_TEX}, // 4 + {LEVELS_CHAPTER03_LEVEL03_TBK,LEVELS_CHAPTER03_LEVEL0306_LVL,LEVELS_CHAPTER03_LEVEL03_TEX}, // 5 +// C3 L4 +// {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0401_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // +// C4 L1 +// {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0401_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // +// C4 L2 +// {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0401_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // +// C4 L3 - 6 parts + {LEVELS_CHAPTER04_LEVEL03_TBK,LEVELS_CHAPTER04_LEVEL0301_LVL,LEVELS_CHAPTER04_LEVEL03_TEX}, // 6 + {LEVELS_CHAPTER04_LEVEL03_TBK,LEVELS_CHAPTER04_LEVEL0302_LVL,LEVELS_CHAPTER04_LEVEL03_TEX}, // 7 + {LEVELS_CHAPTER04_LEVEL03_TBK,LEVELS_CHAPTER04_LEVEL0303_LVL,LEVELS_CHAPTER04_LEVEL03_TEX}, // 8 + {LEVELS_CHAPTER04_LEVEL03_TBK,LEVELS_CHAPTER04_LEVEL0304_LVL,LEVELS_CHAPTER04_LEVEL03_TEX}, // 9 + {LEVELS_CHAPTER04_LEVEL03_TBK,LEVELS_CHAPTER04_LEVEL0305_LVL,LEVELS_CHAPTER04_LEVEL03_TEX}, // 10 + {LEVELS_CHAPTER04_LEVEL03_TBK,LEVELS_CHAPTER04_LEVEL0306_LVL,LEVELS_CHAPTER04_LEVEL03_TEX}, // 11 +// C3 L4 - 7 parts + {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0401_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // 12 + {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0402_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // 13 + {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0403_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // 14 + {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0404_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // 15 + {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0405_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // 16 + {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0406_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // 17 + {LEVELS_CHAPTER04_LEVEL04_TBK,LEVELS_CHAPTER04_LEVEL0407_LVL,LEVELS_CHAPTER04_LEVEL04_TEX}, // 18 + +}; + +extern int s_globalLevelSelectThing; /*****************************************************************************/ void CLevel::init() { @@ -30,10 +69,14 @@ void CLevel::init() } MapPos.vx=0; MapPos.vy=0; - +/* TileBankHdr=(sTileBankHdr *)CFileIO::loadFile(LEVELS_CHAPTER02_LEVEL04_TBK,"Tile Bank Data"); LevelHdr=(sLvlHdr *)CFileIO::loadFile(LEVELS_CHAPTER02_LEVEL0401_LVL,"Level Data"); m_levelTPage=TPLoadTex(LEVELS_CHAPTER02_LEVEL04_TEX); +*/ + TileBankHdr=(sTileBankHdr *)CFileIO::loadFile(LvlTable[s_globalLevelSelectThing].TileBank,"Tile Bank Data"); + LevelHdr=(sLvlHdr *)CFileIO::loadFile(LvlTable[s_globalLevelSelectThing ].Level,"Level Data"); + m_levelTPage=TPLoadTex(LvlTable[s_globalLevelSelectThing ].Tex); initLayers(); }