mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2026-04-28 05:31:37 +00:00
hunt: respawn camera fixes
This commit is contained in:
parent
af21e99d91
commit
189b4f5a18
1 changed files with 21 additions and 0 deletions
|
|
@ -527,6 +527,27 @@ class HuntMode extends NullMode {
|
||||||
return level.mission.qualifyTime;
|
return level.mission.qualifyTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override function onRespawn(marble:Marble) {
|
||||||
|
if (marble.controllable && activeGemSpawnGroup.length != 0) {
|
||||||
|
var gemAvg = new Vector();
|
||||||
|
for (gi in activeGemSpawnGroup) {
|
||||||
|
var g = gemSpawnPoints[gi];
|
||||||
|
gemAvg = gemAvg.add(g.boundingBox.getCenter().toVector());
|
||||||
|
}
|
||||||
|
gemAvg.scale(1 / activeGemSpawnGroup.length);
|
||||||
|
var delta = gemAvg.sub(marble.getAbsPos().getPosition());
|
||||||
|
var gravFrame = level.getOrientationQuat(0).toMatrix();
|
||||||
|
var v1 = gravFrame.front();
|
||||||
|
var v2 = gravFrame.right();
|
||||||
|
var deltaRot = new Vector(delta.dot(v2), delta.dot(v1));
|
||||||
|
if (deltaRot.length() >= 0.001) {
|
||||||
|
var ang = Math.atan2(deltaRot.x, deltaRot.y);
|
||||||
|
marble.camera.CameraYaw = ang;
|
||||||
|
marble.camera.nextCameraYaw = ang;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override function onRestart() {
|
override function onRestart() {
|
||||||
setupGems();
|
setupGems();
|
||||||
points = 0;
|
points = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue