commit 0016a66cbdac1220f450f6e677130cc8f4ab5b93
parent d2d4cef8f19a31b15d45e80a189cb4bf84abc058
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Tue, 10 Jan 2012 02:17:37 +0100
Merge branch 'master' of github:jsmaniac/2011-m2s3-city-builder
Diffstat:
3 files changed, 41 insertions(+), 4 deletions(-)
diff --git a/rules/batiment/batimentquadblock.cpp b/rules/batiment/batimentquadblock.cpp
@@ -15,9 +15,22 @@ bool BatimentQuadBlock::split() {
Quad mw = c;
Quad mn = c;
- me[NW] = me[NE] + ((me[NW] - me[NW]) / me.length(N))*150;
- //TODO les autres côtés.
- return false;
+ me[NW] = me[NE] + ((me[NW] - me[NE]) / me.length(N))*28;
+ me[SW] = me[SE] + ((me[SW] - me[SE]) / me.length(S))*28;
+ mw[NE] = mw[NW] + ((mw[NE] - mw[NW]) / mw.length(N))*28;
+ mw[SE] = mw[SW] + ((mw[SE] - mw[SW]) / mw.length(S))*28;
+ mn.inset(W,-28); mn.inset(E,-28);
+ mn[SW] = mn[NW] + ((mn[SW] - mn[NW]) / mn.length(W))*28;
+ mn[SE] = mn[NE] + ((mn[SE] - mn[NE]) / mn.length(E))*28;
+ ms.inset(W,-28); ms.inset(E,-28);
+ ms[NW] = ms[SW] + ((ms[NW] - ms[SW]) / ms.length(W))*28;
+ ms[NE] = ms[SE] + ((ms[NE] - ms[SE]) / ms.length(E))*28;
+
+ addChild(new BatimentQuadMur(me,height));
+ addChild(new BatimentQuadMur(mw,height));
+ addChild(new BatimentQuadMur(mn,height));
+ addChild(new BatimentQuadMur(ms,height));
+ return true;
}
void BatimentQuadBlock::triangulation() {
diff --git a/rules/batiment/batimentquadmur.cpp b/rules/batiment/batimentquadmur.cpp
@@ -2,6 +2,7 @@
BatimentQuadMur::BatimentQuadMur(Quad c, float height) : Chose(), c(c), height(height) {
addEntropy(c);
+ this->window = false;
}
void BatimentQuadMur::getBoundingBoxPoints() {
@@ -9,6 +10,25 @@ void BatimentQuadMur::getBoundingBoxPoints() {
addBBPoints(c + Vertex(0,0,height));
}
+void BatimentQuadMur::setWindow(Quad w) {
+ this->windowPos = w;
+ this->window = true;
+}
+
+bool BatimentQuadMur::split() {
+ if(!window)
+ return false;
+
+ Quad left = c;
+ Quad right = c;
+ Quad top = c;
+ Quad bottom = c;
+
+
+ return true;
+}
+
void BatimentQuadMur::triangulation() {
- addGPUOcto(c, c + Vertex(0,0,height), 0xF1, 0xE0, 0xE0);
+ //addGPUOcto(c, c + Vertex(0,0,height), 0xF1, 0xE0, 0xE0);
+ addGPUOcto(c, c + Vertex(0,0,height), 0x60, 0x60, 0xFF);
}
diff --git a/rules/batiment/batimentquadmur.hh b/rules/batiment/batimentquadmur.hh
@@ -7,12 +7,16 @@ class BatimentQuadMur: public Chose {
private :
Quad c;
float height;
+ bool window; // Contient une fenêtre ou non.
+ Quad windowPos;
public :
BatimentQuadMur(Quad c, float height);
virtual void triangulation();
+ virtual bool split();
virtual void getBoundingBoxPoints();
+ void setWindow(Quad);
};
#endif