Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }