V0.2.0: Fixed a bug with the item sprite sheet and hard-coded values(ooh, another PC-classes tweak)

This commit is contained in:
Evan Debenham 2014-08-31 03:42:31 -04:00
parent 9034325963
commit e731f6f71d
2 changed files with 15 additions and 8 deletions

View File

@ -132,6 +132,8 @@ public class Dungeon {
public static boolean[] visible = new boolean[Level.LENGTH];
public static boolean nightMode;
public static int version;
public static void init() {
@ -400,7 +402,7 @@ public class Dungeon {
try {
Bundle bundle = new Bundle();
bundle.put( VERSION, Game.version );
bundle.put( VERSION, Game.versionCode );
bundle.put( HERO, hero );
bundle.put( GOLD, gold );
bundle.put( DEPTH, depth );
@ -556,8 +558,7 @@ public class Dungeon {
quickslot = null;
}
@SuppressWarnings("unused")
String version = bundle.getString( VERSION );
version = bundle.getInt( VERSION );
hero = null;
hero = (Hero)bundle.get( HERO );

View File

@ -22,6 +22,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.watabou.utils.Bundle;
import com.watabou.utils.Random;
@ -92,20 +93,22 @@ public class ItemStatusHandler<T extends Item> {
Class<? extends T> item = (Class<? extends T>)(items[i]);
String itemName = item.toString();
if (bundle.contains( itemName + PFX_LABEL )) {
if (bundle.contains( itemName + PFX_LABEL ) && Dungeon.version > 3) {
String label = bundle.getString( itemName + PFX_LABEL );
labels.put( item, label );
labelsLeft.remove( label );
Integer image = bundle.getInt( itemName + PFX_IMAGE );
images.put( item, image );
imagesLeft.remove( image );
if (bundle.getBoolean( itemName + PFX_KNOWN )) {
known.add( item );
}
//if there's a new item, give it a random image
//or.. if we're loading from an untrusted version, randomize the image to be safe.
} else {
int index = Random.Int( labelsLeft.size() );
@ -115,7 +118,10 @@ public class ItemStatusHandler<T extends Item> {
images.put( item, imagesLeft.get( index ) );
imagesLeft.remove( index );
if (bundle.contains( itemName + PFX_KNOWN ) && bundle.getBoolean( itemName + PFX_KNOWN )) {
known.add( item );
}
}
}
}