Compare commits

...

5 Commits

160 changed files with 4655 additions and 3381 deletions

0
.gitignore vendored Normal file → Executable file
View File

Binary file not shown.

Before

(image error) Size: 6.6 KiB

Binary file not shown.

Before

(image error) Size: 962 B

Binary file not shown.

Before

(image error) Size: 3.3 KiB

Binary file not shown.

Before

(image error) Size: 1.3 KiB

Binary file not shown.

Before

(image error) Size: 1.7 KiB

Binary file not shown.

Before

(image error) Size: 1.7 KiB

Binary file not shown.

Before

(image error) Size: 759 B

Binary file not shown.

Before

(image error) Size: 1022 B

Binary file not shown.

Before

(image error) Size: 564 B

View File

@ -1,15 +0,0 @@
precision mediump float;
uniform sampler2D Texture;
uniform float Transparency;
uniform vec4 BrickColor;
varying vec2 texCoord;
void main()
{
vec4 color = BrickColor * texture2D(Texture,texCoord).rgba;
gl_FragColor = vec4(color.rgb, color.a * Transparency);
}

View File

@ -1,12 +0,0 @@
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionMatrix;
void main()
{
//480x320
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
}

Binary file not shown.

Before

(image error) Size: 102 B

Binary file not shown.

Before

(image error) Size: 13 KiB

BIN
assets/emoji/Asset 10@20x.png Executable file

Binary file not shown.

After

(image error) Size: 165 KiB

BIN
assets/emoji/Asset 11@20x.png Executable file

Binary file not shown.

After

(image error) Size: 131 KiB

BIN
assets/emoji/Asset 13@20x.png Executable file

Binary file not shown.

After

(image error) Size: 148 KiB

BIN
assets/emoji/Asset 14@20x.png Executable file

Binary file not shown.

After

(image error) Size: 166 KiB

BIN
assets/emoji/Asset 15@20x.png Executable file

Binary file not shown.

After

(image error) Size: 158 KiB

BIN
assets/emoji/Asset 16@20x.png Executable file

Binary file not shown.

After

(image error) Size: 134 KiB

BIN
assets/emoji/Asset 17@20x.png Executable file

Binary file not shown.

After

(image error) Size: 142 KiB

BIN
assets/emoji/Asset 18@20x.png Executable file

Binary file not shown.

After

(image error) Size: 127 KiB

BIN
assets/emoji/Asset 19@20x.png Executable file

Binary file not shown.

After

(image error) Size: 134 KiB

BIN
assets/emoji/Asset 20@20x.png Executable file

Binary file not shown.

After

(image error) Size: 130 KiB

BIN
assets/emoji/Asset 21@20x.png Executable file

Binary file not shown.

After

(image error) Size: 175 KiB

BIN
assets/emoji/Asset 22@20x.png Executable file

Binary file not shown.

After

(image error) Size: 152 KiB

BIN
assets/emoji/Asset 23@20x.png Executable file

Binary file not shown.

After

(image error) Size: 141 KiB

BIN
assets/emoji/Asset 24@20x.png Executable file

Binary file not shown.

After

(image error) Size: 136 KiB

BIN
assets/emoji/Asset 25@20x.png Executable file

Binary file not shown.

After

(image error) Size: 133 KiB

BIN
assets/emoji/Asset 26@20x.png Executable file

Binary file not shown.

After

(image error) Size: 170 KiB

BIN
assets/emoji/Asset 27@20x.png Executable file

Binary file not shown.

After

(image error) Size: 168 KiB

BIN
assets/emoji/Asset 28@20x.png Executable file

Binary file not shown.

After

(image error) Size: 131 KiB

BIN
assets/emoji/Asset 3@20x.png Executable file

Binary file not shown.

After

(image error) Size: 138 KiB

BIN
assets/emoji/Asset 4@20x.png Executable file

Binary file not shown.

After

(image error) Size: 155 KiB

BIN
assets/emoji/Asset 5@20x.png Executable file

Binary file not shown.

After

(image error) Size: 150 KiB

BIN
assets/emoji/Asset 6@20x.png Executable file

Binary file not shown.

After

(image error) Size: 129 KiB

BIN
assets/emoji/Asset 7@20x.png Executable file

Binary file not shown.

After

(image error) Size: 152 KiB

BIN
assets/emoji/Asset 8@20x.png Executable file

Binary file not shown.

After

(image error) Size: 134 KiB

BIN
assets/emoji/Asset 9@20x.png Executable file

Binary file not shown.

After

(image error) Size: 197 KiB

