v0.4.2: Implemented no-lighting shader

Gives a very big performance boost on older devices
This commit is contained in:
Evan Debenham
2016-09-05 01:32:19 -04:00
parent 182b24d9ae
commit 6ed1ec2214
8 changed files with 120 additions and 13 deletions
@@ -26,6 +26,8 @@ import com.watabou.gltextures.SmartTexture;
import com.watabou.gltextures.TextureCache;
import com.watabou.glwrap.Texture;
import com.watabou.noosa.Image;
import com.watabou.noosa.NoosaScript;
import com.watabou.noosa.NoosaScriptNoLighting;
import com.watabou.utils.Rect;
import java.nio.ByteBuffer;
@@ -202,6 +204,11 @@ public class FogOfWar extends Image {
}
}
@Override
protected NoosaScript script() {
return NoosaScriptNoLighting.get();
}
@Override
public void draw() {
@@ -89,6 +89,8 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndTradeItem;
import com.watabou.noosa.Camera;
import com.watabou.noosa.Game;
import com.watabou.noosa.Group;
import com.watabou.noosa.NoosaScript;
import com.watabou.noosa.NoosaScriptNoLighting;
import com.watabou.noosa.SkinnedBlock;
import com.watabou.noosa.Visual;
import com.watabou.noosa.audio.Music;
@@ -160,15 +162,20 @@ public class GameScene extends PixelScene {
water = new SkinnedBlock(
Dungeon.level.width() * DungeonTilemap.SIZE,
Dungeon.level.height() * DungeonTilemap.SIZE,
Dungeon.level.waterTex() );
Dungeon.level.waterTex() ){
@Override
protected NoosaScript script() {
return NoosaScriptNoLighting.get();
}
};
terrain.add( water );
ripples = new Group();
terrain.add( ripples );
tiles = new DungeonTilemap();
terrain.add( tiles );
ripples = new Group();
terrain.add( ripples );
customTiles = new Group();
terrain.add(customTiles);
@@ -22,6 +22,8 @@ package com.shatteredpixel.shatteredpixeldungeon.ui;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.watabou.noosa.Game;
import com.watabou.noosa.NoosaScript;
import com.watabou.noosa.NoosaScriptNoLighting;
import com.watabou.noosa.SkinnedBlock;
import com.watabou.noosa.ui.Component;
@@ -39,12 +41,22 @@ public class Archs extends Component {
@Override
protected void createChildren() {
arcsBg = new SkinnedBlock( 1, 1, Assets.ARCS_BG );
arcsBg = new SkinnedBlock( 1, 1, Assets.ARCS_BG ){
@Override
protected NoosaScript script() {
return NoosaScriptNoLighting.get();
}
};
arcsBg.autoAdjust = true;
arcsBg.offsetTo( 0, offsB );
add( arcsBg );
arcsFg = new SkinnedBlock( 1, 1, Assets.ARCS_FG );
arcsFg = new SkinnedBlock( 1, 1, Assets.ARCS_FG ){
@Override
protected NoosaScript script() {
return NoosaScriptNoLighting.get();
}
};
arcsFg.autoAdjust = true;
arcsFg.offsetTo( 0, offsF );
add( arcsFg );