diff --git a/SPD-classes/build.gradle b/SPD-classes/build.gradle index 587402d584..f6b5e1c39d 100644 --- a/SPD-classes/build.gradle +++ b/SPD-classes/build.gradle @@ -4,8 +4,6 @@ apply plugin: 'java-library' sourceCompatibility = targetCompatibility = appJavaCompatibility dependencies { - //TODO migrate this to implementation from api - //in order to do this I have to remove 100% of libGDX API access from core api "com.badlogicgames.gdx:gdx:$gdxVersion" api "com.badlogicgames.gdx-controllers:gdx-controllers-core:$gdxControllersVersion" implementation "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" diff --git a/SPD-classes/src/main/java/com/watabou/glwrap/Matrix.java b/SPD-classes/src/main/java/com/watabou/glwrap/Matrix.java index c610015289..0c2a231781 100644 --- a/SPD-classes/src/main/java/com/watabou/glwrap/Matrix.java +++ b/SPD-classes/src/main/java/com/watabou/glwrap/Matrix.java @@ -21,8 +21,6 @@ package com.watabou.glwrap; -//TODO libGDX offer matrix classes as well, which might give better performance. -//should investigate using them public class Matrix { public static final float G2RAD = 0.01745329251994329576923690768489f; diff --git a/SPD-classes/src/main/java/com/watabou/input/ControllerHandler.java b/SPD-classes/src/main/java/com/watabou/input/ControllerHandler.java index 773697f190..ca7a728252 100644 --- a/SPD-classes/src/main/java/com/watabou/input/ControllerHandler.java +++ b/SPD-classes/src/main/java/com/watabou/input/ControllerHandler.java @@ -110,7 +110,6 @@ public boolean buttonUp(Controller controller, int buttonCode) { private float L2Trigger = 0f; private float R2Trigger = 0f; - //FIXME these axis mappings seem to be wrong on Android (and iOS?) in some cases @Override public boolean axisMoved(Controller controller, int axisCode, float value) { setControllerType(controller); diff --git a/SPD-classes/src/main/java/com/watabou/noosa/Game.java b/SPD-classes/src/main/java/com/watabou/noosa/Game.java index 7b54d68872..16f56f955c 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/Game.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/Game.java @@ -146,9 +146,9 @@ public void resize(int width, int height) { } } - //FIXME this is a temporary workaround to improve start times on android (first frame is 'cheated' and skips rendering) - //this is partly to improve stats on google play, and partly to try and diagnose what the cause of slow loading times is - //ultimately once the cause is found it should be fixed and this should no longer be needed + //FIXME this is a hack to improve start times on android (first frame is 'cheated' and skips rendering) + //This is mainly to improve stats on google play, as lots of texture refreshing leads to slow warm starts + //Would be nice to accomplish this goal in a less hacky way private boolean justResumed = true; @Override diff --git a/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java b/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java index f8f9171cf9..f7e642c5f1 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java @@ -130,7 +130,6 @@ public synchronized void playTracks( String[] tracks, float[] chances, boolean s @Override public void onCompletion(com.badlogic.gdx.audio.Music music) { //we do this in a separate thread to avoid graphics hitching while the music is prepared - //FIXME this fixes graphics stutter but there's still some audio stutter, perhaps keep more than 1 player alive? if (!DeviceCompat.isDesktop()) { new Thread() { @Override @@ -139,7 +138,7 @@ public void run() { } }.start(); } else { - //don't use a separate thread on desktop, causes errors and makes no performance difference(?) + //don't use a separate thread on desktop, causes errors and makes no performance difference playNextTrack(music); } } @@ -202,7 +201,6 @@ public synchronized void resume() { } } - //TODO do we need to dispose every player? Maybe just stop them and keep an LRU cache of 2 or 3? public synchronized void stop() { if (player != null) { player.dispose(); diff --git a/core/build.gradle b/core/build.gradle index 2ef02fa667..c8fa9f4947 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -5,6 +5,5 @@ sourceCompatibility = targetCompatibility = appJavaCompatibility dependencies { api project(':SPD-classes') - //TODO might be nice to remove this, should decide implementation project(':services') } diff --git a/core/src/main/assets/messages/items/items.properties b/core/src/main/assets/messages/items/items.properties index 71dc41db66..f4a06df335 100644 --- a/core/src/main/assets/messages/items/items.properties +++ b/core/src/main/assets/messages/items/items.properties @@ -1725,6 +1725,7 @@ items.ankh.desc=This ancient symbol of immortality grants the ability to return items.ankh.desc_blessed=This ancient symbol of immortality grants the ability to return to life after death. The ankh has been blessed and is now much stronger. The Ankh will sacrifice itself to save you in a moment of deadly peril. items.arcaneresin.name=arcane resin +items.arcaneresin.prompt=Select a wand items.arcaneresin.ac_apply=APPLY items.arcaneresin.level_too_high=That wand is too powerful for resin to improve. items.arcaneresin.not_enough=You don't have enough resin for that! diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java index ccd082951f..be5ba7b8d8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java @@ -706,7 +706,6 @@ public static void storeTalentsInBundle( Bundle bundle, Hero hero ){ } public static void restoreTalentsFromBundle( Bundle bundle, Hero hero ){ - //TODO restore replacements if (bundle.contains("replacements")){ Bundle replacements = bundle.getBundle("replacements"); for (String key : replacements.getKeys()){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java index 0c0ce2076b..80b57bd8a1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java @@ -92,8 +92,7 @@ public int value() { @Override public String textPrompt() { - //FIXME give this its own prompt string - return Messages.get(MagesStaff.class, "prompt"); + return Messages.get(this, "prompt"); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EnergyCrystal.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EnergyCrystal.java index 81147b4133..b941500582 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EnergyCrystal.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EnergyCrystal.java @@ -57,8 +57,7 @@ public ArrayList actions(Hero hero ) { public boolean doPickUp(Hero hero, int pos) { Dungeon.energy += quantity; - //TODO Statistics.goldCollected += quantity; - //Badges.validateGoldCollected(); + //TODO track energy collected maybe? We do already track recipes crafted though.. GameScene.pickUp( this, pos ); hero.sprite.showStatus( 0x44CCFF, TXT_VALUE, quantity ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java index a72df7837a..0df6ca5ba7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java @@ -490,16 +490,6 @@ public ArrayList rooms() { return new ArrayList<>(rooms); } - //FIXME pit rooms shouldn't be problematic enough to warrant this - public boolean hasPitRoom(){ - for (Room r : rooms) { - if (r instanceof PitRoom) { - return true; - } - } - return false; - } - protected Room randomRoom( Class type ) { Random.shuffle( rooms ); for (Room r : rooms) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/AltarRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/AltarRoom.java deleted file mode 100644 index 870e858ec6..0000000000 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/AltarRoom.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Pixel Dungeon - * Copyright (C) 2012-2015 Oleg Dolya - * - * Shattered Pixel Dungeon - * Copyright (C) 2014-2022 Evan Debenham - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - */ - -package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special; - -import com.shatteredpixel.shatteredpixeldungeon.Dungeon; -import com.shatteredpixel.shatteredpixeldungeon.levels.Level; -import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; -import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter; -import com.watabou.utils.Point; - -//import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.SacrificialFire; - -public class AltarRoom extends SpecialRoom { - - public void paint( Level level ) { - - Painter.fill( level, this, Terrain.WALL ); - Painter.fill( level, this, 1, Dungeon.bossLevel( Dungeon.depth + 1 ) ? Terrain.HIGH_GRASS : Terrain.CHASM ); - - Point c = center(); - Door door = entrance(); - if (door.x == left || door.x == right) { - Point p = Painter.drawInside( level, this, door, Math.abs( door.x - c.x ) - 2, Terrain.EMPTY_SP ); - for (; p.y != c.y; p.y += p.y < c.y ? +1 : -1) { - Painter.set( level, p, Terrain.EMPTY_SP ); - } - } else { - Point p = Painter.drawInside( level, this, door, Math.abs( door.y - c.y ) - 2, Terrain.EMPTY_SP ); - for (; p.x != c.x; p.x += p.x < c.x ? +1 : -1) { - Painter.set( level, p, Terrain.EMPTY_SP ); - } - } - - Painter.fill( level, c.x - 1, c.y - 1, 3, 3, Terrain.EMBERS ); - Painter.set( level, c, Terrain.PEDESTAL ); - - //TODO: find some use for sacrificial fire... but not the vanilla one. scroll of wipe out is too strong. - /*SacrificialFire fire = (SacrificialFire)level.blobs.get( SacrificialFire.class ); - if (fire == null) { - fire = new SacrificialFire(); - } - fire.seed( c.x + c.y * Level.WIDTH, 5 + Dungeon.depth * 5 ); - level.blobs.put( SacrificialFire.class, fire );*/ - - door.set( Door.Type.EMPTY ); - } -} \ No newline at end of file diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StudyRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StudyRoom.java index b5a8e12fa9..912e7fef7a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StudyRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StudyRoom.java @@ -57,7 +57,7 @@ public void paint(Level level) { door.set( Door.Type.REGULAR ); } - //TODO add support for giant size as well + //TODO add support for giant size as well? if (sizeCat == SizeCategory.LARGE){ int pillarW = (width()-7)/2; int pillarH = (height()-7)/2; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index 684a08e91a..11aca52dea 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -445,10 +445,10 @@ public void draw() { } Dungeon.droppedItems.remove( Dungeon.depth ); } - + + //pre-1.1.0 saves, including all logic surrounding Dungeon.portedItems ArrayList ported = Dungeon.portedItems.get( Dungeon.depth ); if (ported != null){ - //TODO currently items are only ported to boss rooms, so this works well //might want to have a 'near entrance' function if items can be ported elsewhere int pos; //try to find a tile with no heap, otherwise just stick items onto a heap. @@ -1080,7 +1080,6 @@ public static void plantSeed( int cell ) { } } - //todo this doesn't account for walls right now public static void discoverTile( int pos, int oldValue ) { if (scene != null) { scene.tiles.discover( pos, oldValue ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpectralNecromancerSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpectralNecromancerSprite.java index a038b3d09f..76a679e638 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpectralNecromancerSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpectralNecromancerSprite.java @@ -36,7 +36,6 @@ public class SpectralNecromancerSprite extends MobSprite { private Animation charging; private Emitter summoningBones; - //TODO sprite is still a bit of a WIP public SpectralNecromancerSprite(){ super(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/WallBlockingTilemap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/WallBlockingTilemap.java index 9aa16e0213..2e05fb6696 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/WallBlockingTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/WallBlockingTilemap.java @@ -72,8 +72,6 @@ public synchronized void updateMapCell(int cell) { super.updateMapCell(cell); return; } - - //TODO should doors be considered? currently the blocking is a bit permissive around doors //non-wall tiles if (!wall(cell)) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java index 2df291d426..e4afb7b054 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java @@ -36,7 +36,6 @@ public class BuffIcon extends Image { private final boolean large; - //TODO maybe roll fading behaviour into this too? public BuffIcon(Buff buff, boolean large){ super( large ? Assets.Interfaces.BUFFS_LARGE : Assets.Interfaces.BUFFS_SMALL ); this.large = large; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java index b1860954d2..5d6c798912 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java @@ -220,7 +220,6 @@ private static class BuffButton extends IconButton { public Image grey; //only for small public BitmapText text; //only for large - //TODO for large buffs there is room to have text instead of fading public BuffButton( Buff buff, boolean large ){ super( new BuffIcon(buff, large)); this.buff = buff; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java index 86b5591897..da397facd9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java @@ -271,7 +271,6 @@ public void enable( boolean value ) { } private void enableSlot() { - //TODO check if item persists! slot.enable(Dungeon.quickslot.isNonePlaceholder( slotNum ) && (Dungeon.hero.buff(LostInventory.class) == null || Dungeon.quickslot.getItem(slotNum).keptThoughLostInvent)); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/RenderedTextBlock.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/RenderedTextBlock.java index 55317c2a5f..23da44b4a6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/RenderedTextBlock.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/RenderedTextBlock.java @@ -239,7 +239,7 @@ protected synchronized void layout() { if ((x - this.x) > width) width = (x - this.x); - //TODO spacing currently doesn't factor in halfwidth and fullwidth characters + //Note that spacing currently doesn't factor in halfwidth and fullwidth characters //(e.g. Ideographic full stop) x -= 0.5f; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Window.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Window.java index 111592c2e5..faa2498457 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Window.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Window.java @@ -201,8 +201,6 @@ public boolean onSignal( KeyEvent event ) { } } - //TODO currently always eats the key event as windows always take full focus - // if they are ever made more flexible, might not want to do this in all cases return true; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java index 596ea33df9..dad99bd3be 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v1_X_Changes.java @@ -562,7 +562,6 @@ public static void add_v1_1_Changes( ArrayList changeInfos ) { "_-_ Updated translations and translator credits")); - //TODO condense to two bugfix entries changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes") + " 1", "Fixed:\n" + "_-_ Various minor/rare visual and textual errors\n" +