Project

General

Profile

« Previous | Next » 

Revision 3a0a23bf

Added by Leszek Koltunski almost 2 years ago

Beginnings of support for 'sticker overrides' - possibility to override the color of an individual face of an individual cubit. Ultimately this will enable overriding with any bitmap; so far only a solid color.

Also, fixes for two crashers.

View differences:

src/main/java/org/distorted/objectlib/json/JsonReader.java
32 32

  
33 33
import org.distorted.objectlib.helpers.ObjectFaceShape;
34 34
import org.distorted.objectlib.helpers.ObjectSignature;
35
import org.distorted.objectlib.helpers.ObjectStickerOverride;
35 36
import org.distorted.objectlib.main.Cubit;
36 37
import org.distorted.objectlib.objects.TwistyBandagedCuboid;
37 38
import org.json.JSONArray;
......
84 85
  private ObjectSignature mSignature;
85 86
  private int[] mCubitType;
86 87
  private float[][] mCubitRowOffset;
88
  private ObjectStickerOverride[] mStickerOverrides;
87 89

  
88 90
  private static JsonReader mThis;
89 91

  
......
372 374
      }
373 375
    }
374 376

  
377
///////////////////////////////////////////////////////////////////////////////////////////////////
378

  
379
  private void parseOverrides(JSONArray object) throws JSONException
380
    {
381
    int numOverrides = object.length();
382
    mStickerOverrides= new ObjectStickerOverride[numOverrides];
383

  
384
    for(int i=0; i<numOverrides; i++)
385
      {
386
      JSONObject override = object.getJSONObject(i);
387
      int cubit = override.getInt("cubit");
388
      int face  = override.getInt("face");
389
      int color = override.getInt("color");
390
      mStickerOverrides[i] = new ObjectStickerOverride(cubit,face,color);
391
      }
392
    }
393

  
375 394
///////////////////////////////////////////////////////////////////////////////////////////////////
376 395

  
377 396
  private void parseMesh(JSONObject object) throws JSONException
......
382 401
    parseShapes(shapes);
383 402
    JSONArray stickers = object.getJSONArray("stickers");
384 403
    parseStickers(stickers);
404

  
405
    JSONArray overrides= object.optJSONArray("overrides");
406
    if( overrides!=null ) parseOverrides(overrides);
385 407
    }
386 408

  
387 409
///////////////////////////////////////////////////////////////////////////////////////////////////
......
1011 1033
    return mObjectSticker[sticker];
1012 1034
    }
1013 1035

  
1036
///////////////////////////////////////////////////////////////////////////////////////////////////
1037

  
1038
  public ObjectStickerOverride[] getStickerOverrides()
1039
    {
1040
    return mStickerOverrides;
1041
    }
1042

  
1014 1043
///////////////////////////////////////////////////////////////////////////////////////////////////
1015 1044

  
1016 1045
  public Static3D[] getRotationAxis()

Also available in: Unified diff