mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
bugfixes and nuke pbr
This commit is contained in:
parent
397a614bb7
commit
04c8498a28
12 changed files with 57 additions and 28 deletions
1
compile.bat
Normal file
1
compile.bat
Normal file
|
|
@ -0,0 +1 @@
|
|||
cl native\marblegame.c /Fe:marblegame.exe /Ox -I "D:\C Projects\Haxe\hl-1.11.0-win\include" -I native "D:\repos\Hashlink\hashlink\x64\Release\libhl.lib" "D:\repos\Hashlink\hashlink\x64\Release\fmt.lib" "D:\repos\Hashlink\hashlink\x64\Release\ui.lib" "D:\repos\Hashlink\hashlink\x64\Release\openal.lib" "D:\repos\Hashlink\hashlink\x64\Release\sdl.lib"
|
||||
|
|
@ -305,6 +305,7 @@ class DifBuilder {
|
|||
} else {
|
||||
material = Material.create();
|
||||
}
|
||||
material.shadows = false;
|
||||
// material.mainPass.addShader(new h3d.shader.pbr.PropsValues(1, 0, 0, 1));
|
||||
// material.mainPass.wireframe = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -366,14 +366,15 @@ class DtsObject extends GameObject {
|
|||
// // TODO TRANSPARENCY SHIT
|
||||
if (flags & 8 > 0) {
|
||||
material.blendMode = BlendMode.Add;
|
||||
material.mainPass.setPassName("overlay");
|
||||
// material.mainPass.setPassName("overlay");
|
||||
// material.textureShader.additive = true;
|
||||
}
|
||||
if (flags & 16 > 0)
|
||||
material.blendMode = BlendMode.Sub;
|
||||
|
||||
if (flags & 32 > 0) {
|
||||
material.mainPass.setPassName("overlay");
|
||||
material.mainPass.enableLights = false;
|
||||
// material.mainPass.setPassName("overlay");
|
||||
// var pbrprops = material.mainPass.getShader(h3d.shader.pbr.PropsValues);
|
||||
// pbrprops.emissiveValue = 1;
|
||||
// pbrprops.roughnessValue = 1;
|
||||
|
|
@ -386,6 +387,8 @@ class DtsObject extends GameObject {
|
|||
// }
|
||||
// ((flags & 32) || environmentMaterial) ? new Materia
|
||||
|
||||
material.shadows = false;
|
||||
|
||||
// material.mainPass.addShader(new AlphaMult());
|
||||
|
||||
this.materials.push(material);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package src;
|
|||
|
||||
import src.DtsObject;
|
||||
import h3d.Vector;
|
||||
import h3d.scene.CustomObject;
|
||||
|
||||
enum ForceType {
|
||||
NoForce;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ class InstanceManager {
|
|||
for (instance in opaqueinstances) { // Draw the opaque shit first
|
||||
var transform = instance.emptyObj.getAbsPos().clone();
|
||||
minfo.meshbatch.material.mainPass.setPassName(minfo.mesh.material.mainPass.name);
|
||||
minfo.meshbatch.material.mainPass.enableLights = minfo.mesh.material.mainPass.enableLights;
|
||||
minfo.meshbatch.setTransform(transform);
|
||||
minfo.meshbatch.emitInstance();
|
||||
}
|
||||
|
|
@ -52,8 +53,10 @@ class InstanceManager {
|
|||
var dtsShader = minfo.transparencymeshbatch.material.mainPass.getShader(h3d.shader.Texture);
|
||||
minfo.transparencymeshbatch.material.blendMode = Alpha;
|
||||
minfo.transparencymeshbatch.material.color.a = instance.gameObject.currentOpacity;
|
||||
minfo.transparencymeshbatch.material.mainPass.setPassName(minfo.mesh.material.mainPass.name);
|
||||
// minfo.transparencymeshbatch.material.mainPass.setPassName(minfo.mesh.material.mainPass.name);
|
||||
minfo.transparencymeshbatch.shadersChanged = true;
|
||||
minfo.transparencymeshbatch.material.mainPass.enableLights = minfo.mesh.material.mainPass.enableLights;
|
||||
// minfo.transparencymeshbatch.material.mainPass.depthWrite = false;
|
||||
// if (dtsShader != null) {
|
||||
// dtsShader.currentOpacity = instance.gameObject.currentOpacity;
|
||||
// minfo.transparencymeshbatch.shadersChanged = true;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class Main extends hxd.App {
|
|||
}
|
||||
|
||||
static function main() {
|
||||
h3d.mat.PbrMaterialSetup.set();
|
||||
// h3d.mat.PbrMaterialSetup.set();
|
||||
new Main();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package src;
|
||||
|
||||
import h3d.scene.Mesh;
|
||||
import h3d.col.Bounds;
|
||||
import collision.CollisionEntity;
|
||||
import shapes.StartPad;
|
||||
|
|
@ -30,7 +31,6 @@ import h3d.col.ObjectCollider;
|
|||
import h3d.col.Collider.GroupCollider;
|
||||
import h3d.Vector;
|
||||
import h3d.mat.Material;
|
||||
import h3d.scene.CustomObject;
|
||||
import h3d.prim.Sphere;
|
||||
import h3d.scene.Object;
|
||||
import src.CameraController;
|
||||
|
|
@ -164,7 +164,8 @@ class Marble extends GameObject {
|
|||
geom.addUVs();
|
||||
var marbleTexture = ResourceLoader.loader.load("data/shapes/balls/base.marble.png").toTexture();
|
||||
var marbleMaterial = Material.create(marbleTexture);
|
||||
var obj = new CustomObject(geom, marbleMaterial, this);
|
||||
marbleMaterial.shadows = false;
|
||||
var obj = new Mesh(geom, marbleMaterial, this);
|
||||
obj.scale(_radius);
|
||||
|
||||
this.velocity = new Vector();
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import src.MarbleGame;
|
|||
import gui.EndGameGui;
|
||||
import sdl.Cursor;
|
||||
import src.ForceObject;
|
||||
import h3d.scene.pbr.DirLight;
|
||||
import h3d.scene.fwd.DirLight;
|
||||
import h3d.col.Bounds;
|
||||
import triggers.HelpTrigger;
|
||||
import triggers.InBoundsTrigger;
|
||||
|
|
@ -54,7 +54,6 @@ import hxd.Key;
|
|||
import h3d.Vector;
|
||||
import src.InteriorObject;
|
||||
import h3d.scene.Scene;
|
||||
import h3d.scene.CustomObject;
|
||||
import collision.CollisionWorld;
|
||||
import src.Marble;
|
||||
|
||||
|
|
@ -153,9 +152,9 @@ class MarbleWorld extends Scheduler {
|
|||
this.instanceManager = new InstanceManager(scene);
|
||||
this.particleManager = new ParticleManager(cast this);
|
||||
|
||||
var renderer = cast(this.scene.renderer, h3d.scene.pbr.Renderer);
|
||||
// var renderer = cast(this.scene.renderer, h3d.scene.pbr.Renderer);
|
||||
|
||||
renderer.skyMode = Hide;
|
||||
// renderer.skyMode = Hide;
|
||||
|
||||
for (element in mission.root.elements) {
|
||||
if (element._type != MissionElementType.Sun)
|
||||
|
|
@ -172,7 +171,7 @@ class MarbleWorld extends Scheduler {
|
|||
scene.lightSystem.ambientLight.load(ambientColor);
|
||||
|
||||
var sunlight = new DirLight(sunDirection, scene);
|
||||
sunlight.color = directionalColor.multiply(2);
|
||||
sunlight.color = directionalColor;
|
||||
}
|
||||
|
||||
// var skyElement:MissionElementSky = cast this.mission.root.elements.filter((element) -> element._type == MissionElementType.Sky)[0];
|
||||
|
|
|
|||
|
|
@ -291,7 +291,8 @@ class ParticleManager {
|
|||
particleShader.scale = instance.scale;
|
||||
particleShader.rotation = instance.rotation;
|
||||
batch.meshBatch.material.blendMode = instance.o.blending;
|
||||
batch.meshBatch.material.mainPass.setPassName("overlay");
|
||||
batch.meshBatch.material.mainPass.depthWrite = false;
|
||||
// batch.meshBatch.material.mainPass.setPassName("overlay");
|
||||
batch.meshBatch.material.color.load(instance.color);
|
||||
batch.meshBatch.shadersChanged = true;
|
||||
batch.meshBatch.setScale(instance.scale);
|
||||
|
|
@ -324,8 +325,9 @@ class ParticleManager {
|
|||
var mat = Material.create(particleData.texture);
|
||||
// matshader.texture = mat.texture;
|
||||
mat.mainPass.enableLights = false;
|
||||
mat.mainPass.setPassName("overlay");
|
||||
// mat.mainPass.setPassName("overlay");
|
||||
// mat.mainPass.addShader(new h3d.shader.pbr.PropsValues(1, 0, 0, 1));
|
||||
mat.shadows = false;
|
||||
mat.texture.wrap = Wrap.Repeat;
|
||||
var billboardShader = new Billboard();
|
||||
mat.mainPass.addShader(billboardShader);
|
||||
|
|
|
|||
10
src/Sky.hx
10
src/Sky.hx
|
|
@ -33,11 +33,11 @@ class Sky extends Object {
|
|||
skyMesh.material.mainPass.enableLights = false;
|
||||
skyMesh.material.receiveShadows = false;
|
||||
skyMesh.material.blendMode = None;
|
||||
var pbrprops = skyMesh.material.mainPass.getShader(PropsValues);
|
||||
pbrprops.emissiveValue = 1;
|
||||
pbrprops.roughnessValue = 0;
|
||||
pbrprops.occlusionValue = 0;
|
||||
pbrprops.metalnessValue = 1;
|
||||
// var pbrprops = skyMesh.material.mainPass.getShader(PropsValues);
|
||||
// pbrprops.emissiveValue = 1;
|
||||
// pbrprops.roughnessValue = 0;
|
||||
// pbrprops.occlusionValue = 0;
|
||||
// pbrprops.metalnessValue = 1;
|
||||
|
||||
skyMesh.scale(3500);
|
||||
var env = new Environment(texture);
|
||||
|
|
|
|||
|
|
@ -54,6 +54,17 @@ class EndGameGui extends GuiControl {
|
|||
var expo32 = new BitmapFont(expo32fontdata.entry);
|
||||
@:privateAccess expo32.loader = ResourceLoader.loader;
|
||||
|
||||
function mlFontLoader(text:String) {
|
||||
switch (text) {
|
||||
case "DomCasual32":
|
||||
return domcasual32.toFont();
|
||||
case "Arial14":
|
||||
return arial14.toFont();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
var congrats = new GuiText(expo50);
|
||||
congrats.text.textColor = 0xffff00;
|
||||
congrats.text.text = "Final Time:";
|
||||
|
|
@ -71,9 +82,9 @@ class EndGameGui extends GuiControl {
|
|||
finishMessage.extent = new Vector(200, 100);
|
||||
pg.addChild(finishMessage);
|
||||
|
||||
var leftColumn = new GuiText(domcasual32);
|
||||
var leftColumn = new GuiMLText(domcasual32, mlFontLoader);
|
||||
leftColumn.text.textColor = 0x000000;
|
||||
leftColumn.text.text = "Qualify Time:\nGold Time:\nElapsed Time:\nBonus Time:";
|
||||
leftColumn.text.text = 'Qualify Time:<br/>Gold Time:<br/>Elapsed Time:<br/>Bonus Time:<br/><font face="Arial14"><br/></font>Best Times:<br/>1. Nardo Polo<br/>2. Nardo Polo<br/>3. Nardo Polo';
|
||||
leftColumn.text.filter = new DropShadow(1.414, 0.785, 0xffffff, 1, 0, 0.4, 1, true);
|
||||
leftColumn.position = new Vector(108, 103);
|
||||
leftColumn.extent = new Vector(208, 50);
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
package gui;
|
||||
|
||||
import h3d.shader.AlphaMult;
|
||||
import h3d.shader.ColorKey;
|
||||
import hxd.snd.WavData;
|
||||
import gui.GuiControl.HorizSizing;
|
||||
import src.TimeState;
|
||||
import format.gif.Data.Block;
|
||||
import hxd.res.BitmapFont;
|
||||
import h2d.Text;
|
||||
import h3d.shader.pbr.PropsValues;
|
||||
import h3d.Vector;
|
||||
import hxd.fmt.hmd.Data.AnimationEvent;
|
||||
import h2d.Tile;
|
||||
|
|
@ -201,8 +202,8 @@ class PlayGui {
|
|||
playGuiCtrl.addChild(gemCountNumbers[3]);
|
||||
|
||||
this.gemImageScene = new h3d.scene.Scene();
|
||||
var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.pbr.Renderer);
|
||||
gemImageRenderer.skyMode = Hide;
|
||||
// var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.Renderer);
|
||||
// gemImageRenderer.skyMode = Hide;
|
||||
|
||||
gemImageSceneTarget = new Texture(60, 60, [Target]);
|
||||
gemImageSceneTarget.depthBuffer = new DepthBuffer(60, 60);
|
||||
|
|
@ -210,6 +211,8 @@ class PlayGui {
|
|||
gemImageSceneTargetBitmap = new Bitmap(Tile.fromTexture(gemImageSceneTarget), scene2d);
|
||||
gemImageSceneTargetBitmap.x = -8;
|
||||
gemImageSceneTargetBitmap.y = -8;
|
||||
// gemImageSceneTargetBitmap.blendMode = None;
|
||||
// gemImageSceneTargetBitmap.addShader(new ColorKey());
|
||||
|
||||
gemImageObject = new DtsObject();
|
||||
gemImageObject.dtsPath = "data/shapes/items/gem.dts";
|
||||
|
|
@ -220,7 +223,13 @@ class PlayGui {
|
|||
// ["base.gem"] = color + ".gem";
|
||||
gemImageObject.init(null);
|
||||
for (mat in gemImageObject.materials) {
|
||||
mat.mainPass.addShader(new PropsValues(1, 0, 0, 1));
|
||||
mat.mainPass.enableLights = false;
|
||||
|
||||
// Huge hacks
|
||||
if (mat.blendMode != Add) {
|
||||
var alphaShader = new h3d.shader.AlphaChannel();
|
||||
mat.mainPass.addShader(alphaShader);
|
||||
}
|
||||
}
|
||||
gemImageScene.addChild(gemImageObject);
|
||||
var gemImageCenter = gemImageObject.getBounds().getCenter();
|
||||
|
|
@ -237,8 +246,8 @@ class PlayGui {
|
|||
playGuiCtrl.addChild(powerupBox);
|
||||
|
||||
this.powerupImageScene = new h3d.scene.Scene();
|
||||
var powerupImageRenderer = cast(this.powerupImageScene.renderer, h3d.scene.pbr.Renderer);
|
||||
powerupImageRenderer.skyMode = Hide;
|
||||
// var powerupImageRenderer = cast(this.powerupImageScene.renderer, h3d.scene.pbr.Renderer);
|
||||
// powerupImageRenderer.skyMode = Hide;
|
||||
|
||||
powerupImageSceneTarget = new Texture(68, 67, [Target]);
|
||||
powerupImageSceneTarget.depthBuffer = new DepthBuffer(68, 67);
|
||||
|
|
@ -365,7 +374,7 @@ class PlayGui {
|
|||
powerupImageObject.showSequences = false;
|
||||
powerupImageObject.init(null);
|
||||
for (mat in powerupImageObject.materials) {
|
||||
mat.mainPass.addShader(new PropsValues(1, 0, 0, 1));
|
||||
mat.mainPass.enableLights = false;
|
||||
}
|
||||
powerupImageScene.addChild(powerupImageObject);
|
||||
var powerupImageCenter = powerupImageObject.getBounds().getCenter();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue