All powerup capsule types working.
This commit is contained in:
parent
f2b89a6d01
commit
447881a044
@ -16,14 +16,14 @@ enum EnemyID {
|
||||
ISHOOT2,
|
||||
SHOOTME_ARMOR,
|
||||
SONAR,
|
||||
COIN = 56,
|
||||
POWERUP_ARMOR = 57,
|
||||
POWERUP_SPEED = 58,
|
||||
POWERUP_SHOT = 59,
|
||||
SPECIAL_CAMO = 60,
|
||||
SPECIAL_STOP = 61,
|
||||
SPECIAL_SHIELD = 62,
|
||||
AREA_MAP = 63,
|
||||
POWERUP_ARMOR = 56,
|
||||
POWERUP_SPEED = 57,
|
||||
POWERUP_SHOT = 58,
|
||||
SPECIAL_STOP = 59,
|
||||
SPECIAL_SHIELD = 60,
|
||||
SPECIAL_CAMO = 61,
|
||||
AREA_MAP = 62,
|
||||
COIN = 63,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -7,5 +7,5 @@ Kd 1.0 1.0 1.0
|
||||
Ka 0.0 0.0 0.0
|
||||
Ks 0.19 0.19 0.19
|
||||
Ke 0.0 0.0 0.0
|
||||
map_Kd octahedron3_auv.png
|
||||
map_Kd octahedron3_auv2.png
|
||||
|
||||
|
Binary file not shown.
@ -1,38 +1,44 @@
|
||||
6
|
||||
7
|
||||
6
|
||||
32777
|
||||
32778
|
||||
8202
|
||||
8728
|
||||
24584
|
||||
8200
|
||||
8204
|
||||
40965
|
||||
57753
|
||||
24584
|
||||
25104
|
||||
8192
|
||||
16788
|
||||
16784
|
||||
8196
|
||||
8197
|
||||
8193
|
||||
8192
|
||||
8194
|
||||
8194
|
||||
8192
|
||||
15632
|
||||
8196
|
||||
8193
|
||||
2
|
||||
25492
|
||||
8201
|
||||
8204
|
||||
8197
|
||||
16144
|
||||
8192
|
||||
15508
|
||||
8197
|
||||
8351
|
||||
8197
|
||||
8195
|
||||
8198
|
||||
277
|
||||
273
|
||||
15764
|
||||
8195
|
||||
8602
|
||||
8194
|
||||
8202
|
||||
8202
|
||||
8198
|
||||
16018
|
||||
15894
|
||||
|
BIN
Faceball2030/assets/octahedron3_auv2.png
Normal file
BIN
Faceball2030/assets/octahedron3_auv2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.2 KiB |
@ -163,7 +163,12 @@ bool Powerup::Update(float fElapsedTime) {
|
||||
}
|
||||
|
||||
void FaceBall::SpawnPowerup(PowerupType type, vec3d pos) {
|
||||
Mesh& mesh = (type <= PowerupType::SHOTS) ? powerup : powerup2;
|
||||
Mesh mesh = (type <= PowerupType::SHOTS) ? powerup : powerup2;
|
||||
for (Triangle& t : mesh.tris) {
|
||||
t.col[0] = powerupColorData[type];
|
||||
t.col[1] = powerupColorData[type];
|
||||
t.col[2] = powerupColorData[type];
|
||||
}
|
||||
powerups.push_back({ mesh,pos,0,type });
|
||||
}
|
||||
|
||||
@ -198,9 +203,12 @@ void FaceBall::LoadLevel(int level)
|
||||
mapFloor.tris.push_back({ {{(float)x,0,(float)y},{(float)x,0,(float)y + 1},{(float)x + 1,0,(float)y}},{{0,0},{0,1},{1,0}},{WHITE,WHITE,WHITE}, floor_tex });
|
||||
mapFloor.tris.push_back({ {{(float)x + 1,0,(float)y},{(float)x,0,(float)y + 1},{(float)x + 1,0,(float)y + 1}},{{1,0},{0,1},{1,1}},{WHITE,WHITE,WHITE}, floor_tex });
|
||||
EnemyID id = mapData[y][x].enemyId;
|
||||
if (id>=SHOOTME&& id < COIN) {
|
||||
if (id>=SHOOTME&& id < POWERUP_ARMOR) {
|
||||
enemies.push_back({ id,vec3d{x + 0.5f,0,y + 0.5f},((int)mapData[y][x].facingDir-1)*PI/2,enemyData[id].radius});
|
||||
}
|
||||
if (id >= POWERUP_ARMOR) {
|
||||
SpawnPowerup(PowerupType((int)id-55), vec3d{ x + 0.5f,0,y + 0.5f });
|
||||
}
|
||||
if (id == EXIT) {
|
||||
exitCoords = { x,y };
|
||||
}
|
||||
@ -846,9 +854,9 @@ void FaceBall::RenderPowerupMesh(mat4x4& matView, std::vector<Triangle>& vecTria
|
||||
triTransformed.uv[0] = tri.uv[0];
|
||||
triTransformed.uv[1] = tri.uv[1];
|
||||
triTransformed.uv[2] = tri.uv[2];
|
||||
triTransformed.col[0] = tri.col[0];
|
||||
triTransformed.col[1] = tri.col[1];
|
||||
triTransformed.col[2] = tri.col[2];
|
||||
triTransformed.col[0] = tri.col[0] * p.colorCycle;
|
||||
triTransformed.col[1] = tri.col[1] * p.colorCycle;
|
||||
triTransformed.col[2] = tri.col[2] * p.colorCycle;
|
||||
triTransformed.tex = tri.tex;
|
||||
|
||||
vec3d normal, line1, line2;
|
||||
@ -1135,14 +1143,14 @@ void FaceBall::RenderWorld() {
|
||||
RenderMesh(matView, vecTrianglesToRaster, enemy);
|
||||
}
|
||||
}
|
||||
for (auto& powerup : powerups) {
|
||||
RenderPowerupMesh(matView, vecTrianglesToRaster, powerup);
|
||||
}
|
||||
for (auto& bullet : bullets) {
|
||||
RenderBulletMesh(matView, vecTrianglesToRasterTranslucent, bullet);
|
||||
}
|
||||
RenderMesh(matView, vecTrianglesToRaster, walls);
|
||||
RenderMesh(matView, vecTrianglesToRasterTranslucent, walls, true);
|
||||
for (auto& powerup : powerups) {
|
||||
RenderPowerupMesh(matView, vecTrianglesToRasterTranslucent, powerup);
|
||||
}
|
||||
|
||||
//std::sort(vecTrianglesToRaster.begin(),vecTrianglesToRaster.end(),[](triangle&t1,triangle&t2){return (t1.p[0].z+t1.p[1].z+t1.p[2].z)/3.0f>(t2.p[0].z+t2.p[1].z+t2.p[2].z)/3.0f;});
|
||||
ClearBuffer(BLACK, true);
|
||||
@ -1531,6 +1539,7 @@ bool FaceBall::OnUserCreate()
|
||||
mapFloor.texture = floor_tex;
|
||||
|
||||
InitializeEnemyData();
|
||||
InitializePowerupColors();
|
||||
|
||||
LoadLevel(1);
|
||||
|
||||
|
@ -366,7 +366,6 @@ class FaceBall : public PixelGameEngine
|
||||
bool OnUserUpdate(float fElapsedTime) override;
|
||||
void OnTextEntryComplete(const std::string& sText) override;
|
||||
void InitializeEnemyData();
|
||||
void InitializeBulletColors();
|
||||
void InitializePowerupColors();
|
||||
void LoadLevel(int level);
|
||||
void RenderBulletMesh(mat4x4& matView, std::vector<Triangle>& vecTrianglesToRaster, Bullet& b,bool translucent=true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user