Making antialiasing test
@ -14,5 +14,6 @@ void main()
|
||||
}
|
||||
color /= 4;
|
||||
|
||||
gl_FragColor = vec4(texture2D(Texture, texCoord ), 1.0);
|
||||
//gl_FragColor = vec4(texture2D(Texture, texCoord ), 1.0);
|
||||
gl_FragColor = vec4(color, 1.0);
|
||||
}
|
Before Width: | Height: | Size: 6.6 KiB |
BIN
assets/ball.png
Before Width: | Height: | Size: 962 B |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 759 B |
Before Width: | Height: | Size: 1022 B |
Before Width: | Height: | Size: 564 B |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 3.4 KiB |
@ -1,33 +0,0 @@
|
||||
0, 255, 255, 255
|
||||
0, 0, 0, 255
|
||||
255, 0, 0, 255
|
||||
255, 40, 40, 255
|
||||
255, 128, 128, 255
|
||||
Colormap
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
222222222222
|
||||
222222222222
|
||||
222222222222
|
||||
222222222222
|
||||
333333333333
|
||||
333333333333
|
||||
333333333333
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
000000000000
|
||||
111111111111
|
||||
111111111111
|
||||
000000000000
|
||||
111111111111
|
||||
111111111111
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
@ -1,32 +0,0 @@
|
||||
0, 255, 255, 255
|
||||
0, 0, 0, 255
|
||||
255, 0, 190, 255
|
||||
255, 0, 255, 255
|
||||
Colormap
|
||||
002222222200
|
||||
002222222200
|
||||
000222222000
|
||||
000022220000
|
||||
111002200111
|
||||
111100001111
|
||||
011110011110
|
||||
001111111100
|
||||
000111111000
|
||||
000011110000
|
||||
000001100000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
002111111200
|
||||
002211112200
|
||||
000221122000
|
||||
000022220000
|
||||
111002200111
|
||||
221100001122
|
||||
022110011220
|
||||
002211112200
|
||||
000221122000
|
||||
000022220000
|
||||
000002200000
|
||||
000000000000
|
||||
000000000000
|
@ -1,33 +0,0 @@
|
||||
255, 255, 255, 255
|
||||
0, 0, 0, 255
|
||||
0, 237, 255, 255
|
||||
0, 144, 255, 255
|
||||
0, 59, 255, 255
|
||||
Colormap
|
||||
333333333333
|
||||
333333333333
|
||||
333333333333
|
||||
000000000000
|
||||
222220022222
|
||||
222220022222
|
||||
222220022222
|
||||
000000000000
|
||||
111110011111
|
||||
111110011111
|
||||
111110011111
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
111111111111
|
||||
111111111111
|
||||
222222222222
|
||||
000000000000
|
||||
111110011111
|
||||
111110011111
|
||||
222220022222
|
||||
000000000000
|
||||
111110011111
|
||||
111110011111
|
||||
333330033333
|
||||
000000000000
|
||||
000000000000
|
@ -1,32 +0,0 @@
|
||||
255, 128, 128, 255
|
||||
0, 0, 0, 255
|
||||
159, 240, 255, 255
|
||||
0, 148, 255, 255
|
||||
Colormap
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
Brickmap
|
||||
000311113000
|
||||
000311113000
|
||||
333311113333
|
||||
111111111111
|
||||
111111111111
|
||||
222221122222
|
||||
333321123333
|
||||
000321123000
|
||||
000321123000
|
||||
000322223000
|
||||
000333333000
|
||||
000000000000
|
||||
000000000000
|
@ -1,32 +0,0 @@
|
||||
255, 0, 0, 255
|
||||
0, 0, 0, 255
|
||||
0, 255, 255, 255
|
||||
7, 255, 189, 255
|
||||
Colormap
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
111111111111
|
||||
222222222222
|
||||
000000000000
|
||||
Brickmap
|
||||
111011110111
|
||||
111011110111
|
||||
222022220222
|
||||
000000000000
|
||||
111011110111
|
||||
222022220222
|
||||
000000000000
|
||||
111000000111
|
||||
222000000222
|
||||
000000000000
|
||||
222222222222
|
||||
000000000000
|
||||
000000000000
|
@ -1,33 +0,0 @@
|
||||
0, 255, 255, 255
|
||||
0, 0, 0, 255
|
||||
0, 151, 113, 255
|
||||
7, 255, 189, 255
|
||||
128, 143, 128, 255
|
||||
Colormap
|
||||
000000000000
|
||||
033333333330
|
||||
031111111130
|
||||
031111111130
|
||||
033333333330
|
||||
000000000000
|
||||
033330033330
|
||||
032230032230
|
||||
032230032230
|
||||
033330033330
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
000000000000
|
||||
022222222220
|
||||
021111111120
|
||||
021111111120
|
||||
022222222220
|
||||
000000000000
|
||||
022220022220
|
||||
021120021120
|
||||
021120021120
|
||||
022220022220
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
@ -1,33 +0,0 @@
|
||||
255, 0, 0, 255
|
||||
0, 0, 0, 255
|
||||
101, 97, 255, 255
|
||||
5, 186, 255, 255
|
||||
105, 201, 255, 255
|
||||
Colormap
|
||||
000000333333
|
||||
000003333333
|
||||
000033311111
|
||||
333333133333
|
||||
333331333333
|
||||
333313333333
|
||||
111133311111
|
||||
333333100000
|
||||
333331000000
|
||||
333310000000
|
||||
111100000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
000000111111
|
||||
000001111111
|
||||
000011133333
|
||||
111111311111
|
||||
111113111111
|
||||
111131111111
|
||||
333311133333
|
||||
111111300000
|
||||
111113000000
|
||||
111130000000
|
||||
333300000000
|
||||
000000000000
|
||||
000000000000
|
@ -1,32 +0,0 @@
|
||||
255, 0, 255, 255
|
||||
0, 0, 0, 255
|
||||
163, 255, 198, 255
|
||||
0, 255, 182, 255
|
||||
Colormap
|
||||
000022220000
|
||||
000222222000
|
||||
000022220000
|
||||
111000000111
|
||||
111100001111
|
||||
111110011111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
000033330000
|
||||
000311113000
|
||||
000033330000
|
||||
111000000111
|
||||
111100001111
|
||||
111110011111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
222222222222
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
@ -1,33 +0,0 @@
|
||||
255, 255, 255, 255
|
||||
0, 0, 0, 255
|
||||
255, 200, 5, 255
|
||||
255, 153, 0, 255
|
||||
255, 97, 0, 255
|
||||
Colormap
|
||||
000000000000
|
||||
000333000333
|
||||
000333000333
|
||||
000333000333
|
||||
222000222000
|
||||
222000222000
|
||||
222000222000
|
||||
000111000111
|
||||
000111000111
|
||||
000111000111
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
000000000000
|
||||
000222000222
|
||||
000212000212
|
||||
000222000222
|
||||
222000222000
|
||||
212000212000
|
||||
222000222000
|
||||
000222000222
|
||||
000212000212
|
||||
000222000222
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
@ -1,33 +0,0 @@
|
||||
255, 255, 0, 255
|
||||
0, 0, 0, 255
|
||||
230, 230, 230, 255
|
||||
195, 195, 195, 255
|
||||
150, 150, 150, 255
|
||||
Colormap
|
||||
333333333333
|
||||
030030030030
|
||||
030030030030
|
||||
030030030030
|
||||
222222222222
|
||||
020020020020
|
||||
020020020020
|
||||
010010010010
|
||||
010010010010
|
||||
020020020020
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
111111111111
|
||||
010010010010
|
||||
010010010010
|
||||
010010010010
|
||||
222222222222
|
||||
010010010010
|
||||
010010010010
|
||||
010010010010
|
||||
010010010010
|
||||
020020020020
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
@ -1,32 +0,0 @@
|
||||
0, 255, 255, 255
|
||||
0, 0, 0, 255
|
||||
217, 56, 62, 255
|
||||
132, 56, 62, 255
|
||||
Colormap
|
||||
111111111111
|
||||
111111111111
|
||||
222211112222
|
||||
000211112000
|
||||
000211112000
|
||||
022211112220
|
||||
021111111120
|
||||
021111111120
|
||||
021111111120
|
||||
022222222220
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
111111111111
|
||||
111111111111
|
||||
222211112222
|
||||
000211112000
|
||||
000211112000
|
||||
022211112220
|
||||
021111111120
|
||||
021111111120
|
||||
021111111120
|
||||
033333333330
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
@ -1,32 +0,0 @@
|
||||
0, 255, 0, 255
|
||||
0, 0, 0, 255
|
||||
255, 221, 0, 255
|
||||
255, 0, 0, 255
|
||||
Colormap
|
||||
222220022222
|
||||
222220022222
|
||||
222220022222
|
||||
222220022222
|
||||
000000000000
|
||||
111111111111
|
||||
111111111111
|
||||
000000000000
|
||||
111111111111
|
||||
111111111111
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
||||
Brickmap
|
||||
111110011111
|
||||
111110011111
|
||||
111110011111
|
||||
222220022222
|
||||
000000000000
|
||||
111111111111
|
||||
333333333333
|
||||
000000000000
|
||||
111111111111
|
||||
222222222222
|
||||
000000000000
|
||||
000000000000
|
||||
000000000000
|
Before Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 155 KiB |
Before Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 177 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 480 KiB |
Before Width: | Height: | Size: 362 KiB |
Before Width: | Height: | Size: 433 KiB |
Before Width: | Height: | Size: 370 KiB |
Before Width: | Height: | Size: 464 KiB |
Before Width: | Height: | Size: 532 KiB |
Before Width: | Height: | Size: 611 KiB |
Before Width: | Height: | Size: 509 KiB |
Before Width: | Height: | Size: 503 KiB |
Before Width: | Height: | Size: 553 KiB |
Before Width: | Height: | Size: 597 KiB |
Before Width: | Height: | Size: 474 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 4.1 KiB |
@ -7,47 +7,8 @@
|
||||
|
||||
#include "include/Engine.h"
|
||||
|
||||
#include "menucode.h"
|
||||
|
||||
#include "main_code.h"
|
||||
|
||||
boost::signals2::signal<void (Vector2f)> OnTapUpSignal;
|
||||
boost::signals2::signal<void (Vector2f)> OnTapUpAfterMoveSignal;
|
||||
boost::signals2::signal<void (Vector2f)> OnTapDownSignal;
|
||||
boost::signals2::signal<void (Vector2f)> OnFlingSignal;
|
||||
boost::signals2::signal<void (Vector2f)> OnScrollSignal;
|
||||
|
||||
boost::signals2::signal<void ()> OnDrawSignal;
|
||||
|
||||
|
||||
const std::string CONST_BLOCK_TEXTURE1 = "block1";
|
||||
const std::string CONST_BLOCK_TEXTURE2 = "block2";
|
||||
const std::string CONST_BLOCK_TEXTURE3 = "block3";
|
||||
|
||||
const std::string CONST_BONUS_GOTHROUGH_TEXTURE = "bonus_gothrough";
|
||||
const std::string CONST_BONUS_MULTIPLIER_TEXTURE = "bonus_multiplier";
|
||||
const std::string CONST_BONUS_FLOOR_TEXTURE = "bonus_floor";
|
||||
|
||||
const std::string CONST_BALL_TEXTURE = "ball";
|
||||
const std::string CONST_BALLGLOW_TEXTURE = "ball_glow";
|
||||
|
||||
const std::string CONST_REFLECTOR_TEXTURE = "reflector";
|
||||
|
||||
const std::string CONST_WALL_LEFT_TEXTURE = "wall_left";
|
||||
const std::string CONST_WALL_RIGHT_TEXTURE = "wall_right";
|
||||
const std::string CONST_WALL_UP_TEXTURE = "wall_up";
|
||||
const std::string CONST_WALL_BONUS_TEXTURE = "wall_bonus";
|
||||
|
||||
const std::string CONST_BACK_BTN_TEXTURE = "back_btn";
|
||||
const std::string CONST_SLIDE_UP_BTN_TEXTURE = "slide_up_btn";
|
||||
const std::string CONST_TAP_TO_CONTINUE_BTN_TEXTURE = "tap_to_continue_btn";
|
||||
const std::string CONST_LOADING_TEXTURE = "loading";
|
||||
const std::string CONST_LOGO_SMALL_TEXTURE = "logo_small";
|
||||
const std::string CONST_LOADING_BACKGROUND_BLACK = "loading_background_black";
|
||||
const std::string CONST_CREDITS_TEXTURE = "credits";
|
||||
|
||||
const float CONST_CREDITS_SHOW_TIME = 150.f;
|
||||
|
||||
TMyApplication* Application;
|
||||
|
||||
|
||||
@ -73,50 +34,64 @@ void TMyApplication::InnerInit()
|
||||
*Console<<"APP INIT\n";
|
||||
}
|
||||
srand (static_cast<size_t>(time(NULL)));
|
||||
GameState = CONST_GAMESTATE_PRELOADING;
|
||||
StateTimer = 0.f;
|
||||
|
||||
|
||||
ResourceManager->ShaderManager.AddShader("DefaultShader", "shader1vertex.txt", "shader1fragment.txt");
|
||||
ResourceManager->ShaderManager.AddShader("FrameShader", "frameshader_vertex.txt", "frameshader_fragment.txt");
|
||||
ResourceManager->ShaderManager.AddShader("BrickShader", "brickshader_vertex.txt", "brickshader_fragment.txt");
|
||||
ResourceManager->ShaderManager.AddShader("ColorShader", "color_vertex.txt", "color_fragment.txt");
|
||||
ResourceManager->ShaderManager.AddShader("SSAA_4X", "SSAA_4X.vertex", "SSAA_4X.frag");
|
||||
Renderer->PushShader("DefaultShader");
|
||||
|
||||
ResourceManager->TexList.AddTexture(CONST_LOADING_BACKGROUND_BLACK + ".png", CONST_LOADING_BACKGROUND_BLACK);
|
||||
ResourceManager->TexList.AddTexture(CONST_LOADING_TEXTURE + ".png", CONST_LOADING_TEXTURE);
|
||||
ResourceManager->TexList.AddTexture(CONST_LOGO_SMALL_TEXTURE + ".png", CONST_LOGO_SMALL_TEXTURE);
|
||||
|
||||
ResourceManager->TexList.AddTexture("console_bkg.bmp");
|
||||
|
||||
ResourceManager->FrameManager.AddFrameRenderBuffer("LevelBuffer", 480 * 2, 320 * 2);
|
||||
ResourceManager->FrameManager.AddFrameRenderBuffer("LevelBuffer", 512, 512);
|
||||
|
||||
OnDrawSignal.connect(boost::bind(&TGameLoading::Draw, boost::ref(GameLoading)));
|
||||
Inited = true;
|
||||
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
|
||||
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 512, 0));
|
||||
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(512, 512, 0));
|
||||
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
|
||||
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(512, 512, 0));
|
||||
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(512, 0, 0));
|
||||
|
||||
|
||||
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(1, 0, 0, 1));
|
||||
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(1, 0, 0, 1));
|
||||
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 1, 0, 1));
|
||||
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 0, 1, 1));
|
||||
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 0, 1, 1));
|
||||
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 1, 0, 1));
|
||||
|
||||
pair.first.ShaderName = "ColorShader";
|
||||
|
||||
pair.second.RefreshBuffer();
|
||||
|
||||
|
||||
|
||||
|
||||
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
|
||||
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 512, 0));
|
||||
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(512, 512, 0));
|
||||
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(512, 512, 0));
|
||||
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(512, 0, 0));
|
||||
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
|
||||
|
||||
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(0, 0));
|
||||
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(0, 1));
|
||||
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(1, 1));
|
||||
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(1, 1));
|
||||
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(1, 0));
|
||||
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(0, 0));
|
||||
|
||||
|
||||
rect.second.RefreshBuffer();
|
||||
|
||||
Renderer->SetOrthoProjection();
|
||||
|
||||
Renderer->SetFullScreenViewport();
|
||||
|
||||
Renderer->PushShader("SSAA_4X");
|
||||
Inited = true;
|
||||
|
||||
const float cos30 = sqrt(3) / 2;
|
||||
const float sin30 = 0.5f;
|
||||
const float sampleRadiusX = 0.75 / 480;
|
||||
const float sampleRadiusY = 0.75 / 320;
|
||||
|
||||
Vector2f offset;
|
||||
offset = Vector2f(cos30 * sampleRadiusX, sin30 * sampleRadiusY);
|
||||
RenderUniform2fv("samplesOffset[0]", &offset[0]);
|
||||
offset = Vector2f(-sin30 * sampleRadiusX, cos30 * sampleRadiusY);
|
||||
RenderUniform2fv("samplesOffset[1]", &offset[0]);
|
||||
offset = Vector2f(-cos30 * sampleRadiusX, -sin30 * sampleRadiusY);
|
||||
RenderUniform2fv("samplesOffset[2]", &offset[0]);
|
||||
offset = Vector2f(sin30 * sampleRadiusX, -cos30 * sampleRadiusY);
|
||||
RenderUniform2fv("samplesOffset[3]", &offset[0]);
|
||||
|
||||
Renderer->PopShader();
|
||||
}
|
||||
|
||||
void TMyApplication::InnerDeinit()
|
||||
@ -128,215 +103,91 @@ void TMyApplication::InnerDeinit()
|
||||
*Console<<"APP DEINIT\n";
|
||||
}
|
||||
|
||||
OnTapUpSignal.disconnect(boost::bind(&TGameLevel::OnTapUp, boost::ref(GameLevel), _1));
|
||||
OnTapUpSignal.disconnect(boost::bind(&TGameMenu::OnTapUp, boost::ref(Menu), _1));
|
||||
|
||||
OnTapUpAfterMoveSignal.disconnect(boost::bind(&TGameMenu::OnTapUpAfterMove, boost::ref(Menu), _1));
|
||||
|
||||
|
||||
OnFlingSignal.disconnect(boost::bind(&TGameLevel::OnFling, boost::ref(GameLevel), _1));
|
||||
OnFlingSignal.disconnect(boost::bind(&TGameMenu::OnFling, boost::ref(Menu), _1));
|
||||
|
||||
OnScrollSignal.disconnect(boost::bind(&TGameLevel::OnScroll, boost::ref(GameLevel), _1));
|
||||
OnScrollSignal.disconnect(boost::bind(&TGameMenu::OnScroll, boost::ref(Menu), _1));
|
||||
|
||||
OnTapDownSignal.disconnect(boost::bind(&TGameLevel::OnTapDown, boost::ref(GameLevel), _1));
|
||||
OnTapDownSignal.disconnect(boost::bind(&TGameMenu::OnTapDown, boost::ref(Menu), _1));
|
||||
OnTapDownSignal.disconnect(boost::bind(&TGameCredits::OnTapDown, boost::ref(GameCredits), _1));
|
||||
|
||||
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameLoading::Draw, boost::ref(GameLoading)));
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameLevel::Draw, boost::ref(GameLevel)));
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameCredits::Draw, boost::ref(GameCredits)));
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::InnerOnTapDown(Vector2f p)
|
||||
{
|
||||
//-OnTapDownSignal(Vector2f(p.v[0], p.v[1]));
|
||||
OnTapDownSignal(Vector2f(p(0), p(1)));
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::InnerOnTapUp(Vector2f p)
|
||||
{
|
||||
OnTapUpSignal(Vector2f(p(0), p(1)));
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::InnerOnTapUpAfterMove(Vector2f p)
|
||||
{
|
||||
OnTapUpAfterMoveSignal(Vector2f(p(0), p(1)));
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::InnerOnMove(Vector2f p, Vector2f shift)
|
||||
{
|
||||
OnScrollSignal(Vector2f(shift(0), shift(1)));
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::OnFling(Vector2f v)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void TMyApplication::ApplySignalsToMenu()
|
||||
{
|
||||
|
||||
OnTapUpSignal.connect(boost::bind(&TGameMenu::OnTapUp, boost::ref(Menu), _1));
|
||||
OnTapUpAfterMoveSignal.connect(boost::bind(&TGameMenu::OnTapUpAfterMove, boost::ref(Menu), _1));
|
||||
OnFlingSignal.connect(boost::bind(&TGameMenu::OnFling, boost::ref(Menu), _1));
|
||||
OnScrollSignal.connect(boost::bind(&TGameMenu::OnScroll, boost::ref(Menu), _1));
|
||||
OnTapDownSignal.connect(boost::bind(&TGameMenu::OnTapDown, boost::ref(Menu), _1));
|
||||
|
||||
}
|
||||
|
||||
|
||||
void TMyApplication::DisapplySignalsToMenu()
|
||||
{
|
||||
OnTapUpSignal.disconnect(boost::bind(&TGameMenu::OnTapUp, boost::ref(Menu), _1));
|
||||
OnTapUpAfterMoveSignal.disconnect(boost::bind(&TGameMenu::OnTapUpAfterMove, boost::ref(Menu), _1));
|
||||
OnFlingSignal.disconnect(boost::bind(&TGameMenu::OnFling, boost::ref(Menu), _1));
|
||||
OnScrollSignal.disconnect(boost::bind(&TGameMenu::OnScroll, boost::ref(Menu), _1));
|
||||
OnTapDownSignal.disconnect(boost::bind(&TGameMenu::OnTapDown, boost::ref(Menu), _1));
|
||||
}
|
||||
|
||||
void TMyApplication::ApplySignalsToGame()
|
||||
{
|
||||
OnTapUpSignal.connect(boost::bind(&TGameLevel::OnTapUp, boost::ref(GameLevel), _1));
|
||||
OnFlingSignal.connect(boost::bind(&TGameLevel::OnFling, boost::ref(GameLevel), _1));
|
||||
OnScrollSignal.connect(boost::bind(&TGameLevel::OnScroll, boost::ref(GameLevel), _1));
|
||||
OnTapDownSignal.connect(boost::bind(&TGameLevel::OnTapDown, boost::ref(GameLevel), _1));
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::DisapplySignalsToGame()
|
||||
{
|
||||
OnTapUpSignal.disconnect(boost::bind(&TGameLevel::OnTapUp, boost::ref(GameLevel), _1));
|
||||
OnFlingSignal.disconnect(boost::bind(&TGameLevel::OnFling, boost::ref(GameLevel), _1));
|
||||
OnScrollSignal.disconnect(boost::bind(&TGameLevel::OnScroll, boost::ref(GameLevel), _1));
|
||||
OnTapDownSignal.disconnect(boost::bind(&TGameLevel::OnTapDown, boost::ref(GameLevel), _1));
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::ApplySignalsToCredits()
|
||||
{
|
||||
OnTapDownSignal.connect(boost::bind(&TGameCredits::OnTapDown, boost::ref(GameCredits), _1));
|
||||
}
|
||||
|
||||
|
||||
void TMyApplication::DisapplySignalsToCredits()
|
||||
{
|
||||
OnTapDownSignal.disconnect(boost::bind(&TGameCredits::OnTapDown, boost::ref(GameCredits), _1));
|
||||
}
|
||||
|
||||
void TMyApplication::LoadResources()
|
||||
{
|
||||
|
||||
TextureNamesToLoad.clear();
|
||||
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("main_menu_bkg_left.png", "main_menu_bkg_left"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("main_menu_bkg_right.png", "main_menu_bkg_right"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("select_level.png", "select_level"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock1.png", "shutterstock1"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock2.png", "shutterstock2"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock3.png", "shutterstock3"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock4.png", "shutterstock4"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock5.png", "shutterstock5"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock6.png", "shutterstock6"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock7.png", "shutterstock7"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock8.png", "shutterstock8"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock9.png", "shutterstock9"));
|
||||
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock10.png", "shutterstock10"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock11.png", "shutterstock11"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("shutterstock12.png", "shutterstock12"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot1.png", "levelshot1"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot2.png", "levelshot2"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot3.png", "levelshot3"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot4.png", "levelshot4"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot5.png", "levelshot5"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot6.png", "levelshot6"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot7.png", "levelshot7"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot8.png", "levelshot8"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot9.png", "levelshot9"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot10.png", "levelshot10"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot11.png", "levelshot11"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("levelshot12.png", "levelshot12"));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>("game_end.png", "game_end"));
|
||||
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BLOCK_TEXTURE1 + ".png", CONST_BLOCK_TEXTURE1));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BLOCK_TEXTURE2 + ".png", CONST_BLOCK_TEXTURE2));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BLOCK_TEXTURE3 + ".png", CONST_BLOCK_TEXTURE3));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BONUS_GOTHROUGH_TEXTURE + ".png", CONST_BONUS_GOTHROUGH_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BONUS_MULTIPLIER_TEXTURE + ".png", CONST_BONUS_MULTIPLIER_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BONUS_FLOOR_TEXTURE + ".png", CONST_BONUS_FLOOR_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BALL_TEXTURE + ".png", CONST_BALL_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BALLGLOW_TEXTURE + ".png", CONST_BALLGLOW_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_LEFT_TEXTURE + ".png", CONST_WALL_LEFT_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_RIGHT_TEXTURE + ".png", CONST_WALL_RIGHT_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_UP_TEXTURE + ".png", CONST_WALL_UP_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_WALL_BONUS_TEXTURE + ".png", CONST_WALL_BONUS_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_REFLECTOR_TEXTURE + ".png", CONST_REFLECTOR_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_BACK_BTN_TEXTURE + ".png", CONST_BACK_BTN_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_SLIDE_UP_BTN_TEXTURE + ".png", CONST_SLIDE_UP_BTN_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_TAP_TO_CONTINUE_BTN_TEXTURE + ".png", CONST_TAP_TO_CONTINUE_BTN_TEXTURE));
|
||||
TextureNamesToLoad.push_back(std::pair<std::string, std::string>(CONST_CREDITS_TEXTURE + ".png", CONST_CREDITS_TEXTURE));
|
||||
|
||||
#ifdef TARGET_IOS
|
||||
ResourceManager->SoundManager.LoadMusicLooped("level1ogg.ogg");
|
||||
#else
|
||||
//ResourceManager->SoundManager.LoadMusic("level1ogg.ogg");
|
||||
#endif
|
||||
|
||||
ResourceManager->FontManager.AddFont("droid_sans14", "droid_sans14_font_bitmap.png", "droid_sans14_font_charmap.txt");
|
||||
ResourceManager->FontManager.PushFont("droid_sans14");
|
||||
|
||||
TryLoadSavedGame();
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::TryLoadSavedGame()
|
||||
{
|
||||
|
||||
std::string fileName = GetFilePathUserData("progress.txt");
|
||||
|
||||
FILE* file = fopen(fileName.c_str(), "r");
|
||||
if (file != NULL)
|
||||
{
|
||||
char line[100];
|
||||
char* r;
|
||||
r = fgets(line, 100, file);
|
||||
if (r != NULL)
|
||||
{
|
||||
Menu.SetMenuItemCount(toint(r));
|
||||
}
|
||||
fclose(file);
|
||||
}
|
||||
}
|
||||
|
||||
void TMyApplication::TrySaveGame()
|
||||
{
|
||||
|
||||
std::string fileName = GetFilePathUserData("progress.txt");
|
||||
|
||||
std::string s = tostr(Menu.GetMenuItemCount());
|
||||
FILE* file = fopen(fileName.c_str(), "w");
|
||||
if (file != NULL)
|
||||
{
|
||||
fputs(s.c_str(), file);
|
||||
fflush(file);
|
||||
fclose(file);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void TMyApplication::InnerDraw()
|
||||
{
|
||||
glDisable(GL_DEPTH_TEST);
|
||||
|
||||
Renderer->SwitchToFrameBuffer("LevelBuffer");
|
||||
Renderer->SetProjectionMatrix(512.f, 512.f);
|
||||
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
|
||||
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
||||
CheckGlError("");
|
||||
|
||||
|
||||
OnDrawSignal();
|
||||
{
|
||||
TRenderParamsSetter params(pair.first);
|
||||
Renderer->DrawTriangleList(pair.second);
|
||||
}
|
||||
|
||||
CheckGlError("");
|
||||
|
||||
|
||||
Renderer->SwitchToScreen();
|
||||
Renderer->SetFullScreenViewport();
|
||||
|
||||
|
||||
const float cos30 = sqrt(3) / 2;
|
||||
const float sin30 = 0.5f;
|
||||
const float sampleRadiusX = 0.75 / 512;
|
||||
const float sampleRadiusY = 0.75 / 512;
|
||||
|
||||
Matrix2f rotate30Matrix;
|
||||
rotate30Matrix(0, 0) = cos30;
|
||||
rotate30Matrix(0, 1) = sin30;
|
||||
rotate30Matrix(1, 0) = -sin30;
|
||||
rotate30Matrix(1, 1) = cos30;
|
||||
|
||||
|
||||
Renderer->PushShader("SSAA_4X");
|
||||
|
||||
|
||||
std::array<Vector2f, 4> sampleVector = {
|
||||
Vector2f(sampleRadiusX, sampleRadiusY),
|
||||
Vector2f(-sampleRadiusX, sampleRadiusY),
|
||||
Vector2f(-sampleRadiusX, -sampleRadiusY),
|
||||
Vector2f(sampleRadiusX, -sampleRadiusY)
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < 4; i++)
|
||||
{
|
||||
sampleVector[i] = rotate30Matrix * sampleVector[i];
|
||||
|
||||
RenderUniform2fv("samplesOffset[" + boost::lexical_cast<std::string>(i) + "]", &sampleVector[i][0]);
|
||||
}
|
||||
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, ResourceManager->FrameManager.GetFrameTexture("LevelBuffer"));
|
||||
Renderer->DrawTriangleList(rect.second);
|
||||
|
||||
Renderer->PopShader();
|
||||
|
||||
CheckGlError("");
|
||||
|
||||
}
|
||||
|
||||
@ -344,162 +195,6 @@ void TMyApplication::InnerDraw()
|
||||
void TMyApplication::InnerUpdate(size_t dt)
|
||||
{
|
||||
|
||||
if (GameState == CONST_GAMESTATE_PRELOADING)
|
||||
{
|
||||
*SE::Console << "1CONST_GAMESTATE_PRELOADING";
|
||||
StateTimer += dt/1000.f;
|
||||
if (StateTimer >= 1.f)
|
||||
{
|
||||
LoadResources();
|
||||
GameState = CONST_GAMESTATE_LOADING;
|
||||
StateTimer = 0.f;
|
||||
}
|
||||
}
|
||||
else if (GameState == CONST_GAMESTATE_LOADING)
|
||||
{
|
||||
*SE::Console << "2CONST_GAMESTATE_LOADING";
|
||||
StateTimer += dt/1000.f;
|
||||
if (StateTimer >= 1.f)
|
||||
{
|
||||
StateTimer -= 1.f;
|
||||
}
|
||||
|
||||
if (TextureNamesToLoad.size() != 0)
|
||||
{
|
||||
ResourceManager->TexList.AddTexture(TextureNamesToLoad.begin()->first, TextureNamesToLoad.begin()->second);
|
||||
TextureNamesToLoad.erase(TextureNamesToLoad.begin());
|
||||
}
|
||||
else
|
||||
{
|
||||
GameState = CONST_GAMESTATE_MENU;
|
||||
ApplySignalsToMenu();
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameLoading::Draw, boost::ref(GameLoading)));
|
||||
OnDrawSignal.connect(0, boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||
StateTimer = 0.f;
|
||||
Loaded = true;
|
||||
}
|
||||
}
|
||||
else if (GameState == CONST_GAMESTATE_LEVEL)
|
||||
{
|
||||
*SE::Console << "3CONST_GAMESTATE_LEVEL";
|
||||
GameLevel.Update(dt);
|
||||
}
|
||||
else if (GameState == CONST_GAMESTATE_MENU)
|
||||
{
|
||||
//*SE::Console << "4CONST_GAMESTATE_MENU";
|
||||
Menu.Update(dt);
|
||||
}
|
||||
else if (GameState == CONST_GAMESTATE_FROM_MENU_TO_LEVEL)
|
||||
{
|
||||
*SE::Console << "5CONST_GAMESTATE_FROM_MENU_TO_LEVEL";
|
||||
GameLevel.Update(dt);
|
||||
if (GameLevel.IsLoaded())
|
||||
{
|
||||
//*SE::Console << "5CONST_GAMESTATE_FROM_MENU_TO_LEVEL";
|
||||
GameState = CONST_GAMESTATE_LEVEL;
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||
//CONNECT SLOT
|
||||
DisapplySignalsToMenu();
|
||||
ApplySignalsToGame();
|
||||
}
|
||||
}
|
||||
else if (GameState == CONST_GAMESTATE_FROM_MENU_TO_CREDITS)
|
||||
{
|
||||
*SE::Console << "6CONST_GAMESTATE_FROM_MENU_TO_CREDITS";
|
||||
Menu.Update(dt);
|
||||
GameCredits.Update(dt);
|
||||
StateTimer -= dt;
|
||||
if (StateTimer <= 0.f)
|
||||
{
|
||||
GameState = CONST_GAMESTATE_CREDITS;
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||
ApplySignalsToCredits();
|
||||
StateTimer = 0.f;
|
||||
}
|
||||
}
|
||||
else if (GameState == CONST_GAMESTATE_CREDITS)
|
||||
{
|
||||
//*SE::Console << "7CONST_GAMESTATE_CREDITS";
|
||||
GameCredits.Update(dt);
|
||||
}
|
||||
else if (GameState == CONST_GAMESTATE_FROM_CREDITS_TO_MENU)
|
||||
{
|
||||
Menu.Update(dt);
|
||||
GameCredits.Update(dt);
|
||||
StateTimer -= dt;
|
||||
if (StateTimer <= 0.f)
|
||||
{
|
||||
GameState = CONST_GAMESTATE_MENU;
|
||||
StateTimer = 0.f;
|
||||
ApplySignalsToMenu();
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameCredits::Draw, boost::ref(GameCredits)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TMyApplication::GoFromMenuToGame(int level)
|
||||
{
|
||||
//#ifndef TARGET_IOS
|
||||
// ResourceManager->SoundManager.PlayMusicLooped("level1ogg.ogg");
|
||||
//#endif
|
||||
|
||||
GameLevel.FillWithFile(ST::PathToResources + "level"+tostr(level+1)+".txt");
|
||||
GameLevel.SetLoading("shutterstock" + tostr(level+1), "levelshot"+tostr(level+1));
|
||||
GameState = CONST_GAMESTATE_FROM_MENU_TO_LEVEL;
|
||||
OnDrawSignal.connect(1, boost::bind(&TGameLevel::Draw, boost::ref(GameLevel)));
|
||||
|
||||
DisapplySignalsToMenu();
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::GoFromGameToMenu()
|
||||
{
|
||||
//#ifndef TARGET_IOS
|
||||
// ResourceManager->SoundManager.StopMusic("level1ogg.ogg");
|
||||
//#endif
|
||||
TrySaveGame();
|
||||
DisapplySignalsToGame();
|
||||
ApplySignalsToMenu();
|
||||
GameState = CONST_GAMESTATE_MENU;
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameLevel::Draw, boost::ref(GameLevel)));
|
||||
}
|
||||
|
||||
void TMyApplication::GoFromMenuToCredits()
|
||||
{
|
||||
GameState = CONST_GAMESTATE_FROM_MENU_TO_CREDITS;
|
||||
StateTimer = CONST_CREDITS_SHOW_TIME;
|
||||
GameCredits.StartAppear();
|
||||
OnDrawSignal.connect(1, boost::bind(&TGameCredits::Draw, boost::ref(GameCredits)));
|
||||
DisapplySignalsToMenu();
|
||||
|
||||
}
|
||||
|
||||
void TMyApplication::GoFromCreditsToMenu()
|
||||
{
|
||||
|
||||
GameState = CONST_GAMESTATE_FROM_CREDITS_TO_MENU;
|
||||
StateTimer = CONST_CREDITS_SHOW_TIME;
|
||||
GameCredits.StartDisappear();
|
||||
OnDrawSignal.connect(0, boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||
|
||||
DisapplySignalsToCredits();
|
||||
}
|
||||
|
||||
void TMyApplication::MarkSetGameLevelPause()
|
||||
{
|
||||
OnDrawSignal.connect(0, boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||
}
|
||||
|
||||
void TMyApplication::MarkReleaseGameLevelPause()
|
||||
{
|
||||
OnDrawSignal.disconnect(boost::bind(&TGameMenu::Draw, boost::ref(Menu)));
|
||||
}
|
||||
|
||||
|
||||
void TMyApplication::OpenNextLevel()
|
||||
{
|
||||
Menu.OpenNextLevel();
|
||||
}
|
||||
|
||||
bool TMyApplication::IsLoaded()
|
||||
|
@ -24,93 +24,18 @@
|
||||
|
||||
#include "boost/signals2.hpp"//Signal must be included after asio
|
||||
|
||||
#include "gamecode.h"
|
||||
#include "menucode.h"
|
||||
#include "creditscode.h"
|
||||
#include "loadingcode.h"
|
||||
|
||||
using namespace SE;
|
||||
|
||||
|
||||
extern boost::signals2::signal<void(Vector2f)> OnTapUpSignal;
|
||||
extern boost::signals2::signal<void(Vector2f)> OnTapUpAfterMoveSignal;
|
||||
|
||||
extern boost::signals2::signal<void(Vector2f)> OnTapDownSignal;
|
||||
extern boost::signals2::signal<void(Vector2f)> OnFlingSignal;
|
||||
extern boost::signals2::signal<void(Vector2f)> OnScrollSignal;
|
||||
|
||||
extern boost::signals2::signal<void()> OnDrawSignal;
|
||||
|
||||
extern const std::string CONST_BLOCK_TEXTURE1;
|
||||
extern const std::string CONST_BLOCK_TEXTURE2;
|
||||
extern const std::string CONST_BLOCK_TEXTURE3;
|
||||
|
||||
extern const std::string CONST_BONUS_GOTHROUGH_TEXTURE;
|
||||
extern const std::string CONST_BONUS_MULTIPLIER_TEXTURE;
|
||||
extern const std::string CONST_BONUS_FLOOR_TEXTURE;
|
||||
|
||||
extern const std::string CONST_BALL_TEXTURE;
|
||||
extern const std::string CONST_BALLGLOW_TEXTURE;
|
||||
|
||||
extern const std::string CONST_WALL_LEFT_TEXTURE;
|
||||
extern const std::string CONST_WALL_RIGHT_TEXTURE;
|
||||
extern const std::string CONST_WALL_UP_TEXTURE;
|
||||
extern const std::string CONST_WALL_BONUS_TEXTURE;
|
||||
|
||||
|
||||
extern const std::string CONST_REFLECTOR_TEXTURE;
|
||||
|
||||
extern const std::string CONST_BACK_BTN_TEXTURE;
|
||||
|
||||
extern const std::string CONST_SLIDE_UP_BTN_TEXTURE;
|
||||
extern const std::string CONST_TAP_TO_CONTINUE_BTN_TEXTURE;
|
||||
|
||||
extern const std::string CONST_BACK_BTN_TEXTURE;
|
||||
extern const std::string CONST_SLIDE_UP_BTN_TEXTURE;
|
||||
extern const std::string CONST_TAP_TO_CONTINUE_BTN_TEXTURE;
|
||||
extern const std::string CONST_LOADING_TEXTURE;
|
||||
extern const std::string CONST_LOGO_SMALL_TEXTURE;
|
||||
extern const std::string CONST_LOADING_BACKGROUND_BLACK;
|
||||
extern const std::string CONST_CREDITS_TEXTURE;
|
||||
|
||||
|
||||
|
||||
const int CONST_GAMESTATE_LEVEL = 1;
|
||||
const int CONST_GAMESTATE_MENU = 0;
|
||||
const int CONST_GAMESTATE_FROM_MENU_TO_LEVEL = 2;
|
||||
const int CONST_GAMESTATE_FROM_MENU_TO_CREDITS = 3;
|
||||
const int CONST_GAMESTATE_CREDITS = 4;
|
||||
const int CONST_GAMESTATE_FROM_CREDITS_TO_MENU = 5;
|
||||
const int CONST_GAMESTATE_LOADING = 6;
|
||||
const int CONST_GAMESTATE_PRELOADING = 7;
|
||||
|
||||
|
||||
class TMyApplication : public TApplication
|
||||
{
|
||||
protected:
|
||||
TGameMenu Menu;
|
||||
TGameLevel GameLevel;
|
||||
TGameCredits GameCredits;
|
||||
TGameLoading GameLoading;
|
||||
|
||||
int GameState;
|
||||
float StateTimer;
|
||||
|
||||
void TryLoadSavedGame();
|
||||
void TrySaveGame();
|
||||
|
||||
bool Inited;
|
||||
|
||||
std::vector<std::pair<std::string, std::string> > TextureNamesToLoad;
|
||||
|
||||
void ApplySignalsToMenu();
|
||||
void DisapplySignalsToMenu();
|
||||
void ApplySignalsToGame();
|
||||
void DisapplySignalsToGame();
|
||||
void ApplySignalsToCredits();
|
||||
void DisapplySignalsToCredits();
|
||||
|
||||
public:
|
||||
TRenderPair pair;
|
||||
TRenderPair rect;
|
||||
|
||||
bool Loaded;
|
||||
|
||||
TMyApplication() : TApplication(), Loaded(false), Inited(false) { }
|
||||
@ -123,20 +48,10 @@ public:
|
||||
|
||||
virtual void InnerUpdate(size_t dt);
|
||||
|
||||
void GoFromMenuToGame(int level);
|
||||
void GoFromGameToMenu();
|
||||
void GoFromMenuToCredits();
|
||||
void GoFromCreditsToMenu();
|
||||
void MarkSetGameLevelPause();
|
||||
void MarkReleaseGameLevelPause();
|
||||
|
||||
void OpenNextLevel();
|
||||
|
||||
bool IsLoaded();
|
||||
|
||||
bool IsInited();
|
||||
|
||||
void LoadResources();
|
||||
|
||||
virtual void InnerOnTapDown(Vector2f p);
|
||||
|
||||
|
@ -116,7 +116,7 @@
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Debug</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/stage/x64/lib;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Debug</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libjpeg.lib;libpng.lib;Engine.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
@ -158,25 +158,16 @@
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/release/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Release</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/stage/x64/lib;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/release/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Release</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libjpeg.lib;libpng.lib;Engine.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\game\creditscode.cpp" />
|
||||
<ClCompile Include="..\..\..\game\gamecode.cpp" />
|
||||
<ClCompile Include="..\..\..\game\loadingcode.cpp" />
|
||||
<ClCompile Include="..\..\..\game\main_code.cpp" />
|
||||
<ClCompile Include="..\..\..\game\menucode.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\game\creditscode.h" />
|
||||
<ClInclude Include="..\..\..\game\gamecode.h" />
|
||||
<ClInclude Include="..\..\..\game\game_area_interface.h" />
|
||||
<ClInclude Include="..\..\..\game\loadingcode.h" />
|
||||
<ClInclude Include="..\..\..\game\main_code.h" />
|
||||
<ClInclude Include="..\..\..\game\menucode.h" />
|
||||
<ClInclude Include="main.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
@ -21,18 +21,6 @@
|
||||
<ClCompile Include="..\..\..\game\main_code.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\game\menucode.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\game\creditscode.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\game\gamecode.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\game\loadingcode.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="main.h">
|
||||
@ -41,20 +29,5 @@
|
||||
<ClInclude Include="..\..\..\game\main_code.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\game\menucode.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\game\creditscode.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\game\game_area_interface.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\game\gamecode.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\game\loadingcode.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -8,8 +8,8 @@ int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst,
|
||||
LPSTR lpszCmdLine, int nCmdShow)
|
||||
{
|
||||
|
||||
int width = 480;
|
||||
int height = 320;
|
||||
int width = 512;
|
||||
int height = 512;
|
||||
|
||||
|
||||
if (CreateEngine(width, height))
|
||||
|