249
assets/emoji/emojis.json Executable file
View File

@ -0,0 +1,249 @@
{
"transform version": "V1",
"models": [
{
"type": "EmojiModel",
"name": "Smile"
}],
"renderParams": [
{
"vertexShader": "./assets/shaders/vertex/orthoVertexShader.txt",
"fragmentShader": "./assets/shaders/fragment/orthoFragmentShader.txt",
"alphaTest": "true",
"blend": "true",
"TAG": "smile & tongue 0"
}
],
"initialModules": [0, 1, 2, 3, 4],
"modules": [
{
"iconPath": "./assets/fx/emoji/Asset 3@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 3@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 24@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 24@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 13@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 13@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 23@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 23@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 19@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 19@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 20@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 20@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 17@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 17@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 18@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 18@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 15@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 15@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 16@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 16@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 21@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 21@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 4@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 4@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 22@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 22@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 14@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 14@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 11@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 11@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 25@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 25@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 26@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 26@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 27@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 27@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 28@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 28@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 5@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 5@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 6@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 6@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 7@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 7@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 8@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 8@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 9@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 9@20x.png"
}
]
},
{
"iconPath": "./assets/fx/emoji/Asset 10@20x.png",
"suits": [
{
"renderParamsID": 0,
"emojiTexture": "./assets/fx/emoji/Asset 10@20x.png"
}
]
}
]
}

Binary file not shown.

Before

(image error) Size: 3.4 KiB

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

Before

(image error) Size: 142 KiB

Binary file not shown.

Before

(image error) Size: 125 KiB

Binary file not shown.

Before

(image error) Size: 137 KiB

Binary file not shown.

Before

(image error) Size: 125 KiB

Binary file not shown.

Before

(image error) Size: 140 KiB

Binary file not shown.

Before

(image error) Size: 148 KiB

Binary file not shown.

Before

(image error) Size: 155 KiB

Binary file not shown.

Before

(image error) Size: 147 KiB

Binary file not shown.

Before

(image error) Size: 146 KiB

Binary file not shown.

Before

(image error) Size: 152 KiB

Binary file not shown.

Before

(image error) Size: 150 KiB

Binary file not shown.

Before

(image error) Size: 134 KiB

Binary file not shown.

Before

(image error) Size: 2.0 KiB

Binary file not shown.

Before

(image error) Size: 2.5 KiB

Binary file not shown.

Before

(image error) Size: 217 KiB

Binary file not shown.

Before

(image error) Size: 177 KiB

Binary file not shown.

Before

(image error) Size: 7.0 KiB

Binary file not shown.

Before

(image error) Size: 2.3 KiB

Binary file not shown.

Before

(image error) Size: 480 KiB

Binary file not shown.

Before

(image error) Size: 362 KiB

Binary file not shown.

Before

(image error) Size: 433 KiB

Binary file not shown.

Before

(image error) Size: 370 KiB

Binary file not shown.

Before

(image error) Size: 464 KiB

Binary file not shown.

Before

(image error) Size: 532 KiB

Binary file not shown.

Before

(image error) Size: 611 KiB

Binary file not shown.

Before

(image error) Size: 509 KiB

Binary file not shown.

Before

(image error) Size: 503 KiB

Binary file not shown.

Before

(image error) Size: 553 KiB

Binary file not shown.

Before

(image error) Size: 597 KiB

Binary file not shown.

Before

(image error) Size: 474 KiB

Binary file not shown.

Before

(image error) Size: 9.4 KiB

Binary file not shown.

Before

(image error) Size: 6.7 KiB

Binary file not shown.

Before

(image error) Size: 4.8 KiB

Binary file not shown.

Before

(image error) Size: 7.0 KiB

Binary file not shown.

Before

(image error) Size: 7.0 KiB

Binary file not shown.

Before

(image error) Size: 4.1 KiB

0
game/Android.mk Normal file → Executable file
View File

0
game/Application.mk Normal file → Executable file
View File

0
game/DoubleHitBalls.dev Normal file → Executable file
View File

0
game/android_api.cpp Normal file → Executable file
View File

0
game/android_api.h Normal file → Executable file
View File

View File

@ -1,83 +0,0 @@
#include "creditscode.h"
#include "include/Engine.h"
#include "main_code.h"
const int TGameCredits::CONST_STATE_APPEARING = 0;
const int TGameCredits::CONST_STATE_APPEARED = 1;
const int TGameCredits::CONST_STATE_DISAPPEARING = 2;
const int TGameCredits::CONST_STATE_DISAPPEARED = 3;
const float TGameCredits::CONST_APPEAR_TIME = 150.f;
TGameCredits::TGameCredits()
: TGameAreaAncestor()
, StateTimer(0)
, State(CONST_STATE_DISAPPEARED)
{
}
void TGameCredits::Draw()
{
//*SE::Console << "TGameCredits::Draw";
float transparency = StateTimer/CONST_APPEAR_TIME;
RenderUniform1f("Transparency", transparency);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList["main_menu_bkg_left"]);
Renderer->DrawRect(Vector2f(0, 0.f), Vector2f(480.f, 320.f));
const Vector2f creditsPos(140.f, 130.f);
const Vector2f creditsHalfSize(128.f, 128.f);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_CREDITS_TEXTURE]);
Renderer->DrawRect(creditsPos-creditsHalfSize, creditsPos+creditsHalfSize);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_LOGO_SMALL_TEXTURE]);
Renderer->DrawRect(Vector2f(240.f-128.f+15.f, 320.f-64.f), Vector2f(240.f+128.f+15.f, 320.f));
CheckGlError("Draw TGameCredits");
}
void TGameCredits::Update(size_t dt)
{
if (State == CONST_STATE_APPEARING)
{
*SE::Console << "TGameCredits::Update - CONST_STATE_APPEARING";
StateTimer += dt;
if (StateTimer >= CONST_APPEAR_TIME)
{
StateTimer = CONST_APPEAR_TIME;
State = CONST_STATE_APPEARED;
}
}
else if (State == CONST_STATE_DISAPPEARING)
{
StateTimer -= dt;
if (StateTimer <= 0.f)
{
StateTimer = 0.f;
State = CONST_STATE_DISAPPEARED;
}
}
}
void TGameCredits::OnTapDown(Vector2f p)
{
*SE::Console << "TGameCredits::OnTapDown";
Application->GoFromCreditsToMenu();
}
void TGameCredits::StartAppear()
{
*SE::Console << "TGameCredits::StartAppear";
State = CONST_STATE_APPEARING;
}
void TGameCredits::StartDisappear()
{
*SE::Console << "TGameCredits::StartDisappear";
State = CONST_STATE_DISAPPEARING;
}

View File

@ -1,34 +0,0 @@
#ifndef CREDITSCODE_H_INCLUDED
#define CREDITSCODE_H_INCLUDED
#include "game_area_interface.h"
using namespace SE;
class TGameCredits : public TGameAreaAncestor
{
static const int CONST_STATE_APPEARING;
static const int CONST_STATE_APPEARED;
static const int CONST_STATE_DISAPPEARING;
static const int CONST_STATE_DISAPPEARED;
static const float CONST_APPEAR_TIME;
int State;
float StateTimer;
public:
TGameCredits();
virtual void Draw();
virtual void Update(size_t dt);
virtual void OnTapDown(Vector2f p);
void StartAppear();
void StartDisappear();
};
#endif

View File

@ -1,25 +0,0 @@
#ifndef GAME_AREA_INTERFACE_H_INCLUDED
#define GAME_AREA_INTERFACE_H_INCLUDED
#include "include/Engine.h"
using namespace SE;
class TGameAreaAncestor
{
public:
virtual void Draw() { }
virtual void Update(size_t) { }
virtual void OnTapUp(Vector2f) { }
virtual void OnTapUpAfterMove(Vector2f) { }
virtual void OnTapDown(Vector2f) { }
virtual void OnFling(Vector2f) { }
virtual void OnScroll(Vector2f) { }
virtual ~TGameAreaAncestor() { } //By default destructor is not virtual
};
#endif

File diff suppressed because it is too large Load Diff

View File

