make compatible with latest heaps repo

This commit is contained in:
RandomityGuy 2022-02-12 19:50:52 +05:30
parent 23e6417271
commit 9f777dd741
8 changed files with 49 additions and 53 deletions

View file

@ -808,7 +808,7 @@ class DtsObject extends GameObject {
var prim:DynamicPolygon = cast mesh.primitive;
var vbuffer:FloatBuffer = null;
if (prim.buffer != null) {
vbuffer = prim.getBuffer(prim.points.length);
vbuffer = prim.getDrawBuffer(prim.points.length);
}
var pos = 0;
for (i in info.indices) {
@ -825,7 +825,7 @@ class DtsObject extends GameObject {
prim = cast mesh.primitive;
pos = 0;
if (prim.buffer != null) {
vbuffer = prim.getBuffer(prim.points.length);
vbuffer = prim.getDrawBuffer(prim.points.length);
}
}
var vertex = info.vertices[i];

View file

@ -152,7 +152,7 @@ class DynamicPolygon extends MeshPrimitive {
indexes = h3d.Indexes.alloc(idx);
}
public function getBuffer(vertices:Int) {
public function getDrawBuffer(vertices:Int) {
if (vbuf == null)
vbuf = hxd.impl.Allocator.get().allocFloats(vertices * 8)
else

View file

@ -1,7 +1,10 @@
package;
import src.ResourceLoader;
#if js
import fs.ManifestFileSystem;
import fs.ManifestBuilder;
#end
import hxd.Timer;
import hxd.Window;
import src.AudioManager;
@ -11,7 +14,6 @@ import gui.MainMenuGui;
import hxd.res.DefaultFont;
import h2d.Text;
import h3d.Vector;
import fs.ManifestBuilder;
class Main extends hxd.App {
var marbleGame:MarbleGame;

View file

@ -56,6 +56,7 @@ class MarbleGame {
canvasElement.style.width = "100%";
canvasElement.style.height = "100%";
});
var canvas = js.Browser.document.getElementById("webgl");
var pointercontainer = js.Browser.document.querySelector("#pointercontainer");
pointercontainer.addEventListener('mousedown', (e:js.html.MouseEvent) -> {
var buttonCode = switch (e.button) {
@ -81,6 +82,31 @@ class MarbleGame {
var buttonCode = (e.keyCode);
@:privateAccess Key.keyPressed[buttonCode] = -Key.getFrame();
});
js.Browser.window.addEventListener('keydown', (e:js.html.KeyboardEvent) -> {
var buttonCode = (e.keyCode);
@:privateAccess Key.keyPressed[buttonCode] = Key.getFrame();
});
js.Browser.window.addEventListener('keyup', (e:js.html.KeyboardEvent) -> {
var buttonCode = (e.keyCode);
@:privateAccess Key.keyPressed[buttonCode] = -Key.getFrame();
});
pointercontainer.addEventListener('touchstart', (e:js.html.TouchEvent) -> {
@:privateAccess Key.keyPressed[Key.MOUSE_LEFT] = Key.getFrame();
@:privateAccess scene2d.window.curMouseX = e.touches[0].clientX;
@:privateAccess scene2d.window.curMouseY = e.touches[0].clientY;
});
pointercontainer.addEventListener('touchend', (e:js.html.TouchEvent) -> {
@:privateAccess Key.keyPressed[Key.MOUSE_LEFT] = -Key.getFrame();
@:privateAccess scene2d.window.curMouseX = e.touches[0].clientX;
@:privateAccess scene2d.window.curMouseY = e.touches[0].clientY;
});
pointercontainer.addEventListener('touchmove', (e:js.html.TouchEvent) -> {
@:privateAccess scene2d.window.curMouseX = e.touches[0].clientX;
@:privateAccess scene2d.window.curMouseY = e.touches[0].clientY;
});
js.Browser.window.addEventListener('contextmenu', (e) -> e.preventDefault()); // Disable right click context menu for good

View file

@ -219,8 +219,9 @@ class MarbleWorld extends Scheduler {
var sunDirection = MisParser.parseVector3(sunElement.direction);
sunDirection.x = -sunDirection.x;
// sunDirection.z = -sunDirection.z;
var ls = cast(scene.lightSystem, h3d.scene.fwd.LightSystem);
scene.lightSystem.ambientLight.load(ambientColor);
ls.ambientLight.load(ambientColor);
var shadow = scene.renderer.getPass(h3d.pass.DefaultShadowMap);
shadow.power = 0.5;

View file

@ -1,7 +1,10 @@
package src;
#if js
import fs.ManifestLoader;
import fs.ManifestBuilder;
import fs.ManifestProgress;
#end
import hxd.res.Image;
import hxd.res.Sound;
import h3d.mat.Texture;
@ -12,7 +15,6 @@ import dif.Dif;
import hxd.fs.LocalFileSystem;
import hxd.fs.FileSystem;
import hxd.res.Loader;
import fs.ManifestProgress;
import src.Resource;
class ResourceLoader {

View file

@ -17,6 +17,7 @@
// SOFTWARE.
package fs;
import hxd.fs.FileInput;
import hxd.net.BinaryLoader;
import hxd.impl.ArrayIterator;
import hxd.fs.LoadedBitmap;
@ -80,53 +81,17 @@ class ManifestEntry extends FileEntry {
#end
}
override function readBytes(out:haxe.io.Bytes, outPos:Int, pos:Int, len:Int):Int {
if (pos + len > bytes.length)
len = bytes.length - pos;
if (len < 0)
len = 0;
out.blit(outPos, bytes, pos, len);
return len;
}
override public function open() {
#if sys
if (fio == null)
fio = sys.io.File.read(file);
else
fio.seek(0, SeekBegin);
#else
readPos = 0;
#end
}
override public function skip(nbytes:Int) {
#if sys
fio.seek(nbytes, SeekCur);
#else
readPos += nbytes;
if (bytes.length < readPos)
readPos = bytes.length;
#end
}
override public function readByte():Int {
#if sys
return fio.readByte();
#else
return bytes.get(readPos++);
#end
}
override public function read(out:Bytes, pos:Int, size:Int) {
#if sys
fio.readFullBytes(out, pos, size);
#else
out.blit(pos, bytes, readPos, size);
readPos += size;
#end
}
override public function close() {
#if sys
if (fio != null) {
fio.close();
fio = null;
}
#else
readPos = 0;
#end
return @:privateAccess new FileInput(this);
}
public function fancyLoad(onReady:() -> Void, onProgress:(cur:Int, max:Int) -> Void) {

View file

@ -1,6 +1,6 @@
package shaders;
import h3d.scene.Light;
import h3d.scene.fwd.Light;
class DirLight extends Light {
var dshader:DirLightShader;