// Read data from ROM at given PC address. public override bool ReadFromROM(Rom rom, int addressPC) { int startAddress = addressPC; byte [] b = new byte [2]; rom.Seek(addressPC); if (!rom.Read(b, 0, 2)) { return(false); } if (b [0] == TerminatorByte && b [1] == TerminatorByte) { startAddressPC = addressPC; return(true); } FxData newFxData; int adPC = addressPC; do { newFxData = new FxData(); rom.Seek(adPC); newFxData.ReadFromROM(rom, adPC); FxDatas.Add(newFxData); adPC += newFxData.Size; }while (newFxData.DoorPtr != 0x830000); startAddressPC = startAddress; return(true); }
private void ForceSelectFxData(int index) { if (ActiveFx != null & index >= 0 && index < ActiveFx.FxDataCount) { FxDataIndex = index; ActiveFxData = ActiveFx.FxDatas [index]; } else { FxDataIndex = IndexNone; ActiveFxData = null; } }
public FxData(FxData source) : base() { DoorPtr = source.DoorPtr; LiquidSurfaceStart = source.LiquidSurfaceStart; LiquidSurfaceNew = source.LiquidSurfaceNew; LiquidSurfaceSpeed = source.LiquidSurfaceSpeed; LiquidSurfaceDelay = source.LiquidSurfaceDelay; FxType = source.FxType; FxBitA = source.FxBitA; FxBitB = source.FxBitB; FxBitC = source.FxBitC; PaletteFxBitflags = source.PaletteFxBitflags; TileAnimationBitflags = source.TileAnimationBitflags; PaletteBlend = source.PaletteBlend; }
public ActiveItems(Project p) { ActiveArea = p.AreaIndex; ActiveRoom = p.ActiveRoom; ActiveRoomState = p.ActiveRoomState; ActiveTileSet = p.ActiveTileSet; ActiveDoor = p.ActiveDoor; ActiveLevelData = p.ActiveLevelData; ActivePlm = p.ActivePlm; ActivePlmType = p.ActivePlmType; ActiveEnemy = p.ActiveEnemy; ActiveEnemyGfx = p.ActiveEnemyGfx; ActiveEnemyType = p.ActiveEnemyType; ActiveScrollData = p.ActiveScrollData; ActiveScrollColor = p.ActiveScrollColor; ActiveFx = p.ActiveFx; ActiveFxData = p.ActiveFxData; ActiveBackground = p.ActiveBackground; }