@ -1,205 +0,0 @@
#ifndef GAMECODE_H_INCLUDED
#define GAMECODE_H_INCLUDED
#include "include/Engine.h"
#include "game_area_interface.h"
#include <list>
using namespace SE;
const int CONST_BRICKSTATE_VISIBLE = 3;
const int CONST_BRICKSTATE_DISAPPEAR = 2;
const int CONST_BRICKSTATE_INVISIBLE = 1;
const int CONST_BRICKSTATE_APPEAR = 0;
const float CONST_BRICK_DISAPPEAR_TIME = 200.f;
const float CONST_BRICK_APPEAR_TIME = 200.f;
const int CONST_BRICKMATRIX_WIDTH = 12;
const int CONST_BRICKMATRIX_HEIGHT = 13;
const float CONST_BRICK_WIDTH = 37.5f;
const float CONST_BRICK_HEIGHT = 0.5f*CONST_BRICK_WIDTH;
const float CONST_BRICK_SHIFT_X = 15.f;
const float CONST_BRICK_SHIFT_Y = -16.f;
const float CONST_BONUS_APPEAR_TIME = 400.f;
const float CONST_BONUS_FALL_SPEED = 100.f;
const float CONST_BONUS_GOTHROUGH_TIME = 8000.f;
const float CONST_BONUS_CATCH_DISTANCE_X = 65.f;
const float CONST_BONUS_CATCH_DISTANCE_Y = 20.f;
const float CONST_BONUS_FLOOR_TIME = 8000.f;
const float CONST_BONUS_FLOOR_APPEAR_SPEED = 50.f;
const int CONST_BONUS_TYPE_MULTIPLIER = 0;
const int CONST_BONUS_TYPE_GOTHROUGH = 1;
const int CONST_BONUS_TYPE_FLOOR = 2;
class TBrick
{
protected:
int InitialLocked;
int Locked; //0, 1 or 2
int State;
float StateTimer;
Vector4f Color;
public:
TBrick();
void SetVisible(Vector4f color, int locked);
void SetInvisible();
void TryDrawAppear(int ipos, int jpos);
void Update(size_t dt);
Vector2f GetPosFrom(int ipos, int jpos);
Vector4f GetColor();
void Appear(Vector4f color, int locked);
void Appear();
void Hit();
void Disappear();
int GetLocked();
bool CanReact();
};
class TBonusFalling
{
protected:
float Lifetime;
Vector2f Pos;
std::string TexName;
int BonusType; //0 - multiplier, 1 - Go-through, 2 - floor
public:
TBonusFalling(Vector2f pos);
Vector2f GetPos();
int GetType();
void Draw();
void Update(size_t dt);
};
struct TBall
{
Vector2f Pos;
Vector2f Velocity;
Vector4f Color;
std::list<Vector2f> TalePos;
Vector2f BallInBlock;
Vector2f PrevBallInBlock;
TBall(Vector2f pos, Vector2f velocity, Vector4f color);
Vector2f GetPos();
Vector2f GetVelocityVector();
void Go();
void ReflectToLeft();
void ReflectToRight();
void ReflectToUp();
void ReflectToDown();
void TryReflectOnReflector(Vector2f refPos);
void Update(size_t dt);
};
typedef std::pair<Vector4f, std::string> PairColorTexture;
struct TBlockInstansingList
{
//color-texture ---> and list of triangles for this color
std::list<std::pair<PairColorTexture, TTriangleList>> ColorBlockList;
};
struct TBallInstancingList
{
std::map<int, TTriangleList> BallAndGlowList;
};
class TGameLevel : public TGameAreaAncestor
{
protected:
std::string BkgTexture;
std::string LevelScreenTexture;
std::string LevelFileName;
Vector2f ReflectorPos;
int LevelState;
bool PrevLevelStateIsStandby;
float StateTimer;
TBrick BlockMatrix[CONST_BRICKMATRIX_WIDTH][CONST_BRICKMATRIX_HEIGHT];
TBlockInstansingList BlockInstansingList;
bool TapInBackBtnArea(const Vector2f& pos);
void ReloadBlockInstansingList();
void SetFinished();
void SetFinishFreeze();
void DrawBuffer();
void DrawPauseButtons();
void DrawBallInstancingList();
bool RenderBufferReady;
float OutScale;
float OutScaleVelocity;
void TryGoToMenu();
std::list<TBonusFalling> BonusFallingList;
std::list<TBall> BallList;
TBallInstancingList BallInstancingList;
Vector4f BallColor;
void ReloadBallInstancingList();
void RefreshBallInstancingList();
void UpdateBallList(size_t dt);
void MultiplyBalls(Vector2f pos, Vector2f velocity);
Vector2f GetBlock(const Vector2f& pos);
void InitLevel();
float BonusGothroughTimer;
float BonusFloorTimer;
float BonusFloorPosY;
Vector4f ParseColor(const std::string& s);
void ReloadLevel();
public:
TGameLevel();
~TGameLevel();
void FillWithFile(const std::string& filename);
void SetStandBy();
void SetLoading(const std::string& bkg, const std::string& levelscreen);
bool IsLoaded();
virtual void Draw();
void SetPause();
bool IsPaused();
void ReleasePause();
virtual void Update(size_t dt);
virtual void OnTapDown(Vector2f pos);
virtual void OnTapUp(Vector2f pos);
virtual void OnFling(Vector2f slideSpeed);
virtual void OnScroll(Vector2f shift);
};
#endif

Some files were not shown because too many files have changed in this diff Show More