private void SetInstanceSize() { N64Ptr readAddr; uint offset; if (VRamActorInit.Offset < 0x800000) { //Read address 0C in the ovl file readAddr = VRamActorInit + 0x0C; } else if (IsFileLoaded) { offset = (uint)(VRamActorInit - VRam.Start) + 0x0C; readAddr = Ram.Start + offset; } else { return; } InstanceSize[Actor] = (ushort)Zpr.ReadRamInt32(readAddr); }
public void ScrollDlist(int v) { if (DListBranches.Count == 0) { return; } NullBranches(); //var record = DListBranches[DListIndex]; //var addr = record.DlistBranch; //Zpr.WriteRam8((int)addr, 0x00); DListIndex += v; if (DListIndex >= DListBranches.Count) { DListIndex = 0; } if (DListIndex < 0) { DListIndex = DListBranches.Count - 1; } var addr = DListBranches[DListIndex].DlistBranch; Zpr.WriteRam8(addr, 0xDE); Console.Clear(); Console.WriteLine($"{Zpr.ReadRamInt32(addr + 4):X8}"); foreach (var item in DListBranches[DListIndex].DListHierarchy) { Zpr.WriteRam8(item, 0xDE); } }