mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
tornado stuff
This commit is contained in:
parent
b2c56da65e
commit
c622e59b6d
6 changed files with 32 additions and 11 deletions
BIN
marblegame.hl
BIN
marblegame.hl
Binary file not shown.
|
|
@ -777,7 +777,8 @@ class DtsObject extends GameObject {
|
|||
|
||||
vec.transform(mat);
|
||||
vec = vec.multiply(mesh.weights[i]);
|
||||
vec2.transform3x3(mat);
|
||||
|
||||
Util.m_matF_x_vectorF(mat, vec2);
|
||||
vec2 = vec2.multiply(mesh.weights[i]);
|
||||
|
||||
info.vertices[vIndex] = info.vertices[vIndex].add(vec);
|
||||
|
|
@ -786,7 +787,7 @@ class DtsObject extends GameObject {
|
|||
|
||||
for (i in 0...info.normals.length) {
|
||||
var norm = info.normals[i];
|
||||
var len2 = norm.lengthSq();
|
||||
var len2 = norm.dot(norm);
|
||||
|
||||
if (len2 > 0.01)
|
||||
norm.normalize();
|
||||
|
|
@ -820,15 +821,16 @@ class DtsObject extends GameObject {
|
|||
var vertex = info.vertices[i];
|
||||
var normal = info.normals[i];
|
||||
prim.points[pos] = vertex.toPoint();
|
||||
prim.normals[pos] = normal.toPoint().normalized();
|
||||
if (prim.buffer != null) {
|
||||
prim.dirtyFlags[pos] = true;
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
if (prim.buffer != null) {
|
||||
prim.addNormals();
|
||||
for (norm in prim.normals)
|
||||
norm = norm.multiply(-1);
|
||||
// prim.addNormals();
|
||||
// for (norm in prim.normals)
|
||||
// norm = norm.multiply(-1);
|
||||
prim.flush();
|
||||
}
|
||||
if (_regenNormals) {
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ class MarbleGame {
|
|||
if (!paused) {
|
||||
world.update(dt);
|
||||
}
|
||||
if (Key.isPressed(Key.ESCAPE) && world.finishTime == null) {
|
||||
if (Key.isPressed(Key.ESCAPE) && world.finishTime == null && world._ready) {
|
||||
#if hl
|
||||
paused = !paused;
|
||||
handlePauseGame();
|
||||
|
|
@ -107,9 +107,11 @@ class MarbleGame {
|
|||
});
|
||||
canvas.pushDialog(exitGameDlg);
|
||||
} else {
|
||||
if (exitGameDlg != null)
|
||||
canvas.popDialog(exitGameDlg);
|
||||
world.setCursorLock(true);
|
||||
if (world._ready) {
|
||||
if (exitGameDlg != null)
|
||||
canvas.popDialog(exitGameDlg);
|
||||
world.setCursorLock(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -168,6 +168,9 @@ class MarbleWorld extends Scheduler {
|
|||
}
|
||||
};
|
||||
|
||||
this.resourceLoadFuncs.push(() -> {
|
||||
this.playGui.init(this.scene2d);
|
||||
});
|
||||
this.resourceLoadFuncs.push(() -> {
|
||||
this.addSimGroup(this.mission.root);
|
||||
this._loadingLength = resourceLoadFuncs.length;
|
||||
|
|
@ -222,7 +225,6 @@ class MarbleWorld extends Scheduler {
|
|||
sky.dmlPath = "data/skies/sky_day.dml";
|
||||
|
||||
sky.init(cast this);
|
||||
playGui.init(scene2d);
|
||||
scene.addChild(sky);
|
||||
}
|
||||
|
||||
|
|
@ -728,7 +730,7 @@ class MarbleWorld extends Scheduler {
|
|||
public function render(e:h3d.Engine) {
|
||||
if (!_ready)
|
||||
asyncLoadResources();
|
||||
if (this.playGui != null)
|
||||
if (this.playGui != null && _ready)
|
||||
this.playGui.render(e);
|
||||
}
|
||||
|
||||
|
|
|
|||
14
src/Util.hx
14
src/Util.hx
|
|
@ -1,5 +1,6 @@
|
|||
package src;
|
||||
|
||||
import h3d.Matrix;
|
||||
import hxd.Key;
|
||||
import h2d.Tile;
|
||||
import h3d.mat.Texture;
|
||||
|
|
@ -218,4 +219,17 @@ class Util {
|
|||
keyName = "Space Bar";
|
||||
return keyName;
|
||||
}
|
||||
|
||||
public static function m_matF_x_vectorF(matrix:Matrix, v:Vector) {
|
||||
var m = matrix.clone();
|
||||
m.transpose();
|
||||
|
||||
var v0 = v.x, v1 = v.y, v2 = v.z;
|
||||
|
||||
var vresult_0 = m._11 * v0 + m._12 * v1 + m._13 * v2;
|
||||
var vresult_1 = m._21 * v0 + m._22 * v1 + m._23 * v2;
|
||||
var vresult_2 = m._31 * v0 + m._23 * v1 + m._33 * v2;
|
||||
|
||||
v.set(vresult_0, vresult_1, vresult_2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ class Tornado extends ForceObject {
|
|||
this.soundChannel = AudioManager.playSound(ResourceLoader.getAudio("data/sound/tornado.wav"), this.getAbsPos().getPosition(), true);
|
||||
for (material in this.materials) {
|
||||
material.blendMode = Alpha;
|
||||
material.mainPass.culling = h3d.mat.Data.Face.None;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue