diff options
Diffstat (limited to 'Stars45/Hoop.cpp')
-rw-r--r-- | Stars45/Hoop.cpp | 174 |
1 files changed, 87 insertions, 87 deletions
diff --git a/Stars45/Hoop.cpp b/Stars45/Hoop.cpp index 2e3be3e..17c6429 100644 --- a/Stars45/Hoop.cpp +++ b/Stars45/Hoop.cpp @@ -1,15 +1,15 @@ /* Project Starshatter 4.5
- Destroyer Studios LLC
- Copyright © 1997-2005. All Rights Reserved.
+ Destroyer Studios LLC
+ Copyright © 1997-2005. All Rights Reserved.
- SUBSYSTEM: Stars.exe
- FILE: Hoop.cpp
- AUTHOR: John DiCamillo
+ SUBSYSTEM: Stars.exe
+ FILE: Hoop.cpp
+ AUTHOR: John DiCamillo
- OVERVIEW
- ========
- ILS Hoop (HUD display) class
+ OVERVIEW
+ ========
+ ILS Hoop (HUD display) class
*/
#include "MemDebug.h"
@@ -25,18 +25,18 @@ static Color ils_color; // +--------------------------------------------------------------------+
Hoop::Hoop()
- : width(360), height(180), mtl(0)
+: width(360), height(180), mtl(0)
{
- foreground = 1;
- radius = (float) width;
+ foreground = 1;
+ radius = (float) width;
- DataLoader* loader = DataLoader::GetLoader();
+ DataLoader* loader = DataLoader::GetLoader();
- loader->SetDataPath("HUD/");
- loader->LoadTexture("ILS.pcx", hoop_texture, Bitmap::BMP_TRANSLUCENT);
- loader->SetDataPath(0);
+ loader->SetDataPath("HUD/");
+ loader->LoadTexture("ILS.pcx", hoop_texture, Bitmap::BMP_TRANSLUCENT);
+ loader->SetDataPath(0);
- CreatePolys();
+ CreatePolys();
}
Hoop::~Hoop()
@@ -46,7 +46,7 @@ Hoop::~Hoop() void Hoop::SetColor(Color c)
{
- ils_color = c;
+ ils_color = c;
}
// +--------------------------------------------------------------------+
@@ -54,82 +54,82 @@ void Hoop::SetColor(Color c) void
Hoop::CreatePolys()
{
- Material* mtl = new(__FILE__,__LINE__) Material;
+ Material* mtl = new(__FILE__,__LINE__) Material;
- mtl->tex_diffuse = hoop_texture;
- mtl->blend = Material::MTL_ADDITIVE;
+ mtl->tex_diffuse = hoop_texture;
+ mtl->blend = Material::MTL_ADDITIVE;
- int w = width /2;
- int h = height/2;
+ int w = width /2;
+ int h = height/2;
- model = new(__FILE__,__LINE__) Model;
- own_model = 1;
+ model = new(__FILE__,__LINE__) Model;
+ own_model = 1;
- Surface* surface = new(__FILE__,__LINE__) Surface;
+ Surface* surface = new(__FILE__,__LINE__) Surface;
- surface->SetName("hoop");
- surface->CreateVerts(4);
- surface->CreatePolys(2);
+ surface->SetName("hoop");
+ surface->CreateVerts(4);
+ surface->CreatePolys(2);
- VertexSet* vset = surface->GetVertexSet();
- Poly* polys = surface->GetPolys();
+ VertexSet* vset = surface->GetVertexSet();
+ Poly* polys = surface->GetPolys();
- ZeroMemory(polys, sizeof(Poly) * 2);
+ ZeroMemory(polys, sizeof(Poly) * 2);
- for (int i = 0; i < 4; i++) {
- int x = w;
- int y = h;
- float u = 0;
- float v = 0;
+ for (int i = 0; i < 4; i++) {
+ int x = w;
+ int y = h;
+ float u = 0;
+ float v = 0;
- if (i == 0 || i == 3)
- x = -x;
- else
- u = 1;
+ if (i == 0 || i == 3)
+ x = -x;
+ else
+ u = 1;
- if (i < 2)
- y = -y;
- else
- v = 1;
+ if (i < 2)
+ y = -y;
+ else
+ v = 1;
- vset->loc[i] = Vec3(x, y, 0);
- vset->nrm[i] = Vec3(0, 0, 0);
+ vset->loc[i] = Vec3(x, y, 0);
+ vset->nrm[i] = Vec3(0, 0, 0);
- vset->tu[i] = u;
- vset->tv[i] = v;
- }
+ vset->tu[i] = u;
+ vset->tv[i] = v;
+ }
- for (int i = 0; i < 2; i++) {
- Poly& poly = polys[i];
+ for (int i = 0; i < 2; i++) {
+ Poly& poly = polys[i];
- poly.nverts = 4;
- poly.vertex_set = vset;
- poly.material = mtl;
+ poly.nverts = 4;
+ poly.vertex_set = vset;
+ poly.material = mtl;
- poly.verts[0] = i ? 3 : 0;
- poly.verts[1] = i ? 2 : 1;
- poly.verts[2] = i ? 1 : 2;
- poly.verts[3] = i ? 0 : 3;
+ poly.verts[0] = i ? 3 : 0;
+ poly.verts[1] = i ? 2 : 1;
+ poly.verts[2] = i ? 1 : 2;
+ poly.verts[3] = i ? 0 : 3;
- poly.plane = Plane(vset->loc[poly.verts[0]],
- vset->loc[poly.verts[2]],
- vset->loc[poly.verts[1]]);
+ poly.plane = Plane(vset->loc[poly.verts[0]],
+ vset->loc[poly.verts[2]],
+ vset->loc[poly.verts[1]]);
- surface->AddIndices(6);
- }
+ surface->AddIndices(6);
+ }
- // then assign them to cohesive segments:
- Segment* segment = new(__FILE__,__LINE__) Segment;
- segment->npolys = 2;
- segment->polys = &polys[0];
- segment->material = segment->polys->material;
+ // then assign them to cohesive segments:
+ Segment* segment = new(__FILE__,__LINE__) Segment;
+ segment->npolys = 2;
+ segment->polys = &polys[0];
+ segment->material = segment->polys->material;
- surface->GetSegments().append(segment);
+ surface->GetSegments().append(segment);
- model->AddSurface(surface);
+ model->AddSurface(surface);
- SetLuminous(true);
+ SetLuminous(true);
}
// +--------------------------------------------------------------------+
@@ -137,20 +137,20 @@ Hoop::CreatePolys() void
Hoop::Update()
{
- if (mtl)
- mtl->Ke = ils_color;
-
- if (model && luminous) {
- ListIter<Surface> s_iter = model->GetSurfaces();
- while (++s_iter) {
- Surface* surface = s_iter.value();
- VertexSet* vset = surface->GetVertexSet();
-
- for (int i = 0; i < vset->nverts; i++) {
- vset->diffuse[i] = ils_color.Value();
- }
- }
-
- InvalidateSurfaceData();
- }
+ if (mtl)
+ mtl->Ke = ils_color;
+
+ if (model && luminous) {
+ ListIter<Surface> s_iter = model->GetSurfaces();
+ while (++s_iter) {
+ Surface* surface = s_iter.value();
+ VertexSet* vset = surface->GetVertexSet();
+
+ for (int i = 0; i < vset->nverts; i++) {
+ vset->diffuse[i] = ils_color.Value();
+ }
+ }
+
+ InvalidateSurfaceData();
+ }
}
|