public static void Init() { RoomInfo.Init(); RoomGfxPal.Init(); RoomPal.Init(); RoomSprites.Init(); }
void Awake() { roomSprites = GameObject.Find("Room Sprites").GetComponent <RoomSprites>(); sr = GetComponent <SpriteRenderer>(); currentGameLevel = GameObject.Find("GameManager").GetComponent <GameManager>().currentGameLevel; gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); cam = GameObject.Find("Main Camera").GetComponent <Camera>(); UpdateTile(); SetWallTileColor(); }
void Awake() { sr = GetComponent <SpriteRenderer>(); col = GetComponent <BoxCollider2D>(); currentGameLevel = GameObject.Find("GameManager").GetComponent <GameManager>().currentGameLevel; roomSprites = GameObject.Find("Room Sprites").GetComponent <RoomSprites>(); gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); var r = Random.Range(0, roomSprites.floor.Length - 1); sr.sprite = roomSprites.floor[r]; defaultSprite = sr.sprite; r = Random.Range(0, roomSprites.critFloor.Length - 1); critSprite = roomSprites.critFloor[r]; SetFloorTileColor(); }
public static void Init() { Entries = Rom.ReadUShort(Address); Sprites = new List <RoomSprites> [Entries]; int StartTable = 0x1132B58; int[] Addresses = new int[Entries]; for (int i = 0; i < Entries * 4; i += 4) { Addresses[i / 4] = StartTable + Rom[StartTable + 4 + i] + (Rom[StartTable + 5 + i] << 8) + (Rom[StartTable + 6 + i] << 16) + (Rom[StartTable + 7 + i] << 24); } for (int i = 0; i < Sprites.Length; i++) { int pointer = Addresses[i]; Sprites[i] = new List <RoomSprites>(); Rom.Seek(pointer); int j = 0; while ((Rom[pointer] & 1) != 0) { var s = new RoomSprites(); s.room = i / 5; s.index = j; Rom.SeekAdd(4); s.Script = Rom.ReadByte(); Rom.SeekAdd(4); byte ch = Rom.ReadByte(); s.Direction = (byte)((ch >> 1) & 7); Rom.SeekAdd(6); s.Sprite = Rom.ReadUShort(); ch = Rom.ReadByte(); s.X = (short)((ch << 4) + 8); ch = Rom.ReadByte(); s.Y = (short)((ch << 4) + 15); Rom.SeekAdd(4); Sprites[i].Add(s); j++; pointer += 24; } if ((Rom[pointer] & 1) == 0) { var s = new RoomSprites(); s.room = i / 5; s.index = j; s.Script = 0; s.Direction = 0; s.Sprite = 0; s.X = 0; s.Y = 0; Sprites[i].Add(s); pointer += 4; } } }
public static void Init() { Entries = Rom.ReadUShort(Address); Sprites = new List<RoomSprites>[Entries / 5]; for (int i = 0; i < Sprites.Length; i++) { int pointer = GetPointer((i * 5) + 4); Sprites[i] = new List<RoomSprites>(); Rom.Seek(pointer); int j = 0; while((Rom[pointer] & 1) != 0) { var s = new RoomSprites(); s.room = i; s.index = j; Rom.SeekAdd(4); s.Script = Rom.ReadByte(); Rom.SeekAdd(4); byte ch = Rom.ReadByte(); s.Direction = (byte)((ch >> 1) & 7); Rom.SeekAdd(6); s.Sprite = Rom.ReadUShort(); ch = Rom.ReadByte(); s.X = (short)((ch << 4) + 8); ch = Rom.ReadByte(); s.Y = (short)((ch << 4) + 15); Rom.SeekAdd(4); Sprites[i].Add(s); j++; pointer += 24; } if (Sprites[i].Count > 0) { var scriptNums = Sprites[i].Select(s => s.Script).ToArray(); } } }