/*
Memonix ver 1.6
Copyright (c) 2003-2006 Michael Kurinnoy, Viewizard Games
All Rights Reserved.
Memonix game source codes available under "dual licensing" model.
The licensing options available are:
* Commercial Licensing. This is the appropriate option if you are creating proprietary
applications and you are not prepared to distribute and share the source code of your application.
Contact us for pricing at viewizard@viewizard.com
* Open Source Licensing. This is the appropriate option if you want to share the source code of
your application with everyone you distribute it to, and you also want to give them the right to share who uses it.
You should have received a copy of the GNU General Public License version 3 with this source codes. If not, see .
*/
#include "memonix_var.h"
//------------------------------------------------------------------------------------
// переменные... глобальные
//------------------------------------------------------------------------------------
// счетчик времени в игре
Uint32 GameTime;
Uint32 GameTimeInit;
// защелка победы
bool GameWin;
// поле, которое выводим...
int FieldData[8][8];
int FieldDataPair[8][8];
int SetFieldData[8][8];
int StartPanelPos;
int EndPanelPos;
int SetPanelPos;
int SearchFor = 0;// для панели - вывод
// для пазла
int CurentFoto=0;
int CurentFotoNum=1;
// чтобы знать, что было перед этим, и удалить..
int lastgame=-1;
void ReleaseGameDate(int Game);
// чтобы делать сброс не чаще раза в 0.3с
Uint32 ResetTickCount = 0;
float ResetTransp = 1.0f;
bool ResetTranspOn = false;
// текущий цвет в мазаике
int CurColor = 0;
//------------------------------------------------------------------------------------
// переменные... локальные
//------------------------------------------------------------------------------------
// начальное время для обратного отсчета
Uint32 GameStartTimeInit;
// текущие позиции в панели выбора и установку...
int GameMask=0;
void ReleaseGameDate(int Game)
{
if (Game == 0)
{
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_1.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_2.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_3.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_4.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_5.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_6.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_7.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_8.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_9.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\1_0.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_1.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_2.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_3.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_4.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_5.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_6.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_7.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_8.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_9.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\2_0.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_1.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_2.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_3.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_4.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_5.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_6.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_7.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_8.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_9.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\3_0.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_1.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_2.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_3.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_4.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_5.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_6.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_7.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_8.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_9.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\4_0.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_1.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_2.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_3.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_4.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_5.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_6.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_7.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_8.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_9.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\MOSAIC\\5_0.bmp"));
}
if (Game == 1)
{
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\61.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\62.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\63.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\64.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\65.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\66.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\67.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\68.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\70.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\71.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\72.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\73.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\74.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\76.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\77.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\78.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\79.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\80.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\81.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\83.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\60.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\75.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_01_50\\a-09.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_01_50\\a-17.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_02_30\\a-15.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-01.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-03.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-04.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-12.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-13.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-14.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_05_50\\a-06.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_01_50\\a-02.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_02_30\\a-11.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_03\\a-19.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_04_30\\a-10.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_05_50\\a-05.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\12_05_50\\a-16.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_01_50\\a-08.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_01_50\\10.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_02_30\\08.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\01.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\02.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\03.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\04.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\05.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\06.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_03\\07.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_04_30\\09.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_05_50\\a-07.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\2_05_50\\11.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_02_30\\19.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\13.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\14.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\15.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\16.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\17.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\20.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\21.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-18.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\1_04_30\\18.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\3_01_50\\35.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\3_01_50\\39.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\3_02_30\\41.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\3_03\\32.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\3_04_30\\40.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\3_05_50\\37.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\3_05_50\\38.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_02\\34.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_02\\46.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_02\\50.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_02\\b-04.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\33.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\42.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\43.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\44.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\47.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\48.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\49.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-01.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-02.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-03.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-06.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_04\\36.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_04\\45.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_04\\51.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\BUILDER\\4_04\\b-05.bmp"));
}
if (Game == 2)
{
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-001.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-002.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-003.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-004.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-005.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-006.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-007.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-008.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-009.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-010.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-011.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-012.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-013.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-014.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-016.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-017.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-018.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-019.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-020.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-021.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-022.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-023.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-024.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-025.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-026.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-027.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-028.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-029.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-030.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-031.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-032.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-033.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-034.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-035.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-036.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-037.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-038.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-039.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-040.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-041.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-042.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-043.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-044.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-045.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-046.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-047.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-048.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-049.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-050.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-051.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-052.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-053.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-054.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-055.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-056.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-057.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-058.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-059.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-060.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-061.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-062.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-063.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-064.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-065.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-066.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-067.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-068.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-069.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-070.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-071.bmp"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\PAIR\\toys-072.bmp"));
}
if (Game == 3)
{
// если повторная генерация - удаляем предыдущие...
vw_ReleaseTexture(vw_FindTextureByNum(CurentFoto));
vw_ReleaseTexture(vw_FindTextureByName("00"));
vw_ReleaseTexture(vw_FindTextureByName("01"));
vw_ReleaseTexture(vw_FindTextureByName("02"));
vw_ReleaseTexture(vw_FindTextureByName("03"));
vw_ReleaseTexture(vw_FindTextureByName("04"));
vw_ReleaseTexture(vw_FindTextureByName("05"));
vw_ReleaseTexture(vw_FindTextureByName("06"));
vw_ReleaseTexture(vw_FindTextureByName("07"));
vw_ReleaseTexture(vw_FindTextureByName("10"));
vw_ReleaseTexture(vw_FindTextureByName("11"));
vw_ReleaseTexture(vw_FindTextureByName("12"));
vw_ReleaseTexture(vw_FindTextureByName("13"));
vw_ReleaseTexture(vw_FindTextureByName("14"));
vw_ReleaseTexture(vw_FindTextureByName("15"));
vw_ReleaseTexture(vw_FindTextureByName("16"));
vw_ReleaseTexture(vw_FindTextureByName("17"));
vw_ReleaseTexture(vw_FindTextureByName("20"));
vw_ReleaseTexture(vw_FindTextureByName("21"));
vw_ReleaseTexture(vw_FindTextureByName("22"));
vw_ReleaseTexture(vw_FindTextureByName("23"));
vw_ReleaseTexture(vw_FindTextureByName("24"));
vw_ReleaseTexture(vw_FindTextureByName("25"));
vw_ReleaseTexture(vw_FindTextureByName("26"));
vw_ReleaseTexture(vw_FindTextureByName("27"));
vw_ReleaseTexture(vw_FindTextureByName("30"));
vw_ReleaseTexture(vw_FindTextureByName("31"));
vw_ReleaseTexture(vw_FindTextureByName("32"));
vw_ReleaseTexture(vw_FindTextureByName("33"));
vw_ReleaseTexture(vw_FindTextureByName("34"));
vw_ReleaseTexture(vw_FindTextureByName("35"));
vw_ReleaseTexture(vw_FindTextureByName("36"));
vw_ReleaseTexture(vw_FindTextureByName("37"));
vw_ReleaseTexture(vw_FindTextureByName("40"));
vw_ReleaseTexture(vw_FindTextureByName("41"));
vw_ReleaseTexture(vw_FindTextureByName("42"));
vw_ReleaseTexture(vw_FindTextureByName("43"));
vw_ReleaseTexture(vw_FindTextureByName("44"));
vw_ReleaseTexture(vw_FindTextureByName("45"));
vw_ReleaseTexture(vw_FindTextureByName("46"));
vw_ReleaseTexture(vw_FindTextureByName("47"));
vw_ReleaseTexture(vw_FindTextureByName("50"));
vw_ReleaseTexture(vw_FindTextureByName("51"));
vw_ReleaseTexture(vw_FindTextureByName("52"));
vw_ReleaseTexture(vw_FindTextureByName("53"));
vw_ReleaseTexture(vw_FindTextureByName("54"));
vw_ReleaseTexture(vw_FindTextureByName("55"));
vw_ReleaseTexture(vw_FindTextureByName("56"));
vw_ReleaseTexture(vw_FindTextureByName("57"));
vw_ReleaseTexture(vw_FindTextureByName("60"));
vw_ReleaseTexture(vw_FindTextureByName("61"));
vw_ReleaseTexture(vw_FindTextureByName("62"));
vw_ReleaseTexture(vw_FindTextureByName("63"));
vw_ReleaseTexture(vw_FindTextureByName("64"));
vw_ReleaseTexture(vw_FindTextureByName("65"));
vw_ReleaseTexture(vw_FindTextureByName("66"));
vw_ReleaseTexture(vw_FindTextureByName("67"));
vw_ReleaseTexture(vw_FindTextureByName("70"));
vw_ReleaseTexture(vw_FindTextureByName("71"));
vw_ReleaseTexture(vw_FindTextureByName("72"));
vw_ReleaseTexture(vw_FindTextureByName("73"));
vw_ReleaseTexture(vw_FindTextureByName("74"));
vw_ReleaseTexture(vw_FindTextureByName("75"));
vw_ReleaseTexture(vw_FindTextureByName("76"));
vw_ReleaseTexture(vw_FindTextureByName("77"));
}
}
//------------------------------------------------------------------------------------
// загрузка нужного для конкретной игры...+ удаление лишнего...
//------------------------------------------------------------------------------------
void LoadGameData()
{
// для задержки, чтобы рисовать не менее 0.5 секунды
Uint32 gettick;
if (lastgame!=Setup.Type) gettick = SDL_GetTicks();
if (lastgame == 0 && Setup.Type != 0)
{
ReleaseGameDate(0);
}
if (Setup.Type == 0 && lastgame != 0)
{
if (Setup.UseUserMosaicAddon)
{
vw_CloseVFS();
if (0 != vw_OpenVFS(Setup.UserMosaicAddon, "1"))
{
vw_OpenVFS(VFSFileNamePath, "1");
Setup.UseUserMosaicAddon = false;
}
}
vw_SetClearColor(0.0f, 0.0f, 0.0f, 0.0f);
vw_BeginRendering();
vw_Start2DMode(-1,1);
RECT SrcRest;
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_BeginRendering();
vw_Start2DMode(-1,1);
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_SetTextureProp(RI_TEXTURE_NONE, RI_CLAMP, false, TX_ALPHA_EQUAL, false);
vw_LoadTexture("DATA\\MOSAIC\\1_1.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_2.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_3.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_4.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_5.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_6.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_7.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_8.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_9.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\1_0.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_1.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_2.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_3.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_4.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_5.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_6.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_7.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_8.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_9.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\2_0.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_1.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_2.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_3.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_4.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_5.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_6.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_7.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_8.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_9.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\3_0.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_1.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_2.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_3.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_4.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_5.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_6.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_7.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_8.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_9.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\4_0.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_1.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_2.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_3.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_4.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_5.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_6.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_7.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_8.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_9.bmp", BMP_FILE);
vw_LoadTexture("DATA\\MOSAIC\\5_0.bmp", BMP_FILE);
if (Setup.UseUserMosaicAddon)
{
vw_CloseVFS();
vw_OpenVFS(VFSFileNamePath, "1");
}
}
if (lastgame == 1 && Setup.Type != 1)
{
ReleaseGameDate(1);
}
if (Setup.Type == 1 && lastgame != 1)
{
if (Setup.UseUserBuilderAddon)
{
vw_CloseVFS();
if (0 != vw_OpenVFS(Setup.UserBuilderAddon, "1"))
{
vw_OpenVFS(VFSFileNamePath, "1");
Setup.UseUserBuilderAddon = false;
}
}
vw_SetClearColor(0.0f, 0.0f, 0.0f, 0.0f);
vw_BeginRendering();
vw_Start2DMode(-1,1);
RECT SrcRest;
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_BeginRendering();
vw_Start2DMode(-1,1);
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_SetTextureProp(RI_TEXTURE_NONE, RI_CLAMP, false, TX_ALPHA_EQUAL, false);
// окна...
vw_LoadTexture("DATA\\BUILDER\\12_03\\61.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\62.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\63.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\64.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\65.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\66.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\67.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\68.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\70.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\71.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\72.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\73.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\74.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\76.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\77.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\78.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\79.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\80.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\81.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\83.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\60.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\75.bmp", BMP_FILE);
// стены...
vw_LoadTexture("DATA\\BUILDER\\1_01_50\\a-09.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_01_50\\a-17.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_02_30\\a-15.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\a-01.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\a-03.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\a-04.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\a-12.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\a-13.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\a-14.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_05_50\\a-06.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_01_50\\a-02.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_02_30\\a-11.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_03\\a-19.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_04_30\\a-10.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_05_50\\a-05.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\12_05_50\\a-16.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_01_50\\a-08.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_01_50\\10.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_02_30\\08.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\01.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\02.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\03.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\04.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\05.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\06.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_03\\07.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_04_30\\09.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_05_50\\a-07.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\2_05_50\\11.bmp", BMP_FILE);
// двери...
vw_LoadTexture("DATA\\BUILDER\\1_02_30\\19.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\13.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\14.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\15.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\16.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\17.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\20.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\21.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_03\\a-18.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\1_04_30\\18.bmp", BMP_FILE);
// крыша...
vw_LoadTexture("DATA\\BUILDER\\3_01_50\\35.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\3_01_50\\39.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\3_02_30\\41.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\3_03\\32.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\3_04_30\\40.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\3_05_50\\37.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\3_05_50\\38.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_02\\34.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_02\\46.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_02\\50.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_02\\b-04.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\33.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\42.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\43.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\44.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\47.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\48.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\49.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\b-01.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\b-02.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\b-03.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_03\\b-06.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_04\\36.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_04\\45.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_04\\51.bmp", BMP_FILE);
vw_LoadTexture("DATA\\BUILDER\\4_04\\b-05.bmp", BMP_FILE);
if (Setup.UseUserBuilderAddon)
{
vw_CloseVFS();
vw_OpenVFS(VFSFileNamePath, "1");
}
}
if (lastgame == 2 && Setup.Type != 2)
{
ReleaseGameDate(2);
}
if (Setup.Type == 2 && lastgame != 2)
{
if (Setup.UseUserThePairAddon)
{
vw_CloseVFS();
if (0 != vw_OpenVFS(Setup.UserThePairAddon, "1"))
{
vw_OpenVFS(VFSFileNamePath, "1");
Setup.UseUserThePairAddon = false;
}
}
vw_SetClearColor(0.0f, 0.0f, 0.0f, 0.0f);
vw_BeginRendering();
vw_Start2DMode(-1,1);
RECT SrcRest;
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_BeginRendering();
vw_Start2DMode(-1,1);
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_SetTextureProp(RI_TEXTURE_NONE, RI_CLAMP, false, TX_ALPHA_EQUAL, false);
vw_LoadTexture("DATA\\PAIR\\toys-001.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-002.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-003.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-004.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-005.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-006.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-007.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-008.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-009.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-010.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-011.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-012.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-013.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-014.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-016.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-017.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-018.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-019.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-020.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-021.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-022.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-023.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-024.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-025.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-026.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-027.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-028.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-029.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-030.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-031.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-032.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-033.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-034.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-035.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-036.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-037.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-038.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-039.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-040.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-041.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-042.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-043.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-044.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-045.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-046.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-047.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-048.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-049.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-050.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-051.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-052.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-053.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-054.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-055.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-056.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-057.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-058.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-059.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-060.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-061.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-062.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-063.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-064.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-065.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-066.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-067.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-068.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-069.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-070.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-071.bmp", BMP_FILE);
vw_LoadTexture("DATA\\PAIR\\toys-072.bmp", BMP_FILE);
if (Setup.UseUserThePairAddon)
{
vw_CloseVFS();
vw_OpenVFS(VFSFileNamePath, "1");
}
}
if (lastgame == 3)
{
ReleaseGameDate(3);
}
if (Setup.Type == 3)
{
vw_SetClearColor(0.0f, 0.0f, 0.0f, 0.0f);
vw_BeginRendering();
vw_Start2DMode(-1,1);
RECT SrcRest;
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_BeginRendering();
vw_Start2DMode(-1,1);
SetRect(&SrcRest, 0, 0, 226, 120);
vw_Draw(287,236,&SrcRest, vw_FindTextureByName("DATA\\LoadingPanel.bmp"), false);
vw_End2DMode();
vw_EndRendering();
vw_SetTextureProp(RI_TEXTURE_NONE, RI_CLAMP, false, TX_ALPHA_EQUAL, false);
{
if (Setup.UseUserJigSawAddon)
{
vw_CloseVFS();
if (0 != vw_OpenVFS(Setup.UserJigSawAddon, "1"))
{
vw_OpenVFS(VFSFileNamePath, "1");
Setup.UseUserJigSawAddon = false;
}
}
// смотрим, сколько всего рисунков
int PicCount = 0;
eFILE *num_file;
num_file = vw_fopen("DATA\\JIGSAW\\num.txt");
if (num_file != 0)
{
char ch1;
vw_fread(&ch1, 1, 1, num_file);
char ch2;
vw_fread(&ch2, 1, 1, num_file);
// смотрим, сколько там написано...
PicCount = (ch1-48)*10+ch2-48;
vw_fclose(num_file);
}
else PicCount = 13;
// берем следующий рисунок...
CurentFotoNum++;
if (CurentFotoNum>PicCount) CurentFotoNum=1;
// "собираем" название файла...
char PicFileName[MAX_PATH];
strcpy(PicFileName, "DATA\\JIGSAW\\pic");
char buffer[65];
itoa10(CurentFotoNum, buffer);
strcat(PicFileName, buffer);
strcat(PicFileName, ".jpg");
CurentFoto = vw_LoadTexture(PicFileName, JPG_FILE, Setup.Size*64, Setup.Size*64)->Num;
// делаем 512 на 512 из диба...
BYTE *tmpDib;
tmpDib = new BYTE[512*512*4];
memset(tmpDib, 255, 512*512*4);
// вклеиваем как нужно ум. копию рисунка
int forDelete = CurentFoto;
CurentFoto = vw_LoadTextureMem("ttt", tmpDib, 512, 512, 4)->Num;
RECT SrcRect1;
SetRect(&SrcRect1, 0, 0, Setup.Size*64, Setup.Size*64);
CurentFoto = vw_AddToTexture(vw_FindTextureByNum(CurentFoto)->Name,
vw_FindTextureByNum(forDelete)->Name,
256-Setup.Size*32, 256-Setup.Size*32, &SrcRect1)->Num;
// удаляем вклеиваемую копию
vw_ReleaseTexture(vw_FindTextureByNum(forDelete));
// удаляем диб
delete [] tmpDib;
if (Setup.UseUserJigSawAddon)
{
// пишем поверх рекламу...
vw_SetTextureProp(RI_TEXTURE_NONE, RI_CLAMP, true, TX_ALPHA_EQUAL, false);
vw_LoadTexture("DATA\\top.tga", TGA_FILE);
vw_LoadTexture("DATA\\bottom.tga", TGA_FILE);
vw_SetTextureProp(RI_TEXTURE_NONE, RI_CLAMP, false, TX_ALPHA_EQUAL, false);
RECT SrcRect;
SetRect(&SrcRect, 0, 0, 512, 32);
CurentFoto = vw_AddToTexture(vw_FindTextureByNum(CurentFoto)->Name, "DATA\\top.tga", 0, (8-Setup.Size)*32, &SrcRect)->Num;
SetRect(&SrcRect, 0, 0, 512, 32);
CurentFoto = vw_AddToTexture(vw_FindTextureByNum(CurentFoto)->Name, "DATA\\bottom.tga", 0, 512-(8-Setup.Size)*32-32, &SrcRect)->Num;
vw_ReleaseTexture(vw_FindTextureByName("DATA\\top.tga"));
vw_ReleaseTexture(vw_FindTextureByName("DATA\\bottom.tga"));
vw_CloseVFS();
vw_OpenVFS(VFSFileNamePath, "1");
}
}
}
// для задержки, чтобы рисовать не менее 0.5 секунды
if (lastgame!=Setup.Type)
{
Uint32 gettick2 = SDL_GetTicks();
if (gettick+500 > gettick2) SDL_Delay(gettick+500-gettick2);
}
}
//------------------------------------------------------------------------------------
// прорисовка и обработка подменю начала игры
//------------------------------------------------------------------------------------
void GameStart()
{
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// делаем предустановку игры...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GameStatus = GAME_START;
GameStartTimeInit = SDL_GetTicks();
GameTime = 0;
GameTimeInit = 0;
StartPanelPos = 0;
EndPanelPos = 0;
SetPanelPos = 0;
SearchFor = 0;
GameWin = false;
TopScCheck = false;
TopScCheckStop = 2;
GameWin = false;
ErrorShow = false;
RightShow = false;
ErrorShowTime = 0;
RightShowTime = 0;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// счет, по размеру...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
int Size1=4-Setup.Size/2;
int Size2=4+Setup.Size/2;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// загружаем/освобождаем...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LoadGameData();
lastgame = Setup.Type;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// обнуляем исходный массив...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for (int i=0; i<8; i++)
for (int j=0; j<8; j++)
{
FieldData[i][j]=0;
SetFieldData[i][j]=0;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// мазайка...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if (Setup.Type == 0)
{
// находим первый номер текстуры...+50
int StartNum = vw_FindTextureByName("DATA\\MOSAIC\\1_1.bmp")->Num;
// заполняем массив
for (int i=Size1; i4) CurColor = 0;
int color = CurColor;//(int)fmodf(vw_Rand(),5);
for (int i=Size1; icolor*10+9)
while ((FieldData[i][j]-StartNum)>color*10+9)
FieldData[i][j] -=10;
if ((FieldData[i][j]-StartNum)= 6)
{
int test = (int)fmodf(vw_Rand(),4);
for (int i=0; i<8; i++)
for (int j=0; j<8; j++)
{
if (MosaicMask[test][i][j] == 0)
FieldData[i][j] = 0;
}
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// builder...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if (Setup.Type == 1)
{
int housedata[11][8][8]=
{
{{402,403,403,403,403,403,403,404},
{30230,303,303,303,303,303,303,30430},
{20230,203,203,203,203,203,203,20430},
{20230,203,203,203,203,203,203,20430},
{20230,203,203,203,203,203,203,20430},
{20230,203,203,203,203,203,203,20430},
{20230,203,203,203,203,203,203,20430},
{10230,103,103,103,103,103,103,10430}},
{{203,0,0,0,0,0,0,0},
{203,203,0,0,0,0,0,0},
{203,203,203,0,0,0,0,0},
{203,203,203,203,0,0,0,0},
{203,203,203,203,203,0,0,0},
{203,203,203,203,203,203,0,0},
{203,203,203,203,203,203,203,0},
{103,103,103,103,103,103,103,103}},
{{0,0,0,0,0,0,20230,203},
{403,404,0,0,0,0,20230,203},
{303,30430,402,403,403,404,20230,203},
{203,20430,30230,303,303,30430,20230,203},
{203,20430,20230,203,203,20430,20230,203},
{203,20430,20230,203,203,20430,20230,203},
{203,20430,20230,203,203,20430,20230,203},
{103,10430,10230,103,103,10430,10230,103}},
{{402,403,403,403,403,403,403,404},
{30150,303,303,303,303,303,303,30550},
{20150,203,203,203,203,203,203,20550},
{20150,203,203,203,203,203,203,20550},
{20150,203,203,203,203,203,203,20550},
{20150,203,203,203,203,203,203,20550},
{20150,203,203,203,203,203,203,20550},
{10150,103,103,103,103,103,103,10550}},
{{0, 0, 402,403,403,404,0, 0},
{0, 0, 303,303,303,303,0, 0},
{402, 403,203,203,203,203,403,404},
{30150,203,203,203,203,203,203,30550},
{20150,203,203,203,203,203,203,20550},
{20150,203,203,203,203,203,203,20550},
{20150,203,203,203,203,203,203,20550},
{10150,103,103,103,103,103,103,10550}},
{{403,403,403,404,0,0,0,0},
{303,303, 303,30550,0,402,403,403},
{203,203,203,20550,0,30230,303,303},
{203,203,203,20550,0,20230,203,203},
{203,203,203,20550,0,20230,203,203},
{203,203,203,20550,0,20230,203,203},
{203,203,203,20550,0,20230,203,203},
{103,103,103,10550,0,10230,103,103}},
{{403,403,403,403,403,403,403,403},
{303,303,303,303,303,303,303,303},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{103,103,103,103,103,103,103,103}},
{{0,0,0,0,0,0,20230,203},
{402,403,403,403,404,0,20230,203},
{30230,303,303,303,30430,0,20230,203},
{20230,203,203,203,20430,0,20230,203},
{20230,203,203,203,20430,0,20230,203},
{20230,203,203,203,20430,0,20230,203},
{20230,203,203,203,20430,0,20230,203},
{10230,103,103,103,10430,0,10230,103}},
{{0,0,0,0,403,403,403,403},
{0,0,0,0,303,303,303,303},
{403,403,403,403,203,203,203,203},
{303,303,303,303,203,203,203,203},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{103,103,103,103,103,103,103,103}},
{{403,403,403,403,0,0,0,0},
{303,303,303,303,0,0,0,0},
{203,203,203,203,403,403,403,403},
{203,203,203,203,303,303,303,303},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{203,203,203,203,203,203,203,203},
{103,103,103,103,103,103,103,103}},
// новые
{{0,0,0,0,0,0,0,203},
{0,0,0,0,0,0,203,203},
{0,0,0,0,0,203,203,203},
{0,0,0,0,203,203,203,203},
{0,0,0,203,203,203,203,203},
{0,0,203,203,203,203,203,203},
{0,203,203,203,203,203,203,203},
{103,103,103,103,103,103,103,103}},
};
// переменные для левой и правой трубы водост...
bool Ltr = false;
bool Rtr = false;
int El103 = -1;
int El103_2 = -1;
int El103_3 = -1;
int El203 = -1;
int El203_2 = -1;
int El203_3 = -1;
int El403 = -1;
int El403_2 = -1;
int El403_3 = -1;
int MaskT = GameMask;
while (GameMask==MaskT) {GameMask = (int)fmodf(vw_Rand(),11);}
// заполняем массив
for (int i=7; i>=0; i--)
for (int j=7; j>=0; j--)
{
switch (housedata[GameMask][j][i])
{
case 0:// ничего нет...
{
FieldData[i][j] = 0;
break;
}
case 10150:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
while (test>2) test = test-2;
if (test == 0)
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_01_50\\a-09.bmp")->Num;
Ltr = true;
}
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_01_50\\a-17.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_01_50\\a-02.bmp")->Num;
break;
}
case 10230:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
while (test>2) test = test-2;
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_02_30\\a-11.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_02_30\\19.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_02_30\\a-15.bmp")->Num;
break;
}
case 103:
{
// 1 - находим какова вероятность, что это первый
// чем проще уровень сложности, тем она выше...
int first = (int)fmodf(vw_Rand(), 100.0f);
if (first <= 60.0f - Setup.Difficult*10)
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\a-19.bmp")->Num;
break;
}
// иначе - ищем что-то другое
int test;
if (Setup.Difficult==0)
if (El103==-1)
{
test =1+(int)fmodf(vw_Rand(), 34.0f);
El103= test;
}
else test = El103;
if (Setup.Difficult==1)
{
if (El103==-1)
{
test =1+(int)fmodf(vw_Rand(), 34.0f);
El103= test;
}
else
{
if (El103_2==-1)
{
test =1+(int)fmodf(vw_Rand(), 34.0f);
El103_2= test;
}
else
{
if (El103_3==-1)
{
test =1+(int)fmodf(vw_Rand(), 34.0f);
El103_3= test;
}
else
{
int test1 =1+(int)fmodf(vw_Rand(), 2.0f);
if (test1==0) test = El103;
if (test1==1) test = El103_2;
if (test1==2) test = El103_3;
}
}
}
}
if (Setup.Difficult>=2)
test =1+(int)fmodf(vw_Rand(), 34.0f);
while (test>34) test = test-34;
//if (test == 0)
// FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\a-19.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-03.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-04.bmp")->Num;
if (test == 3)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\13.bmp")->Num;
if (test == 4)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\14.bmp")->Num;
if (test == 5)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-14.bmp")->Num;
if (test == 6)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\78.bmp")->Num;
if (test == 7)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\70.bmp")->Num;
if (test == 8)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\71.bmp")->Num;
if (test == 9)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\17.bmp")->Num;
if (test == 10)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-12.bmp")->Num;
if (test == 11)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-13.bmp")->Num;
if (test == 12)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\15.bmp")->Num;
if (test == 13)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\16.bmp")->Num;
if (test == 14)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\20.bmp")->Num;
if (test == 15)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\21.bmp")->Num;
if (test == 16)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-01.bmp")->Num;
if (test == 17)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_03\\a-18.bmp")->Num;
if (test == 18)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\61.bmp")->Num;
if (test == 19)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\62.bmp")->Num;
if (test == 20)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\63.bmp")->Num;
if (test == 21)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\64.bmp")->Num;
if (test == 22)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\65.bmp")->Num;
if (test == 23)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\66.bmp")->Num;
if (test == 24)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\67.bmp")->Num;
if (test == 25)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\68.bmp")->Num;
if (test == 26)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\72.bmp")->Num;
if (test == 27)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\73.bmp")->Num;
if (test == 28)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\74.bmp")->Num;
if (test == 29)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\76.bmp")->Num;
if (test == 30)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\77.bmp")->Num;
if (test == 31)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\79.bmp")->Num;
if (test == 32)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\80.bmp")->Num;
if (test == 33)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\81.bmp")->Num;
if (test == 34)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\83.bmp")->Num;
break;
}
case 10430:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
if (test>1) test=0;
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_04_30\\a-10.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_04_30\\18.bmp")->Num;
break;
}
case 10550:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
while (test>2) test = test-2;
if (test == 0)
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\1_05_50\\a-06.bmp")->Num;
Rtr = true;
}
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_05_50\\a-05.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_05_50\\a-16.bmp")->Num;
break;
}
case 20150:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
if (test>1) test = 0;
if (Ltr)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_01_50\\a-08.bmp")->Num;
else
{
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_01_50\\a-02.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_01_50\\10.bmp")->Num;
}
break;
}
case 20230:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
if (test>1) test = 0;
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_02_30\\a-11.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_02_30\\08.bmp")->Num;
break;
}
case 203:
{
// 1 - находим какова вероятность, что это первый
// чем проще уровень сложности, тем она выше...
int first = (int)fmodf(vw_Rand(), 100.0f);
if (first <= 60.0f - Setup.Difficult*10)
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\a-19.bmp")->Num;
break;
}
// иначе - ищем что-то другое
int test;
if (Setup.Difficult==0)
if (El203==-1)
{
test =1+(int)fmodf(vw_Rand(), 29.0f);
El203= test;
}
else test = El203;
if (Setup.Difficult==1)
{
if (El203==-1)
{
test =1+(int)fmodf(vw_Rand(), 29.0f);
El203= test;
}
else
{
if (El203_2==-1)
{
test =1+(int)fmodf(vw_Rand(), 29.0f);
El203_2= test;
}
else
{
if (El203_3==-1)
{
test =1+(int)fmodf(vw_Rand(), 29.0f);
El203_3= test;
}
else
{
int test1 =1+(int)fmodf(vw_Rand(), 2.0f);
if (test1==0) test = El203;
if (test1==1) test = El203_2;
if (test1==2) test = El203_3;
}
}
}
}
if (Setup.Difficult>=2)
test =1+(int)fmodf(vw_Rand(), 29.0f);
while (test>29) test = test-29;
//if (test == 0)
// FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\a-19.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\70.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\71.bmp")->Num;
if (test == 3)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\01.bmp")->Num;
if (test == 4)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\02.bmp")->Num;
if (test == 5)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\03.bmp")->Num;
if (test == 6)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\04.bmp")->Num;
if (test == 7)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\05.bmp")->Num;
if (test == 8)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\06.bmp")->Num;
if (test == 9)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\07.bmp")->Num;
if (test == 10)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\60.bmp")->Num;
if (test == 11)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_03\\75.bmp")->Num;
if (test == 12)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\61.bmp")->Num;
if (test == 13)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\62.bmp")->Num;
if (test == 14)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\63.bmp")->Num;
if (test == 15)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\64.bmp")->Num;
if (test == 16)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\65.bmp")->Num;
if (test == 17)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\66.bmp")->Num;
if (test == 18)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\67.bmp")->Num;
if (test == 19)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\68.bmp")->Num;
if (test == 20)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\72.bmp")->Num;
if (test == 21)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\73.bmp")->Num;
if (test == 22)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\74.bmp")->Num;
if (test == 23)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\76.bmp")->Num;
if (test == 24)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\77.bmp")->Num;
if (test == 25)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\78.bmp")->Num;
if (test == 26)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\79.bmp")->Num;
if (test == 27)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\80.bmp")->Num;
if (test == 28)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\81.bmp")->Num;
if (test == 29)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_03\\83.bmp")->Num;
break;
}
case 20430:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
if (test>1) test = 0;
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_04_30\\a-10.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_04_30\\09.bmp")->Num;
break;
}
case 20550:
{
int test =(int)fmodf(vw_Rand(),1.0f+Setup.Difficult);
while (test>2) test = test-2;
if (Rtr)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_05_50\\a-07.bmp")->Num;
else
{
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_05_50\\a-05.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\2_05_50\\11.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\12_05_50\\a-16.bmp")->Num;
}
break;
}
case 30150:
{
if (Ltr)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\3_01_50\\39.bmp")->Num;
else
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\3_01_50\\35.bmp")->Num;
break;
}
case 30230:
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\3_02_30\\41.bmp")->Num;
break;
}
case 303:
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\3_03\\32.bmp")->Num;
break;
}
case 30430:
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\3_04_30\\40.bmp")->Num;
break;
}
case 30550:
{
if (Rtr)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\3_05_50\\38.bmp")->Num;
else
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\3_05_50\\37.bmp")->Num;
break;
}
case 402:
{
int test =(int)fmodf(vw_Rand(),2.0f+Setup.Difficult);
while (test>3) test = test-3;
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_02\\34.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_02\\46.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_02\\50.bmp")->Num;
if (test == 3)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_02\\b-04.bmp")->Num;
break;
}
case 403:
{
// 1 - находим какова вероятность, что это первый
// чем проще уровень сложности, тем она выше...
int first = (int)fmodf(vw_Rand(), 100.0f);
if (first <= 60.0f - Setup.Difficult*10)
{
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\33.bmp")->Num;
break;
}
// иначе - ищем что-то другое
int test;
if (Setup.Difficult==0)
if (El403==-1)
{
test =1+(int)fmodf(vw_Rand(), 10.0f);
El403= test;
}
else test = El403;
if (Setup.Difficult==1)
{
if (El403==-1)
{
test =1+(int)fmodf(vw_Rand(), 6.0f);
El403= test;
}
else
{
if (El403_2==-1)
{
test =1+(int)fmodf(vw_Rand(), 6.0f);
El403_2= test;
}
else
{
if (El403_3==-1)
{
test =1+(int)fmodf(vw_Rand(), 6.0f);
El403_3= test;
}
else
{
int test1 =1+(int)fmodf(vw_Rand(), 2.0f);
if (test1==0) test = El403;
if (test1==1) test = El403_2;
if (test1==2) test = El403_3;
}
}
}
}
if (Setup.Difficult>=2)
test =1+(int)fmodf(vw_Rand(), 10.0f);
while (test>10) test = test-10;
//if (test == 0)
// FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\33.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\42.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\43.bmp")->Num;
if (test == 3)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\44.bmp")->Num;
if (test == 4)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\47.bmp")->Num;
if (test == 5)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\48.bmp")->Num;
if (test == 6)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\49.bmp")->Num;
if (test == 7)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-01.bmp")->Num;
if (test == 8)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-02.bmp")->Num;
if (test == 9)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-03.bmp")->Num;
if (test == 10)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_03\\b-06.bmp")->Num;
break;
}
case 404:
{
int test =(int)fmodf(vw_Rand(),2.0f+Setup.Difficult);
while (test>3) test = test-3;
if (test == 0)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_04\\36.bmp")->Num;
if (test == 1)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_04\\45.bmp")->Num;
if (test == 2)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_04\\51.bmp")->Num;
if (test == 3)
FieldData[i][j]=vw_FindTextureByName("DATA\\BUILDER\\4_04\\b-05.bmp")->Num;
break;
}
}
}
StartPanelPos = vw_FindTextureByName("DATA\\BUILDER\\12_03\\61.bmp")->Num;
EndPanelPos = vw_FindTextureByName("DATA\\BUILDER\\2_03\\75.bmp")->Num;
SetPanelPos = StartPanelPos+1;
if (Setup.Size<8)
{
for (int i=0; i<8; i++)
for (int j=0; j<8; j++)
{
if (i < 4-Setup.Size/2 || i > 3+Setup.Size/2
|| j < 4-Setup.Size/2 || j > 3+Setup.Size/2)
FieldData[i][j]=0;
}
}
// корректировка SetPanelPos
int stop = SetPanelPos;// если всего один элемент...
bool rot=false;
while (!CheckList(SetPanelPos))
{
SetPanelPos --;
if (SetPanelPosNum;
// массив 32 элементов, которые будем использовать...
int PosNum[32];
int PosNumCount = 0; // указатель на следующий незаполн.эл. табл.
// заполняем массив
while (PosNumCount< (Setup.Size*Setup.Size) / 2)
{
int test;
test = StartNum+(int)fmodf(vw_Rand(),71);
bool Net=true;
for (int i=0; PosNumCount>i; i++)
if (test==PosNum[i]) {Net=false;break;}
if (Net)
{
PosNum[PosNumCount] = test;
PosNumCount++;
}
}
int FieldDataCount=0;
PosNumCount=0;// последовательно берем все элементы...
if (Setup.Difficult == 0 && Setup.Size>2)
{
// самая простая сложность, делаем 4 штуки...
while (FieldDataCount<(Setup.Size*Setup.Size) / 4)
{
int count = 4;
int X;
int Y;
while (count>0)
{
X=Size1+vw_iRandNum(Setup.Size-1);
Y=Size1+vw_iRandNum(Setup.Size-1);
while (FieldData[X][Y]!=0)
{
X=Size1+vw_iRandNum(Setup.Size-1);
Y=Size1+vw_iRandNum(Setup.Size-1);
}
if (FieldData[X][Y]==0)
{
FieldData[X][Y] = PosNum[PosNumCount];
count--;
}
}
FieldDataCount++;
PosNumCount++;
}
}
else
{
while (FieldDataCount<(Setup.Size*Setup.Size) / 2)
{
int count = 2;
while (count>0)
{
int X=X=Size1+vw_iRandNum(Setup.Size-1);
int Y=X=Size1+vw_iRandNum(Setup.Size-1);
Y=Size1+vw_iRandNum(Setup.Size-1);
if (FieldData[X][Y]==0)
{
FieldData[X][Y] = PosNum[PosNumCount];
count--;
}
}
FieldDataCount++;
PosNumCount++;
}
}
// копируем все в резервный буфер...
memcpy(FieldDataPair, FieldData, sizeof(FieldData));
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// собираем пазл...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if (Setup.Type == 3)
{
//из исходника формируем 64 элемента 64на64...
// получение пикселей из текстуры...
BYTE *ImageData;
ImageData = new BYTE[512*512*4];
vw_GetTextureImage(vw_FindTextureByNum(CurentFoto), ImageData, 4);
BYTE *SubImageData;
SubImageData = new BYTE[512*512*4];
int count=0;
// в цикле создаем 64 текстуры...
for (int x=0; x<8; x++)
for (int y=0; y<512; y++)
{
memcpy(SubImageData+count, ImageData+x*64*4+512*4*y, 4*64);
count+=64*4;
}
FieldData[0][7]=vw_LoadTextureMem("00", SubImageData, 64, 64, 4)->Num;
FieldData[0][6]=vw_LoadTextureMem("10", SubImageData+64*64*4, 64, 64, 4)->Num;
FieldData[0][5]=vw_LoadTextureMem("20", SubImageData+64*64*4*2, 64, 64, 4)->Num;
FieldData[0][4]=vw_LoadTextureMem("30", SubImageData+64*64*4*3, 64, 64, 4)->Num;
FieldData[0][3]=vw_LoadTextureMem("40", SubImageData+64*64*4*4, 64, 64, 4)->Num;
FieldData[0][2]=vw_LoadTextureMem("50", SubImageData+64*64*4*5, 64, 64, 4)->Num;
FieldData[0][1]=vw_LoadTextureMem("60", SubImageData+64*64*4*6, 64, 64, 4)->Num;
FieldData[0][0]=vw_LoadTextureMem("70", SubImageData+64*64*4*7, 64, 64, 4)->Num;
FieldData[1][7]=vw_LoadTextureMem("01", SubImageData+64*64*4*8, 64, 64, 4)->Num;
FieldData[1][6]=vw_LoadTextureMem("11", SubImageData+64*64*4*9, 64, 64, 4)->Num;
FieldData[1][5]=vw_LoadTextureMem("21", SubImageData+64*64*4*10, 64, 64, 4)->Num;
FieldData[1][4]=vw_LoadTextureMem("31", SubImageData+64*64*4*11, 64, 64, 4)->Num;
FieldData[1][3]=vw_LoadTextureMem("41", SubImageData+64*64*4*12, 64, 64, 4)->Num;
FieldData[1][2]=vw_LoadTextureMem("51", SubImageData+64*64*4*13, 64, 64, 4)->Num;
FieldData[1][1]=vw_LoadTextureMem("61", SubImageData+64*64*4*14, 64, 64, 4)->Num;
FieldData[1][0]=vw_LoadTextureMem("71", SubImageData+64*64*4*15, 64, 64, 4)->Num;
FieldData[2][7]=vw_LoadTextureMem("02", SubImageData+64*64*4*16, 64, 64, 4)->Num;
FieldData[2][6]=vw_LoadTextureMem("12", SubImageData+64*64*4*17, 64, 64, 4)->Num;
FieldData[2][5]=vw_LoadTextureMem("22", SubImageData+64*64*4*18, 64, 64, 4)->Num;
FieldData[2][4]=vw_LoadTextureMem("32", SubImageData+64*64*4*19, 64, 64, 4)->Num;
FieldData[2][3]=vw_LoadTextureMem("42", SubImageData+64*64*4*20, 64, 64, 4)->Num;
FieldData[2][2]=vw_LoadTextureMem("52", SubImageData+64*64*4*21, 64, 64, 4)->Num;
FieldData[2][1]=vw_LoadTextureMem("62", SubImageData+64*64*4*22, 64, 64, 4)->Num;
FieldData[2][0]=vw_LoadTextureMem("72", SubImageData+64*64*4*23, 64, 64, 4)->Num;
FieldData[3][7]=vw_LoadTextureMem("03", SubImageData+64*64*4*24, 64, 64, 4)->Num;
FieldData[3][6]=vw_LoadTextureMem("13", SubImageData+64*64*4*25, 64, 64, 4)->Num;
FieldData[3][5]=vw_LoadTextureMem("23", SubImageData+64*64*4*26, 64, 64, 4)->Num;
FieldData[3][4]=vw_LoadTextureMem("33", SubImageData+64*64*4*27, 64, 64, 4)->Num;
FieldData[3][3]=vw_LoadTextureMem("43", SubImageData+64*64*4*28, 64, 64, 4)->Num;
FieldData[3][2]=vw_LoadTextureMem("53", SubImageData+64*64*4*29, 64, 64, 4)->Num;
FieldData[3][1]=vw_LoadTextureMem("63", SubImageData+64*64*4*30, 64, 64, 4)->Num;
FieldData[3][0]=vw_LoadTextureMem("73", SubImageData+64*64*4*31, 64, 64, 4)->Num;
FieldData[4][7]=vw_LoadTextureMem("04", SubImageData+64*64*4*32, 64, 64, 4)->Num;
FieldData[4][6]=vw_LoadTextureMem("14", SubImageData+64*64*4*33, 64, 64, 4)->Num;
FieldData[4][5]=vw_LoadTextureMem("24", SubImageData+64*64*4*34, 64, 64, 4)->Num;
FieldData[4][4]=vw_LoadTextureMem("34", SubImageData+64*64*4*35, 64, 64, 4)->Num;
FieldData[4][3]=vw_LoadTextureMem("44", SubImageData+64*64*4*36, 64, 64, 4)->Num;
FieldData[4][2]=vw_LoadTextureMem("54", SubImageData+64*64*4*37, 64, 64, 4)->Num;
FieldData[4][1]=vw_LoadTextureMem("64", SubImageData+64*64*4*38, 64, 64, 4)->Num;
FieldData[4][0]=vw_LoadTextureMem("74", SubImageData+64*64*4*39, 64, 64, 4)->Num;
FieldData[5][7]=vw_LoadTextureMem("05", SubImageData+64*64*4*40, 64, 64, 4)->Num;
FieldData[5][6]=vw_LoadTextureMem("15", SubImageData+64*64*4*41, 64, 64, 4)->Num;
FieldData[5][5]=vw_LoadTextureMem("25", SubImageData+64*64*4*42, 64, 64, 4)->Num;
FieldData[5][4]=vw_LoadTextureMem("35", SubImageData+64*64*4*43, 64, 64, 4)->Num;
FieldData[5][3]=vw_LoadTextureMem("45", SubImageData+64*64*4*44, 64, 64, 4)->Num;
FieldData[5][2]=vw_LoadTextureMem("55", SubImageData+64*64*4*45, 64, 64, 4)->Num;
FieldData[5][1]=vw_LoadTextureMem("65", SubImageData+64*64*4*46, 64, 64, 4)->Num;
FieldData[5][0]=vw_LoadTextureMem("75", SubImageData+64*64*4*47, 64, 64, 4)->Num;
FieldData[6][7]=vw_LoadTextureMem("06", SubImageData+64*64*4*48, 64, 64, 4)->Num;
FieldData[6][6]=vw_LoadTextureMem("16", SubImageData+64*64*4*49, 64, 64, 4)->Num;
FieldData[6][5]=vw_LoadTextureMem("26", SubImageData+64*64*4*50, 64, 64, 4)->Num;
FieldData[6][4]=vw_LoadTextureMem("36", SubImageData+64*64*4*51, 64, 64, 4)->Num;
FieldData[6][3]=vw_LoadTextureMem("46", SubImageData+64*64*4*52, 64, 64, 4)->Num;
FieldData[6][2]=vw_LoadTextureMem("56", SubImageData+64*64*4*53, 64, 64, 4)->Num;
FieldData[6][1]=vw_LoadTextureMem("66", SubImageData+64*64*4*54, 64, 64, 4)->Num;
FieldData[6][0]=vw_LoadTextureMem("76", SubImageData+64*64*4*55, 64, 64, 4)->Num;
FieldData[7][7]=vw_LoadTextureMem("07", SubImageData+64*64*4*56, 64, 64, 4)->Num;
FieldData[7][6]=vw_LoadTextureMem("17", SubImageData+64*64*4*57, 64, 64, 4)->Num;
FieldData[7][5]=vw_LoadTextureMem("27", SubImageData+64*64*4*58, 64, 64, 4)->Num;
FieldData[7][4]=vw_LoadTextureMem("37", SubImageData+64*64*4*59, 64, 64, 4)->Num;
FieldData[7][3]=vw_LoadTextureMem("47", SubImageData+64*64*4*60, 64, 64, 4)->Num;
FieldData[7][2]=vw_LoadTextureMem("57", SubImageData+64*64*4*61, 64, 64, 4)->Num;
FieldData[7][1]=vw_LoadTextureMem("67", SubImageData+64*64*4*62, 64, 64, 4)->Num;
FieldData[7][0]=vw_LoadTextureMem("77", SubImageData+64*64*4*63, 64, 64, 4)->Num;
StartPanelPos=FieldData[0][7];
EndPanelPos = FieldData[7][0];
SetPanelPos = StartPanelPos+1;
delete [] ImageData;
delete [] SubImageData;
// перемешиваем последовательность
int cycle=50;//(int)fmodf(vw_Rand(),100);
for (int i=0; iNum;
int tmp2 = vw_FindTextureByNum(FieldData[X2][Y2])->Num;
void * tmpO = vw_FindTextureByNum(FieldData[X][Y])->OffsetID;
void * tmpO2 = vw_FindTextureByNum(FieldData[X2][Y2])->OffsetID;
vw_FindTextureByNum(FieldData[X][Y])->OffsetID = tmpO2;
vw_FindTextureByNum(FieldData[X2][Y2])->OffsetID = tmpO;
FieldData[X][Y] = tmp2;
FieldData[X2][Y2] = tmp;
}
if (Setup.Size<8)
{
for (int i=0; i<8; i++)
for (int j=0; j<8; j++)
{
if (i < 4-Setup.Size/2 || i > 3+Setup.Size/2
|| j < 4-Setup.Size/2 || j > 3+Setup.Size/2)
FieldData[i][j]=0;
}
}
// корректировка SetPanelPos
int stop = SetPanelPos;// если всего один элемент...
bool rot=false;
while (!CheckList(SetPanelPos))
{
SetPanelPos --;
if (SetPanelPos SDL_GetTicks())
{
ResetTransp = ((SDL_GetTicks()-ResetTickCount)/300.0f);
if (ResetTransp >= 1.0f) ResetTranspOn = false;
}
else ResetTranspOn = false;
}
for (int i=0; i<8; i++)
for (int j=0; j<8; j++)
{
RECT SrcRest;
SetRect(&SrcRest, 0, 0, 64, 64);
if (FieldData[i][j] != 0)
{
if (ResetTranspOn)
{
RECT DstRest;
SetRect(&DstRest, 44+i*64, 44+j*64, 44+i*64+64, 44+j*64+64);
vw_DrawTransparent(&DstRest, &SrcRest, vw_FindTextureByNum(FieldData[i][j]), false, ResetTransp);
}
else
{
vw_Draw(44+i*64,44+j*64,&SrcRest, vw_FindTextureByNum(FieldData[i][j]), false);
}
}
else
{
vw_Draw(44+i*64,44+j*64,&SrcRest, vw_FindTextureByName("DATA\\BUILDER\\0.bmp"), true);
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// вывод счет времени... если нужно...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if (Setup.CountdownSw)
{
vw_DrawRect(586,35,0,0,181,81,"DATA\\start3.jpg");
int GameStartTime = (int)((SDL_GetTicks() - GameStartTimeInit)/1000.0f);
int tmp100=(int)((Setup.Countdown-GameStartTime)/100);
int tmp10=(int)((Setup.Countdown-GameStartTime)/10 - tmp100*10);
int tmp1=(int)((Setup.Countdown-GameStartTime) - tmp10*10 - tmp100*100);
// сотни
vw_DrawRect(690-58,112, 61-58, 2+(tmp100*36), 90-58, 36+(tmp100*36),"DATA\\start2.jpg");
// десятки
vw_DrawRect(690-29,112, 61-29, 2+(tmp10*36), 90-29, 36+(tmp10*36),"DATA\\start2.jpg");
// еденицы
vw_DrawRect(690,112, 61, 2+(tmp1*36), 90, 36+(tmp1*36),"DATA\\start2.jpg");
if (GameStartTime >= Setup.Countdown)
{ //принудительный старт игры
GameStatus = GAME;
GameTime = 0;
GameTimeInit = SDL_GetTicks();
return;
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// кнопка start...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetRect(&MDetect, 590, 344, 766, 385);
if (isDialogBoxDrawing()) SetRect(&MDetect, 0, 0, 0, 0);
SetRect(&DrawOFF, 0, 0, 0, 0);
SetRect(&DrawON, 3, 603, 147, 633);
if (vw_OnRect(&MDetect)) GameCursor.Current=1;
if (vw_Button2D(606, 406-57, &MDetect, &DrawON, &DrawOFF, "DATA\\start.jpg"))
{
if (Setup.SoundSw) Audio_PlaySound(1);
ComBuffer = GAME;
GameTime = 0;
GameTimeInit = SDL_GetTicks();
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// кнопка reset...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetRect(&MDetect, 590, 401, 766, 442);
if (isDialogBoxDrawing()) SetRect(&MDetect, 0, 0, 0, 0);
SetRect(&DrawOFF, 0, 0, 0, 0);
SetRect(&DrawON, 154, 603, 298, 633);
if (vw_OnRect(&MDetect)) GameCursor.Current=1;
if (vw_Button2D(606, 406, &MDetect, &DrawON, &DrawOFF, "DATA\\start.jpg"))
{
if (ResetTickCount+300 <= SDL_GetTicks())
{
ResetTransp = 0.0f;
ResetTranspOn = true;
ResetTickCount = SDL_GetTicks();
if (Setup.SoundSw) Audio_PlaySound(1);
if (Setup.Type == 3) Setup.UseUserFileForJigSaw = false;
ComBuffer = GAME_START;
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// кнопка options
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetRect(&MDetect, 590, 458, 766, 499);
if (isDialogBoxDrawing()) SetRect(&MDetect, 0, 0, 0, 0);
SetRect(&DrawOFF, 0, 0, 0, 0);
SetRect(&DrawON, 303, 603, 450, 634);
if (vw_OnRect(&MDetect)) GameCursor.Current=1;
if (vw_Button2D(604, 406+57, &MDetect, &DrawON, &DrawOFF, "DATA\\start.jpg"))
{
if (Setup.SoundSw) Audio_PlaySound(1);
ComBuffer = OPTIONS;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// кнопка меню...
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetRect(&MDetect, 590, 458+57, 766, 499+57);
if (isDialogBoxDrawing()) SetRect(&MDetect, 0, 0, 0, 0);
SetRect(&DrawOFF, 0, 0, 0, 0);
SetRect(&DrawON, 454, 602, 601, 634);
if (vw_OnRect(&MDetect)) GameCursor.Current=1;
if (vw_Button2D(604, 519, &MDetect, &DrawON, &DrawOFF, "DATA\\start.jpg"))
{
if (Setup.SoundSw) Audio_PlaySound(1);
ComBuffer = MAIN_MENU;
}
}