2541 lines
136 KiB
XML
Executable File
2541 lines
136 KiB
XML
Executable File
USING "gunslinger_arcade_using.sch"
|
|
|
|
PROC TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(VECTOR_2D vPos, VECTOR_2D vSize, STRING sSprite, INT iLane)
|
|
|
|
sTLGData.sBackgroundData[sTLGData.iNumberOfBackgroundElements].bRendering = TRUE
|
|
sTLGData.sBackgroundData[sTLGData.iNumberOfBackgroundElements].vSpritePos = vPos
|
|
sTLGData.sBackgroundData[sTLGData.iNumberOfBackgroundElements].vSpriteSize = vSize
|
|
sTLGData.sBackgroundData[sTLGData.iNumberOfBackgroundElements].sSprite = sSprite
|
|
sTLGData.sBackgroundData[sTLGData.iNumberOfBackgroundElements].iLane = iLane
|
|
sTLGData.sBackgroundData[sTLGData.iNumberOfBackgroundElements].bRendering = TRUE
|
|
sTLGData.iNumberOfBackgroundElements++
|
|
|
|
ENDPROC
|
|
|
|
PROC TLG_INIT_BACKGROUND(TLG_LEVELS level)
|
|
|
|
sTLGData.iFade = 255
|
|
sTLGData.bFadingOut = FALSE
|
|
FLOAT fXPos
|
|
FLOAT fCloudSpace
|
|
FLOAT fCaveBackgroundWall
|
|
FLOAT fCaveBackgroundRocks
|
|
FLOAT fGraveyardClouds
|
|
FLOAT fGraveyardFence
|
|
FLOAT fGraveyardTrees
|
|
|
|
INT i = 0, j = 0
|
|
WHILE j < ciTLG_MAX_BACKGROUND_TILES
|
|
|
|
sTLGData.sBackgroundTilesData[j].vSpritePos.X = TO_FLOAT(i)
|
|
i += 276
|
|
j ++
|
|
|
|
ENDWHILE
|
|
|
|
SWITCH level
|
|
CASE TLG_LEVEL_DESERT
|
|
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(50, 350), INIT_VECTOR_2D(cfTLG_CANYON_4_SPRITE_WIDTH, cfTLG_CANYON_4_SPRITE_HEIGHT), "canyon4", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(300, 350), INIT_VECTOR_2D(cfTLG_CANYON_4_SPRITE_WIDTH, cfTLG_CANYON_4_SPRITE_HEIGHT), "canyon4", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(700, 350), INIT_VECTOR_2D(cfTLG_CANYON_4_SPRITE_WIDTH, cfTLG_CANYON_4_SPRITE_HEIGHT), "canyon4", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(960, 350), INIT_VECTOR_2D(cfTLG_CANYON_4_SPRITE_WIDTH, cfTLG_CANYON_4_SPRITE_HEIGHT), "canyon4", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1100, 350), INIT_VECTOR_2D(cfTLG_CANYON_4_SPRITE_WIDTH, cfTLG_CANYON_4_SPRITE_HEIGHT), "canyon4", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1300, 350), INIT_VECTOR_2D(cfTLG_CANYON_4_SPRITE_WIDTH, cfTLG_CANYON_4_SPRITE_HEIGHT), "canyon4", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1800, 350), INIT_VECTOR_2D(cfTLG_CANYON_4_SPRITE_WIDTH, cfTLG_CANYON_4_SPRITE_HEIGHT), "canyon4", 0)
|
|
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(cfTLG_LEVEL1_CLOUD_X, cfTLG_LEVEL1_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL1_CLOUD_WIDTH, cfTLG_LEVEL1_CLOUD_HEIGHT), "LEVEL_01_DESERT_CLOUDS_TILE", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(cfTLG_LEVEL1_CLOUD_X+cfTLG_LEVEL1_CLOUD_WIDTH, cfTLG_LEVEL1_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL1_CLOUD_WIDTH, cfTLG_LEVEL1_CLOUD_HEIGHT), "LEVEL_01_DESERT_CLOUDS_TILE", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(cfTLG_LEVEL1_CLOUD_X+(cfTLG_LEVEL1_CLOUD_WIDTH*2.0), cfTLG_LEVEL1_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL1_CLOUD_WIDTH, cfTLG_LEVEL1_CLOUD_HEIGHT), "LEVEL_01_DESERT_CLOUDS_TILE", 0)
|
|
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(200, 305), INIT_VECTOR_2D(cfTLG_CANYON_1_SPRITE_WIDTH, cfTLG_CANYON_1_SPRITE_HEIGHT), "canyon1", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(350, 305), INIT_VECTOR_2D(cfTLG_CANYON_1_SPRITE_WIDTH, cfTLG_CANYON_1_SPRITE_HEIGHT), "canyon2", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(700, 305), INIT_VECTOR_2D(cfTLG_CANYON_2_SPRITE_WIDTH, cfTLG_CANYON_2_SPRITE_HEIGHT), "canyon3", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(900, 305), INIT_VECTOR_2D(cfTLG_CANYON_1_SPRITE_WIDTH, cfTLG_CANYON_1_SPRITE_HEIGHT), "canyon1", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1200, 305), INIT_VECTOR_2D(cfTLG_CANYON_1_SPRITE_WIDTH, cfTLG_CANYON_1_SPRITE_HEIGHT), "canyon2", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1450, 305), INIT_VECTOR_2D(cfTLG_CANYON_2_SPRITE_WIDTH, cfTLG_CANYON_2_SPRITE_HEIGHT), "canyon3", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1750, 305), INIT_VECTOR_2D(cfTLG_CANYON_1_SPRITE_WIDTH, cfTLG_CANYON_1_SPRITE_HEIGHT), "canyon1", 1)
|
|
|
|
BREAK
|
|
CASE TLG_LEVEL_TOWN
|
|
|
|
fXPos = cfTLG_LEVEL2_CLOUD_X
|
|
fCloudSpace = cfTLG_LEVEL2_CLOUD_GAP
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL2_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL2_CLOUD1_WIDTH, cfTLG_LEVEL2_CLOUD1_HEIGHT), "LEVEL_02_TOWN_BACKGROUND_CLOUDS_01", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL2_CLOUD1_WIDTH/2.0) + (cfTLG_LEVEL2_CLOUD2_WIDTH/2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL2_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL2_CLOUD2_WIDTH, cfTLG_LEVEL2_CLOUD2_HEIGHT), "LEVEL_02_TOWN_BACKGROUND_CLOUDS_02", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL2_CLOUD2_WIDTH / 2.0) + (cfTLG_LEVEL2_CLOUD3_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL2_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL2_CLOUD3_WIDTH, cfTLG_LEVEL2_CLOUD3_HEIGHT), "LEVEL_02_TOWN_BACKGROUND_CLOUDS_03", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL2_CLOUD3_WIDTH / 2.0) + (cfTLG_LEVEL2_CLOUD4_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL2_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL2_CLOUD4_WIDTH, cfTLG_LEVEL2_CLOUD4_HEIGHT), "LEVEL_02_TOWN_BACKGROUND_CLOUDS_04", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL2_CLOUD4_WIDTH / 2.0) + (cfTLG_LEVEL2_CLOUD5_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL2_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL2_CLOUD5_WIDTH, cfTLG_LEVEL2_CLOUD5_HEIGHT), "LEVEL_02_TOWN_BACKGROUND_CLOUDS_05", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL2_CLOUD5_WIDTH / 2.0) + (cfTLG_LEVEL2_CLOUD6_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL2_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL2_CLOUD6_WIDTH, cfTLG_LEVEL2_CLOUD6_HEIGHT), "LEVEL_02_TOWN_BACKGROUND_CLOUDS_06", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL2_CLOUD6_WIDTH / 2.0) + (cfTLG_LEVEL2_CLOUD7_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL2_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL2_CLOUD7_WIDTH, cfTLG_LEVEL2_CLOUD7_HEIGHT), "LEVEL_02_TOWN_BACKGROUND_CLOUDS_07", 0)
|
|
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(cfTLG_MOUNTAIN_1_SPRITE_X, cfTLG_MOUNTAIN_1_SPRITE_Y), INIT_VECTOR_2D(cfTLG_MOUNTAIN_1_SPRITE_WIDTH, cfTLG_MOUNTAIN_1_SPRITE_HEIGHT), "mountains", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(cfTLG_MOUNTAIN_1_SPRITE_X+cfTLG_MOUNTAIN_1_SPRITE_WIDTH, cfTLG_MOUNTAIN_1_SPRITE_Y), INIT_VECTOR_2D(cfTLG_MOUNTAIN_1_SPRITE_WIDTH, cfTLG_MOUNTAIN_1_SPRITE_HEIGHT), "mountains", 0)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(cfTLG_MOUNTAIN_1_SPRITE_X+( 2 * cfTLG_MOUNTAIN_1_SPRITE_WIDTH), cfTLG_MOUNTAIN_1_SPRITE_Y), INIT_VECTOR_2D(cfTLG_MOUNTAIN_1_SPRITE_WIDTH, cfTLG_MOUNTAIN_1_SPRITE_HEIGHT), "mountains", 0)
|
|
// 7 small mountains
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(200, 320), INIT_VECTOR_2D(cfTLG_MOUNTAIN_2_SPRITE_WIDTH, cfTLG_MOUNTAIN_2_SPRITE_HEIGHT), "mountain-small1", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(350, 320), INIT_VECTOR_2D(cfTLG_MOUNTAIN_2_SPRITE_WIDTH, cfTLG_MOUNTAIN_2_SPRITE_HEIGHT), "mountain-small1", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(700, 320), INIT_VECTOR_2D(cfTLG_MOUNTAIN_2_SPRITE_WIDTH, cfTLG_MOUNTAIN_2_SPRITE_HEIGHT), "mountain-small2", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(900, 320), INIT_VECTOR_2D(cfTLG_MOUNTAIN_2_SPRITE_WIDTH, cfTLG_MOUNTAIN_2_SPRITE_HEIGHT), "mountain-small1", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1200, 320), INIT_VECTOR_2D(cfTLG_MOUNTAIN_2_SPRITE_WIDTH, cfTLG_MOUNTAIN_2_SPRITE_HEIGHT), "mountain-small2", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1450, 320), INIT_VECTOR_2D(cfTLG_MOUNTAIN_2_SPRITE_WIDTH, cfTLG_MOUNTAIN_2_SPRITE_HEIGHT), "mountain-small1", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1750, 320), INIT_VECTOR_2D(cfTLG_MOUNTAIN_2_SPRITE_WIDTH, cfTLG_MOUNTAIN_2_SPRITE_HEIGHT), "mountain-small2", 1)
|
|
|
|
|
|
// Small fences
|
|
FLOAT fFirstFenceX
|
|
fFirstFenceX = 184
|
|
VECTOR_2D v2Pos
|
|
FOR i = 0 TO 20 // 21 across 7 background tiles
|
|
v2Pos = INIT_VECTOR_2D(fFirstFenceX + (i * cfTLG_FENCE_SMALL_SPRITE_WIDTH), 415)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Pos, INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
ENDFOR
|
|
|
|
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(292, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(384, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(476, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(568, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(660, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(752, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(844, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(936, 415), INIT_VECTOR_2D(cfTLG_FENCE_SMALL_SPRITE_WIDTH, cfTLG_FENCE_SMALL_SPRITE_HEIGHT), "fence-small", 1)
|
|
|
|
// Rocks
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(700, 675), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "rocks", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(800, 755), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "rocks", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1000, 895), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "rocks", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1300, 1000), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "rocks", 1)
|
|
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST
|
|
fXPos = cfTLG_LEVEL3_CLOUD_X
|
|
fCloudSpace = cfTLG_LEVEL3_CLOUD_GAP
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL3_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL3_CLOUD1_WIDTH, cfTLG_LEVEL3_CLOUD1_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_CLOUDS_01", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL3_CLOUD1_WIDTH/2.0) + (cfTLG_LEVEL3_CLOUD2_WIDTH/2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL3_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL3_CLOUD2_WIDTH, cfTLG_LEVEL3_CLOUD2_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_CLOUDS_02", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL3_CLOUD2_WIDTH / 2.0) + (cfTLG_LEVEL3_CLOUD3_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL3_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL3_CLOUD3_WIDTH, cfTLG_LEVEL3_CLOUD3_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_CLOUDS_03", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL3_CLOUD3_WIDTH / 2.0) + (cfTLG_LEVEL3_CLOUD4_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL3_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL3_CLOUD4_WIDTH, cfTLG_LEVEL3_CLOUD4_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_CLOUDS_04", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL3_CLOUD4_WIDTH / 2.0) + (cfTLG_LEVEL3_CLOUD5_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL3_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL3_CLOUD5_WIDTH, cfTLG_LEVEL3_CLOUD5_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_CLOUDS_05", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL3_CLOUD5_WIDTH / 2.0) + (cfTLG_LEVEL3_CLOUD6_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL3_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL3_CLOUD6_WIDTH, cfTLG_LEVEL3_CLOUD6_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_CLOUDS_06", 0)
|
|
|
|
fXPos += (cfTLG_LEVEL3_CLOUD6_WIDTH / 2.0) + (cfTLG_LEVEL3_CLOUD7_WIDTH / 2.0) + fCloudSpace
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(fXPos, cfTLG_LEVEL3_CLOUD_Y), INIT_VECTOR_2D(cfTLG_LEVEL3_CLOUD7_WIDTH, cfTLG_LEVEL3_CLOUD7_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_CLOUDS_07", 0)
|
|
|
|
FLOAT fFirstBackgroundTrees
|
|
fFirstBackgroundTrees = cfTLG_LEVEL3_BACKGROUND_TREES_X
|
|
VECTOR_2D v2Trees
|
|
FOR i = 0 TO 6
|
|
v2Trees = INIT_VECTOR_2D(fFirstBackgroundTrees + (i * cfTLG_LEVEL3_BACKGROUND_TREES_WIDTH), cfTLG_LEVEL3_BACKGROUND_TREES_Y)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Trees, INIT_VECTOR_2D(cfTLG_LEVEL3_BACKGROUND_TREES_WIDTH, cfTLG_LEVEL3_BACKGROUND_TREES_HEIGHT), "LEVEL_03_FOREST_BACKGROUND_TREES", 0)
|
|
ENDFOR
|
|
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1288.125, 696.625), INIT_VECTOR_2D(cfTLG_FOREST_GRASS_SPRITE_WIDTH, cfTLG_FOREST_GRASS_SPRITE_HEIGHT), "FOREST_FLOOR_GRASS", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(665.750, 851.250), INIT_VECTOR_2D(cfTLG_FOREST_GRASS_SPRITE_WIDTH, cfTLG_FOREST_GRASS_SPRITE_HEIGHT), "FOREST_FLOOR_GRASS", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(855.000, 660.000), INIT_VECTOR_2D(cfTLG_FOREST_ROCKS_SPRITE_WIDTH, cfTLG_FOREST_ROCKS_SPRITE_HEIGHT), "LEVEL_03_FOREST_ROCKS", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1275.000, 905), INIT_VECTOR_2D(cfTLG_FOREST_ROCKS_SPRITE_WIDTH, cfTLG_FOREST_ROCKS_SPRITE_HEIGHT), "LEVEL_03_FOREST_ROCKS", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1110.000, 485), INIT_VECTOR_2D(cfTLG_FOREST_ROCKS_SPRITE_WIDTH, cfTLG_FOREST_ROCKS_SPRITE_HEIGHT), "LEVEL_03_FOREST_ROCKS", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1000, 895), INIT_VECTOR_2D(cfTLG_FOREST_GRASS_SPRITE_WIDTH, cfTLG_FOREST_GRASS_SPRITE_HEIGHT), "FOREST_FLOOR_GRASS", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1300, 1000), INIT_VECTOR_2D(cfTLG_FOREST_GRASS_SPRITE_WIDTH, cfTLG_FOREST_GRASS_SPRITE_HEIGHT), "FOREST_FLOOR_GRASS", 1)
|
|
|
|
BREAK
|
|
CASE TLG_LEVEL_MINE
|
|
fCaveBackgroundWall = cfTLG_LEVEL4_BACKGROUND_SURFACE_X
|
|
fCaveBackgroundRocks = cfTLG_LEVEL4_BACKGROUND_ROCKS_X
|
|
VECTOR_2D v2Cave
|
|
FOR i = 0 TO 6
|
|
v2Cave = INIT_VECTOR_2D(fCaveBackgroundWall + (i * cfTLG_LEVEL4_BACKGROUND_SURFACE_WIDTH), cfTLG_LEVEL4_BACKGROUND_SURFACE_Y)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Cave, INIT_VECTOR_2D(cfTLG_LEVEL4_BACKGROUND_SURFACE_WIDTH, cfTLG_LEVEL4_BACKGROUND_SURFACE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_BACKGROUND_CAVE", 0)
|
|
ENDFOR
|
|
|
|
FOR i = 0 TO 6
|
|
v2Cave = INIT_VECTOR_2D(fCaveBackgroundRocks + (i * cfTLG_LEVEL4_BACKGROUND_ROCKS_WIDTH), cfTLG_LEVEL4_BACKGROUND_ROCKS_Y)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Cave, INIT_VECTOR_2D(cfTLG_LEVEL4_BACKGROUND_ROCKS_WIDTH, cfTLG_LEVEL4_BACKGROUND_ROCKS_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE_02", 0)
|
|
ENDFOR
|
|
|
|
// Cave roof
|
|
fCaveBackgroundRocks = cfTLG_ROCK_TOP_SPRITE_WIDTH
|
|
FOR i = 0 TO 6
|
|
v2Cave = INIT_VECTOR_2D(fCaveBackgroundRocks + (i * cfTLG_ROCK_TOP_SPRITE_WIDTH), 100)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Cave, INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
ENDFOR
|
|
|
|
// Railway
|
|
fCaveBackgroundRocks = cfTLG_RAILWAY_SPRITE_WIDTH
|
|
FOR i = 0 TO 6
|
|
v2Cave = INIT_VECTOR_2D(fCaveBackgroundRocks + (i * cfTLG_RAILWAY_SPRITE_WIDTH), 410)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Cave, INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
ENDFOR
|
|
//-- Railway
|
|
|
|
// Wooden structures
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(500, 220), INIT_VECTOR_2D(cfTLG_WOODENSTRUCTURE_SPRITE_WIDTH, cfTLG_WOODENSTRUCTURE_SPRITE_HEIGHT), "WOODENSTRUCTURE", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1000, 220), INIT_VECTOR_2D(cfTLG_WOODENSTRUCTURE_SPRITE_WIDTH, cfTLG_WOODENSTRUCTURE_SPRITE_HEIGHT), "WOODENSTRUCTURE", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1500, 220), INIT_VECTOR_2D(cfTLG_WOODENSTRUCTURE_SPRITE_WIDTH, cfTLG_WOODENSTRUCTURE_SPRITE_HEIGHT), "WOODENSTRUCTURE", 1)
|
|
|
|
// CAVE ROOF
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(142, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(426, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(710, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(994, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1278, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1562, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1846, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(2130, 100), INIT_VECTOR_2D(cfTLG_ROCK_TOP_SPRITE_WIDTH, cfTLG_ROCK_TOP_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_CAVE_TILE", 1)
|
|
|
|
// RAILWAY
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(142, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(426, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(710, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(994, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1278, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1562, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1846, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(2130, 410), INIT_VECTOR_2D(cfTLG_RAILWAY_SPRITE_WIDTH, cfTLG_RAILWAY_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ASSETS_10", 1)
|
|
|
|
//-- Surface Rocks
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(700, 675), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ROCK", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1020.0, 785), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ROCK", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1365.0, 545.0), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ROCK", 1)
|
|
// TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1300, 1000), INIT_VECTOR_2D(cfTLG_ROCKS_SPRITE_WIDTH, cfTLG_ROCKS_SPRITE_HEIGHT), "LEVEL_04_GOLDMINE_ROCK", 1)
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
fGraveyardClouds = cfTLG_LEVEL5_BACKGROUND_CLOUDS_X
|
|
fGraveyardFence = cfTLG_LEVEL5_BACKGROUND_FENCE_X
|
|
fGraveyardTrees = cfTLG_LEVEL5_BACKGROUND_TREES_X
|
|
|
|
VECTOR_2D v2Graveyard
|
|
FOR i = 0 TO 6
|
|
v2Graveyard = INIT_VECTOR_2D(fGraveyardClouds + (i * cfTLG_LEVEL5_BACKGROUND_CLOUDS_WIDTH), cfTLG_LEVEL5_BACKGROUND_CLOUDS_Y)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Graveyard, INIT_VECTOR_2D(cfTLG_LEVEL5_BACKGROUND_CLOUDS_WIDTH, cfTLG_LEVEL5_BACKGROUND_CLOUDS_HEIGHT), "LEVEL_05_GRAVEYARD_BACKGROUND_CLOUDS", 0)
|
|
ENDFOR
|
|
|
|
FOR i = 0 TO 6
|
|
v2Graveyard = INIT_VECTOR_2D(fGraveyardTrees + (i * cfTLG_LEVEL5_BACKGROUND_TREES_WIDTH), cfTLG_LEVEL5_BACKGROUND_TREES_Y)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Graveyard, INIT_VECTOR_2D(cfTLG_LEVEL5_BACKGROUND_TREES_WIDTH, cfTLG_LEVEL5_BACKGROUND_TREES_HEIGHT), "LEVEL_05_GRAVEYARD_BACKGROUND_TILE_TREES", 0)
|
|
ENDFOR
|
|
|
|
FOR i = 0 TO 6
|
|
v2Graveyard = INIT_VECTOR_2D(fGraveyardFence + (i * cfTLG_LEVEL5_BACKGROUND_FENCE_WIDTH), cfTLG_LEVEL5_BACKGROUND_FENCE_Y)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(v2Graveyard, INIT_VECTOR_2D(cfTLG_LEVEL5_BACKGROUND_FENCE_WIDTH, cfTLG_LEVEL5_BACKGROUND_FENCE_HEIGHT), "LEVEL_05_GRAVEYARD_BACKGROUND_TILE_GATE", 0)
|
|
ENDFOR
|
|
|
|
// Trees
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(500, 260), INIT_VECTOR_2D(cfTLG_GRAVEYARD_TREE_1_SPRITE_WIDTH, cfTLG_GRAVEYARD_TREE_1_SPRITE_HEIGHT), "LEVEL_05_GRAVEYARD_TREE_01", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1000, 260), INIT_VECTOR_2D(cfTLG_GRAVEYARD_TREE_2_SPRITE_WIDTH, cfTLG_GRAVEYARD_TREE_2_SPRITE_HEIGHT), "LEVEL_05_GRAVEYARD_TREE_02", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1500, 260), INIT_VECTOR_2D(cfTLG_GRAVEYARD_TREE_3_SPRITE_WIDTH, cfTLG_GRAVEYARD_TREE_3_SPRITE_HEIGHT), "LEVEL_05_GRAVEYARD_TREE_03", 1)
|
|
|
|
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(700, 400), INIT_VECTOR_2D(cfTLG_BACKGROUND_TOMBS_SPRITE_WIDTH, cfTLG_BACKGROUND_TOMBS_SPRITE_HEIGHT), "TOMBSTONES_1", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(300, 450), INIT_VECTOR_2D(cfTLG_BACKGROUND_TOMBS_SPRITE_WIDTH, cfTLG_BACKGROUND_TOMBS_SPRITE_HEIGHT), "TOMBSTONES_2", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1300, 420), INIT_VECTOR_2D(cfTLG_BACKGROUND_TOMBS_SPRITE_WIDTH, cfTLG_BACKGROUND_TOMBS_SPRITE_HEIGHT), "TOMBSTONES_2", 1)
|
|
TLG_ADD_BACKGROUND_ELEMENT_TO_LIST(INIT_VECTOR_2D(1700, 450), INIT_VECTOR_2D(cfTLG_BACKGROUND_TOMBS_SPRITE_WIDTH, cfTLG_BACKGROUND_TOMBS_SPRITE_HEIGHT), "TOMBSTONES_1", 1)
|
|
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
FOR i = 0 TO ciTLG_MAX_BACKGROUND_ELEMS - 1
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[TLG_INIT_BACKGROUND] Element ", i, " Type: ", sTLGData.sBackgroundData[i].sSprite)
|
|
ENDFOR
|
|
#ENDIF
|
|
ENDPROC
|
|
|
|
FUNC INT TLG_GET_FREE_SLOT_FOR_ITEM()
|
|
INT i
|
|
REPEAT ciTLG_MAX_ITEMS i
|
|
IF sTLGData.sItemData[i].bRendering = FALSE
|
|
AND sTLGData.sItemData[i].iRenderAfterWarpCount = 0
|
|
AND sTLGData.sItemData[i].iMinActiveStage = 0
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST] Using slot ", i)
|
|
RETURN i
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
RETURN -1
|
|
|
|
ENDFUNC
|
|
// Items
|
|
PROC TLG_ADD_ITEM_TO_LIST(VECTOR_2D vPos, TLG_COLLECTIBLE_TYPES eType, INT iLane, INT iRenderAfterWarpCount = 0, FLOAT fForceScale = 1.0, INT iMinStageActive = 0)
|
|
INT iSlotToUse = TLG_GET_FREE_SLOT_FOR_ITEM()
|
|
|
|
IF iSlotToUse = -1
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST] Not adding item type ", TLG_GET_COLLECTIBLE_TYPE_AS_STRING(eType), " as ran out of slots")
|
|
#ENDIF
|
|
EXIT
|
|
ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST] Add item type ", TLG_GET_COLLECTIBLE_TYPE_AS_STRING(eType), " Lane: ", iLane, " Pos: ", vPos.x, ", ", vPos.y, " iRenderAfterWarpCount: ", iRenderAfterWarpCount, " fForceScale: ", fForceScale, " Num so far (inc this): ", sTLGData.iNumberOfItems + 1)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST] Slot to use: ", iSlotToUse, " iMinActiveStage: ", iMinStageActive)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#ENDIF
|
|
|
|
|
|
IF iRenderAfterWarpCount = 0
|
|
AND iMinStageActive = 0
|
|
sTLGData.sItemData[iSlotToUse].bRendering = TRUE
|
|
ENDIF
|
|
|
|
sTLGData.sItemData[iSlotToUse].iMinActiveStage = iMinStageActive
|
|
sTLGData.sItemData[iSlotToUse].bShot = FALSE
|
|
sTLGData.sItemData[iSlotToUse].vSpritePos = vPos
|
|
sTLGData.sItemData[iSlotToUse].eItemType = eType
|
|
sTLGData.sItemData[iSlotToUse].iLane = iLane
|
|
sTLGData.sItemData[iSlotToUse].iRenderAfterWarpCount = iRenderAfterWarpCount
|
|
sTLGData.sItemData[iSlotToUse].iWarpCount = 0
|
|
|
|
SWITCH (sTLGData.sItemData[iSlotToUse].eItemType)
|
|
CASE TLG_MACHINE_GUN_AMMO
|
|
sTLGData.sItemData[iSlotToUse].vSize = INIT_VECTOR_2D(cfTLG_SPRITE_HUD_AMMO_WIDTH, cfTLG_SPRITE_HUD_AMMO_HEIGHT)
|
|
BREAK
|
|
CASE TLG_REVOLVER_AMMO
|
|
sTLGData.sItemData[iSlotToUse].vSize = INIT_VECTOR_2D(cfTLG_SPRITE_HUD_PISTOL_AMMO_CLIP_WIDTH, cfTLG_SPRITE_HUD_PISTOL_AMMO_CLIP_HEIGHT)
|
|
BREAK
|
|
CASE TLG_HEALTH
|
|
sTLGData.sItemData[iSlotToUse].vSize = INIT_VECTOR_2D(cfTLG_ITEM_HEALTH_WIDTH, cfTLG_ITEM_HEALTH_HEIGHT)
|
|
BREAK
|
|
|
|
CASE TLG_SHOTGUN_AMMO
|
|
sTLGData.sItemData[iSlotToUse].vSize = INIT_VECTOR_2D(cfTLG_SPRITE_HUD_SHOTGUN_AMMO_CLIP_WIDTH, cfTLG_SPRITE_HUD_SHOTGUN_AMMO_CLIP_HEIGHT)
|
|
BREAK
|
|
|
|
CASE TLG_SNAKE_OIL
|
|
sTLGData.sItemData[iSlotToUse].vSize = INIT_VECTOR_2D(cfTLG_ITEM_SNAKE_OIL_WIDTH, cfTLG_ITEM_SNAKE_OIL_HEIGHT)
|
|
BREAK
|
|
|
|
CASE TLG_SHERIFF
|
|
sTLGData.sItemData[iSlotToUse].vSize = INIT_VECTOR_2D(cfTLG_ITEM_SHERIFF_WIDTH, cfTLG_ITEM_SHERIFF_HEIGHT)
|
|
BREAK
|
|
|
|
CASE TLG_RIFLE_AMMO
|
|
sTLGData.sItemData[iSlotToUse].vSize = INIT_VECTOR_2D(cfTLG_SPRITE_HUD_RIFLE_AMMO_CLIP_WIDTH, cfTLG_SPRITE_HUD_RIFLE_AMMO_CLIP_HEIGHT)
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
sTLGData.sItemData[iSlotToUse].vSize.x *= fForceScale
|
|
sTLGData.sItemData[iSlotToUse].vSize.y *= fForceScale
|
|
sTLGData.iNumberOfItems ++
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL TLG_CAN_SHOOT_THROUGH_COVER_TYPE(TLG_ASSET_TYPES eType)
|
|
IF TLG_GET_CURRENT_LEVEL() = TLG_LEVEL_FOREST
|
|
// OR TLG_GET_CURRENT_LEVEL() = TLG_LEVEL_MINE
|
|
// OR TLG_GET_CURRENT_LEVEL() = TLG_LEVEL_GRAVEYARD
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
SWITCH eType
|
|
CASE TLG_ASSET_CACTUS_1
|
|
CASE TLG_ASSET_CACTUS_2
|
|
CASE TLG_ASSET_CACTUS_3
|
|
CASE TLG_ASSET_CACTUS_4
|
|
CASE TLG_ASSET_CACTUS_6
|
|
CASE TLG_ASSET_CACTUS_9
|
|
CASE TLG_ASSET_CACTUS_10
|
|
CASE TLG_ASSET_WATER_TOWER
|
|
CASE TLG_ASSET_FENCE
|
|
RETURN TRUE
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
FUNC BOOL TLG_CAN_SHOOT_THROUGH_COVER(INT iCover)
|
|
IF sTLGData.sCoverData[iCover].eType = TLG_ASSET_COFFIN
|
|
AND sTLGData.sCoverData[iCover].bNeverRender
|
|
RETURN FALSE
|
|
|
|
ENDIF
|
|
|
|
RETURN TLG_CAN_SHOOT_THROUGH_COVER_TYPE(sTLGData.sCoverData[iCover].eType)
|
|
|
|
ENDFUNC
|
|
|
|
FUNC FLOAT TLG_GET_COVER_SIZE_MODIFIER_FOR_COLLISION_CHECK(TLG_ASSET_TYPES eType)
|
|
UNUSED_PARAMETER(eType)
|
|
|
|
IF TLG_IS_COVER_ASSET_TYPE_BUILDING(eType)
|
|
RETURN 0.6
|
|
ENDIF
|
|
|
|
IF eType = TLG_ASSET_BARRELS
|
|
RETURN 0.8
|
|
ENDIF
|
|
|
|
IF eType = TLG_ASSET_TOMBSTONE_5
|
|
OR eType = TLG_ASSET_TOMBSTONE_1
|
|
OR eType = TLG_ASSET_TOMBSTONE_2
|
|
OR eType = TLG_ASSET_TOMBSTONE_3
|
|
RETURN 0.7
|
|
ENDIF
|
|
RETURN 1.0
|
|
ENDFUNC
|
|
|
|
|
|
|
|
PROC TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_COLLECTIBLE_TYPES eType, INT iScreen, VECTOR_2D &vPos, VECTOR_2D &vOffset)
|
|
SWITCH TLG_GET_CURRENT_LEVEL()
|
|
CASE TLG_LEVEL_TOWN
|
|
SWITCH eType
|
|
|
|
CASE TLG_HEALTH
|
|
CASE TLG_SNAKE_OIL
|
|
CASE TLG_SHERIFF
|
|
SWITCH iScreen // vOffset is the offset of the pickup form the large building at base coords (1200, 440)
|
|
CASE 1 vPos = INIT_VECTOR_2D(1063.875, 822.5) vOffset = INIT_VECTOR_2D(-136.125, 382.5) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(789.375, 822.5) vOffset = INIT_VECTOR_2D(-410.625, 382.5) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(993.75, 822.5) vOffset = INIT_VECTOR_2D(-206.25, 382.5) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(1299.375, 822.5) vOffset = INIT_VECTOR_2D(99.375, 382.5) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_REVOLVER_AMMO
|
|
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(872.125, 817.125) vOffset = INIT_VECTOR_2D(-327.875, 327.875) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1418.625, 870.625) vOffset = INIT_VECTOR_2D(218.625, 870.625) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(776.0, 817.125) vOffset = INIT_VECTOR_2D(-424.0, 327.875) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(776.0, 817.125) vOffset = INIT_VECTOR_2D(-424.0, 327.875) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_SHOTGUN_AMMO
|
|
CASE TLG_RIFLE_AMMO
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(872.125, 817.125) vOffset = INIT_VECTOR_2D(-327.875, 327.875) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1418.625, 870.625)vOffset = INIT_VECTOR_2D(218.625, 870.625) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(776.0, 817.125) vOffset = INIT_VECTOR_2D(-424.0, 327.875) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(776.0, 817.125) vOffset = INIT_VECTOR_2D(-424.0, 327.875) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST
|
|
SWITCH eType
|
|
/*
|
|
SCREEN 1 Base: (1404.125, 870)
|
|
SCREEN 2 Base: (1576.1250 , 870.250)
|
|
SCREEN 3 Base: (1472.25, 474.625)
|
|
SCREEN 4 Base: (1415.750, 562.375)
|
|
|
|
*/
|
|
|
|
CASE TLG_HEALTH
|
|
CASE TLG_SNAKE_OIL
|
|
CASE TLG_SHERIFF
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(1218.625, 832.75) vOffset = INIT_VECTOR_2D(-185.5, -37.25) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1111.75, 832.75) vOffset = INIT_VECTOR_2D(-464.375, -37.5) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(1001.375,871.625) vOffset = INIT_VECTOR_2D(-470.875, 397.0) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(717.875, 577.125) vOffset = INIT_VECTOR_2D(-697.875, 14.75) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
//
|
|
|
|
CASE TLG_RIFLE_AMMO
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(979.625, 510.500) vOffset = INIT_VECTOR_2D(-424.5,-359.5) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1026.250, 510.500) vOffset = INIT_VECTOR_2D(-549.875, -359.75) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(1083.250, 588.750) vOffset = INIT_VECTOR_2D(-389.0, 114.125) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(1156.875, 872.750) vOffset = INIT_VECTOR_2D(-258.875, 310.375) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_REVOLVER_AMMO
|
|
CASE TLG_SHOTGUN_AMMO
|
|
SWITCH iScreen
|
|
|
|
CASE 1 vPos = INIT_VECTOR_2D(704.625, 842.375) vOffset = INIT_VECTOR_2D(-699.5 ,-27.625) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(648.625, 870.625) vOffset = INIT_VECTOR_2D(-927.5, 0.375) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(1316.500, 870.625 ) vOffset = INIT_VECTOR_2D(-155.75, 396.0) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(762.000, 908.500) vOffset = INIT_VECTOR_2D(-653.75, 346.125) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
//
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
SWITCH eType
|
|
|
|
CASE TLG_HEALTH
|
|
CASE TLG_SNAKE_OIL
|
|
CASE TLG_SHERIFF
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(835.375, 558.625) vOffset = INIT_VECTOR_2D(-584.25, -187.0) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1222.5, 825.375) vOffset = INIT_VECTOR_2D(-172.75, -8.625) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(1441.25, 886.25) vOffset = INIT_VECTOR_2D(67.25, 347.625) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(1310.75, 929.125) vOffset = INIT_VECTOR_2D(-44.25, 392.75) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_REVOLVER_AMMO
|
|
CASE TLG_MACHINE_GUN_AMMO
|
|
SWITCH iScreen
|
|
|
|
CASE 1 vPos = INIT_VECTOR_2D(778.75, 811.25) vOffset = INIT_VECTOR_2D(-641.25, 65.625) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(641.0, 799.25) vOffset = INIT_VECTOR_2D(-754.25, -34.75) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(641.0, 819.875) vOffset = INIT_VECTOR_2D(-733.0, 281.25) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(589.0, 825.75) vOffset = INIT_VECTOR_2D(-766.0, 289.375) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_SHOTGUN_AMMO
|
|
CASE TLG_RIFLE_AMMO
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(1220.75, 560.75) vOffset = INIT_VECTOR_2D(-199.25, -184.875) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1479.375, 560.75) vOffset = INIT_VECTOR_2D(84.125, -273.25) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(1169.25, 560.75) vOffset = INIT_VECTOR_2D(-204.75, 22.125) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(679.5, 560.75) vOffset = INIT_VECTOR_2D(-675.5, 536.375) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
/*
|
|
Base coords are:
|
|
Screen 1: 1700, 850
|
|
Screen 2: 1505.500, 857.000
|
|
Screen 3: 1521.625, 845.625
|
|
Screen 4: 1535.250, 871.375
|
|
*/
|
|
SWITCH eType
|
|
|
|
CASE TLG_SHOTGUN_AMMO
|
|
CASE TLG_RIFLE_AMMO
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(822.875, 874.125) vOffset = INIT_VECTOR_2D(-877.125, 24.125) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1001.125, 575.25) vOffset = INIT_VECTOR_2D(-504.375, -281.75) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(1409.875, 575.25) vOffset = INIT_VECTOR_2D(-111.75, -270.375) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(1082.875, 552.625) vOffset = INIT_VECTOR_2D(-452.375, -318.75) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_HEALTH
|
|
CASE TLG_SNAKE_OIL
|
|
CASE TLG_SHERIFF
|
|
SWITCH iScreen
|
|
CASE 1 vPos = INIT_VECTOR_2D(1416.875, 572.0) vOffset = INIT_VECTOR_2D(-283.125, -278) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1429.125, 842.875) vOffset = INIT_VECTOR_2D(-76.375, -14.125) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(984.375, 868.25) vOffset = INIT_VECTOR_2D(-537.25, 22.625) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(858.5, 868.25) vOffset = INIT_VECTOR_2D(-676.75, -3.125) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_REVOLVER_AMMO
|
|
CASE TLG_MACHINE_GUN_AMMO
|
|
SWITCH iScreen
|
|
|
|
CASE 1 vPos = INIT_VECTOR_2D(525.75, 591.875) vOffset = INIT_VECTOR_2D(-1174.25, -258.125) BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(1251.0, 578.875) vOffset = INIT_VECTOR_2D(-254.5, -278.125) BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(564.875, 578.875) vOffset = INIT_VECTOR_2D(-956.75, -266.75) BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(1405.375, 549.375) vOffset = INIT_VECTOR_2D(-129.875, -322.0) BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
PROC TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_COLLECTIBLE_TYPES eType, INT iLane, INT iScreen)
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] Called type: ", TLG_GET_COLLECTIBLE_TYPE_AS_STRING(eType), " Screen: ", iScreen, " lane: ", iLane)
|
|
#ENDIF
|
|
|
|
VECTOR_2D vInitialPos
|
|
VECTOR_2D vOffset
|
|
VECTOR_2D vBase
|
|
INT iProp = -1
|
|
INT i
|
|
|
|
SWITCH sTLGData.eCurrentLevel
|
|
CASE TLG_LEVEL_TOWN
|
|
//-- Large building shifts (1200, 440) -> 1342.000, 440) (x + 142)
|
|
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(eType, iScreen, vInitialPos, vOffset)
|
|
|
|
REPEAT ciTLG_MAX_COVER i
|
|
IF iProp = -1
|
|
IF sTLGData.sCoverData[i].iScreen = iScreen
|
|
IF TLG_IS_COVER_TYPE_LARGE_BUILDING(sTLGData.sCoverData[i].eType)
|
|
iProp = i
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] Found prop: ", i, " pos: ", sTLGData.sCoverData[i].vSpritePos.x)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
|
|
IF iProp != -1
|
|
vBase = sTLGData.sCoverData[iProp].vSpritePos
|
|
vInitialPos.x = vBase.x + vOffset.x
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] vInitialPos: ", vInitialPos.x, " ",vInitialPos.y , " vOffset: ",vOffset.x, " ", vOffset.y)
|
|
#ENDIF
|
|
TLG_ADD_ITEM_TO_LIST(vInitialPos, eType, iLane)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(eType, iScreen, vInitialPos, vOffset)
|
|
|
|
REPEAT ciTLG_MAX_COVER i
|
|
IF iProp = -1
|
|
IF sTLGData.sCoverData[i].iScreen = iScreen
|
|
IF sTLGData.iPropToStopOn[iScreen] = i
|
|
iProp = i
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] Found prop: ", i, " pos: ", sTLGData.sCoverData[i].vSpritePos.x)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
IF iProp != -1
|
|
vBase = sTLGData.sCoverData[iProp].vSpritePos
|
|
vInitialPos.x = vBase.x + vOffset.x
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] vInitialPos: ", vInitialPos.x, " ",vInitialPos.y , " vOffset: ",vOffset.x, " ", vOffset.y)
|
|
#ENDIF
|
|
TLG_ADD_ITEM_TO_LIST(vInitialPos, eType, iLane)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(eType, iScreen, vInitialPos, vOffset)
|
|
|
|
REPEAT ciTLG_MAX_COVER i
|
|
IF iProp = -1
|
|
IF sTLGData.sCoverData[i].iScreen = iScreen
|
|
IF sTLGData.iPropToStopOn[iScreen] = i
|
|
iProp = i
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] Found prop: ", i, " pos: ", sTLGData.sCoverData[i].vSpritePos.x)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
IF iProp != -1
|
|
vBase = sTLGData.sCoverData[iProp].vSpritePos
|
|
vInitialPos.x = vBase.x + vOffset.x
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] vInitialPos: ", vInitialPos.x, " ",vInitialPos.y , " vOffset: ",vOffset.x, " ", vOffset.y)
|
|
#ENDIF
|
|
TLG_ADD_ITEM_TO_LIST(vInitialPos, eType, iLane)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(eType, iScreen, vInitialPos, vOffset)
|
|
|
|
REPEAT ciTLG_MAX_COVER i
|
|
IF iProp = -1
|
|
IF sTLGData.sCoverData[i].iScreen = iScreen
|
|
IF sTLGData.iPropToStopOn[iScreen] = i
|
|
iProp = i
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] Found prop: ", i, " pos: ", sTLGData.sCoverData[i].vSpritePos.x)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
IF iProp != -1
|
|
vBase = sTLGData.sCoverData[iProp].vSpritePos
|
|
vInitialPos.x = vBase.x + vOffset.x
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_ITEM_TO_LIST_FOR_SCREEN] vInitialPos: ", vInitialPos.x, " ",vInitialPos.y , " vOffset: ",vOffset.x, " ", vOffset.y)
|
|
#ENDIF
|
|
TLG_ADD_ITEM_TO_LIST(vInitialPos, eType, iLane)
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROC TLG_RESET_ITEM(INT iItem)
|
|
sTLGData.sItemData[iItem].bRendering = FALSE
|
|
sTLGData.sItemData[iItem].iMinActiveStage = 0
|
|
sTLGData.sItemData[iItem].iRenderAfterWarpCount = 0
|
|
sTLGData.sItemData[iItem].iWarpCount = 0
|
|
sTLGData.sItemData[iItem].bShot = FALSE
|
|
ENDPROC
|
|
|
|
PROC TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN] Called")
|
|
#ENDIF
|
|
INT i
|
|
FOR i = 0 TO ciTLG_MAX_ITEMS - 1
|
|
IF sTLGData.sItemData[i].bRendering
|
|
IF NOT TLG_IS_POSITION_ON_SCREEN(sTLGData.sItemData[i].vSpritePos)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN] Resetting item ", i, " Type: ", TLG_GET_COLLECTIBLE_TYPE_AS_STRING(sTLGData.sItemData[i].eItemType))
|
|
TLG_RESET_ITEM(i)
|
|
ELSE
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN] NOT Resetting item ", i, " Type: ", TLG_GET_COLLECTIBLE_TYPE_AS_STRING(sTLGData.sItemData[i].eItemType), " as on screen coords ", sTLGData.sItemData[i].vSpritePos.x, ", ", sTLGData.sItemData[i].vSpritePos.y)
|
|
ENDIF
|
|
ELSE
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN] NOT Resetting item ", i, " Type: ", TLG_GET_COLLECTIBLE_TYPE_AS_STRING(sTLGData.sItemData[i].eItemType), " as not rendering")
|
|
ENDIF
|
|
ENDFOR
|
|
ENDPROC
|
|
|
|
PROC TLG_INIT_COLLECTIBLE_POINTS()
|
|
FLOAT fOffset
|
|
VECTOR_2D vPos, vOffset
|
|
|
|
SWITCH sTLGData.eCurrentLevel
|
|
|
|
CASE TLG_LEVEL_DESERT
|
|
//-- Ammo and Health
|
|
TLG_ADD_ITEM_TO_LIST(INIT_VECTOR_2D(5000, 500), TLG_HEALTH, 1)
|
|
TLG_ADD_ITEM_TO_LIST(INIT_VECTOR_2D(8800, 504.375), TLG_HEALTH, 1)
|
|
TLG_ADD_ITEM_TO_LIST(INIT_VECTOR_2D(10000, 500), TLG_REVOLVER_AMMO, 1)
|
|
// TLG_ADD_ITEM_TO_LIST(INIT_VECTOR_2D(19000, 500), TLG_REVOLVER_AMMO, 1)
|
|
// TLG_ADD_ITEM_TO_LIST(INIT_VECTOR_2D(22000, 500), TLG_REVOLVER_AMMO, 1)
|
|
// TLG_ADD_ITEM_TO_LIST(INIT_VECTOR_2D(27000, 500), TLG_HEALTH, 1)
|
|
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_TOWN
|
|
//-- SHerriff, ammo, health, shotgun
|
|
|
|
//-- SHotgun + health on stationary stages
|
|
|
|
/* SCREEN HEALTH
|
|
1 1063.875, 822.5
|
|
2 789.375 + fOffset, 822.5
|
|
3 993.75 + fOffset, 822.5
|
|
4 1299.375+ fOffset, 822.5
|
|
|
|
*/
|
|
|
|
TLG_ADD_ITEM_TO_LIST(INIT_VECTOR_2D(928.0 + cfBASE_SCREEN_WIDTH, 812.0), TLG_SHERIFF, ciTLG_LANE_MIDDLE)
|
|
|
|
//2
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_HEALTH, 2, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE, 1)
|
|
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_REVOLVER_AMMO, ciTLG_LANE_MIDDLE, DEFAULT, DEFAULT, ciTLG_STAGE_2)
|
|
|
|
|
|
//3
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_REVOLVER_AMMO, 3, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_REVOLVER_AMMO, ciTLG_LANE_MIDDLE, 1)
|
|
|
|
//4
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_HEALTH, 4, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE)
|
|
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE, DEFAULT, DEFAULT, ciTLG_STAGE_2)
|
|
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST
|
|
/* SCREEN HEALTH
|
|
1 1218.625, 832.75
|
|
2 1111.75 + fOffset, 832.75
|
|
3 1001.375 + fOffset, 871.625
|
|
4 717.875+ fOffset, 577.125
|
|
|
|
*/
|
|
|
|
//-- SHerriff, ammo, health, shotgun, RIFLE, Snake Oil
|
|
|
|
//1
|
|
//-- Revolver ammo
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_REVOLVER_AMMO, 1, vPos, vOffset)
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_REVOLVER_AMMO, ciTLG_LANE_MIDDLE, 2)
|
|
|
|
//-- Snake oil
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SNAKE_OIL, 1, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SNAKE_OIL, ciTLG_LANE_MIDDLE, 3)
|
|
|
|
//2
|
|
//-- Rifle ammo
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_RIFLE_AMMO, 2, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_RIFLE_AMMO, ciTLG_LANE_MIDDLE)
|
|
|
|
//-- Health
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_HEALTH, 2, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE)
|
|
|
|
//3
|
|
//-- Snake oil
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SNAKE_OIL, 3, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SNAKE_OIL, ciTLG_LANE_MIDDLE)
|
|
|
|
//4
|
|
//-- Health
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_HEALTH, 4, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE)
|
|
|
|
|
|
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
//1
|
|
//-- Rifle
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_RIFLE_AMMO, 1, vPos, vOffset)
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_RIFLE_AMMO, ciTLG_LANE_MIDDLE)
|
|
|
|
//-- Health
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_HEALTH, 1, vPos, vOffset)
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE, 2)
|
|
|
|
//2
|
|
// Sheriff
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SHERIFF, 2, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SHERIFF, ciTLG_LANE_MIDDLE, 1)
|
|
|
|
// Rifle
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_RIFLE_AMMO, 2, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_RIFLE_AMMO, ciTLG_LANE_MIDDLE, 2)
|
|
|
|
//3
|
|
// Snake oil
|
|
fOffset = cfBASE_SCREEN_WIDTH
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SNAKE_OIL, 3, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SNAKE_OIL, ciTLG_LANE_MIDDLE, 2)
|
|
|
|
|
|
//4
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
//-- Health
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_HEALTH, 4, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE)
|
|
|
|
// Shotgun
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SHOTGUN_AMMO, 4, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SHOTGUN_AMMO, ciTLG_LANE_MIDDLE, 1)
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
//1
|
|
//-- Rifle
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_RIFLE_AMMO, 1, vPos, vOffset)
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_RIFLE_AMMO, ciTLG_LANE_MIDDLE)
|
|
|
|
|
|
//-- Snake oil
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SNAKE_OIL, 1, vPos, vOffset)
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SNAKE_OIL, ciTLG_LANE_MIDDLE)
|
|
|
|
//2
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
|
|
//-- Sheriff
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SHERIFF, 2, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SHERIFF, ciTLG_LANE_MIDDLE, 1)
|
|
|
|
//3
|
|
fOffset = cfBASE_SCREEN_WIDTH
|
|
//-- Shotgun ammo
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_SHOTGUN_AMMO, 3, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_SHOTGUN_AMMO, ciTLG_LANE_MIDDLE, 1)
|
|
|
|
//4
|
|
|
|
//-- Health
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_HEALTH, 4, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_HEALTH, ciTLG_LANE_MIDDLE, 1)
|
|
|
|
//-- Rifle
|
|
TLG_GET_ITEM_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_RIFLE_AMMO, 4, vPos, vOffset)
|
|
vPos.x += fOffset
|
|
TLG_ADD_ITEM_TO_LIST(vPos, TLG_RIFLE_AMMO, ciTLG_LANE_MIDDLE, 1)
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
|
|
PROC TLG_RESET_COVER(INT iCover)
|
|
sTLGData.sCoverData[iCover].bRendering = FALSE
|
|
sTLGData.sCoverData[iCover].bIsSpecialCover = FALSE
|
|
sTLGData.sCoverData[iCover].iHitCount = 0
|
|
sTLGData.sCoverData[iCover].iActiveInStage = 0
|
|
sTLGData.sCoverData[iCover].iScreen = 0
|
|
sTLGData.sCoverData[iCover].bIsAnimated = FALSE
|
|
sTLGData.sCoverData[iCover].bNeverRender = FALSE
|
|
sTLGData.sCoverData[iCover].bSpawnedPickup = FALSE
|
|
sTLGData.sCoverData[iCover].iWarpCount = 0
|
|
sTLGData.sCoverData[iCover].iRenderAfterWarpCount = 0
|
|
|
|
ENDPROC
|
|
|
|
|
|
FUNC BOOL TLG_IS_ANIMATED_COVER(TLG_ASSET_TYPES eType)
|
|
SWITCH eType
|
|
CASE TLG_ASSET_CRATE_1
|
|
CASE TLG_ASSET_OUTHOUSE
|
|
CASE TLG_ASSET_COFFIN
|
|
RETURN TRUE
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
// Cover and props
|
|
PROC TLG_ADD_COVER_TO_LIST(VECTOR_2D vPos, TLG_ASSET_TYPES eType, INT iLane, INT iActiveInStage = 0, INT iScreen = 0, BOOL bStopScrollingOnThisProp = FALSE, INT iRenderAfterWarp = 0, BOOL bNeverRender = FALSE)
|
|
IF sTLGData.iNumberOfProps >= ciTLG_MAX_COVER
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{dsw} [TLG_ADD_COVER_TO_LIST] Not adding TYpe: ", TLG_GET_ASSET_TYPE_AS_STRING(eType), " as array full")
|
|
#ENDIF
|
|
|
|
EXIT
|
|
ENDIF
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{dsw} [TLG_ADD_COVER_TO_LIST]")
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{dsw} [TLG_ADD_COVER_TO_LIST] TYpe: ", TLG_GET_ASSET_TYPE_AS_STRING(eType), " Index: ", sTLGData.iNumberOfProps, " Lane: ", iLane, " Stage: ", iActiveInStage, " Screen: ", iScreen, " Stop scrolling? ",bStopScrollingOnThisProp, " iRenderAfterWarp ", iRenderAfterWarp)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{dsw} [TLG_ADD_COVER_TO_LIST] bNeverRender? ",bNeverRender, " Total (inc this): ", sTLGData.iNumberOfProps +1)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#ENDIF
|
|
|
|
IF iRenderAfterWarp = 0
|
|
AND NOT bNeverRender
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].bRendering = TRUE
|
|
ENDIF
|
|
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].vSpritePos = vPos
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].vSpriteInitialPos = vPos
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].eType = eType
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].iCoverLane = iLane
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].iScreen = iScreen
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].iActiveInStage = iActiveInStage
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].iRenderAfterWarpCount = iRenderAfterWarp
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].bNeverRender = bNeverRender
|
|
IF bStopScrollingOnThisProp
|
|
IF sTLGData.iPropToStopOn[iScreen] = -1
|
|
sTLGData.iPropToStopOn[iScreen] = sTLGData.iNumberOfProps
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{dsw} [TLG_ADD_COVER_TO_LIST] Screen ", iScreen, " WIll use prop ", sTLGData.iNumberOfProps, " To decide when to stop. Prop TYpe: ", TLG_GET_ASSET_TYPE_AS_STRING(eType))
|
|
#ENDIF
|
|
ELSE
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{dsw} [TLG_ADD_COVER_TO_LIST] Not using prop ", sTLGData.iNumberOfProps, " as stopping prop as already set for screen ", iScreen, " Value: ", sTLGData.iPropToStopOn[iScreen])
|
|
ENDIF
|
|
|
|
ENDIF
|
|
IF TLG_IS_ANIMATED_COVER(eType)
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].bIsAnimated = TRUE
|
|
ENDIF
|
|
|
|
SWITCH (sTLGData.sCoverData[sTLGData.iNumberOfProps].eType)
|
|
CASE TLG_ASSET_OUTHOUSE
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_OUTHOUSE_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_OUTHOUSE_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_1
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_2
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_2_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_3
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_3_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_3_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_4
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_4_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_4_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CRATE_1
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CRATE_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CRATE_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUILDING_1 // LEVEL_02_TOWN_PROP_03
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUILDING_2
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUILDING_3
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUILDING_4
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUILDING_5
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_2_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUILDING_6
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_2_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_ASSET_BUILDING_7
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_2_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_ASSET_BUILDING_8
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BUILDING_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BUILDING_2_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_ASSET_FENCE
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_FENCE_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_FENCE_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_FENCE_SMALL
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_FENCE_SMALL_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_FENCE_SMALL_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_5
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_5_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_5_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_6
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_6_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_6_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_7
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_7_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_7_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_8
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_8_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_8_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_9
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_9_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_9_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_10
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_10_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_10_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_CACTUS_11
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_CACTUS_11_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_CACTUS_11_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_FOREST_TREE_1
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_FOREST_TREE_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_FOREST_TREE_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_FOREST_TREE_2
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_FOREST_TREE_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_FOREST_TREE_2_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_GRASS
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_FOREST_GRASS_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_FOREST_GRASS_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUSH_1
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_FOREST_BUSH_SM_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_FOREST_BUSH_SM_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BUSH_2
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_FOREST_BUSH_LG_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_FOREST_BUSH_LG_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_ROCK_SMALL
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_ROCK_SMALL_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_ROCK_SMALL_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_ROCK_LARGE
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_ROCK_LARGE_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_ROCK_LARGE_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_STACKED_CRATES_1
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_STACKED_CRATES_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_STACKED_CRATES_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_STACKED_CRATES_2
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_STACKED_CRATES_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_STACKED_CRATES_2_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BARRELS
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_BARRELS_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_BARRELS_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_BIG_TOMB
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_GRAVEYARD_TOMB_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_GRAVEYARD_TOMB_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_TOMBSTONE_1
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_GRAVEYARD_STONE_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_GRAVEYARD_STONE_1_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_TOMBSTONE_2
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_GRAVEYARD_STONE_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_GRAVEYARD_STONE_2_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_TOMBSTONE_3
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_GRAVEYARD_STONE_3_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_GRAVEYARD_STONE_3_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_TOMBSTONE_4
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_GRAVEYARD_STONE_4_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_GRAVEYARD_STONE_4_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_TOMBSTONE_5
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_GRAVEYARD_STONE_5_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_GRAVEYARD_STONE_5_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_ASSET_COFFIN
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_GRAVEYARD_COFFIN_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_GRAVEYARD_COFFIN_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_ASSET_WATER_TOWER
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_WATER_TOWER_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_WATER_TOWER_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_ASSET_SPECIAL_TNT_CRATE
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_TNT_CRATE_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_TNT_CRATE_SPRITE_HEIGHT
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].bIsSpecialCover = TRUE
|
|
BREAK
|
|
CASE TLG_ASSET_SPECIAL_TNT_BARREL_1
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_TNT_BARREL_1_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_TNT_BARREL_1_SPRITE_HEIGHT
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].bIsSpecialCover = TRUE
|
|
BREAK
|
|
CASE TLG_ASSET_SPECIAL_TNT_BARREL_2
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_TNT_BARREL_2_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_TNT_BARREL_2_SPRITE_HEIGHT
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].bIsSpecialCover = TRUE
|
|
BREAK
|
|
CASE TLG_ASSET_SPECIAL_OUTHOUSE_HOST
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverWidth = cfTLG_OUTHOUSE_SPECIAL_SPRITE_WIDTH
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].fCoverHeight = cfTLG_OUTHOUSE_SPECIAL_SPRITE_HEIGHT
|
|
sTLGData.sCoverData[sTLGData.iNumberOfProps].bIsSpecialCover = TRUE
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
sTLGData.iNumberOfProps++
|
|
|
|
ENDPROC
|
|
|
|
PROC TLG_INIT_COVER_POINTS(TLG_LEVELS level)
|
|
FLOAT fOffset
|
|
SWITCH level
|
|
|
|
CASE TLG_LEVEL_DESERT
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(500, 420), TLG_ASSET_OUTHOUSE , 0)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1400, 450), TLG_ASSET_CACTUS_1, ciTLG_LANE_BACKGROUND)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(240, 450), TLG_ASSET_CACTUS_9, ciTLG_LANE_BACKGROUND)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(870, 470), TLG_ASSET_CACTUS_10, ciTLG_LANE_BACKGROUND)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(600, 830), TLG_ASSET_CACTUS_4, ciTLG_LANE_MIDDLE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1300, 830), TLG_ASSET_CACTUS_6, ciTLG_LANE_MIDDLE)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1600, 770), TLG_ASSET_OUTHOUSE, ciTLG_LANE_MIDDLE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(2200, 850), TLG_ASSET_CRATE_1, ciTLG_LANE_MIDDLE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1800, 850), TLG_ASSET_CACTUS_3, ciTLG_LANE_FOREGROUND)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(4400, 850), TLG_ASSET_CACTUS_1, ciTLG_LANE_FOREGROUND)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(cfRIGHT_SCREEN_LIMIT + cfTLG_CACTUS_9_SPRITE_WIDTH, 450), TLG_ASSET_CACTUS_9, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(cfRIGHT_SCREEN_LIMIT + (cfTLG_CACTUS_9_SPRITE_WIDTH/2.0) + 300, 830), TLG_ASSET_CACTUS_4, ciTLG_LANE_MIDDLE, ciTLG_STAGE_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(cfRIGHT_SCREEN_LIMIT + (cfTLG_CACTUS_9_SPRITE_WIDTH/2.0) + 800, 450), TLG_ASSET_CACTUS_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_1)
|
|
|
|
|
|
|
|
BREAK
|
|
CASE TLG_LEVEL_TOWN
|
|
//-- Stage 0
|
|
//-- Screen 1
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1200, 440), TLG_ASSET_BUILDING_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1) // USED FOR SCREEN STOPPING POS
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1343.250, 490), TLG_ASSET_BUILDING_5, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(621.000, 424.125), TLG_ASSET_WATER_TOWER, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(360, 540), TLG_ASSET_CACTUS_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(706.000, 800.625), TLG_ASSET_BARRELS, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(600, 857.375), TLG_ASSET_CACTUS_5, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1550, 770), TLG_ASSET_CACTUS_1, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(879.875, 611.875), TLG_ASSET_CRATE_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(879.875, 611.875), TLG_ASSET_CRATE_1, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(700, 870), TLG_ASSET_CACTUS_6, 1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1800, 688.125), TLG_ASSET_CACTUS_3, ciTLG_LANE_FOREGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(4400, 850), TLG_ASSET_CACTUS_1, 2)
|
|
|
|
//-- Screen 2
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1200 +fOffset, 440), TLG_ASSET_BUILDING_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1343.250 +fOffset, 490), TLG_ASSET_BUILDING_6, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1627.750 , 509.875), TLG_ASSET_BARRELS, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(743.000 +fOffset, 542.375), TLG_ASSET_CACTUS_5, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1100 + fOffset, 830), TLG_ASSET_FENCE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1529.625 + fOffset, 786.625), TLG_ASSET_CACTUS_9, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
|
|
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(360 +fOffset, 770), TLG_ASSET_CACTUS_1, ciTLG_LANE_MIDDLE)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(360 +fOffset, 540), TLG_ASSET_CACTUS_2, 0)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(620 +fOffset, 600), TLG_ASSET_BARRELS, 0)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(620 +fOffset, 830), TLG_ASSET_FENCE, ciTLG_LANE_MIDDLE)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(600 +fOffset, 830), TLG_ASSET_CACTUS_5, 1)
|
|
|
|
|
|
//-- Screen 3
|
|
fOffset = cfBASE_SCREEN_WIDTH
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1200 +fOffset, 440), TLG_ASSET_BUILDING_3, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1343.250 +fOffset, 490), TLG_ASSET_BUILDING_7, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(695.500 +fOffset, 523.000), TLG_ASSET_FENCE, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1185.0 +fOffset, 777.125), TLG_ASSET_CACTUS_2, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_3)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1464.625 +fOffset, 845.75), TLG_ASSET_CACTUS_5, ciTLG_LANE_MIDDLE)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1564.625 +fOffset, 845.75), TLG_ASSET_CACTUS_2, ciTLG_LANE_MIDDLE)
|
|
|
|
//-- Screen 4
|
|
fOffset = cfBASE_SCREEN_WIDTH + (cfBASE_SCREEN_WIDTH / 2.0)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1200 +fOffset, 440), TLG_ASSET_BUILDING_4, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(cfTLG_TOWN_LEVEL_RIGHTMOST_ENTITY_X +fOffset, 490), TLG_ASSET_BUILDING_8, ciTLG_LANE_BACKGROUND,DEFAULT, ciTLG_SCREEN_4)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(879.875 +fOffset, 611.875), TLG_ASSET_CRATE_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4, FALSE, 1)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(735.000 +fOffset, 413.750), TLG_ASSET_WATER_TOWER, ciTLG_LANE_BACKGROUND,DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(961.125 +fOffset, 803.125), TLG_ASSET_BARRELS, ciTLG_LANE_MIDDLE,DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1084.750 +fOffset, 842.500), TLG_ASSET_CACTUS_5, ciTLG_LANE_MIDDLE,DEFAULT, ciTLG_SCREEN_4)
|
|
|
|
//-- Stage 1
|
|
// fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1200 +fOffset, 440), TLG_ASSET_BUILDING_3, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1343.250 +fOffset, 490), TLG_ASSET_BUILDING_7, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(695.500 +fOffset, 523.000), TLG_ASSET_FENCE, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1185.0 +fOffset, 777.125), TLG_ASSET_CACTUS_2, ciTLG_LANE_MIDDLE, ciTLG_STAGE_1)
|
|
BREAK
|
|
CASE TLG_LEVEL_FOREST
|
|
|
|
//-- Screen 1
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(385.000, 498.625), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(781.75, 340), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(668.125, 360), TLG_ASSET_FOREST_TREE_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(528.0, 450), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1400, 360), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1149.0, 498.5), TLG_ASSET_BUSH_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1110.875, 635.750), TLG_ASSET_GRASS, ciTLG_LANE_BACKGROUND)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000, 830), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(500, 830), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1404.125, 870), TLG_ASSET_BUSH_2, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1, TRUE)
|
|
|
|
|
|
//-- Screen2
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(740.0 + fOffset , 390), TLG_ASSET_FOREST_TREE_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(858.125 + fOffset, 466.000), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1482.375 + fOffset, 427.000), TLG_ASSET_FOREST_TREE_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1149.375+ fOffset, 498.625), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(516.625 + fOffset, 676.875), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1327.750+fOffset , 870.250), TLG_ASSET_BUSH_2, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1576.1250+fOffset , 870.250), TLG_ASSET_BUSH_2, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2, TRUE)
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(940.0 + fOffset, 770), TLG_ASSET_BUSH_1, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(840 + fOffset, 870), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH, 830), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(4400, 850), TLG_ASSET_BUSH_1, 1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(400, 850), TLG_ASSET_BUSH_1, 1)
|
|
|
|
|
|
//-- Screen 3
|
|
fOffset = cfBASE_SCREEN_WIDTH
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1187.375 + fOffset, 336.625), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1336.26 + fOffset, 372.375), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1472.25 + fOffset, 474.625), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3, TRUE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(855.75+fOffset , 515.62), TLG_ASSET_BUSH_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1064.125+ fOffset, 649.125), TLG_ASSET_GRASS, ciTLG_LANE_BACKGROUND)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(873.0+ fOffset, 742.875), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1193.75+ fOffset, 850.375), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
|
|
//-- Screen 4
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1163.250+ fOffset, 447.25), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1291.750+ fOffset, 505.625), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1026.51 + fOffset, 503.25), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(880.25 + fOffset, 570.5), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1415.750+ fOffset, 562.375), TLG_ASSET_FOREST_TREE_2, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4, TRUE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(718.125+ fOffset, 498.625), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
//TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1568.25+ fOffset, 498.625), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(564.75 + fOffset, 870), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_4)
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
//-- Screen 1
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1040, 500), TLG_ASSET_BARRELS, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(545.875, 534.625), TLG_ASSET_STACKED_CRATES_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_1)
|
|
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1151.375, 875.875), TLG_ASSET_SPECIAL_TNT_CRATE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(932.500, 832.500), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(782.875, 898.750), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(553.375, 810.875), TLG_ASSET_BARRELS, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1420, 745.625), TLG_ASSET_STACKED_CRATES_2, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_1, TRUE)
|
|
|
|
//-- Screen 2
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1366.375 + fOffset, 591.125), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(729.875+ fOffset, 501.375), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1395.250+ fOffset, 834.000), TLG_ASSET_BARRELS, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2, TRUE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1003.750+ fOffset, 745.625), TLG_ASSET_STACKED_CRATES_2, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(754.375+ fOffset, 804.000), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_2)
|
|
|
|
//-- Screen 3
|
|
fOffset = cfBASE_SCREEN_WIDTH
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(763.625 + fOffset, 501.375), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(853.000+ fOffset, 525.500), TLG_ASSET_SPECIAL_TNT_BARREL_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1374.000 + fOffset, 538.625), TLG_ASSET_STACKED_CRATES_1, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_3, TRUE)
|
|
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1131.875 + fOffset, 804.000), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1234.500 + fOffset,805.500), TLG_ASSET_SPECIAL_TNT_BARREL_1, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(819.750 + fOffset, 835.125), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_3)
|
|
|
|
//-- Screen 4
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1178.875+ fOffset, 600.0), TLG_ASSET_SPECIAL_TNT_CRATE, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1355.000 + fOffset, 536.375), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4, TRUE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(856.125 + fOffset, 533.500), TLG_ASSET_BARRELS, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(993.750 + fOffset, 533.500), TLG_ASSET_BARRELS, ciTLG_LANE_BACKGROUND, DEFAULT, ciTLG_SCREEN_4)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(786.875 + fOffset, 850.125), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1297.875 + fOffset, 804.000), TLG_ASSET_ROCK_LARGE, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1141.875 + fOffset, 932.125), TLG_ASSET_ROCK_SMALL, ciTLG_LANE_MIDDLE, DEFAULT, ciTLG_SCREEN_4)
|
|
|
|
BREAK
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
//-- Screen 1
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(400.0, 540.0), TLG_ASSET_BUSH_2, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(650.0, 540.0), TLG_ASSET_BUSH_2, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1600.0, 540.0), TLG_ASSET_BUSH_2, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1006.375, 478.500), TLG_ASSET_BIG_TOMB, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1300.0, 770.0), TLG_ASSET_TOMBSTONE_2, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1600.0, 780.0), TLG_ASSET_TOMBSTONE_1, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(360, 780), TLG_ASSET_TOMBSTONE_2, 1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(500, 790), TLG_ASSET_TOMBSTONE_4, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(700, 800), TLG_ASSET_TOMBSTONE_2, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(900, 810), TLG_ASSET_TOMBSTONE_3, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000, 830), TLG_ASSET_TOMBSTONE_5, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1700, 850), TLG_ASSET_TOMBSTONE_4, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1, TRUE)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1200, 870), TLG_ASSET_TOMBSTONE_3, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_1)
|
|
|
|
//-- Screen 2
|
|
fOffset = cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(910.125 + fOffset, 553.125), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(994.625 + fOffset, 553.125), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1163.625 + fOffset, 553.125), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1248.375 + fOffset, 553.125), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1410.750 + fOffset, 553.125), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1497.875 + fOffset, 553.125), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
|
|
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(926.125 + fOffset, 454.625), TLG_ASSET_COFFIN, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1174.750 + fOffset, 454.625), TLG_ASSET_COFFIN, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2,FALSE, DEFAULT, TRUE)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1426.000 + fOffset, 454.625), TLG_ASSET_COFFIN, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(888.250 + fOffset, 884.750), TLG_ASSET_TOMBSTONE_3, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1030.625 + fOffset, 851.750), TLG_ASSET_TOMBSTONE_5, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1171.750 + fOffset, 877.625), TLG_ASSET_TOMBSTONE_4, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1335.750 + fOffset, 796.875), TLG_ASSET_TOMBSTONE_2, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_2)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1505.500 + fOffset, 857.000), TLG_ASSET_TOMBSTONE_3, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_2, TRUE)
|
|
|
|
|
|
|
|
//-- Screen 3
|
|
fOffset = cfBASE_SCREEN_WIDTH
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1114.500 + fOffset, 405.875), TLG_ASSET_BIG_TOMB, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(717.375 + fOffset, 686.375), TLG_ASSET_TOMBSTONE_1, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(877.625 + fOffset, 805.250), TLG_ASSET_TOMBSTONE_2, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1071.500 + fOffset, 868.875), TLG_ASSET_TOMBSTONE_4, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1214.250 + fOffset, 847.250), TLG_ASSET_TOMBSTONE_3, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1389.875 + fOffset, 810.625), TLG_ASSET_TOMBSTONE_2, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_3)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1521.625 + fOffset, 845.625), TLG_ASSET_TOMBSTONE_5, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_3, TRUE)
|
|
|
|
|
|
//-- Screen 4
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(587.875 + fOffset, 540), TLG_ASSET_BUSH_2, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(916.875 + fOffset, 540), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1005.750 + fOffset, 540), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1190.625 + fOffset, 540), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1277.125 + fOffset, 540), TLG_ASSET_BUSH_1, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(929.125 + fOffset, 442.500), TLG_ASSET_COFFIN, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_4) //
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1206.000 + fOffset, 442.500), TLG_ASSET_COFFIN, ciTLG_LANE_BACKGROUND, ciTLG_STAGE_0, ciTLG_SCREEN_4,FALSE, DEFAULT, TRUE)
|
|
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(762.375 + fOffset, 754.125), TLG_ASSET_TOMBSTONE_1, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(931.000 + fOffset, 874.000), TLG_ASSET_TOMBSTONE_5, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1069.625 + fOffset, 852.625), TLG_ASSET_TOMBSTONE_3, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1224.000 + fOffset, 885.125), TLG_ASSET_TOMBSTONE_4, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1381.375 + fOffset, 779.000), TLG_ASSET_TOMBSTONE_2, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_4)
|
|
TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1535.250 + fOffset, 871.375), TLG_ASSET_TOMBSTONE_3, ciTLG_LANE_MIDDLE, ciTLG_STAGE_0, ciTLG_SCREEN_4, TRUE)
|
|
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000 + fOffset, 500), TLG_ASSET_TOMBSTONE_1, 1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000 + fOffset, 500), TLG_ASSET_TOMBSTONE_2, 1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000 + fOffset, 500), TLG_ASSET_TOMBSTONE_4, 1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000 + fOffset, 500), TLG_ASSET_TOMBSTONE_3, 1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000 + fOffset, 500), TLG_ASSET_TOMBSTONE_2, 1)
|
|
// TLG_ADD_COVER_TO_LIST(INIT_VECTOR_2D(1000 + fOffset, 500), TLG_ASSET_TOMBSTONE_5, 1)
|
|
|
|
|
|
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
PROC TLG_GET_COVER_INITIAL_POS_AND_OFFSET_FOR_SCREEN(TLG_ASSET_TYPES eType, INT iScreen, INT &iLane, VECTOR_2D &vPos, VECTOR_2D &vOffset)
|
|
SWITCH TLG_GET_CURRENT_LEVEL()
|
|
CASE TLG_LEVEL_TOWN
|
|
SWITCH eType
|
|
CASE TLG_ASSET_CRATE_1
|
|
SWITCH iScreen // vOffset is the offset of the cover form the large building at base coords (1200, 440)
|
|
CASE 1 vPos = INIT_VECTOR_2D(851.625, 534.25) vOffset = INIT_VECTOR_2D(-348.375, 94.25) iLane = 0 BREAK
|
|
CASE 2 vPos = INIT_VECTOR_2D(867.375, 604.5) vOffset = INIT_VECTOR_2D(-332.625, 164.5) iLane = 0 BREAK
|
|
CASE 3 vPos = INIT_VECTOR_2D(917.125, 664.675) vOffset = INIT_VECTOR_2D(-282.875, 224.675) iLane = 0 BREAK
|
|
CASE 4 vPos = INIT_VECTOR_2D(850.375, 612.75) vOffset = INIT_VECTOR_2D(-349.625, 172.75) iLane = 0 BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
PROC TLG_ADD_COVER_TO_LIST_FOR_SCREEN(TLG_ASSET_TYPES eType, INT iScreen)
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_COVER_TO_LIST_FOR_SCREEN] Called type: ", TLG_GET_ASSET_TYPE_AS_STRING(eType), " Screen: ", iScreen)
|
|
#ENDIF
|
|
|
|
VECTOR_2D vInitialPos
|
|
VECTOR_2D vOffset
|
|
VECTOR_2D vBase
|
|
INT iProp = -1
|
|
INT i
|
|
INT iCoverLane
|
|
SWITCH sTLGData.eCurrentLevel
|
|
CASE TLG_LEVEL_TOWN
|
|
//-- Large building shifts (1200, 440) -> 1342.000, 440) (x + 142)
|
|
|
|
TLG_GET_COVER_INITIAL_POS_AND_OFFSET_FOR_SCREEN(eType, iScreen, iCoverLane, vInitialPos, vOffset)
|
|
|
|
REPEAT ciTLG_MAX_COVER i
|
|
IF iProp = -1
|
|
IF sTLGData.sCoverData[i].iScreen = iScreen
|
|
IF TLG_IS_COVER_TYPE_LARGE_BUILDING(sTLGData.sCoverData[i].eType)
|
|
iProp = i
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_COVER_TO_LIST_FOR_SCREEN] Found prop: ", i, " pos: ", sTLGData.sCoverData[i].vSpritePos.x)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
|
|
IF iProp != -1
|
|
vBase = sTLGData.sCoverData[iProp].vSpritePos
|
|
vInitialPos.x = vBase.x + vOffset.x
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_ADD_COVER_TO_LIST_FOR_SCREEN] vInitialPos: ", vInitialPos.x, " ",vInitialPos.y , " vOffset: ",vOffset.x, " ", vOffset.y)
|
|
#ENDIF
|
|
TLG_ADD_COVER_TO_LIST(vInitialPos, eType, iCoverLane, ciTLG_STAGE_0, iScreen)
|
|
// TLG_ADD_ITEM_TO_LIST(vInitialPos, eType, iLane)
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
PROC RESET_ENEMY(INT iEnemy)
|
|
sTLGData.sEnemyData[iEnemy].eState = TLG_INACTIVE
|
|
sTLGData.sEnemyData[iEnemy].iLevelStage = 0
|
|
sTLGData.sEnemyData[iEnemy].iHealth = 10
|
|
sTLGData.sEnemyData[iEnemy].bWaitUntilLevelStationary = FALSE
|
|
sTLGData.sEnemyData[iEnemy].bOuthouseAudio = FALSE
|
|
sTLGData.sEnemyData[iEnemy].bAppearedOnscreen = FALSE
|
|
sTLGData.sEnemyData[iEnemy].vSpritePos.x = 0.0
|
|
sTLGData.sEnemyData[iEnemy].vSpritePos.y = 0.0
|
|
sTLGData.sEnemyData[iEnemy].vSize.x = 0.0
|
|
sTLGData.sEnemyData[iEnemy].vSize.y = 0.0
|
|
sTLGData.sEnemyData[iEnemy].fStoppingX = 0.0
|
|
sTLGData.sEnemyData[iEnemy].iEnemyType = TLG_ENEMY_1
|
|
sTLGData.sEnemyData[iEnemy].iEnemyLane = 0
|
|
sTLGData.sEnemyData[iEnemy].bReverse = FALSE
|
|
sTLGData.sEnemyData[iEnemy].bIsPopup = FALSE
|
|
sTLGData.sEnemyData[iEnemy].iJumpDistance = 0
|
|
sTLGData.sEnemyData[iEnemy].bPlayedAimAudio = FALSE
|
|
sTLGData.sEnemyData[iEnemy].bThrownProjectile = FALSE
|
|
sTLGData.sEnemyData[iEnemy].bPlayedCriticalWarningAudio = FALSE
|
|
sTLGData.sEnemyData[iEnemy].bShotAtLeastOnce = FALSE
|
|
sTLGData.sEnemyData[iEnemy].iSpriteAnimFrame = 0
|
|
sTLGData.sEnemyData[iEnemy].iWarpedForMovingLevelCount = 0
|
|
sTLGData.sEnemyData[iEnemy].iRenderAfterWarpedCount = 0
|
|
sTLGData.sEnemyData[iEnemy].iOnScreenTime = 0
|
|
sTLGData.sEnemyData[iEnemy].iPopUpTime = 0
|
|
ENDPROC
|
|
|
|
PROC TLG_RESET_ENEMY_THROWN_PROJECTILE(INT iThrown)
|
|
sTLGData.sEnemyProjectiles[iThrown].eState = TLG_ENEMY_PROJECTILE_STATE_INACTIVE
|
|
sTLGData.sEnemyProjectiles[iThrown].iSpriteAnimFrame = 0
|
|
ENDPROC
|
|
|
|
FUNC INT TLG_GET_FREE_SLOT_FOR_ENEMY()
|
|
INT iCurrentStage = TLG_GET_CURRENT_LEVEL_STAGE()
|
|
INT i
|
|
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[TLG_GET_FREE_SLOT_FOR_ENEMY] iCurrentStage: ", iCurrentStage)
|
|
REPEAT ciTLG_MAX_ENEMIES i
|
|
IF iCurrentStage = 0
|
|
IF sTLGData.sEnemyData[i].vSize.x = 0.0
|
|
RETURN i
|
|
ELSE
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[TLG_GET_FREE_SLOT_FOR_ENEMY] sTLGData.sEnemyData[i].vSize.x : ", sTLGData.sEnemyData[i].vSize.x )
|
|
ENDIF
|
|
ELSE
|
|
IF sTLGData.sEnemyData[i].iLevelStage < iCurrentStage
|
|
IF sTLGData.sEnemyData[i].eState = TLG_INACTIVE
|
|
RESET_ENEMY(i)
|
|
RETURN i
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[TLG_GET_FREE_SLOT_FOR_ENEMY] {DSW} Failed to find slot")
|
|
|
|
RETURN -1
|
|
ENDFUNC
|
|
|
|
FUNC INT TLG_GET_ENEMY_START_HEALTH_FOR_TYPE(TLG_ENEMY_TYPES eType)
|
|
SWITCH eType
|
|
CASE TLG_CART_1 RETURN 30 BREAK
|
|
ENDSWITCH
|
|
RETURN 10
|
|
ENDFUNC
|
|
// Enemies
|
|
PROC TLG_ADD_ENEMY_TO_LIST(FLOAT fPosX = 1000.0, FLOAT fPosY = 900.0, FLOAT fStoppingPos = 500.0, INT iLane = 0, BOOL bFromLeft = FALSE, TLG_ENEMY_TYPES iType = TLG_ENEMY_1, INT stage = 0, BOOL bWaitUntilScreenStationary = FALSE, BOOL bIsPopup = FALSE, INT iRenderAfterWarpedCount = 0)
|
|
INT iSlotToUse = TLG_GET_FREE_SLOT_FOR_ENEMY()
|
|
IF iSlotToUse > -1
|
|
sTLGData.sEnemyData[iSlotToUse].eState = TLG_WAITING
|
|
sTLGData.sEnemyData[iSlotToUse].vSpritePos.x = fPosX
|
|
sTLGData.sEnemyData[iSlotToUse].vSpritePos.y = fPosY
|
|
sTLGData.sEnemyData[iSlotToUse].vStartPos = sTLGData.sEnemyData[iSlotToUse].vSpritePos
|
|
sTLGData.sEnemyData[iSlotToUse].fStoppingX = fStoppingPos
|
|
sTLGData.sEnemyData[iSlotToUse].iEnemyType = iType
|
|
sTLGData.sEnemyData[iSlotToUse].iEnemyLane = iLane
|
|
sTLGData.sEnemyData[iSlotToUse].bReverse = bFromLeft
|
|
sTLGData.sEnemyData[iSlotToUse].bIsPopup = bIsPopup
|
|
sTLGData.sEnemyData[iSlotToUse].iJumpDistance = 0
|
|
sTLGData.sEnemyData[iSlotToUse].bPlayedAimAudio = FALSE
|
|
sTLGData.sEnemyData[iSlotToUse].bPlayedCriticalWarningAudio = FALSE
|
|
sTLGData.sEnemyData[iSlotToUse].iLevelStage = stage
|
|
sTLGData.sEnemyData[iSlotToUse].bWaitUntilLevelStationary = bWaitUntilScreenStationary
|
|
sTLGData.sEnemyData[iSlotToUse].iRenderAfterWarpedCount = iRenderAfterWarpedCount
|
|
sTLGData.sEnemyData[iSlotToUse].iWarpedForMovingLevelCount = 0
|
|
sTLGData.sEnemyData[iSlotToUse].iSpriteAnimFrame = 0
|
|
sTLGData.sEnemyData[iSlotToUse].iEnemyFlashTimer = 0
|
|
sTLGData.sEnemyData[iSlotToUse].bShotAtLeastOnce = FALSE
|
|
|
|
IF sTLGData.sEnemyData[iSlotToUse].iEnemyLane != 2
|
|
SWITCH sTLGData.sEnemyData[iSlotToUse].iEnemyType
|
|
CASE TLG_ENEMY_1
|
|
CASE TLG_ENEMY_2
|
|
CASE TLG_ENEMY_3
|
|
CASE TLG_ENEMY_4
|
|
CASE TLG_ENEMY_5
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.x = cfTLG_ENEMY_SPRITE_WIDTH
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.y = cfTLG_ENEMY_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_CART_1
|
|
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.x = cfTLG_ENEMY_CART_SPRITE_WIDTH
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.y = cfTLG_ENEMY_CART_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_THROWING_ENEMY_1
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.x = cfTLG_ENEMY_THROWING_SPRITE_WIDTH
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.y = cfTLG_ENEMY_THROWING_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_OUTHOUSE_ENEMY
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.x = cfTLG_OUTHOUSE_SPECIAL_SPRITE_WIDTH
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.y = cfTLG_OUTHOUSE_SPECIAL_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_COFFIN_ENEMY
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.x = cfTLG_COFFIN_ENEMY_SPRITE_WIDTH
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.y = cfTLG_COFFIN_ENEMY_SPRITE_HEIGHT
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ELSE
|
|
SWITCH sTLGData.sEnemyData[iSlotToUse].iEnemyType
|
|
CASE TLG_FOREGROUND_ENEMY_BEAR
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.x = cfTLG_ENEMY_BEAR_SPRITE_WIDTH
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.y = cfTLG_ENEMY_BEAR_SPRITE_HEIGHT
|
|
BREAK
|
|
DEFAULT
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.x = cfTLG_ENEMY_FOREGROUND_SPRITE_WIDTH
|
|
sTLGData.sEnemyData[iSlotToUse].vSize.y = cfTLG_ENEMY_FOREGROUND_SPRITE_HEIGHT
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDIF
|
|
|
|
sTLGData.sEnemyData[iSlotToUse].iHealth = TLG_GET_ENEMY_START_HEALTH_FOR_TYPE(sTLGData.sEnemyData[iSlotToUse].iEnemyType)
|
|
|
|
sTLGData.iNumberOfEnemies++
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[TLG_ADD_ENEMY_TO_LIST] Failed to add enemy of type ", TLG_GET_ENEMY_TYPE_AS_STRING(iType))
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROC TLG_INIT_ENEMIES(INT iStage = 0)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_INIT_ENEMIES] Called. Stage: ", iStage)
|
|
|
|
FLOAT fOffset
|
|
SWITCH sTLGData.eCurrentLevel
|
|
|
|
CASE TLG_LEVEL_DESERT
|
|
IF iStage = 0
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_BadlandsQuickLevel1")
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T1_1)
|
|
EXIT
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
// Foreground
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T1_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-8500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T1_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_4)
|
|
|
|
// Midground
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH + 668.5, 561.75, 1100, ciTLG_LANE_MIDDLE, FALSE, TLG_OUTHOUSE_ENEMY)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1100, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 1300, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1180, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1100, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1100, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 700, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 900, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 700, 1000, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1300, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1400, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 650, 1500, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1500, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 900, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2)
|
|
|
|
// Background
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1600, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 800, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1100, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1700, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 330, 2200, ciTLG_LANE_BACKGROUND, FALSE, TLG_CART_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 860, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1400, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1200, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 900, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 330, 2200, ciTLG_LANE_BACKGROUND, FALSE, TLG_CART_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 800, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1100, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 1700, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_1) //
|
|
|
|
|
|
ELIF iStage = 1
|
|
#IF IS_DEBUG_BUILD
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_BadlandsQuickLevel1")
|
|
TLG_ADD_ENEMY_TO_LIST(cfRIGHT_SCREEN_LIMIT + cfTLG_CACTUS_9_SPRITE_WIDTH + 1008, 330, cfRIGHT_SCREEN_LIMIT + cfTLG_CACTUS_9_SPRITE_WIDTH + 1008, ciTLG_LANE_BACKGROUND, FALSE, TLG_CART_1, ciTLG_STAGE_1)
|
|
EXIT
|
|
ENDIF
|
|
#ENDIF
|
|
//
|
|
TLG_ADD_ENEMY_TO_LIST(cfRIGHT_SCREEN_LIMIT + cfTLG_CACTUS_9_SPRITE_WIDTH + 1008, 330, cfRIGHT_SCREEN_LIMIT + cfTLG_CACTUS_9_SPRITE_WIDTH + 1008, ciTLG_LANE_BACKGROUND, FALSE, TLG_CART_1, ciTLG_STAGE_1)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1200, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 700, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(cfRIGHT_SCREEN_LIMIT + cfTLG_CACTUS_9_SPRITE_WIDTH + 554.25, 561.75, cfRIGHT_SCREEN_LIMIT + cfTLG_CACTUS_9_SPRITE_WIDTH + 500, ciTLG_LANE_MIDDLE, FALSE, TLG_OUTHOUSE_ENEMY, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1100, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_1, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_THROWING_ENEMY_1, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 1300, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_2, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 700, 1180, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_1, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 1300, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_2, ciTLG_STAGE_1)
|
|
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_3, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(0, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T1_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(0, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T1_2, ciTLG_STAGE_1, TRUE)
|
|
ENDIF
|
|
BREAK
|
|
CASE TLG_LEVEL_TOWN
|
|
IF iStage = 0
|
|
// Pop up
|
|
TLG_ADD_ENEMY_TO_LIST(1256.625 + (cfBASE_SCREEN_WIDTH / 2.0), 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_0, FALSE, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(1256.625 + (cfBASE_SCREEN_WIDTH *1.5), 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_0, FALSE, TRUE)
|
|
|
|
|
|
// Foreground
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
//
|
|
// // Midground
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1100, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1360, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 600, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 700, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 900, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 720, 1000, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 900, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 800, 1360, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 650, 1360, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 400, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 900, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_1)
|
|
//
|
|
// // Background
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 800, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1300, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1300, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1200, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_4)
|
|
////
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 860, ciTLG_LANE_BACKGROUND, TRUE , TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 900, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 900, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1200, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
//
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 1200, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_1)
|
|
|
|
ELIF iStage = 1
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_3, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(0, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T1_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_3, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1360, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1360, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_THROWING_ENEMY_1, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 600, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 700, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 860, ciTLG_LANE_BACKGROUND, TRUE , TLG_ENEMY_1, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 900, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 900, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_4, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 900, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(1398.0, 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(1398.0, 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE, TRUE)
|
|
ELIF iStage = 2
|
|
//-- Stationary screen Offset from init start pos is + 142.0
|
|
fOffset = 142.0
|
|
IF sTLGData.iLastScreenToStopOn = 4 // Offset screen 4 -> screen 1 is larger due to screen warp offset
|
|
fOffset += 142.0 + (cfRIGHT_SCREEN_LIMIT - cfTLG_TOWN_LEVEL_RIGHTMOST_ENTITY_X)
|
|
ENDIF
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_INIT_ENEMIES] fOffset: ",fOffset, " sTLGData.iScreenToStopOn: ",sTLGData.iScreenToStopOn)
|
|
TLG_ADD_ENEMY_TO_LIST(1256.625 + fOffset + (cfBASE_SCREEN_WIDTH / 2.0), 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_0, FALSE, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(1256.625 + fOffset + (cfBASE_SCREEN_WIDTH *1.5), 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_0, FALSE, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 800, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_1, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 900, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1300, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1300, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_4, ciTLG_STAGE_2)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1100, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1360, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 600, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 700, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_3, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 900, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_4, ciTLG_STAGE_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 720, 1000, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1, ciTLG_STAGE_2)
|
|
ELIF iStage = 3
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_3, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(0, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T1_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T1_3, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1360, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1360, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 700, 900, ciTLG_LANE_MIDDLE, TRUE, TLG_THROWING_ENEMY_1, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 600, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 700, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 860, ciTLG_LANE_BACKGROUND, TRUE , TLG_ENEMY_1, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 900, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 900, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_4, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 900, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(1398.0, 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(1398.0, 446.875, 357.875, ciTLG_LANE_POPUP_RHS, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE, TRUE)
|
|
ENDIF
|
|
|
|
|
|
BREAK
|
|
CASE TLG_LEVEL_FOREST
|
|
IF iStage = 0
|
|
// Foreground
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_BEAR)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_BEAR)
|
|
TLG_ADD_ENEMY_TO_LIST(2600, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
|
|
// Midground
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_THROWING_ENEMY_1) // TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_THROWING_ENEMY_1) // TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_THROWING_ENEMY_1) // TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, 1, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, 1, FALSE, TLG_ENEMY_1)
|
|
|
|
// Background
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH, 0, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_4)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH, 0, TRUE ,TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH, 0, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_2)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH, 0, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH, 0, TRUE, TLG_ENEMY_3)
|
|
|
|
ELIF iStage = 1
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_BEAR, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_1, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_BEAR, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_1, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2000, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2000, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1, ciTLG_STAGE_1, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(0, 430, cfBASE_SCREEN_WIDTH, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_4, ciTLG_STAGE_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(0, 430, cfBASE_SCREEN_WIDTH, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_4, ciTLG_STAGE_1, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2, ciTLG_STAGE_1, TRUE)
|
|
|
|
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
IF iStage = 0
|
|
// Foreground
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
|
|
// Midground
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 760, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1)
|
|
|
|
// Background //
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(1380.0 + cfBASE_SCREEN_WIDTH / 2.0, 430.0, 1380.0 + cfBASE_SCREEN_WIDTH / 2.0, ciTLG_LANE_BACKGROUND, FALSE, TLG_CART_1)
|
|
TLG_ADD_ENEMY_TO_LIST(1380.0 + (cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0) ,330.0, 1380.0 + (cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0), ciTLG_LANE_BACKGROUND, FALSE, TLG_CART_1)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH * 2.0, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_4)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH * 2.0, ciTLG_LANE_BACKGROUND, TRUE ,TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH * 2.0, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, ciTLG_LANE_BACKGROUND, 0, FALSE, TLG_ENEMY_2)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH * 2.0, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH * 2.0, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_3)
|
|
ELIF iStage = 1
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, ciTLG_LANE_FOREGROUND, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, ciTLG_LANE_FOREGROUND, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 720, cfBASE_SCREEN_WIDTH, ciTLG_LANE_MIDDLE, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 0, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH * 2.0, ciTLG_LANE_BACKGROUND, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_4)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, cfBASE_SCREEN_WIDTH * 2.0, ciTLG_LANE_BACKGROUND, TRUE ,TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 0, ciTLG_LANE_BACKGROUND, FALSE, TLG_ENEMY_2)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
IF iStage = 0
|
|
// Foreground
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_T2_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_T2_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
// TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
|
|
// Midground
|
|
TLG_ADD_ENEMY_TO_LIST(1174.750 + (cfBASE_SCREEN_WIDTH / 2.0), 454.625, 1174.750+ (cfBASE_SCREEN_WIDTH / 2.0), 1, FALSE, TLG_COFFIN_ENEMY)
|
|
|
|
fOffset = cfBASE_SCREEN_WIDTH + cfBASE_SCREEN_WIDTH / 2.0
|
|
// TLG_ADD_ENEMY_TO_LIST(929.125 + fOffset, 442.500, 929.125 + fOffset, 1, FALSE, TLG_COFFIN_ENEMY)
|
|
TLG_ADD_ENEMY_TO_LIST(1206.000 + fOffset, 442.500, 1206.000 + fOffset, 1, FALSE, TLG_COFFIN_ENEMY)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1100, 1, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 900, 1, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1300, 1, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 650, 1, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 700, 1, TRUE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 679.375, 1000, 1, TRUE, TLG_THROWING_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 900, 1, FALSE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(-1500, 720, 1000, 1, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 900, 1, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 1400, 1, FALSE, TLG_ENEMY_1)
|
|
// TLG_ADD_ENEMY_TO_LIST(-500, 650, 1500, 1, TRUE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 679.375, 800, ciTLG_LANE_MIDDLE, FALSE, TLG_THROWING_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 450, 1, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 720, 900, 1, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 720, 900, 1, FALSE, TLG_ENEMY_1) // [16]
|
|
|
|
// Background
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 800, 0, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1400, 0, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 600, 0, FALSE, TLG_ENEMY_4)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 860, 0, TRUE ,TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 900, 0, FALSE, TLG_ENEMY_3)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 900, 0, TRUE, TLG_ENEMY_4)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 500, 0, FALSE, TLG_ENEMY_2)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 700, 0, TRUE, TLG_ENEMY_1)
|
|
TLG_ADD_ENEMY_TO_LIST(2500, 430, 1500, 0, FALSE, TLG_ENEMY_2)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 400, 0, TRUE, TLG_ENEMY_3)
|
|
ELIF iStage = 1
|
|
TLG_ADD_ENEMY_TO_LIST(0, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_T2_2, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2000, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_1, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(0, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_T2_4, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(2000, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_3, DEFAULT, TRUE)
|
|
// TLG_ADD_ENEMY_TO_LIST(-1500, 950, 560, 2, TRUE, TLG_FOREGROUND_ENEMY_T2_4)
|
|
// TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_1)
|
|
// TLG_ADD_ENEMY_TO_LIST(2200, 950, 560, 2, FALSE, TLG_FOREGROUND_ENEMY_T2_3)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 720, 1100, 1, FALSE, TLG_ENEMY_3, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-2000, 720, 900, 1, TRUE, TLG_ENEMY_1, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 720, 1300, 1, FALSE, TLG_ENEMY_2, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 720, 650, 1, FALSE, TLG_ENEMY_2, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-200, 720, 700, 1, TRUE, TLG_ENEMY_3, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 720, 900, 1, FALSE, TLG_ENEMY_4, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-200, 720, 1000, 1, TRUE, TLG_ENEMY_1, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 720, 900, 1, FALSE, TLG_ENEMY_3, DEFAULT, TRUE)
|
|
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 430, 1500, 0, FALSE, TLG_ENEMY_2, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 430, 900, 0, FALSE, TLG_ENEMY_3, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(-500, 430, 900, 0, TRUE, TLG_ENEMY_4, DEFAULT, TRUE)
|
|
TLG_ADD_ENEMY_TO_LIST(cfBASE_SCREEN_WIDTH, 430, 500, 0, FALSE, TLG_ENEMY_2, DEFAULT, TRUE)
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
FUNC FLOAT GET_PROP_X_POSITION_TO_STOP_AT_FOR_SCREEN(INT iScreen)
|
|
SWITCH TLG_GET_CURRENT_LEVEL()
|
|
CASE TLG_LEVEL_TOWN
|
|
RETURN 1342.5
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST //1420.000
|
|
SWITCH iScreen
|
|
CASE 1 RETURN 1280.125 BREAK
|
|
CASE 2 RETURN 1260.125 BREAK
|
|
CASE 3 RETURN 1084.25 BREAK
|
|
CASE 4 RETURN 1280.125 BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
SWITCH iScreen
|
|
CASE 1 RETURN 1420.000 BREAK
|
|
CASE 2 RETURN 1459.250 BREAK
|
|
CASE 3 RETURN 1030.000 BREAK
|
|
CASE 4 RETURN 1437.000 BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
SWITCH iScreen
|
|
CASE 1 RETURN 1548.000 BREAK
|
|
CASE 2 RETURN 1353.500 BREAK
|
|
CASE 3 RETURN 1329.625 BREAK
|
|
CASE 4 RETURN 1351.250 BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN 0.0
|
|
ENDFUNC
|
|
|
|
/// Purpose: Figure out the size of the pixel 'interval' to use to check when the screen should stop moving. Slower frame rates
|
|
/// will rquire larger intervals, as the props move further per update to compensate for the lower frame rate and the
|
|
/// interval might be missed completely if the interval is too small.
|
|
FUNC FLOAT TLG_GET_OFFSET_FOR_STOP_POSITION_CHECK(FLOAT fUpdate)
|
|
IF fUpdate < 4.0
|
|
RETURN 4.0
|
|
ENDIF
|
|
|
|
RETURN TO_FLOAT(CEIL(fUpdate))
|
|
ENDFUNC
|
|
|
|
FUNC BOOL TLG_SHOULD_MOVING_LEVEL_STOP(INT iCoverToCheck)
|
|
VECTOR_2D vPos
|
|
FLOAT fStoppingX
|
|
FLOAT fPropX
|
|
INT iStoppingProp
|
|
FLOAT fUpdate
|
|
FLOAT fOffset
|
|
|
|
SWITCH TLG_GET_CURRENT_LEVEL()
|
|
CASE TLG_LEVEL_DESERT
|
|
//-- Wait for the first bit of cover marked for the stationary stage to be at the left edge of the play area
|
|
RETURN (sTLGData.sCoverData[iCoverToCheck].iActiveInStage = TLG_GET_CURRENT_LEVEL_STAGE()
|
|
AND sTLGData.sCoverData[iCoverToCheck].vSpritePos.x - (sTLGData.sCoverData[iCoverToCheck].fCoverWidth/2.0) < 300.0)
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_TOWN
|
|
// IF NOT TLG_IS_LEVEL_BIT_SET_FOR_CURRENT_LEVEL(TLG_LEVELS_BIT_TOWN_LARGE_BUILDING_PASSED_BY1)
|
|
IF sTLGData.iScreenToStopOn = -1
|
|
TLG_SET_SCREEN_TO_STOP_ON(sTLGData.iCurrentScreen + 1)
|
|
|
|
|
|
TLG_INCREASE_CURRENT_LEVEL_STAGE()
|
|
TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN()
|
|
IF TLG_GET_CURRENT_LEVEL_STAGE() = 1
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_HEALTH, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_SHOTGUN_AMMO, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
ELIF TLG_GET_CURRENT_LEVEL_STAGE() = 3
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_HEALTH, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_SHOTGUN_AMMO, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
ENDIF
|
|
TLG_INIT_ENEMIES(TLG_GET_CURRENT_LEVEL_STAGE())
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_TOWN Will stop on screen ", sTLGData.iScreenToStopOn )
|
|
|
|
|
|
ELSE
|
|
IF sTLGData.sCoverData[iCoverToCheck].iScreen = sTLGData.iScreenToStopOn
|
|
IF TLG_IS_COVER_TYPE_LARGE_BUILDING(sTLGData.sCoverData[iCoverToCheck].eType)
|
|
vPos = sTLGData.sCoverData[iCoverToCheck].vSpritePos
|
|
fUpdate = TLG_GET_COVER_UPDATE()
|
|
fStoppingX = GET_PROP_X_POSITION_TO_STOP_AT_FOR_SCREEN(sTLGData.iScreenToStopOn)
|
|
fOffset = TLG_GET_OFFSET_FOR_STOP_POSITION_CHECK(fUpdate)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_TOWN vPos.x: ", vPos.x, ",fStoppingX: ", fStoppingX, " Cover update: ", fUpdate, " using offset: ", fOffset)
|
|
IF vPos.x >= fStoppingX - (fOffset / 2.0) AND vPos.x <= fStoppingX + (fOffset / 2.0)
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST
|
|
IF sTLGData.iScreenToStopOn = -1
|
|
TLG_SET_SCREEN_TO_STOP_ON(sTLGData.iCurrentScreen + 1)
|
|
|
|
|
|
TLG_INCREASE_CURRENT_LEVEL_STAGE()
|
|
|
|
TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN()
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_HEALTH, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_SHOTGUN_AMMO, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_RIFLE_AMMO, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
|
|
TLG_INIT_ENEMIES(TLG_GET_CURRENT_LEVEL_STAGE())
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_FOREST Will stop on screen ", sTLGData.iScreenToStopOn )
|
|
|
|
|
|
ELSE
|
|
iStoppingProp = sTLGData.iPropToStopOn[sTLGData.iScreenToStopOn]
|
|
//CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] Stop Screen: ", sTLGData.iScreenToStopOn, " iStoppingProp: ", iStoppingProp)
|
|
IF iStoppingProp > -1
|
|
fStoppingX = GET_PROP_X_POSITION_TO_STOP_AT_FOR_SCREEN(sTLGData.iScreenToStopOn)
|
|
fPropX = sTLGData.sCoverData[iStoppingProp].vSpritePos.x
|
|
fUpdate = TLG_GET_COVER_UPDATE()
|
|
fOffset = TLG_GET_OFFSET_FOR_STOP_POSITION_CHECK(fUpdate)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_FOREST vPos.x: ", fPropX, " fStoppingX: ", fStoppingX, " Cover update: ", fUpdate, " using offset: ", fOffset)
|
|
IF fPropX >= fStoppingX - (fOffset / 2.0)
|
|
AND fPropX <= fStoppingX + (fOffset / 2.0)
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
IF sTLGData.iScreenToStopOn = -1
|
|
TLG_SET_SCREEN_TO_STOP_ON(sTLGData.iCurrentScreen + 1)
|
|
|
|
TLG_INCREASE_CURRENT_LEVEL_STAGE()
|
|
|
|
TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN()
|
|
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_HEALTH, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_MACHINE_GUN_AMMO, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
TLG_INIT_ENEMIES(TLG_GET_CURRENT_LEVEL_STAGE())
|
|
// CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_FOREST Will stop on screen ", sTLGData.iScreenToStopOn )
|
|
|
|
|
|
ELSE
|
|
iStoppingProp = sTLGData.iPropToStopOn[sTLGData.iScreenToStopOn]
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] Stop Screen: ", sTLGData.iScreenToStopOn, " iStoppingProp: ", iStoppingProp)
|
|
IF iStoppingProp > -1
|
|
fStoppingX = GET_PROP_X_POSITION_TO_STOP_AT_FOR_SCREEN(sTLGData.iScreenToStopOn)
|
|
fPropX = sTLGData.sCoverData[iStoppingProp].vSpritePos.x
|
|
fUpdate = TLG_GET_COVER_UPDATE()
|
|
fOffset = TLG_GET_OFFSET_FOR_STOP_POSITION_CHECK(fUpdate)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_MINE vPos.x: ", fPropX, " fStoppingX: ", fStoppingX, " Cover update: ", fUpdate, " using offset: ", fOffset)
|
|
IF fPropX >= fStoppingX - (fOffset / 2.0)
|
|
AND fPropX <= fStoppingX + (fOffset / 2.0)
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
IF sTLGData.iScreenToStopOn = -1
|
|
TLG_SET_SCREEN_TO_STOP_ON(sTLGData.iCurrentScreen + 1)
|
|
|
|
TLG_INCREASE_CURRENT_LEVEL_STAGE()
|
|
|
|
TLG_RESET_ALL_COLLECTIBLE_ITEMS_NOT_ON_SCREEN()
|
|
|
|
IF TLG_GET_SCREEN_TO_STOP_ON() != 2 // If 2 or 4, placed in coffins (handled by TLG_HANDLE_PLAYER_BULLET_COLLISION_WITH_COVER)
|
|
AND TLG_GET_SCREEN_TO_STOP_ON() != 4
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_MACHINE_GUN_AMMO, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
ENDIF
|
|
|
|
TLG_ADD_ITEM_TO_LIST_FOR_SCREEN(TLG_HEALTH, ciTLG_LANE_MIDDLE, sTLGData.iScreenToStopOn)
|
|
|
|
TLG_INIT_ENEMIES(TLG_GET_CURRENT_LEVEL_STAGE())
|
|
// CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_FOREST Will stop on screen ", sTLGData.iScreenToStopOn )
|
|
|
|
|
|
ELSE
|
|
iStoppingProp = sTLGData.iPropToStopOn[sTLGData.iScreenToStopOn]
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] Stop Screen: ", sTLGData.iScreenToStopOn, " iStoppingProp: ", iStoppingProp)
|
|
IF iStoppingProp > -1
|
|
fStoppingX = GET_PROP_X_POSITION_TO_STOP_AT_FOR_SCREEN(sTLGData.iScreenToStopOn)
|
|
fPropX = sTLGData.sCoverData[iStoppingProp].vSpritePos.x
|
|
fUpdate = TLG_GET_COVER_UPDATE()
|
|
fOffset = TLG_GET_OFFSET_FOR_STOP_POSITION_CHECK(fUpdate)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SHOULD_MOVING_LEVEL_STOP] TLG_LEVEL_GRAVEYARD vPos.x: ", fPropX, " fStoppingX: ", fStoppingX, " Cover update: ", fUpdate, " using offset: ", fOffset)
|
|
IF fPropX >= fStoppingX - (fOffset / 2.0)
|
|
AND fPropX <= fStoppingX + (fOffset / 2.0)
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
//FUNC BOOL TLG_SHOULD_STOPPED_LEVEL_START_MOVING()
|
|
// SWITCH TLG_GET_CURRENT_LEVEL()
|
|
// CASE TLG_LEVEL_TOWN
|
|
// IF TLG_IS_LEVEL_BIT_SET_FOR_CURRENT_LEVEL(TLG_LEVELS_BIT_STOPPED)
|
|
// IF TLG_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_CURRENT_STAGE() = 0
|
|
// TLG_CLEAR_LEVEL_BIT_FOR_LEVEL(TLG_LEVELS_BIT_SHOULD_STOP)
|
|
// TLG_CLEAR_LEVEL_BIT_FOR_LEVEL(TLG_LEVELS_BIT_STOPPED)
|
|
// TLG_INCREASE_CURRENT_LEVEL_STAGE()
|
|
// RETURN TRUE
|
|
// ENDIF
|
|
// ENDIF
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// RETURN FALSE
|
|
//ENDFUNC
|
|
|
|
// Hostages
|
|
PROC TLG_RESET_HOSTAGE(INT iHostage)
|
|
sTLGData.sHostageData[iHostage].bRendering = FALSE
|
|
sTLGData.sHostageData[iHostage].iHealth = 0
|
|
sTLGData.sHostageData[iHostage].iBitset = 0
|
|
ENDPROC
|
|
|
|
PROC TLG_RESET_HOSTAGES()
|
|
INT i
|
|
REPEAT ciTLG_MAX_HOSTAGES i
|
|
TLG_RESET_HOSTAGE(i)
|
|
ENDREPEAT
|
|
|
|
sTLGData.iNumberOfHostages = 0
|
|
ENDPROC
|
|
|
|
PROC TLG_ADD_HOSTAGE_TO_LIST(FLOAT fPosX = 1000.0, FLOAT fPosY = 900.0, FLOAT fStoppingPos = 500.0, INT iLane = 0, BOOL bFromLeft = FALSE, TLG_CIVILIAN_TYPES eType = TLG_GIRL)
|
|
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].bRendering = TRUE
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSpritePos.x = fPosX
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSpritePos.y = fPosY
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].fStoppingX = fStoppingPos
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].eHostageType = eType
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].iHostageLane = iLane
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].bGoingBack = bFromLeft
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].iHealth = 10
|
|
|
|
SWITCH sTLGData.sHostageData[sTLGData.iNumberOfHostages].eHostageType
|
|
CASE TLG_GIRL
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_ENEMY_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_ENEMY_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_GUY
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_HOSTAGE_M_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_HOSTAGE_M_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_EAGLE
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_EAGLE_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_EAGLE_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_VULTURE
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_VULTURE_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_VULTURE_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_BAT
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_BAT_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_BAT_SPRITE_HEIGHT
|
|
BREAK
|
|
CASE TLG_SCORPION
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_SCORPION_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_SCORPION_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_MOUSE
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_MOUSE_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_MOUSE_SPRITE_HEIGHT
|
|
BREAK
|
|
|
|
CASE TLG_PRISONER_1
|
|
CASE TLG_PRISONER_2
|
|
CASE TLG_PRISONER_3
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.x = cfTLG_ENEMY_SPRITE_WIDTH
|
|
sTLGData.sHostageData[sTLGData.iNumberOfHostages].vSize.y = cfTLG_ENEMY_SPRITE_HEIGHT
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
sTLGData.iNumberOfHostages++
|
|
|
|
ENDPROC
|
|
PROC TLG_INIT_HOSTAGES()
|
|
|
|
SWITCH sTLGData.eCurrentLevel
|
|
|
|
CASE TLG_LEVEL_DESERT
|
|
|
|
|
|
TLG_ADD_HOSTAGE_TO_LIST(7200, 410, -200, 0, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(10000, 931.125, -200, 2, FALSE, TLG_SCORPION)
|
|
TLG_ADD_HOSTAGE_TO_LIST(12000, 730, 800, 1, FALSE, TLG_GUY)
|
|
|
|
TLG_ADD_HOSTAGE_TO_LIST(20000, 610, 800, 1, FALSE, TLG_GIRL)
|
|
|
|
TLG_ADD_HOSTAGE_TO_LIST(-1000, 170, 100, 0, TRUE, TLG_EAGLE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-8000, 170, 100, 0, TRUE, TLG_EAGLE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-14000, 170, 100, 0, TRUE, TLG_EAGLE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(25000, 410, 100, 0, FALSE, TLG_GIRL)
|
|
|
|
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_TOWN
|
|
|
|
TLG_ADD_HOSTAGE_TO_LIST(7200, 410, -200, 0, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(5000, 931.125, -200, 2, FALSE, TLG_MOUSE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(10000, 931.125, -200, 2, FALSE, TLG_SCORPION)
|
|
TLG_ADD_HOSTAGE_TO_LIST(12000, 730, 800, 1, FALSE, TLG_GUY)
|
|
TLG_ADD_HOSTAGE_TO_LIST(20000, 730, 800, 1, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-1000, 170, 100, 0, TRUE, TLG_EAGLE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-8000, 170, 100, 0, TRUE, TLG_EAGLE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(25000, 410, 100, 0, FALSE, TLG_GIRL)
|
|
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST
|
|
|
|
TLG_ADD_HOSTAGE_TO_LIST(7200, 410, -200, 0, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(12000, 730, 800, 1, FALSE, TLG_GUY)
|
|
TLG_ADD_HOSTAGE_TO_LIST(5000, 931.125, -200, 2, FALSE, TLG_MOUSE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(15000, 730, 800, 2, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-1000, 170, 100, 0, TRUE, TLG_VULTURE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-8000, 170, 100, 0, TRUE, TLG_VULTURE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-14000, 170, 100, 0, TRUE, TLG_VULTURE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(20000, 410, 100, 0, FALSE, TLG_GIRL)
|
|
|
|
BREAK
|
|
CASE TLG_LEVEL_MINE
|
|
|
|
TLG_ADD_HOSTAGE_TO_LIST(5000, 931.125, -200, 2, FALSE, TLG_MOUSE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(7200, 410, -200, 0, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(12000, 730, 800, 1, FALSE, TLG_GUY)
|
|
TLG_ADD_HOSTAGE_TO_LIST(20000, 730, 800, 1, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(2800, 200, 100, 0, FALSE, TLG_BAT)
|
|
TLG_ADD_HOSTAGE_TO_LIST(8000, 300, 100, 0, FALSE, TLG_BAT)
|
|
TLG_ADD_HOSTAGE_TO_LIST(14000, 170, 100, 0, FALSE, TLG_BAT)
|
|
TLG_ADD_HOSTAGE_TO_LIST(25000, 410, 100, 0, FALSE, TLG_GIRL)
|
|
|
|
BREAK
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
|
|
TLG_ADD_HOSTAGE_TO_LIST(5000, 931.125, -200, 2, FALSE, TLG_MOUSE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(7200, 410, -200, 0, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(12000, 730, 800, 1, FALSE, TLG_GUY)
|
|
TLG_ADD_HOSTAGE_TO_LIST(20000, 730, 800, 1, FALSE, TLG_GIRL)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-1000, 160, 100, 0, TRUE, TLG_VULTURE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-8000, 170, 100, 0, TRUE, TLG_VULTURE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(-14000, 160, 100, 0, TRUE, TLG_VULTURE)
|
|
TLG_ADD_HOSTAGE_TO_LIST(25000, 410, 100, 0, FALSE, TLG_GIRL)
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
FUNC BOOL TLG_IS_HOSTAGE_BIT_SET(INT iHostage, TLG_HOSTAGE_BITSET eBit)
|
|
RETURN IS_BIT_SET(sTLGData.sHostageData[iHostage].iBitset, ENUM_TO_INT(eBit))
|
|
ENDFUNC
|
|
|
|
PROC TLG_SET_HOSTAGE_BIT(INT iHostage, TLG_HOSTAGE_BITSET eBit)
|
|
IF NOT TLG_IS_HOSTAGE_BIT_SET(iHostage, eBit)
|
|
SET_BIT(sTLGData.sHostageData[iHostage].iBitset, ENUM_TO_INT(eBit))
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_MINIGAME, "{DSW} [TLG_SET_HOSTAGE_BIT] Set hostage ", iHostage," bit, ", TLG_GET_HOSTAGE_BIT_AS_STRING(eBit))
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// If we want a prop or a pickup to loop round as the level scrolls, so it appears agan, need to work out how far
|
|
/// to warp it so that it re-appears at a sensible location (i.e. not on top of another prop).
|
|
/// Generally some multiple of the screen width + an offset. The offset is the difference between the x pos
|
|
/// of the right-most element on the 'final' screen and the right hand screen limit
|
|
/// RETURNS:
|
|
///
|
|
FUNC FLOAT TLG_GET_OFFSET_FOR_ELEMENT_WARP_FOR_CURRENT_LEVEL()
|
|
SWITCH TLG_GET_CURRENT_LEVEL()
|
|
CASE TLG_LEVEL_TOWN
|
|
RETURN (cfBASE_SCREEN_WIDTH * 2.0) + (cfRIGHT_SCREEN_LIMIT - cfTLG_TOWN_LEVEL_RIGHTMOST_ENTITY_X)
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_FOREST
|
|
RETURN (cfBASE_SCREEN_WIDTH * 2.0) + (cfRIGHT_SCREEN_LIMIT - cfTLG_FOREST_LEVEL_RIGHTMOST_ENTITY_X)
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_MINE
|
|
RETURN (cfBASE_SCREEN_WIDTH * 2.0) + (cfRIGHT_SCREEN_LIMIT - cfTLG_MINE_LEVEL_RIGHTMOST_ENTITY_X)
|
|
BREAK
|
|
|
|
CASE TLG_LEVEL_GRAVEYARD
|
|
RETURN (cfBASE_SCREEN_WIDTH * 2.0) + (cfRIGHT_SCREEN_LIMIT - cfTLG_GRAVEYARD_LEVEL_RIGHTMOST_ENTITY_X)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN 0.0
|
|
ENDFUNC
|
|
|
|
FUNC TEXT_LABEL_31 TLG_GET_TEXTURE_DICTIONARY_FOR_LEVEL(TLG_LEVELS eLevel)
|
|
TEXT_LABEL_31 tl31Level
|
|
SWITCH eLevel
|
|
CASE TLG_LEVEL_DESERT tl31Level = sTLGData.tl31Level1TextDict BREAK
|
|
CASE TLG_LEVEL_TOWN tl31Level = sTLGData.tl31Level2TextDict BREAK
|
|
CASE TLG_LEVEL_FOREST tl31Level = sTLGData.tl31Level3TextDict BREAK
|
|
CASE TLG_LEVEL_MINE tl31Level = sTLGData.tl31Level4TextDict BREAK
|
|
CASE TLG_LEVEL_GRAVEYARD tl31Level = sTLGData.tl31Level5TextDict BREAK
|
|
|
|
ENDSWITCH
|
|
RETURN tl31Level
|
|
ENDFUNC
|
|
|
|
|