From 9b9b068c451f419b03817b80da52af9c35707ff9 Mon Sep 17 00:00:00 2001 From: Luciano Ciccariello Date: Tue, 26 Jan 2021 00:50:32 +0100 Subject: [PATCH] First batch of formatting --- ConsoleApp1/Program.cs | 42 +- ConsoleApp1/Properties/AssemblyInfo.cs | 2 +- OpenKh.Command.Arc/Program.cs | 2 +- OpenKh.Command.Bar/Core.cs | 2 +- .../ArchiveNotFoundException.cs | 2 +- OpenKh.Command.Bbsa/Program.cs | 4 +- OpenKh.Command.CoctChanger/Program.cs | 727 +- .../Utils/DumpCoctUtil.cs | 180 +- .../Utils/ObjDumpUtil.cs | 108 +- OpenKh.Command.DoctChanger/Program.cs | 670 +- .../Utils/DumpDoctUtil.cs | 114 +- OpenKh.Command.HdAssets/Program.cs | 2 +- .../Interfaces/ICommonQuantizerParam.cs | 38 +- OpenKh.Command.ImgTool/Program.cs | 972 +- .../Utils/ImgdBitmapUtil.cs | 896 +- .../Utils/QuantizerFactory.cs | 152 +- OpenKh.Command.Layout/Program.cs | 4 +- OpenKh.Command.MapGen/Models/BigMesh.cs | 88 +- .../Models/BigMeshContainer.cs | 92 +- OpenKh.Command.MapGen/Models/MapGenConfig.cs | 192 +- OpenKh.Command.MapGen/Models/MaterialDef.cs | 154 +- OpenKh.Command.MapGen/Models/TextureOption.cs | 24 +- OpenKh.Command.MapGen/Program.cs | 128 +- .../Utils/BigMeshSplitter.cs | 150 +- .../Utils/CollisionBuilder.cs | 960 +- OpenKh.Command.MapGen/Utils/FileExtUtil.cs | 28 +- OpenKh.Command.MapGen/Utils/ImageResizer.cs | 160 +- OpenKh.Command.MapGen/Utils/MapBuilder.cs | 1000 +- OpenKh.Command.MapGen/Utils/MapGenUtil.cs | 542 +- .../Utils/MapVifPacketBuilder.cs | 418 +- .../Utils/SimplePatternUtil.cs | 36 +- OpenKh.Command.MsgTool/Program.cs | 2 +- OpenKh.Command.TexFooter/Program.cs | 76 +- OpenKh.Kh2AnimEmu/Legacy/AxBone.cs | 38 +- OpenKh.Kh2AnimEmu/Mset/AnbIndir.cs | 76 +- OpenKh.Kh2AnimEmu/Mset/AnimModel.cs | 46 +- OpenKh.Kh2AnimEmu/Mset/AnimReader.cs | 503 +- .../Mset/EmuBasedAnimMatricesProvider.cs | 178 +- OpenKh.Kh2AnimEmu/Mset/EmuRunner/CustEE.cs | 3544 +- OpenKh.Kh2AnimEmu/Mset/EmuRunner/Execee.cs | 120 +- OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mlink.cs | 1232 +- OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mobrc1.cs | 49642 ++++++++-------- OpenKh.Kh2AnimEmu/Mset/EmuRunner/RelocMdlx.cs | 483 +- .../Mset/Interfaces/IAnimMatricesProvider.cs | 36 +- OpenKh.Kh2AnimEmu/Mset/MsetIndir.cs | 62 +- OpenKh.Kh2AnimEmu/Mset/PosTbl.cs | 152 +- OpenKh.Kh2AnimEmu/Mset/T1.cs | 48 +- OpenKh.Kh2AnimEmu/Mset/T2.cs | 52 +- OpenKh.Kh2AnimEmu/Mset/T3.cs | 54 +- OpenKh.Kh2AnimEmu/Mset/T4.cs | 46 +- OpenKh.Kh2AnimEmu/Mset/T9.cs | 48 +- OpenKh.Kh2AnimEmu/Mset/T9f.cs | 42 +- OpenKh.Tools.BarEditor/App.xaml.cs | 14 +- .../Models/BarEntryModel.cs | 108 +- .../Properties/AssemblyInfo.cs | 14 +- .../Services/ToolsLoaderService.cs | 68 +- OpenKh.Tools.BarEditor/ToolModule.cs | 4 +- OpenKh.Tools.BarEditor/Views/BarView.xaml.cs | 28 +- OpenKh.Tools.BbsEventTableEditor/App.xaml.cs | 2 +- .../ViewModels/EventViewModel.cs | 2 +- .../ViewModels/EventsViewModel.cs | 2 +- .../ViewModels/MainViewModel.cs | 2 +- .../Views/EventsView.xaml.cs | 2 +- .../Views/MainWindow.xaml.cs | 2 +- .../IImGuiRenderer.cs | 2 +- OpenKh.Tools.Common.CustomImGui/ImGuiEx.cs | 8 +- .../MonoGameImGui.cs | 17 +- .../MonoGameImGuiBootstrap.cs | 2 +- OpenKh.Tools.CtdEditor/App.xaml.cs | 2 +- .../Interfaces/CtdDrawHandler.cs | 5 +- .../Interfaces/IDrawHandler.cs | 2 +- .../ViewModels/CharacterViewModel.cs | 2 +- .../ViewModels/CtdViewModel.cs | 2 +- .../ViewModels/FontEditorViewModel.cs | 2 +- .../ViewModels/FontEntryViewModel.cs | 2 +- .../ViewModels/MessageViewModel.cs | 2 +- OpenKh.Tools.CtdEditor/Views/CtdView.xaml.cs | 2 +- .../Views/FontWindow.xaml.cs | 2 +- .../Views/MainWindow.xaml.cs | 2 +- OpenKh.Tools.DpdViewer/App.xaml.cs | 14 +- .../Models/TexturesModel.cs | 24 +- .../Properties/AssemblyInfo.cs | 14 +- .../ViewModels/DpdViewModel.cs | 176 +- .../ViewModels/TexturesViewModel.cs | 30 +- OpenKh.Tools.DpdViewer/Views/DpdView.xaml.cs | 24 +- .../Views/TexturesView.xaml.cs | 22 +- OpenKh.Tools.IdxImg/App.xaml.cs | 2 +- OpenKh.Tools.IdxImg/Extensions.cs | 2 +- OpenKh.Tools.IdxImg/Interfaces/IIdxManager.cs | 2 +- .../Interfaces/ITreeSelectedItem.cs | 2 +- OpenKh.Tools.IdxImg/MainWindow.xaml.cs | 2 +- .../ViewModels/EntryParserModel.cs | 4 +- .../ViewModels/EntryViewModel.cs | 2 +- .../ViewModels/FileViewModel.cs | 2 +- .../ViewModels/FolderViewModel.cs | 2 +- .../ViewModels/IdxImgViewModel.cs | 2 +- .../ViewModels/IdxViewModel.cs | 2 +- .../ViewModels/NodeViewModel.cs | 2 +- .../ViewModels/RootViewModel.cs | 2 +- .../Views/FilePropertyView.xaml.cs | 2 +- OpenKh.Tools.IdxImg/Views/IdxTreeView.xaml.cs | 2 +- .../App.xaml.cs | 2 +- .../Services/Camera.cs | 2 +- .../Services/CameraExtensions.cs | 2 +- .../Services/CollisionMapDrawHandler.cs | 2 +- .../Services/MonoDrawing.cs | 4 +- .../Services/ProcessService.cs | 2 +- .../ViewModels/CollisionEditorViewModel.cs | 10 +- .../ViewModels/MainViewModel.cs | 2 +- .../ViewModels/OpenProcessViewModel.cs | 4 +- .../Views/Collision1View.xaml.cs | 2 +- .../Views/Collision2View.xaml.cs | 2 +- .../Views/Collision3View.xaml.cs | 2 +- .../Views/CollisionEditorView.xaml.cs | 2 +- .../Views/MainWindow.xaml.cs | 2 +- .../Views/OpenProcessDialog.xaml.cs | 2 +- .../Views/VertexView.xaml.cs | 2 +- OpenKh.Tools.Kh2MapStudio/App.cs | 62 +- OpenKh.Tools.Kh2MapStudio/EditorSettings.cs | 2 +- OpenKh.Tools.Kh2MapStudio/ImGuiExHelpers.cs | 2 +- .../Interfaces/ILayerController.cs | 2 +- .../Interfaces/IObjEntryController.cs | 2 +- .../Interfaces/ISpawnPointController.cs | 2 +- .../Models/CollisionModel.cs | 5 +- .../Models/SpawnPointModel.cs | 2 +- OpenKh.Tools.Kh2MapStudio/Program.cs | 36 +- .../Windows/BobDescriptorWindow.cs | 2 +- .../Windows/CollisionWindow.cs | 5 +- .../Windows/LayerControllerWindow.cs | 2 +- .../Windows/MeshGroupWindow.cs | 2 +- .../Windows/SpawnScriptWindow.cs | 2 +- OpenKh.Tools.Kh2PlaceEditor/App.xaml.cs | 2 +- .../Converters/EnumMatchToBooleanConverter.cs | 2 +- .../ViewModels/PlaceEditorViewModel.cs | 2 +- .../ViewModels/PlaceViewModel.cs | 6 +- .../ViewModels/PlacesViewModel.cs | 2 +- .../Views/PlaceEditorWindow.xaml.cs | 2 +- .../Views/PlacesView.xaml.cs | 2 +- OpenKh.Tools.Kh2TextEditor/App.xaml.cs | 2 +- .../Converters/EnumMatchToBooleanConverter.cs | 2 +- .../Interfaces/ICurrentMessageEncoder.cs | 2 +- .../Interfaces/IInvalidateErrorCount.cs | 2 +- .../Models/MessageModel.cs | 2 +- .../Models/MessagesModel.cs | 2 +- .../Models/TextAreaModel.cs | 2 +- .../Services/CsvTextExporter.cs | 54 +- .../Services/CsvTextImporter.cs | 54 +- .../Services/ExchangeableMessage.cs | 34 +- .../Services/ITextExporter.cs | 32 +- .../Services/ITextImporter.cs | 32 +- .../Services/PlainTextExporter.cs | 48 +- .../Services/TextExporters.cs | 70 +- .../Services/TextImporters.cs | 68 +- .../Services/XmlTextExporter.cs | 68 +- .../Services/XmlTextImporter.cs | 58 +- .../Services/YamlTextExporter.cs | 56 +- .../Services/YamlTextImporter.cs | 58 +- OpenKh.Tools.Kh2TextEditor/Types/FontType.cs | 2 +- .../ViewModels/TextEditorViewModel.cs | 2 +- .../Views/TextEditorView.xaml.cs | 2 +- .../AppElementSelection.cs | 2 +- OpenKh.Tools.LayoutEditor/AppLayoutEditor.cs | 6 +- .../AppSequenceEditor.cs | 6 +- .../Controls/ImSequencer.cs | 11 +- .../Controls/MySequencer.cs | 2 +- .../DebugSequenceRenderer.cs | 4 +- .../Dialogs/ResourceSelectionDialog.cs | 4 +- .../Dialogs/SpriteEditDialog.cs | 13 +- .../Dialogs/SpriteGroupEditDialog.cs | 2 +- OpenKh.Tools.LayoutEditor/Interfaces/IApp.cs | 2 +- .../Interfaces/IEditorSettings.cs | 2 +- .../Interfaces/ISaveBar.cs | 2 +- .../Interfaces/ITextureBinder.cs | 2 +- .../Models/SpriteGroupModel.cs | 2 +- .../Models/SpriteModel.cs | 2 +- OpenKh.Tools.LayoutEditor/Program.cs | 2 +- OpenKh.Tools.LayoutEditor/Utilities.cs | 2 +- OpenKh.WinShell.IMDUtilities/MarshalBitmap.cs | 2 +- OpenKh.WinShell.IMZUtilities/MarshalBitmap.cs | 2 +- 179 files changed, 33019 insertions(+), 32900 deletions(-) diff --git a/ConsoleApp1/Program.cs b/ConsoleApp1/Program.cs index 0be922bbb..e910f528b 100644 --- a/ConsoleApp1/Program.cs +++ b/ConsoleApp1/Program.cs @@ -1,4 +1,4 @@ -using OpenKh.Common; +using OpenKh.Common; using OpenKh.Kh2; using OpenKh.Tools.Common; using System; @@ -12,30 +12,30 @@ namespace ConsoleApp1 { - class Program - { - static void Main(string[] args) - { - string OpenKhSolutionDirectory = - Directory.GetParent( /* ConsoleApp1 */ - Directory.GetParent( /* bin */ - Directory.GetParent( /* Debug */ - Directory.GetParent(Directory.GetCurrentDirectory()).FullName).FullName).FullName).FullName; + class Program + { + static void Main(string[] args) + { + string OpenKhSolutionDirectory = + Directory.GetParent( /* ConsoleApp1 */ + Directory.GetParent( /* bin */ + Directory.GetParent( /* Debug */ + Directory.GetParent(Directory.GetCurrentDirectory()).FullName).FullName).FullName).FullName; - if (!Directory.Exists(OpenKhSolutionDirectory + @"\OpenKh.Tests")) - return; - Directory.SetCurrentDirectory(OpenKhSolutionDirectory + @"\OpenKh.Tests"); + if (!Directory.Exists(OpenKhSolutionDirectory + @"\OpenKh.Tests")) + return; + Directory.SetCurrentDirectory(OpenKhSolutionDirectory + @"\OpenKh.Tests"); - var process = ProcessStream.TryGetProcess(x => x.ProcessName == "pcsx2"); /* For RAM-related tests. */ - using var stream = new ProcessStream(process, 0x20000000, 0x2000000); + var process = ProcessStream.TryGetProcess(x => x.ProcessName == "pcsx2"); /* For RAM-related tests. */ + using var stream = new ProcessStream(process, 0x20000000, 0x2000000); - //stream.Position = 0x00964c10; - //var dpd = new OpenKh.Kh2.Dpd(stream); - //var dpd = new OpenKh.Kh2.Dpd(File.OpenRead(@"D:\Hacking\KH2\reverse\SAMPLES\tt_0.dpd")); - //var dpd = new OpenKh.Kh2.Dpd(File.OpenRead(@"D:\Hacking\KH2\reverse\SAMPLES\texcommon.dpd")); + //stream.Position = 0x00964c10; + //var dpd = new OpenKh.Kh2.Dpd(stream); + //var dpd = new OpenKh.Kh2.Dpd(File.OpenRead(@"D:\Hacking\KH2\reverse\SAMPLES\tt_0.dpd")); + //var dpd = new OpenKh.Kh2.Dpd(File.OpenRead(@"D:\Hacking\KH2\reverse\SAMPLES\texcommon.dpd")); - } - } + } + } } diff --git a/ConsoleApp1/Properties/AssemblyInfo.cs b/ConsoleApp1/Properties/AssemblyInfo.cs index a82cd2ab9..1e5bd86bb 100644 --- a/ConsoleApp1/Properties/AssemblyInfo.cs +++ b/ConsoleApp1/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; diff --git a/OpenKh.Command.Arc/Program.cs b/OpenKh.Command.Arc/Program.cs index 1020f252b..247234f06 100644 --- a/OpenKh.Command.Arc/Program.cs +++ b/OpenKh.Command.Arc/Program.cs @@ -1,4 +1,4 @@ -using OpenKh.Common; +using OpenKh.Common; using McMaster.Extensions.CommandLineUtils; using System; using System.IO; diff --git a/OpenKh.Command.Bar/Core.cs b/OpenKh.Command.Bar/Core.cs index 1beb0fb99..43478437c 100644 --- a/OpenKh.Command.Bar/Core.cs +++ b/OpenKh.Command.Bar/Core.cs @@ -11,7 +11,7 @@ public static class Core internal class BarRoot { [JsonProperty] public string OriginalFileName { get; set; } - [JsonProperty] public Kh2.Bar.MotionsetType Motionset { get; set; } + [JsonProperty] public Kh2.Bar.MotionsetType Motionset { get; set; } [JsonProperty] public List Entries { get; set; } } diff --git a/OpenKh.Command.Bbsa/ArchiveNotFoundException.cs b/OpenKh.Command.Bbsa/ArchiveNotFoundException.cs index e99c9e928..be456a50b 100644 --- a/OpenKh.Command.Bbsa/ArchiveNotFoundException.cs +++ b/OpenKh.Command.Bbsa/ArchiveNotFoundException.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace OpenKh.Command.Bbsa { diff --git a/OpenKh.Command.Bbsa/Program.cs b/OpenKh.Command.Bbsa/Program.cs index 5ee8c061e..f58ae3ff2 100644 --- a/OpenKh.Command.Bbsa/Program.cs +++ b/OpenKh.Command.Bbsa/Program.cs @@ -1,4 +1,4 @@ -using McMaster.Extensions.CommandLineUtils; +using McMaster.Extensions.CommandLineUtils; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; @@ -100,7 +100,7 @@ private static void ExtractArchives(IEnumerable bbsaFileNames, string ou } } } - + private class ListCommand { [Required] diff --git a/OpenKh.Command.CoctChanger/Program.cs b/OpenKh.Command.CoctChanger/Program.cs index f9b2b3b89..b123f19ea 100644 --- a/OpenKh.Command.CoctChanger/Program.cs +++ b/OpenKh.Command.CoctChanger/Program.cs @@ -1,363 +1,364 @@ -using McMaster.Extensions.CommandLineUtils; -using McMaster.Extensions.CommandLineUtils.Conventions; -using OpenKh.Command.CoctChanger.Utils; -using OpenKh.Common; -using OpenKh.Kh2; -using OpenKh.Kh2.Utils; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Net.Http.Headers; -using System.Numerics; -using System.Reflection; -using System.Text; - -namespace OpenKh.Command.CoctChanger -{ - [Command("OpenKh.Command.CoctChanger")] - [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] - [Subcommand(typeof(CreateRoomCoctCommand), typeof(UseThisCoctCommand), typeof(ShowStatsCommand) - , typeof(DumpCoctCommand))] - class Program - { - static int Main(string[] args) - { - try - { - return CommandLineApplication.Execute(args); - } - catch (FileNotFoundException e) - { - Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); - return 1; - } - catch (Exception e) - { - Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); - return 1; - } - } - - protected int OnExecute(CommandLineApplication app) - { - app.ShowHelp(); - return 1; - } - - private static string GetVersion() - => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; - - [HelpOption] - [Command(Description = "coct file: create single closed room")] - private class CreateRoomCoctCommand - { - [Required] - [Argument(0, Description = "Output coct")] - public string CoctOut { get; set; } - - [Option(CommandOptionType.SingleValue, Description = "bbox in model 3D space: minX,Y,Z,maxX,Y,Z (default: ...)", ShortName = "b", LongName = "bbox")] - public string BBox { get; set; } = "-1000,-1000,-1000,1000,1500,1000"; - - protected int OnExecute(CommandLineApplication app) - { - var coct = new Coct(); - - var bbox = BBox.Split(',') - .Select(one => short.Parse(one)) - .ToArray(); - - var invMinX = bbox[0]; - var invMinY = bbox[1]; - var invMinZ = bbox[2]; - var invMaxX = bbox[3]; - var invMaxY = bbox[4]; - var invMaxZ = bbox[5]; - - var minX = -invMinX; - var minY = -invMinY; - var minZ = -invMinZ; - var maxX = -invMaxX; - var maxY = -invMaxY; - var maxZ = -invMaxZ; - - var builder = new Coct.BuildHelper(coct); - - // (forwardVec) - // +Z - // A / +Y (upVec) - // | / - // |/ - // +--> +X (rightVec) - - // 7 == 6 top - // | | top - // 4 == 5 top - // - // 3 == 2 bottom - // | | bottom - // 0 == 1 bottom - - var table4Idxes = new short[] - { - builder.AllocateVertex(minX, minY, minZ, 1), - builder.AllocateVertex(maxX, minY, minZ, 1), - builder.AllocateVertex(maxX, minY, maxZ, 1), - builder.AllocateVertex(minX, minY, maxZ, 1), - builder.AllocateVertex(minX, maxY, minZ, 1), - builder.AllocateVertex(maxX, maxY, minZ, 1), - builder.AllocateVertex(maxX, maxY, maxZ, 1), - builder.AllocateVertex(minX, maxY, maxZ, 1), - }; - - // side: - // 0 bottom - // 1 top - // 2 west - // 3 east - // 4 south - // 5 north - - var planes = new Plane[] - { - new Plane( 0,-1, 0,+minY), //bottom - new Plane( 0,+1, 0,-maxY), //up - new Plane(-1, 0, 0,+minX), //west - new Plane(+1, 0, 0,-maxX), //east - new Plane( 0, 0,-1,+minZ), //south - new Plane( 0, 0,+1,-maxZ), //north - }; - - var faceVertexOrders = new int[,] - { - {0,1,2,3}, //bottom - {4,7,6,5}, //top - {3,7,4,0}, //west - {1,5,6,2}, //east - {2,6,7,3}, //south - {0,4,5,1}, //north - }; - - var collisionMesh = new Coct.CollisionMesh - { - Collisions = new List(), - v10 = 0, - v12 = 0, - }; - - for (var side = 0; side < 6; side++) - { - var collision = new Coct.Collision - { - v00 = 0, - Vertex1 = table4Idxes[faceVertexOrders[side, 0]], - Vertex2 = table4Idxes[faceVertexOrders[side, 1]], - Vertex3 = table4Idxes[faceVertexOrders[side, 2]], - Vertex4 = table4Idxes[faceVertexOrders[side, 3]], - Plane = planes[side], - BoundingBox = BoundingBoxInt16.Invalid, - SurfaceFlags = new Coct.SurfaceFlags() { Flags = 0x3F1 }, - }; - coct.Complete(collision); - collisionMesh.Collisions.Add(collision); - } - - coct.Complete(collisionMesh); - - coct.CompleteAndAdd( - new Coct.CollisionMeshGroup - { - Meshes = new List() { collisionMesh } - } - ); - - var buff = new MemoryStream(); - coct.Write(buff); - buff.Position = 0; - File.WriteAllBytes(CoctOut, buff.ToArray()); - - return 0; - } - } - - class ShortVertex3 - { - public short X { get; set; } - public short Y { get; set; } - public short Z { get; set; } - } - - class ShortBBox - { - public ShortVertex3 Min { get; set; } - public ShortVertex3 Max { get; set; } - } - - [HelpOption] - [Command(Description = "map file: replace coct with your coct")] - private class UseThisCoctCommand - { - [Required] - [DirectoryExists] - [Argument(0, Description = "Input map dir")] - public string Input { get; set; } - - [Required] - [DirectoryExists] - [Argument(1, Description = "Output map dir")] - public string Output { get; set; } - - [Required] - [FileExists] - [Argument(2, Description = "COCT file input")] - public string CoctIn { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var coctBin = File.ReadAllBytes(CoctIn); - - foreach (var mapIn in Directory.GetFiles(Input, "*.map")) - { - Console.WriteLine(mapIn); - - var mapOut = Path.Combine(Output, Path.GetFileName(mapIn)); - - var entries = File.OpenRead(mapIn).Using(s => Bar.Read(s)) - .Select( - it => - { - if (it.Type == Bar.EntryType.MapCollision) - { - it.Stream = new MemoryStream(coctBin, false); - } - - return it; - } - ) - .ToArray(); - - File.Create(mapOut).Using(s => Bar.Write(s, entries)); - } - return 0; - } - } - - [HelpOption] - [Command(Description = "coct file: show stats")] - private class ShowStatsCommand - { - private class Report - { - public int NodeCount; - public int LeafCount; - public int TreeDepth; - public int MeshCount; - public int CollisionCount; - public int VertexCount; - } - - [Required] - [FileExists] - [Argument(0, Description = "Input map/coct file (decided by file extension: `.map` or not)")] - public string InputFile { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var isMap = Path.GetExtension(InputFile).ToLowerInvariant() == ".map"; - - if (isMap) - { - foreach (var entry in File.OpenRead(InputFile).Using(Bar.Read) - .Where(entry => false - || entry.Type == Bar.EntryType.MapCollision - || entry.Type == Bar.EntryType.CameraCollision - || entry.Type == Bar.EntryType.LightData - || entry.Type == Bar.EntryType.MapCollision2 - || entry.Type == Bar.EntryType.ModelCollision - ) - ) - { - Console.WriteLine($"# {entry.Name}:{entry.Index} ({entry.Type})"); - PrintSummary(Coct.Read(entry.Stream)); - Console.WriteLine(); - } - } - else - { - PrintSummary(File.OpenRead(InputFile).Using(Coct.Read)); - } - - return 0; - } - - private void PrintSummary(Coct coct) - { - var report = new Report(); - GenerateReport(coct, 1, 0, report); - - Console.WriteLine($"Node count: {report.NodeCount,8:#,##0}"); - Console.WriteLine($"Leaf count: {report.LeafCount,8:#,##0}"); - Console.WriteLine($"Tree depth: {report.TreeDepth,8:#,##0}"); - Console.WriteLine($"Mesh count: {report.MeshCount,8:#,##0}"); - Console.WriteLine($"Coll count: {report.CollisionCount,8:#,##0}"); - Console.WriteLine($"Vert count: {report.VertexCount,8:#,##0}"); - } - - private static void GenerateReport(Coct coct, int depth, int index, Report report) - { - if (index == -1) return; - - report.NodeCount++; - report.TreeDepth = Math.Max(report.TreeDepth, depth); - var meshGroup = coct.CollisionMeshGroupList[index]; - if (meshGroup.Child1 >= 0) - { - var childDepth = depth + 1; - GenerateReport(coct, childDepth, meshGroup.Child1, report); - GenerateReport(coct, childDepth, meshGroup.Child2, report); - GenerateReport(coct, childDepth, meshGroup.Child3, report); - GenerateReport(coct, childDepth, meshGroup.Child4, report); - GenerateReport(coct, childDepth, meshGroup.Child5, report); - GenerateReport(coct, childDepth, meshGroup.Child6, report); - GenerateReport(coct, childDepth, meshGroup.Child7, report); - GenerateReport(coct, childDepth, meshGroup.Child8, report); - } - else - report.LeafCount++; - - foreach (var mesh in meshGroup.Meshes) - { - report.MeshCount++; - foreach (var collision in mesh.Collisions) - { - report.CollisionCount++; - report.VertexCount += 3; - if (collision.Vertex4 >= 0) - report.VertexCount++; - } - } - } - } - - [HelpOption] - [Command(Description = "coct file: dump")] - private class DumpCoctCommand - { - [Required] - [FileExists] - [Argument(0, Description = "COCT file input")] - public string CoctIn { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var coct = File.OpenRead(CoctIn).Using(Coct.Read); - - new DumpCoctUtil(coct, Console.Out); - - return 0; - } - } - } -} +using McMaster.Extensions.CommandLineUtils; +using McMaster.Extensions.CommandLineUtils.Conventions; +using OpenKh.Command.CoctChanger.Utils; +using OpenKh.Common; +using OpenKh.Kh2; +using OpenKh.Kh2.Utils; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net.Http.Headers; +using System.Numerics; +using System.Reflection; +using System.Text; + +namespace OpenKh.Command.CoctChanger +{ + [Command("OpenKh.Command.CoctChanger")] + [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] + [Subcommand(typeof(CreateRoomCoctCommand), typeof(UseThisCoctCommand), typeof(ShowStatsCommand) + , typeof(DumpCoctCommand))] + class Program + { + static int Main(string[] args) + { + try + { + return CommandLineApplication.Execute(args); + } + catch (FileNotFoundException e) + { + Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); + return 1; + } + catch (Exception e) + { + Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); + return 1; + } + } + + protected int OnExecute(CommandLineApplication app) + { + app.ShowHelp(); + return 1; + } + + private static string GetVersion() + => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; + + [HelpOption] + [Command(Description = "coct file: create single closed room")] + private class CreateRoomCoctCommand + { + [Required] + [Argument(0, Description = "Output coct")] + public string CoctOut { get; set; } + + [Option(CommandOptionType.SingleValue, Description = "bbox in model 3D space: minX,Y,Z,maxX,Y,Z (default: ...)", ShortName = "b", LongName = "bbox")] + public string BBox { get; set; } = "-1000,-1000,-1000,1000,1500,1000"; + + protected int OnExecute(CommandLineApplication app) + { + var coct = new Coct(); + + var bbox = BBox.Split(',') + .Select(one => short.Parse(one)) + .ToArray(); + + var invMinX = bbox[0]; + var invMinY = bbox[1]; + var invMinZ = bbox[2]; + var invMaxX = bbox[3]; + var invMaxY = bbox[4]; + var invMaxZ = bbox[5]; + + var minX = -invMinX; + var minY = -invMinY; + var minZ = -invMinZ; + var maxX = -invMaxX; + var maxY = -invMaxY; + var maxZ = -invMaxZ; + + var builder = new Coct.BuildHelper(coct); + + // (forwardVec) + // +Z + // A / +Y (upVec) + // | / + // |/ + // +--> +X (rightVec) + + // 7 == 6 top + // | | top + // 4 == 5 top + // + // 3 == 2 bottom + // | | bottom + // 0 == 1 bottom + + var table4Idxes = new short[] + { + builder.AllocateVertex(minX, minY, minZ, 1), + builder.AllocateVertex(maxX, minY, minZ, 1), + builder.AllocateVertex(maxX, minY, maxZ, 1), + builder.AllocateVertex(minX, minY, maxZ, 1), + builder.AllocateVertex(minX, maxY, minZ, 1), + builder.AllocateVertex(maxX, maxY, minZ, 1), + builder.AllocateVertex(maxX, maxY, maxZ, 1), + builder.AllocateVertex(minX, maxY, maxZ, 1), + }; + + // side: + // 0 bottom + // 1 top + // 2 west + // 3 east + // 4 south + // 5 north + + var planes = new Plane[] + { + new Plane( 0,-1, 0,+minY), //bottom + new Plane( 0,+1, 0,-maxY), //up + new Plane(-1, 0, 0,+minX), //west + new Plane(+1, 0, 0,-maxX), //east + new Plane( 0, 0,-1,+minZ), //south + new Plane( 0, 0,+1,-maxZ), //north + }; + + var faceVertexOrders = new int[,] + { + {0,1,2,3}, //bottom + {4,7,6,5}, //top + {3,7,4,0}, //west + {1,5,6,2}, //east + {2,6,7,3}, //south + {0,4,5,1}, //north + }; + + var collisionMesh = new Coct.CollisionMesh + { + Collisions = new List(), + v10 = 0, + v12 = 0, + }; + + for (var side = 0; side < 6; side++) + { + var collision = new Coct.Collision + { + v00 = 0, + Vertex1 = table4Idxes[faceVertexOrders[side, 0]], + Vertex2 = table4Idxes[faceVertexOrders[side, 1]], + Vertex3 = table4Idxes[faceVertexOrders[side, 2]], + Vertex4 = table4Idxes[faceVertexOrders[side, 3]], + Plane = planes[side], + BoundingBox = BoundingBoxInt16.Invalid, + SurfaceFlags = new Coct.SurfaceFlags() { Flags = 0x3F1 }, + }; + coct.Complete(collision); + collisionMesh.Collisions.Add(collision); + } + + coct.Complete(collisionMesh); + + coct.CompleteAndAdd( + new Coct.CollisionMeshGroup + { + Meshes = new List() { collisionMesh } + } + ); + + var buff = new MemoryStream(); + coct.Write(buff); + buff.Position = 0; + File.WriteAllBytes(CoctOut, buff.ToArray()); + + return 0; + } + } + + class ShortVertex3 + { + public short X { get; set; } + public short Y { get; set; } + public short Z { get; set; } + } + + class ShortBBox + { + public ShortVertex3 Min { get; set; } + public ShortVertex3 Max { get; set; } + } + + [HelpOption] + [Command(Description = "map file: replace coct with your coct")] + private class UseThisCoctCommand + { + [Required] + [DirectoryExists] + [Argument(0, Description = "Input map dir")] + public string Input { get; set; } + + [Required] + [DirectoryExists] + [Argument(1, Description = "Output map dir")] + public string Output { get; set; } + + [Required] + [FileExists] + [Argument(2, Description = "COCT file input")] + public string CoctIn { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var coctBin = File.ReadAllBytes(CoctIn); + + foreach (var mapIn in Directory.GetFiles(Input, "*.map")) + { + Console.WriteLine(mapIn); + + var mapOut = Path.Combine(Output, Path.GetFileName(mapIn)); + + var entries = File.OpenRead(mapIn).Using(s => Bar.Read(s)) + .Select( + it => + { + if (it.Type == Bar.EntryType.MapCollision) + { + it.Stream = new MemoryStream(coctBin, false); + } + + return it; + } + ) + .ToArray(); + + File.Create(mapOut).Using(s => Bar.Write(s, entries)); + } + return 0; + } + } + + [HelpOption] + [Command(Description = "coct file: show stats")] + private class ShowStatsCommand + { + private class Report + { + public int NodeCount; + public int LeafCount; + public int TreeDepth; + public int MeshCount; + public int CollisionCount; + public int VertexCount; + } + + [Required] + [FileExists] + [Argument(0, Description = "Input map/coct file (decided by file extension: `.map` or not)")] + public string InputFile { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var isMap = Path.GetExtension(InputFile).ToLowerInvariant() == ".map"; + + if (isMap) + { + foreach (var entry in File.OpenRead(InputFile).Using(Bar.Read) + .Where(entry => false + || entry.Type == Bar.EntryType.MapCollision + || entry.Type == Bar.EntryType.CameraCollision + || entry.Type == Bar.EntryType.LightData + || entry.Type == Bar.EntryType.MapCollision2 + || entry.Type == Bar.EntryType.ModelCollision + ) + ) + { + Console.WriteLine($"# {entry.Name}:{entry.Index} ({entry.Type})"); + PrintSummary(Coct.Read(entry.Stream)); + Console.WriteLine(); + } + } + else + { + PrintSummary(File.OpenRead(InputFile).Using(Coct.Read)); + } + + return 0; + } + + private void PrintSummary(Coct coct) + { + var report = new Report(); + GenerateReport(coct, 1, 0, report); + + Console.WriteLine($"Node count: {report.NodeCount,8:#,##0}"); + Console.WriteLine($"Leaf count: {report.LeafCount,8:#,##0}"); + Console.WriteLine($"Tree depth: {report.TreeDepth,8:#,##0}"); + Console.WriteLine($"Mesh count: {report.MeshCount,8:#,##0}"); + Console.WriteLine($"Coll count: {report.CollisionCount,8:#,##0}"); + Console.WriteLine($"Vert count: {report.VertexCount,8:#,##0}"); + } + + private static void GenerateReport(Coct coct, int depth, int index, Report report) + { + if (index == -1) + return; + + report.NodeCount++; + report.TreeDepth = Math.Max(report.TreeDepth, depth); + var meshGroup = coct.CollisionMeshGroupList[index]; + if (meshGroup.Child1 >= 0) + { + var childDepth = depth + 1; + GenerateReport(coct, childDepth, meshGroup.Child1, report); + GenerateReport(coct, childDepth, meshGroup.Child2, report); + GenerateReport(coct, childDepth, meshGroup.Child3, report); + GenerateReport(coct, childDepth, meshGroup.Child4, report); + GenerateReport(coct, childDepth, meshGroup.Child5, report); + GenerateReport(coct, childDepth, meshGroup.Child6, report); + GenerateReport(coct, childDepth, meshGroup.Child7, report); + GenerateReport(coct, childDepth, meshGroup.Child8, report); + } + else + report.LeafCount++; + + foreach (var mesh in meshGroup.Meshes) + { + report.MeshCount++; + foreach (var collision in mesh.Collisions) + { + report.CollisionCount++; + report.VertexCount += 3; + if (collision.Vertex4 >= 0) + report.VertexCount++; + } + } + } + } + + [HelpOption] + [Command(Description = "coct file: dump")] + private class DumpCoctCommand + { + [Required] + [FileExists] + [Argument(0, Description = "COCT file input")] + public string CoctIn { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var coct = File.OpenRead(CoctIn).Using(Coct.Read); + + new DumpCoctUtil(coct, Console.Out); + + return 0; + } + } + } +} diff --git a/OpenKh.Command.CoctChanger/Utils/DumpCoctUtil.cs b/OpenKh.Command.CoctChanger/Utils/DumpCoctUtil.cs index fc3723c34..53589cdb5 100644 --- a/OpenKh.Command.CoctChanger/Utils/DumpCoctUtil.cs +++ b/OpenKh.Command.CoctChanger/Utils/DumpCoctUtil.cs @@ -1,90 +1,90 @@ -using OpenKh.Kh2; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Text; - -namespace OpenKh.Command.CoctChanger.Utils -{ - public class DumpCoctUtil - { - private readonly Coct coct; - private readonly TextWriter writer; - - public DumpCoctUtil(Coct coct, TextWriter writer) - { - this.coct = coct; - this.writer = writer; - - if (coct.CollisionMeshGroupList.Any()) - { - DumpEntry1(0, 0); - } - } - - private void DumpEntry1(int index, int indent) - { - if (index == -1) - { - return; - } - - var entry = coct.CollisionMeshGroupList[index]; - writer.WriteLine($"{new string(' ', indent)}{ObjDumpUtil.FormatObj(entry, it => it.BoundingBox)}"); - - foreach (var mesh in entry.Meshes) - { - DumpEntry2(mesh, indent + 1); - } - - DumpEntry1(entry.Child1, indent + 1); - DumpEntry1(entry.Child2, indent + 1); - DumpEntry1(entry.Child3, indent + 1); - DumpEntry1(entry.Child4, indent + 1); - DumpEntry1(entry.Child5, indent + 1); - DumpEntry1(entry.Child6, indent + 1); - DumpEntry1(entry.Child7, indent + 1); - DumpEntry1(entry.Child8, indent + 1); - } - - private void DumpEntry2(Coct.CollisionMesh mesh, int indent) - { - writer.WriteLine($"{new string(' ', indent)}{ObjDumpUtil.FormatObj(mesh, it => it.BoundingBox, it => it.v10, it => it.v12)}"); - - foreach (var face in mesh.Collisions) - { - DumpEntry3(face, indent + 1); - } - } - - private void DumpEntry3(Coct.Collision face, int indent) - { - var dump = ObjDumpUtil.FormatObj(face - , it => it.BoundingBox - , it => it.Plane - , it => it.v00 - ) - .Add( - "SurfaceFlags", - face.SurfaceFlags.Flags.ToString("X8") - ) - .Add( - "Vertices", - string.Join( - ", ", - new int[] { - face.Vertex1, - face.Vertex2, - face.Vertex3, - face.Vertex4, - } - .Where(it => it != -1) - .Select(it => coct.VertexList[it]) - ) - ); - writer.WriteLine($"{new string(' ', indent)}{dump}"); - } - } -} +using OpenKh.Kh2; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Linq.Expressions; +using System.Text; + +namespace OpenKh.Command.CoctChanger.Utils +{ + public class DumpCoctUtil + { + private readonly Coct coct; + private readonly TextWriter writer; + + public DumpCoctUtil(Coct coct, TextWriter writer) + { + this.coct = coct; + this.writer = writer; + + if (coct.CollisionMeshGroupList.Any()) + { + DumpEntry1(0, 0); + } + } + + private void DumpEntry1(int index, int indent) + { + if (index == -1) + { + return; + } + + var entry = coct.CollisionMeshGroupList[index]; + writer.WriteLine($"{new string(' ', indent)}{ObjDumpUtil.FormatObj(entry, it => it.BoundingBox)}"); + + foreach (var mesh in entry.Meshes) + { + DumpEntry2(mesh, indent + 1); + } + + DumpEntry1(entry.Child1, indent + 1); + DumpEntry1(entry.Child2, indent + 1); + DumpEntry1(entry.Child3, indent + 1); + DumpEntry1(entry.Child4, indent + 1); + DumpEntry1(entry.Child5, indent + 1); + DumpEntry1(entry.Child6, indent + 1); + DumpEntry1(entry.Child7, indent + 1); + DumpEntry1(entry.Child8, indent + 1); + } + + private void DumpEntry2(Coct.CollisionMesh mesh, int indent) + { + writer.WriteLine($"{new string(' ', indent)}{ObjDumpUtil.FormatObj(mesh, it => it.BoundingBox, it => it.v10, it => it.v12)}"); + + foreach (var face in mesh.Collisions) + { + DumpEntry3(face, indent + 1); + } + } + + private void DumpEntry3(Coct.Collision face, int indent) + { + var dump = ObjDumpUtil.FormatObj(face + , it => it.BoundingBox + , it => it.Plane + , it => it.v00 + ) + .Add( + "SurfaceFlags", + face.SurfaceFlags.Flags.ToString("X8") + ) + .Add( + "Vertices", + string.Join( + ", ", + new int[] { + face.Vertex1, + face.Vertex2, + face.Vertex3, + face.Vertex4, + } + .Where(it => it != -1) + .Select(it => coct.VertexList[it]) + ) + ); + writer.WriteLine($"{new string(' ', indent)}{dump}"); + } + } +} diff --git a/OpenKh.Command.CoctChanger/Utils/ObjDumpUtil.cs b/OpenKh.Command.CoctChanger/Utils/ObjDumpUtil.cs index 5253a6ef0..5472361a9 100644 --- a/OpenKh.Command.CoctChanger/Utils/ObjDumpUtil.cs +++ b/OpenKh.Command.CoctChanger/Utils/ObjDumpUtil.cs @@ -1,54 +1,54 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Numerics; -using System.Text; - -namespace OpenKh.Command.CoctChanger.Utils -{ - class ObjDumpUtil - { - private Type type; - private List list; - - public override string ToString() => $"[{type.Name}] {string.Join("; ", list)}"; - - public static ObjDumpUtil FormatObj( - T item, - params Expression>[] expressions - ) - { - return new ObjDumpUtil - { - type = typeof(T), - list = expressions - .Select(expression => $"{GetMemberName(expression)}={expression.Compile().Invoke(item)}") - .ToList() - }; - } - - private static string GetMemberName(LambdaExpression expression) - { - if (expression.Body is UnaryExpression unary && unary.NodeType == ExpressionType.Convert) - { - if (unary.Operand is MemberExpression binary) - { - return binary.Member.Name; - } - } - else if (expression.Body is MemberExpression binary) - { - return binary.Member.Name; - } - return "?"; - } - - public ObjDumpUtil Add(string name, object value) - { - list.Add($"{name}={value}"); - return this; - } - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Linq.Expressions; +using System.Numerics; +using System.Text; + +namespace OpenKh.Command.CoctChanger.Utils +{ + class ObjDumpUtil + { + private Type type; + private List list; + + public override string ToString() => $"[{type.Name}] {string.Join("; ", list)}"; + + public static ObjDumpUtil FormatObj( + T item, + params Expression>[] expressions + ) + { + return new ObjDumpUtil + { + type = typeof(T), + list = expressions + .Select(expression => $"{GetMemberName(expression)}={expression.Compile().Invoke(item)}") + .ToList() + }; + } + + private static string GetMemberName(LambdaExpression expression) + { + if (expression.Body is UnaryExpression unary && unary.NodeType == ExpressionType.Convert) + { + if (unary.Operand is MemberExpression binary) + { + return binary.Member.Name; + } + } + else if (expression.Body is MemberExpression binary) + { + return binary.Member.Name; + } + return "?"; + } + + public ObjDumpUtil Add(string name, object value) + { + list.Add($"{name}={value}"); + return this; + } + } +} diff --git a/OpenKh.Command.DoctChanger/Program.cs b/OpenKh.Command.DoctChanger/Program.cs index a95886fa0..84c75d782 100644 --- a/OpenKh.Command.DoctChanger/Program.cs +++ b/OpenKh.Command.DoctChanger/Program.cs @@ -1,335 +1,335 @@ -using McMaster.Extensions.CommandLineUtils; -using OpenKh.Kh2; -using OpenKh.Common; -using System; -using System.ComponentModel.DataAnnotations; -using System.IO; -using System.Reflection; -using System.Linq; -using OpenKh.Kh2.Utils; -using OpenKh.Command.DoctChanger.Utils; - -namespace OpenKh.Command.DoctChanger -{ - [Command("OpenKh.Command.DoctChanger")] - [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] - [Subcommand(typeof(UseThisDoctCommand), typeof(CreateDoctForMapCommand) - , typeof(CreateDummyDoctCommand) - , typeof(ReadDoctCommand), typeof(ReadMapDoctCommand) - , typeof(ShowStatsCommand) - , typeof(DumpDoctCommand))] - class Program - { - static int Main(string[] args) - { - try - { - return CommandLineApplication.Execute(args); - } - catch (FileNotFoundException e) - { - Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); - return 1; - } - catch (Exception e) - { - Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); - return 1; - } - } - - protected int OnExecute(CommandLineApplication app) - { - app.ShowHelp(); - return 1; - } - - - private static string GetVersion() - => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; - - - [HelpOption] - [Command(Description = "map file: replace doct with your doct")] - private class UseThisDoctCommand - { - [Required] - [DirectoryExists] - [Argument(0, Description = "Input map dir")] - public string Input { get; set; } - - [Required] - [DirectoryExists] - [Argument(1, Description = "Output map dir")] - public string Output { get; set; } - - [Required] - [FileExists] - [Argument(2, Description = "DOCT file input")] - public string DoctIn { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var doctBin = File.ReadAllBytes(DoctIn); - - foreach (var mapIn in Directory.GetFiles(Input, "*.map")) - { - Console.WriteLine(mapIn); - - var mapOut = Path.Combine(Output, Path.GetFileName(mapIn)); - - var entries = File.OpenRead(mapIn).Using(s => Bar.Read(s)) - .Select( - it => - { - if (it.Type == Bar.EntryType.MeshOcclusion) - { - it.Stream = new MemoryStream(doctBin, false); - } - - return it; - } - ) - .ToArray(); - - File.Create(mapOut).Using(s => Bar.Write(s, entries)); - } - return 0; - } - } - - private static void SummaryDoct(Doct doct, string file, TextWriter writer) - { - writer.WriteLine($"# DOCT ({Path.GetFileName(file)})"); - writer.WriteLine(); - writer.WriteLine($"- Version: {doct.Header.Version}"); - writer.WriteLine($"- Unk2: {doct.Header.Unk2}"); - writer.WriteLine(); - - writer.WriteLine("## Entry1"); - writer.WriteLine(); - writer.WriteLine("```"); - - foreach (var pair in doct.Entry1List.Select((it, index) => (it, index))) - { - writer.WriteLine($"{pair.index,4}:{pair.it}"); - } - writer.WriteLine("```"); - - writer.WriteLine(); - - writer.WriteLine("## Entry2"); - writer.WriteLine(); - writer.WriteLine("```"); - - foreach (var pair in doct.Entry2List.Select((it, index) => (it, index))) - { - writer.WriteLine($"{pair.index,4}:{pair.it}"); - } - - writer.WriteLine("```"); - } - - [HelpOption] - [Command(Description = "doct file: read")] - private class ReadDoctCommand - { - [Required] - [FileExists] - [Argument(0, Description = "DOCT file input")] - public string DoctIn { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var doct = File.OpenRead(DoctIn).Using(s => Doct.Read(s)); - - SummaryDoct(doct, DoctIn, Console.Out); - - return 0; - } - } - - [HelpOption] - [Command(Description = "doct file: dump")] - private class DumpDoctCommand - { - [Required] - [FileExists] - [Argument(0, Description = "DOCT file input")] - public string DoctIn { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var doct = File.OpenRead(DoctIn).Using(s => Doct.Read(s)); - - new DumpDoctUtil(doct, Console.Out); - - return 0; - } - } - - [HelpOption] - [Command(Description = "map file: read doct")] - private class ReadMapDoctCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Map file input")] - public string MapIn { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var doctBin = File.ReadAllBytes(MapIn); - - var entries = File.OpenRead(MapIn).Using(s => Bar.Read(s)); - - var doctEntry = entries.Single(it => it.Type == Bar.EntryType.MeshOcclusion); - - var doct = Doct.Read(doctEntry.Stream); - - SummaryDoct(doct, MapIn, Console.Out); - - return 0; - } - } - - [HelpOption] - [Command(Description = "doct file: create dummy")] - private class CreateDummyDoctCommand - { - [Required] - [Argument(0, Description = "DOCT file output")] - public string DoctOut { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var doct = new Doct(); - - doct.Entry1List.Add(new Doct.Entry1 { }); - doct.Entry2List.Add(new Doct.Entry2 { }); - - File.Create(DoctOut).Using(s => Doct.Write(s, doct)); - - return 0; - } - } - - [HelpOption] - [Command(Description = "map file: create and set unoptimized doct for rendering entire map")] - private class CreateDoctForMapCommand - { - [Required] - [Argument(0, Description = "Map file input")] - public string MapIn { get; set; } - - [Argument(1, Description = "Map file output. Default output is same file name at current folder")] - public string MapOut { get; set; } - - private static bool IsMapModel(Bar.Entry entry) => entry.Type == Bar.EntryType.Model && entry.Name == "MAP"; - private static bool IsDoct(Bar.Entry entry) => entry.Type == Bar.EntryType.MeshOcclusion; - - protected int OnExecute(CommandLineApplication app) - { - MapOut = Path.GetFullPath(MapOut ?? Path.GetFileName(MapIn)); - - Console.WriteLine($"Output map file: {MapOut}"); - - var entries = File.OpenRead(MapIn).Using(s => Bar.Read(s).ToArray()); - - var mapModel = Mdlx.Read(entries.Single(IsMapModel).Stream); - - var numVifPackets = mapModel.MapModel.VifPackets.Count; - var numAlb2Groups = mapModel.MapModel.vifPacketRenderingGroup.Count; - - Console.WriteLine($"numVifPackets: {numVifPackets:#,##0}"); - Console.WriteLine($"numAlb2Groups: {numAlb2Groups:#,##0}"); - - Console.WriteLine($"Note: this tool will build a unoptimized doct that renders all ALB2 {numAlb2Groups:#,##0} groups."); - - var doctStream = new MemoryStream(); - { - var doct = new Doct(); - - doct.Entry1List.Add( - new Doct.Entry1 - { - Entry2Index = 0, - Entry2LastIndex = Convert.ToUInt16(numAlb2Groups), // max 65535 - } - ); - - const float WorldBounds = 18000; - - doct.Entry2List.AddRange( - Enumerable.Range(0, numAlb2Groups) - .Select( - index => new Doct.Entry2 - { - BoundingBox = new BoundingBox( - new System.Numerics.Vector3(-WorldBounds), - new System.Numerics.Vector3(WorldBounds) - ) - } - ) - ); - - Doct.Write(doctStream, doct); - - doctStream.Position = 0; - } - - foreach (var entry in entries.Where(IsDoct)) - { - Console.WriteLine("DOCT entry replaced."); - entry.Stream = doctStream; - } - - File.Create(MapOut).Using(s => Bar.Write(s, entries)); - - Console.WriteLine("Output map file is written successfully."); - return 0; - } - } - - [HelpOption] - [Command(Description = "doct file: show stats")] - private class ShowStatsCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Input map/doct file (decided by file extension: `.map` or not)")] - public string InputFile { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var isMap = Path.GetExtension(InputFile).ToLowerInvariant() == ".map"; - - if (isMap) - { - foreach (var entry in File.OpenRead(InputFile).Using(Bar.Read) - .Where(entry => false - || entry.Type == Bar.EntryType.MeshOcclusion - ) - ) - { - Console.WriteLine($"# {entry.Name}:{entry.Index} ({entry.Type})"); - PrintSummary(Doct.Read(entry.Stream)); - Console.WriteLine(); - } - } - else - { - PrintSummary(File.OpenRead(InputFile).Using(Doct.Read)); - } - - return 0; - } - - private void PrintSummary(Doct coct) - { - Console.WriteLine($"{coct.Entry1List.Count,8:#,##0} drawing mesh groups."); - Console.WriteLine($"{coct.Entry2List.Count,8:#,##0} drawing meshes."); - } - } - } -} +using McMaster.Extensions.CommandLineUtils; +using OpenKh.Kh2; +using OpenKh.Common; +using System; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Reflection; +using System.Linq; +using OpenKh.Kh2.Utils; +using OpenKh.Command.DoctChanger.Utils; + +namespace OpenKh.Command.DoctChanger +{ + [Command("OpenKh.Command.DoctChanger")] + [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] + [Subcommand(typeof(UseThisDoctCommand), typeof(CreateDoctForMapCommand) + , typeof(CreateDummyDoctCommand) + , typeof(ReadDoctCommand), typeof(ReadMapDoctCommand) + , typeof(ShowStatsCommand) + , typeof(DumpDoctCommand))] + class Program + { + static int Main(string[] args) + { + try + { + return CommandLineApplication.Execute(args); + } + catch (FileNotFoundException e) + { + Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); + return 1; + } + catch (Exception e) + { + Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); + return 1; + } + } + + protected int OnExecute(CommandLineApplication app) + { + app.ShowHelp(); + return 1; + } + + + private static string GetVersion() + => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; + + + [HelpOption] + [Command(Description = "map file: replace doct with your doct")] + private class UseThisDoctCommand + { + [Required] + [DirectoryExists] + [Argument(0, Description = "Input map dir")] + public string Input { get; set; } + + [Required] + [DirectoryExists] + [Argument(1, Description = "Output map dir")] + public string Output { get; set; } + + [Required] + [FileExists] + [Argument(2, Description = "DOCT file input")] + public string DoctIn { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var doctBin = File.ReadAllBytes(DoctIn); + + foreach (var mapIn in Directory.GetFiles(Input, "*.map")) + { + Console.WriteLine(mapIn); + + var mapOut = Path.Combine(Output, Path.GetFileName(mapIn)); + + var entries = File.OpenRead(mapIn).Using(s => Bar.Read(s)) + .Select( + it => + { + if (it.Type == Bar.EntryType.MeshOcclusion) + { + it.Stream = new MemoryStream(doctBin, false); + } + + return it; + } + ) + .ToArray(); + + File.Create(mapOut).Using(s => Bar.Write(s, entries)); + } + return 0; + } + } + + private static void SummaryDoct(Doct doct, string file, TextWriter writer) + { + writer.WriteLine($"# DOCT ({Path.GetFileName(file)})"); + writer.WriteLine(); + writer.WriteLine($"- Version: {doct.Header.Version}"); + writer.WriteLine($"- Unk2: {doct.Header.Unk2}"); + writer.WriteLine(); + + writer.WriteLine("## Entry1"); + writer.WriteLine(); + writer.WriteLine("```"); + + foreach (var pair in doct.Entry1List.Select((it, index) => (it, index))) + { + writer.WriteLine($"{pair.index,4}:{pair.it}"); + } + writer.WriteLine("```"); + + writer.WriteLine(); + + writer.WriteLine("## Entry2"); + writer.WriteLine(); + writer.WriteLine("```"); + + foreach (var pair in doct.Entry2List.Select((it, index) => (it, index))) + { + writer.WriteLine($"{pair.index,4}:{pair.it}"); + } + + writer.WriteLine("```"); + } + + [HelpOption] + [Command(Description = "doct file: read")] + private class ReadDoctCommand + { + [Required] + [FileExists] + [Argument(0, Description = "DOCT file input")] + public string DoctIn { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var doct = File.OpenRead(DoctIn).Using(s => Doct.Read(s)); + + SummaryDoct(doct, DoctIn, Console.Out); + + return 0; + } + } + + [HelpOption] + [Command(Description = "doct file: dump")] + private class DumpDoctCommand + { + [Required] + [FileExists] + [Argument(0, Description = "DOCT file input")] + public string DoctIn { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var doct = File.OpenRead(DoctIn).Using(s => Doct.Read(s)); + + new DumpDoctUtil(doct, Console.Out); + + return 0; + } + } + + [HelpOption] + [Command(Description = "map file: read doct")] + private class ReadMapDoctCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Map file input")] + public string MapIn { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var doctBin = File.ReadAllBytes(MapIn); + + var entries = File.OpenRead(MapIn).Using(s => Bar.Read(s)); + + var doctEntry = entries.Single(it => it.Type == Bar.EntryType.MeshOcclusion); + + var doct = Doct.Read(doctEntry.Stream); + + SummaryDoct(doct, MapIn, Console.Out); + + return 0; + } + } + + [HelpOption] + [Command(Description = "doct file: create dummy")] + private class CreateDummyDoctCommand + { + [Required] + [Argument(0, Description = "DOCT file output")] + public string DoctOut { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var doct = new Doct(); + + doct.Entry1List.Add(new Doct.Entry1 { }); + doct.Entry2List.Add(new Doct.Entry2 { }); + + File.Create(DoctOut).Using(s => Doct.Write(s, doct)); + + return 0; + } + } + + [HelpOption] + [Command(Description = "map file: create and set unoptimized doct for rendering entire map")] + private class CreateDoctForMapCommand + { + [Required] + [Argument(0, Description = "Map file input")] + public string MapIn { get; set; } + + [Argument(1, Description = "Map file output. Default output is same file name at current folder")] + public string MapOut { get; set; } + + private static bool IsMapModel(Bar.Entry entry) => entry.Type == Bar.EntryType.Model && entry.Name == "MAP"; + private static bool IsDoct(Bar.Entry entry) => entry.Type == Bar.EntryType.MeshOcclusion; + + protected int OnExecute(CommandLineApplication app) + { + MapOut = Path.GetFullPath(MapOut ?? Path.GetFileName(MapIn)); + + Console.WriteLine($"Output map file: {MapOut}"); + + var entries = File.OpenRead(MapIn).Using(s => Bar.Read(s).ToArray()); + + var mapModel = Mdlx.Read(entries.Single(IsMapModel).Stream); + + var numVifPackets = mapModel.MapModel.VifPackets.Count; + var numAlb2Groups = mapModel.MapModel.vifPacketRenderingGroup.Count; + + Console.WriteLine($"numVifPackets: {numVifPackets:#,##0}"); + Console.WriteLine($"numAlb2Groups: {numAlb2Groups:#,##0}"); + + Console.WriteLine($"Note: this tool will build a unoptimized doct that renders all ALB2 {numAlb2Groups:#,##0} groups."); + + var doctStream = new MemoryStream(); + { + var doct = new Doct(); + + doct.Entry1List.Add( + new Doct.Entry1 + { + Entry2Index = 0, + Entry2LastIndex = Convert.ToUInt16(numAlb2Groups), // max 65535 + } + ); + + const float WorldBounds = 18000; + + doct.Entry2List.AddRange( + Enumerable.Range(0, numAlb2Groups) + .Select( + index => new Doct.Entry2 + { + BoundingBox = new BoundingBox( + new System.Numerics.Vector3(-WorldBounds), + new System.Numerics.Vector3(WorldBounds) + ) + } + ) + ); + + Doct.Write(doctStream, doct); + + doctStream.Position = 0; + } + + foreach (var entry in entries.Where(IsDoct)) + { + Console.WriteLine("DOCT entry replaced."); + entry.Stream = doctStream; + } + + File.Create(MapOut).Using(s => Bar.Write(s, entries)); + + Console.WriteLine("Output map file is written successfully."); + return 0; + } + } + + [HelpOption] + [Command(Description = "doct file: show stats")] + private class ShowStatsCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Input map/doct file (decided by file extension: `.map` or not)")] + public string InputFile { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var isMap = Path.GetExtension(InputFile).ToLowerInvariant() == ".map"; + + if (isMap) + { + foreach (var entry in File.OpenRead(InputFile).Using(Bar.Read) + .Where(entry => false + || entry.Type == Bar.EntryType.MeshOcclusion + ) + ) + { + Console.WriteLine($"# {entry.Name}:{entry.Index} ({entry.Type})"); + PrintSummary(Doct.Read(entry.Stream)); + Console.WriteLine(); + } + } + else + { + PrintSummary(File.OpenRead(InputFile).Using(Doct.Read)); + } + + return 0; + } + + private void PrintSummary(Doct coct) + { + Console.WriteLine($"{coct.Entry1List.Count,8:#,##0} drawing mesh groups."); + Console.WriteLine($"{coct.Entry2List.Count,8:#,##0} drawing meshes."); + } + } + } +} diff --git a/OpenKh.Command.DoctChanger/Utils/DumpDoctUtil.cs b/OpenKh.Command.DoctChanger/Utils/DumpDoctUtil.cs index 2ae76bb38..7ce6b167c 100644 --- a/OpenKh.Command.DoctChanger/Utils/DumpDoctUtil.cs +++ b/OpenKh.Command.DoctChanger/Utils/DumpDoctUtil.cs @@ -1,57 +1,57 @@ -using System; -using System.Collections.Generic; -using System.Text; -using OpenKh.Kh2; -using System.IO; -using System.Linq; - -namespace OpenKh.Command.DoctChanger.Utils -{ - public class DumpDoctUtil - { - private readonly Doct doct; - private readonly TextWriter writer; - - public DumpDoctUtil(Doct doct, TextWriter writer) - { - this.doct = doct; - this.writer = writer; - - if (doct.Entry1List.Any()) - { - DumpEntry1(0, 0); - } - } - - private void DumpEntry1(int index, int indent) - { - if (index == -1) - { - return; - } - - var entry = doct.Entry1List[index]; - writer.WriteLine($"{new string(' ', indent)}[Entry1] {nameof(entry.Unk)}={entry.Unk}; {nameof(entry.BoundingBox)}={entry.BoundingBox}"); - - for (var idx = entry.Entry2Index; idx < entry.Entry2LastIndex; idx++) - { - DumpEntry2(idx, indent + 1); - } - - DumpEntry1(entry.Child1, indent + 1); - DumpEntry1(entry.Child2, indent + 1); - DumpEntry1(entry.Child3, indent + 1); - DumpEntry1(entry.Child4, indent + 1); - DumpEntry1(entry.Child5, indent + 1); - DumpEntry1(entry.Child6, indent + 1); - DumpEntry1(entry.Child7, indent + 1); - DumpEntry1(entry.Child8, indent + 1); - } - - private void DumpEntry2(int index, int indent) - { - var entry = doct.Entry2List[index]; - writer.WriteLine($"{new string(' ', indent)}[Entry2] {nameof(entry.Flags)}={entry.Flags}; {nameof(entry.BoundingBox)}={entry.BoundingBox}"); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; +using OpenKh.Kh2; +using System.IO; +using System.Linq; + +namespace OpenKh.Command.DoctChanger.Utils +{ + public class DumpDoctUtil + { + private readonly Doct doct; + private readonly TextWriter writer; + + public DumpDoctUtil(Doct doct, TextWriter writer) + { + this.doct = doct; + this.writer = writer; + + if (doct.Entry1List.Any()) + { + DumpEntry1(0, 0); + } + } + + private void DumpEntry1(int index, int indent) + { + if (index == -1) + { + return; + } + + var entry = doct.Entry1List[index]; + writer.WriteLine($"{new string(' ', indent)}[Entry1] {nameof(entry.Unk)}={entry.Unk}; {nameof(entry.BoundingBox)}={entry.BoundingBox}"); + + for (var idx = entry.Entry2Index; idx < entry.Entry2LastIndex; idx++) + { + DumpEntry2(idx, indent + 1); + } + + DumpEntry1(entry.Child1, indent + 1); + DumpEntry1(entry.Child2, indent + 1); + DumpEntry1(entry.Child3, indent + 1); + DumpEntry1(entry.Child4, indent + 1); + DumpEntry1(entry.Child5, indent + 1); + DumpEntry1(entry.Child6, indent + 1); + DumpEntry1(entry.Child7, indent + 1); + DumpEntry1(entry.Child8, indent + 1); + } + + private void DumpEntry2(int index, int indent) + { + var entry = doct.Entry2List[index]; + writer.WriteLine($"{new string(' ', indent)}[Entry2] {nameof(entry.Flags)}={entry.Flags}; {nameof(entry.BoundingBox)}={entry.BoundingBox}"); + } + } +} diff --git a/OpenKh.Command.HdAssets/Program.cs b/OpenKh.Command.HdAssets/Program.cs index 0c23b74bc..bf6f4dd80 100644 --- a/OpenKh.Command.HdAssets/Program.cs +++ b/OpenKh.Command.HdAssets/Program.cs @@ -1,4 +1,4 @@ -using McMaster.Extensions.CommandLineUtils; +using McMaster.Extensions.CommandLineUtils; using OpenKh.Common.Archives; using System; using System.Collections.Generic; diff --git a/OpenKh.Command.ImgTool/Interfaces/ICommonQuantizerParam.cs b/OpenKh.Command.ImgTool/Interfaces/ICommonQuantizerParam.cs index 1481f0266..a46f3cebf 100644 --- a/OpenKh.Command.ImgTool/Interfaces/ICommonQuantizerParam.cs +++ b/OpenKh.Command.ImgTool/Interfaces/ICommonQuantizerParam.cs @@ -1,19 +1,19 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Command.ImgTool.Interfaces -{ - public interface ICommonQuantizerParam - { - /// - /// 4 or 8 - /// - public int BitsPerPixel { get; } - - /// - /// Invoke pngquant.exe, if true - /// - public bool PngQuant { get; } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Command.ImgTool.Interfaces +{ + public interface ICommonQuantizerParam + { + /// + /// 4 or 8 + /// + public int BitsPerPixel { get; } + + /// + /// Invoke pngquant.exe, if true + /// + public bool PngQuant { get; } + } +} diff --git a/OpenKh.Command.ImgTool/Program.cs b/OpenKh.Command.ImgTool/Program.cs index ec4666b5a..add2ece70 100644 --- a/OpenKh.Command.ImgTool/Program.cs +++ b/OpenKh.Command.ImgTool/Program.cs @@ -1,486 +1,486 @@ -using McMaster.Extensions.CommandLineUtils; -using OpenKh.Command.ImgTool.Interfaces; -using OpenKh.Command.ImgTool.Utils; -using OpenKh.Common; -using OpenKh.Kh2; -using OpenKh.Kh2.Utils; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Net.Http.Headers; -using System.Reflection; -using System.Text; -using System.Text.Json; -using System.Text.Json.Serialization; -using System.Threading.Tasks.Dataflow; - -namespace OpenKh.Command.ImgTool -{ - [Command("OpenKh.Command.ImgTool")] - [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] - [Subcommand(typeof(UnimdCommand), typeof(UnimzCommand), typeof(ImdCommand), typeof(ImzCommand) - , typeof(ScanImdCommand), typeof(ScanImzCommand) - , typeof(FixImzCommand), typeof(SwapImzPixelCommand))] - class Program - { - static int Main(string[] args) - { - try - { - return CommandLineApplication.Execute(args); - } - catch (FileNotFoundException e) - { - Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); - return 1; - } - catch (Exception e) - { - Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); - return 1; - } - } - - protected int OnExecute(CommandLineApplication app) - { - app.ShowHelp(); - return 1; - } - - - private static string GetVersion() - => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; - - [HelpOption] - [Command(Description = "imd file -> png file")] - private class UnimdCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Input imd")] - public string ImdFile { get; set; } - - [Option(CommandOptionType.SingleValue, Description = "Output png. Default is current dir, and file extension to png.", ShortName = "o", LongName = "output")] - public string OutputPng { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var inputFile = ImdFile; - var outputFile = OutputPng ?? Path.GetFullPath(Path.GetFileName(Path.ChangeExtension(inputFile, ".png"))); - - Directory.CreateDirectory(Path.GetDirectoryName(outputFile)); - - using (var stream = File.OpenRead(inputFile)) - { - var imgd = Imgd.Read(stream); - var bitmap = ImgdBitmapUtil.ToBitmap(imgd); - bitmap.Save(outputFile); - } - return 0; - } - } - - [HelpOption] - [Command(Description = "imz file -> png or imd files")] - private class UnimzCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Input imz")] - public string ImzFile { get; set; } - - [Option(CommandOptionType.SingleValue, Description = "Output dir. Default is current dir.", ShortName = "o", LongName = "output")] - public string OutputDir { get; set; } - - [Option(CommandOptionType.NoValue, Description = "Export as imd instead of png", ShortName = "m", LongName = "imd")] - public bool ExportImd { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var inputFile = ImzFile; - var outputDir = OutputDir ?? Environment.CurrentDirectory; - - using (var stream = File.OpenRead(inputFile)) - { - var pairs = Imgz.Read(stream).Select((imgd, index) => (imgd, index)); - - Directory.CreateDirectory(outputDir); - - foreach (var (imgd, index) in pairs) - { - if (ExportImd) - { - var outputFile = Path.Combine(outputDir, $"{Path.GetFileNameWithoutExtension(inputFile)}-{1 + index}.imd"); - - var buffer = new MemoryStream(); - imgd.Write(buffer); - File.WriteAllBytes(outputFile, buffer.ToArray()); - } - else - { - var outputFile = Path.Combine(outputDir, $"{Path.GetFileNameWithoutExtension(inputFile)}-{1 + index}.png"); - - var bitmap = ImgdBitmapUtil.ToBitmap(imgd); - bitmap.Save(outputFile); - } - } - } - return 0; - } - } - - [HelpOption] - [Command(Description = "png file -> imd file")] - private class ImdCommand : ICommonQuantizerParam - { - [Required] - [FileExists] - [Argument(0, Description = "Input png")] - public string PngFile { get; set; } - - [Option(CommandOptionType.SingleValue, Description = "Output imd. Default is current dir, and file extension to imd.", ShortName = "o", LongName = "output")] - public string OutputImd { get; set; } - - [Option(CommandOptionType.SingleValue, Description = "Set bits per pixel: 4, 8, or 32", ShortName = "b", LongName = "bpp")] - public int BitsPerPixel { get; set; } = 8; - - [Option(CommandOptionType.NoValue, Description = "Use `pngquant.exe` -- lossy PNG compressor. Download `pngquant.exe` and place it beside this program, current directory, or PATH.", ShortName = "p", LongName = "pngquant")] - public bool PngQuant { get; set; } - - [Option(CommandOptionType.NoValue, Description = "Use embedded nQuant.Core color quantizer. This is default selection.", ShortName = "n", LongName = "nquant")] - public bool nQuant { get; set; } - - [Option(CommandOptionType.NoValue, Description = "Enable swizzle.", ShortName = "s", LongName = "swizzle")] - public bool Swizzle { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var inputFile = PngFile; - var outputFile = OutputImd ?? Path.GetFullPath(Path.GetFileName(Path.ChangeExtension(inputFile, ".imd"))); - - Directory.CreateDirectory(Path.GetDirectoryName(outputFile)); - - // Alpha enabled png → always 32 bpp - using (var bitmap = new Bitmap(inputFile)) - { - var imgd = ImgdBitmapUtil.ToImgd(bitmap, BitsPerPixel, QuantizerFactory.MakeFrom(this), Swizzle); - - var buffer = new MemoryStream(); - imgd.Write(buffer); - File.WriteAllBytes(outputFile, buffer.ToArray()); - } - return 0; - } - } - - [HelpOption] - [Command(Description = "png, imd or imz files -> imz file")] - private class ImzCommand : ICommonQuantizerParam - { - [Required] - [Option(CommandOptionType.MultipleValue, Description = "Input png/imd/imz file", ShortName = "i", LongName = "input")] - public string[] InputFile { get; set; } - - [Option(CommandOptionType.SingleValue, Description = "Output imz file. Default is current dir, and first file extension to imz.", ShortName = "o", LongName = "output")] - public string OutputImz { get; set; } - - [Option(CommandOptionType.SingleValue, Description = "Set bits per pixel for every png: 4, 8, or 32", ShortName = "b", LongName = "bpp")] - public int BitsPerPixel { get; set; } = 8; - - [Option(CommandOptionType.NoValue, Description = "Use `pngquant.exe` -- lossy PNG compressor. Download `pngquant.exe` and deploy it beside this program, current directory, or PATH.", ShortName = "p", LongName = "pngquant")] - public bool PngQuant { get; set; } - - [Option(CommandOptionType.NoValue, Description = "Use embedded nQuant.Core color quantizer. This is default selection.", ShortName = "n", LongName = "nquant")] - public bool nQuant { get; set; } - - [Option(CommandOptionType.NoValue, Description = "Try to append to imz", ShortName = "a", LongName = "append")] - public bool Append { get; set; } - - [Option(CommandOptionType.NoValue, Description = "Enable swizzle for png input.", ShortName = "s", LongName = "swizzle")] - public bool Swizzle { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - OutputImz = OutputImz ?? Path.GetFullPath(Path.GetFileName(Path.ChangeExtension(InputFile.First(), ".imz"))); - - Directory.CreateDirectory(Path.GetDirectoryName(OutputImz)); - - var prependImgdList = (Append && File.Exists(OutputImz)) - ? File.OpenRead(OutputImz).Using(stream => Imgz.Read(stream).ToArray()) - : new Imgd[0]; - - var buffer = new MemoryStream(); - Imgz.Write( - buffer, - prependImgdList - .Concat( - InputFile - .SelectMany(imdFile => ImgdBitmapUtil.FromFileToImgdList(imdFile, BitsPerPixel, QuantizerFactory.MakeFrom(this), Swizzle)) - ) - .ToArray() - ); - File.WriteAllBytes(OutputImz, buffer.ToArray()); - - return 0; - } - } - - [HelpOption] - [Command(Description = "imd file -> display summary")] - private class ScanImdCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Input imd file")] - public string InputFile { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var target = File.OpenRead(InputFile).Using(stream => Imgd.Read(stream)); - - Console.WriteLine( - FormatterFactory.GetFormatterPairs() - .First() - .FormatToString(ImgdSummary.From(target)) - ); - - return 0; - } - } - - [HelpOption] - [Command(Description = "imz file -> display summary")] - private class ScanImzCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Input imz file")] - public string InputFile { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - var targets = File.OpenRead(InputFile).Using(stream => Imgz.Read(stream).ToArray()); - - Console.WriteLine( - FormatterFactory.GetFormatterPairs() - .First() - .FormatToString( - targets - .Select(one => ImgdSummary.From(one)) - .Select((one, index) => (one, index)) - .ToDictionary( - pair => pair.index.ToString(), - pair => pair.one - ) - ) - ); - - return 0; - } - } - - class FormatterPair - { - internal string Type; - internal Func FormatToString; - } - - class FormatterFactory - { - internal static IEnumerable GetFormatterPairs() => new FormatterPair[] - { - new FormatterPair - { - Type = "yaml", - FormatToString = - (obj) => new YamlDotNet.Serialization.SerializerBuilder() - .Build() - .Serialize(obj), - }, - new FormatterPair - { - Type = "json", - FormatToString = - (obj) => JsonSerializer.Serialize( - obj, - new JsonSerializerOptions - { - WriteIndented = true - } - ), - }, - }; - } - - class ImgdSanityChecking - { - internal static int? GetExpectedDataLen(Imgd it) - { - switch (it.PixelFormat) - { - case Imaging.PixelFormat.Indexed4: - return (it.Size.Width * it.Size.Height + 1) / 2; - case Imaging.PixelFormat.Indexed8: - return (it.Size.Width * it.Size.Height); - case Imaging.PixelFormat.Rgb888: - return (3 * it.Size.Width * it.Size.Height); - case Imaging.PixelFormat.Rgba8888: - case Imaging.PixelFormat.Rgbx8888: - return (4 * it.Size.Width * it.Size.Height); - } - return null; - } - } - - class ImgdSummary - { - public string PixelFormat { get; private set; } - public int Width { get; private set; } - public int Height { get; private set; } - public bool IsSwizzled { get; private set; } - public int? ExpectedDataLen { get; private set; } - public int ActualDataLen { get; private set; } - public int? ActualClutLen { get; private set; } - - internal static ImgdSummary From(Imgd it) - { - return new ImgdSummary - { - PixelFormat = it.PixelFormat.ToString(), - Width = it.Size.Width, - Height = it.Size.Height, - IsSwizzled = it.IsSwizzled, - ExpectedDataLen = ImgdSanityChecking.GetExpectedDataLen(it), - ActualDataLen = it.Data.Length, - ActualClutLen = it.Clut?.Length, - }; - } - } - - [HelpOption] - [Command(Description = "imz file -> imz file (fix 4-bpp doubled bitmap size)")] - private class FixImzCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Input (and output) imz file")] - public string InputFile { get; set; } - - [Option(CommandOptionType.SingleOrNoValue, Description = "Output imz file. Default is input imz.", ShortName = "o", LongName = "output")] - public string OutputImz { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - OutputImz = OutputImz ?? InputFile; - - Directory.CreateDirectory(Path.GetDirectoryName(OutputImz)); - - var images = File.OpenRead(OutputImz).Using(stream => Imgz.Read(stream).ToArray()); - - var fixedCount = 0; - - var fixedImages = images - .Select( - image => - { - var expetectedLen = ImgdSanityChecking.GetExpectedDataLen(image); - if (true - && expetectedLen != null - && expetectedLen < image.Data.Length - && Imaging.PixelFormat.Indexed4 == image.PixelFormat - ) - { - var fixedData = new byte[expetectedLen.Value]; - - Buffer.BlockCopy(image.Data, 0, fixedData, 0, expetectedLen.Value); - - fixedCount++; - - return new Imgd( - image.Size, - image.PixelFormat, - fixedData, - image.Clut, - isSwizzled: false - ); - } - else - { - return image; - } - } - ) - .ToArray(); - - var buffer = new MemoryStream(); - - Imgz.Write(buffer, fixedImages); - - File.WriteAllBytes(OutputImz, buffer.ToArray()); - - Console.WriteLine($"Fixed {fixedCount} images."); - - return 0; - } - } - - [HelpOption] - [Command(Description = "imz file -> imz file (swap 4-bpp hi/lo pixel)")] - private class SwapImzPixelCommand - { - [Required] - [FileExists] - [Argument(0, Description = "Input (and output) imz file")] - public string InputFile { get; set; } - - [Option(CommandOptionType.SingleOrNoValue, Description = "Output imz file. Default is input imz.", ShortName = "o", LongName = "output")] - public string OutputImz { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - OutputImz = OutputImz ?? InputFile; - - Directory.CreateDirectory(Path.GetDirectoryName(OutputImz)); - - var images = File.OpenRead(OutputImz).Using(stream => Imgz.Read(stream).ToArray()); - - var fixedCount = 0; - - var fixedImages = images - .Select( - image => - { - if (Imaging.PixelFormat.Indexed4 == image.PixelFormat) - { - var data = image.Data; - - for (var x = 0; x < data.Length; x++) - { - var swap = data[x]; - data[x] = (byte)((swap << 4) | (swap >> 4)); - } - - fixedCount++; - } - return image; - } - ) - .ToArray(); - - var buffer = new MemoryStream(); - - Imgz.Write(buffer, fixedImages); - - File.WriteAllBytes(OutputImz, buffer.ToArray()); - - Console.WriteLine($"Applied to {fixedCount} images."); - - return 0; - } - } - - } -} +using McMaster.Extensions.CommandLineUtils; +using OpenKh.Command.ImgTool.Interfaces; +using OpenKh.Command.ImgTool.Utils; +using OpenKh.Common; +using OpenKh.Kh2; +using OpenKh.Kh2.Utils; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net.Http.Headers; +using System.Reflection; +using System.Text; +using System.Text.Json; +using System.Text.Json.Serialization; +using System.Threading.Tasks.Dataflow; + +namespace OpenKh.Command.ImgTool +{ + [Command("OpenKh.Command.ImgTool")] + [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] + [Subcommand(typeof(UnimdCommand), typeof(UnimzCommand), typeof(ImdCommand), typeof(ImzCommand) + , typeof(ScanImdCommand), typeof(ScanImzCommand) + , typeof(FixImzCommand), typeof(SwapImzPixelCommand))] + class Program + { + static int Main(string[] args) + { + try + { + return CommandLineApplication.Execute(args); + } + catch (FileNotFoundException e) + { + Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); + return 1; + } + catch (Exception e) + { + Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); + return 1; + } + } + + protected int OnExecute(CommandLineApplication app) + { + app.ShowHelp(); + return 1; + } + + + private static string GetVersion() + => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; + + [HelpOption] + [Command(Description = "imd file -> png file")] + private class UnimdCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Input imd")] + public string ImdFile { get; set; } + + [Option(CommandOptionType.SingleValue, Description = "Output png. Default is current dir, and file extension to png.", ShortName = "o", LongName = "output")] + public string OutputPng { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var inputFile = ImdFile; + var outputFile = OutputPng ?? Path.GetFullPath(Path.GetFileName(Path.ChangeExtension(inputFile, ".png"))); + + Directory.CreateDirectory(Path.GetDirectoryName(outputFile)); + + using (var stream = File.OpenRead(inputFile)) + { + var imgd = Imgd.Read(stream); + var bitmap = ImgdBitmapUtil.ToBitmap(imgd); + bitmap.Save(outputFile); + } + return 0; + } + } + + [HelpOption] + [Command(Description = "imz file -> png or imd files")] + private class UnimzCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Input imz")] + public string ImzFile { get; set; } + + [Option(CommandOptionType.SingleValue, Description = "Output dir. Default is current dir.", ShortName = "o", LongName = "output")] + public string OutputDir { get; set; } + + [Option(CommandOptionType.NoValue, Description = "Export as imd instead of png", ShortName = "m", LongName = "imd")] + public bool ExportImd { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var inputFile = ImzFile; + var outputDir = OutputDir ?? Environment.CurrentDirectory; + + using (var stream = File.OpenRead(inputFile)) + { + var pairs = Imgz.Read(stream).Select((imgd, index) => (imgd, index)); + + Directory.CreateDirectory(outputDir); + + foreach (var (imgd, index) in pairs) + { + if (ExportImd) + { + var outputFile = Path.Combine(outputDir, $"{Path.GetFileNameWithoutExtension(inputFile)}-{1 + index}.imd"); + + var buffer = new MemoryStream(); + imgd.Write(buffer); + File.WriteAllBytes(outputFile, buffer.ToArray()); + } + else + { + var outputFile = Path.Combine(outputDir, $"{Path.GetFileNameWithoutExtension(inputFile)}-{1 + index}.png"); + + var bitmap = ImgdBitmapUtil.ToBitmap(imgd); + bitmap.Save(outputFile); + } + } + } + return 0; + } + } + + [HelpOption] + [Command(Description = "png file -> imd file")] + private class ImdCommand : ICommonQuantizerParam + { + [Required] + [FileExists] + [Argument(0, Description = "Input png")] + public string PngFile { get; set; } + + [Option(CommandOptionType.SingleValue, Description = "Output imd. Default is current dir, and file extension to imd.", ShortName = "o", LongName = "output")] + public string OutputImd { get; set; } + + [Option(CommandOptionType.SingleValue, Description = "Set bits per pixel: 4, 8, or 32", ShortName = "b", LongName = "bpp")] + public int BitsPerPixel { get; set; } = 8; + + [Option(CommandOptionType.NoValue, Description = "Use `pngquant.exe` -- lossy PNG compressor. Download `pngquant.exe` and place it beside this program, current directory, or PATH.", ShortName = "p", LongName = "pngquant")] + public bool PngQuant { get; set; } + + [Option(CommandOptionType.NoValue, Description = "Use embedded nQuant.Core color quantizer. This is default selection.", ShortName = "n", LongName = "nquant")] + public bool nQuant { get; set; } + + [Option(CommandOptionType.NoValue, Description = "Enable swizzle.", ShortName = "s", LongName = "swizzle")] + public bool Swizzle { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var inputFile = PngFile; + var outputFile = OutputImd ?? Path.GetFullPath(Path.GetFileName(Path.ChangeExtension(inputFile, ".imd"))); + + Directory.CreateDirectory(Path.GetDirectoryName(outputFile)); + + // Alpha enabled png → always 32 bpp + using (var bitmap = new Bitmap(inputFile)) + { + var imgd = ImgdBitmapUtil.ToImgd(bitmap, BitsPerPixel, QuantizerFactory.MakeFrom(this), Swizzle); + + var buffer = new MemoryStream(); + imgd.Write(buffer); + File.WriteAllBytes(outputFile, buffer.ToArray()); + } + return 0; + } + } + + [HelpOption] + [Command(Description = "png, imd or imz files -> imz file")] + private class ImzCommand : ICommonQuantizerParam + { + [Required] + [Option(CommandOptionType.MultipleValue, Description = "Input png/imd/imz file", ShortName = "i", LongName = "input")] + public string[] InputFile { get; set; } + + [Option(CommandOptionType.SingleValue, Description = "Output imz file. Default is current dir, and first file extension to imz.", ShortName = "o", LongName = "output")] + public string OutputImz { get; set; } + + [Option(CommandOptionType.SingleValue, Description = "Set bits per pixel for every png: 4, 8, or 32", ShortName = "b", LongName = "bpp")] + public int BitsPerPixel { get; set; } = 8; + + [Option(CommandOptionType.NoValue, Description = "Use `pngquant.exe` -- lossy PNG compressor. Download `pngquant.exe` and deploy it beside this program, current directory, or PATH.", ShortName = "p", LongName = "pngquant")] + public bool PngQuant { get; set; } + + [Option(CommandOptionType.NoValue, Description = "Use embedded nQuant.Core color quantizer. This is default selection.", ShortName = "n", LongName = "nquant")] + public bool nQuant { get; set; } + + [Option(CommandOptionType.NoValue, Description = "Try to append to imz", ShortName = "a", LongName = "append")] + public bool Append { get; set; } + + [Option(CommandOptionType.NoValue, Description = "Enable swizzle for png input.", ShortName = "s", LongName = "swizzle")] + public bool Swizzle { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + OutputImz = OutputImz ?? Path.GetFullPath(Path.GetFileName(Path.ChangeExtension(InputFile.First(), ".imz"))); + + Directory.CreateDirectory(Path.GetDirectoryName(OutputImz)); + + var prependImgdList = (Append && File.Exists(OutputImz)) + ? File.OpenRead(OutputImz).Using(stream => Imgz.Read(stream).ToArray()) + : new Imgd[0]; + + var buffer = new MemoryStream(); + Imgz.Write( + buffer, + prependImgdList + .Concat( + InputFile + .SelectMany(imdFile => ImgdBitmapUtil.FromFileToImgdList(imdFile, BitsPerPixel, QuantizerFactory.MakeFrom(this), Swizzle)) + ) + .ToArray() + ); + File.WriteAllBytes(OutputImz, buffer.ToArray()); + + return 0; + } + } + + [HelpOption] + [Command(Description = "imd file -> display summary")] + private class ScanImdCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Input imd file")] + public string InputFile { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var target = File.OpenRead(InputFile).Using(stream => Imgd.Read(stream)); + + Console.WriteLine( + FormatterFactory.GetFormatterPairs() + .First() + .FormatToString(ImgdSummary.From(target)) + ); + + return 0; + } + } + + [HelpOption] + [Command(Description = "imz file -> display summary")] + private class ScanImzCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Input imz file")] + public string InputFile { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + var targets = File.OpenRead(InputFile).Using(stream => Imgz.Read(stream).ToArray()); + + Console.WriteLine( + FormatterFactory.GetFormatterPairs() + .First() + .FormatToString( + targets + .Select(one => ImgdSummary.From(one)) + .Select((one, index) => (one, index)) + .ToDictionary( + pair => pair.index.ToString(), + pair => pair.one + ) + ) + ); + + return 0; + } + } + + class FormatterPair + { + internal string Type; + internal Func FormatToString; + } + + class FormatterFactory + { + internal static IEnumerable GetFormatterPairs() => new FormatterPair[] + { + new FormatterPair + { + Type = "yaml", + FormatToString = + (obj) => new YamlDotNet.Serialization.SerializerBuilder() + .Build() + .Serialize(obj), + }, + new FormatterPair + { + Type = "json", + FormatToString = + (obj) => JsonSerializer.Serialize( + obj, + new JsonSerializerOptions + { + WriteIndented = true + } + ), + }, + }; + } + + class ImgdSanityChecking + { + internal static int? GetExpectedDataLen(Imgd it) + { + switch (it.PixelFormat) + { + case Imaging.PixelFormat.Indexed4: + return (it.Size.Width * it.Size.Height + 1) / 2; + case Imaging.PixelFormat.Indexed8: + return (it.Size.Width * it.Size.Height); + case Imaging.PixelFormat.Rgb888: + return (3 * it.Size.Width * it.Size.Height); + case Imaging.PixelFormat.Rgba8888: + case Imaging.PixelFormat.Rgbx8888: + return (4 * it.Size.Width * it.Size.Height); + } + return null; + } + } + + class ImgdSummary + { + public string PixelFormat { get; private set; } + public int Width { get; private set; } + public int Height { get; private set; } + public bool IsSwizzled { get; private set; } + public int? ExpectedDataLen { get; private set; } + public int ActualDataLen { get; private set; } + public int? ActualClutLen { get; private set; } + + internal static ImgdSummary From(Imgd it) + { + return new ImgdSummary + { + PixelFormat = it.PixelFormat.ToString(), + Width = it.Size.Width, + Height = it.Size.Height, + IsSwizzled = it.IsSwizzled, + ExpectedDataLen = ImgdSanityChecking.GetExpectedDataLen(it), + ActualDataLen = it.Data.Length, + ActualClutLen = it.Clut?.Length, + }; + } + } + + [HelpOption] + [Command(Description = "imz file -> imz file (fix 4-bpp doubled bitmap size)")] + private class FixImzCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Input (and output) imz file")] + public string InputFile { get; set; } + + [Option(CommandOptionType.SingleOrNoValue, Description = "Output imz file. Default is input imz.", ShortName = "o", LongName = "output")] + public string OutputImz { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + OutputImz = OutputImz ?? InputFile; + + Directory.CreateDirectory(Path.GetDirectoryName(OutputImz)); + + var images = File.OpenRead(OutputImz).Using(stream => Imgz.Read(stream).ToArray()); + + var fixedCount = 0; + + var fixedImages = images + .Select( + image => + { + var expetectedLen = ImgdSanityChecking.GetExpectedDataLen(image); + if (true + && expetectedLen != null + && expetectedLen < image.Data.Length + && Imaging.PixelFormat.Indexed4 == image.PixelFormat + ) + { + var fixedData = new byte[expetectedLen.Value]; + + Buffer.BlockCopy(image.Data, 0, fixedData, 0, expetectedLen.Value); + + fixedCount++; + + return new Imgd( + image.Size, + image.PixelFormat, + fixedData, + image.Clut, + isSwizzled: false + ); + } + else + { + return image; + } + } + ) + .ToArray(); + + var buffer = new MemoryStream(); + + Imgz.Write(buffer, fixedImages); + + File.WriteAllBytes(OutputImz, buffer.ToArray()); + + Console.WriteLine($"Fixed {fixedCount} images."); + + return 0; + } + } + + [HelpOption] + [Command(Description = "imz file -> imz file (swap 4-bpp hi/lo pixel)")] + private class SwapImzPixelCommand + { + [Required] + [FileExists] + [Argument(0, Description = "Input (and output) imz file")] + public string InputFile { get; set; } + + [Option(CommandOptionType.SingleOrNoValue, Description = "Output imz file. Default is input imz.", ShortName = "o", LongName = "output")] + public string OutputImz { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + OutputImz = OutputImz ?? InputFile; + + Directory.CreateDirectory(Path.GetDirectoryName(OutputImz)); + + var images = File.OpenRead(OutputImz).Using(stream => Imgz.Read(stream).ToArray()); + + var fixedCount = 0; + + var fixedImages = images + .Select( + image => + { + if (Imaging.PixelFormat.Indexed4 == image.PixelFormat) + { + var data = image.Data; + + for (var x = 0; x < data.Length; x++) + { + var swap = data[x]; + data[x] = (byte)((swap << 4) | (swap >> 4)); + } + + fixedCount++; + } + return image; + } + ) + .ToArray(); + + var buffer = new MemoryStream(); + + Imgz.Write(buffer, fixedImages); + + File.WriteAllBytes(OutputImz, buffer.ToArray()); + + Console.WriteLine($"Applied to {fixedCount} images."); + + return 0; + } + } + + } +} diff --git a/OpenKh.Command.ImgTool/Utils/ImgdBitmapUtil.cs b/OpenKh.Command.ImgTool/Utils/ImgdBitmapUtil.cs index 2ae3eb761..a570ac80f 100644 --- a/OpenKh.Command.ImgTool/Utils/ImgdBitmapUtil.cs +++ b/OpenKh.Command.ImgTool/Utils/ImgdBitmapUtil.cs @@ -1,448 +1,448 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Drawing.Imaging; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using OpenKh.Common; -using OpenKh.Kh2; -using static System.Drawing.Imaging.PixelFormat; - -namespace OpenKh.Kh2.Utils -{ - public class ImgdBitmapUtil - { - public static Bitmap ToBitmap(Imgd imgd) - { - switch (imgd.PixelFormat) - { - case Imaging.PixelFormat.Indexed4: - { - var bitmap = new Bitmap(imgd.Size.Width, imgd.Size.Height, PixelFormat.Format4bppIndexed); - var dest = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.WriteOnly, bitmap.PixelFormat); - try - { - var sourceBits = imgd.GetData(); - var sourceWidth = imgd.Size.Width; - var sourceStride = ((sourceWidth + 1) / 2) & (~1); - for (int y = 0; y < bitmap.Height; y++) - { - Marshal.Copy(sourceBits, sourceStride * y, dest.Scan0 + dest.Stride * y, sourceStride); - } - } - finally - { - bitmap.UnlockBits(dest); - } - - { - var clut = imgd.GetClut(); - var palette = bitmap.Palette; - for (int index = 0; index < 16; index++) - { - palette.Entries[index] = Color.FromArgb( - clut[4 * index + 3], - clut[4 * index + 0], - clut[4 * index + 1], - clut[4 * index + 2] - ); - } - bitmap.Palette = palette; - } - - return bitmap; - } - case Imaging.PixelFormat.Indexed8: - { - var bitmap = new Bitmap(imgd.Size.Width, imgd.Size.Height, PixelFormat.Format8bppIndexed); - var dest = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.WriteOnly, bitmap.PixelFormat); - try - { - var sourceBits = imgd.GetData(); - var sourceWidth = imgd.Size.Width; - for (int y = 0; y < bitmap.Height; y++) - { - Marshal.Copy(sourceBits, sourceWidth * y, dest.Scan0 + dest.Stride * y, sourceWidth); - } - } - finally - { - bitmap.UnlockBits(dest); - } - - { - var clut = imgd.GetClut(); - var palette = bitmap.Palette; - for (int index = 0; index < 256; index++) - { - palette.Entries[index] = Color.FromArgb( - clut[4 * index + 3], - clut[4 * index + 0], - clut[4 * index + 1], - clut[4 * index + 2] - ); - } - bitmap.Palette = palette; - } - - return bitmap; - } - case Imaging.PixelFormat.Rgba8888: - { - var bitmap = new Bitmap(imgd.Size.Width, imgd.Size.Height, PixelFormat.Format32bppPArgb); - var dest = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.WriteOnly, bitmap.PixelFormat); - try - { - var sourceBits = imgd.GetData(); - var sourceWidth = 4 * imgd.Size.Width; - for (int y = 0; y < bitmap.Height; y++) - { - Marshal.Copy(sourceBits, sourceWidth * y, dest.Scan0 + dest.Stride * y, sourceWidth); - } - } - finally - { - bitmap.UnlockBits(dest); - } - - return bitmap; - } - } - throw new NotSupportedException($"{imgd.PixelFormat} not recognized!"); - } - - class ReadAs32bppPixels - { - public ReadAs32bppPixels(Bitmap bitmap) - { - Width = bitmap.Width; - Height = bitmap.Height; - - var src = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); - var srcBits = new byte[src.Stride * src.Height]; - try - { - Marshal.Copy(src.Scan0, srcBits, 0, srcBits.Length); - } - finally - { - bitmap.UnlockBits(src); - } - - Pixels = new List(Width * Height); - - for (int y = 0; y < Height; y++) - { - for (int x = 0; x < Width; x++) - { - Pixels.Add(BitConverter.ToUInt32(srcBits, src.Stride * y + 4 * x)); - } - } - - } - - public List Pixels { get; } - public int Width { get; } - public int Height { get; } - } - - static class PaletteColorUsageCounter - { - public static bool IfMaxColorCountIsOver(List pixels, int maxColors) - { - return pixels - .GroupBy(pixel => pixel) - .Count() > maxColors; - } - } - - class PaletteGenerator - { - public PaletteGenerator(List pixels, int maxColors) - { - MostUsedPixels = pixels - .GroupBy(pixel => pixel) - .OrderByDescending(group => group.Count()) - .Select(group => group.Key) - .Take(maxColors) - .ToArray(); - - MaxUsedColors = pixels - .Distinct() - .Count(); - } - - public uint[] MostUsedPixels { get; } - public int MaxUsedColors { get; } - - public int FindNearest(uint pixel) - { - int found = Array.IndexOf(MostUsedPixels, pixel); - if (found == -1) - { - var a = (byte)(pixel >> 0); - var b = (byte)(pixel >> 8); - var c = (byte)(pixel >> 16); - var d = (byte)(pixel >> 24); - - int minDistance = int.MaxValue; - for (int index = 0; index < MostUsedPixels.Length; index++) - { - var target = MostUsedPixels[index]; - var A = (byte)(target >> 0); - var B = (byte)(target >> 8); - var C = (byte)(target >> 16); - var D = (byte)(target >> 24); - var distance = Math.Abs((int)a - A) + Math.Abs((int)b - B) + Math.Abs((int)c - C) + Math.Abs((int)d - D); - if (distance < minDistance) - { - found = index; - minDistance = distance; - } - } - } - return found; - } - } - - public static Imgd ToImgd(Bitmap bitmap, int bpp, Func quantizer, bool swizzle = false) - { - if (quantizer != null) - { - var firstSrc = new ReadAs32bppPixels(bitmap); - - if (PaletteColorUsageCounter.IfMaxColorCountIsOver(firstSrc.Pixels, 1 << bpp)) - { - bitmap = quantizer(bitmap); - } - } - - switch (bpp) - { - case 4: - { - const int maxColors = 16; - - var src = new ReadAs32bppPixels(bitmap); - - var newPalette = new PaletteGenerator(src.Pixels, maxColors); - - if (newPalette.MaxUsedColors > newPalette.MostUsedPixels.Length) - { - Console.WriteLine( - $"Trimming color palette entry count from {newPalette.MaxUsedColors} to ${newPalette.MostUsedPixels.Length}" - ); - } - - var destBits = new byte[(src.Width * src.Height + 1) / 2]; - var clut = new byte[4 * maxColors]; - - for (int index = 0; index < newPalette.MostUsedPixels.Length; index++) - { - var pixel = newPalette.MostUsedPixels[index]; - - clut[4 * index + 0] = (byte)(pixel >> 16); - clut[4 * index + 1] = (byte)(pixel >> 8); - clut[4 * index + 2] = (byte)(pixel >> 0); - clut[4 * index + 3] = (byte)(pixel >> 24); - } - - var srcPointer = 0; - var destPointer = 0; - - for (int y = 0; y < src.Height; y++) - { - for (int x = 0; x < src.Width; x++) - { - var newPixel = newPalette.FindNearest(src.Pixels[srcPointer++]) & 15; - if (0 == (x & 1)) - { - // first pixel: hi byte - destBits[destPointer] = (byte)(newPixel << 4); - } - else - { - // second pixel: lo byte - destBits[destPointer++] |= (byte)(newPixel); - } - } - } - - return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed4, destBits, clut, swizzle); - } - case 8: - { - const int maxColors = 256; - - var src = new ReadAs32bppPixels(bitmap); - - var newPalette = new PaletteGenerator(src.Pixels, maxColors); - - if (newPalette.MaxUsedColors > newPalette.MostUsedPixels.Length) - { - Console.WriteLine( - $"Trimming color palette entry count from {newPalette.MaxUsedColors} to ${newPalette.MostUsedPixels.Length}" - ); - } - - var destBits = new byte[src.Width * src.Height]; - var clut = new byte[4 * maxColors]; - - for (int index = 0; index < newPalette.MostUsedPixels.Length; index++) - { - var pixel = newPalette.MostUsedPixels[index]; - - clut[4 * index + 0] = (byte)(pixel >> 16); - clut[4 * index + 1] = (byte)(pixel >> 8); - clut[4 * index + 2] = (byte)(pixel >> 0); - clut[4 * index + 3] = (byte)(pixel >> 24); - } - - var srcPointer = 0; - var destPointer = 0; - - for (int y = 0; y < src.Height; y++) - { - for (int x = 0; x < src.Width; x++) - { - destBits[destPointer++] = (byte)newPalette.FindNearest(src.Pixels[srcPointer++]); - } - } - - return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed8, destBits, clut, swizzle); - } - case 32: - { - var src = new ReadAs32bppPixels(bitmap); - - var destBits = new byte[4 * src.Width * src.Height]; - - var srcPointer = 0; - var destPointer = 0; - - for (int y = 0; y < src.Height; y++) - { - for (int x = 0; x < src.Width; x++) - { - var pixel = src.Pixels[srcPointer++]; - - destBits[destPointer + 0] = (byte)(pixel >> 16); - destBits[destPointer + 1] = (byte)(pixel >> 8); - destBits[destPointer + 2] = (byte)(pixel >> 0); - destBits[destPointer + 3] = (byte)(pixel >> 24); - - destPointer += 4; - } - } - - return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Rgba8888, destBits, new byte[0], swizzle); - } - } - throw new NotSupportedException($"BitsPerPixel {bpp} not recognized!"); - } - - public static IEnumerable FromFileToImgdList(string anyFile, int bitsPerPixel, Func quantizer, bool swizzle) - { - switch (Path.GetExtension(anyFile).ToLowerInvariant()) - { - case ".png": - { - yield return new Bitmap(anyFile).Using(bitmap => ToImgd(bitmap, bitsPerPixel, quantizer, swizzle)); - break; - } - case ".imd": - { - yield return File.OpenRead(anyFile).Using(stream => Imgd.Read(stream)); - break; - } - case ".imz": - { - foreach (var imgd in File.OpenRead(anyFile).Using(stream => Imgz.Read(stream))) - { - yield return imgd; - } - break; - } - } - } - - public static Imgd ToImgd(Bitmap bitmap) - { - switch (bitmap.PixelFormat) - { - case PixelFormat.Format4bppIndexed: - { - var destHeight = bitmap.Height; - var destStride = (bitmap.Width + 1) & (~1); - var destBits = new byte[destStride * destHeight]; - var src = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.ReadOnly, bitmap.PixelFormat); - try - { - for (int y = 0; y < bitmap.Height; y++) - { - Marshal.Copy(src.Scan0 + src.Stride * y, destBits, destStride * y, destStride); - } - } - finally - { - bitmap.UnlockBits(src); - } - - var clut = new byte[4 * 16]; - { - var palette = bitmap.Palette; - for (int index = 0; index < 16; index++) - { - var color = palette.Entries[index]; - - clut[4 * index + 0] = color.R; - clut[4 * index + 1] = color.G; - clut[4 * index + 2] = color.B; - clut[4 * index + 3] = color.A; - } - bitmap.Palette = palette; - } - - return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed4, destBits, clut, false); - } - case PixelFormat.Format8bppIndexed: - { - var destHeight = bitmap.Height; - var destStride = bitmap.Width; - var destBits = new byte[destStride * destHeight]; - var src = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.ReadOnly, bitmap.PixelFormat); - try - { - for (int y = 0; y < bitmap.Height; y++) - { - Marshal.Copy(src.Scan0 + src.Stride * y, destBits, destStride * y, destStride); - } - } - finally - { - bitmap.UnlockBits(src); - } - - var clut = new byte[4 * 256]; - { - var palette = bitmap.Palette; - for (int index = 0; index < 256; index++) - { - var color = palette.Entries[index]; - - clut[4 * index + 0] = color.R; - clut[4 * index + 1] = color.G; - clut[4 * index + 2] = color.B; - clut[4 * index + 3] = color.A; - } - bitmap.Palette = palette; - } - - return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed4, destBits, clut, false); - } - } - throw new NotSupportedException($"{bitmap.PixelFormat} not recognized!"); - } - } -} +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using OpenKh.Common; +using OpenKh.Kh2; +using static System.Drawing.Imaging.PixelFormat; + +namespace OpenKh.Kh2.Utils +{ + public class ImgdBitmapUtil + { + public static Bitmap ToBitmap(Imgd imgd) + { + switch (imgd.PixelFormat) + { + case Imaging.PixelFormat.Indexed4: + { + var bitmap = new Bitmap(imgd.Size.Width, imgd.Size.Height, PixelFormat.Format4bppIndexed); + var dest = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.WriteOnly, bitmap.PixelFormat); + try + { + var sourceBits = imgd.GetData(); + var sourceWidth = imgd.Size.Width; + var sourceStride = ((sourceWidth + 1) / 2) & (~1); + for (int y = 0; y < bitmap.Height; y++) + { + Marshal.Copy(sourceBits, sourceStride * y, dest.Scan0 + dest.Stride * y, sourceStride); + } + } + finally + { + bitmap.UnlockBits(dest); + } + + { + var clut = imgd.GetClut(); + var palette = bitmap.Palette; + for (int index = 0; index < 16; index++) + { + palette.Entries[index] = Color.FromArgb( + clut[4 * index + 3], + clut[4 * index + 0], + clut[4 * index + 1], + clut[4 * index + 2] + ); + } + bitmap.Palette = palette; + } + + return bitmap; + } + case Imaging.PixelFormat.Indexed8: + { + var bitmap = new Bitmap(imgd.Size.Width, imgd.Size.Height, PixelFormat.Format8bppIndexed); + var dest = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.WriteOnly, bitmap.PixelFormat); + try + { + var sourceBits = imgd.GetData(); + var sourceWidth = imgd.Size.Width; + for (int y = 0; y < bitmap.Height; y++) + { + Marshal.Copy(sourceBits, sourceWidth * y, dest.Scan0 + dest.Stride * y, sourceWidth); + } + } + finally + { + bitmap.UnlockBits(dest); + } + + { + var clut = imgd.GetClut(); + var palette = bitmap.Palette; + for (int index = 0; index < 256; index++) + { + palette.Entries[index] = Color.FromArgb( + clut[4 * index + 3], + clut[4 * index + 0], + clut[4 * index + 1], + clut[4 * index + 2] + ); + } + bitmap.Palette = palette; + } + + return bitmap; + } + case Imaging.PixelFormat.Rgba8888: + { + var bitmap = new Bitmap(imgd.Size.Width, imgd.Size.Height, PixelFormat.Format32bppPArgb); + var dest = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.WriteOnly, bitmap.PixelFormat); + try + { + var sourceBits = imgd.GetData(); + var sourceWidth = 4 * imgd.Size.Width; + for (int y = 0; y < bitmap.Height; y++) + { + Marshal.Copy(sourceBits, sourceWidth * y, dest.Scan0 + dest.Stride * y, sourceWidth); + } + } + finally + { + bitmap.UnlockBits(dest); + } + + return bitmap; + } + } + throw new NotSupportedException($"{imgd.PixelFormat} not recognized!"); + } + + class ReadAs32bppPixels + { + public ReadAs32bppPixels(Bitmap bitmap) + { + Width = bitmap.Width; + Height = bitmap.Height; + + var src = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); + var srcBits = new byte[src.Stride * src.Height]; + try + { + Marshal.Copy(src.Scan0, srcBits, 0, srcBits.Length); + } + finally + { + bitmap.UnlockBits(src); + } + + Pixels = new List(Width * Height); + + for (int y = 0; y < Height; y++) + { + for (int x = 0; x < Width; x++) + { + Pixels.Add(BitConverter.ToUInt32(srcBits, src.Stride * y + 4 * x)); + } + } + + } + + public List Pixels { get; } + public int Width { get; } + public int Height { get; } + } + + static class PaletteColorUsageCounter + { + public static bool IfMaxColorCountIsOver(List pixels, int maxColors) + { + return pixels + .GroupBy(pixel => pixel) + .Count() > maxColors; + } + } + + class PaletteGenerator + { + public PaletteGenerator(List pixels, int maxColors) + { + MostUsedPixels = pixels + .GroupBy(pixel => pixel) + .OrderByDescending(group => group.Count()) + .Select(group => group.Key) + .Take(maxColors) + .ToArray(); + + MaxUsedColors = pixels + .Distinct() + .Count(); + } + + public uint[] MostUsedPixels { get; } + public int MaxUsedColors { get; } + + public int FindNearest(uint pixel) + { + int found = Array.IndexOf(MostUsedPixels, pixel); + if (found == -1) + { + var a = (byte)(pixel >> 0); + var b = (byte)(pixel >> 8); + var c = (byte)(pixel >> 16); + var d = (byte)(pixel >> 24); + + int minDistance = int.MaxValue; + for (int index = 0; index < MostUsedPixels.Length; index++) + { + var target = MostUsedPixels[index]; + var A = (byte)(target >> 0); + var B = (byte)(target >> 8); + var C = (byte)(target >> 16); + var D = (byte)(target >> 24); + var distance = Math.Abs((int)a - A) + Math.Abs((int)b - B) + Math.Abs((int)c - C) + Math.Abs((int)d - D); + if (distance < minDistance) + { + found = index; + minDistance = distance; + } + } + } + return found; + } + } + + public static Imgd ToImgd(Bitmap bitmap, int bpp, Func quantizer, bool swizzle = false) + { + if (quantizer != null) + { + var firstSrc = new ReadAs32bppPixels(bitmap); + + if (PaletteColorUsageCounter.IfMaxColorCountIsOver(firstSrc.Pixels, 1 << bpp)) + { + bitmap = quantizer(bitmap); + } + } + + switch (bpp) + { + case 4: + { + const int maxColors = 16; + + var src = new ReadAs32bppPixels(bitmap); + + var newPalette = new PaletteGenerator(src.Pixels, maxColors); + + if (newPalette.MaxUsedColors > newPalette.MostUsedPixels.Length) + { + Console.WriteLine( + $"Trimming color palette entry count from {newPalette.MaxUsedColors} to ${newPalette.MostUsedPixels.Length}" + ); + } + + var destBits = new byte[(src.Width * src.Height + 1) / 2]; + var clut = new byte[4 * maxColors]; + + for (int index = 0; index < newPalette.MostUsedPixels.Length; index++) + { + var pixel = newPalette.MostUsedPixels[index]; + + clut[4 * index + 0] = (byte)(pixel >> 16); + clut[4 * index + 1] = (byte)(pixel >> 8); + clut[4 * index + 2] = (byte)(pixel >> 0); + clut[4 * index + 3] = (byte)(pixel >> 24); + } + + var srcPointer = 0; + var destPointer = 0; + + for (int y = 0; y < src.Height; y++) + { + for (int x = 0; x < src.Width; x++) + { + var newPixel = newPalette.FindNearest(src.Pixels[srcPointer++]) & 15; + if (0 == (x & 1)) + { + // first pixel: hi byte + destBits[destPointer] = (byte)(newPixel << 4); + } + else + { + // second pixel: lo byte + destBits[destPointer++] |= (byte)(newPixel); + } + } + } + + return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed4, destBits, clut, swizzle); + } + case 8: + { + const int maxColors = 256; + + var src = new ReadAs32bppPixels(bitmap); + + var newPalette = new PaletteGenerator(src.Pixels, maxColors); + + if (newPalette.MaxUsedColors > newPalette.MostUsedPixels.Length) + { + Console.WriteLine( + $"Trimming color palette entry count from {newPalette.MaxUsedColors} to ${newPalette.MostUsedPixels.Length}" + ); + } + + var destBits = new byte[src.Width * src.Height]; + var clut = new byte[4 * maxColors]; + + for (int index = 0; index < newPalette.MostUsedPixels.Length; index++) + { + var pixel = newPalette.MostUsedPixels[index]; + + clut[4 * index + 0] = (byte)(pixel >> 16); + clut[4 * index + 1] = (byte)(pixel >> 8); + clut[4 * index + 2] = (byte)(pixel >> 0); + clut[4 * index + 3] = (byte)(pixel >> 24); + } + + var srcPointer = 0; + var destPointer = 0; + + for (int y = 0; y < src.Height; y++) + { + for (int x = 0; x < src.Width; x++) + { + destBits[destPointer++] = (byte)newPalette.FindNearest(src.Pixels[srcPointer++]); + } + } + + return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed8, destBits, clut, swizzle); + } + case 32: + { + var src = new ReadAs32bppPixels(bitmap); + + var destBits = new byte[4 * src.Width * src.Height]; + + var srcPointer = 0; + var destPointer = 0; + + for (int y = 0; y < src.Height; y++) + { + for (int x = 0; x < src.Width; x++) + { + var pixel = src.Pixels[srcPointer++]; + + destBits[destPointer + 0] = (byte)(pixel >> 16); + destBits[destPointer + 1] = (byte)(pixel >> 8); + destBits[destPointer + 2] = (byte)(pixel >> 0); + destBits[destPointer + 3] = (byte)(pixel >> 24); + + destPointer += 4; + } + } + + return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Rgba8888, destBits, new byte[0], swizzle); + } + } + throw new NotSupportedException($"BitsPerPixel {bpp} not recognized!"); + } + + public static IEnumerable FromFileToImgdList(string anyFile, int bitsPerPixel, Func quantizer, bool swizzle) + { + switch (Path.GetExtension(anyFile).ToLowerInvariant()) + { + case ".png": + { + yield return new Bitmap(anyFile).Using(bitmap => ToImgd(bitmap, bitsPerPixel, quantizer, swizzle)); + break; + } + case ".imd": + { + yield return File.OpenRead(anyFile).Using(stream => Imgd.Read(stream)); + break; + } + case ".imz": + { + foreach (var imgd in File.OpenRead(anyFile).Using(stream => Imgz.Read(stream))) + { + yield return imgd; + } + break; + } + } + } + + public static Imgd ToImgd(Bitmap bitmap) + { + switch (bitmap.PixelFormat) + { + case PixelFormat.Format4bppIndexed: + { + var destHeight = bitmap.Height; + var destStride = (bitmap.Width + 1) & (~1); + var destBits = new byte[destStride * destHeight]; + var src = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.ReadOnly, bitmap.PixelFormat); + try + { + for (int y = 0; y < bitmap.Height; y++) + { + Marshal.Copy(src.Scan0 + src.Stride * y, destBits, destStride * y, destStride); + } + } + finally + { + bitmap.UnlockBits(src); + } + + var clut = new byte[4 * 16]; + { + var palette = bitmap.Palette; + for (int index = 0; index < 16; index++) + { + var color = palette.Entries[index]; + + clut[4 * index + 0] = color.R; + clut[4 * index + 1] = color.G; + clut[4 * index + 2] = color.B; + clut[4 * index + 3] = color.A; + } + bitmap.Palette = palette; + } + + return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed4, destBits, clut, false); + } + case PixelFormat.Format8bppIndexed: + { + var destHeight = bitmap.Height; + var destStride = bitmap.Width; + var destBits = new byte[destStride * destHeight]; + var src = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.ReadOnly, bitmap.PixelFormat); + try + { + for (int y = 0; y < bitmap.Height; y++) + { + Marshal.Copy(src.Scan0 + src.Stride * y, destBits, destStride * y, destStride); + } + } + finally + { + bitmap.UnlockBits(src); + } + + var clut = new byte[4 * 256]; + { + var palette = bitmap.Palette; + for (int index = 0; index < 256; index++) + { + var color = palette.Entries[index]; + + clut[4 * index + 0] = color.R; + clut[4 * index + 1] = color.G; + clut[4 * index + 2] = color.B; + clut[4 * index + 3] = color.A; + } + bitmap.Palette = palette; + } + + return Imgd.Create(bitmap.Size, Imaging.PixelFormat.Indexed4, destBits, clut, false); + } + } + throw new NotSupportedException($"{bitmap.PixelFormat} not recognized!"); + } + } +} diff --git a/OpenKh.Command.ImgTool/Utils/QuantizerFactory.cs b/OpenKh.Command.ImgTool/Utils/QuantizerFactory.cs index a6bbfb041..b1d411012 100644 --- a/OpenKh.Command.ImgTool/Utils/QuantizerFactory.cs +++ b/OpenKh.Command.ImgTool/Utils/QuantizerFactory.cs @@ -1,76 +1,76 @@ -using nQuant; -using OpenKh.Command.ImgTool.Interfaces; -using System; -using System.Diagnostics; -using System.Drawing; -using System.Drawing.Imaging; -using System.IO; - -namespace OpenKh.Command.ImgTool.Utils -{ - public class QuantizerFactory - { - private class CommonQuantizerParam : ICommonQuantizerParam - { - public int BitsPerPixel { get; set; } - - public bool PngQuant { get; set; } - } - - public static Func MakeFrom(int BitsPerPixel, bool InvokePngquant) => - MakeFrom( - new CommonQuantizerParam - { - BitsPerPixel = BitsPerPixel, - PngQuant = InvokePngquant, - } - ); - - public static Func MakeFrom(ICommonQuantizerParam param) - { - return bitmap => - { - switch (param.BitsPerPixel) - { - case 4: - case 8: - { - var maxColors = 1 << param.BitsPerPixel; - - if (param.PngQuant) - { - var psi = new ProcessStartInfo("pngquant.exe", $"{maxColors} -") - { - CreateNoWindow = true, - UseShellExecute = false, - RedirectStandardInput = true, - RedirectStandardOutput = true, - }; - using var p = Process.Start(psi); - using (var temp = new MemoryStream()) - { - bitmap.Save(temp, ImageFormat.Png); - temp.Position = 0; - temp.CopyTo(p.StandardInput.BaseStream); - p.StandardInput.BaseStream.Close(); // prevent pngquant from blocking. - } - var newBitmap = new Bitmap(p.StandardOutput.BaseStream); - return newBitmap; - } - else - { - return (Bitmap)new WuQuantizer().QuantizeImage( - new Bitmap(bitmap), // make sure it is 32 bpp, not 24 bpp - alphaThreshold: -1, - alphaFader: 1, - maxColors - ); - // I believe that nQuant never throws exception. - } - } - } - return bitmap; - }; - } - } -} +using nQuant; +using OpenKh.Command.ImgTool.Interfaces; +using System; +using System.Diagnostics; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; + +namespace OpenKh.Command.ImgTool.Utils +{ + public class QuantizerFactory + { + private class CommonQuantizerParam : ICommonQuantizerParam + { + public int BitsPerPixel { get; set; } + + public bool PngQuant { get; set; } + } + + public static Func MakeFrom(int BitsPerPixel, bool InvokePngquant) => + MakeFrom( + new CommonQuantizerParam + { + BitsPerPixel = BitsPerPixel, + PngQuant = InvokePngquant, + } + ); + + public static Func MakeFrom(ICommonQuantizerParam param) + { + return bitmap => + { + switch (param.BitsPerPixel) + { + case 4: + case 8: + { + var maxColors = 1 << param.BitsPerPixel; + + if (param.PngQuant) + { + var psi = new ProcessStartInfo("pngquant.exe", $"{maxColors} -") + { + CreateNoWindow = true, + UseShellExecute = false, + RedirectStandardInput = true, + RedirectStandardOutput = true, + }; + using var p = Process.Start(psi); + using (var temp = new MemoryStream()) + { + bitmap.Save(temp, ImageFormat.Png); + temp.Position = 0; + temp.CopyTo(p.StandardInput.BaseStream); + p.StandardInput.BaseStream.Close(); // prevent pngquant from blocking. + } + var newBitmap = new Bitmap(p.StandardOutput.BaseStream); + return newBitmap; + } + else + { + return (Bitmap)new WuQuantizer().QuantizeImage( + new Bitmap(bitmap), // make sure it is 32 bpp, not 24 bpp + alphaThreshold: -1, + alphaFader: 1, + maxColors + ); + // I believe that nQuant never throws exception. + } + } + } + return bitmap; + }; + } + } +} diff --git a/OpenKh.Command.Layout/Program.cs b/OpenKh.Command.Layout/Program.cs index 5017fe7f6..051cde9aa 100644 --- a/OpenKh.Command.Layout/Program.cs +++ b/OpenKh.Command.Layout/Program.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using McMaster.Extensions.CommandLineUtils; using System; using System.IO; @@ -154,7 +154,7 @@ protected int OnExecute(CommandLineApplication app) => Deserialize(Input, Output, "sequence", (x, s) => x.Write(s)); } } - + internal class InvalidFileException : Exception { public InvalidFileException(string fileName, string type) : diff --git a/OpenKh.Command.MapGen/Models/BigMesh.cs b/OpenKh.Command.MapGen/Models/BigMesh.cs index 5adce6f87..15d17b514 100644 --- a/OpenKh.Command.MapGen/Models/BigMesh.cs +++ b/OpenKh.Command.MapGen/Models/BigMesh.cs @@ -1,44 +1,44 @@ -using OpenKh.Command.MapGen.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Numerics; -using System.Text; -using Xe.Graphics; -using static OpenKh.Command.MapGen.Models.MapGenConfig; - -namespace OpenKh.Command.MapGen.Models -{ - /// - /// - /// - /// - /// tripletIndicesList.Count == uvList.Count == vertexColorList.Count - /// - public class BigMesh - { - public List vertexList = new List(); - public List triangleStripList = new List(); - - /// - /// -1 if nodraw flag set - /// - public int textureIndex = -1; - - public MaterialDef matDef; - - public List vifPacketIndices = new List(); - - public class TriangleStrip - { - public List vertexIndices = new List(); - public List uvList = new List(); - - /// - /// vertex color rgba is directly written. - /// 128 is PS2's max. 255 is doubled intensity. - /// - public List vertexColorList = new List(); - } - } -} +using OpenKh.Command.MapGen.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Text; +using Xe.Graphics; +using static OpenKh.Command.MapGen.Models.MapGenConfig; + +namespace OpenKh.Command.MapGen.Models +{ + /// + /// + /// + /// + /// tripletIndicesList.Count == uvList.Count == vertexColorList.Count + /// + public class BigMesh + { + public List vertexList = new List(); + public List triangleStripList = new List(); + + /// + /// -1 if nodraw flag set + /// + public int textureIndex = -1; + + public MaterialDef matDef; + + public List vifPacketIndices = new List(); + + public class TriangleStrip + { + public List vertexIndices = new List(); + public List uvList = new List(); + + /// + /// vertex color rgba is directly written. + /// 128 is PS2's max. 255 is doubled intensity. + /// + public List vertexColorList = new List(); + } + } +} diff --git a/OpenKh.Command.MapGen/Models/BigMeshContainer.cs b/OpenKh.Command.MapGen/Models/BigMeshContainer.cs index e0177dd94..b08a961ce 100644 --- a/OpenKh.Command.MapGen/Models/BigMeshContainer.cs +++ b/OpenKh.Command.MapGen/Models/BigMeshContainer.cs @@ -1,46 +1,46 @@ -using Assimp; -using OpenKh.Command.MapGen.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using static OpenKh.Command.MapGen.Models.MapGenConfig; - -namespace OpenKh.Command.MapGen.Models -{ - public class BigMeshContainer - { - public List MeshList { get; } = new List(); - - public List AllocatedMaterialDefs { get; } = new List(); - - public BigMesh AllocateBigMeshForMaterial(MaterialDef matDef) - { - var it = MeshList.Find(it => it.matDef == matDef); - if (it == null) - { - var textureIndex = -1; - if (!matDef.nodraw) - { - textureIndex = AllocatedMaterialDefs.Count; - AllocatedMaterialDefs.Add(matDef); - } - - var newOne = new BigMesh - { - matDef = matDef, - textureIndex = textureIndex, - }; - MeshList.Add(newOne); - return newOne; - } - else - { - return it; - } - } - - public IEnumerable GetMaterialDefList() => - MeshList.Select(one => one.matDef); - } -} +using Assimp; +using OpenKh.Command.MapGen.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using static OpenKh.Command.MapGen.Models.MapGenConfig; + +namespace OpenKh.Command.MapGen.Models +{ + public class BigMeshContainer + { + public List MeshList { get; } = new List(); + + public List AllocatedMaterialDefs { get; } = new List(); + + public BigMesh AllocateBigMeshForMaterial(MaterialDef matDef) + { + var it = MeshList.Find(it => it.matDef == matDef); + if (it == null) + { + var textureIndex = -1; + if (!matDef.nodraw) + { + textureIndex = AllocatedMaterialDefs.Count; + AllocatedMaterialDefs.Add(matDef); + } + + var newOne = new BigMesh + { + matDef = matDef, + textureIndex = textureIndex, + }; + MeshList.Add(newOne); + return newOne; + } + else + { + return it; + } + } + + public IEnumerable GetMaterialDefList() => + MeshList.Select(one => one.matDef); + } +} diff --git a/OpenKh.Command.MapGen/Models/MapGenConfig.cs b/OpenKh.Command.MapGen/Models/MapGenConfig.cs index a86ffe6ff..614945158 100644 --- a/OpenKh.Command.MapGen/Models/MapGenConfig.cs +++ b/OpenKh.Command.MapGen/Models/MapGenConfig.cs @@ -1,96 +1,96 @@ -using OpenKh.Command.MapGen.Utils; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; - -namespace OpenKh.Command.MapGen.Models -{ - public class MapGenConfig - { - /// - /// Input 3D model file - /// - public string inputFile { get; set; } - - /// - /// Output `.map` file - /// - public string outputFile { get; set; } - - public float scale { get; set; } = 1; - - public string[] imageDirs { get; set; } = new string[] { "images" }; - - /// - /// options for imgtool if needed - /// - public string imgtoolOptions { get; set; } - - /// - /// The material set for matching 3D model's material name - /// - public List materials { get; set; } = new List(); - - public List addFiles { get; set; } = new List(); - - public bool skipConversionIfExists { get; set; } - - public float[] applyMatrix { get; set; } - - public TextureOptions textureOptions { get; set; } = new TextureOptions(); - - public class AddFile - { - public string name { get; set; } - public int type { get; set; } - public string fromFile { get; set; } - public int index { get; set; } - } - - public BarConfig bar { get; set; } - - public class BarConfig - { - public BarEntryConfig model { get; set; } - public BarEntryConfig texture { get; set; } - public BarEntryConfig coct { get; set; } - public BarEntryConfig doct { get; set; } - } - - public class BarEntryConfig - { - public string name { get; set; } - public string toFile { get; set; } - } - - public bool disableTriangleStripsOptimization { get; set; } - - public bool disableBSPCollisionBuilder { get; set; } - - public byte? maxColorIntensity { get; set; } - - public byte? maxAlpha { get; set; } - - public bool reuseImd { get; set; } - - public List uvscList { get; set; } = new List(); - - public class UvscItem - { - /// - /// 0 to 15 - /// - public int index { get; set; } - public float u { get; set; } - public float v { get; set; } - } - - public MaterialDef FindMaterial(string name) - { - return materials - .FirstOrDefault(one => SimplePatternUtil.CreateFrom(one.name).IsMatch(name)); - } - } -} +using OpenKh.Command.MapGen.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; + +namespace OpenKh.Command.MapGen.Models +{ + public class MapGenConfig + { + /// + /// Input 3D model file + /// + public string inputFile { get; set; } + + /// + /// Output `.map` file + /// + public string outputFile { get; set; } + + public float scale { get; set; } = 1; + + public string[] imageDirs { get; set; } = new string[] { "images" }; + + /// + /// options for imgtool if needed + /// + public string imgtoolOptions { get; set; } + + /// + /// The material set for matching 3D model's material name + /// + public List materials { get; set; } = new List(); + + public List addFiles { get; set; } = new List(); + + public bool skipConversionIfExists { get; set; } + + public float[] applyMatrix { get; set; } + + public TextureOptions textureOptions { get; set; } = new TextureOptions(); + + public class AddFile + { + public string name { get; set; } + public int type { get; set; } + public string fromFile { get; set; } + public int index { get; set; } + } + + public BarConfig bar { get; set; } + + public class BarConfig + { + public BarEntryConfig model { get; set; } + public BarEntryConfig texture { get; set; } + public BarEntryConfig coct { get; set; } + public BarEntryConfig doct { get; set; } + } + + public class BarEntryConfig + { + public string name { get; set; } + public string toFile { get; set; } + } + + public bool disableTriangleStripsOptimization { get; set; } + + public bool disableBSPCollisionBuilder { get; set; } + + public byte? maxColorIntensity { get; set; } + + public byte? maxAlpha { get; set; } + + public bool reuseImd { get; set; } + + public List uvscList { get; set; } = new List(); + + public class UvscItem + { + /// + /// 0 to 15 + /// + public int index { get; set; } + public float u { get; set; } + public float v { get; set; } + } + + public MaterialDef FindMaterial(string name) + { + return materials + .FirstOrDefault(one => SimplePatternUtil.CreateFrom(one.name).IsMatch(name)); + } + } +} diff --git a/OpenKh.Command.MapGen/Models/MaterialDef.cs b/OpenKh.Command.MapGen/Models/MaterialDef.cs index 0e3416807..17104e6f7 100644 --- a/OpenKh.Command.MapGen/Models/MaterialDef.cs +++ b/OpenKh.Command.MapGen/Models/MaterialDef.cs @@ -1,77 +1,77 @@ -using Microsoft.VisualBasic.CompilerServices; -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Command.MapGen.Models -{ - public class MaterialDef - { - /// - /// model's material name matching by simple pattern - /// - public string name { get; set; } - - /// - /// do not render - /// - public bool ignore { get; set; } - - /// - /// texture from png file - /// - public string fromFile { get; set; } - - /// - /// use if reuseImd: Path.ChangeExtension(fromFile3, ".imd") - /// - public string fromFile2 { get; set; } - - /// - /// texture from png file (diffuse map with texture file source) - /// - public string fromFile3 { get; set; } - - /// - /// Have not collision - /// - public bool noclip { get; set; } = false; - - /// - /// Have not rendered - /// - public bool nodraw { get; set; } = false; - - /// - /// surfaceFlags if has collision - /// - public int surfaceFlags { get; set; } = 0x3f1; - - /// - /// Intensity: PS2'S 128 is Windows's 255. - /// - public byte? maxColorIntensity { get; set; } - - /// - /// Intensity: PS2'S 128 is Windows's 255. - /// - public byte? maxAlpha { get; set; } - - /// - /// options for imgtool if needed - /// - public string imgtoolOptions { get; set; } - - public TextureOptions textureOptions { get; set; } = new TextureOptions(); - - public short? transparentFlag { get; set; } - - public int? uvscIndex { get; set; } - - public static MaterialDef CreateFallbackFor(string name) => - new MaterialDef - { - name = name, - }; - } -} +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Command.MapGen.Models +{ + public class MaterialDef + { + /// + /// model's material name matching by simple pattern + /// + public string name { get; set; } + + /// + /// do not render + /// + public bool ignore { get; set; } + + /// + /// texture from png file + /// + public string fromFile { get; set; } + + /// + /// use if reuseImd: Path.ChangeExtension(fromFile3, ".imd") + /// + public string fromFile2 { get; set; } + + /// + /// texture from png file (diffuse map with texture file source) + /// + public string fromFile3 { get; set; } + + /// + /// Have not collision + /// + public bool noclip { get; set; } = false; + + /// + /// Have not rendered + /// + public bool nodraw { get; set; } = false; + + /// + /// surfaceFlags if has collision + /// + public int surfaceFlags { get; set; } = 0x3f1; + + /// + /// Intensity: PS2'S 128 is Windows's 255. + /// + public byte? maxColorIntensity { get; set; } + + /// + /// Intensity: PS2'S 128 is Windows's 255. + /// + public byte? maxAlpha { get; set; } + + /// + /// options for imgtool if needed + /// + public string imgtoolOptions { get; set; } + + public TextureOptions textureOptions { get; set; } = new TextureOptions(); + + public short? transparentFlag { get; set; } + + public int? uvscIndex { get; set; } + + public static MaterialDef CreateFallbackFor(string name) => + new MaterialDef + { + name = name, + }; + } +} diff --git a/OpenKh.Command.MapGen/Models/TextureOption.cs b/OpenKh.Command.MapGen/Models/TextureOption.cs index 2e8fef2e6..98344d0db 100644 --- a/OpenKh.Command.MapGen/Models/TextureOption.cs +++ b/OpenKh.Command.MapGen/Models/TextureOption.cs @@ -1,12 +1,12 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Command.MapGen.Models -{ - public class TextureOptions - { - public string addressU { get; set; } - public string addressV { get; set; } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Command.MapGen.Models +{ + public class TextureOptions + { + public string addressU { get; set; } + public string addressV { get; set; } + } +} diff --git a/OpenKh.Command.MapGen/Program.cs b/OpenKh.Command.MapGen/Program.cs index f40f2468e..8b8a43657 100644 --- a/OpenKh.Command.MapGen/Program.cs +++ b/OpenKh.Command.MapGen/Program.cs @@ -1,64 +1,64 @@ -using McMaster.Extensions.CommandLineUtils; -using System; -using System.IO; -using System.Reflection; -using System.ComponentModel.DataAnnotations; -using OpenKh.Common.Exceptions; -using OpenKh.Command.MapGen.Utils; -using NLog; - -namespace OpenKh.Command.MapGen -{ - [Command("OpenKh.Command.MapGen")] - [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] - class Program - { - static int Main(string[] args) - { - try - { - return CommandLineApplication.Execute(args); - } - catch (InvalidFileException e) - { - Console.WriteLine(e.Message); - return 3; - } - catch (FileNotFoundException e) - { - Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); - return 2; - } - catch (Exception e) - { - Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); - return -1; - } - } - - [Required] - [FileExists] - [Argument(0, Description = "Input file: mapdef.yml or model.{fbx,dae}")] - public string InputFile { get; set; } - - [Argument(1, Description = "Output map file")] - public string OutputMap { get; set; } - - protected int OnExecute(CommandLineApplication app) - { - try - { - new MapGenUtil().Run(InputFile, OutputMap); - - return 0; - } - finally - { - LogManager.Shutdown(); - } - } - - private static string GetVersion() - => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; - } -} +using McMaster.Extensions.CommandLineUtils; +using System; +using System.IO; +using System.Reflection; +using System.ComponentModel.DataAnnotations; +using OpenKh.Common.Exceptions; +using OpenKh.Command.MapGen.Utils; +using NLog; + +namespace OpenKh.Command.MapGen +{ + [Command("OpenKh.Command.MapGen")] + [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] + class Program + { + static int Main(string[] args) + { + try + { + return CommandLineApplication.Execute(args); + } + catch (InvalidFileException e) + { + Console.WriteLine(e.Message); + return 3; + } + catch (FileNotFoundException e) + { + Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); + return 2; + } + catch (Exception e) + { + Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); + return -1; + } + } + + [Required] + [FileExists] + [Argument(0, Description = "Input file: mapdef.yml or model.{fbx,dae}")] + public string InputFile { get; set; } + + [Argument(1, Description = "Output map file")] + public string OutputMap { get; set; } + + protected int OnExecute(CommandLineApplication app) + { + try + { + new MapGenUtil().Run(InputFile, OutputMap); + + return 0; + } + finally + { + LogManager.Shutdown(); + } + } + + private static string GetVersion() + => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; + } +} diff --git a/OpenKh.Command.MapGen/Utils/BigMeshSplitter.cs b/OpenKh.Command.MapGen/Utils/BigMeshSplitter.cs index 1fa16bcc1..acee9f6bc 100644 --- a/OpenKh.Command.MapGen/Utils/BigMeshSplitter.cs +++ b/OpenKh.Command.MapGen/Utils/BigMeshSplitter.cs @@ -1,75 +1,75 @@ -using OpenKh.Command.MapGen.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace OpenKh.Command.MapGen.Utils -{ - public static class BigMeshSplitter - { - private const int MaxVertCount = 71; - - public static IEnumerable Split(BigMesh bigMesh) - { - var stripIndex = 0; - var maxStrip = bigMesh.triangleStripList.Count; - while (stripIndex < maxStrip) - { - var smallMesh = new BigMesh - { - textureIndex = bigMesh.textureIndex, - matDef = bigMesh.matDef, - }; - - var localIndexMap = new Dictionary(); - var countStocked = 0; - for (; stripIndex < maxStrip; stripIndex++) - { - var triStrip = bigMesh.triangleStripList[stripIndex]; - - if (countStocked + triStrip.vertexIndices.Count > MaxVertCount) - { - break; - } - - var newTriStrip = new BigMesh.TriangleStrip - { - uvList = triStrip.uvList.ToList(), - vertexColorList = triStrip.vertexColorList.ToList(), - vertexIndices = triStrip.vertexIndices - .Select(gi => MapToLocal(localIndexMap, gi)) - .ToList(), - }; - - smallMesh.triangleStripList.Add(newTriStrip); - - countStocked += newTriStrip.vertexIndices.Count; - } - - var globalIndexMap = localIndexMap - .ToDictionary(pair => pair.Value, pair => pair.Key); - - smallMesh.textureIndex = bigMesh.textureIndex; - - for (int loop = 0; loop < localIndexMap.Count; loop++) - { - var globalIndex = globalIndexMap[loop]; - smallMesh.vertexList.Add(bigMesh.vertexList[globalIndex]); - } - - yield return smallMesh; - } - } - - private static int MapToLocal(IDictionary dict, int index) - { - if (!dict.TryGetValue(index, out int localIndex)) - { - localIndex = dict.Count; - dict[index] = localIndex; - } - return localIndex; - } - } -} +using OpenKh.Command.MapGen.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OpenKh.Command.MapGen.Utils +{ + public static class BigMeshSplitter + { + private const int MaxVertCount = 71; + + public static IEnumerable Split(BigMesh bigMesh) + { + var stripIndex = 0; + var maxStrip = bigMesh.triangleStripList.Count; + while (stripIndex < maxStrip) + { + var smallMesh = new BigMesh + { + textureIndex = bigMesh.textureIndex, + matDef = bigMesh.matDef, + }; + + var localIndexMap = new Dictionary(); + var countStocked = 0; + for (; stripIndex < maxStrip; stripIndex++) + { + var triStrip = bigMesh.triangleStripList[stripIndex]; + + if (countStocked + triStrip.vertexIndices.Count > MaxVertCount) + { + break; + } + + var newTriStrip = new BigMesh.TriangleStrip + { + uvList = triStrip.uvList.ToList(), + vertexColorList = triStrip.vertexColorList.ToList(), + vertexIndices = triStrip.vertexIndices + .Select(gi => MapToLocal(localIndexMap, gi)) + .ToList(), + }; + + smallMesh.triangleStripList.Add(newTriStrip); + + countStocked += newTriStrip.vertexIndices.Count; + } + + var globalIndexMap = localIndexMap + .ToDictionary(pair => pair.Value, pair => pair.Key); + + smallMesh.textureIndex = bigMesh.textureIndex; + + for (int loop = 0; loop < localIndexMap.Count; loop++) + { + var globalIndex = globalIndexMap[loop]; + smallMesh.vertexList.Add(bigMesh.vertexList[globalIndex]); + } + + yield return smallMesh; + } + } + + private static int MapToLocal(IDictionary dict, int index) + { + if (!dict.TryGetValue(index, out int localIndex)) + { + localIndex = dict.Count; + dict[index] = localIndex; + } + return localIndex; + } + } +} diff --git a/OpenKh.Command.MapGen/Utils/CollisionBuilder.cs b/OpenKh.Command.MapGen/Utils/CollisionBuilder.cs index 09c1bbd60..3e71c201a 100644 --- a/OpenKh.Command.MapGen/Utils/CollisionBuilder.cs +++ b/OpenKh.Command.MapGen/Utils/CollisionBuilder.cs @@ -1,480 +1,480 @@ -using OpenKh.Command.MapGen.Models; -using OpenKh.Kh2; -using System; -using System.Buffers.Binary; -using System.Collections.Generic; -using System.Linq; -using System.Numerics; -using System.Text; -using static OpenKh.Kh2.Coct; - -namespace OpenKh.Command.MapGen.Utils -{ - public class CollisionBuilder - { - public readonly Coct coct = new Coct(); - public readonly Doct doct = new Doct(); - - public List vifPacketRenderingGroup { get; } = new List(); - - public CollisionBuilder(IEnumerable bigMeshes, bool disableBSPCollisionBuilder) - { - if (disableBSPCollisionBuilder) - { - PerMeshClipRendering(bigMeshes); - } - else - { - UseBinarySeparatedPartitions(bigMeshes); - } - } - - class CenterPointedMesh - { - public BigMesh bigMesh; - - public Vector3 centerPoint; - - public CenterPointedMesh(BigMesh bigMesh) - { - this.bigMesh = bigMesh; - - centerPoint = GetCenter( - bigMesh.triangleStripList - .SelectMany(triangleStrip => triangleStrip.vertexIndices) - .Select(index => bigMesh.vertexList[index]) - ); - } - - public override string ToString() => centerPoint.ToString(); - - private static Vector3 GetCenter(IEnumerable positions) - { - double x = 0, y = 0, z = 0; - int n = 0; - foreach (var one in positions) - { - ++n; - x += one.X; - y += one.Y; - z += one.Z; - } - return new Vector3( - (float)(x / n), - (float)(y / n), - (float)(z / n) - ); - } - } - - /// - /// Binary separated partitions - /// - class BSP - { - public CenterPointedMesh[] Points { get; } - - public BSP(CenterPointedMesh[] points) - { - Points = points; - } - - public override string ToString() => $"{Points.Length:#,##0} points"; - - public BSP[] Split() - { - if (Points.Length >= 20) - { - var range = new Range(Points); - if (range.yLen >= range.xLen) - { - if (range.zLen >= range.yLen) - { - // z-cut - return new BSP[] - { - new BSP(Points.Where(it => it.centerPoint.Z >= range.zCenter).ToArray()), - new BSP(Points.Where(it => it.centerPoint.Z < range.zCenter).ToArray()), - }; - } - else - { - // y-cut - return new BSP[] - { - new BSP(Points.Where(it => it.centerPoint.Y >= range.yCenter).ToArray()), - new BSP(Points.Where(it => it.centerPoint.Y < range.yCenter).ToArray()), - }; - } - } - else - { - // x-cut - return new BSP[] - { - new BSP(Points.Where(it => it.centerPoint.X >= range.xCenter).ToArray()), - new BSP(Points.Where(it => it.centerPoint.X < range.xCenter).ToArray()), - }; - } - } - return new BSP[] { this }; - } - - class Range - { - public float xMin = float.MaxValue; - public float xMax = float.MinValue; - public float yMin = float.MaxValue; - public float yMax = float.MinValue; - public float zMin = float.MaxValue; - public float zMax = float.MinValue; - - public float xLen; - public float yLen; - public float zLen; - - public float xCenter; - public float yCenter; - public float zCenter; - - public Range(CenterPointedMesh[] points) - { - foreach (var point in points) - { - var position = point.centerPoint; - xMin = Math.Min(xMin, position.X); - xMax = Math.Max(xMax, position.X); - yMin = Math.Min(yMin, position.Y); - yMax = Math.Max(yMax, position.Y); - zMin = Math.Min(zMin, position.Z); - zMax = Math.Max(zMax, position.Z); - } - xLen = (xMax - xMin); - yLen = (yMax - yMin); - zLen = (zMax - zMin); - xCenter = (xMax + xMin) / 2; - yCenter = (yMax + yMin) / 2; - zCenter = (zMax + zMin) / 2; - } - } - } - - class BSPWalker - { - private Coct coct; - private BuildHelper helper; - - public List vifPacketRenderingGroup = new List(); - public List collisionMeshList = new List(); - - public BSPWalker(BSP bsp, Coct coct, BuildHelper helper) - { - this.coct = coct; - this.helper = helper; - - JoinResult( - Walk(bsp), - null - ); - } - - class WalkResult - { - internal int? groupIndex; - internal CollisionMesh? mesh; - - public override string ToString() => $"group({groupIndex}) mesh({mesh})"; - } - - private WalkResult Walk(BSP bsp) - { - var pair = bsp.Split(); - if (pair.Length == 2) - { - return JoinResult( - Walk(pair[0]), - Walk(pair[1]) - ); - } - else - { - var collisionMesh = new CollisionMesh - { - Collisions = new List() - }; - - var vifPacketIndices = new List(); - - foreach (var point in pair[0].Points) - { - var mesh = point.bigMesh; - - vifPacketIndices.AddRange(mesh.vifPacketIndices); - - foreach (var set in TriangleStripsToTriangleFans(mesh.triangleStripList)) - { - var quad = set.Count == 4; - - var v1 = mesh.vertexList[set[0]]; - var v2 = mesh.vertexList[set[1]]; - var v3 = mesh.vertexList[set[2]]; - var v4 = quad ? mesh.vertexList[set[3]] : Vector3.Zero; - - collisionMesh.Collisions.Add(coct.Complete( - new Collision - { - Vertex1 = helper.AllocateVertex(v1.X, -v1.Y, -v1.Z), // why -Y and -Z ? - Vertex2 = helper.AllocateVertex(v2.X, -v2.Y, -v2.Z), - Vertex3 = helper.AllocateVertex(v3.X, -v3.Y, -v3.Z), - Vertex4 = Convert.ToInt16(quad ? helper.AllocateVertex(v4.X, -v4.Y, -v4.Z) : -1), - SurfaceFlags = new SurfaceFlags() { Flags = mesh.matDef.surfaceFlags } - }, - inflate: 1 - )); - } - } - - coct.Complete(collisionMesh); - - collisionMeshList.Add(collisionMesh); - - vifPacketRenderingGroup.Add( - vifPacketIndices - .Distinct() - .ToArray() - ); - - return new WalkResult - { - mesh = collisionMesh, - }; - } - } - - private WalkResult JoinResult(WalkResult left, WalkResult right) - { - var groupChildren = new List(); - - if (left.mesh != null) - { - groupChildren.Add(coct.CollisionMeshGroupList.Count); - - coct.CompleteAndAdd( - new CollisionMeshGroup - { - Meshes = new List { left.mesh } - } - ); - } - else if (left.groupIndex.HasValue) - { - groupChildren.Add(left.groupIndex.Value); - } - - if (right == null) - { - // skip - } - else if (right.mesh != null) - { - groupChildren.Add(coct.CollisionMeshGroupList.Count); - - coct.CompleteAndAdd( - new CollisionMeshGroup - { - Meshes = new List { right.mesh } - } - ); - } - else if (right.groupIndex.HasValue) - { - groupChildren.Add(right.groupIndex.Value); - } - - var firstIdx1 = coct.CollisionMeshGroupList.Count; - - coct.CompleteAndAdd( - new CollisionMeshGroup - { - Meshes = new List(), - Child1 = Convert.ToInt16((groupChildren.Count >= 1) ? groupChildren[0] : -1), - Child2 = Convert.ToInt16((groupChildren.Count >= 2) ? groupChildren[1] : -1), - } - ); - - return new WalkResult - { - groupIndex = firstIdx1, - }; - } - } - - private void UseBinarySeparatedPartitions(IEnumerable bigMeshes) - { - var bsp = new BSP( - bigMeshes - .Where(mesh => !mesh.matDef.noclip) - .Select(mesh => new CenterPointedMesh(mesh)) - .ToArray() - ); - - var helper = new BuildHelper(coct); - var walker = new BSPWalker(bsp, coct, helper); - - vifPacketRenderingGroup.AddRange(walker.vifPacketRenderingGroup); - - coct.ReverseMeshGroup(); - - // Entry2 index is tightly coupled to vifPacketRenderingGroup's index. - // Thus do not add Entry2 unplanned. - - CreateDoctFromCoct(walker.collisionMeshList); - } - - private void CreateDoctFromCoct(IList vifPacketRenderingGroupIndexMatched) - { - // directly mapping: - // coctMesh → doct.Entry2 - // coctMeshGroup → doct.Entry1 - - var coctMeshList = new List(); - - foreach (var coctMeshGroup in coct.CollisionMeshGroupList) - { - var vifPacketIndices = coctMeshGroup.Meshes - .Select(it => vifPacketRenderingGroupIndexMatched.IndexOf(it)) - .ToArray(); - - var minIdx = 0; - var maxIdx = 0; - if (vifPacketIndices.Length != 0) - { - minIdx = vifPacketIndices.Min(); - maxIdx = vifPacketIndices.Max() + 1; - } - - doct.Entry1List.Add( - new Doct.Entry1 - { - Child1 = coctMeshGroup.Child1, - Child2 = coctMeshGroup.Child2, - Child3 = coctMeshGroup.Child3, - Child4 = coctMeshGroup.Child4, - Child5 = coctMeshGroup.Child5, - Child6 = coctMeshGroup.Child6, - Child7 = coctMeshGroup.Child7, - Child8 = coctMeshGroup.Child8, - BoundingBox = coctMeshGroup.BoundingBox.ToBoundingBox(), - Entry2Index = (ushort)minIdx, - Entry2LastIndex = (ushort)maxIdx, - } - ); - } - - foreach (var coctMesh in vifPacketRenderingGroupIndexMatched) - { - doct.Add( - new Doct.Entry2 - { - BoundingBox = coctMesh.BoundingBox - .ToBoundingBox(), - } - ); - } - } - - private void PerMeshClipRendering(IEnumerable bigMeshes) - { - var meshList = new List(); - - var helper = new BuildHelper(coct); - - foreach (var mesh in bigMeshes.Where(it => !it.matDef.noclip)) - { - var collisionMesh = new CollisionMesh - { - Collisions = new List() - }; - - var vifPacketIndices = new List(mesh.vifPacketIndices); - - foreach (var set in TriangleStripsToTriangleFans(mesh.triangleStripList)) - { - var quad = set.Count == 4; - - var v1 = mesh.vertexList[set[0]]; - var v2 = mesh.vertexList[set[1]]; - var v3 = mesh.vertexList[set[2]]; - var v4 = quad ? mesh.vertexList[set[3]] : Vector3.Zero; - - collisionMesh.Collisions.Add(coct.Complete( - new Collision - { - Vertex1 = helper.AllocateVertex(v1.X, -v1.Y, -v1.Z), // why -Y and -Z ? - Vertex2 = helper.AllocateVertex(v2.X, -v2.Y, -v2.Z), - Vertex3 = helper.AllocateVertex(v3.X, -v3.Y, -v3.Z), - Vertex4 = Convert.ToInt16(quad ? helper.AllocateVertex(v4.X, -v4.Y, -v4.Z) : -1), - SurfaceFlags = new SurfaceFlags() { Flags = mesh.matDef.surfaceFlags } - }, - inflate: 1 - )); - } - - vifPacketRenderingGroup.Add( - vifPacketIndices - .Distinct() - .ToArray() - ); - - coct.Complete(collisionMesh); - meshList.Add(collisionMesh); - } - - coct.CompleteAndAdd( - new CollisionMeshGroup - { - Meshes = meshList - } - ); - - // Entry2 index is tightly coupled to vifPacketRenderingGroup's index. - // Thus do not add Entry2 unplanned. - - CreateDoctFromCoct(meshList); - } - - private static IEnumerable> TriangleStripsToTriangleFans(IList list) - { - foreach (var set in list) - { - var cx = set.vertexIndices.Count; - if (cx == 3) - { - yield return set.vertexIndices; - } - if (cx >= 4) - { - for (int x = 4; x <= cx; x += 2) - { - yield return new int[] - { - set.vertexIndices[x - 4 + 0], - set.vertexIndices[x - 4 + 1], - set.vertexIndices[x - 4 + 3], - set.vertexIndices[x - 4 + 2], - }; - if (x + 1 == cx) - { - yield return new int[] - { - set.vertexIndices[x - 2 + 0], - set.vertexIndices[x - 2 + 1], - set.vertexIndices[x - 2 + 2], - }; - } - } - } - } - } - } -} +using OpenKh.Command.MapGen.Models; +using OpenKh.Kh2; +using System; +using System.Buffers.Binary; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Text; +using static OpenKh.Kh2.Coct; + +namespace OpenKh.Command.MapGen.Utils +{ + public class CollisionBuilder + { + public readonly Coct coct = new Coct(); + public readonly Doct doct = new Doct(); + + public List vifPacketRenderingGroup { get; } = new List(); + + public CollisionBuilder(IEnumerable bigMeshes, bool disableBSPCollisionBuilder) + { + if (disableBSPCollisionBuilder) + { + PerMeshClipRendering(bigMeshes); + } + else + { + UseBinarySeparatedPartitions(bigMeshes); + } + } + + class CenterPointedMesh + { + public BigMesh bigMesh; + + public Vector3 centerPoint; + + public CenterPointedMesh(BigMesh bigMesh) + { + this.bigMesh = bigMesh; + + centerPoint = GetCenter( + bigMesh.triangleStripList + .SelectMany(triangleStrip => triangleStrip.vertexIndices) + .Select(index => bigMesh.vertexList[index]) + ); + } + + public override string ToString() => centerPoint.ToString(); + + private static Vector3 GetCenter(IEnumerable positions) + { + double x = 0, y = 0, z = 0; + int n = 0; + foreach (var one in positions) + { + ++n; + x += one.X; + y += one.Y; + z += one.Z; + } + return new Vector3( + (float)(x / n), + (float)(y / n), + (float)(z / n) + ); + } + } + + /// + /// Binary separated partitions + /// + class BSP + { + public CenterPointedMesh[] Points { get; } + + public BSP(CenterPointedMesh[] points) + { + Points = points; + } + + public override string ToString() => $"{Points.Length:#,##0} points"; + + public BSP[] Split() + { + if (Points.Length >= 20) + { + var range = new Range(Points); + if (range.yLen >= range.xLen) + { + if (range.zLen >= range.yLen) + { + // z-cut + return new BSP[] + { + new BSP(Points.Where(it => it.centerPoint.Z >= range.zCenter).ToArray()), + new BSP(Points.Where(it => it.centerPoint.Z < range.zCenter).ToArray()), + }; + } + else + { + // y-cut + return new BSP[] + { + new BSP(Points.Where(it => it.centerPoint.Y >= range.yCenter).ToArray()), + new BSP(Points.Where(it => it.centerPoint.Y < range.yCenter).ToArray()), + }; + } + } + else + { + // x-cut + return new BSP[] + { + new BSP(Points.Where(it => it.centerPoint.X >= range.xCenter).ToArray()), + new BSP(Points.Where(it => it.centerPoint.X < range.xCenter).ToArray()), + }; + } + } + return new BSP[] { this }; + } + + class Range + { + public float xMin = float.MaxValue; + public float xMax = float.MinValue; + public float yMin = float.MaxValue; + public float yMax = float.MinValue; + public float zMin = float.MaxValue; + public float zMax = float.MinValue; + + public float xLen; + public float yLen; + public float zLen; + + public float xCenter; + public float yCenter; + public float zCenter; + + public Range(CenterPointedMesh[] points) + { + foreach (var point in points) + { + var position = point.centerPoint; + xMin = Math.Min(xMin, position.X); + xMax = Math.Max(xMax, position.X); + yMin = Math.Min(yMin, position.Y); + yMax = Math.Max(yMax, position.Y); + zMin = Math.Min(zMin, position.Z); + zMax = Math.Max(zMax, position.Z); + } + xLen = (xMax - xMin); + yLen = (yMax - yMin); + zLen = (zMax - zMin); + xCenter = (xMax + xMin) / 2; + yCenter = (yMax + yMin) / 2; + zCenter = (zMax + zMin) / 2; + } + } + } + + class BSPWalker + { + private Coct coct; + private BuildHelper helper; + + public List vifPacketRenderingGroup = new List(); + public List collisionMeshList = new List(); + + public BSPWalker(BSP bsp, Coct coct, BuildHelper helper) + { + this.coct = coct; + this.helper = helper; + + JoinResult( + Walk(bsp), + null + ); + } + + class WalkResult + { + internal int? groupIndex; + internal CollisionMesh? mesh; + + public override string ToString() => $"group({groupIndex}) mesh({mesh})"; + } + + private WalkResult Walk(BSP bsp) + { + var pair = bsp.Split(); + if (pair.Length == 2) + { + return JoinResult( + Walk(pair[0]), + Walk(pair[1]) + ); + } + else + { + var collisionMesh = new CollisionMesh + { + Collisions = new List() + }; + + var vifPacketIndices = new List(); + + foreach (var point in pair[0].Points) + { + var mesh = point.bigMesh; + + vifPacketIndices.AddRange(mesh.vifPacketIndices); + + foreach (var set in TriangleStripsToTriangleFans(mesh.triangleStripList)) + { + var quad = set.Count == 4; + + var v1 = mesh.vertexList[set[0]]; + var v2 = mesh.vertexList[set[1]]; + var v3 = mesh.vertexList[set[2]]; + var v4 = quad ? mesh.vertexList[set[3]] : Vector3.Zero; + + collisionMesh.Collisions.Add(coct.Complete( + new Collision + { + Vertex1 = helper.AllocateVertex(v1.X, -v1.Y, -v1.Z), // why -Y and -Z ? + Vertex2 = helper.AllocateVertex(v2.X, -v2.Y, -v2.Z), + Vertex3 = helper.AllocateVertex(v3.X, -v3.Y, -v3.Z), + Vertex4 = Convert.ToInt16(quad ? helper.AllocateVertex(v4.X, -v4.Y, -v4.Z) : -1), + SurfaceFlags = new SurfaceFlags() { Flags = mesh.matDef.surfaceFlags } + }, + inflate: 1 + )); + } + } + + coct.Complete(collisionMesh); + + collisionMeshList.Add(collisionMesh); + + vifPacketRenderingGroup.Add( + vifPacketIndices + .Distinct() + .ToArray() + ); + + return new WalkResult + { + mesh = collisionMesh, + }; + } + } + + private WalkResult JoinResult(WalkResult left, WalkResult right) + { + var groupChildren = new List(); + + if (left.mesh != null) + { + groupChildren.Add(coct.CollisionMeshGroupList.Count); + + coct.CompleteAndAdd( + new CollisionMeshGroup + { + Meshes = new List { left.mesh } + } + ); + } + else if (left.groupIndex.HasValue) + { + groupChildren.Add(left.groupIndex.Value); + } + + if (right == null) + { + // skip + } + else if (right.mesh != null) + { + groupChildren.Add(coct.CollisionMeshGroupList.Count); + + coct.CompleteAndAdd( + new CollisionMeshGroup + { + Meshes = new List { right.mesh } + } + ); + } + else if (right.groupIndex.HasValue) + { + groupChildren.Add(right.groupIndex.Value); + } + + var firstIdx1 = coct.CollisionMeshGroupList.Count; + + coct.CompleteAndAdd( + new CollisionMeshGroup + { + Meshes = new List(), + Child1 = Convert.ToInt16((groupChildren.Count >= 1) ? groupChildren[0] : -1), + Child2 = Convert.ToInt16((groupChildren.Count >= 2) ? groupChildren[1] : -1), + } + ); + + return new WalkResult + { + groupIndex = firstIdx1, + }; + } + } + + private void UseBinarySeparatedPartitions(IEnumerable bigMeshes) + { + var bsp = new BSP( + bigMeshes + .Where(mesh => !mesh.matDef.noclip) + .Select(mesh => new CenterPointedMesh(mesh)) + .ToArray() + ); + + var helper = new BuildHelper(coct); + var walker = new BSPWalker(bsp, coct, helper); + + vifPacketRenderingGroup.AddRange(walker.vifPacketRenderingGroup); + + coct.ReverseMeshGroup(); + + // Entry2 index is tightly coupled to vifPacketRenderingGroup's index. + // Thus do not add Entry2 unplanned. + + CreateDoctFromCoct(walker.collisionMeshList); + } + + private void CreateDoctFromCoct(IList vifPacketRenderingGroupIndexMatched) + { + // directly mapping: + // coctMesh → doct.Entry2 + // coctMeshGroup → doct.Entry1 + + var coctMeshList = new List(); + + foreach (var coctMeshGroup in coct.CollisionMeshGroupList) + { + var vifPacketIndices = coctMeshGroup.Meshes + .Select(it => vifPacketRenderingGroupIndexMatched.IndexOf(it)) + .ToArray(); + + var minIdx = 0; + var maxIdx = 0; + if (vifPacketIndices.Length != 0) + { + minIdx = vifPacketIndices.Min(); + maxIdx = vifPacketIndices.Max() + 1; + } + + doct.Entry1List.Add( + new Doct.Entry1 + { + Child1 = coctMeshGroup.Child1, + Child2 = coctMeshGroup.Child2, + Child3 = coctMeshGroup.Child3, + Child4 = coctMeshGroup.Child4, + Child5 = coctMeshGroup.Child5, + Child6 = coctMeshGroup.Child6, + Child7 = coctMeshGroup.Child7, + Child8 = coctMeshGroup.Child8, + BoundingBox = coctMeshGroup.BoundingBox.ToBoundingBox(), + Entry2Index = (ushort)minIdx, + Entry2LastIndex = (ushort)maxIdx, + } + ); + } + + foreach (var coctMesh in vifPacketRenderingGroupIndexMatched) + { + doct.Add( + new Doct.Entry2 + { + BoundingBox = coctMesh.BoundingBox + .ToBoundingBox(), + } + ); + } + } + + private void PerMeshClipRendering(IEnumerable bigMeshes) + { + var meshList = new List(); + + var helper = new BuildHelper(coct); + + foreach (var mesh in bigMeshes.Where(it => !it.matDef.noclip)) + { + var collisionMesh = new CollisionMesh + { + Collisions = new List() + }; + + var vifPacketIndices = new List(mesh.vifPacketIndices); + + foreach (var set in TriangleStripsToTriangleFans(mesh.triangleStripList)) + { + var quad = set.Count == 4; + + var v1 = mesh.vertexList[set[0]]; + var v2 = mesh.vertexList[set[1]]; + var v3 = mesh.vertexList[set[2]]; + var v4 = quad ? mesh.vertexList[set[3]] : Vector3.Zero; + + collisionMesh.Collisions.Add(coct.Complete( + new Collision + { + Vertex1 = helper.AllocateVertex(v1.X, -v1.Y, -v1.Z), // why -Y and -Z ? + Vertex2 = helper.AllocateVertex(v2.X, -v2.Y, -v2.Z), + Vertex3 = helper.AllocateVertex(v3.X, -v3.Y, -v3.Z), + Vertex4 = Convert.ToInt16(quad ? helper.AllocateVertex(v4.X, -v4.Y, -v4.Z) : -1), + SurfaceFlags = new SurfaceFlags() { Flags = mesh.matDef.surfaceFlags } + }, + inflate: 1 + )); + } + + vifPacketRenderingGroup.Add( + vifPacketIndices + .Distinct() + .ToArray() + ); + + coct.Complete(collisionMesh); + meshList.Add(collisionMesh); + } + + coct.CompleteAndAdd( + new CollisionMeshGroup + { + Meshes = meshList + } + ); + + // Entry2 index is tightly coupled to vifPacketRenderingGroup's index. + // Thus do not add Entry2 unplanned. + + CreateDoctFromCoct(meshList); + } + + private static IEnumerable> TriangleStripsToTriangleFans(IList list) + { + foreach (var set in list) + { + var cx = set.vertexIndices.Count; + if (cx == 3) + { + yield return set.vertexIndices; + } + if (cx >= 4) + { + for (int x = 4; x <= cx; x += 2) + { + yield return new int[] + { + set.vertexIndices[x - 4 + 0], + set.vertexIndices[x - 4 + 1], + set.vertexIndices[x - 4 + 3], + set.vertexIndices[x - 4 + 2], + }; + if (x + 1 == cx) + { + yield return new int[] + { + set.vertexIndices[x - 2 + 0], + set.vertexIndices[x - 2 + 1], + set.vertexIndices[x - 2 + 2], + }; + } + } + } + } + } + } +} diff --git a/OpenKh.Command.MapGen/Utils/FileExtUtil.cs b/OpenKh.Command.MapGen/Utils/FileExtUtil.cs index 667767783..0e4555088 100644 --- a/OpenKh.Command.MapGen/Utils/FileExtUtil.cs +++ b/OpenKh.Command.MapGen/Utils/FileExtUtil.cs @@ -1,14 +1,14 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; - -namespace OpenKh.Command.MapGen.Utils -{ - static class FileExtUtil - { - public static bool IsExtension(string path, string ext) => - Path.GetExtension(path).Equals(ext, StringComparison.InvariantCultureIgnoreCase); - - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace OpenKh.Command.MapGen.Utils +{ + static class FileExtUtil + { + public static bool IsExtension(string path, string ext) => + Path.GetExtension(path).Equals(ext, StringComparison.InvariantCultureIgnoreCase); + + } +} diff --git a/OpenKh.Command.MapGen/Utils/ImageResizer.cs b/OpenKh.Command.MapGen/Utils/ImageResizer.cs index 822b693b6..e721f11c0 100644 --- a/OpenKh.Command.MapGen/Utils/ImageResizer.cs +++ b/OpenKh.Command.MapGen/Utils/ImageResizer.cs @@ -1,80 +1,80 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Runtime.Versioning; -using System.Text; -using NLog; -using OpenKh.Kh2; - -namespace OpenKh.Command.MapGen.Utils -{ - class ImageResizer - { - private static readonly int[] AllowedTextureWidthList = new int[] { 128, 256, 512 }; - private static readonly int[] AllowedTextureHeightList = new int[] { 64, 128, 256, 512 }; - private static Logger logger = LogManager.GetCurrentClassLogger(); - - public static Imgd NormalizeImageSize(Imgd imgd) - { - if (false - || !AllowedTextureWidthList.Contains(imgd.Size.Width) - || !AllowedTextureHeightList.Contains(imgd.Size.Height) - ) - { - var newWidth = (imgd.Size.Width <= 128) ? 128 - : (imgd.Size.Width <= 256) ? 256 - : 512; - - var newHeight = (imgd.Size.Height <= 64) ? 64 - : (imgd.Size.Height <= 128) ? 128 - : (imgd.Size.Height <= 256) ? 256 - : 512; - - var width = imgd.Size.Width; - var height = imgd.Size.Height; - - logger.Info($"This image will be resized due to comformance of texture size. Resizing from ({width}, {height}) to ({newWidth}, {newHeight})."); - - if (imgd.PixelFormat == Imaging.PixelFormat.Indexed8) - { - var bits = imgd.GetData(); - var newBits = new byte[newWidth * newHeight]; - var dstToSrcX = Enumerable.Range(0, newWidth) - .Select(xPos => (int)(xPos / (float)newWidth * width)) - .ToArray(); - var dstToSrcY = Enumerable.Range(0, newHeight) - .Select(yPos => (int)(yPos / (float)newHeight * height)) - .ToArray(); - - for (var y = 0; y < newHeight; y++) - { - var dstOffset = newWidth * y; - var srcOffset = width * dstToSrcY[y]; - - for (var x = 0; x < newWidth; x++) - { - newBits[dstOffset + x] = bits[srcOffset + dstToSrcX[x]]; - } - } - - return new Imgd( - new Size(newWidth, newHeight), - Imaging.PixelFormat.Indexed8, - newBits, - imgd.GetClut(), - false - ); - } - else - { - throw new NotSupportedException($"{imgd}"); - } - } - else - { - return imgd; - } - } - } -} +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Runtime.Versioning; +using System.Text; +using NLog; +using OpenKh.Kh2; + +namespace OpenKh.Command.MapGen.Utils +{ + class ImageResizer + { + private static readonly int[] AllowedTextureWidthList = new int[] { 128, 256, 512 }; + private static readonly int[] AllowedTextureHeightList = new int[] { 64, 128, 256, 512 }; + private static Logger logger = LogManager.GetCurrentClassLogger(); + + public static Imgd NormalizeImageSize(Imgd imgd) + { + if (false + || !AllowedTextureWidthList.Contains(imgd.Size.Width) + || !AllowedTextureHeightList.Contains(imgd.Size.Height) + ) + { + var newWidth = (imgd.Size.Width <= 128) ? 128 + : (imgd.Size.Width <= 256) ? 256 + : 512; + + var newHeight = (imgd.Size.Height <= 64) ? 64 + : (imgd.Size.Height <= 128) ? 128 + : (imgd.Size.Height <= 256) ? 256 + : 512; + + var width = imgd.Size.Width; + var height = imgd.Size.Height; + + logger.Info($"This image will be resized due to comformance of texture size. Resizing from ({width}, {height}) to ({newWidth}, {newHeight})."); + + if (imgd.PixelFormat == Imaging.PixelFormat.Indexed8) + { + var bits = imgd.GetData(); + var newBits = new byte[newWidth * newHeight]; + var dstToSrcX = Enumerable.Range(0, newWidth) + .Select(xPos => (int)(xPos / (float)newWidth * width)) + .ToArray(); + var dstToSrcY = Enumerable.Range(0, newHeight) + .Select(yPos => (int)(yPos / (float)newHeight * height)) + .ToArray(); + + for (var y = 0; y < newHeight; y++) + { + var dstOffset = newWidth * y; + var srcOffset = width * dstToSrcY[y]; + + for (var x = 0; x < newWidth; x++) + { + newBits[dstOffset + x] = bits[srcOffset + dstToSrcX[x]]; + } + } + + return new Imgd( + new Size(newWidth, newHeight), + Imaging.PixelFormat.Indexed8, + newBits, + imgd.GetClut(), + false + ); + } + else + { + throw new NotSupportedException($"{imgd}"); + } + } + else + { + return imgd; + } + } + } +} diff --git a/OpenKh.Command.MapGen/Utils/MapBuilder.cs b/OpenKh.Command.MapGen/Utils/MapBuilder.cs index 8df7e936d..321ca0c83 100644 --- a/OpenKh.Command.MapGen/Utils/MapBuilder.cs +++ b/OpenKh.Command.MapGen/Utils/MapBuilder.cs @@ -1,500 +1,500 @@ -using NLog; -using OpenKh.Command.MapGen.Models; -using OpenKh.Kh2; -using OpenKh.Kh2.TextureFooter; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Numerics; -using Xe.Graphics; -using Matrix4x4 = System.Numerics.Matrix4x4; - -namespace OpenKh.Command.MapGen.Utils -{ - public class MapBuilder - { - private const int MaxVertCount = 71; - - private Mdlx.M4 mapModel; - private BigMeshContainer bigMeshContainer; - private List smallMeshList = new List(); - private ModelTexture modelTex; - private CollisionBuilder collisionBuilder; - private Logger logger = LogManager.GetCurrentClassLogger(); - private readonly MapGenConfig config; - - public MapBuilder(string modelFile, MapGenConfig config, Func imageLoader) - { - this.config = config; - - ConvertModelIntoMapModel(modelFile, config); - - logger.Debug($"Starting collision plane builder."); - - collisionBuilder = new CollisionBuilder(smallMeshList, config.disableBSPCollisionBuilder); - - if (collisionBuilder.vifPacketRenderingGroup != null) - { - logger.Debug($"Updating vifPacketRenderingGroup builder."); - - mapModel.vifPacketRenderingGroup = collisionBuilder.vifPacketRenderingGroup; - - logger.Debug($"Output: {mapModel.vifPacketRenderingGroup.Count:#,##0} groups."); - } - - logger.Debug($"Output: {collisionBuilder.coct.CollisionMeshGroupList.Count:#,##0} collision mesh groups"); - - { - var matDefList = bigMeshContainer.AllocatedMaterialDefs; - var imageSets = matDefList - .Select(matDef => new ImageSet { image = imageLoader(matDef), matDef = matDef, }) - .ToArray(); - - var footerData = new MemoryStream(); - { - var footer = new TextureFooterData(); - foreach (var uvscItem in config.uvscList) - { - footer.UvscList.Add( - new UvScroll - { - TextureIndex = uvscItem.index, - UScrollSpeed = uvscItem.u, - VScrollSpeed = uvscItem.v, - } - ); - } - footer.Write(footerData); - } - - var build = new ModelTexture.Build - { - images = imageSets - .Select(set => set.image) - .ToArray(), - - offsetData = null, // auto serial number map - - textureTransfer = null, // auto create - - gsInfo = imageSets - .Select( - set => - { - var gsInfo = new ModelTexture.UserGsInfo(set.image); - gsInfo.AddressMode.AddressU = - Enum.Parse( - set.matDef.textureOptions.addressU - ?? config.textureOptions.addressU - ?? "Repeat" - ); - gsInfo.AddressMode.AddressV = - Enum.Parse( - set.matDef.textureOptions.addressV - ?? config.textureOptions.addressV - ?? "Repeat" - ); - return gsInfo; - } - ) - .ToArray(), - - footerData = footerData.ToArray(), - }; - - modelTex = new ModelTexture(build); - } - } - - class ImageSet - { - public Imgd image; - public MaterialDef matDef; - } - - private void ConvertModelIntoMapModel(string modelFile, MapGenConfig config) - { - logger.Debug($"Loading 3D model file \"{modelFile}\" using Assimp."); - - var assimp = new Assimp.AssimpContext(); - var scene = assimp.ImportFile(modelFile, Assimp.PostProcessSteps.PreTransformVertices); - - bigMeshContainer = new BigMeshContainer(); - - var scale = config.scale; - - Matrix4x4 matrix = Matrix4x4.Identity; - - if (config.applyMatrix != null) - { - var m = config.applyMatrix; - - if (m.Length == 16) - { - matrix = new Matrix4x4( - m[0], m[1], m[2], m[3], - m[4], m[5], m[6], m[7], - m[8], m[9], m[10], m[11], - m[12], m[13], m[14], m[15] - ); - - logger.Debug($"Apply matrix: {matrix}"); - } - } - else - { - matrix *= scale; - } - - logger.Debug($"Starting triangle strip conversion for {scene.Meshes.Count} meshes."); - - foreach (var inputMesh in scene.Meshes) - { - logger.Debug($"Mesh: {inputMesh.Name} ({inputMesh.FaceCount:#,##0} faces, {inputMesh.VertexCount:#,##0} vertices)"); - - var modelMat = scene.Materials[inputMesh.MaterialIndex]; - - var matDef = config.FindMaterial(modelMat.Name ?? "default") ?? MaterialDef.CreateFallbackFor(modelMat.Name); - if (matDef.ignore) - { - logger.Info($"This mesh \"{inputMesh.Name}\" is not rendered due to ignore flag of material \"{modelMat.Name}\"."); - continue; - } - - var kh2Mesh = bigMeshContainer.AllocateBigMeshForMaterial(matDef); - - var diffuseTextureFile = modelMat.TextureDiffuse.FilePath; - if (!string.IsNullOrEmpty(diffuseTextureFile)) - { - if (config.reuseImd) - { - logger.Debug($"The mesh \"{inputMesh.Name}\" material \"{matDef.name}\" has filepath \"{diffuseTextureFile}\" for diffuse texture. It will be associated with material's fromFile3. Setting preferable imd file to fromFile2 due to reuseImd flag."); - - matDef.fromFile2 = Path.ChangeExtension(diffuseTextureFile, ".imd"); - matDef.fromFile3 = diffuseTextureFile; - } - else - { - logger.Debug($"The mesh \"{inputMesh.Name}\" material \"{matDef.name}\" has filepath \"{diffuseTextureFile}\" for diffuse texture. It will be associated with material's fromFile2."); - - matDef.fromFile3 = diffuseTextureFile; - } - } - - var kh2BaseVert = kh2Mesh.vertexList.Count; - - List vertexToLocal = new List(); - - foreach (var inputVertex in inputMesh.Vertices) - { - var vertex = Vector3.Transform( - new Vector3(inputVertex.X, inputVertex.Y, inputVertex.Z), - matrix - ); - - var index = kh2Mesh.vertexList.IndexOf(vertex); - if (index < 0) - { - index = kh2Mesh.vertexList.Count; - kh2Mesh.vertexList.Add(vertex); - } - - vertexToLocal.Add(index); - } - - var localFaces = inputMesh.Faces - .Select( - set => set.Indices - .Select(index => new VertPair { uvColorIndex = index, vertexIndex = vertexToLocal[index] }) - .ToArray() - ) - .ToArray(); - - var inputTexCoords = inputMesh.TextureCoordinateChannels.First(); - var inputVertexColorList = inputMesh.VertexColorChannels.First(); - - var hasVertexColor = inputMesh.VertexColorChannelCount >= 1; - - var maxIntensity = matDef.maxColorIntensity - ?? config.maxColorIntensity - ?? 128; - var maxAlpha = matDef.maxAlpha - ?? config.maxAlpha - ?? 128; - - var triConverter = - config.disableTriangleStripsOptimization - ? (TriangleFansToTriangleStripsConverter)TriangleFansToTriangleStripsNoOpts - : (TriangleFansToTriangleStripsConverter)TriangleFansToTriangleStripsOptimized; - - foreach (var triStripInput in triConverter(localFaces)) - { - var triStripOut = new BigMesh.TriangleStrip(); - - foreach (var vertPair in triStripInput) - { - triStripOut.vertexIndices.Add(kh2BaseVert + vertPair.vertexIndex); - - triStripOut.uvList.Add(Get2DCoord(inputTexCoords[vertPair.uvColorIndex])); - - if (hasVertexColor) - { - triStripOut.vertexColorList.Add(ConvertVertexColor(inputVertexColorList[vertPair.uvColorIndex], maxIntensity, maxAlpha)); - } - else - { - triStripOut.vertexColorList.Add(new Color(maxIntensity, maxIntensity, maxIntensity, maxAlpha)); - } - } - - kh2Mesh.triangleStripList.Add(triStripOut); - } - - logger.Debug($"Output: {kh2Mesh.vertexList.Count:#,##0} vertices, {kh2Mesh.triangleStripList.Count:#,##0} triangle strips."); - } - - logger.Debug($"The conversion has done."); - - logger.Debug($"Starting mesh splitter and vif packets builder."); - - mapModel = new Mdlx.M4 - { - VifPackets = new List(), - }; - - foreach (var bigMesh in bigMeshContainer.MeshList - .Where(it => it.textureIndex != -1) - ) - { - foreach (var smallMesh in BigMeshSplitter.Split(bigMesh)) - { - var dmaPack = new MapVifPacketBuilder(smallMesh); - - smallMeshList.Add(smallMesh); - - bigMesh.vifPacketIndices.Add(Convert.ToUInt16(mapModel.VifPackets.Count)); - smallMesh.vifPacketIndices.Add(Convert.ToUInt16(mapModel.VifPackets.Count)); - - mapModel.VifPackets.Add( - new Mdlx.VifPacketDescriptor - { - VifPacket = dmaPack.vifPacket.ToArray(), - TextureId = smallMesh.textureIndex, - DmaPerVif = new ushort[] { - dmaPack.firstVifPacketQwc, - 0, - }, - IsTransparentFlag = smallMesh.matDef.transparentFlag ?? 0, - EnableUvsc = smallMesh.matDef.uvscIndex.HasValue, - UvscIndex = smallMesh.matDef.uvscIndex ?? 0, - } - ); - } - } - - logger.Debug($"Output: {mapModel.VifPackets.Count:#,##0} vif packets."); - - logger.Debug($"The builder has done."); - - logger.Debug($"Starting vifPacketRenderingGroup builder."); - - // first group: render all - - mapModel.vifPacketRenderingGroup = new List( - new ushort[][] { - Enumerable.Range(0, mapModel.VifPackets.Count) - .Select(it => Convert.ToUInt16(it)) - .ToArray() - } - ); - - logger.Debug($"Output: {mapModel.vifPacketRenderingGroup.Count:#,##0} groups."); - - mapModel.DmaChainIndexRemapTable = new List( - Enumerable.Range(0, mapModel.VifPackets.Count) - .Select(it => Convert.ToUInt16(it)) - .ToArray() - ); - } - - class VertPair - { - /// - /// compacted vertex index - /// - public int vertexIndex; - - /// - /// uv and vertex color index - /// - public int uvColorIndex; - - public override string ToString() => $"{vertexIndex}"; - } - - private delegate IEnumerable> TriangleFansToTriangleStripsConverter(VertPair[][] faces); - - private IEnumerable> TriangleFansToTriangleStripsNoOpts(VertPair[][] faces) => faces; - - private IEnumerable> TriangleFansToTriangleStripsOptimized(VertPair[][] faces) - { - var list = faces - .SelectMany(face => TriangleFanToTriangleStrips(face)) - .Select(it => it.ToList()) - .ToList(); - - while (true) - { - var anyOutnerJoin = false; - - for (int x = 0; x < list.Count; x++) - { - while (true) - { - var anyInnerJoin = false; - - var v0 = list[x][0].vertexIndex; - var v1 = list[x][1].vertexIndex; - var v2 = list[x][list[x].Count - 2].vertexIndex; - var v3 = list[x][list[x].Count - 1].vertexIndex; - - for (int y = x + 1; y < list.Count; y++) - { - if (list[y][0].vertexIndex == v2 && list[y][1].vertexIndex == v3 && list[x].Count + list[y].Count - 2 < MaxVertCount) - { - list[x].AddRange(list[y].Skip(2)); - list.RemoveAt(y); - y--; - anyInnerJoin = true; - break; - } - if (list[y][list[y].Count - 2].vertexIndex == v0 && list[y][list[y].Count - 1].vertexIndex == v1 && list[x].Count + list[y].Count - 2 < MaxVertCount) - { - list[x].InsertRange(0, list[y].SkipLast(2)); - list.RemoveAt(y); - y--; - anyInnerJoin = true; - break; - } - } - - anyOutnerJoin |= anyInnerJoin; - - if (!anyInnerJoin) - { - break; - } - } - } - - if (!anyOutnerJoin) - { - break; - } - } - return list; - } - - private static IEnumerable> TriangleFanToTriangleStrips(IList list) - { - switch (list.Count) - { - case 3: - yield return list; - break; - case 4: - yield return new VertPair[] { list[0], list[1], list[3], list[2] }; - break; - default: - throw new NotSupportedException(); - } - } - - private static Color ConvertVertexColor(Assimp.Color4D clr, byte maxColorIntensity, byte maxAlpha) => new Color( - (byte)Math.Min(255, clr.R * maxColorIntensity), - (byte)Math.Min(255, clr.G * maxColorIntensity), - (byte)Math.Min(255, clr.B * maxColorIntensity), - (byte)Math.Min(255, clr.A * maxAlpha) - ); - - private static Vector2 Get2DCoord(Assimp.Vector3D vector3D) => new Vector2(vector3D.X, 1 - vector3D.Y); - - - public List GetBarEntries(Action trySaveTo = null) - { - var entries = new List(); - - { - var mapBin = new MemoryStream(); - Mdlx.CreateFromMapModel(mapModel).Write(mapBin); - mapBin.Position = 0; - - entries.Add( - new Bar.Entry - { - Name = config.bar?.model?.name ?? "MAP", - Type = Bar.EntryType.Model, - Stream = mapBin, - } - ); - - trySaveTo?.Invoke(config.bar?.model?.toFile, mapBin); - } - - { - var texBin = new MemoryStream(); - modelTex.Write(texBin); - texBin.Position = 0; - - entries.Add( - new Bar.Entry - { - Name = config.bar?.texture?.name ?? "MAP", - Type = Bar.EntryType.ModelTexture, - Stream = texBin, - } - ); - - trySaveTo?.Invoke(config.bar?.texture?.toFile, texBin); - } - - { - var doctBin = new MemoryStream(); - collisionBuilder.doct.Write(doctBin); - doctBin.Position = 0; - - entries.Add( - new Bar.Entry - { - Name = config.bar?.doct?.name ?? "eh_1", - Type = Bar.EntryType.MeshOcclusion, - Stream = doctBin, - } - ); - - trySaveTo?.Invoke(config.bar?.doct?.toFile, doctBin); - } - - { - var coctBin = new MemoryStream(); - collisionBuilder.coct.Write(coctBin); - coctBin.Position = 0; - - entries.Add( - new Bar.Entry - { - Name = config.bar?.coct?.name ?? "ID_e", - Type = Bar.EntryType.MapCollision, - Stream = coctBin, - } - ); - - trySaveTo?.Invoke(config.bar?.coct?.toFile, coctBin); - } - - return entries; - } - - } -} +using NLog; +using OpenKh.Command.MapGen.Models; +using OpenKh.Kh2; +using OpenKh.Kh2.TextureFooter; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Numerics; +using Xe.Graphics; +using Matrix4x4 = System.Numerics.Matrix4x4; + +namespace OpenKh.Command.MapGen.Utils +{ + public class MapBuilder + { + private const int MaxVertCount = 71; + + private Mdlx.M4 mapModel; + private BigMeshContainer bigMeshContainer; + private List smallMeshList = new List(); + private ModelTexture modelTex; + private CollisionBuilder collisionBuilder; + private Logger logger = LogManager.GetCurrentClassLogger(); + private readonly MapGenConfig config; + + public MapBuilder(string modelFile, MapGenConfig config, Func imageLoader) + { + this.config = config; + + ConvertModelIntoMapModel(modelFile, config); + + logger.Debug($"Starting collision plane builder."); + + collisionBuilder = new CollisionBuilder(smallMeshList, config.disableBSPCollisionBuilder); + + if (collisionBuilder.vifPacketRenderingGroup != null) + { + logger.Debug($"Updating vifPacketRenderingGroup builder."); + + mapModel.vifPacketRenderingGroup = collisionBuilder.vifPacketRenderingGroup; + + logger.Debug($"Output: {mapModel.vifPacketRenderingGroup.Count:#,##0} groups."); + } + + logger.Debug($"Output: {collisionBuilder.coct.CollisionMeshGroupList.Count:#,##0} collision mesh groups"); + + { + var matDefList = bigMeshContainer.AllocatedMaterialDefs; + var imageSets = matDefList + .Select(matDef => new ImageSet { image = imageLoader(matDef), matDef = matDef, }) + .ToArray(); + + var footerData = new MemoryStream(); + { + var footer = new TextureFooterData(); + foreach (var uvscItem in config.uvscList) + { + footer.UvscList.Add( + new UvScroll + { + TextureIndex = uvscItem.index, + UScrollSpeed = uvscItem.u, + VScrollSpeed = uvscItem.v, + } + ); + } + footer.Write(footerData); + } + + var build = new ModelTexture.Build + { + images = imageSets + .Select(set => set.image) + .ToArray(), + + offsetData = null, // auto serial number map + + textureTransfer = null, // auto create + + gsInfo = imageSets + .Select( + set => + { + var gsInfo = new ModelTexture.UserGsInfo(set.image); + gsInfo.AddressMode.AddressU = + Enum.Parse( + set.matDef.textureOptions.addressU + ?? config.textureOptions.addressU + ?? "Repeat" + ); + gsInfo.AddressMode.AddressV = + Enum.Parse( + set.matDef.textureOptions.addressV + ?? config.textureOptions.addressV + ?? "Repeat" + ); + return gsInfo; + } + ) + .ToArray(), + + footerData = footerData.ToArray(), + }; + + modelTex = new ModelTexture(build); + } + } + + class ImageSet + { + public Imgd image; + public MaterialDef matDef; + } + + private void ConvertModelIntoMapModel(string modelFile, MapGenConfig config) + { + logger.Debug($"Loading 3D model file \"{modelFile}\" using Assimp."); + + var assimp = new Assimp.AssimpContext(); + var scene = assimp.ImportFile(modelFile, Assimp.PostProcessSteps.PreTransformVertices); + + bigMeshContainer = new BigMeshContainer(); + + var scale = config.scale; + + Matrix4x4 matrix = Matrix4x4.Identity; + + if (config.applyMatrix != null) + { + var m = config.applyMatrix; + + if (m.Length == 16) + { + matrix = new Matrix4x4( + m[0], m[1], m[2], m[3], + m[4], m[5], m[6], m[7], + m[8], m[9], m[10], m[11], + m[12], m[13], m[14], m[15] + ); + + logger.Debug($"Apply matrix: {matrix}"); + } + } + else + { + matrix *= scale; + } + + logger.Debug($"Starting triangle strip conversion for {scene.Meshes.Count} meshes."); + + foreach (var inputMesh in scene.Meshes) + { + logger.Debug($"Mesh: {inputMesh.Name} ({inputMesh.FaceCount:#,##0} faces, {inputMesh.VertexCount:#,##0} vertices)"); + + var modelMat = scene.Materials[inputMesh.MaterialIndex]; + + var matDef = config.FindMaterial(modelMat.Name ?? "default") ?? MaterialDef.CreateFallbackFor(modelMat.Name); + if (matDef.ignore) + { + logger.Info($"This mesh \"{inputMesh.Name}\" is not rendered due to ignore flag of material \"{modelMat.Name}\"."); + continue; + } + + var kh2Mesh = bigMeshContainer.AllocateBigMeshForMaterial(matDef); + + var diffuseTextureFile = modelMat.TextureDiffuse.FilePath; + if (!string.IsNullOrEmpty(diffuseTextureFile)) + { + if (config.reuseImd) + { + logger.Debug($"The mesh \"{inputMesh.Name}\" material \"{matDef.name}\" has filepath \"{diffuseTextureFile}\" for diffuse texture. It will be associated with material's fromFile3. Setting preferable imd file to fromFile2 due to reuseImd flag."); + + matDef.fromFile2 = Path.ChangeExtension(diffuseTextureFile, ".imd"); + matDef.fromFile3 = diffuseTextureFile; + } + else + { + logger.Debug($"The mesh \"{inputMesh.Name}\" material \"{matDef.name}\" has filepath \"{diffuseTextureFile}\" for diffuse texture. It will be associated with material's fromFile2."); + + matDef.fromFile3 = diffuseTextureFile; + } + } + + var kh2BaseVert = kh2Mesh.vertexList.Count; + + List vertexToLocal = new List(); + + foreach (var inputVertex in inputMesh.Vertices) + { + var vertex = Vector3.Transform( + new Vector3(inputVertex.X, inputVertex.Y, inputVertex.Z), + matrix + ); + + var index = kh2Mesh.vertexList.IndexOf(vertex); + if (index < 0) + { + index = kh2Mesh.vertexList.Count; + kh2Mesh.vertexList.Add(vertex); + } + + vertexToLocal.Add(index); + } + + var localFaces = inputMesh.Faces + .Select( + set => set.Indices + .Select(index => new VertPair { uvColorIndex = index, vertexIndex = vertexToLocal[index] }) + .ToArray() + ) + .ToArray(); + + var inputTexCoords = inputMesh.TextureCoordinateChannels.First(); + var inputVertexColorList = inputMesh.VertexColorChannels.First(); + + var hasVertexColor = inputMesh.VertexColorChannelCount >= 1; + + var maxIntensity = matDef.maxColorIntensity + ?? config.maxColorIntensity + ?? 128; + var maxAlpha = matDef.maxAlpha + ?? config.maxAlpha + ?? 128; + + var triConverter = + config.disableTriangleStripsOptimization + ? (TriangleFansToTriangleStripsConverter)TriangleFansToTriangleStripsNoOpts + : (TriangleFansToTriangleStripsConverter)TriangleFansToTriangleStripsOptimized; + + foreach (var triStripInput in triConverter(localFaces)) + { + var triStripOut = new BigMesh.TriangleStrip(); + + foreach (var vertPair in triStripInput) + { + triStripOut.vertexIndices.Add(kh2BaseVert + vertPair.vertexIndex); + + triStripOut.uvList.Add(Get2DCoord(inputTexCoords[vertPair.uvColorIndex])); + + if (hasVertexColor) + { + triStripOut.vertexColorList.Add(ConvertVertexColor(inputVertexColorList[vertPair.uvColorIndex], maxIntensity, maxAlpha)); + } + else + { + triStripOut.vertexColorList.Add(new Color(maxIntensity, maxIntensity, maxIntensity, maxAlpha)); + } + } + + kh2Mesh.triangleStripList.Add(triStripOut); + } + + logger.Debug($"Output: {kh2Mesh.vertexList.Count:#,##0} vertices, {kh2Mesh.triangleStripList.Count:#,##0} triangle strips."); + } + + logger.Debug($"The conversion has done."); + + logger.Debug($"Starting mesh splitter and vif packets builder."); + + mapModel = new Mdlx.M4 + { + VifPackets = new List(), + }; + + foreach (var bigMesh in bigMeshContainer.MeshList + .Where(it => it.textureIndex != -1) + ) + { + foreach (var smallMesh in BigMeshSplitter.Split(bigMesh)) + { + var dmaPack = new MapVifPacketBuilder(smallMesh); + + smallMeshList.Add(smallMesh); + + bigMesh.vifPacketIndices.Add(Convert.ToUInt16(mapModel.VifPackets.Count)); + smallMesh.vifPacketIndices.Add(Convert.ToUInt16(mapModel.VifPackets.Count)); + + mapModel.VifPackets.Add( + new Mdlx.VifPacketDescriptor + { + VifPacket = dmaPack.vifPacket.ToArray(), + TextureId = smallMesh.textureIndex, + DmaPerVif = new ushort[] { + dmaPack.firstVifPacketQwc, + 0, + }, + IsTransparentFlag = smallMesh.matDef.transparentFlag ?? 0, + EnableUvsc = smallMesh.matDef.uvscIndex.HasValue, + UvscIndex = smallMesh.matDef.uvscIndex ?? 0, + } + ); + } + } + + logger.Debug($"Output: {mapModel.VifPackets.Count:#,##0} vif packets."); + + logger.Debug($"The builder has done."); + + logger.Debug($"Starting vifPacketRenderingGroup builder."); + + // first group: render all + + mapModel.vifPacketRenderingGroup = new List( + new ushort[][] { + Enumerable.Range(0, mapModel.VifPackets.Count) + .Select(it => Convert.ToUInt16(it)) + .ToArray() + } + ); + + logger.Debug($"Output: {mapModel.vifPacketRenderingGroup.Count:#,##0} groups."); + + mapModel.DmaChainIndexRemapTable = new List( + Enumerable.Range(0, mapModel.VifPackets.Count) + .Select(it => Convert.ToUInt16(it)) + .ToArray() + ); + } + + class VertPair + { + /// + /// compacted vertex index + /// + public int vertexIndex; + + /// + /// uv and vertex color index + /// + public int uvColorIndex; + + public override string ToString() => $"{vertexIndex}"; + } + + private delegate IEnumerable> TriangleFansToTriangleStripsConverter(VertPair[][] faces); + + private IEnumerable> TriangleFansToTriangleStripsNoOpts(VertPair[][] faces) => faces; + + private IEnumerable> TriangleFansToTriangleStripsOptimized(VertPair[][] faces) + { + var list = faces + .SelectMany(face => TriangleFanToTriangleStrips(face)) + .Select(it => it.ToList()) + .ToList(); + + while (true) + { + var anyOutnerJoin = false; + + for (int x = 0; x < list.Count; x++) + { + while (true) + { + var anyInnerJoin = false; + + var v0 = list[x][0].vertexIndex; + var v1 = list[x][1].vertexIndex; + var v2 = list[x][list[x].Count - 2].vertexIndex; + var v3 = list[x][list[x].Count - 1].vertexIndex; + + for (int y = x + 1; y < list.Count; y++) + { + if (list[y][0].vertexIndex == v2 && list[y][1].vertexIndex == v3 && list[x].Count + list[y].Count - 2 < MaxVertCount) + { + list[x].AddRange(list[y].Skip(2)); + list.RemoveAt(y); + y--; + anyInnerJoin = true; + break; + } + if (list[y][list[y].Count - 2].vertexIndex == v0 && list[y][list[y].Count - 1].vertexIndex == v1 && list[x].Count + list[y].Count - 2 < MaxVertCount) + { + list[x].InsertRange(0, list[y].SkipLast(2)); + list.RemoveAt(y); + y--; + anyInnerJoin = true; + break; + } + } + + anyOutnerJoin |= anyInnerJoin; + + if (!anyInnerJoin) + { + break; + } + } + } + + if (!anyOutnerJoin) + { + break; + } + } + return list; + } + + private static IEnumerable> TriangleFanToTriangleStrips(IList list) + { + switch (list.Count) + { + case 3: + yield return list; + break; + case 4: + yield return new VertPair[] { list[0], list[1], list[3], list[2] }; + break; + default: + throw new NotSupportedException(); + } + } + + private static Color ConvertVertexColor(Assimp.Color4D clr, byte maxColorIntensity, byte maxAlpha) => new Color( + (byte)Math.Min(255, clr.R * maxColorIntensity), + (byte)Math.Min(255, clr.G * maxColorIntensity), + (byte)Math.Min(255, clr.B * maxColorIntensity), + (byte)Math.Min(255, clr.A * maxAlpha) + ); + + private static Vector2 Get2DCoord(Assimp.Vector3D vector3D) => new Vector2(vector3D.X, 1 - vector3D.Y); + + + public List GetBarEntries(Action trySaveTo = null) + { + var entries = new List(); + + { + var mapBin = new MemoryStream(); + Mdlx.CreateFromMapModel(mapModel).Write(mapBin); + mapBin.Position = 0; + + entries.Add( + new Bar.Entry + { + Name = config.bar?.model?.name ?? "MAP", + Type = Bar.EntryType.Model, + Stream = mapBin, + } + ); + + trySaveTo?.Invoke(config.bar?.model?.toFile, mapBin); + } + + { + var texBin = new MemoryStream(); + modelTex.Write(texBin); + texBin.Position = 0; + + entries.Add( + new Bar.Entry + { + Name = config.bar?.texture?.name ?? "MAP", + Type = Bar.EntryType.ModelTexture, + Stream = texBin, + } + ); + + trySaveTo?.Invoke(config.bar?.texture?.toFile, texBin); + } + + { + var doctBin = new MemoryStream(); + collisionBuilder.doct.Write(doctBin); + doctBin.Position = 0; + + entries.Add( + new Bar.Entry + { + Name = config.bar?.doct?.name ?? "eh_1", + Type = Bar.EntryType.MeshOcclusion, + Stream = doctBin, + } + ); + + trySaveTo?.Invoke(config.bar?.doct?.toFile, doctBin); + } + + { + var coctBin = new MemoryStream(); + collisionBuilder.coct.Write(coctBin); + coctBin.Position = 0; + + entries.Add( + new Bar.Entry + { + Name = config.bar?.coct?.name ?? "ID_e", + Type = Bar.EntryType.MapCollision, + Stream = coctBin, + } + ); + + trySaveTo?.Invoke(config.bar?.coct?.toFile, coctBin); + } + + return entries; + } + + } +} diff --git a/OpenKh.Command.MapGen/Utils/MapGenUtil.cs b/OpenKh.Command.MapGen/Utils/MapGenUtil.cs index 9be8fe93a..c4e98546e 100644 --- a/OpenKh.Command.MapGen/Utils/MapGenUtil.cs +++ b/OpenKh.Command.MapGen/Utils/MapGenUtil.cs @@ -1,271 +1,271 @@ -using NLog; -using OpenKh.Command.MapGen.Models; -using OpenKh.Kh2; -using OpenKh.Common; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Drawing; - -namespace OpenKh.Command.MapGen.Utils -{ - public class MapGenUtil - { - private readonly Logger logger = LogManager.GetCurrentClassLogger(); - - public void Run(string inputFile, string outputMap) - { - var yamlReader = new YamlDotNet.Serialization.DeserializerBuilder() - .IgnoreUnmatchedProperties() - .Build(); - - MapBuilder builder; - MapGenConfig config; - string baseDir; - string outMapFile; - - if (FileExtUtil.IsExtension(inputFile, ".yml")) - { - var ymlFile = Path.GetFullPath(inputFile); - baseDir = Path.GetDirectoryName(ymlFile); - - logger.Debug($"ymlFile is \"{ymlFile}\""); - logger.Debug($"baseDir is \"{baseDir}\""); - - config = yamlReader.Deserialize(File.ReadAllText(ymlFile)); - - var modelFile = Path.Combine(baseDir, config.inputFile); - outMapFile = Path.GetFullPath(outputMap ?? Path.Combine(baseDir, config.outputFile)); - - builder = new MapBuilder(modelFile, config, CreateImageLoader(baseDir, config, FileLoader)); - } - else - { - var modelFile = Path.GetFullPath(inputFile); - baseDir = Path.GetDirectoryName(modelFile); - var ymlFile = Path.Combine(baseDir, "mapdef.yml"); - outMapFile = Path.GetFullPath(outputMap ?? Path.Combine(baseDir, Path.ChangeExtension(inputFile, ".map"))); - - logger.Debug($"ymlFile is \"{ymlFile}\""); - logger.Debug($"baseDir is \"{baseDir}\""); - - config = File.Exists(ymlFile) - ? yamlReader.Deserialize(File.ReadAllText(ymlFile)) - : new MapGenConfig(); - - builder = new MapBuilder(modelFile, config, CreateImageLoader(baseDir, config, FileLoader)); - } - - logger.Debug("Building map file structure."); - - var buff = new MemoryStream(); - - void trySaveTo(string toFile, MemoryStream stream) - { - if (!string.IsNullOrWhiteSpace(toFile)) - { - toFile = Path.Combine(baseDir, toFile); - - logger.Debug($"Writing raw data to \"{toFile}\"."); - - Directory.CreateDirectory(Path.GetDirectoryName(toFile)); - - File.WriteAllBytes(toFile, stream.ToArray()); - } - } - - Bar.Write( - buff, - builder.GetBarEntries(trySaveTo) - .Concat(LoadAdditionalBarEntries(config, CreateRawFileLoader(baseDir))) - .ToArray() - ); - - logger.Debug($"Writing to \"{outMapFile}\"."); - - File.WriteAllBytes(outMapFile, buff.ToArray()); - - logger.Debug("Done"); - } - - - private Func CreateRawFileLoader(string baseDir) - { - return fileName => - { - var filePath = Path.Combine(baseDir, fileName); - - logger.Debug($"Going to load file from \"{filePath}\""); - - return File.ReadAllBytes(filePath); - }; - } - - private IEnumerable LoadAdditionalBarEntries(MapGenConfig config, Func fileLoader) - { - foreach (var addFile in config.addFiles) - { - var data = fileLoader(addFile.fromFile); - yield return new Bar.Entry - { - Name = addFile.name, - Type = (Bar.EntryType)addFile.type, - Stream = new MemoryStream(data), - Index = addFile.index, - }; - } - } - - private Imgd FileLoader(string filePath, MaterialDef matDef, MapGenConfig config) - { - logger.Debug($"Load image from \"{filePath}\""); - - if (FileExtUtil.IsExtension(filePath, ".imd")) - { - return ImageResizer.NormalizeImageSize(File.OpenRead(filePath).Using(s => Imgd.Read(s))); - } - if (FileExtUtil.IsExtension(filePath, ".png")) - { - var imdFile = Path.ChangeExtension(filePath, ".imd"); - - if (config.skipConversionIfExists && File.Exists(imdFile)) - { - logger.Debug($"Skipping png to imd conversion, due to imd file existence and skipConversionIfExists option."); - } - else - { - try - { - logger.Debug($"Using ImgTool for png to imd conversion."); - - var imgtoolOptions = matDef.imgtoolOptions ?? config.imgtoolOptions ?? "-b 8"; - - var result = new RunCmd( - "OpenKh.Command.ImgTool.exe", - $"imd \"{filePath}\" -o \"{imdFile}\" {imgtoolOptions}" - ); - - if (result.ExitCode != 0) - { - throw new Exception($"ImgTool failed ({result.ExitCode})"); - } - } - catch (Win32Exception ex) - { - throw new Exception("ImgTool failed.", ex); - } - } - - return FileLoader(imdFile, matDef, config); - } - - throw new NotSupportedException(Path.GetExtension(filePath)); - } - - class RunCmd - { - private Process p; - - public string App => p.StartInfo.FileName; - public int ExitCode => p.ExitCode; - - public RunCmd(string app, string arg) - { - var psi = new ProcessStartInfo(app, arg); - psi.UseShellExecute = false; - var p = Process.Start(psi); - p.WaitForExit(); - this.p = p; - } - } - - private Func CreateImageLoader(string baseDir, MapGenConfig config, Func fileLoader) - { - return (matDef) => - { - logger.Debug($"Going to load material \"{matDef.name}\"."); - - var fileNames = new string[] { - matDef.fromFile, - matDef.fromFile2, - matDef.fromFile3, - matDef.name + ".imd", - matDef.name + ".png", - } - .Where(it => !string.IsNullOrWhiteSpace(it)) - .ToList(); - - var allImageDirs = new string[] { } - .Concat( - (config.imageDirs ?? new string[0]) - .Select(imageDir => Path.Combine(baseDir, imageDir)) - ) - .Concat( - new string[] { baseDir } - ) - .ToArray(); - - var pathList = - allImageDirs - .SelectMany( - imageDir => fileNames.Select(fileName => Path.Combine(imageDir, fileName)) - ) - .ToArray(); - - var found = pathList - .FirstOrDefault(File.Exists); - - Imgd loaded = null; - - if (found != null && File.Exists(found)) - { - try - { - loaded = fileLoader(found, matDef, config); - } - catch (Exception ex) - { - logger.Warn(ex, "Load image failed!"); - } - } - - if (loaded == null) - { - logger.Warn($"File not found of material \"{matDef.name}\", or error thrown. Using fallback image instead."); - - // fallback - var pixels = new byte[128 * 128]; - for (int x = 0; x < pixels.Length; x++) - { - var y = x / 128; - var set = 0 != ((1 & (x / 8)) ^ (1 & (y / 8))); - pixels[x] = (byte)(set ? 255 : 95); - } - - var palette = new byte[4 * 256]; - for (int x = 0; x < 256; x++) - { - var v = (byte)x; - palette[4 * x + 0] = v; - palette[4 * x + 1] = v; - palette[4 * x + 2] = v; - palette[4 * x + 3] = 255; - } - - return Imgd.Create( - new Size(128, 128), - Imaging.PixelFormat.Indexed8, - pixels, - palette, - false - ); - } - - return loaded; - }; - } - } -} +using NLog; +using OpenKh.Command.MapGen.Models; +using OpenKh.Kh2; +using OpenKh.Common; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Drawing; + +namespace OpenKh.Command.MapGen.Utils +{ + public class MapGenUtil + { + private readonly Logger logger = LogManager.GetCurrentClassLogger(); + + public void Run(string inputFile, string outputMap) + { + var yamlReader = new YamlDotNet.Serialization.DeserializerBuilder() + .IgnoreUnmatchedProperties() + .Build(); + + MapBuilder builder; + MapGenConfig config; + string baseDir; + string outMapFile; + + if (FileExtUtil.IsExtension(inputFile, ".yml")) + { + var ymlFile = Path.GetFullPath(inputFile); + baseDir = Path.GetDirectoryName(ymlFile); + + logger.Debug($"ymlFile is \"{ymlFile}\""); + logger.Debug($"baseDir is \"{baseDir}\""); + + config = yamlReader.Deserialize(File.ReadAllText(ymlFile)); + + var modelFile = Path.Combine(baseDir, config.inputFile); + outMapFile = Path.GetFullPath(outputMap ?? Path.Combine(baseDir, config.outputFile)); + + builder = new MapBuilder(modelFile, config, CreateImageLoader(baseDir, config, FileLoader)); + } + else + { + var modelFile = Path.GetFullPath(inputFile); + baseDir = Path.GetDirectoryName(modelFile); + var ymlFile = Path.Combine(baseDir, "mapdef.yml"); + outMapFile = Path.GetFullPath(outputMap ?? Path.Combine(baseDir, Path.ChangeExtension(inputFile, ".map"))); + + logger.Debug($"ymlFile is \"{ymlFile}\""); + logger.Debug($"baseDir is \"{baseDir}\""); + + config = File.Exists(ymlFile) + ? yamlReader.Deserialize(File.ReadAllText(ymlFile)) + : new MapGenConfig(); + + builder = new MapBuilder(modelFile, config, CreateImageLoader(baseDir, config, FileLoader)); + } + + logger.Debug("Building map file structure."); + + var buff = new MemoryStream(); + + void trySaveTo(string toFile, MemoryStream stream) + { + if (!string.IsNullOrWhiteSpace(toFile)) + { + toFile = Path.Combine(baseDir, toFile); + + logger.Debug($"Writing raw data to \"{toFile}\"."); + + Directory.CreateDirectory(Path.GetDirectoryName(toFile)); + + File.WriteAllBytes(toFile, stream.ToArray()); + } + } + + Bar.Write( + buff, + builder.GetBarEntries(trySaveTo) + .Concat(LoadAdditionalBarEntries(config, CreateRawFileLoader(baseDir))) + .ToArray() + ); + + logger.Debug($"Writing to \"{outMapFile}\"."); + + File.WriteAllBytes(outMapFile, buff.ToArray()); + + logger.Debug("Done"); + } + + + private Func CreateRawFileLoader(string baseDir) + { + return fileName => + { + var filePath = Path.Combine(baseDir, fileName); + + logger.Debug($"Going to load file from \"{filePath}\""); + + return File.ReadAllBytes(filePath); + }; + } + + private IEnumerable LoadAdditionalBarEntries(MapGenConfig config, Func fileLoader) + { + foreach (var addFile in config.addFiles) + { + var data = fileLoader(addFile.fromFile); + yield return new Bar.Entry + { + Name = addFile.name, + Type = (Bar.EntryType)addFile.type, + Stream = new MemoryStream(data), + Index = addFile.index, + }; + } + } + + private Imgd FileLoader(string filePath, MaterialDef matDef, MapGenConfig config) + { + logger.Debug($"Load image from \"{filePath}\""); + + if (FileExtUtil.IsExtension(filePath, ".imd")) + { + return ImageResizer.NormalizeImageSize(File.OpenRead(filePath).Using(s => Imgd.Read(s))); + } + if (FileExtUtil.IsExtension(filePath, ".png")) + { + var imdFile = Path.ChangeExtension(filePath, ".imd"); + + if (config.skipConversionIfExists && File.Exists(imdFile)) + { + logger.Debug($"Skipping png to imd conversion, due to imd file existence and skipConversionIfExists option."); + } + else + { + try + { + logger.Debug($"Using ImgTool for png to imd conversion."); + + var imgtoolOptions = matDef.imgtoolOptions ?? config.imgtoolOptions ?? "-b 8"; + + var result = new RunCmd( + "OpenKh.Command.ImgTool.exe", + $"imd \"{filePath}\" -o \"{imdFile}\" {imgtoolOptions}" + ); + + if (result.ExitCode != 0) + { + throw new Exception($"ImgTool failed ({result.ExitCode})"); + } + } + catch (Win32Exception ex) + { + throw new Exception("ImgTool failed.", ex); + } + } + + return FileLoader(imdFile, matDef, config); + } + + throw new NotSupportedException(Path.GetExtension(filePath)); + } + + class RunCmd + { + private Process p; + + public string App => p.StartInfo.FileName; + public int ExitCode => p.ExitCode; + + public RunCmd(string app, string arg) + { + var psi = new ProcessStartInfo(app, arg); + psi.UseShellExecute = false; + var p = Process.Start(psi); + p.WaitForExit(); + this.p = p; + } + } + + private Func CreateImageLoader(string baseDir, MapGenConfig config, Func fileLoader) + { + return (matDef) => + { + logger.Debug($"Going to load material \"{matDef.name}\"."); + + var fileNames = new string[] { + matDef.fromFile, + matDef.fromFile2, + matDef.fromFile3, + matDef.name + ".imd", + matDef.name + ".png", + } + .Where(it => !string.IsNullOrWhiteSpace(it)) + .ToList(); + + var allImageDirs = new string[] { } + .Concat( + (config.imageDirs ?? new string[0]) + .Select(imageDir => Path.Combine(baseDir, imageDir)) + ) + .Concat( + new string[] { baseDir } + ) + .ToArray(); + + var pathList = + allImageDirs + .SelectMany( + imageDir => fileNames.Select(fileName => Path.Combine(imageDir, fileName)) + ) + .ToArray(); + + var found = pathList + .FirstOrDefault(File.Exists); + + Imgd loaded = null; + + if (found != null && File.Exists(found)) + { + try + { + loaded = fileLoader(found, matDef, config); + } + catch (Exception ex) + { + logger.Warn(ex, "Load image failed!"); + } + } + + if (loaded == null) + { + logger.Warn($"File not found of material \"{matDef.name}\", or error thrown. Using fallback image instead."); + + // fallback + var pixels = new byte[128 * 128]; + for (int x = 0; x < pixels.Length; x++) + { + var y = x / 128; + var set = 0 != ((1 & (x / 8)) ^ (1 & (y / 8))); + pixels[x] = (byte)(set ? 255 : 95); + } + + var palette = new byte[4 * 256]; + for (int x = 0; x < 256; x++) + { + var v = (byte)x; + palette[4 * x + 0] = v; + palette[4 * x + 1] = v; + palette[4 * x + 2] = v; + palette[4 * x + 3] = 255; + } + + return Imgd.Create( + new Size(128, 128), + Imaging.PixelFormat.Indexed8, + pixels, + palette, + false + ); + } + + return loaded; + }; + } + } +} diff --git a/OpenKh.Command.MapGen/Utils/MapVifPacketBuilder.cs b/OpenKh.Command.MapGen/Utils/MapVifPacketBuilder.cs index 676be35b1..5f050f438 100644 --- a/OpenKh.Command.MapGen/Utils/MapVifPacketBuilder.cs +++ b/OpenKh.Command.MapGen/Utils/MapVifPacketBuilder.cs @@ -1,209 +1,209 @@ -using OpenKh.Common; -using OpenKh.Command.MapGen.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; -using Xe.BinaryMapper; -using OpenKh.Kh2; -using System.Linq; -using McMaster.Extensions.CommandLineUtils.Conventions; - -namespace OpenKh.Command.MapGen.Utils -{ - class MapVifPacketBuilder - { - public MemoryStream vifPacket = new MemoryStream(); - - public ushort firstVifPacketQwc; - - public MapVifPacketBuilder( - BigMesh mesh - ) - { - var nLarge = mesh.triangleStripList.Sum(it => it.vertexIndices.Count); - var nSmall = mesh.vertexList.Count; - - var top = new TopHeader - { - numVertIdx = nLarge, - offVertIdx = 4, - - numClrVert = nLarge, - offClrVert = 4 + nLarge, - - numPosVert = nSmall, - offPosVert = 4 + nLarge + nLarge, - }; - - { - var writer = new BinaryWriter(vifPacket); - - writer.Write(0x01000101); // stcycl cl 01 wl 01 - writer.Write(0x6C048000); // unpack V4-32 c 4 a 000 usn 0 flg 1 m 0 - BinaryMapping.WriteObject(vifPacket, top); - - vifPacket.AlignPosition(4); - - { - // write uv - var off = 4; - var num = Convert.ToByte(nLarge); - writer.Write(0x01000101); // stcycl cl 01 wl 01 - writer.Write((int)(0x65008000 | off | (num << 16))); // unpack V2-16 c 14 a 004 usn 0 flg 1 m 0 - foreach (var one in mesh.triangleStripList.SelectMany(it => it.uvList)) - { - writer.Write(Convert.ToInt16(Math.Max(-32768, Math.Min(32767, (one.X * 4096))))); - writer.Write(Convert.ToInt16(Math.Max(-32768, Math.Min(32767, (one.Y * 4096))))); - } - } - - vifPacket.AlignPosition(4); - - { - // write idx - var off = 4; - var num = Convert.ToByte(nLarge); - writer.Write(0x20000000); // stmask 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 3 - writer.Write(0xcfcfcfcf); - writer.Write(0x01000101); // stcycl cl 01 wl 01 - writer.Write((int)(0x7200C000 | off | (num << 16))); // unpack S-8 c 14 a 004 usn 1 flg 1 m 1 - foreach (var one in mesh.triangleStripList.SelectMany(it => it.vertexIndices)) - { - writer.Write(Convert.ToByte(one)); - } - } - - vifPacket.AlignPosition(4); - - { - // write flags - var off = 4; - var num = Convert.ToByte(nLarge); - writer.Write(0x20000000); // stmask 3 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 - writer.Write(0x3f3f3f3f); - writer.Write(0x01000101); // stcycl cl 01 wl 01 - writer.Write((int)(0x7200C000 | off | (num << 16))); // unpack S-8 c 14 a 004 usn 1 flg 1 m 1 - - foreach (var triStrip in mesh.triangleStripList) - { - var count = triStrip.vertexIndices.Count; - if (count >= 1) - { - writer.Write((byte)0x10); - if (count >= 2) - { - writer.Write((byte)0x10); - for (var x = 2; x < count; x++) - { - if (0 == (x & 1)) - { - writer.Write((byte)0x20); - } - else - { - writer.Write((byte)0x30); - } - } - } - } - } - } - - vifPacket.AlignPosition(4); - - { - // write vertex color list - var off = 4 + nLarge; - var num = Convert.ToByte(nLarge); - writer.Write(0x20000000); // stmask 3 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 - writer.Write(0x3f3f3f3f); - writer.Write(0x01000101); // stcycl cl 01 wl 01 - writer.Write((int)(0x6E00C000 | off | (num << 16))); // unpack V4-8 c 14 a 012 usn 1 flg 1 m 0 - foreach (var color in mesh.triangleStripList.SelectMany(it => it.vertexColorList)) - { - writer.Write(color.r); - writer.Write(color.g); - writer.Write(color.b); - writer.Write(color.a); - } - } - - vifPacket.AlignPosition(4); - - { - // write vertices - var off = 4 + nLarge + nLarge; - var num = Convert.ToByte(nSmall); - writer.Write(0x31000000); // stcol 3f800000 3f800000 3f800000 3f800000 - writer.Write(0x3f800000); - writer.Write(0x3f800000); - writer.Write(0x3f800000); - writer.Write(0x3f800000); - writer.Write(0x20000000); // stmask 3 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 - writer.Write(0x80808080); - writer.Write(0x01000101); // stcycl cl 01 wl 01 - writer.Write((int)(0x78008000 | off | (num << 16))); // unpack V3-32 c 9 a 020 usn 0 flg 1 m 1 - foreach (var one in mesh.vertexList) - { - writer.Write(one.X); - writer.Write(one.Y); - writer.Write(one.Z); - } - } - - vifPacket.AlignPosition(4); - - writer.Write(0x17000000); // mscnt - } - - Align16Plus8(vifPacket); - - firstVifPacketQwc = Convert.ToUInt16(vifPacket.Length / 16); - - vifPacket.Write(new byte[8], 0, 8); // write later 8 bytes of the follwing dma (id=RET) packet. - } - - private void Align16Plus8(Stream stream) - { - stream.Position = stream.Length; - var fill = new byte[(16 - ((int)(stream.Length - 8) & 15)) & 15]; - stream.Write(fill, 0, fill.Length); - } - - private static byte ToPs2Alpha(byte data) => (byte)((data + 1) / 2); - - class DmaSourceChainTag - { - [Data] public ushort qwc { get; set; } - [Data] public ushort idFlg { get; set; } - [Data] public uint addr { get; set; } - } - - /// - /// VPU1 map program header - /// - class TopHeader - { - [Data] public int unk1 { get; set; } - [Data] public int unk2 { get; set; } - [Data] public int unk3 { get; set; } - [Data] public int unk4 { get; set; } - - [Data] public int numVertIdx { get; set; } - [Data] public int offVertIdx { get; set; } - [Data] public int unk5 { get; set; } - [Data] public int unk6 { get; set; } - - [Data] public int numClrVert { get; set; } - [Data] public int offClrVert { get; set; } - [Data] public int unk7 { get; set; } - [Data] public int unk8 { get; set; } - - [Data] public int numPosVert { get; set; } - [Data] public int offPosVert { get; set; } - [Data] public int unk9 { get; set; } - [Data] public int unk10 { get; set; } - } - } -} +using OpenKh.Common; +using OpenKh.Command.MapGen.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Xe.BinaryMapper; +using OpenKh.Kh2; +using System.Linq; +using McMaster.Extensions.CommandLineUtils.Conventions; + +namespace OpenKh.Command.MapGen.Utils +{ + class MapVifPacketBuilder + { + public MemoryStream vifPacket = new MemoryStream(); + + public ushort firstVifPacketQwc; + + public MapVifPacketBuilder( + BigMesh mesh + ) + { + var nLarge = mesh.triangleStripList.Sum(it => it.vertexIndices.Count); + var nSmall = mesh.vertexList.Count; + + var top = new TopHeader + { + numVertIdx = nLarge, + offVertIdx = 4, + + numClrVert = nLarge, + offClrVert = 4 + nLarge, + + numPosVert = nSmall, + offPosVert = 4 + nLarge + nLarge, + }; + + { + var writer = new BinaryWriter(vifPacket); + + writer.Write(0x01000101); // stcycl cl 01 wl 01 + writer.Write(0x6C048000); // unpack V4-32 c 4 a 000 usn 0 flg 1 m 0 + BinaryMapping.WriteObject(vifPacket, top); + + vifPacket.AlignPosition(4); + + { + // write uv + var off = 4; + var num = Convert.ToByte(nLarge); + writer.Write(0x01000101); // stcycl cl 01 wl 01 + writer.Write((int)(0x65008000 | off | (num << 16))); // unpack V2-16 c 14 a 004 usn 0 flg 1 m 0 + foreach (var one in mesh.triangleStripList.SelectMany(it => it.uvList)) + { + writer.Write(Convert.ToInt16(Math.Max(-32768, Math.Min(32767, (one.X * 4096))))); + writer.Write(Convert.ToInt16(Math.Max(-32768, Math.Min(32767, (one.Y * 4096))))); + } + } + + vifPacket.AlignPosition(4); + + { + // write idx + var off = 4; + var num = Convert.ToByte(nLarge); + writer.Write(0x20000000); // stmask 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 3 + writer.Write(0xcfcfcfcf); + writer.Write(0x01000101); // stcycl cl 01 wl 01 + writer.Write((int)(0x7200C000 | off | (num << 16))); // unpack S-8 c 14 a 004 usn 1 flg 1 m 1 + foreach (var one in mesh.triangleStripList.SelectMany(it => it.vertexIndices)) + { + writer.Write(Convert.ToByte(one)); + } + } + + vifPacket.AlignPosition(4); + + { + // write flags + var off = 4; + var num = Convert.ToByte(nLarge); + writer.Write(0x20000000); // stmask 3 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 + writer.Write(0x3f3f3f3f); + writer.Write(0x01000101); // stcycl cl 01 wl 01 + writer.Write((int)(0x7200C000 | off | (num << 16))); // unpack S-8 c 14 a 004 usn 1 flg 1 m 1 + + foreach (var triStrip in mesh.triangleStripList) + { + var count = triStrip.vertexIndices.Count; + if (count >= 1) + { + writer.Write((byte)0x10); + if (count >= 2) + { + writer.Write((byte)0x10); + for (var x = 2; x < count; x++) + { + if (0 == (x & 1)) + { + writer.Write((byte)0x20); + } + else + { + writer.Write((byte)0x30); + } + } + } + } + } + } + + vifPacket.AlignPosition(4); + + { + // write vertex color list + var off = 4 + nLarge; + var num = Convert.ToByte(nLarge); + writer.Write(0x20000000); // stmask 3 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 + writer.Write(0x3f3f3f3f); + writer.Write(0x01000101); // stcycl cl 01 wl 01 + writer.Write((int)(0x6E00C000 | off | (num << 16))); // unpack V4-8 c 14 a 012 usn 1 flg 1 m 0 + foreach (var color in mesh.triangleStripList.SelectMany(it => it.vertexColorList)) + { + writer.Write(color.r); + writer.Write(color.g); + writer.Write(color.b); + writer.Write(color.a); + } + } + + vifPacket.AlignPosition(4); + + { + // write vertices + var off = 4 + nLarge + nLarge; + var num = Convert.ToByte(nSmall); + writer.Write(0x31000000); // stcol 3f800000 3f800000 3f800000 3f800000 + writer.Write(0x3f800000); + writer.Write(0x3f800000); + writer.Write(0x3f800000); + writer.Write(0x3f800000); + writer.Write(0x20000000); // stmask 3 3 3 0 3 3 3 0 3 3 3 0 3 3 3 0 + writer.Write(0x80808080); + writer.Write(0x01000101); // stcycl cl 01 wl 01 + writer.Write((int)(0x78008000 | off | (num << 16))); // unpack V3-32 c 9 a 020 usn 0 flg 1 m 1 + foreach (var one in mesh.vertexList) + { + writer.Write(one.X); + writer.Write(one.Y); + writer.Write(one.Z); + } + } + + vifPacket.AlignPosition(4); + + writer.Write(0x17000000); // mscnt + } + + Align16Plus8(vifPacket); + + firstVifPacketQwc = Convert.ToUInt16(vifPacket.Length / 16); + + vifPacket.Write(new byte[8], 0, 8); // write later 8 bytes of the follwing dma (id=RET) packet. + } + + private void Align16Plus8(Stream stream) + { + stream.Position = stream.Length; + var fill = new byte[(16 - ((int)(stream.Length - 8) & 15)) & 15]; + stream.Write(fill, 0, fill.Length); + } + + private static byte ToPs2Alpha(byte data) => (byte)((data + 1) / 2); + + class DmaSourceChainTag + { + [Data] public ushort qwc { get; set; } + [Data] public ushort idFlg { get; set; } + [Data] public uint addr { get; set; } + } + + /// + /// VPU1 map program header + /// + class TopHeader + { + [Data] public int unk1 { get; set; } + [Data] public int unk2 { get; set; } + [Data] public int unk3 { get; set; } + [Data] public int unk4 { get; set; } + + [Data] public int numVertIdx { get; set; } + [Data] public int offVertIdx { get; set; } + [Data] public int unk5 { get; set; } + [Data] public int unk6 { get; set; } + + [Data] public int numClrVert { get; set; } + [Data] public int offClrVert { get; set; } + [Data] public int unk7 { get; set; } + [Data] public int unk8 { get; set; } + + [Data] public int numPosVert { get; set; } + [Data] public int offPosVert { get; set; } + [Data] public int unk9 { get; set; } + [Data] public int unk10 { get; set; } + } + } +} diff --git a/OpenKh.Command.MapGen/Utils/SimplePatternUtil.cs b/OpenKh.Command.MapGen/Utils/SimplePatternUtil.cs index 0bf62ae07..3df1e7ee7 100644 --- a/OpenKh.Command.MapGen/Utils/SimplePatternUtil.cs +++ b/OpenKh.Command.MapGen/Utils/SimplePatternUtil.cs @@ -1,18 +1,18 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Text.RegularExpressions; - -namespace OpenKh.Command.MapGen.Utils -{ - public static class SimplePatternUtil - { - internal static Regex CreateFrom(string name) => - new Regex( - ("^" + Regex.Escape(name) + "$") - .Replace("\\*", ".*") - .Replace("\\?", ".?"), - RegexOptions.IgnoreCase | RegexOptions.CultureInvariant - ); - } -} +using System; +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; + +namespace OpenKh.Command.MapGen.Utils +{ + public static class SimplePatternUtil + { + internal static Regex CreateFrom(string name) => + new Regex( + ("^" + Regex.Escape(name) + "$") + .Replace("\\*", ".*") + .Replace("\\?", ".?"), + RegexOptions.IgnoreCase | RegexOptions.CultureInvariant + ); + } +} diff --git a/OpenKh.Command.MsgTool/Program.cs b/OpenKh.Command.MsgTool/Program.cs index 90268b303..11e228720 100644 --- a/OpenKh.Command.MsgTool/Program.cs +++ b/OpenKh.Command.MsgTool/Program.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Kh2.Messages; using McMaster.Extensions.CommandLineUtils; using System; diff --git a/OpenKh.Command.TexFooter/Program.cs b/OpenKh.Command.TexFooter/Program.cs index 24465d0fa..ef5a51cea 100644 --- a/OpenKh.Command.TexFooter/Program.cs +++ b/OpenKh.Command.TexFooter/Program.cs @@ -1,41 +1,41 @@ -using McMaster.Extensions.CommandLineUtils; -using System; -using System.IO; -using System.Reflection; +using McMaster.Extensions.CommandLineUtils; +using System; +using System.IO; +using System.Reflection; using OpenKh.Command.TexFooter.Subcommands; -namespace OpenKh.Command.TexFooter -{ - [Command("OpenKh.Command.TexFooter")] - [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] - [Subcommand(typeof(ExportCommand), typeof(ImportCommand), typeof(YmlToBinCommand), typeof(BinToYmlCommand))] - class Program - { - static int Main(string[] args) - { - try - { - return CommandLineApplication.Execute(args); - } - catch (FileNotFoundException e) - { - Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); - return 1; - } - catch (Exception e) - { - Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); - return 1; - } - } - - protected int OnExecute(CommandLineApplication app) - { - app.ShowHelp(); - return 1; - } - - private static string GetVersion() +namespace OpenKh.Command.TexFooter +{ + [Command("OpenKh.Command.TexFooter")] + [VersionOptionFromMember("--version", MemberName = nameof(GetVersion))] + [Subcommand(typeof(ExportCommand), typeof(ImportCommand), typeof(YmlToBinCommand), typeof(BinToYmlCommand))] + class Program + { + static int Main(string[] args) + { + try + { + return CommandLineApplication.Execute(args); + } + catch (FileNotFoundException e) + { + Console.WriteLine($"The file {e.FileName} cannot be found. The program will now exit."); + return 1; + } + catch (Exception e) + { + Console.WriteLine($"FATAL ERROR: {e.Message}\n{e.StackTrace}"); + return 1; + } + } + + protected int OnExecute(CommandLineApplication app) + { + app.ShowHelp(); + return 1; + } + + private static string GetVersion() => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; - } -} + } +} diff --git a/OpenKh.Kh2AnimEmu/Legacy/AxBone.cs b/OpenKh.Kh2AnimEmu/Legacy/AxBone.cs index 76f35b694..8946dba35 100644 --- a/OpenKh.Kh2AnimEmu/Legacy/AxBone.cs +++ b/OpenKh.Kh2AnimEmu/Legacy/AxBone.cs @@ -1,19 +1,19 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Legacy -{ - public class AxBone - { - public int cur, parent, v08, v0c; - public float x1, y1, z1, w1; // S - public float x2, y2, z2, w2; // R - public float x3, y3, z3, w3; // T - - public AxBone Clone() - { - return (AxBone)MemberwiseClone(); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Legacy +{ + public class AxBone + { + public int cur, parent, v08, v0c; + public float x1, y1, z1, w1; // S + public float x2, y2, z2, w2; // R + public float x3, y3, z3, w3; // T + + public AxBone Clone() + { + return (AxBone)MemberwiseClone(); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/AnbIndir.cs b/OpenKh.Kh2AnimEmu/Mset/AnbIndir.cs index bc4f79546..af54bee19 100644 --- a/OpenKh.Kh2AnimEmu/Mset/AnbIndir.cs +++ b/OpenKh.Kh2AnimEmu/Mset/AnbIndir.cs @@ -1,38 +1,38 @@ -using OpenKh.Kh2Anim.Mset.EmuRunner; -using OpenKh.Kh2Anim.Mset.Interfaces; -using OpenKh.Kh2; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - /// - /// anb indirection - /// - public class AnbIndir - { - private readonly IEnumerable entries; - - public AnbIndir(IEnumerable entries) - { - this.entries = entries; - } - - public bool HasAnimationData => entries - .Any(it => it.Type == Bar.EntryType.Motion); - - public IAnimMatricesProvider GetAnimProvider(Stream mdlxStream) - { - var animEntry = entries - .First(it => it.Type == Bar.EntryType.Motion); // anb bar should have single 0x09 (AnimationData) - var animStream = animEntry.Stream; - - var animReader = new AnimReader(animStream); - - return new EmuBasedAnimMatricesProvider(animReader, mdlxStream, animStream); - } - } -} +using OpenKh.Kh2Anim.Mset.EmuRunner; +using OpenKh.Kh2Anim.Mset.Interfaces; +using OpenKh.Kh2; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + /// + /// anb indirection + /// + public class AnbIndir + { + private readonly IEnumerable entries; + + public AnbIndir(IEnumerable entries) + { + this.entries = entries; + } + + public bool HasAnimationData => entries + .Any(it => it.Type == Bar.EntryType.Motion); + + public IAnimMatricesProvider GetAnimProvider(Stream mdlxStream) + { + var animEntry = entries + .First(it => it.Type == Bar.EntryType.Motion); // anb bar should have single 0x09 (AnimationData) + var animStream = animEntry.Stream; + + var animReader = new AnimReader(animStream); + + return new EmuBasedAnimMatricesProvider(animReader, mdlxStream, animStream); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/AnimModel.cs b/OpenKh.Kh2AnimEmu/Mset/AnimModel.cs index 4e04ba996..a6099742f 100644 --- a/OpenKh.Kh2AnimEmu/Mset/AnimModel.cs +++ b/OpenKh.Kh2AnimEmu/Mset/AnimModel.cs @@ -1,23 +1,23 @@ -using OpenKh.Kh2Anim.Legacy; -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class AnimModel - { - public List t1List = new List(); - public List t2List = new List(); - public List t2xList = new List(); - public List t3List = new List(); - public List t4List = new List(); - public List t5List = new List(); - public List t9List = new List(); - public float[] t10List = null; - public float[] t11List = null; - public float[] t12List = null; - - public int off5 = 0, cnt5 = 0; - } -} +using OpenKh.Kh2Anim.Legacy; +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class AnimModel + { + public List t1List = new List(); + public List t2List = new List(); + public List t2xList = new List(); + public List t3List = new List(); + public List t4List = new List(); + public List t5List = new List(); + public List t9List = new List(); + public float[] t10List = null; + public float[] t11List = null; + public float[] t12List = null; + + public int off5 = 0, cnt5 = 0; + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/AnimReader.cs b/OpenKh.Kh2AnimEmu/Mset/AnimReader.cs index c3f4b00ff..d81ab1a1c 100644 --- a/OpenKh.Kh2AnimEmu/Mset/AnimReader.cs +++ b/OpenKh.Kh2AnimEmu/Mset/AnimReader.cs @@ -1,246 +1,257 @@ -using OpenKh.Kh2Anim.Legacy; -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class AnimReader - { - public AnimModel model = new AnimModel(); - public int cntb1, cntb2; - - public AnimReader(Stream si) - { - var posTbl = new PosTbl(si); - int baseoff = 0; - int tbloff = posTbl.tbloff; - - cntb1 = posTbl.va0; - cntb2 = posTbl.va2; - - var br = new BinaryReader(si); - - // min - br.ReadSingle(); - br.ReadSingle(); - br.ReadSingle(); - br.ReadSingle(); - // max - br.ReadSingle(); - br.ReadSingle(); - br.ReadSingle(); - br.ReadSingle(); - - FrameLoop = br.ReadSingle(); - FrameEnd = br.ReadSingle(); - FramePerSecond = br.ReadSingle(); - FrameCount = br.ReadSingle(); - - int cnt9 = 0, cnt10 = 0, cnt12 = 0; - if (true) - { // cnt9 - si.Position = baseoff + tbloff + posTbl.vc0 - baseoff; // t2 - for (int i2 = 0; i2 < posTbl.vc4; i2++) - { - br.ReadByte(); - br.ReadByte(); - br.ReadByte(); - int tcx = br.ReadByte(); - int tx = br.ReadUInt16(); - cnt9 = Math.Max(cnt9, tx + tcx); - } - si.Position = baseoff + tbloff + posTbl.vc8 - baseoff; // t2x - for (int i2 = 0; i2 < posTbl.vcc; i2++) - { - br.ReadByte(); - br.ReadByte(); - br.ReadByte(); - int tcx = br.ReadByte(); - int tx = br.ReadUInt16(); - cnt9 = Math.Max(cnt9, tx + tcx); - } - - if (true) - { // cnt10, cnt12 - si.Position = baseoff + tbloff + posTbl.vd0 - baseoff; // t9 - for (int i9 = 0; i9 < cnt9; i9++) - { - br.ReadUInt16(); - int ti10 = br.ReadUInt16(); cnt10 = Math.Max(cnt10, ti10 + 1); - int ti12a = br.ReadUInt16(); cnt12 = Math.Max(cnt12, ti12a + 1); - int ti12b = br.ReadUInt16(); cnt12 = Math.Max(cnt12, ti12b + 1); - } - } - } - int cntt8 = 0; - if (true) - { - si.Position = baseoff + tbloff + posTbl.ve0 - baseoff; // t3 - for (int i3 = 0; i3 < posTbl.ve4; i3++) - { - br.ReadUInt16(); - br.ReadUInt16(); - br.ReadUInt16(); - int ti8 = br.ReadInt16(); cntt8 = Math.Max(cntt8, ti8 + 1); - br.ReadUInt16(); - br.ReadUInt16(); - } - } - - int off1 = tbloff + posTbl.vb4; int cnt1 = posTbl.vb8; - si.Position = off1; - for (int a1 = 0; a1 < cnt1; a1++) - { - int c00 = br.ReadUInt16(); - int c02 = br.ReadUInt16(); - float c04 = br.ReadSingle(); - model.t1List.Add(new T1(c00, c02, c04)); - } - - int off10 = tbloff + posTbl.vd8; - si.Position = off10; - model.t10List = new float[cnt10]; - for (int a = 0; a < cnt10; a++) - { - model.t10List[a] = br.ReadSingle(); - } - - int off11 = tbloff + posTbl.vd4; int cnt11 = posTbl.vb0; - si.Position = off11; - model.t11List = new float[cnt11]; - for (int a = 0; a < cnt11; a++) - { - model.t11List[a] = br.ReadSingle(); - } - - int off12 = tbloff + posTbl.vdc; - si.Position = off12; - model.t12List = new float[cnt12]; - for (int a = 0; a < cnt12; a++) - { - model.t12List[a] = br.ReadSingle(); - } - - int off9 = tbloff + posTbl.vd0; - si.Position = off9; - for (int a = 0; a < cnt9; a++) - { - int c00 = br.ReadUInt16(); - int c02 = br.ReadUInt16(); - int c04 = br.ReadUInt16(); - int c06 = br.ReadUInt16(); - model.t9List.Add(new T9(c00, c02, c04, c06)); - } - - int off2 = tbloff + posTbl.vc0; int cnt2 = posTbl.vc4; - si.Position = off2; - for (int a = 0; a < cnt2; a++) - { - int c00 = br.ReadByte(); - int c01 = br.ReadByte(); - int c02 = br.ReadByte(); - int c03 = br.ReadByte(); - int c04 = br.ReadUInt16(); // t9_xxxx - T2 o2 = new T2(c00, c01, c02, c03, c04); - model.t2List.Add(o2); - } - for (int a = 0; a < cnt2; a++) - { - T2 o2 = model.t2List[a]; - for (int b = 0; b < o2.c03; b++) - { - T9 o9 = model.t9List[o2.c04 + b]; - - int t9c00 = o9.c00; // t11_xxxx - int t9c02 = o9.c02; // t10_xxxx - int t9c04 = o9.c04; // t12_xxxx - int t9c06 = o9.c06; // t12_xxxx - - o2.al9f.Add(new T9f(o2.c04 + b, model.t11List[t9c00 >> 2], model.t10List[t9c02], model.t12List[t9c04], model.t12List[t9c06])); - } - } - - int off2x = tbloff + posTbl.vc8; int cnt2x = posTbl.vcc; - si.Position = off2x; - for (int a = 0; a < cnt2x; a++) - { - int c00 = br.ReadByte(); - int c01 = br.ReadByte(); - int c02 = br.ReadByte(); - int c03 = br.ReadByte(); - int c04 = br.ReadUInt16(); // t9_xxxx - T2 o2 = new T2(c00, c01, c02, c03, c04); - model.t2xList.Add(o2); - } - for (int a = 0; a < cnt2x; a++) - { - T2 o2 = model.t2xList[a]; - for (int b = 0; b < o2.c03; b++) - { - T9 o9 = model.t9List[o2.c04 + b]; - - int t9c00 = o9.c00; // t11_xxxx - int t9c02 = o9.c02; // t10_xxxx - int t9c04 = o9.c04; // t12_xxxx - int t9c06 = o9.c06; // t12_xxxx - - o2.al9f.Add(new T9f(o2.c04 + b, model.t11List[t9c00 >> 2], model.t10List[t9c02], model.t12List[t9c04], model.t12List[t9c06])); - } - } - - int off3 = tbloff + posTbl.ve0; int cnt3 = posTbl.ve4; - si.Position = off3; - for (int a3 = 0; a3 < cnt3; a3++) - { - int c00 = br.ReadByte(); - int c01 = br.ReadByte(); - int c02 = br.ReadUInt16(); - int c04 = br.ReadUInt16(); - int c06 = br.ReadUInt16(); - uint c08 = br.ReadUInt32(); - model.t3List.Add(new T3(c00, c01, c02, c04, c06, c08)); - } - - int off4 = tbloff + posTbl.vac; int cnt4 = posTbl.va2; - si.Position = off4; - for (int a4 = 0; a4 < cnt4; a4++) - { - int c00 = br.ReadUInt16(); - int c02 = br.ReadUInt16(); - model.t4List.Add(new T4(c00, c02)); - } - - model.off5 = tbloff + posTbl.va8; model.cnt5 = (posTbl.va2 - posTbl.va0); - si.Position = model.off5; - for (int a5 = 0; a5 < model.cnt5; a5++) - { - AxBone o = new AxBone(); - o.cur = br.ReadUInt16(); - o.parent = br.ReadUInt16(); - o.v08 = br.ReadUInt16(); - o.v0c = br.ReadUInt16(); - br.ReadUInt64(); - o.x1 = br.ReadSingle(); - o.y1 = br.ReadSingle(); - o.z1 = br.ReadSingle(); - o.w1 = br.ReadSingle(); - o.x2 = br.ReadSingle(); - o.y2 = br.ReadSingle(); - o.z2 = br.ReadSingle(); - o.w2 = br.ReadSingle(); - o.x3 = br.ReadSingle(); - o.y3 = br.ReadSingle(); - o.z3 = br.ReadSingle(); - o.w3 = br.ReadSingle(); - model.t5List.Add(o); - } - } - - public float FrameLoop { get; } - public float FrameEnd { get; } - public float FramePerSecond { get; } - public float FrameCount { get; } - } -} +using OpenKh.Kh2Anim.Legacy; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class AnimReader + { + public AnimModel model = new AnimModel(); + public int cntb1, cntb2; + + public AnimReader(Stream si) + { + var posTbl = new PosTbl(si); + int baseoff = 0; + int tbloff = posTbl.tbloff; + + cntb1 = posTbl.va0; + cntb2 = posTbl.va2; + + var br = new BinaryReader(si); + + // min + br.ReadSingle(); + br.ReadSingle(); + br.ReadSingle(); + br.ReadSingle(); + // max + br.ReadSingle(); + br.ReadSingle(); + br.ReadSingle(); + br.ReadSingle(); + + FrameLoop = br.ReadSingle(); + FrameEnd = br.ReadSingle(); + FramePerSecond = br.ReadSingle(); + FrameCount = br.ReadSingle(); + + int cnt9 = 0, cnt10 = 0, cnt12 = 0; + if (true) + { // cnt9 + si.Position = baseoff + tbloff + posTbl.vc0 - baseoff; // t2 + for (int i2 = 0; i2 < posTbl.vc4; i2++) + { + br.ReadByte(); + br.ReadByte(); + br.ReadByte(); + int tcx = br.ReadByte(); + int tx = br.ReadUInt16(); + cnt9 = Math.Max(cnt9, tx + tcx); + } + si.Position = baseoff + tbloff + posTbl.vc8 - baseoff; // t2x + for (int i2 = 0; i2 < posTbl.vcc; i2++) + { + br.ReadByte(); + br.ReadByte(); + br.ReadByte(); + int tcx = br.ReadByte(); + int tx = br.ReadUInt16(); + cnt9 = Math.Max(cnt9, tx + tcx); + } + + if (true) + { // cnt10, cnt12 + si.Position = baseoff + tbloff + posTbl.vd0 - baseoff; // t9 + for (int i9 = 0; i9 < cnt9; i9++) + { + br.ReadUInt16(); + int ti10 = br.ReadUInt16(); + cnt10 = Math.Max(cnt10, ti10 + 1); + int ti12a = br.ReadUInt16(); + cnt12 = Math.Max(cnt12, ti12a + 1); + int ti12b = br.ReadUInt16(); + cnt12 = Math.Max(cnt12, ti12b + 1); + } + } + } + int cntt8 = 0; + if (true) + { + si.Position = baseoff + tbloff + posTbl.ve0 - baseoff; // t3 + for (int i3 = 0; i3 < posTbl.ve4; i3++) + { + br.ReadUInt16(); + br.ReadUInt16(); + br.ReadUInt16(); + int ti8 = br.ReadInt16(); + cntt8 = Math.Max(cntt8, ti8 + 1); + br.ReadUInt16(); + br.ReadUInt16(); + } + } + + int off1 = tbloff + posTbl.vb4; + int cnt1 = posTbl.vb8; + si.Position = off1; + for (int a1 = 0; a1 < cnt1; a1++) + { + int c00 = br.ReadUInt16(); + int c02 = br.ReadUInt16(); + float c04 = br.ReadSingle(); + model.t1List.Add(new T1(c00, c02, c04)); + } + + int off10 = tbloff + posTbl.vd8; + si.Position = off10; + model.t10List = new float[cnt10]; + for (int a = 0; a < cnt10; a++) + { + model.t10List[a] = br.ReadSingle(); + } + + int off11 = tbloff + posTbl.vd4; + int cnt11 = posTbl.vb0; + si.Position = off11; + model.t11List = new float[cnt11]; + for (int a = 0; a < cnt11; a++) + { + model.t11List[a] = br.ReadSingle(); + } + + int off12 = tbloff + posTbl.vdc; + si.Position = off12; + model.t12List = new float[cnt12]; + for (int a = 0; a < cnt12; a++) + { + model.t12List[a] = br.ReadSingle(); + } + + int off9 = tbloff + posTbl.vd0; + si.Position = off9; + for (int a = 0; a < cnt9; a++) + { + int c00 = br.ReadUInt16(); + int c02 = br.ReadUInt16(); + int c04 = br.ReadUInt16(); + int c06 = br.ReadUInt16(); + model.t9List.Add(new T9(c00, c02, c04, c06)); + } + + int off2 = tbloff + posTbl.vc0; + int cnt2 = posTbl.vc4; + si.Position = off2; + for (int a = 0; a < cnt2; a++) + { + int c00 = br.ReadByte(); + int c01 = br.ReadByte(); + int c02 = br.ReadByte(); + int c03 = br.ReadByte(); + int c04 = br.ReadUInt16(); // t9_xxxx + T2 o2 = new T2(c00, c01, c02, c03, c04); + model.t2List.Add(o2); + } + for (int a = 0; a < cnt2; a++) + { + T2 o2 = model.t2List[a]; + for (int b = 0; b < o2.c03; b++) + { + T9 o9 = model.t9List[o2.c04 + b]; + + int t9c00 = o9.c00; // t11_xxxx + int t9c02 = o9.c02; // t10_xxxx + int t9c04 = o9.c04; // t12_xxxx + int t9c06 = o9.c06; // t12_xxxx + + o2.al9f.Add(new T9f(o2.c04 + b, model.t11List[t9c00 >> 2], model.t10List[t9c02], model.t12List[t9c04], model.t12List[t9c06])); + } + } + + int off2x = tbloff + posTbl.vc8; + int cnt2x = posTbl.vcc; + si.Position = off2x; + for (int a = 0; a < cnt2x; a++) + { + int c00 = br.ReadByte(); + int c01 = br.ReadByte(); + int c02 = br.ReadByte(); + int c03 = br.ReadByte(); + int c04 = br.ReadUInt16(); // t9_xxxx + T2 o2 = new T2(c00, c01, c02, c03, c04); + model.t2xList.Add(o2); + } + for (int a = 0; a < cnt2x; a++) + { + T2 o2 = model.t2xList[a]; + for (int b = 0; b < o2.c03; b++) + { + T9 o9 = model.t9List[o2.c04 + b]; + + int t9c00 = o9.c00; // t11_xxxx + int t9c02 = o9.c02; // t10_xxxx + int t9c04 = o9.c04; // t12_xxxx + int t9c06 = o9.c06; // t12_xxxx + + o2.al9f.Add(new T9f(o2.c04 + b, model.t11List[t9c00 >> 2], model.t10List[t9c02], model.t12List[t9c04], model.t12List[t9c06])); + } + } + + int off3 = tbloff + posTbl.ve0; + int cnt3 = posTbl.ve4; + si.Position = off3; + for (int a3 = 0; a3 < cnt3; a3++) + { + int c00 = br.ReadByte(); + int c01 = br.ReadByte(); + int c02 = br.ReadUInt16(); + int c04 = br.ReadUInt16(); + int c06 = br.ReadUInt16(); + uint c08 = br.ReadUInt32(); + model.t3List.Add(new T3(c00, c01, c02, c04, c06, c08)); + } + + int off4 = tbloff + posTbl.vac; + int cnt4 = posTbl.va2; + si.Position = off4; + for (int a4 = 0; a4 < cnt4; a4++) + { + int c00 = br.ReadUInt16(); + int c02 = br.ReadUInt16(); + model.t4List.Add(new T4(c00, c02)); + } + + model.off5 = tbloff + posTbl.va8; + model.cnt5 = (posTbl.va2 - posTbl.va0); + si.Position = model.off5; + for (int a5 = 0; a5 < model.cnt5; a5++) + { + AxBone o = new AxBone(); + o.cur = br.ReadUInt16(); + o.parent = br.ReadUInt16(); + o.v08 = br.ReadUInt16(); + o.v0c = br.ReadUInt16(); + br.ReadUInt64(); + o.x1 = br.ReadSingle(); + o.y1 = br.ReadSingle(); + o.z1 = br.ReadSingle(); + o.w1 = br.ReadSingle(); + o.x2 = br.ReadSingle(); + o.y2 = br.ReadSingle(); + o.z2 = br.ReadSingle(); + o.w2 = br.ReadSingle(); + o.x3 = br.ReadSingle(); + o.y3 = br.ReadSingle(); + o.z3 = br.ReadSingle(); + o.w3 = br.ReadSingle(); + model.t5List.Add(o); + } + } + + public float FrameLoop { get; } + public float FrameEnd { get; } + public float FramePerSecond { get; } + public float FrameCount { get; } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/EmuBasedAnimMatricesProvider.cs b/OpenKh.Kh2AnimEmu/Mset/EmuBasedAnimMatricesProvider.cs index 96ab3046d..12264f2c6 100644 --- a/OpenKh.Kh2AnimEmu/Mset/EmuBasedAnimMatricesProvider.cs +++ b/OpenKh.Kh2AnimEmu/Mset/EmuBasedAnimMatricesProvider.cs @@ -1,89 +1,89 @@ -using OpenKh.Kh2Anim.Mset.EmuRunner; -using OpenKh.Kh2Anim.Mset.Interfaces; -using System; -using System.Collections.Generic; -using System.IO; -using System.Numerics; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class EmuBasedAnimMatricesProvider : IAnimMatricesProvider - { - private readonly Mlink emuRunner; - private readonly AnimReader animReader; - private double absTime = 0; - - public EmuBasedAnimMatricesProvider( - AnimReader animReader, - Stream mdlxStream, - Stream animStream - ) - { - emuRunner = new Mlink(); - this.animReader = animReader; - - var matrixOutStream = new MemoryStream(); - - mdlxStream.Position = 0; - animStream.Position = 0; - - // initialize emulator memory space - emuRunner.Permit( - mdlxStream, animReader.cntb1, - animStream, animReader.cntb2, - 0, (float)absTime, matrixOutStream - ); - } - - float IAnimMatricesProvider.FrameLoop => animReader.FrameLoop; - - float IAnimMatricesProvider.FrameEnd => animReader.FrameEnd; - - float IAnimMatricesProvider.FramePerSecond => animReader.FramePerSecond; - - float IAnimMatricesProvider.FrameCount => animReader.FrameCount; - - int IAnimMatricesProvider.MatrixCount => animReader.cntb2; - - Matrix4x4[] IAnimMatricesProvider.ProvideMatrices(double delta) - { - absTime += delta; - - var matrixOutStream = new MemoryStream(); - - emuRunner.Permit( - null, animReader.cntb1, - null, animReader.cntb2, - 0, (float)absTime, matrixOutStream - ); - - var br = new BinaryReader(matrixOutStream); - matrixOutStream.Position = 0; - var matrixOut = new Matrix4x4[animReader.cntb1]; - for (int t = 0; t < animReader.cntb1; t++) - { - var m = new Matrix4x4(); - m.M11 = br.ReadSingle(); - m.M12 = br.ReadSingle(); - m.M13 = br.ReadSingle(); - m.M14 = br.ReadSingle(); - m.M21 = br.ReadSingle(); - m.M22 = br.ReadSingle(); - m.M23 = br.ReadSingle(); - m.M24 = br.ReadSingle(); - m.M31 = br.ReadSingle(); - m.M32 = br.ReadSingle(); - m.M33 = br.ReadSingle(); - m.M34 = br.ReadSingle(); - m.M41 = br.ReadSingle(); - m.M42 = br.ReadSingle(); - m.M43 = br.ReadSingle(); - m.M44 = br.ReadSingle(); - matrixOut[t] = m; - } - - return matrixOut; - } - } -} +using OpenKh.Kh2Anim.Mset.EmuRunner; +using OpenKh.Kh2Anim.Mset.Interfaces; +using System; +using System.Collections.Generic; +using System.IO; +using System.Numerics; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class EmuBasedAnimMatricesProvider : IAnimMatricesProvider + { + private readonly Mlink emuRunner; + private readonly AnimReader animReader; + private double absTime = 0; + + public EmuBasedAnimMatricesProvider( + AnimReader animReader, + Stream mdlxStream, + Stream animStream + ) + { + emuRunner = new Mlink(); + this.animReader = animReader; + + var matrixOutStream = new MemoryStream(); + + mdlxStream.Position = 0; + animStream.Position = 0; + + // initialize emulator memory space + emuRunner.Permit( + mdlxStream, animReader.cntb1, + animStream, animReader.cntb2, + 0, (float)absTime, matrixOutStream + ); + } + + float IAnimMatricesProvider.FrameLoop => animReader.FrameLoop; + + float IAnimMatricesProvider.FrameEnd => animReader.FrameEnd; + + float IAnimMatricesProvider.FramePerSecond => animReader.FramePerSecond; + + float IAnimMatricesProvider.FrameCount => animReader.FrameCount; + + int IAnimMatricesProvider.MatrixCount => animReader.cntb2; + + Matrix4x4[] IAnimMatricesProvider.ProvideMatrices(double delta) + { + absTime += delta; + + var matrixOutStream = new MemoryStream(); + + emuRunner.Permit( + null, animReader.cntb1, + null, animReader.cntb2, + 0, (float)absTime, matrixOutStream + ); + + var br = new BinaryReader(matrixOutStream); + matrixOutStream.Position = 0; + var matrixOut = new Matrix4x4[animReader.cntb1]; + for (int t = 0; t < animReader.cntb1; t++) + { + var m = new Matrix4x4(); + m.M11 = br.ReadSingle(); + m.M12 = br.ReadSingle(); + m.M13 = br.ReadSingle(); + m.M14 = br.ReadSingle(); + m.M21 = br.ReadSingle(); + m.M22 = br.ReadSingle(); + m.M23 = br.ReadSingle(); + m.M24 = br.ReadSingle(); + m.M31 = br.ReadSingle(); + m.M32 = br.ReadSingle(); + m.M33 = br.ReadSingle(); + m.M34 = br.ReadSingle(); + m.M41 = br.ReadSingle(); + m.M42 = br.ReadSingle(); + m.M43 = br.ReadSingle(); + m.M44 = br.ReadSingle(); + matrixOut[t] = m; + } + + return matrixOut; + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/CustEE.cs b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/CustEE.cs index 1689a7de1..6f31c5e9d 100644 --- a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/CustEE.cs +++ b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/CustEE.cs @@ -1,1745 +1,1799 @@ -//#define UseUnsafe -#define UseBitConverter - -using System; -using System.Collections.Generic; -using System.Text; -using System.Diagnostics; -using System.IO; -using System.Collections; -using System.Runtime.InteropServices; - -namespace OpenKh.Kh2Anim.Mset.EmuRunner -{ - public class UtUB - { - uint[] UL; - bool isR0; - - public UtUB(uint[] UL, bool isR0) - { - this.UL = UL; - this.isR0 = isR0; - } - - public byte this[int x] - { - get - { - switch (x & 3) - { - default: return (byte)((UL[x >> 2])); - case 1: return (byte)((UL[x >> 2] >> 8)); - case 2: return (byte)((UL[x >> 2] >> 16)); - case 3: return (byte)((UL[x >> 2] >> 24)); - } - } - set - { - if (isR0) return;// throw new IsR0Exception(); - int v = x >> 2; - switch (x & 3) - { - default: UL[v] = (UL[v] & 0xFFFFFF00U) | (value); break; - case 1: UL[v] = (UL[v] & 0xFFFF00FFU) | (uint)(value << 8); break; - case 2: UL[v] = (UL[v] & 0xFF00FFFFU) | (uint)(value << 16); break; - case 3: UL[v] = (UL[v] & 0x00FFFFFFU) | (uint)(value << 24); break; - } - } - } - } - public class UtUS - { - uint[] UL; - bool isR0; - - public UtUS(uint[] UL, bool isR0) - { - this.UL = UL; - this.isR0 = isR0; - } - - public ushort this[int x] - { - get - { - return ((x & 1) == 0) ? ((ushort)(UL[x >> 1])) : ((ushort)(UL[x >> 1] >> 16)); - } - set - { - if (isR0) return;// throw new IsR0Exception(); - if ((x & 1) == 0) - { - x >>= 1; - UL[x] = (UL[x] & 0xFFFF0000) | (uint)(value); - } - else - { - x >>= 1; - UL[x] = (UL[x] & 0x0000FFFF) | (uint)(value << 16); - } - } - } - } - public class UtUD - { - uint[] UL; - bool isR0; - - public UtUD(uint[] UL, bool isR0) - { - this.UL = UL; - this.isR0 = isR0; - } - - public ulong this[int x] - { - get - { - x <<= 1; - return UL[x] | ((ulong)UL[x + 1] << 32); - } - set - { - if (isR0) return;// throw new IsR0Exception(); - x <<= 1; - UL[x] = (uint)(value); - UL[x + 1] = (uint)(value >> 32); - } - } - } - public class UtSD - { - uint[] UL; - bool isR0; - - public UtSD(uint[] UL, bool isR0) - { - this.UL = UL; - this.isR0 = isR0; - } - - public long this[int x] - { - get - { - x <<= 1; - return (long)(UL[x] | ((ulong)UL[x + 1] << 32)); - } - set - { - if (isR0) return;// throw new IsR0Exception(); - x <<= 1; - UL[x] = (uint)(value); - UL[x + 1] = (uint)(value >> 32); - } - } - } - public class UtSL - { - uint[] UL; - bool isR0; - - public UtSL(uint[] UL, bool isR0) - { - this.UL = UL; - this.isR0 = isR0; - } - - public int this[int x] - { - get - { - return (int)UL[x]; - } - set - { - if (isR0) return;// throw new IsR0Exception(); - UL[x] = (uint)value; - } - } - } - - public class GPR - { - public readonly uint[] UL = new uint[] { 0, 0, 0, 0 }; - public readonly UtUB UB; - public readonly UtUS US; - public readonly UtSL SL; - public readonly UtUD UD; - public readonly UtSD SD; - - // --> SByte - public byte UB0 { get { return UB[0]; } set { UB[0] = value; } } // --> Byte - public ushort US0 { get { return US[0]; } set { US[0] = value; } } // --> Int16 - // --> UInt16 - public int SL0 { get { return SL[0]; } set { SL[0] = value; } } // --> Int32 - public uint UL0 { get { return UL[0]; } set { UL[0] = value; } } // --> UInt32 - public long SD0 { get { return SD[0]; } set { SD[0] = value; } } // --> Int64 - public ulong UD0 { get { return UD[0]; } set { UD[0] = value; } } // --> UInt64 - - public ulong UD1 { get { return UD[1]; } set { UD[1] = value; } } - - public GPR(bool isR0) - { - UB = new UtUB(UL, isR0); - US = new UtUS(UL, isR0); - SL = new UtSL(UL, isR0); - UD = new UtUD(UL, isR0); - SD = new UtSD(UL, isR0); - } - - public override string ToString() - { - return string.Format("{0:x8}_{1:x8}_{2:x8}_{3:x8}", UL[3], UL[2], UL[1], UL[0]); - } - } - public class FPR - { - public float f = 0; - - public uint UL - { - get { return MobUt.F2UL(f); } - set { f = MobUt.UL2F(value); } - } - } - public class Vec : IComparable - { - public Vec(bool isVF0) - { - this.isVF0 = isVF0; - } - public bool isVF0; - public float[] F = new float[] { 0, 0, 0, 1 }; - public float x { get { return F[0]; } set { F[0] = value; } } - public float y { get { return F[1]; } set { F[1] = value; } } - public float z { get { return F[2]; } set { F[2] = value; } } - public float w { get { return F[3]; } set { F[3] = value; } } - - public override string ToString() - { - return string.Format("{0} | {1} | {2} | {3}", F[0], F[1], F[2], F[3]); - } - - #region IComparable メンバ - - public int CompareTo(Vec o) - { - int t; - if (0 != (t = x.CompareTo(o.x))) return t; - if (0 != (t = y.CompareTo(o.y))) return t; - if (0 != (t = z.CompareTo(o.z))) return t; - if (0 != (t = w.CompareTo(o.w))) return t; - return 0; - } - - #endregion - } - public class VIv - { - public UInt32 UL = 0; - - public float f - { - get { return MobUt.UL2F(UL); } - set { UL = MobUt.F2UL(value); } - } - } - public class CustEE - { - public GPR r0 = new GPR(true); - public GPR at = new GPR(false); - public GPR v0 = new GPR(false); - public GPR v1 = new GPR(false); - public GPR a0 = new GPR(false); - public GPR a1 = new GPR(false); - public GPR a2 = new GPR(false); - public GPR a3 = new GPR(false); - public GPR t0 = new GPR(false); - public GPR t1 = new GPR(false); - public GPR t2 = new GPR(false); - public GPR t3 = new GPR(false); - public GPR t4 = new GPR(false); - public GPR t5 = new GPR(false); - public GPR t6 = new GPR(false); - public GPR t7 = new GPR(false); - public GPR s0 = new GPR(false); - public GPR s1 = new GPR(false); - public GPR s2 = new GPR(false); - public GPR s3 = new GPR(false); - public GPR s4 = new GPR(false); - public GPR s5 = new GPR(false); - public GPR s6 = new GPR(false); - public GPR s7 = new GPR(false); - public GPR t8 = new GPR(false); - public GPR t9 = new GPR(false); - public GPR k0 = new GPR(false); - public GPR k1 = new GPR(false); - public GPR gp = new GPR(false); - public GPR sp = new GPR(false); - public GPR s8 = new GPR(false); - public GPR ra = new GPR(false); - - public GPR zero = new GPR(true); - - public GPR[] GPR - { - get - { - return new GPR[] { - r0, at, v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, - s0, s1, s2, s3, s4, s5, s6, s7, t8, t9, k0, k1, gp, sp, s8, ra, - }; - } - } - - public Int64 LO = 0, HI = 0; - - // EE - public byte[] ram = new byte[1024 * 1024 * 32]; - public byte[] spr = new byte[16384]; - // COP1, FPU - public FPR[] fpr = new FPR[] { new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), }; - public uint[] fprc = new uint[32]; - public FPR fpracc = new FPR(); - // COP2, VU0 - public Vec[] VF = new Vec[] { new Vec(true), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), }; - public Vec Vacc = new Vec(false); - public VIv[] VI = new VIv[] { new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), }; - public VIv Vq; - public VIv Vp; - public VIv Vr; - public VIv Vi; - public VIv Vcf; - - uint fcr31 = 0; - - public bool fcr31_23 { get { return 0 != (fcr31 & 0x800000); } set { fcr31 = (fcr31 & (~0x800000U)) | (value ? 0x800000U : 0U); } } - - public uint pc = 0; - - public Func hwRead8 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; - public Func hwRead16 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; - public Func hwRead32 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; - public Func hwRead64 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; - - public Action hwWrite8 = delegate (uint mem, byte v) { throw new AccessUnpreparedMemoryException(mem); }; - public Action hwWrite16 = delegate (uint mem, ushort v) { throw new AccessUnpreparedMemoryException(mem); }; - public Action hwWrite32 = delegate (uint mem, uint v) { throw new AccessUnpreparedMemoryException(mem); }; - public Action hwWrite64 = delegate (uint mem, ulong v) { throw new AccessUnpreparedMemoryException(mem); }; - - public CustEE() - { - this.Vcf = VI[18]; - this.Vr = VI[20]; - this.Vi = VI[21]; - this.Vq = VI[22]; - this.Vp = VI[23]; - - ram2 = new BinaryWriter(ram1 = new MemoryStream(ram, true)); - spr2 = new BinaryWriter(spr1 = new MemoryStream(spr, true)); - } - - BinaryWriter ram2, spr2; - MemoryStream ram1, spr1; - - public void eeWrite64(uint off, ulong val) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - spr1.Position = off & 0x3FFF; - spr2.Write(val); - return; - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - hwWrite64(off, val); - return; - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - ram1.Position = off; - ram2.Write(val); - return; - } - - throw new AccessUnpreparedMemoryException(off); - } - public void eeWriteSingle(uint off, float val) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - spr1.Position = off & 0x3FFF; - spr2.Write(val); - return; - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - ; - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - ram1.Position = off; - ram2.Write(val); - return; - } - - throw new AccessUnpreparedMemoryException(off); - } - public void eeWrite32(uint off, uint val) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - spr1.Position = off & 0x3FFF; - spr2.Write(val); - return; - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - hwWrite32(off, val); - return; - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - ram1.Position = off; - ram2.Write(val); - return; - } - - throw new AccessUnpreparedMemoryException(off); - } - public void eeWrite16(uint off, ushort val) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - spr1.Position = off & 0x3FFF; - spr2.Write(val); - return; - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - hwWrite16(off, val); - return; - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - ram1.Position = off; - ram2.Write(val); - return; - } - - throw new AccessUnpreparedMemoryException(off); - } - public void eeWrite8(uint off, byte val) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - spr[off & 0x3FFF] = val; - return; - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - hwWrite8(off, val); - return; - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - ram[off] = val; - return; - } - - throw new AccessUnpreparedMemoryException(off); - } - - - public byte eeRead8(uint off) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - return spr[off & 0x3FFF]; - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - return hwRead8(off); - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - return ram[off]; - } - - throw new AccessUnpreparedMemoryException(off); - } - - public ushort eeRead16(uint off) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - return BitConverter.ToUInt16(spr, (int)off & 0x3FFF); - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - return hwRead16(off); - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - return BitConverter.ToUInt16(ram, (int)off); - } - - throw new AccessUnpreparedMemoryException(off); - } - - public uint eeRead32(uint off) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - return BitConverter.ToUInt32(spr, (int)off & 0x3FFF); - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - return hwRead32(off); - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - return BitConverter.ToUInt32(ram, (int)off); - } - - throw new AccessUnpreparedMemoryException(off); - } - - public ulong eeRead64(uint off) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - return BitConverter.ToUInt64(spr, (int)off & 0x3FFF); - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - return hwRead64(off); - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - return BitConverter.ToUInt64(ram, (int)off); - } - - throw new AccessUnpreparedMemoryException(off); - } - - public float eeReadSingle(uint off) - { - if (false) { } - else if ((off & 0xF0000000U) == 0x70000000U) - { - return BitConverter.ToSingle(spr, (int)off & 0x3FFF); - } - else if ((off & 0xF0000000U) == 0x10000000U) - { - ; - } - else if ((off & 0xF0000000U) == 0x00000000U) - { - return BitConverter.ToSingle(ram, (int)off); - } - - throw new AccessUnpreparedMemoryException(off); - } - } - - public delegate TResult Func(); - public delegate TResult Func(T x); - - public delegate void Action(T1 x, T2 y); - - public class MobUt - { - public static BitArray bita = new BitArray(2097152, false); - public static BitArray bitr = new BitArray(2097152, false); - - public delegate void Tx8(); - - public static void LQ(CustEE ee, GPR rt, uint off) - { - //#Debug.Assert(off <= 32U * 1024 * 1024, "Avail only within 32MB ram"); - sysr((int)(off >> 4)); - rt.UL[0] = ee.eeRead32(off + 0); - rt.UL[1] = ee.eeRead32(off + 4); - rt.UL[2] = ee.eeRead32(off + 8); - rt.UL[3] = ee.eeRead32(off + 12); - } - public static void SQ(CustEE ee, GPR rt, uint off) - { - sysw((int)(off >> 4)); - ee.eeWrite32(off + 0, rt.UL[0]); - ee.eeWrite32(off + 4, rt.UL[1]); - ee.eeWrite32(off + 8, rt.UL[2]); - ee.eeWrite32(off + 12, rt.UL[3]); - } - public static void VCLIP(CustEE ee, Vec ft, Vec fs) - { - uint Vcf = 0; - float pw = +Math.Abs(MobUt.vuDouble(ft.w)); - float nw = -pw; - if (MobUt.vuDouble(fs.x) > pw) Vcf |= 0x01; - if (MobUt.vuDouble(fs.x) < nw) Vcf |= 0x02; - if (MobUt.vuDouble(fs.y) > pw) Vcf |= 0x04; - if (MobUt.vuDouble(fs.y) < nw) Vcf |= 0x08; - if (MobUt.vuDouble(fs.z) > pw) Vcf |= 0x10; - if (MobUt.vuDouble(fs.z) < nw) Vcf |= 0x20; - ee.Vcf.UL = ((ee.Vcf.UL << 6) | Vcf) & 0xFFFFFFu; - } - public static float UL2F(uint val) - { -#if UseBitConverter - return BitConverter.ToSingle(BitConverter.GetBytes(val), 0); -#elif UseUnsafe - unsafe - { - return *(float*)&val; - } -#else - MemoryStream os = new MemoryStream(new byte[] { 0, 0, 0, 0 }); - new BinaryWriter(os).Write(val); - os.Position = 0; - float r = new BinaryReader(os).ReadSingle(); - //Debug.Assert(!float.IsNaN(r)); - //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); - return r; -#endif - } - public static uint F2UL(float val) - { -#if UseBitConverter - return BitConverter.ToUInt32(BitConverter.GetBytes(val), 0); -#elif UseUnsafe - unsafe - { - return *(uint*)&val; - } -#else - MemoryStream os = new MemoryStream(new byte[] { 0, 0, 0, 0 }); - //Debug.Assert(!float.IsNaN(val)); - //Debug.Assert(!float.IsNegativeInfinity(val) && !float.IsPositiveInfinity(val)); - new BinaryWriter(os).Write(val); - os.Position = 0; - uint r = new BinaryReader(os).ReadUInt32(); - return r; -#endif - } - - public static void SD(CustEE ee, GPR rt, uint off) - { - sysw((int)(off >> 4)); - ee.eeWrite64(off, rt.UD0); - } - - public static void LD(CustEE ee, GPR rt, uint off) - { - sysr((int)(off >> 4)); - rt.UD0 = ee.eeRead64(off); - } - - public static void LWC1(CustEE ee, FPR ft, uint off) - { - //#Debug.Assert(off <= 32U * 1024 * 1024, "Avail only within 32MB ram"); - sysr((int)(off >> 4)); - float r = ee.eeReadSingle(off); - //Debug.Assert(!float.IsNaN(r)); - //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); - ft.f = r; - } - - public static void SWC1(CustEE ee, FPR ft, uint off) - { - //#Debug.Assert(off <= 32U * 1024 * 1024, "Avail only within 32MB ram"); - sysw((int)(off >> 4)); - ee.eeWriteSingle(off, ft.f); - } - - public static void LQC2(CustEE ee, Vec VF, uint off) - { - //#Debug.Assert(off <= 32U * 1024 * 1024 && off + 16U <= 32U * 1024 * 1024, "Avail only within 32MB ram"); - sysr((int)(off >> 4)); - if (true) - { - float r = ee.eeReadSingle(off + 0U); - //Debug.Assert(!float.IsNaN(r)); - //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); - if (VF != ee.VF[0]) VF.x = r; - } - if (true) - { - float r = ee.eeReadSingle(off + 4U); - //Debug.Assert(!float.IsNaN(r)); - //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); - if (VF != ee.VF[0]) VF.y = r; - } - if (true) - { - float r = ee.eeReadSingle(off + 8U); - //Debug.Assert(!float.IsNaN(r)); - //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); - if (VF != ee.VF[0]) VF.z = r; - } - if (true) - { - float r = ee.eeReadSingle(off + 12U); - //Debug.Assert(!float.IsNaN(r)); - //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); - if (VF != ee.VF[0]) VF.w = r; - } - } - - public static void QMFC2(GPR rt, Vec vf) - { -#if UseBitConverter - rt.UL[0] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.x), 0); - rt.UL[1] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.y), 0); - rt.UL[2] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.z), 0); - rt.UL[3] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.w), 0); -#elif UseUnsafe - unsafe - { - float f; - f = vf.x; rt.UL[0] = *(uint*)&f; - f = vf.y; rt.UL[1] = *(uint*)&f; - f = vf.z; rt.UL[2] = *(uint*)&f; - f = vf.w; rt.UL[3] = *(uint*)&f; - } -#else - if (rt.isR0) return; - MemoryStream os = new MemoryStream(16); - BinaryWriter wr = new BinaryWriter(os); - wr.Write(vf.x); - wr.Write(vf.y); - wr.Write(vf.z); - wr.Write(vf.w); - os.Position = 0; - BinaryReader br = new BinaryReader(os); - rt.UL[0] = br.ReadUInt32(); - rt.UL[1] = br.ReadUInt32(); - rt.UL[2] = br.ReadUInt32(); - rt.UL[3] = br.ReadUInt32(); -#endif - } - - public static void SQC2(CustEE ee, Vec VF, uint off) - { - sysw((int)(off >> 4)); - ee.eeWriteSingle(off + 0, VF.x); - ee.eeWriteSingle(off + 4, VF.y); - ee.eeWriteSingle(off + 8, VF.z); - ee.eeWriteSingle(off + 12, VF.w); - } - - public static void CFC2(GPR rt, VIv id) - { - rt.UD0 = id.UL; - } - - public static void Latency() { } - - public static void SW(CustEE ee, GPR rt, uint off) - { - sysw((int)(off >> 4)); - ee.eeWrite32(off, rt.UL0); - } - - public static void DSRL(GPR rd, GPR rt, int sa) - { - rd.UD0 = rt.UD0 >> sa; - } - - public static void DSRLV(GPR rd, GPR rt, GPR rs) - { - rd.UD0 = rt.UD0 >> rs.UB0; - } - - public static void SB(CustEE ee, GPR rt, uint off) - { - sysw((int)(off >> 4)); - ee.eeWrite8(off, rt.UB0); - } - - public static void SLL(GPR rd, GPR rt, int sa) - { - rd.SD0 = (int)(rt.UL0 << sa); - } - - public static void LW(CustEE ee, GPR rt, uint off) - { - sysr((int)(off >> 4)); - rt.SD0 = (int)ee.eeRead32(off); - } - - public static void LWU(CustEE ee, GPR rt, uint off) - { - sysr((int)(off >> 4)); - rt.UD0 = ee.eeRead32(off); - } - - public static void LHU(CustEE ee, GPR rt, uint off) - { - sysr((int)(off >> 4)); - rt.UD0 = ee.eeRead16(off); - } - - public static void LBU(CustEE ee, GPR rt, uint off) - { - sysr((int)(off >> 4)); - rt.UD0 = ee.eeRead8(off); - } - - public static void MFC1(GPR rt, FPR fs) - { - MemoryStream os = new MemoryStream(new byte[] { 0, 0, 0, 0 }); - new BinaryWriter(os).Write(fs.f); - os.Position = 0; - rt.SD0 = new BinaryReader(os).ReadInt32(); - } - - public static void SH(CustEE ee, GPR rt, uint off) - { - sysw((int)(off >> 4)); - ee.eeWrite16(off, rt.US0); - } - - private static void sysw(int mark) - { - if (mark >= bita.Count) return; - bita[mark] = true; - } - private static void sysr(int mark) - { - if (mark >= bita.Count) return; - if (bita[mark]) return; - bita[mark] = true; - bitr[mark] = true; - } - - public static void QMTC2(GPR rt, Vec vf) - { -#if UseBitConverter - vf.x = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[0]), 0); - vf.y = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[1]), 0); - vf.z = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[2]), 0); - vf.w = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[3]), 0); -#elif UseUnsafe - unsafe - { - uint v; - v = rt.UL[0]; vf.x = *(float*)&v; - v = rt.UL[1]; vf.y = *(float*)&v; - v = rt.UL[2]; vf.z = *(float*)&v; - v = rt.UL[3]; vf.w = *(float*)&v; - } -#else - if (vf.isVF0) return; - MemoryStream os = new MemoryStream(16); - BinaryWriter wr = new BinaryWriter(os); - wr.Write(rt.UL[0]); - wr.Write(rt.UL[1]); - wr.Write(rt.UL[2]); - wr.Write(rt.UL[3]); - os.Position = 0; - BinaryReader br = new BinaryReader(os); - vf.x = br.ReadSingle(); - vf.y = br.ReadSingle(); - vf.z = br.ReadSingle(); - vf.w = br.ReadSingle(); -#endif - } - - public static void LH(CustEE ee, GPR rt, uint off) - { - sysr((int)(off >> 4)); - rt.SD0 = (short)ee.eeRead16(off); - } - - public static void XOR(GPR rd, GPR rs, GPR rt) - { - rd.UD0 = rs.UD0 ^ rt.UD0; - } - - public static void DSRL32(GPR rd, GPR rt, int sa) - { - rd.UD0 = rt.UD0 >> (32 + sa); - } - - public static void DSLL32(GPR rd, GPR rt, int sa) - { - rd.UD0 = rt.UD0 << (32 + sa); - } - - public static void CVT_W(FPR fd, FPR fs) - { - uint r = F2UL(fs.f); - if ((r & 0x7F800000U) <= 0x4E800000U) - { - fd.f = UL2F((uint)((int)fs.f)); - } - else if ((r & 0x80000000) != 0) - { - fd.f = UL2F(0x80000000); - } - else - { - fd.f = UL2F(0x7FFFFFFF); - } - } - - public static void SRL(GPR rd, GPR rt, int sa) - { - rd.UD0 = (ulong)((int)(rt.UL0 >> sa)); - } - - public static void SRA(GPR rd, GPR rt, int sa) - { - rd.SD0 = (int)(rt.SL0 >> sa); - } - - public static float MUL(float v0, float v1) - { - return vuDouble(vuDouble(v0) * vuDouble(v1)); - } - - public static float MADD(float f0, float f1, float f2) - { - return vuDouble(vuDouble(f0) + (float)(vuDouble(f1) * vuDouble(f2))); - } - - public static float OPMSUB(float f0, float f1, float f2) - { - return vuDouble(f0) - (float)(vuDouble(f1) * vuDouble(f2)); - } - - public static float vuDouble(float v) - { -#if UseUnsafe - unsafe - { - uint f = *(uint*)&v; - switch (f & 0x7F800000) - { - case 0x0: - f &= 0x80000000; - return *(float*)&f; - case 0x7F800000: - f = ((f & 0x80000000) | 0x7F7FFFFF); - return *(float*)&f; - default: - return v; - } - } -#else - uint f = F2UL(v); - switch (f & 0x7F800000) { - case 0x0: - f &= 0x80000000; - return UL2F(f); - case 0x7F800000: - return UL2F((f & 0x80000000) | 0x7F7FFFFF); - default: - return UL2F(f); - } -#endif - } - - public static float MSUB(float f0, float f1, float f2) - { - return vuDouble(vuDouble(f0) - (float)(vuDouble(f1) * vuDouble(f2))); - } - - public static void SLLV(GPR rd, GPR rt, GPR rs) - { - rd.SD0 = (int)(rt.SD0 << (rs.UB0 & 15)); - } - - public static void CVT_S(FPR fd, FPR fs) - { - fd.f = (int)fs.UL; - } - - public static void LB(CustEE ee, GPR rt, uint off) - { - sysr((int)(off >> 4)); - rt.SD0 = (sbyte)ee.eeRead8(off); - } - - [DllImport("MySSE.dll", CallingConvention = CallingConvention.StdCall)] - static extern void MySSE_VMx16(float[] param); - - public static void VMx16(Vec vacc, - Vec vec1, float v1f, - Vec vec2, float v2f, - Vec vec3, float v3f, - Vec vec4, float v4f, - Vec veco - ) - { -#if UseUnsafe && false - unsafe { - float[] param = new float[] { - vec1.F[0], vec1.F[1], vec1.F[2], vec1.F[3], - vec2.F[0], vec2.F[1], vec2.F[2], vec2.F[3], - vec3.F[0], vec3.F[1], vec3.F[2], vec3.F[3], - vec4.F[0], vec4.F[1], vec4.F[2], vec4.F[3], - v1f, v1f, v1f, v1f, - v2f, v2f, v2f, v2f, - v3f, v3f, v3f, v3f, - v4f, v4f, v4f, v4f, - }; - - MySSE_VMx16(param); - - veco.x = param[0]; - veco.y = param[1]; - veco.z = param[2]; - veco.w = param[3]; - } -#else - veco.F[0] = vuDouble((vacc.F[0] = vuDouble((vec1.F[0] * v1f) + (vec2.F[0] * v2f) + (vec3.F[0] * v3f))) + (vec4.F[0] * v4f)); - veco.F[1] = vuDouble((vacc.F[1] = vuDouble((vec1.F[1] * v1f) + (vec2.F[1] * v2f) + (vec3.F[1] * v3f))) + (vec4.F[1] * v4f)); - veco.F[2] = vuDouble((vacc.F[2] = vuDouble((vec1.F[2] * v1f) + (vec2.F[2] * v2f) + (vec3.F[2] * v3f))) + (vec4.F[2] * v4f)); - veco.F[3] = vuDouble((vacc.F[3] = vuDouble((vec1.F[3] * v1f) + (vec2.F[3] * v2f) + (vec3.F[3] * v3f))) + (vec4.F[3] * v4f)); -#endif - } - - public static void DSLLV(GPR rd, GPR rt, GPR rs) - { - rd.UD0 = (ulong)(rt.UD0 << (rs.UB0 & 63)); - } - - public static void POR(GPR rd, GPR rt, GPR rs) - { - rd.UD0 = rs.UD0 | rt.UD0; - rd.UD1 = rs.UD1 | rt.UD1; - } - - public static void PAND(GPR rd, GPR rt, GPR rs) - { - rd.UD0 = rs.UD0 & rt.UD0; - rd.UD1 = rs.UD1 & rt.UD1; - } - - public static void ADD(GPR rd, GPR rt, GPR rs) - { - rd.SD0 = (rs.SL0 + rt.SL0); - } - - public static void DSLL(GPR rd, GPR rt, int sa) - { - rd.UD0 = (ulong)(rt.UD0 << (sa & 63)); - } - - public static void DSRA(GPR rd, GPR rt, int sa) - { - rd.SD0 = (long)(rt.SD0 >> sa); - } - - public static void DSRA32(GPR rd, GPR rt, int sa) - { - rd.SD0 = (long)(rt.SD0 >> (32 + sa)); - } - - public static void SYSCALL(int code) - { - // http://gamehacking.org/?s=faqs&id=90 - Debug.WriteLine(String.Format("#SYSCALL {0:x}", code)); - } - - public static void PEXTLW(GPR rd, GPR rs, GPR rt) - { - uint[] res = { - rt.UL[0], - rs.UL[0], - rt.UL[1], - rs.UL[1], - }; - for (int x = 0; x < 4; x++) rd.UL[x] = res[x]; - } - - public static void PEXTLH(GPR rd, GPR rs, GPR rt) - { - ushort[] res = { - rt.US[0], - rs.US[0], - rt.US[1], - rs.US[1], - rt.US[2], - rs.US[2], - rt.US[3], - rs.US[3], - }; - for (int x = 0; x < 8; x++) rd.US[x] = res[x]; - } - - public static void PEXTLB(GPR rd, GPR rs, GPR rt) - { - byte[] res ={ - rt.UB[0], - rs.UB[0], - rt.UB[1], - rs.UB[1], - rt.UB[2], - rs.UB[2], - rt.UB[3], - rs.UB[3], - rt.UB[4], - rs.UB[4], - rt.UB[5], - rs.UB[5], - rt.UB[6], - rs.UB[6], - rt.UB[7], - rs.UB[7], - }; - for (int x = 0; x < 16; x++) rd.UB[x] = res[x]; - } - - public static void MULTU(CustEE ee, GPR rs, GPR rt) - { - Int64 r = (Int64)rs.UL0 * rt.UL0; - ee.LO = (int)(r); - ee.HI = (int)(r >> 32); - } - public static void MULT(CustEE ee, GPR rd, GPR rs, GPR rt) - { - Int64 r = (Int64)rs.SL0 * rt.SL0; - ee.LO = (int)(r); - ee.HI = (int)(r >> 32); - rd.SD0 = r; - } - - public static void MFC0(CustEE ee, GPR rt, int rd) - { - //fake - rt.UD0 = 0; - } - - public static void MOVZ(GPR rd, GPR rs, GPR rt) - { - if (rt.UD0 == 0) rd.UD0 = rs.UD0; - } - - public static void PCPYH(GPR rd, GPR rt) - { - UInt64 v0 = rt.US[0]; - UInt64 v1 = rt.US[4]; - rd.UD0 = v0 | (v0 << 16) | (v0 << 32) | (v0 << 48); - rd.UD1 = v1 | (v1 << 16) | (v1 << 32) | (v1 << 48); - } - - public static void VRXOR(CustEE ee, float fs) - { - ee.Vr.UL = ee.Vr.UL ^ (F2UL(fs) & 0x7FFFFF); - } - - public static float VRNEXT(CustEE ee, bool next) - { - if (next) - { - ee.Vr.f = new Random((int)ee.Vr.UL).Next(1, 20000) / 10000.0f; - } - return ee.Vr.f; - } - - public static void PADDW(GPR rd, GPR rs, GPR rt) - { - for (int x = 0; x < 4; x++) - rd.UL[x] = rs.UL[x] + rt.UL[x]; - } - - public static float MINI(float x, float y) - { - return Math.Min(x, y); - } - - public static float MAX(float x, float y) - { - return Math.Max(x, y); - } - - public static void PROT3W(GPR rd, GPR rt) - { - uint[] res = { - rt.UL[1], - rt.UL[2], - rt.UL[0], - rt.UL[3], - }; - for (int x = 0; x < 4; x++) rd.UL[x] = res[x]; - } - - public static void PPACW(GPR rd, GPR rs, GPR rt) - { - uint[] res = { - rt.UL[0], - rt.UL[2], - rs.UL[0], - rs.UL[2], - }; - for (int x = 0; x < 4; x++) rd.UL[x] = res[x]; - } - - public static void PEXTUW(GPR rd, GPR rs, GPR rt) - { - uint[] res = { - rt.UL[2], - rs.UL[2], - rt.UL[3], - rs.UL[3], - }; - for (int x = 0; x < 4; x++) rd.UL[x] = res[x]; - } - - public static void PPACB(GPR rd, GPR rs, GPR rt) - { - byte[] res = { - rt.UB[0], - rt.UB[2], - rt.UB[4], - rt.UB[6], - rt.UB[8], - rt.UB[10], - rt.UB[12], - rt.UB[14], - rs.UB[0], - rs.UB[2], - rs.UB[4], - rs.UB[6], - rs.UB[8], - rs.UB[10], - rs.UB[12], - rs.UB[14], - }; - for (int x = 0; x < 16; x++) rd.UB[x] = res[x]; - } - public static void PPACH(GPR rd, GPR rs, GPR rt) - { - ushort[] res = { - rt.US[0], - rt.US[2], - rt.US[4], - rt.US[6], - rs.US[0], - rs.US[2], - rs.US[4], - rs.US[6], - }; - for (int x = 0; x < 8; x++) rd.US[x] = res[x]; - } - - public static void PCPYLD(GPR rd, GPR rs, GPR rt) - { - UInt64 v0 = rt.UD0; - UInt64 v1 = rs.UD0; - rd.UD0 = v0; - rd.UD1 = v1; - } - public static void PCPYUD(GPR rd, GPR rs, GPR rt) - { - UInt64 v0 = rs.UD1; - UInt64 v1 = rt.UD1; - rd.UD0 = v0; - rd.UD1 = v1; - } - - public static void XORI(GPR rt, GPR rs, uint imm) - { - rt.UL0 = rs.UL0 ^ imm; - } - - public static void CTC2(GPR rt, VIv id) - { - id.UL = rt.UL0; - } - - public static void PSRLW(GPR rd, GPR rt, int sa) - { - rd.UL[0] = rt.UL[0] >> sa; - rd.UL[1] = rt.UL[1] >> sa; - rd.UL[2] = rt.UL[2] >> sa; - rd.UL[3] = rt.UL[3] >> sa; - } - - // MobUtHere --- - } - -#if false - public class Mobx { - CustEE ee = new CustEE(); - uint pc; - - delegate void Txxxxxxxx(); - SortedList dicti2a = new SortedList(); - - public void Exec() { - dicti2a[0x011B420] = new Txxxxxxxx(_011B420); - - pc = 0x011B420; - while (true) { - (dicti2a[pc])(); - } - } - - public void _011B420() { - ee.t7.US[1] = 0x0035; - ee.t7.SL[0] += (short)0x4260; - MobUt.LQ(ee, ee.t0, 0x0000 + ee.t7.UL[0]); - MobUt.LQ(ee, ee.t1, 0x0010 + ee.t7.UL[0]); - MobUt.LQ(ee, ee.t2, 0x0020 + ee.t7.UL[0]); - MobUt.LQ(ee, ee.t3, 0x0030 + ee.t7.UL[0]); - MobUt.SQ(ee, ee.t0, 0x0000 + ee.t7.UL[0]); - MobUt.SQ(ee, ee.t1, 0x0010 + ee.t7.UL[0]); - MobUt.SQ(ee, ee.t2, 0x0020 + ee.t7.UL[0]); - MobUt.SQ(ee, ee.t3, 0x0030 + ee.t7.UL[0]); - pc = ee.ra.UL[0]; - } - - public void DUMMY() { - // @0011B420 LUI t7, $0035 - this.ee.t7.UD0 = 53 << 16; - - this.ee.t7.SL[0] = (this.ee.t7.SL[0] + 16992); - MobUt.LQ(this.ee, this.ee.t0, (0 + this.ee.t7.UL[0])); - MobUt.LQ(this.ee, this.ee.t1, (16 + this.ee.t7.UL[0])); - MobUt.LQ(this.ee, this.ee.t2, (32 + this.ee.t7.UL[0])); - MobUt.LQ(this.ee, this.ee.t3, (48 + this.ee.t7.UL[0])); - MobUt.LQ(this.ee, this.ee.t0, (0 + this.ee.a0.UL[0])); - MobUt.LQ(this.ee, this.ee.t1, (16 + this.ee.a0.UL[0])); - MobUt.LQ(this.ee, this.ee.t2, (32 + this.ee.a0.UL[0])); - MobUt.LQ(this.ee, this.ee.t3, (48 + this.ee.a0.UL[0])); - this.pc = this.ee.ra.UL[0]; - // @0011B450 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - this.ee.sp.SL[0] = (this.ee.sp.SL[0] + -16); - - // @0011B458 SD s0, $0000(sp) - MobUt.SD(ee, ee.s0, 0x0000 + ee.sp.UL[0]); - // @0011B458 SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0 + this.ee.sp.UL[0])); - // @0011B45C C.EQ.S $f12, $f0 - ee.fcr31_23 = ee.fpr[12].f == ee.fpr[0].f; - // @0011B45C C.EQ.S $f12, $f0 - this.ee.fcr31_23 = (this.ee.fpr[12].f == this.ee.fpr[0].f); - // @0011B464 BC1T $0011b484 - if (ee.fcr31_23) pc = 0x0011B484; - // @0011B464 BC1T $0011b484 - if (this.ee.fcr31_23) { - this.pc = 1160324u; - } - // @0011B468 DADDU s0, a0, zero - ee.s0.UD[0] = ee.a0.UD[0] + ee.r0.UD[0]; - // @0011B468 DADDU s0, a0, zero - this.ee.s0.UD[0] = (this.ee.a0.UD[0] + this.ee.r0.UD[0]); - - // @0011B46C JAL $0011bdc8 - ee.ra.UL[0] = pc + 8; pc = 0x0011B46C; - // @0011B46C JAL $0011bdc8 - this.ee.ra.UL[0] = 1160308u; - this.pc = 1162696u; - - // @0011B474 MOV.S $f12, $f0 - ee.fpr[12].f = ee.fpr[0].f; - // @0011B474 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - - // @0011B488 LD ra, $0008(sp) - MobUt.LD(ee, ee.ra, 0x0008 + ee.sp.UL[0]); - // @0011B488 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8 + this.ee.sp.UL0)); - - // @0011B528 ADDIU sp, sp, $ffe0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); - - // @0011B570 LWC1 $f0, $0004(s1) - MobUt.LWC1(ee, ee.fpr[0], 4 + ee.s1.UL0); - // @0011B570 LWC1 $f0, $0004(s1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4 + this.ee.s1.UL0)); - - // @0011B85C SWC1 $f20, $0048(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (0x0048 + this.ee.s1.UL0)); - // @0011B534 SWC1 $f20, $0018(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (24 + this.ee.sp.UL0)); - - // @0011B868 C.LT.S $f20, $f0 - ee.fcr31_23 = ee.fpr[20].f < ee.fpr[0].f; - // @0011B868 C.LT.S $f20, $f0 - this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[0].f); - - // @0011B884 BC1FL $0011b894 - if (!ee.fcr31_23) { - pc = 0x0011b894; - //xxx - } - - // @0011B8A0 MULA.S $f13, $f13 - ee.fpracc.f = ee.fpr[13].f * ee.fpr[13].f; - // @0011B8A0 MULA.S $f13, $f13 - this.ee.fpracc.f = (this.ee.fpr[13].f * this.ee.fpr[13].f); - - // @0011B8A4 MADD.S $f0, $f12, $f12 - ee.fpr[0].f = ee.fpracc.f + ee.fpr[12].f * ee.fpr[12].f; - // @0011B8A4 MADD.S $f0, $f12, $f12 - this.ee.fpr[0].f = (this.ee.fpracc.f - + (this.ee.fpr[12].f * this.ee.fpr[12].f)); - - // @0011B8B4 SQRT.S $f0, $f0 - ee.fpr[0].f = (float)Math.Sqrt(ee.fpr[0].f); - // @0011B8B4 SQRT.S $f0, $f0 - this.ee.fpr[0].f = ((float)(System.Math.Sqrt(this.ee.fpr[0].f))); - - // @0011B8BC BC1F $0011ba50 - if (!ee.fcr31_23) pc = 0x0011ba50; - - // @0011B8CC NEG.S $f12, $f20 - ee.fpr[12].f = -ee.fpr[20].f; - // @0011B8CC NEG.S $f12, $f20 - this.ee.fpr[12].f = (0 - this.ee.fpr[20].f); - - // @0011B8FC SUB.S $f12, $f1, $f12 - ee.fpr[12].f = ee.fpr[1].f - ee.fpr[12].f; - // @0011B8FC SUB.S $f12, $f1, $f12 - this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); - - // @0011B940 ADD.S $f2, $f2, $f3 - ee.fpr[2].f = ee.fpr[2].f + ee.fpr[3].f; - // @0011B940 ADD.S $f2, $f2, $f3 - this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[3].f); - - // @0011B998 LQC2 vf1, $0000(sp) - MobUt.LQC2(ee, ee.VF[1], 0x0000 + ee.sp.UL0); - // @0011B998 LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0 + this.ee.sp.UL0)); - - // @0011B9A0 VMUL.xyz vf1, vf1, vf2 - ee.VF[1].x = ee.VF[1].x * ee.VF[2].x; - ee.VF[1].y = ee.VF[1].y * ee.VF[2].y; - ee.VF[1].z = ee.VF[1].z * ee.VF[2].z; - - // @0011B9A4 VADDy.x vf1, vf1, vf1y - ee.VF[1].x = ee.VF[1].x + ee.VF[1].y; - // @0011B9A4 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - - // @0011B9C8 QMFC2 t0, vf1 - MobUt.QMFC2(ee.t0, ee.VF[1]); - // @0011B9AC QMFC2 t0, vf1 - MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); - - // @0011B9D0 C.LE.S $f1, $f0 - ee.fcr31_23 = (ee.fpr[1].f <= ee.fpr[0].f); - // @0011B9D0 C.LE.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f <= this.ee.fpr[0].f); - - // @00124D70 BEQ s3, t7, $00124d98 - if ((this.ee.s3.UD0 == this.ee.t7.UD0)) { - this.pc = 1199512u; - } - - // @00124CAC BEQL t7, t6, $00124cc0 - if ((this.ee.t7.UD0 == this.ee.t6.UD0)) { - this.pc = 1199296u; - // @00124CB0 ADDIU t7, sp, $0050 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 80))); - } - - // @00124B28 SQC2 vf1, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0 + this.ee.s2.UL0)); - - // @00124B24 VSUB.xyzw vf1, vf1, vf2 - ee.VF[1].x = ee.VF[1].x - ee.VF[2].x; - ee.VF[1].y = ee.VF[1].y - ee.VF[2].y; - ee.VF[1].z = ee.VF[1].z - ee.VF[2].z; - ee.VF[1].w = ee.VF[1].w - ee.VF[2].w; - - // @00124B4C VSQRT Q, vf2x - ee.Vq.f = (float)Math.Sqrt(ee.VF[2].x); - // @00124B4C VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(this.ee.VF[2].x))); - - // @00124B54 CFC2 t0, $vi22 - MobUt.CFC2(ee.t0, ee.VI[22]); - // @00124B54 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - - // @00124B58 VADDq.x vf2, vf0, Q - ee.VF[2].x = ee.VF[0].x + ee.Vq.f; - // @00124B58 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - - // @00124B64 VDIV Q, vf0w, vf2x - ee.Vq.f = ee.VF[0].w / ee.VF[2].x; - // @00124B64 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - - // @00124B6C VMULq.xyz vf1, vf1, Q - ee.VF[1].x = ee.VF[1].x * ee.Vq.f; - ee.VF[1].y = ee.VF[1].y * ee.Vq.f; - ee.VF[1].z = ee.VF[1].z * ee.Vq.f; - // @00124B6C VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - - // @00124D20 VMULAx.xyzw ACC, vf1, vf5x - ee.Vacc.x = ee.VF[1].x * ee.VF[5].x; - ee.Vacc.y = ee.VF[1].y * ee.VF[5].x; - ee.Vacc.z = ee.VF[1].z * ee.VF[5].x; - ee.Vacc.w = ee.VF[1].w * ee.VF[5].x; - // @00124D20 VMULAx.xyzw ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - this.ee.Vacc.w = (this.ee.VF[1].w * this.ee.VF[5].x); - - // @00124D24 VMADDAy.xyzw ACC, vf2, vf5y - ee.Vacc.x += ee.VF[2].x * ee.VF[5].y; - ee.Vacc.y += ee.VF[2].y * ee.VF[5].y; - ee.Vacc.z += ee.VF[2].z * ee.VF[5].y; - ee.Vacc.w += ee.VF[2].w * ee.VF[5].y; - // @00124D24 VMADDAy.xyzw ACC, vf2, vf5y - this.ee.Vacc.x = (this.ee.Vacc.x - + (this.ee.VF[2].x * this.ee.VF[5].y)); - this.ee.Vacc.y = (this.ee.Vacc.y - + (this.ee.VF[2].y * this.ee.VF[5].y)); - this.ee.Vacc.z = (this.ee.Vacc.z - + (this.ee.VF[2].z * this.ee.VF[5].y)); - this.ee.Vacc.w = (this.ee.Vacc.w - + (this.ee.VF[2].w * this.ee.VF[5].y)); - - // @00124D2C VMADDw.xyzw vf5, vf4, vf5w - ee.VF[5].x = ee.Vacc.x + ee.VF[4].x * ee.VF[5].w; - ee.VF[5].y = ee.Vacc.y + ee.VF[4].y * ee.VF[5].w; - ee.VF[5].z = ee.Vacc.z + ee.VF[4].z * ee.VF[5].w; - ee.VF[5].w = ee.Vacc.w + ee.VF[4].w * ee.VF[5].w; - // @00124D2C VMADDw.xyzw vf5, vf4, vf5w - this.ee.VF[5].x = (this.ee.Vacc.x - + (this.ee.VF[4].x * this.ee.VF[5].w)); - this.ee.VF[5].y = (this.ee.Vacc.y - + (this.ee.VF[4].y * this.ee.VF[5].w)); - this.ee.VF[5].z = (this.ee.Vacc.z - + (this.ee.VF[4].z * this.ee.VF[5].w)); - this.ee.VF[5].w = (this.ee.Vacc.w - + (this.ee.VF[4].w * this.ee.VF[5].w)); - - // @00124D98 BNEL s1, zero, $00124e04 - if ((this.ee.s1.UD0 != this.ee.r0.UD0)) { - this.pc = 1199620u; - // @00124D9C ADD.S $f0, $f23, $f23 - this.ee.fpr[0].f = (this.ee.fpr[23].f + this.ee.fpr[23].f); - } - - // @00124E10 MSUBA.S $f23, $f23 - ee.fpracc.f = ee.fpracc.f - ee.fpr[23].f * ee.fpr[23].f; - // @00124E10 MSUBA.S $f23, $f23 - this.ee.fpracc.f = (this.ee.fpracc.f - - (this.ee.fpr[23].f * this.ee.fpr[23].f)); - - // @00124E14 MSUB.S $f1, $f22, $f22 - ee.fpr[1].f = ee.fpracc.f - ee.fpr[22].f * ee.fpr[22].f; - // @00124E14 MSUB.S $f1, $f22, $f22 - this.ee.fpr[1].f = (this.ee.fpracc.f - - (this.ee.fpr[22].f * this.ee.fpr[22].f)); - - // @00124E18 MUL.S $f0, $f0, $f22 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[22].f); - - // @00124E28 DIV.S $f21, $f1, $f0 - this.ee.fpr[21].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); - - // @00124E78 SW zero, $0008(s1) - MobUt.SW(ee, ee.r0, 0x0008 + ee.s1.UL0); - // @00124E78 SW zero, $0008(s1) - MobUt.SW(this.ee, this.ee.r0, (8 + this.ee.s1.UL0)); - - // @00125144 VOPMULA.xyz ACC, vf1, vf2 - ee.Vacc.x = ee.VF[1].y * ee.VF[2].z; - ee.Vacc.y = ee.VF[1].z * ee.VF[2].x; - ee.Vacc.z = ee.VF[1].x * ee.VF[2].y; - // @00125144 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - - // @00125148 VOPMSUB.xyz vf3xyz, vf2, vf1 - ee.VF[3].x = ee.Vacc.x - ee.VF[2].y * ee.VF[1].z; - ee.VF[3].y = ee.Vacc.y - ee.VF[2].z * ee.VF[1].x; - ee.VF[3].z = ee.Vacc.z - ee.VF[2].x * ee.VF[1].y; - // @00125148 VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = (this.ee.Vacc.x - - (this.ee.VF[2].y * this.ee.VF[1].z)); - this.ee.VF[3].y = (this.ee.Vacc.y - - (this.ee.VF[2].z * this.ee.VF[1].x)); - this.ee.VF[3].z = (this.ee.Vacc.z - - (this.ee.VF[2].x * this.ee.VF[1].y)); - - // @00127E68 ANDI t7, t6, $0007 - ee.t7.UD0 = ee.t6.US[0] & 0x0007u; - // @00127E68 ANDI t7, t6, $0007 - this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 7))); - - // @00127E78 BNE t7, zero, $00128254 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) { - this.pc = 1213012u; - } - - // @00128020 DSRL t2, t3, 9 - MobUt.DSRL(ee.t2, ee.t3, 9); - // @00128020 DSRL t2, t3, 9 - MobUt.DSRL(this.ee.t2, this.ee.t3, 9); - - // @00128068 SB t6, $0021(sp) - MobUt.SB(this.ee, this.ee.t6, (33 + this.ee.sp.UL0)); - - // @0012809C SLL t7, s0, 1 - MobUt.SLL(this.ee.t7, this.ee.s0, 1); - // @0011B424 ADDIU t7, t7, $4260 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16992))); - - // @0012065C ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - - // @00120670 LW t7, $0004(a0) - MobUt.LW(this.ee, this.ee.t7, (4 + this.ee.a0.UL0)); - - // @001206B4 JALR ra, v0 - ee.ra.UD0 = 0x001206B4 + 8; - pc = ee.v0.UL0; - // @001206B4 JALR ra, v0 - this.ee.ra.UD0 = 1181372u; - this.pc = this.ee.v0.UL0; - - // @00128DA0 LHU a2, $0010(t7) - MobUt.LHU(this.ee, this.ee.a2, (16 + this.ee.t7.UL0)); - - // @00128DA4 SLT t6, t5, a2 - ee.t6.UD0 = Convert.ToByte(ee.t5.SD0 < ee.a2.SD0); - // @00128DA4 SLT t6, t5, a2 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.a2.SD0)); - - // @001280A4 LBU t6, $0020(t5) - MobUt.LBU(this.ee, this.ee.t6, (32 + this.ee.t5.UL0)); - - // @00128104 SLTI t7, s0, $0003 - ee.t7.UD0 = Convert.ToByte(ee.s0.SD0 < 3); - - // @00128EA4 SLTIU t7, t6, $002c - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 44ul)); - - // @00129BA8 ORI t7, t7, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 | 65535))); - - // @00129BB4 AND s4, s4, t7 - this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - - // @00300400 MFC1 t3, $f12 - MobUt.MFC1(ee.t3, ee.fpr[12]); - - // @00145134 MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - - // @00142018 SH s2, $0000(t6) - MobUt.SH(this.ee, this.ee.s2, (0 + this.ee.t6.UL0)); - - // @00128154 LBU t7, $ffff(s6) - MobUt.LBU(this.ee, this.ee.t7, (4294967295u + this.ee.s6.UL0)); - - // @002FAA3C ADDI a3, a3, $ffff - this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); - - // @002FA950 VMULx.yzw vf4, vf4, vf0x - this.ee.VF[4].y = (this.ee.VF[4].y * this.ee.VF[0].x); - this.ee.VF[4].z = (this.ee.VF[4].z * this.ee.VF[0].x); - this.ee.VF[4].w = (this.ee.VF[4].w * this.ee.VF[0].x); - - // @0016274C VADD.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); - - // @00145848 LH t7, $000a(a1) - MobUt.LH(this.ee, this.ee.t7, (10u + this.ee.a1.UL0)); - - // @00162770 SLTU v0, zero, v0 - this.ee.v0.UD0 = System.Convert.ToByte((this.ee.r0.UD0 < this.ee.v0.UD0)); - - // @001420CC XOR t7, t7, t6 - MobUt.XOR(this.ee.t7, this.ee.t7, this.ee.t6); - - // @0012D4F4 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - - // @00141FE8 MULT t7, t6, t5 - this.ee.t7.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.t5.SL0))); - - // @0012D2C8 BLTZ t7, $0012d33c - if ((this.ee.t7.SD0 < 0)) { - this.pc = 1233724u; - } - - // @0012C808 BGEZ t4, $0012c860 - if ((this.ee.t4.SD0 >= 0)) { - this.pc = 1230944u; - } - - // @0012C984 BGEZL t7, $0012c9dc - if ((this.ee.t7.SD0 >= 0)) { - this.pc = 1231324u; - // @0012C988 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - } - - // @0012BD40 PCPYLD t2, t7, t5 - ee.t2.UD1 = ee.t7.UD0; - ee.t2.UD0 = ee.t5.UD0; - - // @0012BD40 PCPYLD t2, t7, t5 - this.ee.t2.UD1 = this.ee.t7.UD0; - this.ee.t2.UD0 = this.ee.t5.UD0; - - // @0012BD3C PCPYUD t1, t4, t6 - this.ee.t1.UD0 = this.ee.t4.UD1; - this.ee.t1.UD1 = this.ee.t6.UD1; - - // @0012BD34 PEXTUW t7, t3, t2 - this.ee.t7.UL[0] = this.ee.t2.UL[2]; - this.ee.t7.UL[1] = this.ee.t3.UL[2]; - this.ee.t7.UL[2] = this.ee.t2.UL[3]; - this.ee.t7.UL[3] = this.ee.t3.UL[3]; - - // @0012AC74 DSRL32 t7, t5, 20 - MobUt.DSRL32(this.ee.t7, this.ee.t5, 20); - - // @0012AC60 DSLL32 t4, t4, 21 - MobUt.DSLL32(this.ee.t4, this.ee.t4, 21); - - // @00162328 BLEZ v0, $00162464 - if ((this.ee.v0.SD0 <= 0)) { - this.pc = 1451108u; - } - - // @00145300 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - - // @00143F44 OR s0, s0, v0 - this.ee.s0.UD0 = (this.ee.s0.UD0 | this.ee.v0.UD0); - - // @0012D3B0 MOVN t5, t6, t7 - if ((this.ee.t7.UD0 != 0)) { - this.ee.t5.UD0 = this.ee.t6.UD0; - } - } - } -#endif -} +//#define UseUnsafe +#define UseBitConverter + +using System; +using System.Collections.Generic; +using System.Text; +using System.Diagnostics; +using System.IO; +using System.Collections; +using System.Runtime.InteropServices; + +namespace OpenKh.Kh2Anim.Mset.EmuRunner +{ + public class UtUB + { + uint[] UL; + bool isR0; + + public UtUB(uint[] UL, bool isR0) + { + this.UL = UL; + this.isR0 = isR0; + } + + public byte this[int x] + { + get + { + switch (x & 3) + { + default: + return (byte)((UL[x >> 2])); + case 1: + return (byte)((UL[x >> 2] >> 8)); + case 2: + return (byte)((UL[x >> 2] >> 16)); + case 3: + return (byte)((UL[x >> 2] >> 24)); + } + } + set + { + if (isR0) + return;// throw new IsR0Exception(); + int v = x >> 2; + switch (x & 3) + { + default: + UL[v] = (UL[v] & 0xFFFFFF00U) | (value); + break; + case 1: + UL[v] = (UL[v] & 0xFFFF00FFU) | (uint)(value << 8); + break; + case 2: + UL[v] = (UL[v] & 0xFF00FFFFU) | (uint)(value << 16); + break; + case 3: + UL[v] = (UL[v] & 0x00FFFFFFU) | (uint)(value << 24); + break; + } + } + } + } + public class UtUS + { + uint[] UL; + bool isR0; + + public UtUS(uint[] UL, bool isR0) + { + this.UL = UL; + this.isR0 = isR0; + } + + public ushort this[int x] + { + get + { + return ((x & 1) == 0) ? ((ushort)(UL[x >> 1])) : ((ushort)(UL[x >> 1] >> 16)); + } + set + { + if (isR0) + return;// throw new IsR0Exception(); + if ((x & 1) == 0) + { + x >>= 1; + UL[x] = (UL[x] & 0xFFFF0000) | (uint)(value); + } + else + { + x >>= 1; + UL[x] = (UL[x] & 0x0000FFFF) | (uint)(value << 16); + } + } + } + } + public class UtUD + { + uint[] UL; + bool isR0; + + public UtUD(uint[] UL, bool isR0) + { + this.UL = UL; + this.isR0 = isR0; + } + + public ulong this[int x] + { + get + { + x <<= 1; + return UL[x] | ((ulong)UL[x + 1] << 32); + } + set + { + if (isR0) + return;// throw new IsR0Exception(); + x <<= 1; + UL[x] = (uint)(value); + UL[x + 1] = (uint)(value >> 32); + } + } + } + public class UtSD + { + uint[] UL; + bool isR0; + + public UtSD(uint[] UL, bool isR0) + { + this.UL = UL; + this.isR0 = isR0; + } + + public long this[int x] + { + get + { + x <<= 1; + return (long)(UL[x] | ((ulong)UL[x + 1] << 32)); + } + set + { + if (isR0) + return;// throw new IsR0Exception(); + x <<= 1; + UL[x] = (uint)(value); + UL[x + 1] = (uint)(value >> 32); + } + } + } + public class UtSL + { + uint[] UL; + bool isR0; + + public UtSL(uint[] UL, bool isR0) + { + this.UL = UL; + this.isR0 = isR0; + } + + public int this[int x] + { + get + { + return (int)UL[x]; + } + set + { + if (isR0) + return;// throw new IsR0Exception(); + UL[x] = (uint)value; + } + } + } + + public class GPR + { + public readonly uint[] UL = new uint[] { 0, 0, 0, 0 }; + public readonly UtUB UB; + public readonly UtUS US; + public readonly UtSL SL; + public readonly UtUD UD; + public readonly UtSD SD; + + // --> SByte + public byte UB0 { get { return UB[0]; } set { UB[0] = value; } } // --> Byte + public ushort US0 { get { return US[0]; } set { US[0] = value; } } // --> Int16 + // --> UInt16 + public int SL0 { get { return SL[0]; } set { SL[0] = value; } } // --> Int32 + public uint UL0 { get { return UL[0]; } set { UL[0] = value; } } // --> UInt32 + public long SD0 { get { return SD[0]; } set { SD[0] = value; } } // --> Int64 + public ulong UD0 { get { return UD[0]; } set { UD[0] = value; } } // --> UInt64 + + public ulong UD1 { get { return UD[1]; } set { UD[1] = value; } } + + public GPR(bool isR0) + { + UB = new UtUB(UL, isR0); + US = new UtUS(UL, isR0); + SL = new UtSL(UL, isR0); + UD = new UtUD(UL, isR0); + SD = new UtSD(UL, isR0); + } + + public override string ToString() + { + return string.Format("{0:x8}_{1:x8}_{2:x8}_{3:x8}", UL[3], UL[2], UL[1], UL[0]); + } + } + public class FPR + { + public float f = 0; + + public uint UL + { + get { return MobUt.F2UL(f); } + set { f = MobUt.UL2F(value); } + } + } + public class Vec : IComparable + { + public Vec(bool isVF0) + { + this.isVF0 = isVF0; + } + public bool isVF0; + public float[] F = new float[] { 0, 0, 0, 1 }; + public float x { get { return F[0]; } set { F[0] = value; } } + public float y { get { return F[1]; } set { F[1] = value; } } + public float z { get { return F[2]; } set { F[2] = value; } } + public float w { get { return F[3]; } set { F[3] = value; } } + + public override string ToString() + { + return string.Format("{0} | {1} | {2} | {3}", F[0], F[1], F[2], F[3]); + } + + #region IComparable メンバ + + public int CompareTo(Vec o) + { + int t; + if (0 != (t = x.CompareTo(o.x))) + return t; + if (0 != (t = y.CompareTo(o.y))) + return t; + if (0 != (t = z.CompareTo(o.z))) + return t; + if (0 != (t = w.CompareTo(o.w))) + return t; + return 0; + } + + #endregion + } + public class VIv + { + public UInt32 UL = 0; + + public float f + { + get { return MobUt.UL2F(UL); } + set { UL = MobUt.F2UL(value); } + } + } + public class CustEE + { + public GPR r0 = new GPR(true); + public GPR at = new GPR(false); + public GPR v0 = new GPR(false); + public GPR v1 = new GPR(false); + public GPR a0 = new GPR(false); + public GPR a1 = new GPR(false); + public GPR a2 = new GPR(false); + public GPR a3 = new GPR(false); + public GPR t0 = new GPR(false); + public GPR t1 = new GPR(false); + public GPR t2 = new GPR(false); + public GPR t3 = new GPR(false); + public GPR t4 = new GPR(false); + public GPR t5 = new GPR(false); + public GPR t6 = new GPR(false); + public GPR t7 = new GPR(false); + public GPR s0 = new GPR(false); + public GPR s1 = new GPR(false); + public GPR s2 = new GPR(false); + public GPR s3 = new GPR(false); + public GPR s4 = new GPR(false); + public GPR s5 = new GPR(false); + public GPR s6 = new GPR(false); + public GPR s7 = new GPR(false); + public GPR t8 = new GPR(false); + public GPR t9 = new GPR(false); + public GPR k0 = new GPR(false); + public GPR k1 = new GPR(false); + public GPR gp = new GPR(false); + public GPR sp = new GPR(false); + public GPR s8 = new GPR(false); + public GPR ra = new GPR(false); + + public GPR zero = new GPR(true); + + public GPR[] GPR + { + get + { + return new GPR[] { + r0, at, v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, + s0, s1, s2, s3, s4, s5, s6, s7, t8, t9, k0, k1, gp, sp, s8, ra, + }; + } + } + + public Int64 LO = 0, HI = 0; + + // EE + public byte[] ram = new byte[1024 * 1024 * 32]; + public byte[] spr = new byte[16384]; + // COP1, FPU + public FPR[] fpr = new FPR[] { new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), new FPR(), }; + public uint[] fprc = new uint[32]; + public FPR fpracc = new FPR(); + // COP2, VU0 + public Vec[] VF = new Vec[] { new Vec(true), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), new Vec(false), }; + public Vec Vacc = new Vec(false); + public VIv[] VI = new VIv[] { new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), new VIv(), }; + public VIv Vq; + public VIv Vp; + public VIv Vr; + public VIv Vi; + public VIv Vcf; + + uint fcr31 = 0; + + public bool fcr31_23 { get { return 0 != (fcr31 & 0x800000); } set { fcr31 = (fcr31 & (~0x800000U)) | (value ? 0x800000U : 0U); } } + + public uint pc = 0; + + public Func hwRead8 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; + public Func hwRead16 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; + public Func hwRead32 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; + public Func hwRead64 = delegate (uint mem) { throw new AccessUnpreparedMemoryException(mem); }; + + public Action hwWrite8 = delegate (uint mem, byte v) { throw new AccessUnpreparedMemoryException(mem); }; + public Action hwWrite16 = delegate (uint mem, ushort v) { throw new AccessUnpreparedMemoryException(mem); }; + public Action hwWrite32 = delegate (uint mem, uint v) { throw new AccessUnpreparedMemoryException(mem); }; + public Action hwWrite64 = delegate (uint mem, ulong v) { throw new AccessUnpreparedMemoryException(mem); }; + + public CustEE() + { + this.Vcf = VI[18]; + this.Vr = VI[20]; + this.Vi = VI[21]; + this.Vq = VI[22]; + this.Vp = VI[23]; + + ram2 = new BinaryWriter(ram1 = new MemoryStream(ram, true)); + spr2 = new BinaryWriter(spr1 = new MemoryStream(spr, true)); + } + + BinaryWriter ram2, spr2; + MemoryStream ram1, spr1; + + public void eeWrite64(uint off, ulong val) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + spr1.Position = off & 0x3FFF; + spr2.Write(val); + return; + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + hwWrite64(off, val); + return; + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + ram1.Position = off; + ram2.Write(val); + return; + } + + throw new AccessUnpreparedMemoryException(off); + } + public void eeWriteSingle(uint off, float val) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + spr1.Position = off & 0x3FFF; + spr2.Write(val); + return; + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + ; + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + ram1.Position = off; + ram2.Write(val); + return; + } + + throw new AccessUnpreparedMemoryException(off); + } + public void eeWrite32(uint off, uint val) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + spr1.Position = off & 0x3FFF; + spr2.Write(val); + return; + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + hwWrite32(off, val); + return; + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + ram1.Position = off; + ram2.Write(val); + return; + } + + throw new AccessUnpreparedMemoryException(off); + } + public void eeWrite16(uint off, ushort val) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + spr1.Position = off & 0x3FFF; + spr2.Write(val); + return; + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + hwWrite16(off, val); + return; + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + ram1.Position = off; + ram2.Write(val); + return; + } + + throw new AccessUnpreparedMemoryException(off); + } + public void eeWrite8(uint off, byte val) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + spr[off & 0x3FFF] = val; + return; + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + hwWrite8(off, val); + return; + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + ram[off] = val; + return; + } + + throw new AccessUnpreparedMemoryException(off); + } + + + public byte eeRead8(uint off) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + return spr[off & 0x3FFF]; + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + return hwRead8(off); + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + return ram[off]; + } + + throw new AccessUnpreparedMemoryException(off); + } + + public ushort eeRead16(uint off) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + return BitConverter.ToUInt16(spr, (int)off & 0x3FFF); + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + return hwRead16(off); + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + return BitConverter.ToUInt16(ram, (int)off); + } + + throw new AccessUnpreparedMemoryException(off); + } + + public uint eeRead32(uint off) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + return BitConverter.ToUInt32(spr, (int)off & 0x3FFF); + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + return hwRead32(off); + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + return BitConverter.ToUInt32(ram, (int)off); + } + + throw new AccessUnpreparedMemoryException(off); + } + + public ulong eeRead64(uint off) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + return BitConverter.ToUInt64(spr, (int)off & 0x3FFF); + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + return hwRead64(off); + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + return BitConverter.ToUInt64(ram, (int)off); + } + + throw new AccessUnpreparedMemoryException(off); + } + + public float eeReadSingle(uint off) + { + if (false) + { } + else if ((off & 0xF0000000U) == 0x70000000U) + { + return BitConverter.ToSingle(spr, (int)off & 0x3FFF); + } + else if ((off & 0xF0000000U) == 0x10000000U) + { + ; + } + else if ((off & 0xF0000000U) == 0x00000000U) + { + return BitConverter.ToSingle(ram, (int)off); + } + + throw new AccessUnpreparedMemoryException(off); + } + } + + public delegate TResult Func(); + public delegate TResult Func(T x); + + public delegate void Action(T1 x, T2 y); + + public class MobUt + { + public static BitArray bita = new BitArray(2097152, false); + public static BitArray bitr = new BitArray(2097152, false); + + public delegate void Tx8(); + + public static void LQ(CustEE ee, GPR rt, uint off) + { + //#Debug.Assert(off <= 32U * 1024 * 1024, "Avail only within 32MB ram"); + sysr((int)(off >> 4)); + rt.UL[0] = ee.eeRead32(off + 0); + rt.UL[1] = ee.eeRead32(off + 4); + rt.UL[2] = ee.eeRead32(off + 8); + rt.UL[3] = ee.eeRead32(off + 12); + } + public static void SQ(CustEE ee, GPR rt, uint off) + { + sysw((int)(off >> 4)); + ee.eeWrite32(off + 0, rt.UL[0]); + ee.eeWrite32(off + 4, rt.UL[1]); + ee.eeWrite32(off + 8, rt.UL[2]); + ee.eeWrite32(off + 12, rt.UL[3]); + } + public static void VCLIP(CustEE ee, Vec ft, Vec fs) + { + uint Vcf = 0; + float pw = +Math.Abs(MobUt.vuDouble(ft.w)); + float nw = -pw; + if (MobUt.vuDouble(fs.x) > pw) + Vcf |= 0x01; + if (MobUt.vuDouble(fs.x) < nw) + Vcf |= 0x02; + if (MobUt.vuDouble(fs.y) > pw) + Vcf |= 0x04; + if (MobUt.vuDouble(fs.y) < nw) + Vcf |= 0x08; + if (MobUt.vuDouble(fs.z) > pw) + Vcf |= 0x10; + if (MobUt.vuDouble(fs.z) < nw) + Vcf |= 0x20; + ee.Vcf.UL = ((ee.Vcf.UL << 6) | Vcf) & 0xFFFFFFu; + } + public static float UL2F(uint val) + { +#if UseBitConverter + return BitConverter.ToSingle(BitConverter.GetBytes(val), 0); +#elif UseUnsafe + unsafe + { + return *(float*)&val; + } +#else + MemoryStream os = new MemoryStream(new byte[] { 0, 0, 0, 0 }); + new BinaryWriter(os).Write(val); + os.Position = 0; + float r = new BinaryReader(os).ReadSingle(); + //Debug.Assert(!float.IsNaN(r)); + //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); + return r; +#endif + } + public static uint F2UL(float val) + { +#if UseBitConverter + return BitConverter.ToUInt32(BitConverter.GetBytes(val), 0); +#elif UseUnsafe + unsafe + { + return *(uint*)&val; + } +#else + MemoryStream os = new MemoryStream(new byte[] { 0, 0, 0, 0 }); + //Debug.Assert(!float.IsNaN(val)); + //Debug.Assert(!float.IsNegativeInfinity(val) && !float.IsPositiveInfinity(val)); + new BinaryWriter(os).Write(val); + os.Position = 0; + uint r = new BinaryReader(os).ReadUInt32(); + return r; +#endif + } + + public static void SD(CustEE ee, GPR rt, uint off) + { + sysw((int)(off >> 4)); + ee.eeWrite64(off, rt.UD0); + } + + public static void LD(CustEE ee, GPR rt, uint off) + { + sysr((int)(off >> 4)); + rt.UD0 = ee.eeRead64(off); + } + + public static void LWC1(CustEE ee, FPR ft, uint off) + { + //#Debug.Assert(off <= 32U * 1024 * 1024, "Avail only within 32MB ram"); + sysr((int)(off >> 4)); + float r = ee.eeReadSingle(off); + //Debug.Assert(!float.IsNaN(r)); + //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); + ft.f = r; + } + + public static void SWC1(CustEE ee, FPR ft, uint off) + { + //#Debug.Assert(off <= 32U * 1024 * 1024, "Avail only within 32MB ram"); + sysw((int)(off >> 4)); + ee.eeWriteSingle(off, ft.f); + } + + public static void LQC2(CustEE ee, Vec VF, uint off) + { + //#Debug.Assert(off <= 32U * 1024 * 1024 && off + 16U <= 32U * 1024 * 1024, "Avail only within 32MB ram"); + sysr((int)(off >> 4)); + if (true) + { + float r = ee.eeReadSingle(off + 0U); + //Debug.Assert(!float.IsNaN(r)); + //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); + if (VF != ee.VF[0]) + VF.x = r; + } + if (true) + { + float r = ee.eeReadSingle(off + 4U); + //Debug.Assert(!float.IsNaN(r)); + //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); + if (VF != ee.VF[0]) + VF.y = r; + } + if (true) + { + float r = ee.eeReadSingle(off + 8U); + //Debug.Assert(!float.IsNaN(r)); + //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); + if (VF != ee.VF[0]) + VF.z = r; + } + if (true) + { + float r = ee.eeReadSingle(off + 12U); + //Debug.Assert(!float.IsNaN(r)); + //Debug.Assert(!float.IsNegativeInfinity(r) && !float.IsPositiveInfinity(r)); + if (VF != ee.VF[0]) + VF.w = r; + } + } + + public static void QMFC2(GPR rt, Vec vf) + { +#if UseBitConverter + rt.UL[0] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.x), 0); + rt.UL[1] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.y), 0); + rt.UL[2] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.z), 0); + rt.UL[3] = BitConverter.ToUInt32(BitConverter.GetBytes(vf.w), 0); +#elif UseUnsafe + unsafe + { + float f; + f = vf.x; rt.UL[0] = *(uint*)&f; + f = vf.y; rt.UL[1] = *(uint*)&f; + f = vf.z; rt.UL[2] = *(uint*)&f; + f = vf.w; rt.UL[3] = *(uint*)&f; + } +#else + if (rt.isR0) return; + MemoryStream os = new MemoryStream(16); + BinaryWriter wr = new BinaryWriter(os); + wr.Write(vf.x); + wr.Write(vf.y); + wr.Write(vf.z); + wr.Write(vf.w); + os.Position = 0; + BinaryReader br = new BinaryReader(os); + rt.UL[0] = br.ReadUInt32(); + rt.UL[1] = br.ReadUInt32(); + rt.UL[2] = br.ReadUInt32(); + rt.UL[3] = br.ReadUInt32(); +#endif + } + + public static void SQC2(CustEE ee, Vec VF, uint off) + { + sysw((int)(off >> 4)); + ee.eeWriteSingle(off + 0, VF.x); + ee.eeWriteSingle(off + 4, VF.y); + ee.eeWriteSingle(off + 8, VF.z); + ee.eeWriteSingle(off + 12, VF.w); + } + + public static void CFC2(GPR rt, VIv id) + { + rt.UD0 = id.UL; + } + + public static void Latency() { } + + public static void SW(CustEE ee, GPR rt, uint off) + { + sysw((int)(off >> 4)); + ee.eeWrite32(off, rt.UL0); + } + + public static void DSRL(GPR rd, GPR rt, int sa) + { + rd.UD0 = rt.UD0 >> sa; + } + + public static void DSRLV(GPR rd, GPR rt, GPR rs) + { + rd.UD0 = rt.UD0 >> rs.UB0; + } + + public static void SB(CustEE ee, GPR rt, uint off) + { + sysw((int)(off >> 4)); + ee.eeWrite8(off, rt.UB0); + } + + public static void SLL(GPR rd, GPR rt, int sa) + { + rd.SD0 = (int)(rt.UL0 << sa); + } + + public static void LW(CustEE ee, GPR rt, uint off) + { + sysr((int)(off >> 4)); + rt.SD0 = (int)ee.eeRead32(off); + } + + public static void LWU(CustEE ee, GPR rt, uint off) + { + sysr((int)(off >> 4)); + rt.UD0 = ee.eeRead32(off); + } + + public static void LHU(CustEE ee, GPR rt, uint off) + { + sysr((int)(off >> 4)); + rt.UD0 = ee.eeRead16(off); + } + + public static void LBU(CustEE ee, GPR rt, uint off) + { + sysr((int)(off >> 4)); + rt.UD0 = ee.eeRead8(off); + } + + public static void MFC1(GPR rt, FPR fs) + { + MemoryStream os = new MemoryStream(new byte[] { 0, 0, 0, 0 }); + new BinaryWriter(os).Write(fs.f); + os.Position = 0; + rt.SD0 = new BinaryReader(os).ReadInt32(); + } + + public static void SH(CustEE ee, GPR rt, uint off) + { + sysw((int)(off >> 4)); + ee.eeWrite16(off, rt.US0); + } + + private static void sysw(int mark) + { + if (mark >= bita.Count) + return; + bita[mark] = true; + } + private static void sysr(int mark) + { + if (mark >= bita.Count) + return; + if (bita[mark]) + return; + bita[mark] = true; + bitr[mark] = true; + } + + public static void QMTC2(GPR rt, Vec vf) + { +#if UseBitConverter + vf.x = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[0]), 0); + vf.y = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[1]), 0); + vf.z = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[2]), 0); + vf.w = BitConverter.ToSingle(BitConverter.GetBytes(rt.UL[3]), 0); +#elif UseUnsafe + unsafe + { + uint v; + v = rt.UL[0]; vf.x = *(float*)&v; + v = rt.UL[1]; vf.y = *(float*)&v; + v = rt.UL[2]; vf.z = *(float*)&v; + v = rt.UL[3]; vf.w = *(float*)&v; + } +#else + if (vf.isVF0) return; + MemoryStream os = new MemoryStream(16); + BinaryWriter wr = new BinaryWriter(os); + wr.Write(rt.UL[0]); + wr.Write(rt.UL[1]); + wr.Write(rt.UL[2]); + wr.Write(rt.UL[3]); + os.Position = 0; + BinaryReader br = new BinaryReader(os); + vf.x = br.ReadSingle(); + vf.y = br.ReadSingle(); + vf.z = br.ReadSingle(); + vf.w = br.ReadSingle(); +#endif + } + + public static void LH(CustEE ee, GPR rt, uint off) + { + sysr((int)(off >> 4)); + rt.SD0 = (short)ee.eeRead16(off); + } + + public static void XOR(GPR rd, GPR rs, GPR rt) + { + rd.UD0 = rs.UD0 ^ rt.UD0; + } + + public static void DSRL32(GPR rd, GPR rt, int sa) + { + rd.UD0 = rt.UD0 >> (32 + sa); + } + + public static void DSLL32(GPR rd, GPR rt, int sa) + { + rd.UD0 = rt.UD0 << (32 + sa); + } + + public static void CVT_W(FPR fd, FPR fs) + { + uint r = F2UL(fs.f); + if ((r & 0x7F800000U) <= 0x4E800000U) + { + fd.f = UL2F((uint)((int)fs.f)); + } + else if ((r & 0x80000000) != 0) + { + fd.f = UL2F(0x80000000); + } + else + { + fd.f = UL2F(0x7FFFFFFF); + } + } + + public static void SRL(GPR rd, GPR rt, int sa) + { + rd.UD0 = (ulong)((int)(rt.UL0 >> sa)); + } + + public static void SRA(GPR rd, GPR rt, int sa) + { + rd.SD0 = (int)(rt.SL0 >> sa); + } + + public static float MUL(float v0, float v1) + { + return vuDouble(vuDouble(v0) * vuDouble(v1)); + } + + public static float MADD(float f0, float f1, float f2) + { + return vuDouble(vuDouble(f0) + (float)(vuDouble(f1) * vuDouble(f2))); + } + + public static float OPMSUB(float f0, float f1, float f2) + { + return vuDouble(f0) - (float)(vuDouble(f1) * vuDouble(f2)); + } + + public static float vuDouble(float v) + { +#if UseUnsafe + unsafe + { + uint f = *(uint*)&v; + switch (f & 0x7F800000) + { + case 0x0: + f &= 0x80000000; + return *(float*)&f; + case 0x7F800000: + f = ((f & 0x80000000) | 0x7F7FFFFF); + return *(float*)&f; + default: + return v; + } + } +#else + uint f = F2UL(v); + switch (f & 0x7F800000) + { + case 0x0: + f &= 0x80000000; + return UL2F(f); + case 0x7F800000: + return UL2F((f & 0x80000000) | 0x7F7FFFFF); + default: + return UL2F(f); + } +#endif + } + + public static float MSUB(float f0, float f1, float f2) + { + return vuDouble(vuDouble(f0) - (float)(vuDouble(f1) * vuDouble(f2))); + } + + public static void SLLV(GPR rd, GPR rt, GPR rs) + { + rd.SD0 = (int)(rt.SD0 << (rs.UB0 & 15)); + } + + public static void CVT_S(FPR fd, FPR fs) + { + fd.f = (int)fs.UL; + } + + public static void LB(CustEE ee, GPR rt, uint off) + { + sysr((int)(off >> 4)); + rt.SD0 = (sbyte)ee.eeRead8(off); + } + + [DllImport("MySSE.dll", CallingConvention = CallingConvention.StdCall)] + static extern void MySSE_VMx16(float[] param); + + public static void VMx16(Vec vacc, + Vec vec1, float v1f, + Vec vec2, float v2f, + Vec vec3, float v3f, + Vec vec4, float v4f, + Vec veco + ) + { +#if UseUnsafe && false + unsafe { + float[] param = new float[] { + vec1.F[0], vec1.F[1], vec1.F[2], vec1.F[3], + vec2.F[0], vec2.F[1], vec2.F[2], vec2.F[3], + vec3.F[0], vec3.F[1], vec3.F[2], vec3.F[3], + vec4.F[0], vec4.F[1], vec4.F[2], vec4.F[3], + v1f, v1f, v1f, v1f, + v2f, v2f, v2f, v2f, + v3f, v3f, v3f, v3f, + v4f, v4f, v4f, v4f, + }; + + MySSE_VMx16(param); + + veco.x = param[0]; + veco.y = param[1]; + veco.z = param[2]; + veco.w = param[3]; + } +#else + veco.F[0] = vuDouble((vacc.F[0] = vuDouble((vec1.F[0] * v1f) + (vec2.F[0] * v2f) + (vec3.F[0] * v3f))) + (vec4.F[0] * v4f)); + veco.F[1] = vuDouble((vacc.F[1] = vuDouble((vec1.F[1] * v1f) + (vec2.F[1] * v2f) + (vec3.F[1] * v3f))) + (vec4.F[1] * v4f)); + veco.F[2] = vuDouble((vacc.F[2] = vuDouble((vec1.F[2] * v1f) + (vec2.F[2] * v2f) + (vec3.F[2] * v3f))) + (vec4.F[2] * v4f)); + veco.F[3] = vuDouble((vacc.F[3] = vuDouble((vec1.F[3] * v1f) + (vec2.F[3] * v2f) + (vec3.F[3] * v3f))) + (vec4.F[3] * v4f)); +#endif + } + + public static void DSLLV(GPR rd, GPR rt, GPR rs) + { + rd.UD0 = (ulong)(rt.UD0 << (rs.UB0 & 63)); + } + + public static void POR(GPR rd, GPR rt, GPR rs) + { + rd.UD0 = rs.UD0 | rt.UD0; + rd.UD1 = rs.UD1 | rt.UD1; + } + + public static void PAND(GPR rd, GPR rt, GPR rs) + { + rd.UD0 = rs.UD0 & rt.UD0; + rd.UD1 = rs.UD1 & rt.UD1; + } + + public static void ADD(GPR rd, GPR rt, GPR rs) + { + rd.SD0 = (rs.SL0 + rt.SL0); + } + + public static void DSLL(GPR rd, GPR rt, int sa) + { + rd.UD0 = (ulong)(rt.UD0 << (sa & 63)); + } + + public static void DSRA(GPR rd, GPR rt, int sa) + { + rd.SD0 = (long)(rt.SD0 >> sa); + } + + public static void DSRA32(GPR rd, GPR rt, int sa) + { + rd.SD0 = (long)(rt.SD0 >> (32 + sa)); + } + + public static void SYSCALL(int code) + { + // http://gamehacking.org/?s=faqs&id=90 + Debug.WriteLine(String.Format("#SYSCALL {0:x}", code)); + } + + public static void PEXTLW(GPR rd, GPR rs, GPR rt) + { + uint[] res = { + rt.UL[0], + rs.UL[0], + rt.UL[1], + rs.UL[1], + }; + for (int x = 0; x < 4; x++) + rd.UL[x] = res[x]; + } + + public static void PEXTLH(GPR rd, GPR rs, GPR rt) + { + ushort[] res = { + rt.US[0], + rs.US[0], + rt.US[1], + rs.US[1], + rt.US[2], + rs.US[2], + rt.US[3], + rs.US[3], + }; + for (int x = 0; x < 8; x++) + rd.US[x] = res[x]; + } + + public static void PEXTLB(GPR rd, GPR rs, GPR rt) + { + byte[] res ={ + rt.UB[0], + rs.UB[0], + rt.UB[1], + rs.UB[1], + rt.UB[2], + rs.UB[2], + rt.UB[3], + rs.UB[3], + rt.UB[4], + rs.UB[4], + rt.UB[5], + rs.UB[5], + rt.UB[6], + rs.UB[6], + rt.UB[7], + rs.UB[7], + }; + for (int x = 0; x < 16; x++) + rd.UB[x] = res[x]; + } + + public static void MULTU(CustEE ee, GPR rs, GPR rt) + { + Int64 r = (Int64)rs.UL0 * rt.UL0; + ee.LO = (int)(r); + ee.HI = (int)(r >> 32); + } + public static void MULT(CustEE ee, GPR rd, GPR rs, GPR rt) + { + Int64 r = (Int64)rs.SL0 * rt.SL0; + ee.LO = (int)(r); + ee.HI = (int)(r >> 32); + rd.SD0 = r; + } + + public static void MFC0(CustEE ee, GPR rt, int rd) + { + //fake + rt.UD0 = 0; + } + + public static void MOVZ(GPR rd, GPR rs, GPR rt) + { + if (rt.UD0 == 0) + rd.UD0 = rs.UD0; + } + + public static void PCPYH(GPR rd, GPR rt) + { + UInt64 v0 = rt.US[0]; + UInt64 v1 = rt.US[4]; + rd.UD0 = v0 | (v0 << 16) | (v0 << 32) | (v0 << 48); + rd.UD1 = v1 | (v1 << 16) | (v1 << 32) | (v1 << 48); + } + + public static void VRXOR(CustEE ee, float fs) + { + ee.Vr.UL = ee.Vr.UL ^ (F2UL(fs) & 0x7FFFFF); + } + + public static float VRNEXT(CustEE ee, bool next) + { + if (next) + { + ee.Vr.f = new Random((int)ee.Vr.UL).Next(1, 20000) / 10000.0f; + } + return ee.Vr.f; + } + + public static void PADDW(GPR rd, GPR rs, GPR rt) + { + for (int x = 0; x < 4; x++) + rd.UL[x] = rs.UL[x] + rt.UL[x]; + } + + public static float MINI(float x, float y) + { + return Math.Min(x, y); + } + + public static float MAX(float x, float y) + { + return Math.Max(x, y); + } + + public static void PROT3W(GPR rd, GPR rt) + { + uint[] res = { + rt.UL[1], + rt.UL[2], + rt.UL[0], + rt.UL[3], + }; + for (int x = 0; x < 4; x++) + rd.UL[x] = res[x]; + } + + public static void PPACW(GPR rd, GPR rs, GPR rt) + { + uint[] res = { + rt.UL[0], + rt.UL[2], + rs.UL[0], + rs.UL[2], + }; + for (int x = 0; x < 4; x++) + rd.UL[x] = res[x]; + } + + public static void PEXTUW(GPR rd, GPR rs, GPR rt) + { + uint[] res = { + rt.UL[2], + rs.UL[2], + rt.UL[3], + rs.UL[3], + }; + for (int x = 0; x < 4; x++) + rd.UL[x] = res[x]; + } + + public static void PPACB(GPR rd, GPR rs, GPR rt) + { + byte[] res = { + rt.UB[0], + rt.UB[2], + rt.UB[4], + rt.UB[6], + rt.UB[8], + rt.UB[10], + rt.UB[12], + rt.UB[14], + rs.UB[0], + rs.UB[2], + rs.UB[4], + rs.UB[6], + rs.UB[8], + rs.UB[10], + rs.UB[12], + rs.UB[14], + }; + for (int x = 0; x < 16; x++) + rd.UB[x] = res[x]; + } + public static void PPACH(GPR rd, GPR rs, GPR rt) + { + ushort[] res = { + rt.US[0], + rt.US[2], + rt.US[4], + rt.US[6], + rs.US[0], + rs.US[2], + rs.US[4], + rs.US[6], + }; + for (int x = 0; x < 8; x++) + rd.US[x] = res[x]; + } + + public static void PCPYLD(GPR rd, GPR rs, GPR rt) + { + UInt64 v0 = rt.UD0; + UInt64 v1 = rs.UD0; + rd.UD0 = v0; + rd.UD1 = v1; + } + public static void PCPYUD(GPR rd, GPR rs, GPR rt) + { + UInt64 v0 = rs.UD1; + UInt64 v1 = rt.UD1; + rd.UD0 = v0; + rd.UD1 = v1; + } + + public static void XORI(GPR rt, GPR rs, uint imm) + { + rt.UL0 = rs.UL0 ^ imm; + } + + public static void CTC2(GPR rt, VIv id) + { + id.UL = rt.UL0; + } + + public static void PSRLW(GPR rd, GPR rt, int sa) + { + rd.UL[0] = rt.UL[0] >> sa; + rd.UL[1] = rt.UL[1] >> sa; + rd.UL[2] = rt.UL[2] >> sa; + rd.UL[3] = rt.UL[3] >> sa; + } + + // MobUtHere --- + } + +#if false + public class Mobx { + CustEE ee = new CustEE(); + uint pc; + + delegate void Txxxxxxxx(); + SortedList dicti2a = new SortedList(); + + public void Exec() { + dicti2a[0x011B420] = new Txxxxxxxx(_011B420); + + pc = 0x011B420; + while (true) { + (dicti2a[pc])(); + } + } + + public void _011B420() { + ee.t7.US[1] = 0x0035; + ee.t7.SL[0] += (short)0x4260; + MobUt.LQ(ee, ee.t0, 0x0000 + ee.t7.UL[0]); + MobUt.LQ(ee, ee.t1, 0x0010 + ee.t7.UL[0]); + MobUt.LQ(ee, ee.t2, 0x0020 + ee.t7.UL[0]); + MobUt.LQ(ee, ee.t3, 0x0030 + ee.t7.UL[0]); + MobUt.SQ(ee, ee.t0, 0x0000 + ee.t7.UL[0]); + MobUt.SQ(ee, ee.t1, 0x0010 + ee.t7.UL[0]); + MobUt.SQ(ee, ee.t2, 0x0020 + ee.t7.UL[0]); + MobUt.SQ(ee, ee.t3, 0x0030 + ee.t7.UL[0]); + pc = ee.ra.UL[0]; + } + + public void DUMMY() { + // @0011B420 LUI t7, $0035 + this.ee.t7.UD0 = 53 << 16; + + this.ee.t7.SL[0] = (this.ee.t7.SL[0] + 16992); + MobUt.LQ(this.ee, this.ee.t0, (0 + this.ee.t7.UL[0])); + MobUt.LQ(this.ee, this.ee.t1, (16 + this.ee.t7.UL[0])); + MobUt.LQ(this.ee, this.ee.t2, (32 + this.ee.t7.UL[0])); + MobUt.LQ(this.ee, this.ee.t3, (48 + this.ee.t7.UL[0])); + MobUt.LQ(this.ee, this.ee.t0, (0 + this.ee.a0.UL[0])); + MobUt.LQ(this.ee, this.ee.t1, (16 + this.ee.a0.UL[0])); + MobUt.LQ(this.ee, this.ee.t2, (32 + this.ee.a0.UL[0])); + MobUt.LQ(this.ee, this.ee.t3, (48 + this.ee.a0.UL[0])); + this.pc = this.ee.ra.UL[0]; + // @0011B450 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + this.ee.sp.SL[0] = (this.ee.sp.SL[0] + -16); + + // @0011B458 SD s0, $0000(sp) + MobUt.SD(ee, ee.s0, 0x0000 + ee.sp.UL[0]); + // @0011B458 SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0 + this.ee.sp.UL[0])); + // @0011B45C C.EQ.S $f12, $f0 + ee.fcr31_23 = ee.fpr[12].f == ee.fpr[0].f; + // @0011B45C C.EQ.S $f12, $f0 + this.ee.fcr31_23 = (this.ee.fpr[12].f == this.ee.fpr[0].f); + // @0011B464 BC1T $0011b484 + if (ee.fcr31_23) pc = 0x0011B484; + // @0011B464 BC1T $0011b484 + if (this.ee.fcr31_23) { + this.pc = 1160324u; + } + // @0011B468 DADDU s0, a0, zero + ee.s0.UD[0] = ee.a0.UD[0] + ee.r0.UD[0]; + // @0011B468 DADDU s0, a0, zero + this.ee.s0.UD[0] = (this.ee.a0.UD[0] + this.ee.r0.UD[0]); + + // @0011B46C JAL $0011bdc8 + ee.ra.UL[0] = pc + 8; pc = 0x0011B46C; + // @0011B46C JAL $0011bdc8 + this.ee.ra.UL[0] = 1160308u; + this.pc = 1162696u; + + // @0011B474 MOV.S $f12, $f0 + ee.fpr[12].f = ee.fpr[0].f; + // @0011B474 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + + // @0011B488 LD ra, $0008(sp) + MobUt.LD(ee, ee.ra, 0x0008 + ee.sp.UL[0]); + // @0011B488 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8 + this.ee.sp.UL0)); + + // @0011B528 ADDIU sp, sp, $ffe0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); + + // @0011B570 LWC1 $f0, $0004(s1) + MobUt.LWC1(ee, ee.fpr[0], 4 + ee.s1.UL0); + // @0011B570 LWC1 $f0, $0004(s1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4 + this.ee.s1.UL0)); + + // @0011B85C SWC1 $f20, $0048(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (0x0048 + this.ee.s1.UL0)); + // @0011B534 SWC1 $f20, $0018(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (24 + this.ee.sp.UL0)); + + // @0011B868 C.LT.S $f20, $f0 + ee.fcr31_23 = ee.fpr[20].f < ee.fpr[0].f; + // @0011B868 C.LT.S $f20, $f0 + this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[0].f); + + // @0011B884 BC1FL $0011b894 + if (!ee.fcr31_23) { + pc = 0x0011b894; + //xxx + } + + // @0011B8A0 MULA.S $f13, $f13 + ee.fpracc.f = ee.fpr[13].f * ee.fpr[13].f; + // @0011B8A0 MULA.S $f13, $f13 + this.ee.fpracc.f = (this.ee.fpr[13].f * this.ee.fpr[13].f); + + // @0011B8A4 MADD.S $f0, $f12, $f12 + ee.fpr[0].f = ee.fpracc.f + ee.fpr[12].f * ee.fpr[12].f; + // @0011B8A4 MADD.S $f0, $f12, $f12 + this.ee.fpr[0].f = (this.ee.fpracc.f + + (this.ee.fpr[12].f * this.ee.fpr[12].f)); + + // @0011B8B4 SQRT.S $f0, $f0 + ee.fpr[0].f = (float)Math.Sqrt(ee.fpr[0].f); + // @0011B8B4 SQRT.S $f0, $f0 + this.ee.fpr[0].f = ((float)(System.Math.Sqrt(this.ee.fpr[0].f))); + + // @0011B8BC BC1F $0011ba50 + if (!ee.fcr31_23) pc = 0x0011ba50; + + // @0011B8CC NEG.S $f12, $f20 + ee.fpr[12].f = -ee.fpr[20].f; + // @0011B8CC NEG.S $f12, $f20 + this.ee.fpr[12].f = (0 - this.ee.fpr[20].f); + + // @0011B8FC SUB.S $f12, $f1, $f12 + ee.fpr[12].f = ee.fpr[1].f - ee.fpr[12].f; + // @0011B8FC SUB.S $f12, $f1, $f12 + this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); + + // @0011B940 ADD.S $f2, $f2, $f3 + ee.fpr[2].f = ee.fpr[2].f + ee.fpr[3].f; + // @0011B940 ADD.S $f2, $f2, $f3 + this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[3].f); + + // @0011B998 LQC2 vf1, $0000(sp) + MobUt.LQC2(ee, ee.VF[1], 0x0000 + ee.sp.UL0); + // @0011B998 LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0 + this.ee.sp.UL0)); + + // @0011B9A0 VMUL.xyz vf1, vf1, vf2 + ee.VF[1].x = ee.VF[1].x * ee.VF[2].x; + ee.VF[1].y = ee.VF[1].y * ee.VF[2].y; + ee.VF[1].z = ee.VF[1].z * ee.VF[2].z; + + // @0011B9A4 VADDy.x vf1, vf1, vf1y + ee.VF[1].x = ee.VF[1].x + ee.VF[1].y; + // @0011B9A4 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + + // @0011B9C8 QMFC2 t0, vf1 + MobUt.QMFC2(ee.t0, ee.VF[1]); + // @0011B9AC QMFC2 t0, vf1 + MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); + + // @0011B9D0 C.LE.S $f1, $f0 + ee.fcr31_23 = (ee.fpr[1].f <= ee.fpr[0].f); + // @0011B9D0 C.LE.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f <= this.ee.fpr[0].f); + + // @00124D70 BEQ s3, t7, $00124d98 + if ((this.ee.s3.UD0 == this.ee.t7.UD0)) { + this.pc = 1199512u; + } + + // @00124CAC BEQL t7, t6, $00124cc0 + if ((this.ee.t7.UD0 == this.ee.t6.UD0)) { + this.pc = 1199296u; + // @00124CB0 ADDIU t7, sp, $0050 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 80))); + } + + // @00124B28 SQC2 vf1, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0 + this.ee.s2.UL0)); + + // @00124B24 VSUB.xyzw vf1, vf1, vf2 + ee.VF[1].x = ee.VF[1].x - ee.VF[2].x; + ee.VF[1].y = ee.VF[1].y - ee.VF[2].y; + ee.VF[1].z = ee.VF[1].z - ee.VF[2].z; + ee.VF[1].w = ee.VF[1].w - ee.VF[2].w; + + // @00124B4C VSQRT Q, vf2x + ee.Vq.f = (float)Math.Sqrt(ee.VF[2].x); + // @00124B4C VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(this.ee.VF[2].x))); + + // @00124B54 CFC2 t0, $vi22 + MobUt.CFC2(ee.t0, ee.VI[22]); + // @00124B54 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + + // @00124B58 VADDq.x vf2, vf0, Q + ee.VF[2].x = ee.VF[0].x + ee.Vq.f; + // @00124B58 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + + // @00124B64 VDIV Q, vf0w, vf2x + ee.Vq.f = ee.VF[0].w / ee.VF[2].x; + // @00124B64 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + + // @00124B6C VMULq.xyz vf1, vf1, Q + ee.VF[1].x = ee.VF[1].x * ee.Vq.f; + ee.VF[1].y = ee.VF[1].y * ee.Vq.f; + ee.VF[1].z = ee.VF[1].z * ee.Vq.f; + // @00124B6C VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + + // @00124D20 VMULAx.xyzw ACC, vf1, vf5x + ee.Vacc.x = ee.VF[1].x * ee.VF[5].x; + ee.Vacc.y = ee.VF[1].y * ee.VF[5].x; + ee.Vacc.z = ee.VF[1].z * ee.VF[5].x; + ee.Vacc.w = ee.VF[1].w * ee.VF[5].x; + // @00124D20 VMULAx.xyzw ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + this.ee.Vacc.w = (this.ee.VF[1].w * this.ee.VF[5].x); + + // @00124D24 VMADDAy.xyzw ACC, vf2, vf5y + ee.Vacc.x += ee.VF[2].x * ee.VF[5].y; + ee.Vacc.y += ee.VF[2].y * ee.VF[5].y; + ee.Vacc.z += ee.VF[2].z * ee.VF[5].y; + ee.Vacc.w += ee.VF[2].w * ee.VF[5].y; + // @00124D24 VMADDAy.xyzw ACC, vf2, vf5y + this.ee.Vacc.x = (this.ee.Vacc.x + + (this.ee.VF[2].x * this.ee.VF[5].y)); + this.ee.Vacc.y = (this.ee.Vacc.y + + (this.ee.VF[2].y * this.ee.VF[5].y)); + this.ee.Vacc.z = (this.ee.Vacc.z + + (this.ee.VF[2].z * this.ee.VF[5].y)); + this.ee.Vacc.w = (this.ee.Vacc.w + + (this.ee.VF[2].w * this.ee.VF[5].y)); + + // @00124D2C VMADDw.xyzw vf5, vf4, vf5w + ee.VF[5].x = ee.Vacc.x + ee.VF[4].x * ee.VF[5].w; + ee.VF[5].y = ee.Vacc.y + ee.VF[4].y * ee.VF[5].w; + ee.VF[5].z = ee.Vacc.z + ee.VF[4].z * ee.VF[5].w; + ee.VF[5].w = ee.Vacc.w + ee.VF[4].w * ee.VF[5].w; + // @00124D2C VMADDw.xyzw vf5, vf4, vf5w + this.ee.VF[5].x = (this.ee.Vacc.x + + (this.ee.VF[4].x * this.ee.VF[5].w)); + this.ee.VF[5].y = (this.ee.Vacc.y + + (this.ee.VF[4].y * this.ee.VF[5].w)); + this.ee.VF[5].z = (this.ee.Vacc.z + + (this.ee.VF[4].z * this.ee.VF[5].w)); + this.ee.VF[5].w = (this.ee.Vacc.w + + (this.ee.VF[4].w * this.ee.VF[5].w)); + + // @00124D98 BNEL s1, zero, $00124e04 + if ((this.ee.s1.UD0 != this.ee.r0.UD0)) { + this.pc = 1199620u; + // @00124D9C ADD.S $f0, $f23, $f23 + this.ee.fpr[0].f = (this.ee.fpr[23].f + this.ee.fpr[23].f); + } + + // @00124E10 MSUBA.S $f23, $f23 + ee.fpracc.f = ee.fpracc.f - ee.fpr[23].f * ee.fpr[23].f; + // @00124E10 MSUBA.S $f23, $f23 + this.ee.fpracc.f = (this.ee.fpracc.f + - (this.ee.fpr[23].f * this.ee.fpr[23].f)); + + // @00124E14 MSUB.S $f1, $f22, $f22 + ee.fpr[1].f = ee.fpracc.f - ee.fpr[22].f * ee.fpr[22].f; + // @00124E14 MSUB.S $f1, $f22, $f22 + this.ee.fpr[1].f = (this.ee.fpracc.f + - (this.ee.fpr[22].f * this.ee.fpr[22].f)); + + // @00124E18 MUL.S $f0, $f0, $f22 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[22].f); + + // @00124E28 DIV.S $f21, $f1, $f0 + this.ee.fpr[21].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); + + // @00124E78 SW zero, $0008(s1) + MobUt.SW(ee, ee.r0, 0x0008 + ee.s1.UL0); + // @00124E78 SW zero, $0008(s1) + MobUt.SW(this.ee, this.ee.r0, (8 + this.ee.s1.UL0)); + + // @00125144 VOPMULA.xyz ACC, vf1, vf2 + ee.Vacc.x = ee.VF[1].y * ee.VF[2].z; + ee.Vacc.y = ee.VF[1].z * ee.VF[2].x; + ee.Vacc.z = ee.VF[1].x * ee.VF[2].y; + // @00125144 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + + // @00125148 VOPMSUB.xyz vf3xyz, vf2, vf1 + ee.VF[3].x = ee.Vacc.x - ee.VF[2].y * ee.VF[1].z; + ee.VF[3].y = ee.Vacc.y - ee.VF[2].z * ee.VF[1].x; + ee.VF[3].z = ee.Vacc.z - ee.VF[2].x * ee.VF[1].y; + // @00125148 VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = (this.ee.Vacc.x + - (this.ee.VF[2].y * this.ee.VF[1].z)); + this.ee.VF[3].y = (this.ee.Vacc.y + - (this.ee.VF[2].z * this.ee.VF[1].x)); + this.ee.VF[3].z = (this.ee.Vacc.z + - (this.ee.VF[2].x * this.ee.VF[1].y)); + + // @00127E68 ANDI t7, t6, $0007 + ee.t7.UD0 = ee.t6.US[0] & 0x0007u; + // @00127E68 ANDI t7, t6, $0007 + this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 7))); + + // @00127E78 BNE t7, zero, $00128254 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) { + this.pc = 1213012u; + } + + // @00128020 DSRL t2, t3, 9 + MobUt.DSRL(ee.t2, ee.t3, 9); + // @00128020 DSRL t2, t3, 9 + MobUt.DSRL(this.ee.t2, this.ee.t3, 9); + + // @00128068 SB t6, $0021(sp) + MobUt.SB(this.ee, this.ee.t6, (33 + this.ee.sp.UL0)); + + // @0012809C SLL t7, s0, 1 + MobUt.SLL(this.ee.t7, this.ee.s0, 1); + // @0011B424 ADDIU t7, t7, $4260 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16992))); + + // @0012065C ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + + // @00120670 LW t7, $0004(a0) + MobUt.LW(this.ee, this.ee.t7, (4 + this.ee.a0.UL0)); + + // @001206B4 JALR ra, v0 + ee.ra.UD0 = 0x001206B4 + 8; + pc = ee.v0.UL0; + // @001206B4 JALR ra, v0 + this.ee.ra.UD0 = 1181372u; + this.pc = this.ee.v0.UL0; + + // @00128DA0 LHU a2, $0010(t7) + MobUt.LHU(this.ee, this.ee.a2, (16 + this.ee.t7.UL0)); + + // @00128DA4 SLT t6, t5, a2 + ee.t6.UD0 = Convert.ToByte(ee.t5.SD0 < ee.a2.SD0); + // @00128DA4 SLT t6, t5, a2 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.a2.SD0)); + + // @001280A4 LBU t6, $0020(t5) + MobUt.LBU(this.ee, this.ee.t6, (32 + this.ee.t5.UL0)); + + // @00128104 SLTI t7, s0, $0003 + ee.t7.UD0 = Convert.ToByte(ee.s0.SD0 < 3); + + // @00128EA4 SLTIU t7, t6, $002c + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 44ul)); + + // @00129BA8 ORI t7, t7, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 | 65535))); + + // @00129BB4 AND s4, s4, t7 + this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + + // @00300400 MFC1 t3, $f12 + MobUt.MFC1(ee.t3, ee.fpr[12]); + + // @00145134 MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + + // @00142018 SH s2, $0000(t6) + MobUt.SH(this.ee, this.ee.s2, (0 + this.ee.t6.UL0)); + + // @00128154 LBU t7, $ffff(s6) + MobUt.LBU(this.ee, this.ee.t7, (4294967295u + this.ee.s6.UL0)); + + // @002FAA3C ADDI a3, a3, $ffff + this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); + + // @002FA950 VMULx.yzw vf4, vf4, vf0x + this.ee.VF[4].y = (this.ee.VF[4].y * this.ee.VF[0].x); + this.ee.VF[4].z = (this.ee.VF[4].z * this.ee.VF[0].x); + this.ee.VF[4].w = (this.ee.VF[4].w * this.ee.VF[0].x); + + // @0016274C VADD.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); + + // @00145848 LH t7, $000a(a1) + MobUt.LH(this.ee, this.ee.t7, (10u + this.ee.a1.UL0)); + + // @00162770 SLTU v0, zero, v0 + this.ee.v0.UD0 = System.Convert.ToByte((this.ee.r0.UD0 < this.ee.v0.UD0)); + + // @001420CC XOR t7, t7, t6 + MobUt.XOR(this.ee.t7, this.ee.t7, this.ee.t6); + + // @0012D4F4 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + + // @00141FE8 MULT t7, t6, t5 + this.ee.t7.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.t5.SL0))); + + // @0012D2C8 BLTZ t7, $0012d33c + if ((this.ee.t7.SD0 < 0)) { + this.pc = 1233724u; + } + + // @0012C808 BGEZ t4, $0012c860 + if ((this.ee.t4.SD0 >= 0)) { + this.pc = 1230944u; + } + + // @0012C984 BGEZL t7, $0012c9dc + if ((this.ee.t7.SD0 >= 0)) { + this.pc = 1231324u; + // @0012C988 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + } + + // @0012BD40 PCPYLD t2, t7, t5 + ee.t2.UD1 = ee.t7.UD0; + ee.t2.UD0 = ee.t5.UD0; + + // @0012BD40 PCPYLD t2, t7, t5 + this.ee.t2.UD1 = this.ee.t7.UD0; + this.ee.t2.UD0 = this.ee.t5.UD0; + + // @0012BD3C PCPYUD t1, t4, t6 + this.ee.t1.UD0 = this.ee.t4.UD1; + this.ee.t1.UD1 = this.ee.t6.UD1; + + // @0012BD34 PEXTUW t7, t3, t2 + this.ee.t7.UL[0] = this.ee.t2.UL[2]; + this.ee.t7.UL[1] = this.ee.t3.UL[2]; + this.ee.t7.UL[2] = this.ee.t2.UL[3]; + this.ee.t7.UL[3] = this.ee.t3.UL[3]; + + // @0012AC74 DSRL32 t7, t5, 20 + MobUt.DSRL32(this.ee.t7, this.ee.t5, 20); + + // @0012AC60 DSLL32 t4, t4, 21 + MobUt.DSLL32(this.ee.t4, this.ee.t4, 21); + + // @00162328 BLEZ v0, $00162464 + if ((this.ee.v0.SD0 <= 0)) { + this.pc = 1451108u; + } + + // @00145300 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + + // @00143F44 OR s0, s0, v0 + this.ee.s0.UD0 = (this.ee.s0.UD0 | this.ee.v0.UD0); + + // @0012D3B0 MOVN t5, t6, t7 + if ((this.ee.t7.UD0 != 0)) { + this.ee.t5.UD0 = this.ee.t6.UD0; + } + } + } +#endif +} diff --git a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Execee.cs b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Execee.cs index 8f39f13e4..61bec1bb6 100644 --- a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Execee.cs +++ b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Execee.cs @@ -1,60 +1,60 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; - -namespace OpenKh.Kh2Anim.Mset.EmuRunner -{ - public class ExeceeException : Exception - { - public ExeceeException() : base() { } - public ExeceeException(string text) : base(text) { } - } - public class TraceDiffException : ExeceeException - { - public TraceDiffException(string what, GPR v1, GPR v2) : base("The trace diff hit: " + what + " --- " + HexFmtUt.Format(v1) + " ≠ " + HexFmtUt.Format(v2)) { } - public TraceDiffException(string what, uint v1, uint v2) : base("The trace diff hit: " + what + " --- " + v1.ToString("x8") + " ≠ " + v2.ToString("x8")) { } - public TraceDiffException(string what, Vec v1, Vec v2) : base("The trace diff hit: " + what + " --- " + HexFmtUt.Format(v1) + " ≠ " + HexFmtUt.Format(v2)) { } - } - public class RecfnnotFound : ExeceeException - { - public RecfnnotFound(uint addr) : base("Recfn not found: " + addr.ToString("X8")) { } - public RecfnnotFound(uint addr, string rc) : base("Recfn not found: " + rc + " " + addr.ToString("X8")) { } - } - public class AccessUnpreparedMemoryException : ExeceeException - { - public AccessUnpreparedMemoryException(uint addr) : base("Access to undefined memory space: " + addr.ToString("X8")) { } - } - public class RecProcIsTooLong : ExeceeException - { - public RecProcIsTooLong(int cnt) : base("Recompiler hits limit: " + cnt + " > max") { } - } - public class IsR0Exception : Exception - { - } - - class HexFmtUt - { - public static string Format(Vec v) - { - MemoryStream os = new MemoryStream(16); - BinaryWriter wr = new BinaryWriter(os); - wr.Write(v.x); - wr.Write(v.y); - wr.Write(v.z); - wr.Write(v.w); - os.Position = 0; - BinaryReader br = new BinaryReader(os); - uint x = br.ReadUInt32(); - uint y = br.ReadUInt32(); - uint z = br.ReadUInt32(); - uint w = br.ReadUInt32(); - return string.Format("{0:x8}_{1:x8}_{2:x8}_{3:x8}", w, z, y, x); - } - - public static string Format(GPR o) - { - return string.Format("{0:x8}_{1:x8}_{2:x8}_{3:x8}", o.UL[3], o.UL[2], o.UL[1], o.UL[0]); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + +namespace OpenKh.Kh2Anim.Mset.EmuRunner +{ + public class ExeceeException : Exception + { + public ExeceeException() : base() { } + public ExeceeException(string text) : base(text) { } + } + public class TraceDiffException : ExeceeException + { + public TraceDiffException(string what, GPR v1, GPR v2) : base("The trace diff hit: " + what + " --- " + HexFmtUt.Format(v1) + " ≠ " + HexFmtUt.Format(v2)) { } + public TraceDiffException(string what, uint v1, uint v2) : base("The trace diff hit: " + what + " --- " + v1.ToString("x8") + " ≠ " + v2.ToString("x8")) { } + public TraceDiffException(string what, Vec v1, Vec v2) : base("The trace diff hit: " + what + " --- " + HexFmtUt.Format(v1) + " ≠ " + HexFmtUt.Format(v2)) { } + } + public class RecfnnotFound : ExeceeException + { + public RecfnnotFound(uint addr) : base("Recfn not found: " + addr.ToString("X8")) { } + public RecfnnotFound(uint addr, string rc) : base("Recfn not found: " + rc + " " + addr.ToString("X8")) { } + } + public class AccessUnpreparedMemoryException : ExeceeException + { + public AccessUnpreparedMemoryException(uint addr) : base("Access to undefined memory space: " + addr.ToString("X8")) { } + } + public class RecProcIsTooLong : ExeceeException + { + public RecProcIsTooLong(int cnt) : base("Recompiler hits limit: " + cnt + " > max") { } + } + public class IsR0Exception : Exception + { + } + + class HexFmtUt + { + public static string Format(Vec v) + { + MemoryStream os = new MemoryStream(16); + BinaryWriter wr = new BinaryWriter(os); + wr.Write(v.x); + wr.Write(v.y); + wr.Write(v.z); + wr.Write(v.w); + os.Position = 0; + BinaryReader br = new BinaryReader(os); + uint x = br.ReadUInt32(); + uint y = br.ReadUInt32(); + uint z = br.ReadUInt32(); + uint w = br.ReadUInt32(); + return string.Format("{0:x8}_{1:x8}_{2:x8}_{3:x8}", w, z, y, x); + } + + public static string Format(GPR o) + { + return string.Format("{0:x8}_{1:x8}_{2:x8}_{3:x8}", o.UL[3], o.UL[2], o.UL[1], o.UL[0]); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mlink.cs b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mlink.cs index de188fb79..713ede4a4 100644 --- a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mlink.cs +++ b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mlink.cs @@ -1,610 +1,622 @@ -//#define UsePressed_eeram -//#define AllowRec1 -//#define Allow_DEB_eeram01 - -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; -using System.Reflection; -using System.Runtime.Serialization.Formatters.Binary; -using System.Collections; -using System.Xml; -using System.IO.Compression; - -namespace OpenKh.Kh2Anim.Mset.EmuRunner -{ - public class Mlink - { - Mobrc1 o1 = new Mobrc1(); - CustEE ee = new CustEE(); - - int cntPass = 0; - uint offMdlx04 = uint.MaxValue; - - class CnfUt - { - public static string findeeram - { - get - { - var file = "rawData/ee.mset.ram.bin.gz"; - { - string path = Path.Combine(Environment.CurrentDirectory, file); - if (File.Exists(path)) - { - return path; - } - } - { - string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, file); - if (File.Exists(path)) - { - return path; - } - } - throw new FileNotFoundException($"Please deploy '{file}' for MSET emulation!"); - } - } - } - - public void Permit(Stream fsMdlx, int cnt1, Stream fsMset, int cnt2, uint offMsetRxxx, float tick, MemoryStream os) - { - if (cntPass == 0) - { - o1.Init0(); - o1.Init1(ee); - } - if (cntPass == 0) - { -#if UsePressed_eeram - Szexp.Decode(Resources.eeramx, ee.ram, ee.ram.Length); -#else - using (FileStream fsi = File.OpenRead(CnfUt.findeeram)) - using (GZipStream gz = new GZipStream(fsi, CompressionMode.Decompress)) - { - gz.Read(ee.ram, 0, 32 * 1024 * 1024); - } -#endif - } - - uint tmp1 = (32 * 1024 * 1024) - (768) - (65536); - uint tmp2 = (32 * 1024 * 1024) - (768) - (65536) - (65536); - uint tmp3 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536); - uint tmp4 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536); - uint tmp5 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512); - uint tmp6 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512); - uint tmp7 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512); - uint tmp8 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536); - uint tmp9 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536); - uint tmpa = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536); - uint tmpb = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536) - (65536); - // tmp1 1abb0b0 64k [out] temp - // tmp2 1abb590 64k [in] st1 - // tmp3 1ac7410 64k [out] temp - // tmp4 1acad50 64k [out] (4x4 matrix for mdlx bone calc) - // tmp5 1abb6d0 8k [out] (Sxyz) - // tmp6 1abc520 8k [out] (Rxyz) - // tmp7 1abd370 8k [out] (Txyz) - // tmp8 3b1870 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) - // tmp9 3b5eb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) - // tmpa 3b6bb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) - // tmpb 3b78b0 64k [out] (s.r.t.?) - - uint Sxyz = tmp5; - uint Rxyz = tmp6; - uint Txyz = tmp7; - - uint offMdlxRoot = 10 * 1024 * 1024; - if (cntPass == 0) - { - fsMdlx.Read(ee.ram, (int)offMdlxRoot, 5 * 1024 * 1024); - - offMdlx04 = new RelocMdlx(ee.ram, (int)offMdlxRoot, (int)offMdlxRoot, 0x354398, 0, tmp2, 1).Run(); - } - - uint s4 = tmp1; // temp; - uint s2 = tmp2; // st1; - uint a1 = s2; - - for (int w = 0; w < 65536; w++) ee.ram[w] = 0; - - if (true) - { - MemoryStream wri = new MemoryStream(ee.ram, true); - wri.Position = s2; - BinaryWriter wr = new BinaryWriter(wri); - uint[] st1al = new uint[] { - 0x0 ,0 ,0 ,0, - 0x0 ,offMdlx04 ,0x0 ,Sxyz, - Rxyz ,Txyz ,tmp3 ,tmp4, - 0x0 ,0x0 ,0x0 ,0, - }; - foreach (uint ui in st1al) wr.Write(ui); - } - - uint offMsetRoot = 15 * 1024 * 1024; - if (cntPass == 0) - { - fsMset.Read(ee.ram, (int)offMsetRoot, 17 * 1024 * 1024); - - RelocMset RM = new RelocMset(ee.ram, offMsetRoot, offMsetRoot, new uint[] { 0, 0, tmp8, tmp9, tmpa, tmpb, }); - RM.Run(); - } - - //uint offMset = 0x009E0340 + 0x1D390; - //uint offMset = offMsetRoot + 0x3370; - uint offMset = offMsetRoot + offMsetRxxx; - - // s0, s1, s2, s4, a1 - uint s1 = offMset; - uint a0 = offMset; - uint s0 = offMset + 0x90; - - ee.VF[0].w = 1; - - // Opt3 - if (true) - { - //ee.r0.UD0 = 0U; - ee.at.UD0 = 0U; - ee.v0.UD0 = 0U; - ee.v1.UD0 = 0U; - ee.a0.UD0 = a0; // mset +0x00 - ee.a1.UD0 = a1; // info tbl - ee.a2.UD0 = 0U; - ee.a3.UD0 = 0U; - ee.t0.UD0 = 0U; - ee.t1.UD0 = 0U; - ee.t2.UD0 = 0U; - ee.t3.UD0 = 0U; - ee.t4.UD0 = 0U; - ee.t5.UD0 = 0U; - ee.t6.UD0 = 0U; - ee.t7.UD0 = 0U; - ee.s0.UD0 = 0U; // s0; // mset +0x90 - ee.s1.UD0 = 0U; - ee.s2.UD0 = 0U; - ee.s3.UD0 = 0U; - ee.s4.UD0 = s4; // temp? - ee.s5.UD0 = 0U; - ee.s6.UD0 = 0U; - ee.s7.UD0 = 0U; - ee.t8.UD0 = 0U; - ee.t9.UD0 = 0U; - ee.k0.UD0 = 0U; - ee.k1.UD0 = 0U; - ee.gp.UD0 = 0U; - ee.sp.UD0 = 0x2000000U; - ee.s8.UD0 = 0U; - ee.ra.UD0 = 0xFFFFFFFFU; - - ee.pc = 0x128260; - while (ee.pc != 0xFFFFFFFFU) - { - if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) - { - o1.pfns[ee.pc](); - } - else throw new RecfnnotFound(ee.pc, "rc3"); - } - } - // Opt2 - if (true) - { - //ee.r0.UD0 = 0U; - ee.at.UD0 = 0U; - ee.v0.UD0 = 0U; - ee.v1.UD0 = 0U; - ee.a0.UD0 = a0; // mset +0x00 - ee.a1.UD0 = a1; // info tbl - ee.a2.UD0 = 0U; - ee.a3.UD0 = 0U; - ee.t0.UD0 = 0U; - ee.t1.UD0 = 0U; - ee.t2.UD0 = 0U; - ee.t3.UD0 = 0U; - ee.t4.UD0 = 0U; - ee.t5.UD0 = 0U; - ee.t6.UD0 = 0U; - ee.t7.UD0 = 0U; - ee.s0.UD0 = s0; // mset +0x90 - ee.s1.UD0 = s1; - ee.s2.UD0 = s2; - ee.s3.UD0 = 0U; - ee.s4.UD0 = s4; // temp? - ee.s5.UD0 = 0U; - ee.s6.UD0 = 0U; - ee.s7.UD0 = 0U; - ee.t8.UD0 = 0U; - ee.t9.UD0 = 0U; - ee.k0.UD0 = 0U; - ee.k1.UD0 = 0U; - ee.gp.UD0 = 0U; - ee.sp.UD0 = 0x2000000U; - ee.s8.UD0 = 0U; - ee.ra.UD0 = 0xFFFFFFFFU; - - ee.fpr[12].f = tick; - - ee.pc = 0x128918; - while (ee.pc != 0xFFFFFFFFU) - { - if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) - { - o1.pfns[ee.pc](); - } - else throw new RecfnnotFound(ee.pc, "rc2"); - } - } - // Opt1 - if (true) - { - ee.at.UD0 = 0U; - ee.v0.UD0 = 0U; - ee.v1.UD0 = 0U; - ee.a0.UD0 = a0; // mset +0x00 - ee.a1.UD0 = a1; // info tbl - ee.a2.UD0 = 0U; - ee.a3.UD0 = 0U; - ee.t0.UD0 = 0U; - ee.t1.UD0 = 0U; - ee.t2.UD0 = 0U; - ee.t3.UD0 = 0U; - ee.t4.UD0 = 0U; - ee.t5.UD0 = 0U; - ee.t6.UD0 = 0U; - ee.t7.UD0 = 0U; - ee.s0.UD0 = s0; // mset +0x90 - ee.s1.UD0 = 0U; - ee.s2.UD0 = 0U; - ee.s3.UD0 = 0U; - ee.s4.UD0 = s4; // temp? - ee.s5.UD0 = 0U; - ee.s6.UD0 = 0U; - ee.s7.UD0 = 0U; - ee.t8.UD0 = 0U; - ee.t9.UD0 = 0U; - ee.k0.UD0 = 0U; - ee.k1.UD0 = 0U; - ee.gp.UD0 = 0U; - ee.sp.UD0 = 0x2000000U; - ee.s8.UD0 = 0U; - ee.ra.UD0 = 0xFFFFFFFFU; - - ee.pc = 0x129A18; - while (ee.pc != 0xFFFFFFFFU) - { - if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) - { - o1.pfns[ee.pc](); - } - else - { - throw new RecfnnotFound(ee.pc, "rc1"); - } - } - } - - os.Write(ee.ram, (int)tmp4, 0x40 * cnt1); - - cntPass++; - - } - - public void Permit_DEB(Stream fsMdlx, int cnt1, Stream fsMset, int cnt2, uint offMsetRxxx, float tick, out float[] Svec, out float[] Rvec, out float[] Tvec) - { - if (cntPass == 0) - { - o1.Init0(); - o1.Init1(ee); - } - if (cntPass == 0) - { -#if UsePressed_eeram - Szexp.Decode(Resources.eeramx, ee.ram, ee.ram.Length); -#else - using (FileStream fsi = File.OpenRead(CnfUt.findeeram)) - using (GZipStream gz = new GZipStream(fsi, CompressionMode.Decompress)) - { - gz.Read(ee.ram, 0, 32 * 1024 * 1024); - } -#endif - } - - uint tmp1 = (32 * 1024 * 1024) - (768) - (65536); - uint tmp2 = (32 * 1024 * 1024) - (768) - (65536) - (65536); - uint tmp3 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536); - uint tmp4 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536); - uint tmp5 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512); - uint tmp6 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512); - uint tmp7 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512); - uint tmp8 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536); - uint tmp9 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536); - uint tmpa = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536); - uint tmpb = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536) - (65536); - // tmp1 1abb0b0 64k [out] temp - // tmp2 1abb590 64k [in] st1 - // tmp3 1ac7410 64k [out] temp - // tmp4 1acad50 64k [out] (4x4 matrix for mdlx bone calc) - // tmp5 1abb6d0 8k [out] (Sxyz) - // tmp6 1abc520 8k [out] (Rxyz) - // tmp7 1abd370 8k [out] (Txyz) - // tmp8 3b1870 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) - // tmp9 3b5eb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) - // tmpa 3b6bb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) - // tmpb 3b78b0 64k [out] (s.r.t.?) - - uint Sxyz = tmp5; - uint Rxyz = tmp6; - uint Txyz = tmp7; - - uint offMdlxRoot = 20 * 1024 * 1024; - if (cntPass == 0) - { - fsMdlx.Read(ee.ram, (int)offMdlxRoot, 5 * 1024 * 1024); - - offMdlx04 = new RelocMdlx(ee.ram, (int)offMdlxRoot, (int)offMdlxRoot, 0x354398, 0, tmp2, 1).Run(); - } - - uint s4 = tmp1; // temp; - uint s2 = tmp2; // st1; - uint a1 = s2; - - for (int w = 0; w < 65536; w++) ee.ram[w] = 0; - - if (true) - { - MemoryStream wri = new MemoryStream(ee.ram, true); - wri.Position = s2; - BinaryWriter wr = new BinaryWriter(wri); - uint[] st1al = new uint[] { - 0x0 ,0 ,0 ,0, - 0x0 ,offMdlx04 ,0x0 ,Sxyz, - Rxyz ,Txyz ,tmp3 ,tmp4, - 0x0 ,0x0 ,0x0 ,0, - }; - foreach (uint ui in st1al) wr.Write(ui); - } - - uint offMsetRoot = 25 * 1024 * 1024; - if (cntPass == 0) - { - fsMset.Read(ee.ram, (int)offMsetRoot, 5 * 1024 * 1024); - - RelocMset RM = new RelocMset(ee.ram, offMsetRoot, offMsetRoot, new uint[] { 0, 0, tmp8, tmp9, tmpa, tmpb, }); - RM.Run(); - } - - //uint offMset = 0x009E0340 + 0x1D390; - //uint offMset = offMsetRoot + 0x3370; - uint offMset = offMsetRoot + offMsetRxxx; - - // s0, s1, s2, s4, a1 - uint s1 = offMset; - uint a0 = offMset; - uint s0 = offMset + 0x90; - - ee.VF[0].w = 1; - - // Opt3 - if (true) - { - //ee.r0.UD0 = 0U; - ee.at.UD0 = 0U; - ee.v0.UD0 = 0U; - ee.v1.UD0 = 0U; - ee.a0.UD0 = a0; // mset +0x00 - ee.a1.UD0 = a1; // info tbl - ee.a2.UD0 = 0U; - ee.a3.UD0 = 0U; - ee.t0.UD0 = 0U; - ee.t1.UD0 = 0U; - ee.t2.UD0 = 0U; - ee.t3.UD0 = 0U; - ee.t4.UD0 = 0U; - ee.t5.UD0 = 0U; - ee.t6.UD0 = 0U; - ee.t7.UD0 = 0U; - ee.s0.UD0 = 0U; // s0; // mset +0x90 - ee.s1.UD0 = 0U; - ee.s2.UD0 = 0U; - ee.s3.UD0 = 0U; - ee.s4.UD0 = s4; // temp? - ee.s5.UD0 = 0U; - ee.s6.UD0 = 0U; - ee.s7.UD0 = 0U; - ee.t8.UD0 = 0U; - ee.t9.UD0 = 0U; - ee.k0.UD0 = 0U; - ee.k1.UD0 = 0U; - ee.gp.UD0 = 0U; - ee.sp.UD0 = 0x2000000U; - ee.s8.UD0 = 0U; - ee.ra.UD0 = 0xFFFFFFFFU; - - ee.pc = 0x128260; - while (ee.pc != 0xFFFFFFFFU) - { - if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) - { - o1.pfns[ee.pc](); - } - else throw new RecfnnotFound(ee.pc, "rc3"); - } - } - // Opt2 - if (true) - { - //ee.r0.UD0 = 0U; - ee.at.UD0 = 0U; - ee.v0.UD0 = 0U; - ee.v1.UD0 = 0U; - ee.a0.UD0 = a0; // mset +0x00 - ee.a1.UD0 = a1; // info tbl - ee.a2.UD0 = 0U; - ee.a3.UD0 = 0U; - ee.t0.UD0 = 0U; - ee.t1.UD0 = 0U; - ee.t2.UD0 = 0U; - ee.t3.UD0 = 0U; - ee.t4.UD0 = 0U; - ee.t5.UD0 = 0U; - ee.t6.UD0 = 0U; - ee.t7.UD0 = 0U; - ee.s0.UD0 = s0; // mset +0x90 - ee.s1.UD0 = s1; - ee.s2.UD0 = s2; - ee.s3.UD0 = 0U; - ee.s4.UD0 = s4; // temp? - ee.s5.UD0 = 0U; - ee.s6.UD0 = 0U; - ee.s7.UD0 = 0U; - ee.t8.UD0 = 0U; - ee.t9.UD0 = 0U; - ee.k0.UD0 = 0U; - ee.k1.UD0 = 0U; - ee.gp.UD0 = 0U; - ee.sp.UD0 = 0x2000000U; - ee.s8.UD0 = 0U; - ee.ra.UD0 = 0xFFFFFFFFU; - - ee.fpr[12].f = tick; - - ee.pc = 0x128918; - while (ee.pc != 0xFFFFFFFFU) - { - if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) - { - o1.pfns[ee.pc](); - } - else throw new RecfnnotFound(ee.pc, "rc2"); - } - } - - { - MemoryStream si = new MemoryStream(ee.ram, false); - BinaryReader br = new BinaryReader(si); - - si.Position = Sxyz; - Svec = new float[4 * cnt1]; - for (int a = 0; a < 4 * cnt1; a++) Svec[a] = br.ReadSingle(); - - si.Position = Rxyz; - Rvec = new float[4 * cnt1]; - for (int a = 0; a < 4 * cnt1; a++) Rvec[a] = br.ReadSingle(); - - si.Position = Txyz; - Tvec = new float[4 * cnt1]; - for (int a = 0; a < 4 * cnt1; a++) Tvec[a] = br.ReadSingle(); - } - - cntPass++; - - } - - public void DEB() - { -#if Allow_DEB_eeram01 - MobUt.bitr[0x378368 >> 4] = true; - MobUt.bitr[0x378378 >> 4] = true; - MobUt.bitr[0x378378 >> 4] = true; - MobUt.bitr[0x378398 >> 4] = true; - MobUt.bitr[0x3783a8 >> 4] = true; - MobUt.bitr[0x3783b8 >> 4] = true; - - BitArray bita = MobUt.bita; - BitArray bitr = MobUt.bitr; - if (File.Exists(Path.Combine(Settings.Default.pressdir, "save_DEB.bin"))) { - using (FileStream fsx = File.OpenRead(Path.Combine(Settings.Default.pressdir, "save_DEB.bin"))) { - BinaryFormatter bf = new BinaryFormatter(); - BitArray b; - bita = bita.Or(b = (BitArray)bf.Deserialize(fsx)); - bitr = bitr.Or(b = (BitArray)bf.Deserialize(fsx)); - } - } - - using (FileStream fs = File.Create(Path.Combine(Settings.Default.pressdir, "eeram01.bin"))) { - byte[] noop16 = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - for (int x = 0; x < 2097152; x++) { - if ((bitr[x] || bitr[Math.Max(0, x - 1)] || bitr[Math.Min(2097152 - 1, x + 1)]) && x < 20 * 1024 * 1024 / 16) { - fs.Write(ee.ram, 16 * x, 16); - } - else { - fs.Write(noop16, 0, 16); - } - } - } - - if (true) { - using (FileStream fsx = File.Create(Path.Combine(Settings.Default.pressdir, "save_DEB.bin"))) { - BinaryFormatter bf = new BinaryFormatter(); - bf.Serialize(fsx, bita); - bf.Serialize(fsx, bitr); - } - } -#endif - } - } - - public partial class Mobrc1 - { - void here(uint pc) { } - - internal SortedDictionary pfns { get { return dicti2a; } } - internal void Init0() { initfns(); } - internal void Init1(CustEE ee) { this.ee = ee; } - } - - class Uteeram - { - class CnfUt - { - public static string findeeram - { - get - { - string[] al = new string[] { - @"H:\Proj\khkh_xldM\MEMO\expSim\rc1\eeram.bin", - Path.Combine(Environment.CurrentDirectory, "eeram.bin"), - }; - foreach (string s in al) - { - if (File.Exists(s)) return s; - } - return al[1]; - } - } - } - - public static byte[] eeram = File.ReadAllBytes(CnfUt.findeeram); - } - - class MobRecUt - { - public delegate void Tx8(); - - public static bool Rec1(uint addr, SortedDictionary dicti2a, CustEE ee) - { -#if AllowRec1 - string dirlib = Settings.Default.dirlib; - string flib = Myrec.Getflib(addr, dirlib); - if (!File.Exists(flib)) { - Myrec.Privrec1(addr, new MemoryStream(Uteeram.eeram, false), dirlib); - if (!File.Exists(flib)) return false; - } - - Assembly lib = Assembly.LoadFile(flib); - Type cls1 = lib.GetType("ee1Dec.C.Class1"); - object o = Activator.CreateInstance(cls1, ee); - MethodInfo mi = cls1.GetMethod(LabUt.addr2Funct(addr)); - MobUt.Tx8 tx8 = (MobUt.Tx8)Delegate.CreateDelegate(typeof(MobUt.Tx8), o, mi); - dicti2a[addr] = tx8; - System.Diagnostics.Debug.WriteLine("## " + addr.ToString("X8")); - return true; -#else - return false; -#endif - } - } -} +//#define UsePressed_eeram +//#define AllowRec1 +//#define Allow_DEB_eeram01 + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; +using System.Reflection; +using System.Runtime.Serialization.Formatters.Binary; +using System.Collections; +using System.Xml; +using System.IO.Compression; + +namespace OpenKh.Kh2Anim.Mset.EmuRunner +{ + public class Mlink + { + Mobrc1 o1 = new Mobrc1(); + CustEE ee = new CustEE(); + + int cntPass = 0; + uint offMdlx04 = uint.MaxValue; + + class CnfUt + { + public static string findeeram + { + get + { + var file = "rawData/ee.mset.ram.bin.gz"; + { + string path = Path.Combine(Environment.CurrentDirectory, file); + if (File.Exists(path)) + { + return path; + } + } + { + string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, file); + if (File.Exists(path)) + { + return path; + } + } + throw new FileNotFoundException($"Please deploy '{file}' for MSET emulation!"); + } + } + } + + public void Permit(Stream fsMdlx, int cnt1, Stream fsMset, int cnt2, uint offMsetRxxx, float tick, MemoryStream os) + { + if (cntPass == 0) + { + o1.Init0(); + o1.Init1(ee); + } + if (cntPass == 0) + { +#if UsePressed_eeram + Szexp.Decode(Resources.eeramx, ee.ram, ee.ram.Length); +#else + using (FileStream fsi = File.OpenRead(CnfUt.findeeram)) + using (GZipStream gz = new GZipStream(fsi, CompressionMode.Decompress)) + { + gz.Read(ee.ram, 0, 32 * 1024 * 1024); + } +#endif + } + + uint tmp1 = (32 * 1024 * 1024) - (768) - (65536); + uint tmp2 = (32 * 1024 * 1024) - (768) - (65536) - (65536); + uint tmp3 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536); + uint tmp4 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536); + uint tmp5 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512); + uint tmp6 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512); + uint tmp7 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512); + uint tmp8 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536); + uint tmp9 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536); + uint tmpa = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536); + uint tmpb = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536) - (65536); + // tmp1 1abb0b0 64k [out] temp + // tmp2 1abb590 64k [in] st1 + // tmp3 1ac7410 64k [out] temp + // tmp4 1acad50 64k [out] (4x4 matrix for mdlx bone calc) + // tmp5 1abb6d0 8k [out] (Sxyz) + // tmp6 1abc520 8k [out] (Rxyz) + // tmp7 1abd370 8k [out] (Txyz) + // tmp8 3b1870 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) + // tmp9 3b5eb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) + // tmpa 3b6bb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) + // tmpb 3b78b0 64k [out] (s.r.t.?) + + uint Sxyz = tmp5; + uint Rxyz = tmp6; + uint Txyz = tmp7; + + uint offMdlxRoot = 10 * 1024 * 1024; + if (cntPass == 0) + { + fsMdlx.Read(ee.ram, (int)offMdlxRoot, 5 * 1024 * 1024); + + offMdlx04 = new RelocMdlx(ee.ram, (int)offMdlxRoot, (int)offMdlxRoot, 0x354398, 0, tmp2, 1).Run(); + } + + uint s4 = tmp1; // temp; + uint s2 = tmp2; // st1; + uint a1 = s2; + + for (int w = 0; w < 65536; w++) + ee.ram[w] = 0; + + if (true) + { + MemoryStream wri = new MemoryStream(ee.ram, true); + wri.Position = s2; + BinaryWriter wr = new BinaryWriter(wri); + uint[] st1al = new uint[] { + 0x0 ,0 ,0 ,0, + 0x0 ,offMdlx04 ,0x0 ,Sxyz, + Rxyz ,Txyz ,tmp3 ,tmp4, + 0x0 ,0x0 ,0x0 ,0, + }; + foreach (uint ui in st1al) + wr.Write(ui); + } + + uint offMsetRoot = 15 * 1024 * 1024; + if (cntPass == 0) + { + fsMset.Read(ee.ram, (int)offMsetRoot, 17 * 1024 * 1024); + + RelocMset RM = new RelocMset(ee.ram, offMsetRoot, offMsetRoot, new uint[] { 0, 0, tmp8, tmp9, tmpa, tmpb, }); + RM.Run(); + } + + //uint offMset = 0x009E0340 + 0x1D390; + //uint offMset = offMsetRoot + 0x3370; + uint offMset = offMsetRoot + offMsetRxxx; + + // s0, s1, s2, s4, a1 + uint s1 = offMset; + uint a0 = offMset; + uint s0 = offMset + 0x90; + + ee.VF[0].w = 1; + + // Opt3 + if (true) + { + //ee.r0.UD0 = 0U; + ee.at.UD0 = 0U; + ee.v0.UD0 = 0U; + ee.v1.UD0 = 0U; + ee.a0.UD0 = a0; // mset +0x00 + ee.a1.UD0 = a1; // info tbl + ee.a2.UD0 = 0U; + ee.a3.UD0 = 0U; + ee.t0.UD0 = 0U; + ee.t1.UD0 = 0U; + ee.t2.UD0 = 0U; + ee.t3.UD0 = 0U; + ee.t4.UD0 = 0U; + ee.t5.UD0 = 0U; + ee.t6.UD0 = 0U; + ee.t7.UD0 = 0U; + ee.s0.UD0 = 0U; // s0; // mset +0x90 + ee.s1.UD0 = 0U; + ee.s2.UD0 = 0U; + ee.s3.UD0 = 0U; + ee.s4.UD0 = s4; // temp? + ee.s5.UD0 = 0U; + ee.s6.UD0 = 0U; + ee.s7.UD0 = 0U; + ee.t8.UD0 = 0U; + ee.t9.UD0 = 0U; + ee.k0.UD0 = 0U; + ee.k1.UD0 = 0U; + ee.gp.UD0 = 0U; + ee.sp.UD0 = 0x2000000U; + ee.s8.UD0 = 0U; + ee.ra.UD0 = 0xFFFFFFFFU; + + ee.pc = 0x128260; + while (ee.pc != 0xFFFFFFFFU) + { + if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) + { + o1.pfns[ee.pc](); + } + else + throw new RecfnnotFound(ee.pc, "rc3"); + } + } + // Opt2 + if (true) + { + //ee.r0.UD0 = 0U; + ee.at.UD0 = 0U; + ee.v0.UD0 = 0U; + ee.v1.UD0 = 0U; + ee.a0.UD0 = a0; // mset +0x00 + ee.a1.UD0 = a1; // info tbl + ee.a2.UD0 = 0U; + ee.a3.UD0 = 0U; + ee.t0.UD0 = 0U; + ee.t1.UD0 = 0U; + ee.t2.UD0 = 0U; + ee.t3.UD0 = 0U; + ee.t4.UD0 = 0U; + ee.t5.UD0 = 0U; + ee.t6.UD0 = 0U; + ee.t7.UD0 = 0U; + ee.s0.UD0 = s0; // mset +0x90 + ee.s1.UD0 = s1; + ee.s2.UD0 = s2; + ee.s3.UD0 = 0U; + ee.s4.UD0 = s4; // temp? + ee.s5.UD0 = 0U; + ee.s6.UD0 = 0U; + ee.s7.UD0 = 0U; + ee.t8.UD0 = 0U; + ee.t9.UD0 = 0U; + ee.k0.UD0 = 0U; + ee.k1.UD0 = 0U; + ee.gp.UD0 = 0U; + ee.sp.UD0 = 0x2000000U; + ee.s8.UD0 = 0U; + ee.ra.UD0 = 0xFFFFFFFFU; + + ee.fpr[12].f = tick; + + ee.pc = 0x128918; + while (ee.pc != 0xFFFFFFFFU) + { + if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) + { + o1.pfns[ee.pc](); + } + else + throw new RecfnnotFound(ee.pc, "rc2"); + } + } + // Opt1 + if (true) + { + ee.at.UD0 = 0U; + ee.v0.UD0 = 0U; + ee.v1.UD0 = 0U; + ee.a0.UD0 = a0; // mset +0x00 + ee.a1.UD0 = a1; // info tbl + ee.a2.UD0 = 0U; + ee.a3.UD0 = 0U; + ee.t0.UD0 = 0U; + ee.t1.UD0 = 0U; + ee.t2.UD0 = 0U; + ee.t3.UD0 = 0U; + ee.t4.UD0 = 0U; + ee.t5.UD0 = 0U; + ee.t6.UD0 = 0U; + ee.t7.UD0 = 0U; + ee.s0.UD0 = s0; // mset +0x90 + ee.s1.UD0 = 0U; + ee.s2.UD0 = 0U; + ee.s3.UD0 = 0U; + ee.s4.UD0 = s4; // temp? + ee.s5.UD0 = 0U; + ee.s6.UD0 = 0U; + ee.s7.UD0 = 0U; + ee.t8.UD0 = 0U; + ee.t9.UD0 = 0U; + ee.k0.UD0 = 0U; + ee.k1.UD0 = 0U; + ee.gp.UD0 = 0U; + ee.sp.UD0 = 0x2000000U; + ee.s8.UD0 = 0U; + ee.ra.UD0 = 0xFFFFFFFFU; + + ee.pc = 0x129A18; + while (ee.pc != 0xFFFFFFFFU) + { + if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) + { + o1.pfns[ee.pc](); + } + else + { + throw new RecfnnotFound(ee.pc, "rc1"); + } + } + } + + os.Write(ee.ram, (int)tmp4, 0x40 * cnt1); + + cntPass++; + + } + + public void Permit_DEB(Stream fsMdlx, int cnt1, Stream fsMset, int cnt2, uint offMsetRxxx, float tick, out float[] Svec, out float[] Rvec, out float[] Tvec) + { + if (cntPass == 0) + { + o1.Init0(); + o1.Init1(ee); + } + if (cntPass == 0) + { +#if UsePressed_eeram + Szexp.Decode(Resources.eeramx, ee.ram, ee.ram.Length); +#else + using (FileStream fsi = File.OpenRead(CnfUt.findeeram)) + using (GZipStream gz = new GZipStream(fsi, CompressionMode.Decompress)) + { + gz.Read(ee.ram, 0, 32 * 1024 * 1024); + } +#endif + } + + uint tmp1 = (32 * 1024 * 1024) - (768) - (65536); + uint tmp2 = (32 * 1024 * 1024) - (768) - (65536) - (65536); + uint tmp3 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536); + uint tmp4 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536); + uint tmp5 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512); + uint tmp6 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512); + uint tmp7 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512); + uint tmp8 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536); + uint tmp9 = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536); + uint tmpa = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536); + uint tmpb = (32 * 1024 * 1024) - (768) - (65536) - (65536) - (65536) - (65536) - (16 * 512) - (16 * 512) - (16 * 512) - (65536) - (65536) - (65536) - (65536); + // tmp1 1abb0b0 64k [out] temp + // tmp2 1abb590 64k [in] st1 + // tmp3 1ac7410 64k [out] temp + // tmp4 1acad50 64k [out] (4x4 matrix for mdlx bone calc) + // tmp5 1abb6d0 8k [out] (Sxyz) + // tmp6 1abc520 8k [out] (Rxyz) + // tmp7 1abd370 8k [out] (Txyz) + // tmp8 3b1870 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) + // tmp9 3b5eb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) + // tmpa 3b6bb0 64k [out] (4x4 matrix) size=64*(cnt2-cnt1) + // tmpb 3b78b0 64k [out] (s.r.t.?) + + uint Sxyz = tmp5; + uint Rxyz = tmp6; + uint Txyz = tmp7; + + uint offMdlxRoot = 20 * 1024 * 1024; + if (cntPass == 0) + { + fsMdlx.Read(ee.ram, (int)offMdlxRoot, 5 * 1024 * 1024); + + offMdlx04 = new RelocMdlx(ee.ram, (int)offMdlxRoot, (int)offMdlxRoot, 0x354398, 0, tmp2, 1).Run(); + } + + uint s4 = tmp1; // temp; + uint s2 = tmp2; // st1; + uint a1 = s2; + + for (int w = 0; w < 65536; w++) + ee.ram[w] = 0; + + if (true) + { + MemoryStream wri = new MemoryStream(ee.ram, true); + wri.Position = s2; + BinaryWriter wr = new BinaryWriter(wri); + uint[] st1al = new uint[] { + 0x0 ,0 ,0 ,0, + 0x0 ,offMdlx04 ,0x0 ,Sxyz, + Rxyz ,Txyz ,tmp3 ,tmp4, + 0x0 ,0x0 ,0x0 ,0, + }; + foreach (uint ui in st1al) + wr.Write(ui); + } + + uint offMsetRoot = 25 * 1024 * 1024; + if (cntPass == 0) + { + fsMset.Read(ee.ram, (int)offMsetRoot, 5 * 1024 * 1024); + + RelocMset RM = new RelocMset(ee.ram, offMsetRoot, offMsetRoot, new uint[] { 0, 0, tmp8, tmp9, tmpa, tmpb, }); + RM.Run(); + } + + //uint offMset = 0x009E0340 + 0x1D390; + //uint offMset = offMsetRoot + 0x3370; + uint offMset = offMsetRoot + offMsetRxxx; + + // s0, s1, s2, s4, a1 + uint s1 = offMset; + uint a0 = offMset; + uint s0 = offMset + 0x90; + + ee.VF[0].w = 1; + + // Opt3 + if (true) + { + //ee.r0.UD0 = 0U; + ee.at.UD0 = 0U; + ee.v0.UD0 = 0U; + ee.v1.UD0 = 0U; + ee.a0.UD0 = a0; // mset +0x00 + ee.a1.UD0 = a1; // info tbl + ee.a2.UD0 = 0U; + ee.a3.UD0 = 0U; + ee.t0.UD0 = 0U; + ee.t1.UD0 = 0U; + ee.t2.UD0 = 0U; + ee.t3.UD0 = 0U; + ee.t4.UD0 = 0U; + ee.t5.UD0 = 0U; + ee.t6.UD0 = 0U; + ee.t7.UD0 = 0U; + ee.s0.UD0 = 0U; // s0; // mset +0x90 + ee.s1.UD0 = 0U; + ee.s2.UD0 = 0U; + ee.s3.UD0 = 0U; + ee.s4.UD0 = s4; // temp? + ee.s5.UD0 = 0U; + ee.s6.UD0 = 0U; + ee.s7.UD0 = 0U; + ee.t8.UD0 = 0U; + ee.t9.UD0 = 0U; + ee.k0.UD0 = 0U; + ee.k1.UD0 = 0U; + ee.gp.UD0 = 0U; + ee.sp.UD0 = 0x2000000U; + ee.s8.UD0 = 0U; + ee.ra.UD0 = 0xFFFFFFFFU; + + ee.pc = 0x128260; + while (ee.pc != 0xFFFFFFFFU) + { + if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) + { + o1.pfns[ee.pc](); + } + else + throw new RecfnnotFound(ee.pc, "rc3"); + } + } + // Opt2 + if (true) + { + //ee.r0.UD0 = 0U; + ee.at.UD0 = 0U; + ee.v0.UD0 = 0U; + ee.v1.UD0 = 0U; + ee.a0.UD0 = a0; // mset +0x00 + ee.a1.UD0 = a1; // info tbl + ee.a2.UD0 = 0U; + ee.a3.UD0 = 0U; + ee.t0.UD0 = 0U; + ee.t1.UD0 = 0U; + ee.t2.UD0 = 0U; + ee.t3.UD0 = 0U; + ee.t4.UD0 = 0U; + ee.t5.UD0 = 0U; + ee.t6.UD0 = 0U; + ee.t7.UD0 = 0U; + ee.s0.UD0 = s0; // mset +0x90 + ee.s1.UD0 = s1; + ee.s2.UD0 = s2; + ee.s3.UD0 = 0U; + ee.s4.UD0 = s4; // temp? + ee.s5.UD0 = 0U; + ee.s6.UD0 = 0U; + ee.s7.UD0 = 0U; + ee.t8.UD0 = 0U; + ee.t9.UD0 = 0U; + ee.k0.UD0 = 0U; + ee.k1.UD0 = 0U; + ee.gp.UD0 = 0U; + ee.sp.UD0 = 0x2000000U; + ee.s8.UD0 = 0U; + ee.ra.UD0 = 0xFFFFFFFFU; + + ee.fpr[12].f = tick; + + ee.pc = 0x128918; + while (ee.pc != 0xFFFFFFFFU) + { + if (o1.pfns.ContainsKey(ee.pc) || MobRecUt.Rec1(ee.pc, o1.pfns, ee)) + { + o1.pfns[ee.pc](); + } + else + throw new RecfnnotFound(ee.pc, "rc2"); + } + } + + { + MemoryStream si = new MemoryStream(ee.ram, false); + BinaryReader br = new BinaryReader(si); + + si.Position = Sxyz; + Svec = new float[4 * cnt1]; + for (int a = 0; a < 4 * cnt1; a++) + Svec[a] = br.ReadSingle(); + + si.Position = Rxyz; + Rvec = new float[4 * cnt1]; + for (int a = 0; a < 4 * cnt1; a++) + Rvec[a] = br.ReadSingle(); + + si.Position = Txyz; + Tvec = new float[4 * cnt1]; + for (int a = 0; a < 4 * cnt1; a++) + Tvec[a] = br.ReadSingle(); + } + + cntPass++; + + } + + public void DEB() + { +#if Allow_DEB_eeram01 + MobUt.bitr[0x378368 >> 4] = true; + MobUt.bitr[0x378378 >> 4] = true; + MobUt.bitr[0x378378 >> 4] = true; + MobUt.bitr[0x378398 >> 4] = true; + MobUt.bitr[0x3783a8 >> 4] = true; + MobUt.bitr[0x3783b8 >> 4] = true; + + BitArray bita = MobUt.bita; + BitArray bitr = MobUt.bitr; + if (File.Exists(Path.Combine(Settings.Default.pressdir, "save_DEB.bin"))) { + using (FileStream fsx = File.OpenRead(Path.Combine(Settings.Default.pressdir, "save_DEB.bin"))) { + BinaryFormatter bf = new BinaryFormatter(); + BitArray b; + bita = bita.Or(b = (BitArray)bf.Deserialize(fsx)); + bitr = bitr.Or(b = (BitArray)bf.Deserialize(fsx)); + } + } + + using (FileStream fs = File.Create(Path.Combine(Settings.Default.pressdir, "eeram01.bin"))) { + byte[] noop16 = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; + for (int x = 0; x < 2097152; x++) { + if ((bitr[x] || bitr[Math.Max(0, x - 1)] || bitr[Math.Min(2097152 - 1, x + 1)]) && x < 20 * 1024 * 1024 / 16) { + fs.Write(ee.ram, 16 * x, 16); + } + else { + fs.Write(noop16, 0, 16); + } + } + } + + if (true) { + using (FileStream fsx = File.Create(Path.Combine(Settings.Default.pressdir, "save_DEB.bin"))) { + BinaryFormatter bf = new BinaryFormatter(); + bf.Serialize(fsx, bita); + bf.Serialize(fsx, bitr); + } + } +#endif + } + } + + public partial class Mobrc1 + { + void here(uint pc) { } + + internal SortedDictionary pfns { get { return dicti2a; } } + internal void Init0() { initfns(); } + internal void Init1(CustEE ee) { this.ee = ee; } + } + + class Uteeram + { + class CnfUt + { + public static string findeeram + { + get + { + string[] al = new string[] { + @"H:\Proj\khkh_xldM\MEMO\expSim\rc1\eeram.bin", + Path.Combine(Environment.CurrentDirectory, "eeram.bin"), + }; + foreach (string s in al) + { + if (File.Exists(s)) + return s; + } + return al[1]; + } + } + } + + public static byte[] eeram = File.ReadAllBytes(CnfUt.findeeram); + } + + class MobRecUt + { + public delegate void Tx8(); + + public static bool Rec1(uint addr, SortedDictionary dicti2a, CustEE ee) + { +#if AllowRec1 + string dirlib = Settings.Default.dirlib; + string flib = Myrec.Getflib(addr, dirlib); + if (!File.Exists(flib)) { + Myrec.Privrec1(addr, new MemoryStream(Uteeram.eeram, false), dirlib); + if (!File.Exists(flib)) return false; + } + + Assembly lib = Assembly.LoadFile(flib); + Type cls1 = lib.GetType("ee1Dec.C.Class1"); + object o = Activator.CreateInstance(cls1, ee); + MethodInfo mi = cls1.GetMethod(LabUt.addr2Funct(addr)); + MobUt.Tx8 tx8 = (MobUt.Tx8)Delegate.CreateDelegate(typeof(MobUt.Tx8), o, mi); + dicti2a[addr] = tx8; + System.Diagnostics.Debug.WriteLine("## " + addr.ToString("X8")); + return true; +#else + return false; +#endif + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mobrc1.cs b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mobrc1.cs index 21173ded5..cf1229aaa 100644 --- a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mobrc1.cs +++ b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/Mobrc1.cs @@ -1,24821 +1,24821 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset.EmuRunner -{ - public partial class Mobrc1 - { - - private CustEE ee = new CustEE(); - - private SortedDictionary dicti2a = new SortedDictionary(); - - public virtual void funct0011b420() - { - this.ee.pc = 1160272u; - // @0011B420 LUI t7, $0035 - this.ee.t7.SD0 = 3473408; - // @0011B424 ADDIU t7, t7, $4260 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16992))); - // @0011B428 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0011B42C LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0011B430 LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0011B434 LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0011B438 SQ t0, $0000(a0) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a0.UL[0])); - // @0011B43C SQ t1, $0010(a0) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a0.UL[0])); - // @0011B440 SQ t2, $0020(a0) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a0.UL[0])); - // @0011B444 SQ t3, $0030(a0) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a0.UL[0])); - // @0011B448 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0011B44C NOP - MobUt.Latency(); - } - - public virtual void funct0011b450() - { - this.ee.pc = 1160300u; - // @0011B450 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0011B454 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @0011B458 SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @0011B45C C.EQ.S $f12, $f0 - this.ee.fcr31_23 = (this.ee.fpr[12].f == this.ee.fpr[0].f); - // @0011B460 SD ra, $0008(sp) - MobUt.SD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @0011B464 BC1T $0011b484 - if (this.ee.fcr31_23) - { - this.ee.pc = 1160324u; - } - // @0011B468 DADDU s0, a0, zero - this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0011b46c() - { - this.ee.pc = 1160308u; - // @0011B46C JAL $0011bdc8 - this.ee.ra.UL0 = 1160308u; - this.ee.pc = 1162696u; - // @0011B470 NOP - MobUt.Latency(); - } - - public virtual void funct0011b474() - { - this.ee.pc = 1160324u; - // @0011B474 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - // @0011B478 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0011B47C JAL $002faa58 - this.ee.ra.UL0 = 1160324u; - this.ee.pc = 3123800u; - // @0011B480 DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0011b484() - { - this.ee.pc = 1160344u; - // @0011B484 DADDU v0, s0, zero - this.ee.v0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0011B488 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @0011B48C LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @0011B490 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0011B494 ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct0011b528() - { - this.ee.pc = 1160536u; - // @0011B528 ADDIU sp, sp, $ffe0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); - // @0011B52C SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @0011B530 SD s1, $0008(sp) - MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @0011B534 SWC1 $f20, $0018(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); - // @0011B538 DADDU s0, a0, zero - this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @0011B53C SD ra, $0010(sp) - MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @0011B540 DADDU s1, a1, zero - this.ee.s1.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @0011B544 MTC1 zero, $f20 - this.ee.fpr[20].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0011B548 LWC1 $f0, $0000(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a1.UL0)); - // @0011B54C C.EQ.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); - // @0011B550 BC1T $0011b570 - if (this.ee.fcr31_23) - { - this.ee.pc = 1160560u; - } - // @0011B554 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - } - - public virtual void funct0011b558() - { - this.ee.pc = 1160544u; - // @0011B558 JAL $0011bdc8 - this.ee.ra.UL0 = 1160544u; - this.ee.pc = 1162696u; - // @0011B55C NOP - MobUt.Latency(); - } - - public virtual void funct0011b560() - { - this.ee.pc = 1160560u; - // @0011B560 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - // @0011B564 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0011B568 JAL $002faa58 - this.ee.ra.UL0 = 1160560u; - this.ee.pc = 3123800u; - // @0011B56C DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0011b570() - { - this.ee.pc = 1160576u; - // @0011B570 LWC1 $f0, $0004(s1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.s1.UL0)); - // @0011B574 C.EQ.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); - // @0011B578 BC1T $0011b598 - if (this.ee.fcr31_23) - { - this.ee.pc = 1160600u; - } - // @0011B57C MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - } - - public virtual void funct0011b580() - { - this.ee.pc = 1160584u; - // @0011B580 JAL $0011bdc8 - this.ee.ra.UL0 = 1160584u; - this.ee.pc = 1162696u; - // @0011B584 NOP - MobUt.Latency(); - } - - public virtual void funct0011b588() - { - this.ee.pc = 1160600u; - // @0011B588 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - // @0011B58C DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0011B590 JAL $002fab00 - this.ee.ra.UL0 = 1160600u; - this.ee.pc = 3123968u; - // @0011B594 DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0011b598() - { - this.ee.pc = 1160616u; - // @0011B598 LWC1 $f0, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.s1.UL0)); - // @0011B59C C.EQ.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); - // @0011B5A0 BC1T $0011b5c0 - if (this.ee.fcr31_23) - { - this.ee.pc = 1160640u; - } - // @0011B5A4 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - } - - public virtual void funct0011b5a8() - { - this.ee.pc = 1160624u; - // @0011B5A8 JAL $0011bdc8 - this.ee.ra.UL0 = 1160624u; - this.ee.pc = 1162696u; - // @0011B5AC NOP - MobUt.Latency(); - } - - public virtual void funct0011b5b0() - { - this.ee.pc = 1160640u; - // @0011B5B0 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - // @0011B5B4 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0011B5B8 JAL $002fa9b0 - this.ee.ra.UL0 = 1160640u; - this.ee.pc = 3123632u; - // @0011B5BC DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0011b5c0() - { - this.ee.pc = 1160668u; - // @0011B5C0 DADDU v0, s0, zero - this.ee.v0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0011B5C4 LD s1, $0008(sp) - MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @0011B5C8 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @0011B5CC LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @0011B5D0 LWC1 $f20, $0018(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); - // @0011B5D4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0011B5D8 ADDIU sp, sp, $0020 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct0011b840() - { - this.ee.pc = 1161332u; - // @0011B840 ADDIU sp, sp, $ffb0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -80))); - // @0011B844 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011B848 SD s0, $0030(sp) - MobUt.SD(this.ee, this.ee.s0, (48u + this.ee.sp.UL0)); - // @0011B84C ADDIU t7, t7, $8104 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32508))); - // @0011B850 SD s1, $0038(sp) - MobUt.SD(this.ee, this.ee.s1, (56u + this.ee.sp.UL0)); - // @0011B854 SD ra, $0040(sp) - MobUt.SD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); - // @0011B858 DADDU s0, a0, zero - this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @0011B85C SWC1 $f20, $0048(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); - // @0011B860 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0011B864 LWC1 $f20, $0008(a0) - MobUt.LWC1(this.ee, this.ee.fpr[20], (8u + this.ee.a0.UL0)); - // @0011B868 C.LT.S $f20, $f0 - this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[0].f); - // @0011B86C BC1T $0011b88c - if (this.ee.fcr31_23) - { - this.ee.pc = 1161356u; - } - // @0011B870 DADDU s1, a1, zero - this.ee.s1.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0011b874() - { - this.ee.pc = 1161356u; - // @0011B874 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011B878 ADDIU t7, t7, $8108 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32504))); - // @0011B87C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0011B880 C.LT.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[20].f); - // @0011B884 BC1FL $0011b894 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1161364u; - // @0011B888 LWC1 $f13, $0000(s0) - MobUt.LWC1(this.ee, this.ee.fpr[13], (0u + this.ee.s0.UL0)); - } - } - - public virtual void funct0011b88c() - { - this.ee.pc = 1161412u; - // @0011B88C MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @0011B890 LWC1 $f13, $0000(s0) - MobUt.LWC1(this.ee, this.ee.fpr[13], (0u + this.ee.s0.UL0)); - // @0011B894 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011B898 LWC1 $f12, $0004(s0) - MobUt.LWC1(this.ee, this.ee.fpr[12], (4u + this.ee.s0.UL0)); - // @0011B89C ADDIU t7, t7, $810c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32500))); - // @0011B8A0 MULA.S $f13, $f13 - this.ee.fpracc.f = (this.ee.fpr[13].f * this.ee.fpr[13].f); - // @0011B8A4 MADD.S $f0, $f12, $f12 - this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[12].f, this.ee.fpr[12].f); - // @0011B8A8 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @0011B8AC NOP - MobUt.Latency(); - // @0011B8B0 NOP - MobUt.Latency(); - // @0011B8B4 SQRT.S $f0, $f0 - this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); - // @0011B8B8 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @0011B8BC BC1F $0011ba50 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1161808u; - } - // @0011B8C0 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - - public virtual void funct0011b894() - { - this.ee.pc = 1161412u; - // @0011B894 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011B898 LWC1 $f12, $0004(s0) - MobUt.LWC1(this.ee, this.ee.fpr[12], (4u + this.ee.s0.UL0)); - // @0011B89C ADDIU t7, t7, $810c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32500))); - // @0011B8A0 MULA.S $f13, $f13 - this.ee.fpracc.f = (this.ee.fpr[13].f * this.ee.fpr[13].f); - // @0011B8A4 MADD.S $f0, $f12, $f12 - this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[12].f, this.ee.fpr[12].f); - // @0011B8A8 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @0011B8AC NOP - MobUt.Latency(); - // @0011B8B0 NOP - MobUt.Latency(); - // @0011B8B4 SQRT.S $f0, $f0 - this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); - // @0011B8B8 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @0011B8BC BC1F $0011ba50 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1161808u; - } - // @0011B8C0 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - - public virtual void funct0011b8c4() - { - this.ee.pc = 1161420u; - // @0011B8C4 JAL $002ff8c0 - this.ee.ra.UL0 = 1161420u; - this.ee.pc = 3143872u; - // @0011B8C8 NOP - MobUt.Latency(); - } - - public virtual void funct0011b8cc() - { - this.ee.pc = 1161432u; - // @0011B8CC NEG.S $f12, $f20 - this.ee.fpr[12].f = (0 - this.ee.fpr[20].f); - // @0011B8D0 JAL $002ff8a8 - this.ee.ra.UL0 = 1161432u; - this.ee.pc = 3143848u; - // @0011B8D4 SWC1 $f0, $0028(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (40u + this.ee.sp.UL0)); - } - - public virtual void funct0011b8d8() - { - this.ee.pc = 1161448u; - // @0011B8D8 SWC1 $f0, $0024(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (36u + this.ee.sp.UL0)); - // @0011B8DC LWC1 $f13, $0028(s0) - MobUt.LWC1(this.ee, this.ee.fpr[13], (40u + this.ee.s0.UL0)); - // @0011B8E0 JAL $002ff8c0 - this.ee.ra.UL0 = 1161448u; - this.ee.pc = 3143872u; - // @0011B8E4 LWC1 $f12, $0018(s0) - MobUt.LWC1(this.ee, this.ee.fpr[12], (24u + this.ee.s0.UL0)); - } - - public virtual void funct0011b8e8() - { - this.ee.pc = 1161472u; - // @0011B8E8 MOV.S $f1, $f0 - this.ee.fpr[1].f = this.ee.fpr[0].f; - // @0011B8EC SWC1 $f0, $0020(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (32u + this.ee.sp.UL0)); - // @0011B8F0 LWC1 $f12, $0000(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.s1.UL0)); - // @0011B8F4 ADDIU s0, sp, $0010 - this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @0011B8F8 JAL $0011bdc8 - this.ee.ra.UL0 = 1161472u; - this.ee.pc = 1162696u; - // @0011B8FC SUB.S $f12, $f1, $f12 - this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); - } - - public virtual void funct0011b8f0() - { - this.ee.pc = 1161472u; - // @0011B8F0 LWC1 $f12, $0000(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.s1.UL0)); - // @0011B8F4 ADDIU s0, sp, $0010 - this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @0011B8F8 JAL $0011bdc8 - this.ee.ra.UL0 = 1161472u; - this.ee.pc = 1162696u; - // @0011B8FC SUB.S $f12, $f1, $f12 - this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); - } - - public virtual void funct0011b900() - { - this.ee.pc = 1161492u; - // @0011B900 LWC1 $f1, $0004(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.s1.UL0)); - // @0011B904 LWC1 $f12, $0024(sp) - MobUt.LWC1(this.ee, this.ee.fpr[12], (36u + this.ee.sp.UL0)); - // @0011B908 SWC1 $f0, $0000(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.sp.UL0)); - // @0011B90C JAL $0011bdc8 - this.ee.ra.UL0 = 1161492u; - this.ee.pc = 1162696u; - // @0011B910 SUB.S $f12, $f12, $f1 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); - } - - public virtual void funct0011b914() - { - this.ee.pc = 1161512u; - // @0011B914 LWC1 $f1, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); - // @0011B918 LWC1 $f12, $0028(sp) - MobUt.LWC1(this.ee, this.ee.fpr[12], (40u + this.ee.sp.UL0)); - // @0011B91C SWC1 $f0, $0004(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.sp.UL0)); - // @0011B920 JAL $0011bdc8 - this.ee.ra.UL0 = 1161512u; - this.ee.pc = 1162696u; - // @0011B924 SUB.S $f12, $f12, $f1 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); - } - - public virtual void funct0011b928() - { - this.ee.pc = 1161576u; - // @0011B928 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011B92C LWC1 $f1, $0020(sp) - MobUt.LWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); - // @0011B930 ADDIU t7, t7, $8114 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32492))); - // @0011B934 LWC1 $f2, $0028(sp) - MobUt.LWC1(this.ee, this.ee.fpr[2], (40u + this.ee.sp.UL0)); - // @0011B938 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @0011B93C SWC1 $f0, $0008(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.sp.UL0)); - // @0011B940 ADD.S $f2, $f2, $f3 - this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[3].f); - // @0011B944 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @0011B948 LWC1 $f0, $0024(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (36u + this.ee.sp.UL0)); - // @0011B94C LWC1 $f12, $0000(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.s1.UL0)); - // @0011B950 SWC1 $f2, $0028(sp) - MobUt.SWC1(this.ee, this.ee.fpr[2], (40u + this.ee.sp.UL0)); - // @0011B954 SUB.S $f3, $f3, $f0 - this.ee.fpr[3].f = (this.ee.fpr[3].f - this.ee.fpr[0].f); - // @0011B958 SUB.S $f12, $f1, $f12 - this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); - // @0011B95C SWC1 $f1, $0020(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); - // @0011B960 JAL $0011bdc8 - this.ee.ra.UL0 = 1161576u; - this.ee.pc = 1162696u; - // @0011B964 SWC1 $f3, $0024(sp) - MobUt.SWC1(this.ee, this.ee.fpr[3], (36u + this.ee.sp.UL0)); - } - - public virtual void funct0011b968() - { - this.ee.pc = 1161596u; - // @0011B968 LWC1 $f1, $0004(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.s1.UL0)); - // @0011B96C LWC1 $f12, $0024(sp) - MobUt.LWC1(this.ee, this.ee.fpr[12], (36u + this.ee.sp.UL0)); - // @0011B970 SWC1 $f0, $0010(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.sp.UL0)); - // @0011B974 JAL $0011bdc8 - this.ee.ra.UL0 = 1161596u; - this.ee.pc = 1162696u; - // @0011B978 SUB.S $f12, $f12, $f1 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); - } - - public virtual void funct0011b97c() - { - this.ee.pc = 1161616u; - // @0011B97C LWC1 $f1, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); - // @0011B980 LWC1 $f12, $0028(sp) - MobUt.LWC1(this.ee, this.ee.fpr[12], (40u + this.ee.sp.UL0)); - // @0011B984 SWC1 $f0, $0014(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (20u + this.ee.sp.UL0)); - // @0011B988 JAL $0011bdc8 - this.ee.ra.UL0 = 1161616u; - this.ee.pc = 1162696u; - // @0011B98C SUB.S $f12, $f12, $f1 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); - } - - public virtual void funct0011b990() - { - this.ee.pc = 1161692u; - // @0011B990 SWC1 $f0, $0018(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (24u + this.ee.sp.UL0)); - // @0011B994 MOV.S $f5, $f0 - this.ee.fpr[5].f = this.ee.fpr[0].f; - // @0011B998 LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @0011B99C LQC2 vf2, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); - // @0011B9A0 VMUL.xyz vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - // @0011B9A4 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @0011B9A8 VADDz.x vf1, vf1, vf1z - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @0011B9AC QMFC2 t0, vf1 - MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); - // @0011B9B0 MTC1 t0, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @0011B9B4 LQC2 vf1, $0000(s0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); - // @0011B9B8 LQC2 vf2, $0000(s0) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.s0.UL0)); - // @0011B9BC VMUL.xyz vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - // @0011B9C0 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @0011B9C4 VADDz.x vf1, vf1, vf1z - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @0011B9C8 QMFC2 t0, vf1 - MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); - // @0011B9CC MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @0011B9D0 C.LE.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f <= this.ee.fpr[0].f); - // @0011B9D4 BC1F $0011ba20 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1161760u; - } - // @0011B9D8 LWC1 $f2, $0000(sp) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.sp.UL0)); - } - - public virtual void funct0011b9dc() - { - this.ee.pc = 1161760u; - // @0011B9DC LWC1 $f0, $0000(s1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s1.UL0)); - // @0011B9E0 LWC1 $f3, $0004(s1) - MobUt.LWC1(this.ee, this.ee.fpr[3], (4u + this.ee.s1.UL0)); - // @0011B9E4 ADD.S $f2, $f2, $f0 - this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[0].f); - // @0011B9E8 LWC1 $f4, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[4], (8u + this.ee.s1.UL0)); - // @0011B9EC LWC1 $f1, $0004(sp) - MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.sp.UL0)); - // @0011B9F0 LWC1 $f0, $0008(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.sp.UL0)); - // @0011B9F4 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @0011B9F8 ADD.S $f0, $f0, $f4 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); - // @0011B9FC SWC1 $f2, $0000(s1) - MobUt.SWC1(this.ee, this.ee.fpr[2], (0u + this.ee.s1.UL0)); - // @0011BA00 SWC1 $f1, $0004(s1) - MobUt.SWC1(this.ee, this.ee.fpr[1], (4u + this.ee.s1.UL0)); - // @0011BA04 SWC1 $f0, $0008(s1) - MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.s1.UL0)); - // @0011BA08 LD s0, $0030(sp) - MobUt.LD(this.ee, this.ee.s0, (48u + this.ee.sp.UL0)); - // @0011BA0C LD s1, $0038(sp) - MobUt.LD(this.ee, this.ee.s1, (56u + this.ee.sp.UL0)); - // @0011BA10 LD ra, $0040(sp) - MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); - // @0011BA14 LWC1 $f20, $0048(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); - // @0011BA18 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0011BA1C ADDIU sp, sp, $0050 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); - } - - public virtual void funct0011ba08() - { - this.ee.pc = 1161760u; - // @0011BA08 LD s0, $0030(sp) - MobUt.LD(this.ee, this.ee.s0, (48u + this.ee.sp.UL0)); - // @0011BA0C LD s1, $0038(sp) - MobUt.LD(this.ee, this.ee.s1, (56u + this.ee.sp.UL0)); - // @0011BA10 LD ra, $0040(sp) - MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); - // @0011BA14 LWC1 $f20, $0048(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); - // @0011BA18 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0011BA1C ADDIU sp, sp, $0050 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); - } - - public virtual void funct0011ba20() - { - this.ee.pc = 1161808u; - // @0011BA20 LWC1 $f3, $0000(s1) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.s1.UL0)); - // @0011BA24 LWC1 $f4, $0004(s1) - MobUt.LWC1(this.ee, this.ee.fpr[4], (4u + this.ee.s1.UL0)); - // @0011BA28 LWC1 $f2, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[2], (8u + this.ee.s1.UL0)); - // @0011BA2C LWC1 $f1, $0010(sp) - MobUt.LWC1(this.ee, this.ee.fpr[1], (16u + this.ee.sp.UL0)); - // @0011BA30 LWC1 $f0, $0014(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (20u + this.ee.sp.UL0)); - // @0011BA34 ADD.S $f2, $f5, $f2 - this.ee.fpr[2].f = (this.ee.fpr[5].f + this.ee.fpr[2].f); - // @0011BA38 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @0011BA3C ADD.S $f0, $f0, $f4 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); - // @0011BA40 SWC1 $f2, $0008(s1) - MobUt.SWC1(this.ee, this.ee.fpr[2], (8u + this.ee.s1.UL0)); - // @0011BA44 SWC1 $f1, $0000(s1) - MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s1.UL0)); - // @0011BA48 BEQ zero, zero, $0011ba08 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1161736u; - } - // @0011BA4C SWC1 $f0, $0004(s1) - MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.s1.UL0)); - } - - public virtual void funct0011ba50() - { - this.ee.pc = 1161820u; - // @0011BA50 C.LT.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[20].f); - // @0011BA54 BC1F $0011bab0 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1161904u; - } - // @0011BA58 LWC1 $f13, $0014(s0) - MobUt.LWC1(this.ee, this.ee.fpr[13], (20u + this.ee.s0.UL0)); - } - - public virtual void funct0011ba5c() - { - this.ee.pc = 1161832u; - // @0011BA5C LWC1 $f12, $0010(s0) - MobUt.LWC1(this.ee, this.ee.fpr[12], (16u + this.ee.s0.UL0)); - // @0011BA60 JAL $002ff8c0 - this.ee.ra.UL0 = 1161832u; - this.ee.pc = 3143872u; - // @0011BA64 NEG.S $f12, $f12 - this.ee.fpr[12].f = (0 - this.ee.fpr[12].f); - } - - public virtual void funct0011ba68() - { - this.ee.pc = 1161860u; - // @0011BA68 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011BA6C NEG.S $f12, $f20 - this.ee.fpr[12].f = (0 - this.ee.fpr[20].f); - // @0011BA70 ADDIU t7, t7, $8110 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32496))); - // @0011BA74 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @0011BA78 MUL.S $f1, $f0, $f1 - this.ee.fpr[1].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); - // @0011BA7C JAL $002ff8a8 - this.ee.ra.UL0 = 1161860u; - this.ee.pc = 3143848u; - // @0011BA80 SWC1 $f1, $0020(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); - } - - public virtual void funct0011ba84() - { - this.ee.pc = 1161888u; - // @0011BA84 LWC1 $f1, $0020(sp) - MobUt.LWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); - // @0011BA88 SWC1 $f0, $0024(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (36u + this.ee.sp.UL0)); - // @0011BA8C SWC1 $f1, $0028(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (40u + this.ee.sp.UL0)); - // @0011BA90 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0011BA94 C.LE.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f <= this.ee.fpr[20].f); - // @0011BA98 BC1F $0011baa8 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1161896u; - } - // @0011BA9C NEG.S $f0, $f1 - this.ee.fpr[0].f = (0 - this.ee.fpr[1].f); - } - - public virtual void funct0011baa0() - { - this.ee.pc = 1161896u; - // @0011BAA0 BEQ zero, zero, $0011b8f0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1161456u; - } - // @0011BAA4 SWC1 $f1, $0028(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (40u + this.ee.sp.UL0)); - } - - public virtual void funct0011bdc8() - { - this.ee.pc = 1162712u; - // @0011BDC8 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0011BDCC C.LT.S $f0, $f12 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[12].f); - // @0011BDD0 BC1F $0011be24 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1162788u; - } - // @0011BDD4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct0011bdd8() - { - this.ee.pc = 1162732u; - // @0011BDD8 ADDIU t7, t7, $8120 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32480))); - // @0011BDDC LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0011BDE0 C.LT.S $f0, $f12 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[12].f); - // @0011BDE4 BC1F $0011be1c - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1162780u; - } - // @0011BDE8 NOP - MobUt.Latency(); - } - - public virtual void funct0011bdec() - { - this.ee.pc = 1162780u; - // @0011BDEC MOV.S $f1, $f0 - this.ee.fpr[1].f = this.ee.fpr[0].f; - // @0011BDF0 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011BDF4 ADDIU t7, t7, $8124 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32476))); - // @0011BDF8 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0011BDFC SUB.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - // @0011BE00 C.LT.S $f1, $f12 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[12].f); - // @0011BE04 NOP - MobUt.Latency(); - // @0011BE08 NOP - MobUt.Latency(); - // @0011BE0C NOP - MobUt.Latency(); - // @0011BE10 NOP - MobUt.Latency(); - // @0011BE14 BC1TL $0011be00 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1162752u; - // @0011BE18 SUB.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - } - - public virtual void funct0011be00() - { - this.ee.pc = 1162780u; - // @0011BE00 C.LT.S $f1, $f12 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[12].f); - // @0011BE04 NOP - MobUt.Latency(); - // @0011BE08 NOP - MobUt.Latency(); - // @0011BE0C NOP - MobUt.Latency(); - // @0011BE10 NOP - MobUt.Latency(); - // @0011BE14 BC1TL $0011be00 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1162752u; - // @0011BE18 SUB.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - } - - public virtual void funct0011be1c() - { - this.ee.pc = 1162788u; - // @0011BE1C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0011BE20 MOV.S $f0, $f12 - this.ee.fpr[0].f = this.ee.fpr[12].f; - } - - public virtual void funct0011be24() - { - this.ee.pc = 1162812u; - // @0011BE24 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011BE28 ADDIU t7, t7, $8128 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32472))); - // @0011BE2C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @0011BE30 C.LT.S $f12, $f1 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[1].f); - // @0011BE34 BC1F $0011be1c - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1162780u; - } - // @0011BE38 NOP - MobUt.Latency(); - } - - public virtual void funct0011be3c() - { - this.ee.pc = 1162840u; - // @0011BE3C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0011BE40 ADDIU t7, t7, $8124 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32476))); - // @0011BE44 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0011BE48 ADD.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - // @0011BE4C C.LT.S $f12, $f1 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[1].f); - // @0011BE50 BC1TL $0011be4c - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1162828u; - // @0011BE54 ADD.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - } - } - - public virtual void funct0011be4c() - { - this.ee.pc = 1162840u; - // @0011BE4C C.LT.S $f12, $f1 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[1].f); - // @0011BE50 BC1TL $0011be4c - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1162828u; - // @0011BE54 ADD.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - } - } - - public virtual void funct0011be58() - { - this.ee.pc = 1162848u; - // @0011BE58 BEQ zero, zero, $0011be1c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1162780u; - } - // @0011BE5C NOP - MobUt.Latency(); - } - - public virtual void funct00120650() - { - this.ee.pc = 1181292u; - // @00120650 LW t7, $0004(a0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); - // @00120654 SLL a1, a1, 2 - MobUt.SLL(this.ee.a1, this.ee.a1, 2); - // @00120658 LW t6, $0018(t7) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t7.UL0)); - // @0012065C ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00120660 ADDU t7, t7, a1 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.a1.SD0))); - // @00120664 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00120668 LWC1 $f0, $0020(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (32u + this.ee.t7.UL0)); - } - - public virtual void funct00120670() - { - this.ee.pc = 1181324u; - // @00120670 LW t7, $0004(a0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); - // @00120674 SLL a1, a1, 2 - MobUt.SLL(this.ee.a1, this.ee.a1, 2); - // @00120678 LW t6, $0018(t7) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t7.UL0)); - // @0012067C ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00120680 ADDU a1, a1, t7 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); - // @00120684 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00120688 LW v0, $0030(a1) - MobUt.LW(this.ee, this.ee.v0, (48u + this.ee.a1.UL0)); - } - - public virtual void funct00120690() - { - this.ee.pc = 1181340u; - // @00120690 LW t7, $0004(a0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); - // @00120694 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00120698 LHU v0, $0010(t7) - MobUt.LHU(this.ee, this.ee.v0, (16u + this.ee.t7.UL0)); - } - - public virtual void funct001206a0() - { - this.ee.pc = 1181372u; - // @001206A0 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @001206A4 LW t6, $0000(a0) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a0.UL0)); - // @001206A8 SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @001206AC SD ra, $0008(sp) - MobUt.SD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @001206B0 LW v0, $001c(t6) - MobUt.LW(this.ee, this.ee.v0, (28u + this.ee.t6.UL0)); - // @001206B4 JALR ra, v0 - this.ee.ra.UD0 = 1181372u; - this.ee.pc = this.ee.v0.UL0; - // @001206B8 LW s0, $0004(a0) - MobUt.LW(this.ee, this.ee.s0, (4u + this.ee.a0.UL0)); - } - - public virtual void funct001206bc() - { - this.ee.pc = 1181380u; - // @001206BC BEQ v0, zero, $001206cc - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1181388u; - } - // @001206C0 DADDU t7, zero, zero - this.ee.t7.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001206c4() - { - this.ee.pc = 1181408u; - // @001206C4 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @001206C8 ADDU t7, s0, t7 - this.ee.t7.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); - // @001206CC LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @001206D0 DADDU v0, t7, zero - this.ee.v0.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); - // @001206D4 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @001206D8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @001206DC ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00124a88() - { - this.ee.pc = 1198900u; - // @00124A88 ADDIU sp, sp, $fe70 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -400))); - // @00124A8C MTC1 zero, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00124A90 SWC1 $f25, $018c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[25], (396u + this.ee.sp.UL0)); - // @00124A94 ADDIU t6, sp, $0010 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00124A98 SWC1 $f23, $0184(sp) - MobUt.SWC1(this.ee, this.ee.fpr[23], (388u + this.ee.sp.UL0)); - // @00124A9C ADDIU t5, sp, $0020 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 32))); - // @00124AA0 SWC1 $f22, $0180(sp) - MobUt.SWC1(this.ee, this.ee.fpr[22], (384u + this.ee.sp.UL0)); - // @00124AA4 SWC1 $f20, $0178(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (376u + this.ee.sp.UL0)); - // @00124AA8 MOV.S $f23, $f12 - this.ee.fpr[23].f = this.ee.fpr[12].f; - // @00124AAC SD s1, $0148(sp) - MobUt.SD(this.ee, this.ee.s1, (328u + this.ee.sp.UL0)); - // @00124AB0 MOV.S $f22, $f13 - this.ee.fpr[22].f = this.ee.fpr[13].f; - // @00124AB4 SD s2, $0150(sp) - MobUt.SD(this.ee, this.ee.s2, (336u + this.ee.sp.UL0)); - // @00124AB8 MOV.S $f20, $f14 - this.ee.fpr[20].f = this.ee.fpr[14].f; - // @00124ABC SD s4, $0160(sp) - MobUt.SD(this.ee, this.ee.s4, (352u + this.ee.sp.UL0)); - // @00124AC0 MOV.S $f25, $f15 - this.ee.fpr[25].f = this.ee.fpr[15].f; - // @00124AC4 SD s5, $0168(sp) - MobUt.SD(this.ee, this.ee.s5, (360u + this.ee.sp.UL0)); - // @00124AC8 SD s0, $0140(sp) - MobUt.SD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); - // @00124ACC DADDU s4, a3, zero - this.ee.s4.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @00124AD0 SD s3, $0158(sp) - MobUt.SD(this.ee, this.ee.s3, (344u + this.ee.sp.UL0)); - // @00124AD4 DADDU s5, a2, zero - this.ee.s5.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @00124AD8 SD ra, $0170(sp) - MobUt.SD(this.ee, this.ee.ra, (368u + this.ee.sp.UL0)); - // @00124ADC DADDU s1, t0, zero - this.ee.s1.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); - // @00124AE0 SWC1 $f24, $0188(sp) - MobUt.SWC1(this.ee, this.ee.fpr[24], (392u + this.ee.sp.UL0)); - // @00124AE4 ADDIU s2, sp, $00f0 - this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 240))); - // @00124AE8 SWC1 $f21, $017c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[21], (380u + this.ee.sp.UL0)); - // @00124AEC SWC1 $f1, $0000(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.sp.UL0)); - // @00124AF0 SWC1 $f1, $0004(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (4u + this.ee.sp.UL0)); - // @00124AF4 SWC1 $f1, $0008(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (8u + this.ee.sp.UL0)); - // @00124AF8 SWC1 $f1, $000c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (12u + this.ee.sp.UL0)); - // @00124AFC SWC1 $f1, $0010(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (16u + this.ee.sp.UL0)); - // @00124B00 SWC1 $f1, $0014(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (20u + this.ee.sp.UL0)); - // @00124B04 SWC1 $f1, $0018(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (24u + this.ee.sp.UL0)); - // @00124B08 SWC1 $f1, $001c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (28u + this.ee.sp.UL0)); - // @00124B0C SWC1 $f1, $0020(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); - // @00124B10 SWC1 $f1, $0024(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (36u + this.ee.sp.UL0)); - // @00124B14 SWC1 $f1, $0028(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (40u + this.ee.sp.UL0)); - // @00124B18 SWC1 $f1, $002c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (44u + this.ee.sp.UL0)); - // @00124B1C LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @00124B20 LQC2 vf2, $0000(a0) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); - // @00124B24 VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @00124B28 SQC2 vf1, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00124B2C BEQ sp, s2, $00124b3c - if ((this.ee.sp.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1198908u; - } - // @00124B30 NOP - MobUt.Latency(); - } - - public virtual void funct00124b34() - { - this.ee.pc = 1198972u; - // @00124B34 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00124B38 SQ t0, $0000(sp) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00124B3C LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00124B40 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00124B44 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00124B48 VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00124B4C VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00124B50 VWAITQ - MobUt.Latency(); - // @00124B54 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00124B58 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00124B5C MTC1 t0, $f24 - this.ee.fpr[24].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00124B60 VNOP - MobUt.Latency(); - // @00124B64 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00124B68 VWAITQ - MobUt.Latency(); - // @00124B6C VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00124B70 SQC2 vf1, $0000(sp) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00124B74 BEQ t1, zero, $001250ec - if ((this.ee.t1.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1200364u; - } - // @00124B78 LWC1 $f0, $0004(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.sp.UL0)); - } - - public virtual void funct00124b7c() - { - this.ee.pc = 1198996u; - // @00124B7C LQC2 vf1, $0000(t1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t1.UL0)); - // @00124B80 LQC2 vf2, $0000(a0) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); - // @00124B84 VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @00124B88 SQC2 vf1, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00124B8C BEQ t6, s2, $00124b9c - if ((this.ee.t6.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1199004u; - } - // @00124B90 NOP - MobUt.Latency(); - } - - public virtual void funct00124b94() - { - this.ee.pc = 1199092u; - // @00124B94 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00124B98 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @00124B9C LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00124BA0 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00124BA4 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00124BA8 VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00124BAC VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00124BB0 VWAITQ - MobUt.Latency(); - // @00124BB4 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00124BB8 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00124BBC MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00124BC0 VNOP - MobUt.Latency(); - // @00124BC4 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00124BC8 VWAITQ - MobUt.Latency(); - // @00124BCC VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00124BD0 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00124BD4 LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00124BD8 LQC2 vf2, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); - // @00124BDC VSUB.xyzw vf3, vf0, vf0 - this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @00124BE0 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @00124BE4 VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @00124BE8 SQC2 vf3, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.s2.UL0)); - // @00124BEC BEQ t5, s2, $00124bfc - if ((this.ee.t5.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1199100u; - } - // @00124BF0 NOP - MobUt.Latency(); - } - - public virtual void funct00124bf4() - { - this.ee.pc = 1199188u; - // @00124BF4 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00124BF8 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00124BFC LQC2 vf1, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @00124C00 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00124C04 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00124C08 VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00124C0C VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00124C10 VWAITQ - MobUt.Latency(); - // @00124C14 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00124C18 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00124C1C MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00124C20 VNOP - MobUt.Latency(); - // @00124C24 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00124C28 VWAITQ - MobUt.Latency(); - // @00124C2C VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00124C30 SQC2 vf1, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @00124C34 LQC2 vf1, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @00124C38 LQC2 vf2, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); - // @00124C3C VSUB.xyzw vf3, vf0, vf0 - this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @00124C40 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @00124C44 VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @00124C48 SQC2 vf3, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.s2.UL0)); - // @00124C4C BEQ t6, s2, $00124c5c - if ((this.ee.t6.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1199196u; - } - // @00124C50 NOP - MobUt.Latency(); - } - - public virtual void funct00124c54() - { - this.ee.pc = 1199264u; - // @00124C54 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00124C58 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @00124C5C LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00124C60 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00124C64 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00124C68 VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00124C6C VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00124C70 VWAITQ - MobUt.Latency(); - // @00124C74 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00124C78 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00124C7C MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00124C80 VNOP - MobUt.Latency(); - // @00124C84 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00124C88 VWAITQ - MobUt.Latency(); - // @00124C8C VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00124C90 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00124C94 ADDIU s3, sp, $0030 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 48))); - // @00124C98 BEQ s3, sp, $00124cac - if ((this.ee.s3.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1199276u; - } - // @00124C9C ADDIU t7, sp, $0040 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); - } - - public virtual void funct00124c98() - { - this.ee.pc = 1199264u; - // @00124C98 BEQ s3, sp, $00124cac - if ((this.ee.s3.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1199276u; - } - // @00124C9C ADDIU t7, sp, $0040 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); - } - - public virtual void funct00124ca0() - { - this.ee.pc = 1199284u; - // @00124CA0 LQ t0, $0000(sp) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00124CA4 SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @00124CA8 ADDIU t7, sp, $0040 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @00124CAC BEQL t7, t6, $00124cc0 - if ((this.ee.t7.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1199296u; - // @00124CB0 ADDIU t7, sp, $0050 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 80))); - } - } - - public virtual void funct00124cb4() - { - this.ee.pc = 1199304u; - // @00124CB4 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @00124CB8 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00124CBC ADDIU t7, sp, $0050 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 80))); - // @00124CC0 BEQL t7, t5, $00124cd4 - if ((this.ee.t7.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1199316u; - // @00124CC4 ADDIU t7, sp, $0060 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 96))); - } - } - - public virtual void funct00124cc8() - { - this.ee.pc = 1199336u; - // @00124CC8 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00124CCC SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00124CD0 ADDIU t7, sp, $0060 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 96))); - // @00124CD4 SQC2 vf0, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[0], (0u + this.ee.t7.UL0)); - // @00124CD8 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00124CDC C.EQ.S $f20, $f0 - this.ee.fcr31_23 = (this.ee.fpr[20].f == this.ee.fpr[0].f); - // @00124CE0 BC1T $00124d98 - if (this.ee.fcr31_23) - { - this.ee.pc = 1199512u; - } - // @00124CE4 ADDIU s0, sp, $0070 - this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 112))); - } - - public virtual void funct00124ce8() - { - this.ee.pc = 1199344u; - // @00124CE8 JAL $0011b420 - this.ee.ra.UL0 = 1199344u; - this.ee.pc = 1160224u; - // @00124CEC DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00124cf0() - { - this.ee.pc = 1199356u; - // @00124CF0 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @00124CF4 JAL $0011b450 - this.ee.ra.UL0 = 1199356u; - this.ee.pc = 1160272u; - // @00124CF8 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00124cfc() - { - this.ee.pc = 1199480u; - // @00124CFC ADDIU t7, sp, $0100 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 256))); - // @00124D00 LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @00124D04 LQC2 vf2, $0010(s3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); - // @00124D08 LQC2 vf3, $0020(s3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); - // @00124D0C LQC2 vf4, $0030(s3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @00124D10 LQC2 vf5, $0000(s0) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s0.UL0)); - // @00124D14 LQC2 vf6, $0010(s0) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.s0.UL0)); - // @00124D18 LQC2 vf7, $0020(s0) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.s0.UL0)); - // @00124D1C LQC2 vf8, $0030(s0) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.s0.UL0)); - // @00124D20 VMULAx.xyzw ACC, vf1, vf5x - // @00124D24 VMADDAy.xyzw ACC, vf2, vf5y - // @00124D28 VMADDAz.xyzw ACC, vf3, vf5z - // @00124D2C VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @00124D30 VMULAx.xyzw ACC, vf1, vf6x - // @00124D34 VMADDAy.xyzw ACC, vf2, vf6y - // @00124D38 VMADDAz.xyzw ACC, vf3, vf6z - // @00124D3C VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @00124D40 VMULAx.xyzw ACC, vf1, vf7x - // @00124D44 VMADDAy.xyzw ACC, vf2, vf7y - // @00124D48 VMADDAz.xyzw ACC, vf3, vf7z - // @00124D4C VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @00124D50 VMULAx.xyzw ACC, vf1, vf8x - // @00124D54 VMADDAy.xyzw ACC, vf2, vf8y - // @00124D58 VMADDAz.xyzw ACC, vf3, vf8z - // @00124D5C VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @00124D60 SQC2 vf5, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @00124D64 SQC2 vf6, $0010(t7) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @00124D68 SQC2 vf7, $0020(t7) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @00124D6C SQC2 vf8, $0030(t7) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @00124D70 BEQ s3, t7, $00124d98 - if ((this.ee.s3.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1199512u; - } - // @00124D74 NOP - MobUt.Latency(); - } - - public virtual void funct00124d78() - { - this.ee.pc = 1199520u; - // @00124D78 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00124D7C LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @00124D80 LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @00124D84 LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @00124D88 SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @00124D8C SQ t1, $0010(s3) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); - // @00124D90 SQ t2, $0020(s3) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); - // @00124D94 SQ t3, $0030(s3) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s3.UL[0])); - // @00124D98 BNEL s1, zero, $00124e04 - if ((this.ee.s1.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1199620u; - // @00124D9C ADD.S $f0, $f23, $f23 - this.ee.fpr[0].f = (this.ee.fpr[23].f + this.ee.fpr[23].f); - } - } - - public virtual void funct00124d98() - { - this.ee.pc = 1199520u; - // @00124D98 BNEL s1, zero, $00124e04 - if ((this.ee.s1.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1199620u; - // @00124D9C ADD.S $f0, $f23, $f23 - this.ee.fpr[0].f = (this.ee.fpr[23].f + this.ee.fpr[23].f); - } - } - - public virtual void funct00124da0() - { - this.ee.pc = 1199528u; - // @00124DA0 BEQ s4, s3, $00124dcc - if ((this.ee.s4.UD0 == this.ee.s3.UD0)) - { - this.ee.pc = 1199564u; - } - // @00124DA4 LD s0, $0140(sp) - MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); - } - - public virtual void funct00124da8() - { - this.ee.pc = 1199620u; - // @00124DA8 LQ t0, $0000(s3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @00124DAC LQ t1, $0010(s3) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); - // @00124DB0 LQ t2, $0020(s3) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); - // @00124DB4 LQ t3, $0030(s3) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s3.UL[0])); - // @00124DB8 SQ t0, $0000(s4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s4.UL[0])); - // @00124DBC SQ t1, $0010(s4) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s4.UL[0])); - // @00124DC0 SQ t2, $0020(s4) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s4.UL[0])); - // @00124DC4 SQ t3, $0030(s4) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s4.UL[0])); - // @00124DC8 LD s0, $0140(sp) - MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); - // @00124DCC LD s1, $0148(sp) - MobUt.LD(this.ee, this.ee.s1, (328u + this.ee.sp.UL0)); - // @00124DD0 LD s2, $0150(sp) - MobUt.LD(this.ee, this.ee.s2, (336u + this.ee.sp.UL0)); - // @00124DD4 LD s3, $0158(sp) - MobUt.LD(this.ee, this.ee.s3, (344u + this.ee.sp.UL0)); - // @00124DD8 LD s4, $0160(sp) - MobUt.LD(this.ee, this.ee.s4, (352u + this.ee.sp.UL0)); - // @00124DDC LD s5, $0168(sp) - MobUt.LD(this.ee, this.ee.s5, (360u + this.ee.sp.UL0)); - // @00124DE0 LD ra, $0170(sp) - MobUt.LD(this.ee, this.ee.ra, (368u + this.ee.sp.UL0)); - // @00124DE4 LWC1 $f25, $018c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[25], (396u + this.ee.sp.UL0)); - // @00124DE8 LWC1 $f24, $0188(sp) - MobUt.LWC1(this.ee, this.ee.fpr[24], (392u + this.ee.sp.UL0)); - // @00124DEC LWC1 $f23, $0184(sp) - MobUt.LWC1(this.ee, this.ee.fpr[23], (388u + this.ee.sp.UL0)); - // @00124DF0 LWC1 $f22, $0180(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (384u + this.ee.sp.UL0)); - // @00124DF4 LWC1 $f21, $017c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (380u + this.ee.sp.UL0)); - // @00124DF8 LWC1 $f20, $0178(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (376u + this.ee.sp.UL0)); - // @00124DFC JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00124E00 ADDIU sp, sp, $0190 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 400))); - } - - public virtual void funct00124dcc() - { - this.ee.pc = 1199620u; - // @00124DCC LD s1, $0148(sp) - MobUt.LD(this.ee, this.ee.s1, (328u + this.ee.sp.UL0)); - // @00124DD0 LD s2, $0150(sp) - MobUt.LD(this.ee, this.ee.s2, (336u + this.ee.sp.UL0)); - // @00124DD4 LD s3, $0158(sp) - MobUt.LD(this.ee, this.ee.s3, (344u + this.ee.sp.UL0)); - // @00124DD8 LD s4, $0160(sp) - MobUt.LD(this.ee, this.ee.s4, (352u + this.ee.sp.UL0)); - // @00124DDC LD s5, $0168(sp) - MobUt.LD(this.ee, this.ee.s5, (360u + this.ee.sp.UL0)); - // @00124DE0 LD ra, $0170(sp) - MobUt.LD(this.ee, this.ee.ra, (368u + this.ee.sp.UL0)); - // @00124DE4 LWC1 $f25, $018c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[25], (396u + this.ee.sp.UL0)); - // @00124DE8 LWC1 $f24, $0188(sp) - MobUt.LWC1(this.ee, this.ee.fpr[24], (392u + this.ee.sp.UL0)); - // @00124DEC LWC1 $f23, $0184(sp) - MobUt.LWC1(this.ee, this.ee.fpr[23], (388u + this.ee.sp.UL0)); - // @00124DF0 LWC1 $f22, $0180(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (384u + this.ee.sp.UL0)); - // @00124DF4 LWC1 $f21, $017c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (380u + this.ee.sp.UL0)); - // @00124DF8 LWC1 $f20, $0178(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (376u + this.ee.sp.UL0)); - // @00124DFC JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00124E00 ADDIU sp, sp, $0190 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 400))); - } - - public virtual void funct00124e04() - { - this.ee.pc = 1199672u; - // @00124E04 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124E08 MULA.S $f24, $f24 - this.ee.fpracc.f = (this.ee.fpr[24].f * this.ee.fpr[24].f); - // @00124E0C ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124E10 MSUBA.S $f23, $f23 - this.ee.fpracc.f = MobUt.MSUB(this.ee.fpracc.f, this.ee.fpr[23].f, this.ee.fpr[23].f); - // @00124E14 MSUB.S $f1, $f22, $f22 - this.ee.fpr[1].f = (this.ee.fpracc.f - - (this.ee.fpr[22].f * this.ee.fpr[22].f)); - // @00124E18 MUL.S $f0, $f0, $f22 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[22].f); - // @00124E1C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00124E20 NOP - MobUt.Latency(); - // @00124E24 NOP - MobUt.Latency(); - // @00124E28 DIV.S $f21, $f1, $f0 - this.ee.fpr[21].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); - // @00124E2C C.LT.S $f2, $f21 - this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[21].f); - // @00124E30 BC1F $001250d0 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1200336u; - } - // @00124E34 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct00124e38() - { - this.ee.pc = 1199712u; - // @00124E38 MOV.S $f21, $f2 - this.ee.fpr[21].f = this.ee.fpr[2].f; - // @00124E3C MUL.S $f1, $f21, $f21 - this.ee.fpr[1].f = (this.ee.fpr[21].f * this.ee.fpr[21].f); - // @00124E40 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124E44 ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124E48 MTC1 zero, $f2 - this.ee.fpr[2].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00124E4C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00124E50 SUB.S $f20, $f0, $f1 - this.ee.fpr[20].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - // @00124E54 C.LT.S $f20, $f2 - this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[2].f); - // @00124E58 BC1TL $00124e60 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1199712u; - // @00124E5C MOV.S $f20, $f2 - this.ee.fpr[20].f = this.ee.fpr[2].f; - } - } - - public virtual void funct00124e3c() - { - this.ee.pc = 1199712u; - // @00124E3C MUL.S $f1, $f21, $f21 - this.ee.fpr[1].f = (this.ee.fpr[21].f * this.ee.fpr[21].f); - // @00124E40 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124E44 ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124E48 MTC1 zero, $f2 - this.ee.fpr[2].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00124E4C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00124E50 SUB.S $f20, $f0, $f1 - this.ee.fpr[20].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - // @00124E54 C.LT.S $f20, $f2 - this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[2].f); - // @00124E58 BC1TL $00124e60 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1199712u; - // @00124E5C MOV.S $f20, $f2 - this.ee.fpr[20].f = this.ee.fpr[2].f; - } - } - - public virtual void funct00124e40() - { - this.ee.pc = 1199712u; - // @00124E40 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124E44 ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124E48 MTC1 zero, $f2 - this.ee.fpr[2].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00124E4C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00124E50 SUB.S $f20, $f0, $f1 - this.ee.fpr[20].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - // @00124E54 C.LT.S $f20, $f2 - this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[2].f); - // @00124E58 BC1TL $00124e60 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1199712u; - // @00124E5C MOV.S $f20, $f2 - this.ee.fpr[20].f = this.ee.fpr[2].f; - } - } - - public virtual void funct00124e60() - { - this.ee.pc = 1199720u; - // @00124E60 BEQ s5, zero, $001250bc - if ((this.ee.s5.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1200316u; - } - // @00124E64 NOP - MobUt.Latency(); - } - - public virtual void funct00124e68() - { - this.ee.pc = 1199828u; - // @00124E68 NOP - MobUt.Latency(); - // @00124E6C NOP - MobUt.Latency(); - // @00124E70 SQRT.S $f0, $f20 - this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[20].f)))); - // @00124E74 NEG.S $f20, $f0 - this.ee.fpr[20].f = (0 - this.ee.fpr[0].f); - // @00124E78 SW zero, $0008(s1) - MobUt.SW(this.ee, this.ee.r0, (8u + this.ee.s1.UL0)); - // @00124E7C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124E80 NEG.S $f0, $f20 - this.ee.fpr[0].f = (0 - this.ee.fpr[20].f); - // @00124E84 ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124E88 LWC1 $f1, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); - // @00124E8C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00124E90 C.EQ.S $f25, $f1 - this.ee.fcr31_23 = (this.ee.fpr[25].f == this.ee.fpr[1].f); - // @00124E94 SWC1 $f2, $003c(s1) - MobUt.SWC1(this.ee, this.ee.fpr[2], (60u + this.ee.s1.UL0)); - // @00124E98 SWC1 $f0, $0010(s1) - MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.s1.UL0)); - // @00124E9C SWC1 $f21, $0000(s1) - MobUt.SWC1(this.ee, this.ee.fpr[21], (0u + this.ee.s1.UL0)); - // @00124EA0 SWC1 $f20, $0004(s1) - MobUt.SWC1(this.ee, this.ee.fpr[20], (4u + this.ee.s1.UL0)); - // @00124EA4 SW zero, $000c(s1) - MobUt.SW(this.ee, this.ee.r0, (12u + this.ee.s1.UL0)); - // @00124EA8 SWC1 $f21, $0014(s1) - MobUt.SWC1(this.ee, this.ee.fpr[21], (20u + this.ee.s1.UL0)); - // @00124EAC SW zero, $0018(s1) - MobUt.SW(this.ee, this.ee.r0, (24u + this.ee.s1.UL0)); - // @00124EB0 SW zero, $001c(s1) - MobUt.SW(this.ee, this.ee.r0, (28u + this.ee.s1.UL0)); - // @00124EB4 SW zero, $0020(s1) - MobUt.SW(this.ee, this.ee.r0, (32u + this.ee.s1.UL0)); - // @00124EB8 SW zero, $0024(s1) - MobUt.SW(this.ee, this.ee.r0, (36u + this.ee.s1.UL0)); - // @00124EBC SWC1 $f2, $0028(s1) - MobUt.SWC1(this.ee, this.ee.fpr[2], (40u + this.ee.s1.UL0)); - // @00124EC0 SW zero, $002c(s1) - MobUt.SW(this.ee, this.ee.r0, (44u + this.ee.s1.UL0)); - // @00124EC4 SW zero, $0030(s1) - MobUt.SW(this.ee, this.ee.r0, (48u + this.ee.s1.UL0)); - // @00124EC8 SW zero, $0034(s1) - MobUt.SW(this.ee, this.ee.r0, (52u + this.ee.s1.UL0)); - // @00124ECC BC1T $00124f84 - if (this.ee.fcr31_23) - { - this.ee.pc = 1200004u; - } - // @00124ED0 SW zero, $0038(s1) - MobUt.SW(this.ee, this.ee.r0, (56u + this.ee.s1.UL0)); - } - - public virtual void funct00124e7c() - { - this.ee.pc = 1199828u; - // @00124E7C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124E80 NEG.S $f0, $f20 - this.ee.fpr[0].f = (0 - this.ee.fpr[20].f); - // @00124E84 ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124E88 LWC1 $f1, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); - // @00124E8C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00124E90 C.EQ.S $f25, $f1 - this.ee.fcr31_23 = (this.ee.fpr[25].f == this.ee.fpr[1].f); - // @00124E94 SWC1 $f2, $003c(s1) - MobUt.SWC1(this.ee, this.ee.fpr[2], (60u + this.ee.s1.UL0)); - // @00124E98 SWC1 $f0, $0010(s1) - MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.s1.UL0)); - // @00124E9C SWC1 $f21, $0000(s1) - MobUt.SWC1(this.ee, this.ee.fpr[21], (0u + this.ee.s1.UL0)); - // @00124EA0 SWC1 $f20, $0004(s1) - MobUt.SWC1(this.ee, this.ee.fpr[20], (4u + this.ee.s1.UL0)); - // @00124EA4 SW zero, $000c(s1) - MobUt.SW(this.ee, this.ee.r0, (12u + this.ee.s1.UL0)); - // @00124EA8 SWC1 $f21, $0014(s1) - MobUt.SWC1(this.ee, this.ee.fpr[21], (20u + this.ee.s1.UL0)); - // @00124EAC SW zero, $0018(s1) - MobUt.SW(this.ee, this.ee.r0, (24u + this.ee.s1.UL0)); - // @00124EB0 SW zero, $001c(s1) - MobUt.SW(this.ee, this.ee.r0, (28u + this.ee.s1.UL0)); - // @00124EB4 SW zero, $0020(s1) - MobUt.SW(this.ee, this.ee.r0, (32u + this.ee.s1.UL0)); - // @00124EB8 SW zero, $0024(s1) - MobUt.SW(this.ee, this.ee.r0, (36u + this.ee.s1.UL0)); - // @00124EBC SWC1 $f2, $0028(s1) - MobUt.SWC1(this.ee, this.ee.fpr[2], (40u + this.ee.s1.UL0)); - // @00124EC0 SW zero, $002c(s1) - MobUt.SW(this.ee, this.ee.r0, (44u + this.ee.s1.UL0)); - // @00124EC4 SW zero, $0030(s1) - MobUt.SW(this.ee, this.ee.r0, (48u + this.ee.s1.UL0)); - // @00124EC8 SW zero, $0034(s1) - MobUt.SW(this.ee, this.ee.r0, (52u + this.ee.s1.UL0)); - // @00124ECC BC1T $00124f84 - if (this.ee.fcr31_23) - { - this.ee.pc = 1200004u; - } - // @00124ED0 SW zero, $0038(s1) - MobUt.SW(this.ee, this.ee.r0, (56u + this.ee.s1.UL0)); - } - - public virtual void funct00124ed4() - { - this.ee.pc = 1199840u; - // @00124ED4 ADDIU s0, sp, $0070 - this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 112))); - // @00124ED8 JAL $0011b420 - this.ee.ra.UL0 = 1199840u; - this.ee.pc = 1160224u; - // @00124EDC DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00124ee0() - { - this.ee.pc = 1199852u; - // @00124EE0 MOV.S $f12, $f25 - this.ee.fpr[12].f = this.ee.fpr[25].f; - // @00124EE4 JAL $0011b450 - this.ee.ra.UL0 = 1199852u; - this.ee.pc = 1160272u; - // @00124EE8 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00124eec() - { - this.ee.pc = 1199972u; - // @00124EEC LQC2 vf1, $0000(s1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s1.UL0)); - // @00124EF0 LQC2 vf2, $0010(s1) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s1.UL0)); - // @00124EF4 LQC2 vf3, $0020(s1) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s1.UL0)); - // @00124EF8 LQC2 vf4, $0030(s1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s1.UL0)); - // @00124EFC LQC2 vf5, $0000(s0) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s0.UL0)); - // @00124F00 LQC2 vf6, $0010(s0) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.s0.UL0)); - // @00124F04 LQC2 vf7, $0020(s0) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.s0.UL0)); - // @00124F08 LQC2 vf8, $0030(s0) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.s0.UL0)); - // @00124F0C VMULAx.xyzw ACC, vf1, vf5x - // @00124F10 VMADDAy.xyzw ACC, vf2, vf5y - // @00124F14 VMADDAz.xyzw ACC, vf3, vf5z - // @00124F18 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @00124F1C VMULAx.xyzw ACC, vf1, vf6x - // @00124F20 VMADDAy.xyzw ACC, vf2, vf6y - // @00124F24 VMADDAz.xyzw ACC, vf3, vf6z - // @00124F28 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @00124F2C VMULAx.xyzw ACC, vf1, vf7x - // @00124F30 VMADDAy.xyzw ACC, vf2, vf7y - // @00124F34 VMADDAz.xyzw ACC, vf3, vf7z - // @00124F38 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @00124F3C VMULAx.xyzw ACC, vf1, vf8x - // @00124F40 VMADDAy.xyzw ACC, vf2, vf8y - // @00124F44 VMADDAz.xyzw ACC, vf3, vf8z - // @00124F48 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @00124F4C SQC2 vf5, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s2.UL0)); - // @00124F50 SQC2 vf6, $0010(s2) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s2.UL0)); - // @00124F54 SQC2 vf7, $0020(s2) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s2.UL0)); - // @00124F58 SQC2 vf8, $0030(s2) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s2.UL0)); - // @00124F5C BEQL s1, s2, $00124f88 - if ((this.ee.s1.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1200008u; - // @00124F60 MUL.S $f2, $f22, $f21 - this.ee.fpr[2].f = (this.ee.fpr[22].f * this.ee.fpr[21].f); - } - } - - public virtual void funct00124f64() - { - this.ee.pc = 1200276u; - // @00124F64 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00124F68 LQ t1, $0010(s2) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s2.UL[0])); - // @00124F6C LQ t2, $0020(s2) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s2.UL[0])); - // @00124F70 LQ t3, $0030(s2) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s2.UL[0])); - // @00124F74 SQ t0, $0000(s1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s1.UL[0])); - // @00124F78 SQ t1, $0010(s1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s1.UL[0])); - // @00124F7C SQ t2, $0020(s1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s1.UL[0])); - // @00124F80 SQ t3, $0030(s1) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s1.UL[0])); - // @00124F84 MUL.S $f2, $f22, $f21 - this.ee.fpr[2].f = (this.ee.fpr[22].f * this.ee.fpr[21].f); - // @00124F88 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124F8C MUL.S $f1, $f22, $f20 - this.ee.fpr[1].f = (this.ee.fpr[22].f * this.ee.fpr[20].f); - // @00124F90 ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124F94 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00124F98 SW zero, $00b8(sp) - MobUt.SW(this.ee, this.ee.r0, (184u + this.ee.sp.UL0)); - // @00124F9C ADD.S $f2, $f23, $f2 - this.ee.fpr[2].f = (this.ee.fpr[23].f + this.ee.fpr[2].f); - // @00124FA0 ADDIU t7, sp, $00b0 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @00124FA4 NEG.S $f1, $f1 - this.ee.fpr[1].f = (0 - this.ee.fpr[1].f); - // @00124FA8 SWC1 $f0, $00ec(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (236u + this.ee.sp.UL0)); - // @00124FAC SWC1 $f0, $00d8(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (216u + this.ee.sp.UL0)); - // @00124FB0 MUL.S $f2, $f2, $f24 - this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[24].f); - // @00124FB4 MUL.S $f1, $f1, $f24 - this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[24].f); - // @00124FB8 SW zero, $00bc(sp) - MobUt.SW(this.ee, this.ee.r0, (188u + this.ee.sp.UL0)); - // @00124FBC SW zero, $00c8(sp) - MobUt.SW(this.ee, this.ee.r0, (200u + this.ee.sp.UL0)); - // @00124FC0 MULA.S $f2, $f2 - this.ee.fpracc.f = (this.ee.fpr[2].f * this.ee.fpr[2].f); - // @00124FC4 MADD.S $f0, $f1, $f1 - this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[1].f, this.ee.fpr[1].f); - // @00124FC8 SW zero, $00cc(sp) - MobUt.SW(this.ee, this.ee.r0, (204u + this.ee.sp.UL0)); - // @00124FCC SW zero, $00d0(sp) - MobUt.SW(this.ee, this.ee.r0, (208u + this.ee.sp.UL0)); - // @00124FD0 SW zero, $00d4(sp) - MobUt.SW(this.ee, this.ee.r0, (212u + this.ee.sp.UL0)); - // @00124FD4 NOP - MobUt.Latency(); - // @00124FD8 NOP - MobUt.Latency(); - // @00124FDC SQRT.S $f0, $f0 - this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); - // @00124FE0 SW zero, $00dc(sp) - MobUt.SW(this.ee, this.ee.r0, (220u + this.ee.sp.UL0)); - // @00124FE4 SW zero, $00e0(sp) - MobUt.SW(this.ee, this.ee.r0, (224u + this.ee.sp.UL0)); - // @00124FE8 SW zero, $00e4(sp) - MobUt.SW(this.ee, this.ee.r0, (228u + this.ee.sp.UL0)); - // @00124FEC SW zero, $00e8(sp) - MobUt.SW(this.ee, this.ee.r0, (232u + this.ee.sp.UL0)); - // @00124FF0 NOP - MobUt.Latency(); - // @00124FF4 NOP - MobUt.Latency(); - // @00124FF8 DIV.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); - // @00124FFC NOP - MobUt.Latency(); - // @00125000 NOP - MobUt.Latency(); - // @00125004 DIV.S $f2, $f2, $f0 - this.ee.fpr[2].f = (this.ee.fpr[2].f / this.ee.fpr[0].f); - // @00125008 NEG.S $f3, $f1 - this.ee.fpr[3].f = (0 - this.ee.fpr[1].f); - // @0012500C SWC1 $f1, $00b4(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (180u + this.ee.sp.UL0)); - // @00125010 SWC1 $f3, $00c0(sp) - MobUt.SWC1(this.ee, this.ee.fpr[3], (192u + this.ee.sp.UL0)); - // @00125014 SWC1 $f2, $00c4(sp) - MobUt.SWC1(this.ee, this.ee.fpr[2], (196u + this.ee.sp.UL0)); - // @00125018 SWC1 $f2, $00b0(sp) - MobUt.SWC1(this.ee, this.ee.fpr[2], (176u + this.ee.sp.UL0)); - // @0012501C LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @00125020 LQC2 vf2, $0010(s3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); - // @00125024 LQC2 vf3, $0020(s3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); - // @00125028 LQC2 vf4, $0030(s3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @0012502C LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @00125030 LQC2 vf6, $0010(t7) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @00125034 LQC2 vf7, $0020(t7) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @00125038 LQC2 vf8, $0030(t7) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012503C VMULAx.xyzw ACC, vf1, vf5x - // @00125040 VMADDAy.xyzw ACC, vf2, vf5y - // @00125044 VMADDAz.xyzw ACC, vf3, vf5z - // @00125048 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012504C VMULAx.xyzw ACC, vf1, vf6x - // @00125050 VMADDAy.xyzw ACC, vf2, vf6y - // @00125054 VMADDAz.xyzw ACC, vf3, vf6z - // @00125058 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012505C VMULAx.xyzw ACC, vf1, vf7x - // @00125060 VMADDAy.xyzw ACC, vf2, vf7y - // @00125064 VMADDAz.xyzw ACC, vf3, vf7z - // @00125068 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012506C VMULAx.xyzw ACC, vf1, vf8x - // @00125070 VMADDAy.xyzw ACC, vf2, vf8y - // @00125074 VMADDAz.xyzw ACC, vf3, vf8z - // @00125078 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012507C SQC2 vf5, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s2.UL0)); - // @00125080 SQC2 vf6, $0010(s2) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s2.UL0)); - // @00125084 SQC2 vf7, $0020(s2) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s2.UL0)); - // @00125088 SQC2 vf8, $0030(s2) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s2.UL0)); - // @0012508C BEQL s4, s2, $00124dcc - if ((this.ee.s4.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1199564u; - // @00125090 LD s0, $0140(sp) - MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); - } - } - - public virtual void funct00124f84() - { - this.ee.pc = 1200276u; - // @00124F84 MUL.S $f2, $f22, $f21 - this.ee.fpr[2].f = (this.ee.fpr[22].f * this.ee.fpr[21].f); - // @00124F88 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00124F8C MUL.S $f1, $f22, $f20 - this.ee.fpr[1].f = (this.ee.fpr[22].f * this.ee.fpr[20].f); - // @00124F90 ADDIU t7, t7, $81f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); - // @00124F94 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00124F98 SW zero, $00b8(sp) - MobUt.SW(this.ee, this.ee.r0, (184u + this.ee.sp.UL0)); - // @00124F9C ADD.S $f2, $f23, $f2 - this.ee.fpr[2].f = (this.ee.fpr[23].f + this.ee.fpr[2].f); - // @00124FA0 ADDIU t7, sp, $00b0 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @00124FA4 NEG.S $f1, $f1 - this.ee.fpr[1].f = (0 - this.ee.fpr[1].f); - // @00124FA8 SWC1 $f0, $00ec(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (236u + this.ee.sp.UL0)); - // @00124FAC SWC1 $f0, $00d8(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (216u + this.ee.sp.UL0)); - // @00124FB0 MUL.S $f2, $f2, $f24 - this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[24].f); - // @00124FB4 MUL.S $f1, $f1, $f24 - this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[24].f); - // @00124FB8 SW zero, $00bc(sp) - MobUt.SW(this.ee, this.ee.r0, (188u + this.ee.sp.UL0)); - // @00124FBC SW zero, $00c8(sp) - MobUt.SW(this.ee, this.ee.r0, (200u + this.ee.sp.UL0)); - // @00124FC0 MULA.S $f2, $f2 - this.ee.fpracc.f = (this.ee.fpr[2].f * this.ee.fpr[2].f); - // @00124FC4 MADD.S $f0, $f1, $f1 - this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[1].f, this.ee.fpr[1].f); - // @00124FC8 SW zero, $00cc(sp) - MobUt.SW(this.ee, this.ee.r0, (204u + this.ee.sp.UL0)); - // @00124FCC SW zero, $00d0(sp) - MobUt.SW(this.ee, this.ee.r0, (208u + this.ee.sp.UL0)); - // @00124FD0 SW zero, $00d4(sp) - MobUt.SW(this.ee, this.ee.r0, (212u + this.ee.sp.UL0)); - // @00124FD4 NOP - MobUt.Latency(); - // @00124FD8 NOP - MobUt.Latency(); - // @00124FDC SQRT.S $f0, $f0 - this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); - // @00124FE0 SW zero, $00dc(sp) - MobUt.SW(this.ee, this.ee.r0, (220u + this.ee.sp.UL0)); - // @00124FE4 SW zero, $00e0(sp) - MobUt.SW(this.ee, this.ee.r0, (224u + this.ee.sp.UL0)); - // @00124FE8 SW zero, $00e4(sp) - MobUt.SW(this.ee, this.ee.r0, (228u + this.ee.sp.UL0)); - // @00124FEC SW zero, $00e8(sp) - MobUt.SW(this.ee, this.ee.r0, (232u + this.ee.sp.UL0)); - // @00124FF0 NOP - MobUt.Latency(); - // @00124FF4 NOP - MobUt.Latency(); - // @00124FF8 DIV.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); - // @00124FFC NOP - MobUt.Latency(); - // @00125000 NOP - MobUt.Latency(); - // @00125004 DIV.S $f2, $f2, $f0 - this.ee.fpr[2].f = (this.ee.fpr[2].f / this.ee.fpr[0].f); - // @00125008 NEG.S $f3, $f1 - this.ee.fpr[3].f = (0 - this.ee.fpr[1].f); - // @0012500C SWC1 $f1, $00b4(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (180u + this.ee.sp.UL0)); - // @00125010 SWC1 $f3, $00c0(sp) - MobUt.SWC1(this.ee, this.ee.fpr[3], (192u + this.ee.sp.UL0)); - // @00125014 SWC1 $f2, $00c4(sp) - MobUt.SWC1(this.ee, this.ee.fpr[2], (196u + this.ee.sp.UL0)); - // @00125018 SWC1 $f2, $00b0(sp) - MobUt.SWC1(this.ee, this.ee.fpr[2], (176u + this.ee.sp.UL0)); - // @0012501C LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @00125020 LQC2 vf2, $0010(s3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); - // @00125024 LQC2 vf3, $0020(s3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); - // @00125028 LQC2 vf4, $0030(s3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @0012502C LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @00125030 LQC2 vf6, $0010(t7) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @00125034 LQC2 vf7, $0020(t7) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @00125038 LQC2 vf8, $0030(t7) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012503C VMULAx.xyzw ACC, vf1, vf5x - // @00125040 VMADDAy.xyzw ACC, vf2, vf5y - // @00125044 VMADDAz.xyzw ACC, vf3, vf5z - // @00125048 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012504C VMULAx.xyzw ACC, vf1, vf6x - // @00125050 VMADDAy.xyzw ACC, vf2, vf6y - // @00125054 VMADDAz.xyzw ACC, vf3, vf6z - // @00125058 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012505C VMULAx.xyzw ACC, vf1, vf7x - // @00125060 VMADDAy.xyzw ACC, vf2, vf7y - // @00125064 VMADDAz.xyzw ACC, vf3, vf7z - // @00125068 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012506C VMULAx.xyzw ACC, vf1, vf8x - // @00125070 VMADDAy.xyzw ACC, vf2, vf8y - // @00125074 VMADDAz.xyzw ACC, vf3, vf8z - // @00125078 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012507C SQC2 vf5, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s2.UL0)); - // @00125080 SQC2 vf6, $0010(s2) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s2.UL0)); - // @00125084 SQC2 vf7, $0020(s2) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s2.UL0)); - // @00125088 SQC2 vf8, $0030(s2) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s2.UL0)); - // @0012508C BEQL s4, s2, $00124dcc - if ((this.ee.s4.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1199564u; - // @00125090 LD s0, $0140(sp) - MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); - } - } - - public virtual void funct00125094() - { - this.ee.pc = 1200316u; - // @00125094 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00125098 LQ t1, $0010(s2) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s2.UL[0])); - // @0012509C LQ t2, $0020(s2) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s2.UL[0])); - // @001250A0 LQ t3, $0030(s2) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s2.UL[0])); - // @001250A4 SQ t0, $0000(s4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s4.UL[0])); - // @001250A8 SQ t1, $0010(s4) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s4.UL[0])); - // @001250AC SQ t2, $0020(s4) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s4.UL[0])); - // @001250B0 SQ t3, $0030(s4) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s4.UL[0])); - // @001250B4 BEQ zero, zero, $00124dcc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1199564u; - } - // @001250B8 LD s0, $0140(sp) - MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); - } - - public virtual void funct001250bc() - { - this.ee.pc = 1200336u; - // @001250BC NOP - MobUt.Latency(); - // @001250C0 NOP - MobUt.Latency(); - // @001250C4 SQRT.S $f20, $f20 - this.ee.fpr[20].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[20].f)))); - // @001250C8 BEQ zero, zero, $00124e7c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1199740u; - } - // @001250CC SW zero, $0008(s1) - MobUt.SW(this.ee, this.ee.r0, (8u + this.ee.s1.UL0)); - } - - public virtual void funct001250d0() - { - this.ee.pc = 1200356u; - // @001250D0 ADDIU t7, t7, $81f4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32268))); - // @001250D4 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001250D8 C.LT.S $f21, $f0 - this.ee.fcr31_23 = (this.ee.fpr[21].f < this.ee.fpr[0].f); - // @001250DC BC1TL $00124e3c - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1199676u; - // @001250E0 MOV.S $f21, $f0 - this.ee.fpr[21].f = this.ee.fpr[0].f; - } - } - - public virtual void funct001250e4() - { - this.ee.pc = 1200364u; - // @001250E4 BEQ zero, zero, $00124e40 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1199680u; - } - // @001250E8 MUL.S $f1, $f21, $f21 - this.ee.fpr[1].f = (this.ee.fpr[21].f * this.ee.fpr[21].f); - } - - public virtual void funct001250ec() - { - this.ee.pc = 1200472u; - // @001250EC SWC1 $f1, $0018(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (24u + this.ee.sp.UL0)); - // @001250F0 NEG.S $f0, $f0 - this.ee.fpr[0].f = (0 - this.ee.fpr[0].f); - // @001250F4 LWC1 $f1, $0000(sp) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.sp.UL0)); - // @001250F8 SWC1 $f1, $0014(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (20u + this.ee.sp.UL0)); - // @001250FC SWC1 $f0, $0010(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.sp.UL0)); - // @00125100 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00125104 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00125108 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @0012510C VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00125110 VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00125114 VWAITQ - MobUt.Latency(); - // @00125118 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @0012511C VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00125120 MTC1 t0, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00125124 VNOP - MobUt.Latency(); - // @00125128 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @0012512C VWAITQ - MobUt.Latency(); - // @00125130 VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00125134 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00125138 LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @0012513C LQC2 vf2, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); - // @00125140 VSUB.xyzw vf3, vf0, vf0 - this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @00125144 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @00125148 VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @0012514C SQC2 vf3, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.s2.UL0)); - // @00125150 BEQ t5, s2, $00125160 - if ((this.ee.t5.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1200480u; - } - // @00125154 NOP - MobUt.Latency(); - } - - public virtual void funct00125158() - { - this.ee.pc = 1200544u; - // @00125158 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @0012515C SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00125160 LQC2 vf1, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @00125164 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00125168 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @0012516C VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00125170 VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00125174 VWAITQ - MobUt.Latency(); - // @00125178 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @0012517C VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00125180 MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00125184 VNOP - MobUt.Latency(); - // @00125188 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @0012518C VWAITQ - MobUt.Latency(); - // @00125190 VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00125194 SQC2 vf1, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @00125198 BEQ zero, zero, $00124c98 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1199256u; - } - // @0012519C ADDIU s3, sp, $0030 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 48))); - } - - public virtual void funct00127e20() - { - this.ee.pc = 1212020u; - // @00127E20 ADDIU sp, sp, $ff60 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -160))); - // @00127E24 DADDU v0, zero, zero - this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00127E28 SD s1, $0048(sp) - MobUt.SD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); - // @00127E2C SD s3, $0058(sp) - MobUt.SD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); - // @00127E30 SD s0, $0040(sp) - MobUt.SD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); - // @00127E34 DADDU s1, a1, zero - this.ee.s1.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00127E38 SD s2, $0050(sp) - MobUt.SD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); - // @00127E3C SD s4, $0060(sp) - MobUt.SD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); - // @00127E40 SD s5, $0068(sp) - MobUt.SD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); - // @00127E44 SD s6, $0070(sp) - MobUt.SD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); - // @00127E48 SD s7, $0078(sp) - MobUt.SD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); - // @00127E4C SD s8, $0080(sp) - MobUt.SD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); - // @00127E50 SD ra, $0088(sp) - MobUt.SD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); - // @00127E54 SWC1 $f23, $009c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); - // @00127E58 SWC1 $f22, $0098(sp) - MobUt.SWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); - // @00127E5C SWC1 $f21, $0094(sp) - MobUt.SWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); - // @00127E60 SWC1 $f20, $0090(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); - // @00127E64 LD t6, $0000(a1) - MobUt.LD(this.ee, this.ee.t6, (0u + this.ee.a1.UL0)); - // @00127E68 ANDI t7, t6, $0007 - this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 7))); - // @00127E6C BEQ t7, zero, $00128254 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213012u; - } - // @00127E70 DADDU s3, a3, zero - this.ee.s3.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00127e74() - { - this.ee.pc = 1212032u; - // @00127E74 ANDI t7, t6, $0008 - this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 8))); - // @00127E78 BNE t7, zero, $00128254 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1213012u; - } - // @00127E7C NOP - MobUt.Latency(); - } - - public virtual void funct00127e80() - { - this.ee.pc = 1212040u; - // @00127E80 BEQ sp, a2, $00127e94 - if ((this.ee.sp.UD0 == this.ee.a2.UD0)) - { - this.ee.pc = 1212052u; - } - // @00127E84 ADDIU s2, sp, $0010 - this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00127e88() - { - this.ee.pc = 1212080u; - // @00127E88 LQ t0, $0000(a2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); - // @00127E8C SQ t0, $0000(sp) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00127E90 ADDIU s2, sp, $0010 - this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00127E94 ADDIU s0, sp, $0020 - this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 32))); - // @00127E98 LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @00127E9C LQC2 vf2, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); - // @00127EA0 VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @00127EA4 SQC2 vf1, $0000(s0) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); - // @00127EA8 BEQL s2, s0, $00127ebc - if ((this.ee.s2.UD0 == this.ee.s0.UD0)) - { - this.ee.pc = 1212092u; - // @00127EAC LD t3, $0000(s1) - MobUt.LD(this.ee, this.ee.t3, (0u + this.ee.s1.UL0)); - } - } - - public virtual void funct00127e94() - { - this.ee.pc = 1212080u; - // @00127E94 ADDIU s0, sp, $0020 - this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 32))); - // @00127E98 LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @00127E9C LQC2 vf2, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); - // @00127EA0 VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @00127EA4 SQC2 vf1, $0000(s0) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); - // @00127EA8 BEQL s2, s0, $00127ebc - if ((this.ee.s2.UD0 == this.ee.s0.UD0)) - { - this.ee.pc = 1212092u; - // @00127EAC LD t3, $0000(s1) - MobUt.LD(this.ee, this.ee.t3, (0u + this.ee.s1.UL0)); - } - } - - public virtual void funct00127eb0() - { - this.ee.pc = 1212108u; - // @00127EB0 LQ t0, $0000(s0) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s0.UL[0])); - // @00127EB4 SQ t0, $0000(s2) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00127EB8 LD t3, $0000(s1) - MobUt.LD(this.ee, this.ee.t3, (0u + this.ee.s1.UL0)); - // @00127EBC ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @00127EC0 ANDI t6, t3, $0007 - this.ee.t6.UD0 = ((ushort)((this.ee.t3.US0 & 7))); - // @00127EC4 BNEL t6, t7, $00128020 - if ((this.ee.t6.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1212448u; - // @00127EC8 LWC1 $f1, $000c(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (12u + this.ee.s1.UL0)); - } - } - - public virtual void funct00127ecc() - { - this.ee.pc = 1212164u; - // @00127ECC LWC1 $f21, $0010(s1) - MobUt.LWC1(this.ee, this.ee.fpr[21], (16u + this.ee.s1.UL0)); - // @00127ED0 LQC2 vf1, $0000(s2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00127ED4 VMUL.xyz vf1, vf1, vf1 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00127ED8 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @00127EDC VADDz.x vf1, vf1, vf1z - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @00127EE0 VSQRT Q, vf1x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[1].x)))); - // @00127EE4 VWAITQ - MobUt.Latency(); - // @00127EE8 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00127EEC MTC1 t0, $f2 - this.ee.fpr[2].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00127EF0 LWC1 $f12, $000c(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (12u + this.ee.s1.UL0)); - // @00127EF4 MTC1 zero, $f3 - this.ee.fpr[3].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00127EF8 C.EQ.S $f12, $f3 - this.ee.fcr31_23 = (this.ee.fpr[12].f == this.ee.fpr[3].f); - // @00127EFC BC1F $00127fd0 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1212368u; - } - // @00127F00 MOV.S $f1, $f2 - this.ee.fpr[1].f = this.ee.fpr[2].f; - } - - public virtual void funct00127f04() - { - this.ee.pc = 1212176u; - // @00127F04 C.LT.S $f21, $f2 - this.ee.fcr31_23 = (this.ee.fpr[21].f < this.ee.fpr[2].f); - // @00127F08 BC1F $00127f84 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1212292u; - } - // @00127F0C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct00127f10() - { - this.ee.pc = 1212276u; - // @00127F10 LQC2 vf1, $0000(s2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00127F14 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00127F18 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00127F1C VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00127F20 VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00127F24 VWAITQ - MobUt.Latency(); - // @00127F28 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00127F2C VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00127F30 MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00127F34 VNOP - MobUt.Latency(); - // @00127F38 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00127F3C VWAITQ - MobUt.Latency(); - // @00127F40 VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00127F44 SQC2 vf1, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00127F48 LQC2 vf1, $0000(s2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00127F4C MFC1 t0, $f1 - MobUt.MFC1(this.ee.t0, this.ee.fpr[1]); - // @00127F50 QMTC2 t0, vf2 - MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); - // @00127F54 VMULx.xyzw vf1, vf1, vf2x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); - // @00127F58 SQC2 vf1, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00127F5C LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00127F60 LQC2 vf2, $0000(s2) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.s2.UL0)); - // @00127F64 VADD.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); - // @00127F68 SQC2 vf1, $0000(s0) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); - // @00127F6C BEQ s3, s0, $00127f80 - if ((this.ee.s3.UD0 == this.ee.s0.UD0)) - { - this.ee.pc = 1212288u; - } - // @00127F70 ADDIU v0, zero, $0001 - this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); - } - - public virtual void funct00127f74() - { - this.ee.pc = 1212368u; - // @00127F74 LQ t0, $0000(s0) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s0.UL[0])); - // @00127F78 SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @00127F7C ADDIU v0, zero, $0001 - this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @00127F80 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00127F84 LD s0, $0040(sp) - MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); - // @00127F88 ADDIU t7, t7, $8214 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); - // @00127F8C LD s1, $0048(sp) - MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); - // @00127F90 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00127F94 LD s2, $0050(sp) - MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); - // @00127F98 SWC1 $f0, $000c(s3) - MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.s3.UL0)); - // @00127F9C LD s4, $0060(sp) - MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); - // @00127FA0 LD s3, $0058(sp) - MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); - // @00127FA4 LD s5, $0068(sp) - MobUt.LD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); - // @00127FA8 LD s6, $0070(sp) - MobUt.LD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); - // @00127FAC LD s7, $0078(sp) - MobUt.LD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); - // @00127FB0 LD s8, $0080(sp) - MobUt.LD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); - // @00127FB4 LD ra, $0088(sp) - MobUt.LD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); - // @00127FB8 LWC1 $f23, $009c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); - // @00127FBC LWC1 $f22, $0098(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); - // @00127FC0 LWC1 $f21, $0094(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); - // @00127FC4 LWC1 $f20, $0090(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); - // @00127FC8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00127FCC ADDIU sp, sp, $00a0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 160))); - } - - public virtual void funct00127f80() - { - this.ee.pc = 1212368u; - // @00127F80 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00127F84 LD s0, $0040(sp) - MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); - // @00127F88 ADDIU t7, t7, $8214 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); - // @00127F8C LD s1, $0048(sp) - MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); - // @00127F90 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00127F94 LD s2, $0050(sp) - MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); - // @00127F98 SWC1 $f0, $000c(s3) - MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.s3.UL0)); - // @00127F9C LD s4, $0060(sp) - MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); - // @00127FA0 LD s3, $0058(sp) - MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); - // @00127FA4 LD s5, $0068(sp) - MobUt.LD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); - // @00127FA8 LD s6, $0070(sp) - MobUt.LD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); - // @00127FAC LD s7, $0078(sp) - MobUt.LD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); - // @00127FB0 LD s8, $0080(sp) - MobUt.LD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); - // @00127FB4 LD ra, $0088(sp) - MobUt.LD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); - // @00127FB8 LWC1 $f23, $009c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); - // @00127FBC LWC1 $f22, $0098(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); - // @00127FC0 LWC1 $f21, $0094(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); - // @00127FC4 LWC1 $f20, $0090(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); - // @00127FC8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00127FCC ADDIU sp, sp, $00a0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 160))); - } - - public virtual void funct00127f84() - { - this.ee.pc = 1212368u; - // @00127F84 LD s0, $0040(sp) - MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); - // @00127F88 ADDIU t7, t7, $8214 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); - // @00127F8C LD s1, $0048(sp) - MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); - // @00127F90 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00127F94 LD s2, $0050(sp) - MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); - // @00127F98 SWC1 $f0, $000c(s3) - MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.s3.UL0)); - // @00127F9C LD s4, $0060(sp) - MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); - // @00127FA0 LD s3, $0058(sp) - MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); - // @00127FA4 LD s5, $0068(sp) - MobUt.LD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); - // @00127FA8 LD s6, $0070(sp) - MobUt.LD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); - // @00127FAC LD s7, $0078(sp) - MobUt.LD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); - // @00127FB0 LD s8, $0080(sp) - MobUt.LD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); - // @00127FB4 LD ra, $0088(sp) - MobUt.LD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); - // @00127FB8 LWC1 $f23, $009c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); - // @00127FBC LWC1 $f22, $0098(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); - // @00127FC0 LWC1 $f21, $0094(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); - // @00127FC4 LWC1 $f20, $0090(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); - // @00127FC8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00127FCC ADDIU sp, sp, $00a0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 160))); - } - - public virtual void funct00127fd0() - { - this.ee.pc = 1212392u; - // @00127FD0 LWC1 $f1, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); - // @00127FD4 SUB.S $f0, $f21, $f1 - this.ee.fpr[0].f = (this.ee.fpr[21].f - this.ee.fpr[1].f); - // @00127FD8 SUB.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); - // @00127FDC C.LT.S $f3, $f0 - this.ee.fcr31_23 = (this.ee.fpr[3].f < this.ee.fpr[0].f); - // @00127FE0 BC1F $00127f80 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1212288u; - } - // @00127FE4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct00127fe8() - { - this.ee.pc = 1212424u; - // @00127FE8 NOP - MobUt.Latency(); - // @00127FEC NOP - MobUt.Latency(); - // @00127FF0 DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @00127FF4 ADDIU t7, t7, $8214 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); - // @00127FF8 LWC1 $f20, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[20], (0u + this.ee.t7.UL0)); - // @00127FFC SUB.S $f12, $f12, $f20 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[20].f); - // @00128000 JAL $002ff8d8 - this.ee.ra.UL0 = 1212424u; - this.ee.pc = 3143896u; - // @00128004 MUL.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f * this.ee.fpr[0].f); - } - - public virtual void funct00128008() - { - this.ee.pc = 1212448u; - // @00128008 SUB.S $f20, $f20, $f0 - this.ee.fpr[20].f = (this.ee.fpr[20].f - this.ee.fpr[0].f); - // @0012800C LWC1 $f0, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.s1.UL0)); - // @00128010 SUB.S $f1, $f21, $f0 - this.ee.fpr[1].f = (this.ee.fpr[21].f - this.ee.fpr[0].f); - // @00128014 MUL.S $f0, $f0, $f20 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[20].f); - // @00128018 BEQ zero, zero, $00127f10 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212176u; - } - // @0012801C ADD.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); - } - - public virtual void funct00128020() - { - this.ee.pc = 1212556u; - // @00128020 DSRL t2, t3, 9 - MobUt.DSRL(this.ee.t2, this.ee.t3, 9); - // @00128024 DSRL t7, t3, 4 - MobUt.DSRL(this.ee.t7, this.ee.t3, 4); - // @00128028 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0012802C DSRL t6, t3, 5 - MobUt.DSRL(this.ee.t6, this.ee.t3, 5); - // @00128030 DSRL t5, t3, 6 - MobUt.DSRL(this.ee.t5, this.ee.t3, 6); - // @00128034 DSRL t4, t3, 7 - MobUt.DSRL(this.ee.t4, this.ee.t3, 7); - // @00128038 C.EQ.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f == this.ee.fpr[0].f); - // @0012803C DSRL t3, t3, 8 - MobUt.DSRL(this.ee.t3, this.ee.t3, 8); - // @00128040 ANDI t7, t7, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); - // @00128044 ANDI t6, t6, $00ff - this.ee.t6.UD0 = ((ushort)((this.ee.t6.US0 & 255))); - // @00128048 ANDI t5, t5, $00ff - this.ee.t5.UD0 = ((ushort)((this.ee.t5.US0 & 255))); - // @0012804C ANDI t4, t4, $00ff - this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 255))); - // @00128050 ANDI t3, t3, $00ff - this.ee.t3.UD0 = ((ushort)((this.ee.t3.US0 & 255))); - // @00128054 ANDI t2, t2, $00ff - this.ee.t2.UD0 = ((ushort)((this.ee.t2.US0 & 255))); - // @00128058 ANDI t7, t7, $0001 - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 1))); - // @0012805C ANDI t6, t6, $0001 - this.ee.t6.UD0 = ((ushort)((this.ee.t6.US0 & 1))); - // @00128060 SB t7, $0020(sp) - MobUt.SB(this.ee, this.ee.t7, (32u + this.ee.sp.UL0)); - // @00128064 ANDI t5, t5, $0001 - this.ee.t5.UD0 = ((ushort)((this.ee.t5.US0 & 1))); - // @00128068 SB t6, $0021(sp) - MobUt.SB(this.ee, this.ee.t6, (33u + this.ee.sp.UL0)); - // @0012806C ANDI t4, t4, $0001 - this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 1))); - // @00128070 SB t5, $0022(sp) - MobUt.SB(this.ee, this.ee.t5, (34u + this.ee.sp.UL0)); - // @00128074 ANDI t3, t3, $0001 - this.ee.t3.UD0 = ((ushort)((this.ee.t3.US0 & 1))); - // @00128078 SB t4, $0023(sp) - MobUt.SB(this.ee, this.ee.t4, (35u + this.ee.sp.UL0)); - // @0012807C ANDI t2, t2, $0001 - this.ee.t2.UD0 = ((ushort)((this.ee.t2.US0 & 1))); - // @00128080 SB t3, $0024(sp) - MobUt.SB(this.ee, this.ee.t3, (36u + this.ee.sp.UL0)); - // @00128084 BC1F $00128118 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1212696u; - } - // @00128088 SB t2, $0025(sp) - MobUt.SB(this.ee, this.ee.t2, (37u + this.ee.sp.UL0)); - } - - public virtual void funct0012808c() - { - this.ee.pc = 1212592u; - // @0012808C ADDIU a1, s1, $0020 - this.ee.a1.SD0 = ((int)((this.ee.s1.SD0 + 32))); - // @00128090 DADDU t3, s2, zero - this.ee.t3.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00128094 DADDU s0, zero, zero - this.ee.s0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00128098 DADDU t4, zero, zero - this.ee.t4.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012809C SLL t7, s0, 1 - MobUt.SLL(this.ee.t7, this.ee.s0, 1); - // @001280A0 ADDU t5, t7, sp - this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.sp.SD0))); - // @001280A4 LBU t6, $0020(t5) - MobUt.LBU(this.ee, this.ee.t6, (32u + this.ee.t5.UL0)); - // @001280A8 BEQL t6, zero, $001280c8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212616u; - // @001280AC LBU t7, $0021(t5) - MobUt.LBU(this.ee, this.ee.t7, (33u + this.ee.t5.UL0)); - } - } - - public virtual void funct0012809c() - { - this.ee.pc = 1212592u; - // @0012809C SLL t7, s0, 1 - MobUt.SLL(this.ee.t7, this.ee.s0, 1); - // @001280A0 ADDU t5, t7, sp - this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.sp.SD0))); - // @001280A4 LBU t6, $0020(t5) - MobUt.LBU(this.ee, this.ee.t6, (32u + this.ee.t5.UL0)); - // @001280A8 BEQL t6, zero, $001280c8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212616u; - // @001280AC LBU t7, $0021(t5) - MobUt.LBU(this.ee, this.ee.t7, (33u + this.ee.t5.UL0)); - } - } - - public virtual void funct001280b0() - { - this.ee.pc = 1212612u; - // @001280B0 LWC1 $f1, $fff0(a1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (4294967280u + this.ee.a1.UL0)); - // @001280B4 LWC1 $f0, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); - // @001280B8 C.LT.S $f0, $f1 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); - // @001280BC BC1T $001280e4 - if (this.ee.fcr31_23) - { - this.ee.pc = 1212644u; - } - // @001280C0 ADDU t7, sp, t4 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + this.ee.t4.SD0))); - } - - public virtual void funct001280c4() - { - this.ee.pc = 1212624u; - // @001280C4 LBU t7, $0021(t5) - MobUt.LBU(this.ee, this.ee.t7, (33u + this.ee.t5.UL0)); - // @001280C8 BEQL t7, zero, $001280fc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212668u; - // @001280CC ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - } - } - - public virtual void funct001280c8() - { - this.ee.pc = 1212624u; - // @001280C8 BEQL t7, zero, $001280fc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212668u; - // @001280CC ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - } - } - - public virtual void funct001280d0() - { - this.ee.pc = 1212644u; - // @001280D0 LWC1 $f1, $0000(a1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.a1.UL0)); - // @001280D4 LWC1 $f0, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); - // @001280D8 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @001280DC BC1F $001280f8 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1212664u; - } - // @001280E0 ADDU t7, sp, t4 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + this.ee.t4.SD0))); - } - - public virtual void funct001280e4() - { - this.ee.pc = 1212688u; - // @001280E4 ADDU t6, s3, t4 - this.ee.t6.SD0 = ((int)((this.ee.s3.SD0 + this.ee.t4.SD0))); - // @001280E8 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001280EC ADDIU v0, zero, $0001 - this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @001280F0 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @001280F4 SWC1 $f0, $0000(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @001280F8 ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - // @001280FC ADDIU a1, a1, $0004 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 4))); - // @00128100 ADDIU t3, t3, $0004 - this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 4))); - // @00128104 SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @00128108 BNE t7, zero, $0012809c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1212572u; - } - // @0012810C ADDIU t4, t4, $0004 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 4))); - } - - public virtual void funct001280f8() - { - this.ee.pc = 1212688u; - // @001280F8 ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - // @001280FC ADDIU a1, a1, $0004 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 4))); - // @00128100 ADDIU t3, t3, $0004 - this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 4))); - // @00128104 SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @00128108 BNE t7, zero, $0012809c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1212572u; - } - // @0012810C ADDIU t4, t4, $0004 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 4))); - } - - public virtual void funct001280fc() - { - this.ee.pc = 1212688u; - // @001280FC ADDIU a1, a1, $0004 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 4))); - // @00128100 ADDIU t3, t3, $0004 - this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 4))); - // @00128104 SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @00128108 BNE t7, zero, $0012809c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1212572u; - } - // @0012810C ADDIU t4, t4, $0004 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 4))); - } - - public virtual void funct00128110() - { - this.ee.pc = 1212696u; - // @00128110 BEQ zero, zero, $00127f84 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212292u; - } - // @00128114 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct00128118() - { - this.ee.pc = 1212768u; - // @00128118 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0012811C MTC1 zero, $f21 - this.ee.fpr[21].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00128120 ADDIU t7, t7, $8214 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); - // @00128124 DADDU s0, zero, zero - this.ee.s0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00128128 LWC1 $f20, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[20], (0u + this.ee.t7.UL0)); - // @0012812C DADDU s4, s3, zero - this.ee.s4.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - // @00128130 MOV.S $f22, $f21 - this.ee.fpr[22].f = this.ee.fpr[21].f; - // @00128134 DADDU s8, sp, zero - this.ee.s8.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @00128138 ADDIU t7, s1, $0010 - this.ee.t7.SD0 = ((int)((this.ee.s1.SD0 + 16))); - // @0012813C MOV.S $f23, $f20 - this.ee.fpr[23].f = this.ee.fpr[20].f; - // @00128140 SW t7, $0030(sp) - MobUt.SW(this.ee, this.ee.t7, (48u + this.ee.sp.UL0)); - // @00128144 DADDU s7, zero, zero - this.ee.s7.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00128148 ADDIU s6, sp, $0021 - this.ee.s6.SD0 = ((int)((this.ee.sp.SD0 + 33))); - // @0012814C ADDIU t7, s1, $0020 - this.ee.t7.SD0 = ((int)((this.ee.s1.SD0 + 32))); - // @00128150 SW t7, $0034(sp) - MobUt.SW(this.ee, this.ee.t7, (52u + this.ee.sp.UL0)); - // @00128154 LBU t7, $ffff(s6) - MobUt.LBU(this.ee, this.ee.t7, (4294967295u + this.ee.s6.UL0)); - // @00128158 BEQ t7, zero, $001281f0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212912u; - } - // @0012815C LW t7, $0030(sp) - MobUt.LW(this.ee, this.ee.t7, (48u + this.ee.sp.UL0)); - } - - public virtual void funct00128154() - { - this.ee.pc = 1212768u; - // @00128154 LBU t7, $ffff(s6) - MobUt.LBU(this.ee, this.ee.t7, (4294967295u + this.ee.s6.UL0)); - // @00128158 BEQ t7, zero, $001281f0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212912u; - } - // @0012815C LW t7, $0030(sp) - MobUt.LW(this.ee, this.ee.t7, (48u + this.ee.sp.UL0)); - } - - public virtual void funct00128160() - { - this.ee.pc = 1212804u; - // @00128160 LWC1 $f12, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (8u + this.ee.s1.UL0)); - // @00128164 ADDU s5, t7, s7 - this.ee.s5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s7.SD0))); - // @00128168 LWC1 $f1, $0000(s2) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s2.UL0)); - // @0012816C LWC1 $f0, $0000(s5) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s5.UL0)); - // @00128170 ADD.S $f0, $f0, $f12 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); - // @00128174 SUB.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - // @00128178 C.LT.S $f21, $f0 - this.ee.fcr31_23 = (this.ee.fpr[21].f < this.ee.fpr[0].f); - // @0012817C BC1FL $001281f4 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1212916u; - // @00128180 LBU t7, $0000(s6) - MobUt.LBU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); - } - } - - public virtual void funct00128184() - { - this.ee.pc = 1212832u; - // @00128184 NOP - MobUt.Latency(); - // @00128188 NOP - MobUt.Latency(); - // @0012818C DIV.S $f0, $f0, $f12 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[12].f); - // @00128190 LWC1 $f12, $000c(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (12u + this.ee.s1.UL0)); - // @00128194 SUB.S $f12, $f12, $f20 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[20].f); - // @00128198 JAL $002ff8d8 - this.ee.ra.UL0 = 1212832u; - this.ee.pc = 3143896u; - // @0012819C MUL.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f * this.ee.fpr[0].f); - } - - public virtual void funct001281a0() - { - this.ee.pc = 1212904u; - // @001281A0 LWC1 $f2, $0000(s5) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.s5.UL0)); - // @001281A4 ADDIU v0, zero, $0001 - this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @001281A8 LWC1 $f3, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[3], (8u + this.ee.s1.UL0)); - // @001281AC SUB.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f - this.ee.fpr[0].f); - // @001281B0 ADD.S $f2, $f2, $f3 - this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[3].f); - // @001281B4 LWC1 $f1, $0000(s8) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s8.UL0)); - // @001281B8 MUL.S $f0, $f3, $f0 - this.ee.fpr[0].f = (this.ee.fpr[3].f * this.ee.fpr[0].f); - // @001281BC ADD.S $f1, $f1, $f2 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[2].f); - // @001281C0 ADD.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); - // @001281C4 SWC1 $f1, $0000(s4) - MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s4.UL0)); - // @001281C8 ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - // @001281CC ADDIU s4, s4, $0004 - this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); - // @001281D0 ADDIU s8, s8, $0004 - this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); - // @001281D4 ADDIU s2, s2, $0004 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); - // @001281D8 ADDIU s7, s7, $0004 - this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); - // @001281DC SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @001281E0 BNE t7, zero, $00128154 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1212756u; - } - // @001281E4 ADDIU s6, s6, $0002 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); - } - - public virtual void funct001281b4() - { - this.ee.pc = 1212904u; - // @001281B4 LWC1 $f1, $0000(s8) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s8.UL0)); - // @001281B8 MUL.S $f0, $f3, $f0 - this.ee.fpr[0].f = (this.ee.fpr[3].f * this.ee.fpr[0].f); - // @001281BC ADD.S $f1, $f1, $f2 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[2].f); - // @001281C0 ADD.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); - // @001281C4 SWC1 $f1, $0000(s4) - MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s4.UL0)); - // @001281C8 ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - // @001281CC ADDIU s4, s4, $0004 - this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); - // @001281D0 ADDIU s8, s8, $0004 - this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); - // @001281D4 ADDIU s2, s2, $0004 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); - // @001281D8 ADDIU s7, s7, $0004 - this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); - // @001281DC SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @001281E0 BNE t7, zero, $00128154 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1212756u; - } - // @001281E4 ADDIU s6, s6, $0002 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); - } - - public virtual void funct001281c8() - { - this.ee.pc = 1212904u; - // @001281C8 ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - // @001281CC ADDIU s4, s4, $0004 - this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); - // @001281D0 ADDIU s8, s8, $0004 - this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); - // @001281D4 ADDIU s2, s2, $0004 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); - // @001281D8 ADDIU s7, s7, $0004 - this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); - // @001281DC SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @001281E0 BNE t7, zero, $00128154 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1212756u; - } - // @001281E4 ADDIU s6, s6, $0002 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); - } - - public virtual void funct001281cc() - { - this.ee.pc = 1212904u; - // @001281CC ADDIU s4, s4, $0004 - this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); - // @001281D0 ADDIU s8, s8, $0004 - this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); - // @001281D4 ADDIU s2, s2, $0004 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); - // @001281D8 ADDIU s7, s7, $0004 - this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); - // @001281DC SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @001281E0 BNE t7, zero, $00128154 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1212756u; - } - // @001281E4 ADDIU s6, s6, $0002 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); - } - - public virtual void funct001281e8() - { - this.ee.pc = 1212912u; - // @001281E8 BEQ zero, zero, $00127f84 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212292u; - } - // @001281EC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct001281f0() - { - this.ee.pc = 1212924u; - // @001281F0 LBU t7, $0000(s6) - MobUt.LBU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); - // @001281F4 BEQ t7, zero, $001281c8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212872u; - } - // @001281F8 LW t7, $0034(sp) - MobUt.LW(this.ee, this.ee.t7, (52u + this.ee.sp.UL0)); - } - - public virtual void funct001281f4() - { - this.ee.pc = 1212924u; - // @001281F4 BEQ t7, zero, $001281c8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212872u; - } - // @001281F8 LW t7, $0034(sp) - MobUt.LW(this.ee, this.ee.t7, (52u + this.ee.sp.UL0)); - } - - public virtual void funct001281fc() - { - this.ee.pc = 1212960u; - // @001281FC LWC1 $f12, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (8u + this.ee.s1.UL0)); - // @00128200 ADDU s5, t7, s7 - this.ee.s5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s7.SD0))); - // @00128204 LWC1 $f1, $0000(s2) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s2.UL0)); - // @00128208 LWC1 $f0, $0000(s5) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s5.UL0)); - // @0012820C SUB.S $f0, $f0, $f12 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); - // @00128210 SUB.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - // @00128214 C.LT.S $f22, $f0 - this.ee.fcr31_23 = (this.ee.fpr[22].f < this.ee.fpr[0].f); - // @00128218 BC1FL $001281cc - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1212876u; - // @0012821C ADDIU s0, s0, $0001 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); - } - } - - public virtual void funct00128220() - { - this.ee.pc = 1212988u; - // @00128220 NOP - MobUt.Latency(); - // @00128224 NOP - MobUt.Latency(); - // @00128228 DIV.S $f0, $f0, $f12 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[12].f); - // @0012822C LWC1 $f12, $000c(s1) - MobUt.LWC1(this.ee, this.ee.fpr[12], (12u + this.ee.s1.UL0)); - // @00128230 SUB.S $f12, $f12, $f23 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[23].f); - // @00128234 JAL $002ff8d8 - this.ee.ra.UL0 = 1212988u; - this.ee.pc = 3143896u; - // @00128238 MUL.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f * this.ee.fpr[0].f); - } - - public virtual void funct0012823c() - { - this.ee.pc = 1213012u; - // @0012823C LWC1 $f2, $0000(s5) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.s5.UL0)); - // @00128240 ADDIU v0, zero, $0001 - this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @00128244 LWC1 $f3, $0008(s1) - MobUt.LWC1(this.ee, this.ee.fpr[3], (8u + this.ee.s1.UL0)); - // @00128248 SUB.S $f0, $f23, $f0 - this.ee.fpr[0].f = (this.ee.fpr[23].f - this.ee.fpr[0].f); - // @0012824C BEQ zero, zero, $001281b4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212852u; - } - // @00128250 SUB.S $f2, $f2, $f3 - this.ee.fpr[2].f = (this.ee.fpr[2].f - this.ee.fpr[3].f); - } - - public virtual void funct00128254() - { - this.ee.pc = 1213024u; - // @00128254 SQC2 vf0, $0000(sp) - MobUt.SQC2(this.ee, this.ee.VF[0], (0u + this.ee.sp.UL0)); - // @00128258 BEQ zero, zero, $00127e94 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1212052u; - } - // @0012825C ADDIU s2, sp, $0010 - this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00128260() - { - this.ee.pc = 1213076u; - // @00128260 ADDIU sp, sp, $ffe0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); - // @00128264 SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @00128268 SD s1, $0008(sp) - MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @0012826C SD s2, $0010(sp) - MobUt.SD(this.ee, this.ee.s2, (16u + this.ee.sp.UL0)); - // @00128270 DADDU s0, a1, zero - this.ee.s0.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00128274 SD ra, $0018(sp) - MobUt.SD(this.ee, this.ee.ra, (24u + this.ee.sp.UL0)); - // @00128278 LW t7, $0014(a1) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.a1.UL0)); - // @0012827C LW s2, $0004(a0) - MobUt.LW(this.ee, this.ee.s2, (4u + this.ee.a0.UL0)); - // @00128280 LW t6, $0000(t7) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.t7.UL0)); - // @00128284 LHU s1, $0010(s2) - MobUt.LHU(this.ee, this.ee.s1, (16u + this.ee.s2.UL0)); - // @00128288 LW v0, $0020(t6) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t6.UL0)); - // @0012828C JALR ra, v0 - this.ee.ra.UD0 = 1213076u; - this.ee.pc = this.ee.v0.UL0; - // @00128290 DADDU a0, t7, zero - this.ee.a0.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128294() - { - this.ee.pc = 1213084u; - // @00128294 BEQ s1, zero, $00128304 - if ((this.ee.s1.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213188u; - } - // @00128298 DADDU t2, zero, zero - this.ee.t2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012829c() - { - this.ee.pc = 1213108u; - // @0012829C LW t7, $001c(s0) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s0.UL0)); - // @001282A0 SLL t5, t2, 4 - MobUt.SLL(this.ee.t5, this.ee.t2, 4); - // @001282A4 ADDIU t6, v0, $0010 - this.ee.t6.SD0 = ((int)((this.ee.v0.SD0 + 16))); - // @001282A8 ADDU t7, t7, t5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @001282AC BEQL t7, t6, $001282c0 - if ((this.ee.t7.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1213120u; - // @001282B0 LW t7, $0020(s0) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s0.UL0)); - } - } - - public virtual void funct001282b4() - { - this.ee.pc = 1213136u; - // @001282B4 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @001282B8 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @001282BC LW t7, $0020(s0) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s0.UL0)); - // @001282C0 ADDIU t6, v0, $0020 - this.ee.t6.SD0 = ((int)((this.ee.v0.SD0 + 32))); - // @001282C4 ADDU t7, t7, t5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @001282C8 BEQL t7, t6, $001282dc - if ((this.ee.t7.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1213148u; - // @001282CC LW t7, $0024(s0) - MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s0.UL0)); - } - } - - public virtual void funct001282d0() - { - this.ee.pc = 1213164u; - // @001282D0 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @001282D4 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @001282D8 LW t7, $0024(s0) - MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s0.UL0)); - // @001282DC ADDIU t6, v0, $0030 - this.ee.t6.SD0 = ((int)((this.ee.v0.SD0 + 48))); - // @001282E0 ADDU t7, t7, t5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @001282E4 BEQL t7, t6, $001282f8 - if ((this.ee.t7.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1213176u; - // @001282E8 ADDIU t2, t2, $0001 - this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); - } - } - - public virtual void funct001282ec() - { - this.ee.pc = 1213188u; - // @001282EC LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @001282F0 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @001282F4 ADDIU t2, t2, $0001 - this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); - // @001282F8 SLT t7, t2, s1 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.s1.SD0)); - // @001282FC BNE t7, zero, $0012829c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1213084u; - } - // @00128300 ADDIU v0, v0, $0040 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + 64))); - } - - public virtual void funct00128304() - { - this.ee.pc = 1213200u; - // @00128304 LW s1, $0028(s2) - MobUt.LW(this.ee, this.ee.s1, (40u + this.ee.s2.UL0)); - // @00128308 BEQL s1, zero, $00128384 - if ((this.ee.s1.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213316u; - // @0012830C LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - } - } - - public virtual void funct00128310() - { - this.ee.pc = 1213216u; - // @00128310 LW t7, $0024(s2) - MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s2.UL0)); - // @00128314 DADDU t2, zero, zero - this.ee.t2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00128318 BLEZ s1, $00128380 - if ((this.ee.s1.SD0 <= 0)) - { - this.ee.pc = 1213312u; - } - // @0012831C ADDU t3, s2, t7 - this.ee.t3.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct00128320() - { - this.ee.pc = 1213236u; - // @00128320 LHU t4, $0002(t3) - MobUt.LHU(this.ee, this.ee.t4, (2u + this.ee.t3.UL0)); - // @00128324 ANDI t6, t4, $ffff - this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @00128328 SLTIU t7, t6, $0009 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 9ul)); - // @0012832C BEQ t7, zero, $00128370 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213296u; - } - // @00128330 SLL t7, t6, 2 - MobUt.SLL(this.ee.t7, this.ee.t6, 2); - } - - public virtual void funct00128334() - { - this.ee.pc = 1213260u; - // @00128334 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00128338 ADDIU t6, t6, $8218 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32232))); - // @0012833C ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128340 LW t5, $0000(t7) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); - // @00128344 JR t5 - this.ee.pc = this.ee.t5.UL[0]; - // @00128348 NOP - MobUt.Latency(); - } - - public virtual void funct0012834c() - { - this.ee.pc = 1213312u; - // @0012834C LHU t6, $0000(t3) - MobUt.LHU(this.ee, this.ee.t6, (0u + this.ee.t3.UL0)); - // @00128350 ANDI t5, t4, $ffff - this.ee.t5.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @00128354 LW t7, $001c(s0) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s0.UL0)); - // @00128358 SLL t5, t5, 2 - MobUt.SLL(this.ee.t5, this.ee.t5, 2); - // @0012835C SLL t6, t6, 4 - MobUt.SLL(this.ee.t6, this.ee.t6, 4); - // @00128360 LWC1 $f0, $0004(t3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t3.UL0)); - // @00128364 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128368 ADDU t7, t7, t5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @0012836C SWC1 $f0, $0000(t7) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00128370 ADDIU t2, t2, $0001 - this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); - // @00128374 SLT t7, t2, s1 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.s1.SD0)); - // @00128378 BNE t7, zero, $00128320 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1213216u; - } - // @0012837C ADDIU t3, t3, $0008 - this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 8))); - } - - public virtual void funct00128370() - { - this.ee.pc = 1213312u; - // @00128370 ADDIU t2, t2, $0001 - this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); - // @00128374 SLT t7, t2, s1 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.s1.SD0)); - // @00128378 BNE t7, zero, $00128320 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1213216u; - } - // @0012837C ADDIU t3, t3, $0008 - this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 8))); - } - - public virtual void funct00128380() - { - this.ee.pc = 1213336u; - // @00128380 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @00128384 LD s1, $0008(sp) - MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @00128388 LD s2, $0010(sp) - MobUt.LD(this.ee, this.ee.s2, (16u + this.ee.sp.UL0)); - // @0012838C LD ra, $0018(sp) - MobUt.LD(this.ee, this.ee.ra, (24u + this.ee.sp.UL0)); - // @00128390 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128394 ADDIU sp, sp, $0020 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct00128384() - { - this.ee.pc = 1213336u; - // @00128384 LD s1, $0008(sp) - MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @00128388 LD s2, $0010(sp) - MobUt.LD(this.ee, this.ee.s2, (16u + this.ee.sp.UL0)); - // @0012838C LD ra, $0018(sp) - MobUt.LD(this.ee, this.ee.ra, (24u + this.ee.sp.UL0)); - // @00128390 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128394 ADDIU sp, sp, $0020 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct00128398() - { - this.ee.pc = 1213380u; - // @00128398 ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @0012839C LHU t5, $0000(t3) - MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t3.UL0)); - // @001283A0 LW t6, $0020(s0) - MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.s0.UL0)); - // @001283A4 ADDIU t7, t7, $fffd - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -3))); - // @001283A8 SLL t5, t5, 4 - MobUt.SLL(this.ee.t5, this.ee.t5, 4); - // @001283AC LWC1 $f0, $0004(t3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t3.UL0)); - // @001283B0 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @001283B4 ADDU t6, t6, t5 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - // @001283B8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001283BC BEQ zero, zero, $00128370 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213296u; - } - // @001283C0 SWC1 $f0, $0000(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - } - - public virtual void funct001283a8() - { - this.ee.pc = 1213380u; - // @001283A8 SLL t5, t5, 4 - MobUt.SLL(this.ee.t5, this.ee.t5, 4); - // @001283AC LWC1 $f0, $0004(t3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t3.UL0)); - // @001283B0 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @001283B4 ADDU t6, t6, t5 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - // @001283B8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001283BC BEQ zero, zero, $00128370 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213296u; - } - // @001283C0 SWC1 $f0, $0000(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - } - - public virtual void funct001283c4() - { - this.ee.pc = 1213400u; - // @001283C4 ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @001283C8 LHU t5, $0000(t3) - MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t3.UL0)); - // @001283CC LW t6, $0024(s0) - MobUt.LW(this.ee, this.ee.t6, (36u + this.ee.s0.UL0)); - // @001283D0 BEQ zero, zero, $001283a8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213352u; - } - // @001283D4 ADDIU t7, t7, $fffa - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -6))); - } - - public virtual void funct001283d8() - { - this.ee.pc = 1213440u; - // @001283D8 LW t5, $0004(a0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.a0.UL0)); - // @001283DC LW t6, $0044(t5) - MobUt.LW(this.ee, this.ee.t6, (68u + this.ee.t5.UL0)); - // @001283E0 LW t4, $0020(t5) - MobUt.LW(this.ee, this.ee.t4, (32u + this.ee.t5.UL0)); - // @001283E4 ADDU t3, t5, t6 - this.ee.t3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @001283E8 SLL t7, t4, 2 - MobUt.SLL(this.ee.t7, this.ee.t4, 2); - // @001283EC ADDU t7, t3, t7 - this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t7.SD0))); - // @001283F0 LWC1 $f0, $fffc(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4294967292u + this.ee.t7.UL0)); - // @001283F4 C.LE.S $f0, $f12 - this.ee.fcr31_23 = (this.ee.fpr[0].f <= this.ee.fpr[12].f); - // @001283F8 BC1FL $00128414 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1213460u; - // @001283FC LWC1 $f0, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); - } - } - - public virtual void funct00128400() - { - this.ee.pc = 1213460u; - // @00128400 ADDIU t7, t4, $ffff - this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + -1))); - // @00128404 SW t7, $0000(a1) - MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); - // @00128408 LW t6, $0020(t5) - MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.t5.UL0)); - // @0012840C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128410 SW t6, $0000(a2) - MobUt.SW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); - } - - public virtual void funct00128414() - { - this.ee.pc = 1213472u; - // @00128414 C.LE.S $f12, $f0 - this.ee.fcr31_23 = (this.ee.fpr[12].f <= this.ee.fpr[0].f); - // @00128418 BC1FL $00128430 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1213488u; - // @0012841C SW zero, $0000(a1) - MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.a1.UL0)); - } - } - - public virtual void funct00128420() - { - this.ee.pc = 1213488u; - // @00128420 ADDIU t7, zero, $ffff - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00128424 SW t7, $0000(a1) - MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); - // @00128428 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0012842C SW zero, $0000(a2) - MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.a2.UL0)); - } - - public virtual void funct00128430() - { - this.ee.pc = 1213520u; - // @00128430 LW t7, $0020(t5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.t5.UL0)); - // @00128434 ADDIU t6, t7, $ffff - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + -1))); - // @00128438 SW t6, $0000(a2) - MobUt.SW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); - // @0012843C LW t5, $0000(a1) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a1.UL0)); - // @00128440 SUBU t7, t6, t5 - this.ee.t7.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); - // @00128444 SLTI t7, t7, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < 2)); - // @00128448 BNE t7, zero, $00128490 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1213584u; - } - // @0012844C ADDU t7, t5, t6 - this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - } - - public virtual void funct00128450() - { - this.ee.pc = 1213556u; - // @00128450 SRL t6, t7, 31 - MobUt.SRL(this.ee.t6, this.ee.t7, 31); - // @00128454 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128458 SRA t7, t7, 1 - MobUt.SRA(this.ee.t7, this.ee.t7, 1); - // @0012845C SLL t6, t7, 2 - MobUt.SLL(this.ee.t6, this.ee.t7, 2); - // @00128460 ADDU t6, t6, t3 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t3.SD0))); - // @00128464 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @00128468 C.LT.S $f12, $f0 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); - // @0012846C BC1FL $00128498 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1213592u; - // @00128470 C.LT.S $f0, $f12 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[12].f); - } - } - - public virtual void funct00128474() - { - this.ee.pc = 1213584u; - // @00128474 SW t7, $0000(a2) - MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); - // @00128478 LW t6, $0000(a2) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); - // @0012847C LW t5, $0000(a1) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a1.UL0)); - // @00128480 SUBU t7, t6, t5 - this.ee.t7.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); - // @00128484 SLTI t7, t7, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < 2)); - // @00128488 BEQ t7, zero, $00128450 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213520u; - } - // @0012848C ADDU t7, t5, t6 - this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - } - - public virtual void funct00128478() - { - this.ee.pc = 1213584u; - // @00128478 LW t6, $0000(a2) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); - // @0012847C LW t5, $0000(a1) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a1.UL0)); - // @00128480 SUBU t7, t6, t5 - this.ee.t7.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); - // @00128484 SLTI t7, t7, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < 2)); - // @00128488 BEQ t7, zero, $00128450 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213520u; - } - // @0012848C ADDU t7, t5, t6 - this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - } - - public virtual void funct00128490() - { - this.ee.pc = 1213592u; - // @00128490 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128494 NOP - MobUt.Latency(); - } - - public virtual void funct00128498() - { - this.ee.pc = 1213600u; - // @00128498 BC1FL $001284a8 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1213608u; - // @0012849C SW t7, $0000(a2) - MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); - } - } - - public virtual void funct001284a0() - { - this.ee.pc = 1213608u; - // @001284A0 BEQ zero, zero, $00128478 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213560u; - } - // @001284A4 SW t7, $0000(a1) - MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); - } - - public virtual void funct001284a8() - { - this.ee.pc = 1213616u; - // @001284A8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @001284AC SW t7, $0000(a1) - MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); - } - - public virtual void funct001284b0() - { - this.ee.pc = 1213744u; - // @001284B0 SUB.S $f16, $f16, $f13 - this.ee.fpr[16].f = (this.ee.fpr[16].f - this.ee.fpr[13].f); - // @001284B4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @001284B8 ADDIU t7, t7, $823c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32196))); - // @001284BC SUB.S $f12, $f12, $f13 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[13].f); - // @001284C0 LWC1 $f7, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[7], (0u + this.ee.t7.UL0)); - // @001284C4 NOP - MobUt.Latency(); - // @001284C8 NOP - MobUt.Latency(); - // @001284CC DIV.S $f16, $f7, $f16 - this.ee.fpr[16].f = (this.ee.fpr[7].f / this.ee.fpr[16].f); - // @001284D0 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @001284D4 MUL.S $f5, $f12, $f12 - this.ee.fpr[5].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); - // @001284D8 ADDIU t7, t7, $8240 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32192))); - // @001284DC LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @001284E0 MUL.S $f2, $f5, $f12 - this.ee.fpr[2].f = (this.ee.fpr[5].f * this.ee.fpr[12].f); - // @001284E4 MUL.S $f3, $f5, $f3 - this.ee.fpr[3].f = (this.ee.fpr[5].f * this.ee.fpr[3].f); - // @001284E8 MUL.S $f1, $f16, $f16 - this.ee.fpr[1].f = (this.ee.fpr[16].f * this.ee.fpr[16].f); - // @001284EC MUL.S $f5, $f5, $f16 - this.ee.fpr[5].f = (this.ee.fpr[5].f * this.ee.fpr[16].f); - // @001284F0 MUL.S $f2, $f2, $f1 - this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[1].f); - // @001284F4 MUL.S $f3, $f3, $f1 - this.ee.fpr[3].f = (this.ee.fpr[3].f * this.ee.fpr[1].f); - // @001284F8 ADD.S $f6, $f5, $f5 - this.ee.fpr[6].f = (this.ee.fpr[5].f + this.ee.fpr[5].f); - // @001284FC ADD.S $f4, $f2, $f2 - this.ee.fpr[4].f = (this.ee.fpr[2].f + this.ee.fpr[2].f); - // @00128500 SUB.S $f5, $f2, $f5 - this.ee.fpr[5].f = (this.ee.fpr[2].f - this.ee.fpr[5].f); - // @00128504 MUL.S $f4, $f4, $f16 - this.ee.fpr[4].f = (this.ee.fpr[4].f * this.ee.fpr[16].f); - // @00128508 SUB.S $f2, $f2, $f6 - this.ee.fpr[2].f = (this.ee.fpr[2].f - this.ee.fpr[6].f); - // @0012850C SUB.S $f1, $f4, $f3 - this.ee.fpr[1].f = (this.ee.fpr[4].f - this.ee.fpr[3].f); - // @00128510 ADD.S $f2, $f2, $f12 - this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[12].f); - // @00128514 ADD.S $f1, $f1, $f7 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[7].f); - // @00128518 SUB.S $f3, $f3, $f4 - this.ee.fpr[3].f = (this.ee.fpr[3].f - this.ee.fpr[4].f); - // @0012851C MULA.S $f14, $f1 - this.ee.fpracc.f = (this.ee.fpr[14].f * this.ee.fpr[1].f); - // @00128520 MADDA.S $f17, $f3 - this.ee.fpracc.f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[17].f, this.ee.fpr[3].f); - // @00128524 MADDA.S $f15, $f2 - this.ee.fpracc.f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[15].f, this.ee.fpr[2].f); - // @00128528 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0012852C MADD.S $f0, $f18, $f5 - this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[18].f, this.ee.fpr[5].f); - } - - public virtual void funct00128530() - { - this.ee.pc = 1213892u; - // @00128530 ADDIU sp, sp, $ffa0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -96))); - // @00128534 LW t5, $0004(a0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.a0.UL0)); - // @00128538 SD s0, $0010(sp) - MobUt.SD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - // @0012853C SD s1, $0018(sp) - MobUt.SD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @00128540 SD s2, $0020(sp) - MobUt.SD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @00128544 DADDU s0, a1, zero - this.ee.s0.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00128548 SD s3, $0028(sp) - MobUt.SD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @0012854C SD s4, $0030(sp) - MobUt.SD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @00128550 SD s5, $0038(sp) - MobUt.SD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @00128554 SD s6, $0040(sp) - MobUt.SD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); - // @00128558 SWC1 $f20, $0050(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (80u + this.ee.sp.UL0)); - // @0012855C SW a3, $0004(sp) - MobUt.SW(this.ee, this.ee.a3, (4u + this.ee.sp.UL0)); - // @00128560 SD ra, $0048(sp) - MobUt.SD(this.ee, this.ee.ra, (72u + this.ee.sp.UL0)); - // @00128564 MOV.S $f20, $f12 - this.ee.fpr[20].f = this.ee.fpr[12].f; - // @00128568 SW a2, $0000(sp) - MobUt.SW(this.ee, this.ee.a2, (0u + this.ee.sp.UL0)); - // @0012856C LHU t0, $0004(a1) - MobUt.LHU(this.ee, this.ee.t0, (4u + this.ee.a1.UL0)); - // @00128570 LW t6, $0040(t5) - MobUt.LW(this.ee, this.ee.t6, (64u + this.ee.t5.UL0)); - // @00128574 ANDI t4, t0, $ffff - this.ee.t4.UD0 = ((ushort)((this.ee.t0.US0 & 65535))); - // @00128578 LBU t1, $0003(a1) - MobUt.LBU(this.ee, this.ee.t1, (3u + this.ee.a1.UL0)); - // @0012857C ADDU s2, t5, t6 - this.ee.s2.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @00128580 LW t3, $0048(t5) - MobUt.LW(this.ee, this.ee.t3, (72u + this.ee.t5.UL0)); - // @00128584 SLL t7, t4, 3 - MobUt.SLL(this.ee.t7, this.ee.t4, 3); - // @00128588 ANDI t6, t1, $00ff - this.ee.t6.UD0 = ((ushort)((this.ee.t1.US0 & 255))); - // @0012858C ADDU s1, s2, t7 - this.ee.s1.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t7.SD0))); - // @00128590 ADDU t4, t4, t6 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @00128594 LHU t2, $0000(s1) - MobUt.LHU(this.ee, this.ee.t2, (0u + this.ee.s1.UL0)); - // @00128598 SLL t4, t4, 3 - MobUt.SLL(this.ee.t4, this.ee.t4, 3); - // @0012859C LW t6, $0044(t5) - MobUt.LW(this.ee, this.ee.t6, (68u + this.ee.t5.UL0)); - // @001285A0 ADDU t4, s2, t4 - this.ee.t4.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t4.SD0))); - // @001285A4 LW t7, $004c(t5) - MobUt.LW(this.ee, this.ee.t7, (76u + this.ee.t5.UL0)); - // @001285A8 SRL t2, t2, 2 - MobUt.SRL(this.ee.t2, this.ee.t2, 2); - // @001285AC ADDU s3, t5, t6 - this.ee.s3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @001285B0 ADDU s5, t5, t3 - this.ee.s5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t3.SD0))); - // @001285B4 ADDU s6, t5, t7 - this.ee.s6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); - // @001285B8 SLT a3, t2, a3 - this.ee.a3.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.a3.SD0)); - // @001285BC BNE a3, zero, $00128840 - if ((this.ee.a3.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214528u; - } - // @001285C0 ADDIU s4, t4, $fff8 - this.ee.s4.SD0 = ((int)((this.ee.t4.SD0 + -8))); - } - - public virtual void funct001285c4() - { - this.ee.pc = 1213916u; - // @001285C4 LHU t7, $0002(a1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.a1.UL0)); - // @001285C8 ADDIU t6, zero, $0001 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @001285CC SRL t7, t7, 4 - MobUt.SRL(this.ee.t7, this.ee.t7, 4); - // @001285D0 ANDI t5, t7, $0003 - this.ee.t5.UD0 = ((ushort)((this.ee.t7.US0 & 3))); - // @001285D4 BEQ t5, t6, $00128804 - if ((this.ee.t5.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1214468u; - } - // @001285D8 SLTI t7, t5, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < 2)); - } - - public virtual void funct001285dc() - { - this.ee.pc = 1213924u; - // @001285DC BEQL t7, zero, $0012862c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213996u; - // @001285E0 ADDIU t7, zero, $0002 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); - } - } - - public virtual void funct001285e4() - { - this.ee.pc = 1213932u; - // @001285E4 BEQL t5, zero, $0012861c - if ((this.ee.t5.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213980u; - // @001285E8 LHU t7, $0002(s1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); - } - } - - public virtual void funct001285f0() - { - this.ee.pc = 1213980u; - // @001285F0 LD s0, $0010(sp) - MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - // @001285F4 LD s1, $0018(sp) - MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @001285F8 LD s2, $0020(sp) - MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @001285FC LD s3, $0028(sp) - MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @00128600 LD s4, $0030(sp) - MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @00128604 LD s5, $0038(sp) - MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @00128608 LD s6, $0040(sp) - MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); - // @0012860C LD ra, $0048(sp) - MobUt.LD(this.ee, this.ee.ra, (72u + this.ee.sp.UL0)); - // @00128610 LWC1 $f20, $0050(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (80u + this.ee.sp.UL0)); - // @00128614 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128618 ADDIU sp, sp, $0060 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); - } - - public virtual void funct001285f4() - { - this.ee.pc = 1213980u; - // @001285F4 LD s1, $0018(sp) - MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @001285F8 LD s2, $0020(sp) - MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @001285FC LD s3, $0028(sp) - MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @00128600 LD s4, $0030(sp) - MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @00128604 LD s5, $0038(sp) - MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @00128608 LD s6, $0040(sp) - MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); - // @0012860C LD ra, $0048(sp) - MobUt.LD(this.ee, this.ee.ra, (72u + this.ee.sp.UL0)); - // @00128610 LWC1 $f20, $0050(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (80u + this.ee.sp.UL0)); - // @00128614 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128618 ADDIU sp, sp, $0060 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); - } - - public virtual void funct0012861c() - { - this.ee.pc = 1213996u; - // @0012861C SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00128620 ADDU t7, t7, s5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s5.SD0))); - // @00128624 BEQ zero, zero, $001285f0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213936u; - } - // @00128628 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - } - - public virtual void funct0012862c() - { - this.ee.pc = 1214004u; - // @0012862C BNEL t5, t7, $001285f0 - if ((this.ee.t5.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1213936u; - // @00128630 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - } - - public virtual void funct00128634() - { - this.ee.pc = 1214044u; - // @00128634 LHU t7, $fff8(t4) - MobUt.LHU(this.ee, this.ee.t7, (4294967288u + this.ee.t4.UL0)); - // @00128638 SLL t6, t2, 2 - MobUt.SLL(this.ee.t6, this.ee.t2, 2); - // @0012863C ADDU t6, t6, s3 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - // @00128640 ANDI t7, t7, $fffc - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 65532))); - // @00128644 LWC1 $f2, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); - // @00128648 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012864C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00128650 C.LT.S $f12, $f2 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[2].f); - // @00128654 BC1F $00128670 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1214064u; - } - // @00128658 SUB.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); - } - - public virtual void funct0012865c() - { - this.ee.pc = 1214060u; - // @0012865C ADD.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - // @00128660 C.LT.S $f12, $f2 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[2].f); - // @00128664 BC1TL $00128660 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1214048u; - // @00128668 ADD.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - } - } - - public virtual void funct00128660() - { - this.ee.pc = 1214060u; - // @00128660 C.LT.S $f12, $f2 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[2].f); - // @00128664 BC1TL $00128660 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1214048u; - // @00128668 ADD.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - } - } - - public virtual void funct0012866c() - { - this.ee.pc = 1214080u; - // @0012866C MOV.S $f20, $f12 - this.ee.fpr[20].f = this.ee.fpr[12].f; - // @00128670 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @00128674 DADDU a1, sp, zero - this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @00128678 JAL $001283d8 - this.ee.ra.UL0 = 1214080u; - this.ee.pc = 1213400u; - // @0012867C ADDIU a2, sp, $0004 - this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 4))); - } - - public virtual void funct00128670() - { - this.ee.pc = 1214080u; - // @00128670 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @00128674 DADDU a1, sp, zero - this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @00128678 JAL $001283d8 - this.ee.ra.UL0 = 1214080u; - this.ee.pc = 1213400u; - // @0012867C ADDIU a2, sp, $0004 - this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 4))); - } - - public virtual void funct00128680() - { - this.ee.pc = 1214120u; - // @00128680 LBU t1, $0003(s0) - MobUt.LBU(this.ee, this.ee.t1, (3u + this.ee.s0.UL0)); - // @00128684 LHU t0, $0004(s0) - MobUt.LHU(this.ee, this.ee.t0, (4u + this.ee.s0.UL0)); - // @00128688 ANDI t4, t0, $ffff - this.ee.t4.UD0 = ((ushort)((this.ee.t0.US0 & 65535))); - // @0012868C ANDI t7, t1, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t1.US0 & 255))); - // @00128690 ADDU t7, t4, t7 - this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); - // @00128694 ADDIU a3, t7, $ffff - this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + -1))); - // @00128698 SUBU t0, a3, t4 - this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); - // @0012869C SLTI t7, t0, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); - // @001286A0 BNEL t7, zero, $00128708 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214216u; - // @001286A4 LHU t4, $0000(s1) - MobUt.LHU(this.ee, this.ee.t4, (0u + this.ee.s1.UL0)); - } - } - - public virtual void funct0012868c() - { - this.ee.pc = 1214120u; - // @0012868C ANDI t7, t1, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t1.US0 & 255))); - // @00128690 ADDU t7, t4, t7 - this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); - // @00128694 ADDIU a3, t7, $ffff - this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + -1))); - // @00128698 SUBU t0, a3, t4 - this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); - // @0012869C SLTI t7, t0, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); - // @001286A0 BNEL t7, zero, $00128708 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214216u; - // @001286A4 LHU t4, $0000(s1) - MobUt.LHU(this.ee, this.ee.t4, (0u + this.ee.s1.UL0)); - } - } - - public virtual void funct001286a8() - { - this.ee.pc = 1214176u; - // @001286A8 ADDU t7, t4, a3 - this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.a3.SD0))); - // @001286AC SRL t6, t7, 31 - MobUt.SRL(this.ee.t6, this.ee.t7, 31); - // @001286B0 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @001286B4 SRA t3, t7, 1 - MobUt.SRA(this.ee.t3, this.ee.t7, 1); - // @001286B8 SLL t6, t3, 3 - MobUt.SLL(this.ee.t6, this.ee.t3, 3); - // @001286BC ADDU t1, s2, t6 - this.ee.t1.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t6.SD0))); - // @001286C0 LHU t5, $0000(t1) - MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t1.UL0)); - // @001286C4 SRL t5, t5, 2 - MobUt.SRL(this.ee.t5, this.ee.t5, 2); - // @001286C8 SLL t7, t5, 2 - MobUt.SLL(this.ee.t7, this.ee.t5, 2); - // @001286CC ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @001286D0 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001286D4 C.EQ.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); - // @001286D8 BC1T $001287fc - if (this.ee.fcr31_23) - { - this.ee.pc = 1214460u; - } - // @001286DC LW t6, $0000(sp) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.sp.UL0)); - } - - public virtual void funct001286ac() - { - this.ee.pc = 1214176u; - // @001286AC SRL t6, t7, 31 - MobUt.SRL(this.ee.t6, this.ee.t7, 31); - // @001286B0 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @001286B4 SRA t3, t7, 1 - MobUt.SRA(this.ee.t3, this.ee.t7, 1); - // @001286B8 SLL t6, t3, 3 - MobUt.SLL(this.ee.t6, this.ee.t3, 3); - // @001286BC ADDU t1, s2, t6 - this.ee.t1.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t6.SD0))); - // @001286C0 LHU t5, $0000(t1) - MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t1.UL0)); - // @001286C4 SRL t5, t5, 2 - MobUt.SRL(this.ee.t5, this.ee.t5, 2); - // @001286C8 SLL t7, t5, 2 - MobUt.SLL(this.ee.t7, this.ee.t5, 2); - // @001286CC ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @001286D0 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001286D4 C.EQ.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); - // @001286D8 BC1T $001287fc - if (this.ee.fcr31_23) - { - this.ee.pc = 1214460u; - } - // @001286DC LW t6, $0000(sp) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.sp.UL0)); - } - - public virtual void funct001286e0() - { - this.ee.pc = 1214188u; - // @001286E0 SLT t7, t5, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); - // @001286E4 BEQ t7, zero, $001287c0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214400u; - } - // @001286E8 LW t2, $0004(sp) - MobUt.LW(this.ee, this.ee.t2, (4u + this.ee.sp.UL0)); - } - - public virtual void funct001286ec() - { - this.ee.pc = 1214212u; - // @001286EC DADDU t4, t3, zero - this.ee.t4.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @001286F0 DADDU s1, t1, zero - this.ee.s1.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); - // @001286F4 SUBU t0, a3, t4 - this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); - // @001286F8 SLTI t7, t0, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); - // @001286FC BEQ t7, zero, $001286ac - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214124u; - } - // @00128700 ADDU t7, t4, a3 - this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.a3.SD0))); - } - - public virtual void funct001286f4() - { - this.ee.pc = 1214212u; - // @001286F4 SUBU t0, a3, t4 - this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); - // @001286F8 SLTI t7, t0, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); - // @001286FC BEQ t7, zero, $001286ac - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214124u; - } - // @00128700 ADDU t7, t4, a3 - this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.a3.SD0))); - } - - public virtual void funct00128704() - { - this.ee.pc = 1214232u; - // @00128704 LHU t4, $0000(s1) - MobUt.LHU(this.ee, this.ee.t4, (0u + this.ee.s1.UL0)); - // @00128708 ANDI t7, t4, $0003 - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 3))); - // @0012870C ANDI t1, t7, $ffff - this.ee.t1.UD0 = ((ushort)((this.ee.t7.US0 & 65535))); - // @00128710 BEQL t1, zero, $0012861c - if ((this.ee.t1.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213980u; - // @00128714 LHU t7, $0002(s1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); - } - } - - public virtual void funct00128708() - { - this.ee.pc = 1214232u; - // @00128708 ANDI t7, t4, $0003 - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 3))); - // @0012870C ANDI t1, t7, $ffff - this.ee.t1.UD0 = ((ushort)((this.ee.t7.US0 & 65535))); - // @00128710 BEQL t1, zero, $0012861c - if ((this.ee.t1.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213980u; - // @00128714 LHU t7, $0002(s1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); - } - } - - public virtual void funct00128718() - { - this.ee.pc = 1214336u; - // @00128718 LHU t7, $0002(s4) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s4.UL0)); - // @0012871C ANDI t4, t4, $ffff - this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @00128720 LHU t3, $0006(s1) - MobUt.LHU(this.ee, this.ee.t3, (6u + this.ee.s1.UL0)); - // @00128724 ANDI t4, t4, $fffc - this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 65532))); - // @00128728 LHU t2, $0004(s4) - MobUt.LHU(this.ee, this.ee.t2, (4u + this.ee.s4.UL0)); - // @0012872C SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00128730 LHU t6, $0002(s1) - MobUt.LHU(this.ee, this.ee.t6, (2u + this.ee.s1.UL0)); - // @00128734 ADDU t7, t7, s5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s5.SD0))); - // @00128738 LHU t5, $0000(s4) - MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.s4.UL0)); - // @0012873C SLL t3, t3, 2 - MobUt.SLL(this.ee.t3, this.ee.t3, 2); - // @00128740 SLL t2, t2, 2 - MobUt.SLL(this.ee.t2, this.ee.t2, 2); - // @00128744 LWC1 $f17, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[17], (0u + this.ee.t7.UL0)); - // @00128748 SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @0012874C ANDI t5, t5, $fffc - this.ee.t5.UD0 = ((ushort)((this.ee.t5.US0 & 65532))); - // @00128750 ADDU t2, t2, s6 - this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + this.ee.s6.SD0))); - // @00128754 ADDU t5, t5, s3 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); - // @00128758 ADDU t4, t4, s3 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + this.ee.s3.SD0))); - // @0012875C LWC1 $f16, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[16], (0u + this.ee.t5.UL0)); - // @00128760 ADDU t6, t6, s5 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s5.SD0))); - // @00128764 LWC1 $f13, $0000(t4) - MobUt.LWC1(this.ee, this.ee.fpr[13], (0u + this.ee.t4.UL0)); - // @00128768 ADDU t3, t3, s6 - this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s6.SD0))); - // @0012876C LWC1 $f14, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); - // @00128770 LWC1 $f15, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[15], (0u + this.ee.t3.UL0)); - // @00128774 ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @00128778 BEQ t1, t7, $0012879c - if ((this.ee.t1.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1214364u; - } - // @0012877C LWC1 $f18, $0000(t2) - MobUt.LWC1(this.ee, this.ee.fpr[18], (0u + this.ee.t2.UL0)); - } - - public virtual void funct00128780() - { - this.ee.pc = 1214348u; - // @00128780 ADDIU t7, zero, $0002 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); - // @00128784 BNEL t1, t7, $001285f0 - if ((this.ee.t1.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1213936u; - // @00128788 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - } - - public virtual void funct0012878c() - { - this.ee.pc = 1214356u; - // @0012878C JAL $001284b0 - this.ee.ra.UL0 = 1214356u; - this.ee.pc = 1213616u; - // @00128790 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - } - - public virtual void funct00128794() - { - this.ee.pc = 1214364u; - // @00128794 BEQ zero, zero, $001285f4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213940u; - } - // @00128798 LD s0, $0010(sp) - MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - } - - public virtual void funct0012879c() - { - this.ee.pc = 1214400u; - // @0012879C SUB.S $f0, $f17, $f14 - this.ee.fpr[0].f = (this.ee.fpr[17].f - this.ee.fpr[14].f); - // @001287A0 SUB.S $f1, $f20, $f13 - this.ee.fpr[1].f = (this.ee.fpr[20].f - this.ee.fpr[13].f); - // @001287A4 SUB.S $f2, $f16, $f13 - this.ee.fpr[2].f = (this.ee.fpr[16].f - this.ee.fpr[13].f); - // @001287A8 MUL.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); - // @001287AC NOP - MobUt.Latency(); - // @001287B0 NOP - MobUt.Latency(); - // @001287B4 DIV.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[2].f); - // @001287B8 BEQ zero, zero, $001285f0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213936u; - } - // @001287BC ADD.S $f0, $f14, $f0 - this.ee.fpr[0].f = (this.ee.fpr[14].f + this.ee.fpr[0].f); - } - - public virtual void funct001287c0() - { - this.ee.pc = 1214412u; - // @001287C0 SLT t7, t2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.t5.SD0)); - // @001287C4 BEQ t7, zero, $001287d8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214424u; - } - // @001287C8 NOP - MobUt.Latency(); - } - - public virtual void funct001287cc() - { - this.ee.pc = 1214424u; - // @001287CC DADDU a3, t3, zero - this.ee.a3.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @001287D0 BEQ zero, zero, $001286f4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214196u; - } - // @001287D4 DADDU s4, t1, zero - this.ee.s4.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001287d8() - { - this.ee.pc = 1214432u; - // @001287D8 BEQL t5, t6, $001287f4 - if ((this.ee.t5.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1214452u; - // @001287DC DADDU s1, t1, zero - this.ee.s1.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); - } - } - - public virtual void funct001287e0() - { - this.ee.pc = 1214440u; - // @001287E0 BNE t5, t2, $001286fc - if ((this.ee.t5.UD0 != this.ee.t2.UD0)) - { - this.ee.pc = 1214204u; - } - // @001287E4 SLTI t7, t0, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); - } - - public virtual void funct001287e8() - { - this.ee.pc = 1214452u; - // @001287E8 DADDU s4, t1, zero - this.ee.s4.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); - // @001287EC BEQ zero, zero, $00128704 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214212u; - } - // @001287F0 ADDIU s1, t1, $fff8 - this.ee.s1.SD0 = ((int)((this.ee.t1.SD0 + -8))); - } - - public virtual void funct001287f4() - { - this.ee.pc = 1214460u; - // @001287F4 BEQ zero, zero, $00128704 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214212u; - } - // @001287F8 ADDIU s4, t1, $0008 - this.ee.s4.SD0 = ((int)((this.ee.t1.SD0 + 8))); - } - - public virtual void funct001287fc() - { - this.ee.pc = 1214468u; - // @001287FC BEQ zero, zero, $0012861c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213980u; - } - // @00128800 LHU t7, $0002(t1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.t1.UL0)); - } - - public virtual void funct00128804() - { - this.ee.pc = 1214528u; - // @00128804 SLL t7, t2, 2 - MobUt.SLL(this.ee.t7, this.ee.t2, 2); - // @00128808 LHU t6, $0004(s1) - MobUt.LHU(this.ee, this.ee.t6, (4u + this.ee.s1.UL0)); - // @0012880C ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @00128810 LHU t5, $0002(s1) - MobUt.LHU(this.ee, this.ee.t5, (2u + this.ee.s1.UL0)); - // @00128814 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00128818 SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @0012881C ADDU t6, t6, s6 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s6.SD0))); - // @00128820 SLL t5, t5, 2 - MobUt.SLL(this.ee.t5, this.ee.t5, 2); - // @00128824 SUB.S $f0, $f0, $f12 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); - // @00128828 ADDU t5, t5, s5 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s5.SD0))); - // @0012882C LWC1 $f2, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); - // @00128830 LWC1 $f1, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t5.UL0)); - // @00128834 MUL.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[2].f); - // @00128838 BEQ zero, zero, $001285f0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213936u; - } - // @0012883C SUB.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - } - - public virtual void funct00128840() - { - this.ee.pc = 1214548u; - // @00128840 LHU t7, $fff8(t4) - MobUt.LHU(this.ee, this.ee.t7, (4294967288u + this.ee.t4.UL0)); - // @00128844 SRL t4, t7, 2 - MobUt.SRL(this.ee.t4, this.ee.t7, 2); - // @00128848 SLT a2, a2, t4 - this.ee.a2.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t4.SD0)); - // @0012884C BNEL a2, zero, $0012868c - if ((this.ee.a2.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214092u; - // @00128850 ANDI t4, t0, $ffff - this.ee.t4.UD0 = ((ushort)((this.ee.t0.US0 & 65535))); - } - } - - public virtual void funct00128854() - { - this.ee.pc = 1214572u; - // @00128854 LHU t7, $0002(a1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.a1.UL0)); - // @00128858 ADDIU t6, zero, $0001 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @0012885C SRL t7, t7, 6 - MobUt.SRL(this.ee.t7, this.ee.t7, 6); - // @00128860 ANDI t5, t7, $0003 - this.ee.t5.UD0 = ((ushort)((this.ee.t7.US0 & 3))); - // @00128864 BEQ t5, t6, $001288d8 - if ((this.ee.t5.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1214680u; - } - // @00128868 SLTI t7, t5, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < 2)); - } - - public virtual void funct0012886c() - { - this.ee.pc = 1214580u; - // @0012886C BEQ t7, zero, $00128884 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214596u; - } - // @00128870 ADDIU t7, zero, $0002 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); - } - - public virtual void funct00128874() - { - this.ee.pc = 1214588u; - // @00128874 BNEL t5, zero, $001285f0 - if ((this.ee.t5.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1213936u; - // @00128878 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - } - - public virtual void funct0012887c() - { - this.ee.pc = 1214596u; - // @0012887C BEQ zero, zero, $0012861c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213980u; - } - // @00128880 LHU t7, $0002(s4) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s4.UL0)); - } - - public virtual void funct00128884() - { - this.ee.pc = 1214604u; - // @00128884 BNEL t5, t7, $001285f0 - if ((this.ee.t5.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1213936u; - // @00128888 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - } - - public virtual void funct0012888c() - { - this.ee.pc = 1214640u; - // @0012888C SLL t7, t2, 2 - MobUt.SLL(this.ee.t7, this.ee.t2, 2); - // @00128890 SLL t6, t4, 2 - MobUt.SLL(this.ee.t6, this.ee.t4, 2); - // @00128894 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @00128898 ADDU t6, t6, s3 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - // @0012889C LWC1 $f2, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); - // @001288A0 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001288A4 C.LT.S $f2, $f12 - this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[12].f); - // @001288A8 BC1F $00128670 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1214064u; - } - // @001288AC SUB.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); - } - - public virtual void funct001288b0() - { - this.ee.pc = 1214672u; - // @001288B0 SUB.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - // @001288B4 C.LT.S $f2, $f12 - this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[12].f); - // @001288B8 NOP - MobUt.Latency(); - // @001288BC NOP - MobUt.Latency(); - // @001288C0 NOP - MobUt.Latency(); - // @001288C4 NOP - MobUt.Latency(); - // @001288C8 BC1TL $001288b4 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1214644u; - // @001288CC SUB.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - } - - public virtual void funct001288b4() - { - this.ee.pc = 1214672u; - // @001288B4 C.LT.S $f2, $f12 - this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[12].f); - // @001288B8 NOP - MobUt.Latency(); - // @001288BC NOP - MobUt.Latency(); - // @001288C0 NOP - MobUt.Latency(); - // @001288C4 NOP - MobUt.Latency(); - // @001288C8 BC1TL $001288b4 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1214644u; - // @001288CC SUB.S $f12, $f12, $f0 - this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - } - - public virtual void funct001288d0() - { - this.ee.pc = 1214680u; - // @001288D0 BEQ zero, zero, $00128670 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214064u; - } - // @001288D4 MOV.S $f20, $f12 - this.ee.fpr[20].f = this.ee.fpr[12].f; - } - - public virtual void funct001288d8() - { - this.ee.pc = 1214740u; - // @001288D8 SLL t7, t4, 2 - MobUt.SLL(this.ee.t7, this.ee.t4, 2); - // @001288DC LHU t6, $0006(s4) - MobUt.LHU(this.ee, this.ee.t6, (6u + this.ee.s4.UL0)); - // @001288E0 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @001288E4 LHU t5, $0002(s4) - MobUt.LHU(this.ee, this.ee.t5, (2u + this.ee.s4.UL0)); - // @001288E8 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001288EC SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @001288F0 ADDU t6, t6, s6 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s6.SD0))); - // @001288F4 SLL t5, t5, 2 - MobUt.SLL(this.ee.t5, this.ee.t5, 2); - // @001288F8 SUB.S $f0, $f12, $f0 - this.ee.fpr[0].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - // @001288FC ADDU t5, t5, s5 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s5.SD0))); - // @00128900 LWC1 $f2, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); - // @00128904 LWC1 $f1, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t5.UL0)); - // @00128908 MUL.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[2].f); - // @0012890C BEQ zero, zero, $001285f0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1213936u; - } - // @00128910 ADD.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); - } - - public virtual void funct00128918() - { - this.ee.pc = 1214808u; - // @00128918 ADDIU sp, sp, $ffb0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -80))); - // @0012891C SWC1 $f20, $0048(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); - // @00128920 ADDIU a2, sp, $0004 - this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 4))); - // @00128924 SD s5, $0038(sp) - MobUt.SD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @00128928 MOV.S $f20, $f12 - this.ee.fpr[20].f = this.ee.fpr[12].f; - // @0012892C SD s4, $0030(sp) - MobUt.SD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @00128930 SD s0, $0010(sp) - MobUt.SD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - // @00128934 DADDU s5, a1, zero - this.ee.s5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00128938 SD s1, $0018(sp) - MobUt.SD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @0012893C DADDU s4, a0, zero - this.ee.s4.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @00128940 SD s2, $0020(sp) - MobUt.SD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @00128944 DADDU a1, sp, zero - this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @00128948 SD s3, $0028(sp) - MobUt.SD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @0012894C SD ra, $0040(sp) - MobUt.SD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); - // @00128950 JAL $001283d8 - this.ee.ra.UL0 = 1214808u; - this.ee.pc = 1213400u; - // @00128954 DADDU s2, zero, zero - this.ee.s2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128958() - { - this.ee.pc = 1214828u; - // @00128958 LW s1, $0004(s4) - MobUt.LW(this.ee, this.ee.s1, (4u + this.ee.s4.UL0)); - // @0012895C LW t7, $0030(s1) - MobUt.LW(this.ee, this.ee.t7, (48u + this.ee.s1.UL0)); - // @00128960 LW s3, $0034(s1) - MobUt.LW(this.ee, this.ee.s3, (52u + this.ee.s1.UL0)); - // @00128964 BLEZ s3, $001289e4 - if ((this.ee.s3.SD0 <= 0)) - { - this.ee.pc = 1214948u; - } - // @00128968 ADDU s0, s1, t7 - this.ee.s0.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012896c() - { - this.ee.pc = 1214852u; - // @0012896C MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @00128970 LW a2, $0000(sp) - MobUt.LW(this.ee, this.ee.a2, (0u + this.ee.sp.UL0)); - // @00128974 LW a3, $0004(sp) - MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.sp.UL0)); - // @00128978 DADDU a0, s4, zero - this.ee.a0.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - // @0012897C JAL $00128530 - this.ee.ra.UL0 = 1214852u; - this.ee.pc = 1213744u; - // @00128980 DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128984() - { - this.ee.pc = 1214876u; - // @00128984 LBU t4, $0002(s0) - MobUt.LBU(this.ee, this.ee.t4, (2u + this.ee.s0.UL0)); - // @00128988 ANDI t7, t4, $000f - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @0012898C ANDI t7, t7, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); - // @00128990 SLTIU t6, t7, $0009 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 9ul)); - // @00128994 BEQ t6, zero, $001289d4 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214932u; - } - // @00128998 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - - public virtual void funct0012899c() - { - this.ee.pc = 1214900u; - // @0012899C SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @001289A0 ADDIU t6, t6, $8244 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32188))); - // @001289A4 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @001289A8 LW t5, $0000(t7) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); - // @001289AC JR t5 - this.ee.pc = this.ee.t5.UL[0]; - // @001289B0 NOP - MobUt.Latency(); - } - - public virtual void funct001289b4() - { - this.ee.pc = 1214948u; - // @001289B4 LHU t7, $0000(s0) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - // @001289B8 ANDI t5, t4, $000f - this.ee.t5.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @001289BC LW t6, $001c(s5) - MobUt.LW(this.ee, this.ee.t6, (28u + this.ee.s5.UL0)); - // @001289C0 SLL t5, t5, 2 - MobUt.SLL(this.ee.t5, this.ee.t5, 2); - // @001289C4 SLL t7, t7, 4 - MobUt.SLL(this.ee.t7, this.ee.t7, 4); - // @001289C8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001289CC ADDU t6, t6, t5 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - // @001289D0 SWC1 $f0, $0000(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @001289D4 ADDIU s2, s2, $0001 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); - // @001289D8 SLT t7, s2, s3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); - // @001289DC BNE t7, zero, $0012896c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214828u; - } - // @001289E0 ADDIU s0, s0, $0006 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); - } - - public virtual void funct001289d4() - { - this.ee.pc = 1214948u; - // @001289D4 ADDIU s2, s2, $0001 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); - // @001289D8 SLT t7, s2, s3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); - // @001289DC BNE t7, zero, $0012896c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214828u; - } - // @001289E0 ADDIU s0, s0, $0006 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); - } - - public virtual void funct001289e4() - { - this.ee.pc = 1214976u; - // @001289E4 LW t6, $0018(s1) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.s1.UL0)); - // @001289E8 DADDU s2, zero, zero - this.ee.s2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @001289EC LW t7, $0038(s1) - MobUt.LW(this.ee, this.ee.t7, (56u + this.ee.s1.UL0)); - // @001289F0 LW s3, $003c(s1) - MobUt.LW(this.ee, this.ee.s3, (60u + this.ee.s1.UL0)); - // @001289F4 ADDU s5, s1, t6 - this.ee.s5.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t6.SD0))); - // @001289F8 BLEZ s3, $00128a74 - if ((this.ee.s3.SD0 <= 0)) - { - this.ee.pc = 1215092u; - } - // @001289FC ADDU s0, s1, t7 - this.ee.s0.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct00128a00() - { - this.ee.pc = 1215000u; - // @00128A00 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @00128A04 LW a2, $0000(sp) - MobUt.LW(this.ee, this.ee.a2, (0u + this.ee.sp.UL0)); - // @00128A08 LW a3, $0004(sp) - MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.sp.UL0)); - // @00128A0C DADDU a0, s4, zero - this.ee.a0.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - // @00128A10 JAL $00128530 - this.ee.ra.UL0 = 1215000u; - this.ee.pc = 1213744u; - // @00128A14 DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128a18() - { - this.ee.pc = 1215024u; - // @00128A18 LBU t4, $0002(s0) - MobUt.LBU(this.ee, this.ee.t4, (2u + this.ee.s0.UL0)); - // @00128A1C ANDI t7, t4, $000f - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @00128A20 ANDI t7, t7, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); - // @00128A24 SLTIU t6, t7, $0009 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 9ul)); - // @00128A28 BEQ t6, zero, $00128a64 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215076u; - } - // @00128A2C LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - - public virtual void funct00128a30() - { - this.ee.pc = 1215048u; - // @00128A30 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00128A34 ADDIU t6, t6, $8268 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32152))); - // @00128A38 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128A3C LW t5, $0000(t7) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); - // @00128A40 JR t5 - this.ee.pc = this.ee.t5.UL[0]; - // @00128A44 NOP - MobUt.Latency(); - } - - public virtual void funct00128a48() - { - this.ee.pc = 1215092u; - // @00128A48 LHU t7, $0000(s0) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - // @00128A4C ANDI t6, t4, $000f - this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @00128A50 SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @00128A54 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @00128A58 ADDU t7, s5, t7 - this.ee.t7.SD0 = ((int)((this.ee.s5.SD0 + this.ee.t7.SD0))); - // @00128A5C ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128A60 SWC1 $f0, $0010(t7) - MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.t7.UL0)); - // @00128A64 ADDIU s2, s2, $0001 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); - // @00128A68 SLT t7, s2, s3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); - // @00128A6C BNE t7, zero, $00128a00 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214976u; - } - // @00128A70 ADDIU s0, s0, $0006 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); - } - - public virtual void funct00128a64() - { - this.ee.pc = 1215092u; - // @00128A64 ADDIU s2, s2, $0001 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); - // @00128A68 SLT t7, s2, s3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); - // @00128A6C BNE t7, zero, $00128a00 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1214976u; - } - // @00128A70 ADDIU s0, s0, $0006 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); - } - - public virtual void funct00128a74() - { - this.ee.pc = 1215132u; - // @00128A74 LD s0, $0010(sp) - MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - // @00128A78 LD s1, $0018(sp) - MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @00128A7C LD s2, $0020(sp) - MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @00128A80 LD s3, $0028(sp) - MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @00128A84 LD s4, $0030(sp) - MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @00128A88 LD s5, $0038(sp) - MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @00128A8C LD ra, $0040(sp) - MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); - // @00128A90 LWC1 $f20, $0048(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); - // @00128A94 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128A98 ADDIU sp, sp, $0050 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); - } - - public virtual void funct00128a9c() - { - this.ee.pc = 1215168u; - // @00128A9C LHU t7, $0000(s0) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - // @00128AA0 ANDI t6, t4, $000f - this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @00128AA4 ADDIU t6, t6, $fffd - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -3))); - // @00128AA8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @00128AAC SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @00128AB0 ADDU t7, s5, t7 - this.ee.t7.SD0 = ((int)((this.ee.s5.SD0 + this.ee.t7.SD0))); - // @00128AB4 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128AB8 BEQ zero, zero, $00128a64 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215076u; - } - // @00128ABC SWC1 $f0, $0020(t7) - MobUt.SWC1(this.ee, this.ee.fpr[0], (32u + this.ee.t7.UL0)); - } - - public virtual void funct00128ac0() - { - this.ee.pc = 1215204u; - // @00128AC0 LHU t7, $0000(s0) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - // @00128AC4 ANDI t6, t4, $000f - this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @00128AC8 ADDIU t6, t6, $fffa - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -6))); - // @00128ACC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @00128AD0 SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @00128AD4 ADDU t7, s5, t7 - this.ee.t7.SD0 = ((int)((this.ee.s5.SD0 + this.ee.t7.SD0))); - // @00128AD8 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128ADC BEQ zero, zero, $00128a64 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215076u; - } - // @00128AE0 SWC1 $f0, $0030(t7) - MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t7.UL0)); - } - - public virtual void funct00128ae4() - { - this.ee.pc = 1215244u; - // @00128AE4 ANDI t6, t4, $000f - this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @00128AE8 LHU t7, $0000(s0) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - // @00128AEC LW t5, $0020(s5) - MobUt.LW(this.ee, this.ee.t5, (32u + this.ee.s5.UL0)); - // @00128AF0 ADDIU t6, t6, $fffd - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -3))); - // @00128AF4 SLL t7, t7, 4 - MobUt.SLL(this.ee.t7, this.ee.t7, 4); - // @00128AF8 SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @00128AFC ADDU t5, t5, t7 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); - // @00128B00 ADDU t5, t5, t6 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @00128B04 BEQ zero, zero, $001289d4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214932u; - } - // @00128B08 SWC1 $f0, $0000(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - } - - public virtual void funct00128af4() - { - this.ee.pc = 1215244u; - // @00128AF4 SLL t7, t7, 4 - MobUt.SLL(this.ee.t7, this.ee.t7, 4); - // @00128AF8 SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @00128AFC ADDU t5, t5, t7 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); - // @00128B00 ADDU t5, t5, t6 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @00128B04 BEQ zero, zero, $001289d4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1214932u; - } - // @00128B08 SWC1 $f0, $0000(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - } - - public virtual void funct00128b0c() - { - this.ee.pc = 1215264u; - // @00128B0C ANDI t6, t4, $000f - this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); - // @00128B10 LHU t7, $0000(s0) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - // @00128B14 LW t5, $0024(s5) - MobUt.LW(this.ee, this.ee.t5, (36u + this.ee.s5.UL0)); - // @00128B18 BEQ zero, zero, $00128af4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215220u; - } - // @00128B1C ADDIU t6, t6, $fffa - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -6))); - } - - public virtual void funct00128b20() - { - this.ee.pc = 1215276u; - // @00128B20 ADDIU sp, sp, $ffe0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); - // @00128B24 BEQ a2, a0, $00128b34 - if ((this.ee.a2.UD0 == this.ee.a0.UD0)) - { - this.ee.pc = 1215284u; - } - // @00128B28 NOP - MobUt.Latency(); - } - - public virtual void funct00128b2c() - { - this.ee.pc = 1215376u; - // @00128B2C LQ t0, $0000(a0) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a0.UL[0])); - // @00128B30 SQ t0, $0000(a2) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); - // @00128B34 LQC2 vf1, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); - // @00128B38 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00128B3C VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00128B40 VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00128B44 VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00128B48 VWAITQ - MobUt.Latency(); - // @00128B4C CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00128B50 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00128B54 MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00128B58 VNOP - MobUt.Latency(); - // @00128B5C VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00128B60 VWAITQ - MobUt.Latency(); - // @00128B64 VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00128B68 SQC2 vf1, $0000(a2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); - // @00128B6C ADDIU t5, sp, $0010 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00128B70 LQC2 vf1, $0000(a0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a0.UL0)); - // @00128B74 LQC2 vf2, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a1.UL0)); - // @00128B78 VSUB.xyzw vf3, vf0, vf0 - this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @00128B7C VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @00128B80 VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @00128B84 SQC2 vf3, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t5.UL0)); - // @00128B88 BEQ sp, t5, $00128b9c - if ((this.ee.sp.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1215388u; - } - // @00128B8C ADDIU t7, a2, $0010 - this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 16))); - } - - public virtual void funct00128b90() - { - this.ee.pc = 1215420u; - // @00128B90 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00128B94 SQ t0, $0000(sp) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00128B98 ADDIU t7, a2, $0010 - this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 16))); - // @00128B9C LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00128BA0 LQC2 vf2, $0000(a0) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); - // @00128BA4 VSUB.xyzw vf3, vf0, vf0 - this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @00128BA8 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @00128BAC VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @00128BB0 SQC2 vf3, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t5.UL0)); - // @00128BB4 BEQ t7, t5, $00128bc4 - if ((this.ee.t7.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1215428u; - } - // @00128BB8 NOP - MobUt.Latency(); - } - - public virtual void funct00128bbc() - { - this.ee.pc = 1215520u; - // @00128BBC LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00128BC0 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00128BC4 LQC2 vf1, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); - // @00128BC8 VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00128BCC VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00128BD0 VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00128BD4 VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00128BD8 VWAITQ - MobUt.Latency(); - // @00128BDC CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00128BE0 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00128BE4 MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00128BE8 VNOP - MobUt.Latency(); - // @00128BEC VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00128BF0 VWAITQ - MobUt.Latency(); - // @00128BF4 VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00128BF8 SQC2 vf1, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); - // @00128BFC ADDIU t6, a2, $0020 - this.ee.t6.SD0 = ((int)((this.ee.a2.SD0 + 32))); - // @00128C00 LQC2 vf1, $0000(a0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a0.UL0)); - // @00128C04 LQC2 vf2, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t7.UL0)); - // @00128C08 VSUB.xyzw vf3, vf0, vf0 - this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @00128C0C VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @00128C10 VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @00128C14 SQC2 vf3, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t5.UL0)); - // @00128C18 BEQ t6, t5, $00128c28 - if ((this.ee.t6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1215528u; - } - // @00128C1C NOP - MobUt.Latency(); - } - - public virtual void funct00128c20() - { - this.ee.pc = 1215608u; - // @00128C20 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00128C24 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @00128C28 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00128C2C VMUL.xyz vf2, vf1, vf1 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); - // @00128C30 VADDy.x vf2, vf2, vf2y - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); - // @00128C34 VADDz.x vf2, vf2, vf2z - this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); - // @00128C38 VSQRT Q, vf2x - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); - // @00128C3C VWAITQ - MobUt.Latency(); - // @00128C40 CFC2 t0, $vi22 - MobUt.CFC2(this.ee.t0, this.ee.VI[22]); - // @00128C44 VADDq.x vf2, vf0, Q - this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); - // @00128C48 MTC1 t0, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00128C4C VNOP - MobUt.Latency(); - // @00128C50 VDIV Q, vf0w, vf2x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); - // @00128C54 VWAITQ - MobUt.Latency(); - // @00128C58 VMULq.xyz vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - // @00128C5C SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00128C60 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00128C64 SWC1 $f0, $000c(a2) - MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a2.UL0)); - // @00128C68 SWC1 $f0, $002c(a2) - MobUt.SWC1(this.ee, this.ee.fpr[0], (44u + this.ee.a2.UL0)); - // @00128C6C SWC1 $f0, $001c(a2) - MobUt.SWC1(this.ee, this.ee.fpr[0], (28u + this.ee.a2.UL0)); - // @00128C70 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128C74 ADDIU sp, sp, $0020 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct00128c78() - { - this.ee.pc = 1215628u; - // @00128C78 ADDIU sp, sp, $ffc0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -64))); - // @00128C7C DADDU t5, a2, zero - this.ee.t5.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @00128C80 DADDU t4, a3, zero - this.ee.t4.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @00128C84 BLTZ a3, $00128d9c - if ((this.ee.a3.SD0 < 0)) - { - this.ee.pc = 1215900u; - } - // @00128C88 DADDU t3, t0, zero - this.ee.t3.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128c8c() - { - this.ee.pc = 1215648u; - // @00128C8C LW t6, $0004(a0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); - // @00128C90 LHU a2, $0010(t6) - MobUt.LHU(this.ee, this.ee.a2, (16u + this.ee.t6.UL0)); - // @00128C94 SLT t7, t5, a2 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.a2.SD0)); - // @00128C98 BEQ t7, zero, $00128d8c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215884u; - } - // @00128C9C DADDU a3, sp, zero - this.ee.a3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128ca0() - { - this.ee.pc = 1215692u; - // @00128CA0 LW t6, $002c(a1) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.a1.UL0)); - // @00128CA4 SLL t7, t5, 6 - MobUt.SLL(this.ee.t7, this.ee.t5, 6); - // @00128CA8 ADDU a2, t6, t7 - this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00128CAC ADDIU t7, a2, $0030 - this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 48))); - // @00128CB0 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00128CB4 SQ t0, $0000(a3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); - // @00128CB8 LW t6, $0004(a0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); - // @00128CBC LHU a3, $0010(t6) - MobUt.LHU(this.ee, this.ee.a3, (16u + this.ee.t6.UL0)); - // @00128CC0 SLT t7, t4, a3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.a3.SD0)); - // @00128CC4 BEQ t7, zero, $00128d7c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215868u; - } - // @00128CC8 ADDIU t5, sp, $0010 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00128ca8() - { - this.ee.pc = 1215692u; - // @00128CA8 ADDU a2, t6, t7 - this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00128CAC ADDIU t7, a2, $0030 - this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 48))); - // @00128CB0 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00128CB4 SQ t0, $0000(a3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); - // @00128CB8 LW t6, $0004(a0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); - // @00128CBC LHU a3, $0010(t6) - MobUt.LHU(this.ee, this.ee.a3, (16u + this.ee.t6.UL0)); - // @00128CC0 SLT t7, t4, a3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.a3.SD0)); - // @00128CC4 BEQ t7, zero, $00128d7c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215868u; - } - // @00128CC8 ADDIU t5, sp, $0010 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00128ccc() - { - this.ee.pc = 1215780u; - // @00128CCC LW t6, $002c(a1) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.a1.UL0)); - // @00128CD0 SLL t7, t4, 6 - MobUt.SLL(this.ee.t7, this.ee.t4, 6); - // @00128CD4 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00128CD8 ADDIU t7, a0, $0030 - this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + 48))); - // @00128CDC LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00128CE0 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00128CE4 ADDIU t6, sp, $0030 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 48))); - // @00128CE8 LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00128CEC LQC2 vf2, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); - // @00128CF0 VADD.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); - // @00128CF4 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00128CF8 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00128CFC ADDIU t7, t7, $828c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32116))); - // @00128D00 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00128D04 ADDIU t7, sp, $0020 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 32))); - // @00128D08 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00128D0C MFC1 t0, $f0 - MobUt.MFC1(this.ee.t0, this.ee.fpr[0]); - // @00128D10 QMTC2 t0, vf2 - MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); - // @00128D14 VMULx.xyzw vf1, vf1, vf2x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); - // @00128D18 SQC2 vf1, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); - // @00128D1C BEQ t3, t7, $00128d2c - if ((this.ee.t3.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1215788u; - } - // @00128D20 NOP - MobUt.Latency(); - } - - public virtual void funct00128cd4() - { - this.ee.pc = 1215780u; - // @00128CD4 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00128CD8 ADDIU t7, a0, $0030 - this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + 48))); - // @00128CDC LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00128CE0 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @00128CE4 ADDIU t6, sp, $0030 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 48))); - // @00128CE8 LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00128CEC LQC2 vf2, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); - // @00128CF0 VADD.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); - // @00128CF4 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00128CF8 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00128CFC ADDIU t7, t7, $828c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32116))); - // @00128D00 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00128D04 ADDIU t7, sp, $0020 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 32))); - // @00128D08 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00128D0C MFC1 t0, $f0 - MobUt.MFC1(this.ee.t0, this.ee.fpr[0]); - // @00128D10 QMTC2 t0, vf2 - MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); - // @00128D14 VMULx.xyzw vf1, vf1, vf2x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); - // @00128D18 SQC2 vf1, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); - // @00128D1C BEQ t3, t7, $00128d2c - if ((this.ee.t3.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1215788u; - } - // @00128D20 NOP - MobUt.Latency(); - } - - public virtual void funct00128d24() - { - this.ee.pc = 1215796u; - // @00128D24 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00128D28 SQ t0, $0000(t3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @00128D2C BEQ t1, zero, $00128d74 - if ((this.ee.t1.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215860u; - } - // @00128D30 NOP - MobUt.Latency(); - } - - public virtual void funct00128d2c() - { - this.ee.pc = 1215796u; - // @00128D2C BEQ t1, zero, $00128d74 - if ((this.ee.t1.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215860u; - } - // @00128D30 NOP - MobUt.Latency(); - } - - public virtual void funct00128d34() - { - this.ee.pc = 1215804u; - // @00128D34 BEQ t2, zero, $00128d74 - if ((this.ee.t2.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215860u; - } - // @00128D38 NOP - MobUt.Latency(); - } - - public virtual void funct00128d3c() - { - this.ee.pc = 1215852u; - // @00128D3C LQC2 vf5, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @00128D40 LQC2 vf1, $0000(t1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t1.UL0)); - // @00128D44 LQC2 vf2, $0010(t1) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t1.UL0)); - // @00128D48 LQC2 vf3, $0020(t1) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t1.UL0)); - // @00128D4C LQC2 vf4, $0030(t1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t1.UL0)); - // @00128D50 VMULAx.xyzw ACC, vf1, vf5x - // @00128D54 VMADDAy.xyzw ACC, vf2, vf5y - // @00128D58 VMADDAz.xyzw ACC, vf3, vf5z - // @00128D5C VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @00128D60 SQC2 vf5, $0000(sp) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.sp.UL0)); - // @00128D64 BEQ t2, sp, $00128d74 - if ((this.ee.t2.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1215860u; - } - // @00128D68 NOP - MobUt.Latency(); - } - - public virtual void funct00128d6c() - { - this.ee.pc = 1215868u; - // @00128D6C LQ t0, $0000(sp) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00128D70 SQ t0, $0000(t2) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t2.UL[0])); - // @00128D74 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128D78 ADDIU sp, sp, $0040 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 64))); - } - - public virtual void funct00128d7c() - { - this.ee.pc = 1215884u; - // @00128D7C SUBU t7, t4, a3 - this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.a3.UD0))); - // @00128D80 LW t6, $0010(a0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.a0.UL0)); - // @00128D84 BEQ zero, zero, $00128cd4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215700u; - } - // @00128D88 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct00128d8c() - { - this.ee.pc = 1215900u; - // @00128D8C SUBU t7, t5, a2 - this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.a2.UD0))); - // @00128D90 LW t6, $0010(a0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.a0.UL0)); - // @00128D94 BEQ zero, zero, $00128ca8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215656u; - } - // @00128D98 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct00128d9c() - { - this.ee.pc = 1215920u; - // @00128D9C LW t7, $0004(a0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); - // @00128DA0 LHU a2, $0010(t7) - MobUt.LHU(this.ee, this.ee.a2, (16u + this.ee.t7.UL0)); - // @00128DA4 SLT t6, t5, a2 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.a2.SD0)); - // @00128DA8 BEQ t6, zero, $00128dd8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215960u; - } - // @00128DAC SUBU t7, t5, a2 - this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.a2.UD0))); - } - - public virtual void funct00128db0() - { - this.ee.pc = 1215944u; - // @00128DB0 LW t6, $002c(a1) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.a1.UL0)); - // @00128DB4 SLL t7, t5, 6 - MobUt.SLL(this.ee.t7, this.ee.t5, 6); - // @00128DB8 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00128DBC ADDIU a0, a0, $0030 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 48))); - // @00128DC0 BEQ t3, a0, $00128d2c - if ((this.ee.t3.UD0 == this.ee.a0.UD0)) - { - this.ee.pc = 1215788u; - } - // @00128DC4 NOP - MobUt.Latency(); - } - - public virtual void funct00128db8() - { - this.ee.pc = 1215944u; - // @00128DB8 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00128DBC ADDIU a0, a0, $0030 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 48))); - // @00128DC0 BEQ t3, a0, $00128d2c - if ((this.ee.t3.UD0 == this.ee.a0.UD0)) - { - this.ee.pc = 1215788u; - } - // @00128DC4 NOP - MobUt.Latency(); - } - - public virtual void funct00128dc8() - { - this.ee.pc = 1215960u; - // @00128DC8 LQ t0, $0000(a0) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a0.UL[0])); - // @00128DCC SQ t0, $0000(t3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @00128DD0 BEQ zero, zero, $00128d2c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215788u; - } - // @00128DD4 NOP - MobUt.Latency(); - } - - public virtual void funct00128dd8() - { - this.ee.pc = 1215972u; - // @00128DD8 LW t6, $0010(a0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.a0.UL0)); - // @00128DDC BEQ zero, zero, $00128db8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1215928u; - } - // @00128DE0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct00128de8() - { - this.ee.pc = 1216024u; - // @00128DE8 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @00128DEC DADDU t3, a3, zero - this.ee.t3.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @00128DF0 SD ra, $0000(sp) - MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @00128DF4 DADDU t5, t0, zero - this.ee.t5.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); - // @00128DF8 DADDU t4, t1, zero - this.ee.t4.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); - // @00128DFC ADDIU a3, zero, $ffff - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00128E00 LBU t6, $0000(a2) - MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); - // @00128E04 DADDU t0, t3, zero - this.ee.t0.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @00128E08 DADDU t1, t5, zero - this.ee.t1.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); - // @00128E0C ADDIU t7, zero, $0005 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 5))); - // @00128E10 BNE t6, t7, $00128e2c - if ((this.ee.t6.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1216044u; - } - // @00128E14 DADDU t2, t4, zero - this.ee.t2.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128e20() - { - this.ee.pc = 1216044u; - // @00128E20 LD ra, $0000(sp) - MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @00128E24 J $00128c78 - this.ee.pc = 1215608u; - // @00128E28 ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00128e2c() - { - this.ee.pc = 1216060u; - // @00128E2C LHU a2, $0004(a2) - MobUt.LHU(this.ee, this.ee.a2, (4u + this.ee.a2.UL0)); - // @00128E30 DADDU t0, t3, zero - this.ee.t0.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @00128E34 BEQ zero, zero, $00128e20 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216032u; - } - // @00128E38 DADDU t1, t5, zero - this.ee.t1.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128e40() - { - this.ee.pc = 1216136u; - // @00128E40 ADDIU sp, sp, $ff90 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -112))); - // @00128E44 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00128E48 SD s2, $0030(sp) - MobUt.SD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); - // @00128E4C ANDI a2, a2, $ffff - this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @00128E50 SD s4, $0040(sp) - MobUt.SD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); - // @00128E54 SD s0, $0020(sp) - MobUt.SD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - // @00128E58 DADDU s2, a0, zero - this.ee.s2.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @00128E5C SD s1, $0028(sp) - MobUt.SD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); - // @00128E60 SD s3, $0038(sp) - MobUt.SD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); - // @00128E64 SD s5, $0048(sp) - MobUt.SD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); - // @00128E68 SD s6, $0050(sp) - MobUt.SD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); - // @00128E6C SD ra, $0058(sp) - MobUt.SD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); - // @00128E70 SWC1 $f20, $0060(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (96u + this.ee.sp.UL0)); - // @00128E74 LW s0, $0004(a0) - MobUt.LW(this.ee, this.ee.s0, (4u + this.ee.a0.UL0)); - // @00128E78 LW t4, $006c(s0) - MobUt.LW(this.ee, this.ee.t4, (108u + this.ee.s0.UL0)); - // @00128E7C SLTU t7, a2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.UD0 < this.ee.t4.UD0)); - // @00128E80 BEQ t7, zero, $00128ee8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00128E84 DADDU s4, a1, zero - this.ee.s4.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00128e88() - { - this.ee.pc = 1216176u; - // @00128E88 ADDIU t7, zero, $000c - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 12))); - // @00128E8C LW t6, $0068(s0) - MobUt.LW(this.ee, this.ee.t6, (104u + this.ee.s0.UL0)); - // @00128E90 MULT t7, a2, t7 - this.ee.t7.SD0 = (((long)(this.ee.a2.SL0)) * ((long)(this.ee.t7.SL0))); - // @00128E94 ADDU s1, s0, t6 - this.ee.s1.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t6.SD0))); - // @00128E98 ADDU s3, s1, t7 - this.ee.s3.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t7.SD0))); - // @00128E9C LBU t3, $0000(s3) - MobUt.LBU(this.ee, this.ee.t3, (0u + this.ee.s3.UL0)); - // @00128EA0 ANDI t6, t3, $00ff - this.ee.t6.UD0 = ((ushort)((this.ee.t3.US0 & 255))); - // @00128EA4 SLTIU t7, t6, $002c - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 44ul)); - // @00128EA8 BEQ t7, zero, $00128ee8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00128EAC SLL t7, t6, 2 - MobUt.SLL(this.ee.t7, this.ee.t6, 2); - } - - public virtual void funct00128eb0() - { - this.ee.pc = 1216200u; - // @00128EB0 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00128EB4 ADDIU t6, t6, $82a0 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32096))); - // @00128EB8 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00128EBC LW t5, $0000(t7) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); - // @00128EC0 JR t5 - this.ee.pc = this.ee.t5.UL[0]; - // @00128EC4 NOP - MobUt.Latency(); - } - - public virtual void funct00128ee8() - { - this.ee.pc = 1216276u; - // @00128EE8 LD s0, $0020(sp) - MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - // @00128EEC LD s1, $0028(sp) - MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); - // @00128EF0 LD s2, $0030(sp) - MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); - // @00128EF4 LD s3, $0038(sp) - MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); - // @00128EF8 LD s4, $0040(sp) - MobUt.LD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); - // @00128EFC LD s5, $0048(sp) - MobUt.LD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); - // @00128F00 LD s6, $0050(sp) - MobUt.LD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); - // @00128F04 LD ra, $0058(sp) - MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); - // @00128F08 LWC1 $f20, $0060(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (96u + this.ee.sp.UL0)); - // @00128F0C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128F10 ADDIU sp, sp, $0070 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); - } - - public virtual void funct00128eec() - { - this.ee.pc = 1216276u; - // @00128EEC LD s1, $0028(sp) - MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); - // @00128EF0 LD s2, $0030(sp) - MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); - // @00128EF4 LD s3, $0038(sp) - MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); - // @00128EF8 LD s4, $0040(sp) - MobUt.LD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); - // @00128EFC LD s5, $0048(sp) - MobUt.LD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); - // @00128F00 LD s6, $0050(sp) - MobUt.LD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); - // @00128F04 LD ra, $0058(sp) - MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); - // @00128F08 LWC1 $f20, $0060(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (96u + this.ee.sp.UL0)); - // @00128F0C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00128F10 ADDIU sp, sp, $0070 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); - } - - public virtual void funct00128f64() - { - this.ee.pc = 1216364u; - // @00128F64 JAL $00128e40 - this.ee.ra.UL0 = 1216364u; - this.ee.pc = 1216064u; - // @00128F68 LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct00128f6c() - { - this.ee.pc = 1216372u; - // @00128F6C JAL $002ff8a8 - this.ee.ra.UL0 = 1216372u; - this.ee.pc = 3143848u; - // @00128F70 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - } - - public virtual void funct00128f74() - { - this.ee.pc = 1216392u; - // @00128F74 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00128F78 ADDIU t7, t7, $8294 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32108))); - // @00128F7C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00128F80 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00128F84 MUL.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct00128f80() - { - this.ee.pc = 1216392u; - // @00128F80 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00128F84 MUL.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012904c() - { - this.ee.pc = 1216596u; - // @0012904C JAL $00128e40 - this.ee.ra.UL0 = 1216596u; - this.ee.pc = 1216064u; - // @00129050 LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct00129054() - { - this.ee.pc = 1216616u; - // @00129054 MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @00129058 LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @0012905C DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00129060 JAL $00128e40 - this.ee.ra.UL0 = 1216616u; - this.ee.pc = 1216064u; - // @00129064 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129068() - { - this.ee.pc = 1216636u; - // @00129068 MOV.S $f1, $f0 - this.ee.fpr[1].f = this.ee.fpr[0].f; - // @0012906C MOV.S $f0, $f20 - this.ee.fpr[0].f = this.ee.fpr[20].f; - // @00129070 C.LT.S $f20, $f1 - this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[1].f); - // @00129074 BC1T $00128eec - if (this.ee.fcr31_23) - { - this.ee.pc = 1216236u; - } - // @00129078 LD s0, $0020(sp) - MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - } - - public virtual void funct00129074() - { - this.ee.pc = 1216636u; - // @00129074 BC1T $00128eec - if (this.ee.fcr31_23) - { - this.ee.pc = 1216236u; - } - // @00129078 LD s0, $0020(sp) - MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - } - - public virtual void funct0012907c() - { - this.ee.pc = 1216644u; - // @0012907C BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00129080 MOV.S $f0, $f1 - this.ee.fpr[0].f = this.ee.fpr[1].f; - } - - public virtual void funct00129084() - { - this.ee.pc = 1216652u; - // @00129084 JAL $00128e40 - this.ee.ra.UL0 = 1216652u; - this.ee.pc = 1216064u; - // @00129088 LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct0012908c() - { - this.ee.pc = 1216672u; - // @0012908C MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @00129090 LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @00129094 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00129098 JAL $00128e40 - this.ee.ra.UL0 = 1216672u; - this.ee.pc = 1216064u; - // @0012909C DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001290a0() - { - this.ee.pc = 1216688u; - // @001290A0 MOV.S $f1, $f0 - this.ee.fpr[1].f = this.ee.fpr[0].f; - // @001290A4 MOV.S $f0, $f20 - this.ee.fpr[0].f = this.ee.fpr[20].f; - // @001290A8 BEQ zero, zero, $00129074 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216628u; - } - // @001290AC C.LT.S $f1, $f20 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[20].f); - } - - public virtual void funct00129118() - { - this.ee.pc = 1216812u; - // @00129118 NOP - MobUt.Latency(); - // @0012911C NOP - MobUt.Latency(); - // @00129120 DIV.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f / this.ee.fpr[0].f); - // @00129124 BEQ zero, zero, $00128eec - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216236u; - } - // @00129128 LD s0, $0020(sp) - MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - } - - public virtual void funct0012912c() - { - this.ee.pc = 1216836u; - // @0012912C LHU t7, $0008(s3) - MobUt.LHU(this.ee, this.ee.t7, (8u + this.ee.s3.UL0)); - // @00129130 ADDIU s0, zero, $000c - this.ee.s0.SD0 = ((int)((this.ee.r0.SD0 + 12))); - // @00129134 MULT t7, t7, s0 - this.ee.t7.SD0 = (((long)(this.ee.t7.SL0)) * ((long)(this.ee.s0.SL0))); - // @00129138 ADDU t7, t7, s1 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s1.SD0))); - // @0012913C JAL $00128e40 - this.ee.ra.UL0 = 1216836u; - this.ee.pc = 1216064u; - // @00129140 LHU a2, $0008(t7) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.t7.UL0)); - } - - public virtual void funct00129144() - { - this.ee.pc = 1216852u; - // @00129144 MTC1 zero, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @00129148 C.EQ.S $f0, $f1 - this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[1].f); - // @0012914C BC1T $00129184 - if (this.ee.fcr31_23) - { - this.ee.pc = 1216900u; - } - // @00129150 LHU t6, $0008(s3) - MobUt.LHU(this.ee, this.ee.t6, (8u + this.ee.s3.UL0)); - } - - public virtual void funct00129154() - { - this.ee.pc = 1216892u; - // @00129154 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00129158 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - // @0012915C MULT t6, t6, s0 - this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.s0.SL0))); - // @00129160 ADDU t6, t6, s1 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s1.SD0))); - // @00129164 LHU t7, $000a(t6) - MobUt.LHU(this.ee, this.ee.t7, (10u + this.ee.t6.UL0)); - // @00129168 MULT t7, t7, s0 - this.ee.t7.SD0 = (((long)(this.ee.t7.SL0)) * ((long)(this.ee.s0.SL0))); - // @0012916C ADDU t7, t7, s1 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s1.SD0))); - // @00129170 LHU a2, $0008(t7) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.t7.UL0)); - // @00129174 JAL $00128e40 - this.ee.ra.UL0 = 1216892u; - this.ee.pc = 1216064u; - // @00129178 NOP - MobUt.Latency(); - } - - public virtual void funct00129174() - { - this.ee.pc = 1216892u; - // @00129174 JAL $00128e40 - this.ee.ra.UL0 = 1216892u; - this.ee.pc = 1216064u; - // @00129178 NOP - MobUt.Latency(); - } - - public virtual void funct0012917c() - { - this.ee.pc = 1216900u; - // @0012917C BEQ zero, zero, $00128eec - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216236u; - } - // @00129180 LD s0, $0020(sp) - MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - } - - public virtual void funct00129184() - { - this.ee.pc = 1216948u; - // @00129184 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00129188 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - // @0012918C MULT t6, t6, s0 - this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.s0.SL0))); - // @00129190 ADDU t6, t6, s1 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s1.SD0))); - // @00129194 LHU t7, $000a(t6) - MobUt.LHU(this.ee, this.ee.t7, (10u + this.ee.t6.UL0)); - // @00129198 MULT t7, t7, s0 - this.ee.t7.SD0 = (((long)(this.ee.t7.SL0)) * ((long)(this.ee.s0.SL0))); - // @0012919C ADDU t7, t7, s1 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s1.SD0))); - // @001291A0 LHU t6, $000a(t7) - MobUt.LHU(this.ee, this.ee.t6, (10u + this.ee.t7.UL0)); - // @001291A4 MULT t6, t6, s0 - this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.s0.SL0))); - // @001291A8 ADDU t6, t6, s1 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s1.SD0))); - // @001291AC BEQ zero, zero, $00129174 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216884u; - } - // @001291B0 LHU a2, $0008(t6) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.t6.UL0)); - } - - public virtual void funct0012927c() - { - this.ee.pc = 1217156u; - // @0012927C JAL $00128e40 - this.ee.ra.UL0 = 1217156u; - this.ee.pc = 1216064u; - // @00129280 LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct00129284() - { - this.ee.pc = 1217176u; - // @00129284 MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @00129288 LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @0012928C DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00129290 JAL $00128e40 - this.ee.ra.UL0 = 1217176u; - this.ee.pc = 1216064u; - // @00129294 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129298() - { - this.ee.pc = 1217184u; - // @00129298 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @0012929C ADD.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f + this.ee.fpr[0].f); - } - - public virtual void funct001292a0() - { - this.ee.pc = 1217192u; - // @001292A0 JAL $00128e40 - this.ee.ra.UL0 = 1217192u; - this.ee.pc = 1216064u; - // @001292A4 LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct001292a8() - { - this.ee.pc = 1217212u; - // @001292A8 MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @001292AC LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @001292B0 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @001292B4 JAL $00128e40 - this.ee.ra.UL0 = 1217212u; - this.ee.pc = 1216064u; - // @001292B8 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001292bc() - { - this.ee.pc = 1217220u; - // @001292BC BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @001292C0 SUB.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f - this.ee.fpr[0].f); - } - - public virtual void funct001292c4() - { - this.ee.pc = 1217228u; - // @001292C4 JAL $00128e40 - this.ee.ra.UL0 = 1217228u; - this.ee.pc = 1216064u; - // @001292C8 LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct001292cc() - { - this.ee.pc = 1217248u; - // @001292CC MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @001292D0 LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @001292D4 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @001292D8 JAL $00128e40 - this.ee.ra.UL0 = 1217248u; - this.ee.pc = 1216064u; - // @001292DC DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001292e0() - { - this.ee.pc = 1217256u; - // @001292E0 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @001292E4 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - } - - public virtual void funct001292e8() - { - this.ee.pc = 1217264u; - // @001292E8 JAL $00128e40 - this.ee.ra.UL0 = 1217264u; - this.ee.pc = 1216064u; - // @001292EC LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct001292f0() - { - this.ee.pc = 1217284u; - // @001292F0 MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @001292F4 LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @001292F8 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @001292FC JAL $00128e40 - this.ee.ra.UL0 = 1217284u; - this.ee.pc = 1216064u; - // @00129300 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129304() - { - this.ee.pc = 1217292u; - // @00129304 BEQ zero, zero, $00129118 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216792u; - } - // @00129308 NOP - MobUt.Latency(); - } - - public virtual void funct00129370() - { - this.ee.pc = 1217408u; - // @00129370 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00129374 ADDIU t7, t7, $829c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32100))); - // @00129378 BC1T $00128ee8 - if (this.ee.fcr31_23) - { - this.ee.pc = 1216232u; - } - // @0012937C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - } - - public virtual void funct00129380() - { - this.ee.pc = 1217416u; - // @00129380 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00129384 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - - public virtual void funct00129388() - { - this.ee.pc = 1217424u; - // @00129388 JAL $00128e40 - this.ee.ra.UL0 = 1217424u; - this.ee.pc = 1216064u; - // @0012938C LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct00129390() - { - this.ee.pc = 1217444u; - // @00129390 MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @00129394 LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @00129398 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @0012939C JAL $00128e40 - this.ee.ra.UL0 = 1217444u; - this.ee.pc = 1216064u; - // @001293A0 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001293a4() - { - this.ee.pc = 1217452u; - // @001293A4 BEQ zero, zero, $00129370 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217392u; - } - // @001293A8 C.LT.S $f0, $f20 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[20].f); - } - - public virtual void funct001293d0() - { - this.ee.pc = 1217496u; - // @001293D0 JAL $00128e40 - this.ee.ra.UL0 = 1217496u; - this.ee.pc = 1216064u; - // @001293D4 LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct001293d8() - { - this.ee.pc = 1217516u; - // @001293D8 MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - // @001293DC LHU a2, $000a(s3) - MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); - // @001293E0 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @001293E4 JAL $00128e40 - this.ee.ra.UL0 = 1217516u; - this.ee.pc = 1216064u; - // @001293E8 DADDU a1, s4, zero - this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001293ec() - { - this.ee.pc = 1217524u; - // @001293EC BEQ zero, zero, $00129370 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217392u; - } - // @001293F0 C.LT.S $f20, $f0 - this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[0].f); - } - - public virtual void funct0012949c() - { - this.ee.pc = 1217704u; - // @0012949C LUI t7, $0035 - this.ee.t7.SD0 = 3473408; - // @001294A0 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @001294A4 LWC1 $f0, $44e0(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (17632u + this.ee.t7.UL0)); - } - - public virtual void funct001294a8() - { - this.ee.pc = 1217712u; - // @001294A8 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @001294AC LWC1 $f0, $0004(s3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.s3.UL0)); - } - - public virtual void funct001294b0() - { - this.ee.pc = 1217728u; - // @001294B0 LW t7, $0000(s3) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.s3.UL0)); - // @001294B4 ANDI t7, t7, $0100 - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 256))); - // @001294B8 BEQ t7, zero, $00129504 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217796u; - } - // @001294BC LHU a2, $0002(s3) - MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.s3.UL0)); - } - - public virtual void funct001294d4() - { - this.ee.pc = 1217784u; - // @001294D4 SLL t7, a2, 6 - MobUt.SLL(this.ee.t7, this.ee.a2, 6); - // @001294D8 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001294DC SLL t7, t3, 24 - MobUt.SLL(this.ee.t7, this.ee.t3, 24); - // @001294E0 SRA t7, t7, 24 - MobUt.SRA(this.ee.t7, this.ee.t7, 24); - // @001294E4 ADDIU t7, t7, $ffe0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32))); - // @001294E8 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @001294EC ADDU t7, a0, t7 - this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + this.ee.t7.SD0))); - // @001294F0 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @001294F4 LWC1 $f0, $0030(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t7.UL0)); - } - - public virtual void funct001294d8() - { - this.ee.pc = 1217784u; - // @001294D8 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001294DC SLL t7, t3, 24 - MobUt.SLL(this.ee.t7, this.ee.t3, 24); - // @001294E0 SRA t7, t7, 24 - MobUt.SRA(this.ee.t7, this.ee.t7, 24); - // @001294E4 ADDIU t7, t7, $ffe0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32))); - // @001294E8 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @001294EC ADDU t7, a0, t7 - this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + this.ee.t7.SD0))); - // @001294F0 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @001294F4 LWC1 $f0, $0030(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t7.UL0)); - } - - public virtual void funct001294f8() - { - this.ee.pc = 1217796u; - // @001294F8 SUBU t7, a2, t5 - this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); - // @001294FC BEQ zero, zero, $001294d8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217752u; - } - // @00129500 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct00129504() - { - this.ee.pc = 1217812u; - // @00129504 LHU t5, $0010(s0) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.s0.UL0)); - // @00129508 SLT t7, a2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); - // @0012950C BEQL t7, zero, $001294f8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217784u; - // @00129510 LW t6, $000c(a0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.a0.UL0)); - } - } - - public virtual void funct00129514() - { - this.ee.pc = 1217820u; - // @00129514 BEQ zero, zero, $001294d4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217748u; - } - // @00129518 LW t6, $0028(a1) - MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.a1.UL0)); - } - - public virtual void funct0012951c() - { - this.ee.pc = 1217836u; - // @0012951C LW t7, $0000(s3) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.s3.UL0)); - // @00129520 ANDI t7, t7, $0100 - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 256))); - // @00129524 BEQL t7, zero, $001295ac - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217964u; - // @00129528 LHU a2, $0002(s3) - MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.s3.UL0)); - } - } - - public virtual void funct00129580() - { - this.ee.pc = 1217936u; - // @00129580 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00129584 ADDIU t7, t7, $8294 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32108))); - // @00129588 BEQ zero, zero, $00128f80 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216384u; - } - // @0012958C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - } - - public virtual void funct001295ac() - { - this.ee.pc = 1217980u; - // @001295AC LHU t5, $0010(s0) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.s0.UL0)); - // @001295B0 SLT t7, a2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); - // @001295B4 BEQ t7, zero, $001295e0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1218016u; - } - // @001295B8 SLL t7, a2, 4 - MobUt.SLL(this.ee.t7, this.ee.a2, 4); - } - - public virtual void funct001295bc() - { - this.ee.pc = 1218016u; - // @001295BC LW t6, $0020(a1) - MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.a1.UL0)); - // @001295C0 ADDU a1, t6, t7 - this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001295C4 SLL t7, t3, 24 - MobUt.SLL(this.ee.t7, this.ee.t3, 24); - // @001295C8 SRA t7, t7, 24 - MobUt.SRA(this.ee.t7, this.ee.t7, 24); - // @001295CC ADDIU t7, t7, $ffdd - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -35))); - // @001295D0 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @001295D4 ADDU t7, a1, t7 - this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); - // @001295D8 BEQ zero, zero, $00129580 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217920u; - } - // @001295DC LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - } - - public virtual void funct001295c4() - { - this.ee.pc = 1218016u; - // @001295C4 SLL t7, t3, 24 - MobUt.SLL(this.ee.t7, this.ee.t3, 24); - // @001295C8 SRA t7, t7, 24 - MobUt.SRA(this.ee.t7, this.ee.t7, 24); - // @001295CC ADDIU t7, t7, $ffdd - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -35))); - // @001295D0 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @001295D4 ADDU t7, a1, t7 - this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); - // @001295D8 BEQ zero, zero, $00129580 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217920u; - } - // @001295DC LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - } - - public virtual void funct001295e0() - { - this.ee.pc = 1218044u; - // @001295E0 LW t6, $0018(s0) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.s0.UL0)); - // @001295E4 SUBU t7, a2, t5 - this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); - // @001295E8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @001295EC ADDU t6, s0, t6 - this.ee.t6.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t6.SD0))); - // @001295F0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001295F4 BEQ zero, zero, $001295c4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1217988u; - } - // @001295F8 ADDIU a1, t6, $0020 - this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct001295fc() - { - this.ee.pc = 1218060u; - // @001295FC LW t7, $0000(s3) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.s3.UL0)); - // @00129600 ANDI t7, t7, $0100 - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 256))); - // @00129604 BEQ t7, zero, $00129634 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1218100u; - } - // @00129608 SLL t6, t3, 24 - MobUt.SLL(this.ee.t6, this.ee.t3, 24); - } - - public virtual void funct00129634() - { - this.ee.pc = 1218120u; - // @00129634 LHU a2, $0002(s3) - MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.s3.UL0)); - // @00129638 LHU t5, $0010(s0) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.s0.UL0)); - // @0012963C SLT t7, a2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); - // @00129640 BEQ t7, zero, $0012966c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1218156u; - } - // @00129644 SLL t7, a2, 4 - MobUt.SLL(this.ee.t7, this.ee.a2, 4); - } - - public virtual void funct00129648() - { - this.ee.pc = 1218156u; - // @00129648 LW t6, $001c(a1) - MobUt.LW(this.ee, this.ee.t6, (28u + this.ee.a1.UL0)); - // @0012964C ADDU a1, t6, t7 - this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00129650 SLL t7, t3, 24 - MobUt.SLL(this.ee.t7, this.ee.t3, 24); - // @00129654 SRA t7, t7, 24 - MobUt.SRA(this.ee.t7, this.ee.t7, 24); - // @00129658 ADDIU t7, t7, $ffda - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -38))); - // @0012965C SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00129660 ADDU t7, a1, t7 - this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); - // @00129664 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00129668 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - } - - public virtual void funct00129650() - { - this.ee.pc = 1218156u; - // @00129650 SLL t7, t3, 24 - MobUt.SLL(this.ee.t7, this.ee.t3, 24); - // @00129654 SRA t7, t7, 24 - MobUt.SRA(this.ee.t7, this.ee.t7, 24); - // @00129658 ADDIU t7, t7, $ffda - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -38))); - // @0012965C SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00129660 ADDU t7, a1, t7 - this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); - // @00129664 BEQ zero, zero, $00128ee8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216232u; - } - // @00129668 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - } - - public virtual void funct0012966c() - { - this.ee.pc = 1218184u; - // @0012966C LW t6, $0018(s0) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.s0.UL0)); - // @00129670 SUBU t7, a2, t5 - this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); - // @00129674 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @00129678 ADDU t6, s0, t6 - this.ee.t6.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t6.SD0))); - // @0012967C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00129680 BEQ zero, zero, $00129650 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1218128u; - } - // @00129684 ADDIU a1, t6, $0010 - this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct00129688() - { - this.ee.pc = 1218192u; - // @00129688 JAL $00128e40 - this.ee.ra.UL0 = 1218192u; - this.ee.pc = 1216064u; - // @0012968C LHU a2, $0008(s3) - MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); - } - - public virtual void funct00129690() - { - this.ee.pc = 1218244u; - // @00129690 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00129694 LWC1 $f2, $0098(s0) - MobUt.LWC1(this.ee, this.ee.fpr[2], (152u + this.ee.s0.UL0)); - // @00129698 ADDIU t7, t7, $8298 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32104))); - // @0012969C DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @001296A0 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @001296A4 ADDIU a1, sp, $0010 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @001296A8 ADDIU a2, sp, $0014 - this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 20))); - // @001296AC MUL.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); - // @001296B0 NOP - MobUt.Latency(); - // @001296B4 NOP - MobUt.Latency(); - // @001296B8 DIV.S $f20, $f0, $f2 - this.ee.fpr[20].f = (this.ee.fpr[0].f / this.ee.fpr[2].f); - // @001296BC JAL $001283d8 - this.ee.ra.UL0 = 1218244u; - this.ee.pc = 1213400u; - // @001296C0 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - } - - public virtual void funct001296c4() - { - this.ee.pc = 1218264u; - // @001296C4 LHU t5, $000a(s3) - MobUt.LHU(this.ee, this.ee.t5, (10u + this.ee.s3.UL0)); - // @001296C8 LW t6, $0034(s0) - MobUt.LW(this.ee, this.ee.t6, (52u + this.ee.s0.UL0)); - // @001296CC SLTU t7, t5, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.UD0 < this.ee.t6.UD0)); - // @001296D0 BNEL t7, zero, $00129728 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1218344u; - // @001296D4 ADDIU t6, zero, $0006 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 6))); - } - } - - public virtual void funct001296d8() - { - this.ee.pc = 1218308u; - // @001296D8 SUBU t5, t5, t6 - this.ee.t5.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); - // @001296DC LW t7, $0038(s0) - MobUt.LW(this.ee, this.ee.t7, (56u + this.ee.s0.UL0)); - // @001296E0 ADDIU t6, zero, $0006 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 6))); - // @001296E4 MULT t5, t5, t6 - this.ee.t5.SD0 = (((long)(this.ee.t5.SL0)) * ((long)(this.ee.t6.SL0))); - // @001296E8 ADDU t7, s0, t7 - this.ee.t7.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); - // @001296EC ADDU a1, t7, t5 - this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @001296F0 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @001296F4 LW a2, $0010(sp) - MobUt.LW(this.ee, this.ee.a2, (16u + this.ee.sp.UL0)); - // @001296F8 LW a3, $0014(sp) - MobUt.LW(this.ee, this.ee.a3, (20u + this.ee.sp.UL0)); - // @001296FC JAL $00128530 - this.ee.ra.UL0 = 1218308u; - this.ee.pc = 1213744u; - // @00129700 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129704() - { - this.ee.pc = 1218324u; - // @00129704 LB t6, $0000(s3) - MobUt.LB(this.ee, this.ee.t6, (0u + this.ee.s3.UL0)); - // @00129708 ADDIU t7, zero, $002b - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 43))); - // @0012970C BNE t6, t7, $0012907c - if ((this.ee.t6.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1216636u; - } - // @00129710 MOV.S $f1, $f0 - this.ee.fpr[1].f = this.ee.fpr[0].f; - } - - public virtual void funct00129714() - { - this.ee.pc = 1218344u; - // @00129714 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00129718 ADDIU t7, t7, $8294 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32108))); - // @0012971C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00129720 BEQ zero, zero, $0012907c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1216636u; - } - // @00129724 MUL.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct00129a18() - { - this.ee.pc = 1219268u; - // @00129A18 ADDIU sp, sp, $fd00 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -768))); - // @00129A1C ADDIU t7, zero, $000c - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 12))); - // @00129A20 SD s0, $02a0(sp) - MobUt.SD(this.ee, this.ee.s0, (672u + this.ee.sp.UL0)); - // @00129A24 SD s1, $02a8(sp) - MobUt.SD(this.ee, this.ee.s1, (680u + this.ee.sp.UL0)); - // @00129A28 SD s5, $02c8(sp) - MobUt.SD(this.ee, this.ee.s5, (712u + this.ee.sp.UL0)); - // @00129A2C DADDU s0, a0, zero - this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @00129A30 SD s6, $02d0(sp) - MobUt.SD(this.ee, this.ee.s6, (720u + this.ee.sp.UL0)); - // @00129A34 SD s2, $02b0(sp) - MobUt.SD(this.ee, this.ee.s2, (688u + this.ee.sp.UL0)); - // @00129A38 DADDU s5, a1, zero - this.ee.s5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00129A3C SD s3, $02b8(sp) - MobUt.SD(this.ee, this.ee.s3, (696u + this.ee.sp.UL0)); - // @00129A40 SD s4, $02c0(sp) - MobUt.SD(this.ee, this.ee.s4, (704u + this.ee.sp.UL0)); - // @00129A44 SD s7, $02d8(sp) - MobUt.SD(this.ee, this.ee.s7, (728u + this.ee.sp.UL0)); - // @00129A48 SD s8, $02e0(sp) - MobUt.SD(this.ee, this.ee.s8, (736u + this.ee.sp.UL0)); - // @00129A4C SD ra, $02e8(sp) - MobUt.SD(this.ee, this.ee.ra, (744u + this.ee.sp.UL0)); - // @00129A50 SWC1 $f20, $02f0(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (752u + this.ee.sp.UL0)); - // @00129A54 LW t3, $0004(a0) - MobUt.LW(this.ee, this.ee.t3, (4u + this.ee.a0.UL0)); - // @00129A58 SW a2, $01f0(sp) - MobUt.SW(this.ee, this.ee.a2, (496u + this.ee.sp.UL0)); - // @00129A5C DADDU a0, sp, zero - this.ee.a0.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @00129A60 SW t3, $01fc(sp) - MobUt.SW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); - // @00129A64 SW a3, $01f4(sp) - MobUt.SW(this.ee, this.ee.a3, (500u + this.ee.sp.UL0)); - // @00129A68 LW t4, $01fc(sp) - MobUt.LW(this.ee, this.ee.t4, (508u + this.ee.sp.UL0)); - // @00129A6C LW t6, $0054(t3) - MobUt.LW(this.ee, this.ee.t6, (84u + this.ee.t3.UL0)); - // @00129A70 SW t0, $01f8(sp) - MobUt.SW(this.ee, this.ee.t0, (504u + this.ee.sp.UL0)); - // @00129A74 MULT t6, t6, t7 - this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.t7.SL0))); - // @00129A78 LW t3, $0050(t3) - MobUt.LW(this.ee, this.ee.t3, (80u + this.ee.t3.UL0)); - // @00129A7C LW t5, $0060(t4) - MobUt.LW(this.ee, this.ee.t5, (96u + this.ee.t4.UL0)); - // @00129A80 ADDU s1, t4, t3 - this.ee.s1.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t3.SD0))); - // @00129A84 LW t7, $0064(t4) - MobUt.LW(this.ee, this.ee.t7, (100u + this.ee.t4.UL0)); - // @00129A88 LW t3, $01fc(sp) - MobUt.LW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); - // @00129A8C ADDU t6, s1, t6 - this.ee.t6.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t6.SD0))); - // @00129A90 LW t4, $001c(t4) - MobUt.LW(this.ee, this.ee.t4, (28u + this.ee.t4.UL0)); - // @00129A94 SLL t7, t7, 3 - MobUt.SLL(this.ee.t7, this.ee.t7, 3); - // @00129A98 ADDU s6, t3, t5 - this.ee.s6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t5.SD0))); - // @00129A9C LW t3, $00a0(t3) - MobUt.LW(this.ee, this.ee.t3, (160u + this.ee.t3.UL0)); - // @00129AA0 ADDU t7, s6, t7 - this.ee.t7.SD0 = ((int)((this.ee.s6.SD0 + this.ee.t7.SD0))); - // @00129AA4 LW t5, $01fc(sp) - MobUt.LW(this.ee, this.ee.t5, (508u + this.ee.sp.UL0)); - // @00129AA8 SW t6, $0204(sp) - MobUt.SW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); - // @00129AAC ADDU t4, t5, t4 - this.ee.t4.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t4.SD0))); - // @00129AB0 SW t7, $0208(sp) - MobUt.SW(this.ee, this.ee.t7, (520u + this.ee.sp.UL0)); - // @00129AB4 ADDU t3, t5, t3 - this.ee.t3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t3.SD0))); - // @00129AB8 SW t4, $0200(sp) - MobUt.SW(this.ee, this.ee.t4, (512u + this.ee.sp.UL0)); - // @00129ABC JAL $0011b420 - this.ee.ra.UL0 = 1219268u; - this.ee.pc = 1160224u; - // @00129AC0 SW t3, $020c(sp) - MobUt.SW(this.ee, this.ee.t3, (524u + this.ee.sp.UL0)); - } - - public virtual void funct00129ac4() - { - this.ee.pc = 1219288u; - // @00129AC4 SW zero, $0210(sp) - MobUt.SW(this.ee, this.ee.r0, (528u + this.ee.sp.UL0)); - // @00129AC8 LW t6, $01fc(sp) - MobUt.LW(this.ee, this.ee.t6, (508u + this.ee.sp.UL0)); - // @00129ACC LHU t7, $0012(t6) - MobUt.LHU(this.ee, this.ee.t7, (18u + this.ee.t6.UL0)); - // @00129AD0 BEQL t7, zero, $0012a4c0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1221824u; - // @00129AD4 LD s0, $02a0(sp) - MobUt.LD(this.ee, this.ee.s0, (672u + this.ee.sp.UL0)); - } - } - - public virtual void funct00129ad8() - { - this.ee.pc = 1219320u; - // @00129AD8 LW t7, $0200(sp) - MobUt.LW(this.ee, this.ee.t7, (512u + this.ee.sp.UL0)); - // @00129ADC LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @00129AE0 LW s4, $0000(t7) - MobUt.LW(this.ee, this.ee.s4, (0u + this.ee.t7.UL0)); - // @00129AE4 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @00129AE8 ANDI s2, s4, $ffff - this.ee.s2.UD0 = ((ushort)((this.ee.s4.US0 & 65535))); - // @00129AEC SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @00129AF0 BEQL t7, zero, $0012d4f4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1234164u; - // @00129AF4 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct00129af8() - { - this.ee.pc = 1219340u; - // @00129AF8 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @00129AFC LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @00129B00 LW v0, $0020(t7) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); - // @00129B04 JALR ra, v0 - this.ee.ra.UD0 = 1219340u; - this.ee.pc = this.ee.v0.UL0; - // @00129B08 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - } - - public virtual void funct00129b0c() - { - this.ee.pc = 1219360u; - // @00129B0C ADDU v0, v0, s3 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); - // @00129B10 LH v0, $0004(v0) - MobUt.LH(this.ee, this.ee.v0, (4u + this.ee.v0.UL0)); - // @00129B14 LW t3, $0208(sp) - MobUt.LW(this.ee, this.ee.t3, (520u + this.ee.sp.UL0)); - // @00129B18 BEQ s6, t3, $0012d4ec - if ((this.ee.s6.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1234156u; - } - // @00129B1C SW v0, $0214(sp) - MobUt.SW(this.ee, this.ee.v0, (532u + this.ee.sp.UL0)); - } - - public virtual void funct00129b10() - { - this.ee.pc = 1219360u; - // @00129B10 LH v0, $0004(v0) - MobUt.LH(this.ee, this.ee.v0, (4u + this.ee.v0.UL0)); - // @00129B14 LW t3, $0208(sp) - MobUt.LW(this.ee, this.ee.t3, (520u + this.ee.sp.UL0)); - // @00129B18 BEQ s6, t3, $0012d4ec - if ((this.ee.s6.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1234156u; - } - // @00129B1C SW v0, $0214(sp) - MobUt.SW(this.ee, this.ee.v0, (532u + this.ee.sp.UL0)); - } - - public virtual void funct00129b20() - { - this.ee.pc = 1219380u; - // @00129B20 ANDI t6, s2, $ffff - this.ee.t6.UD0 = ((ushort)((this.ee.s2.US0 & 65535))); - // @00129B24 LHU t7, $0000(s6) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); - // @00129B28 DADDU s3, t6, zero - this.ee.s3.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); - // @00129B2C BNE t7, t6, $00129bc4 - if ((this.ee.t7.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 1219524u; - } - // @00129B30 SLL s8, s2, 4 - MobUt.SLL(this.ee.s8, this.ee.s2, 4); - } - - public virtual void funct00129b34() - { - this.ee.pc = 1219396u; - // @00129B34 LHU a2, $0006(s6) - MobUt.LHU(this.ee, this.ee.a2, (6u + this.ee.s6.UL0)); - // @00129B38 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @00129B3C JAL $00128e40 - this.ee.ra.UL0 = 1219396u; - this.ee.pc = 1216064u; - // @00129B40 DADDU a1, s5, zero - this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129b38() - { - this.ee.pc = 1219396u; - // @00129B38 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @00129B3C JAL $00128e40 - this.ee.ra.UL0 = 1219396u; - this.ee.pc = 1216064u; - // @00129B40 DADDU a1, s5, zero - this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129b44() - { - this.ee.pc = 1219416u; - // @00129B44 LHU t4, $0002(s6) - MobUt.LHU(this.ee, this.ee.t4, (2u + this.ee.s6.UL0)); - // @00129B48 ANDI t6, t4, $ffff - this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @00129B4C SLTIU t7, t6, $0009 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 9ul)); - // @00129B50 BEQ t7, zero, $00129ba0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219488u; - } - // @00129B54 MOV.S $f1, $f0 - this.ee.fpr[1].f = this.ee.fpr[0].f; - } - - public virtual void funct00129b58() - { - this.ee.pc = 1219444u; - // @00129B58 SLL t7, t6, 2 - MobUt.SLL(this.ee.t7, this.ee.t6, 2); - // @00129B5C LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00129B60 ADDIU t6, t6, $8368 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31896))); - // @00129B64 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00129B68 LW t5, $0000(t7) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); - // @00129B6C JR t5 - this.ee.pc = this.ee.t5.UL[0]; - // @00129B70 NOP - MobUt.Latency(); - } - - public virtual void funct00129b74() - { - this.ee.pc = 1219464u; - // @00129B74 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @00129B78 LHU t3, $0010(t5) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); - // @00129B7C SLT t7, s2, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); - // @00129B80 BEQL t7, zero, $0012d438 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233976u; - // @00129B84 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct00129b88() - { - this.ee.pc = 1219512u; - // @00129B88 LW t7, $001c(s5) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); - // @00129B8C ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129B90 ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @00129B94 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00129B98 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00129B9C SWC1 $f1, $0000(t7) - MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00129BA0 LUI t7, $ffdf - this.ee.t7.SD0 = -2162688; - // @00129BA4 LW t5, $0208(sp) - MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); - // @00129BA8 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @00129BAC ADDIU s6, s6, $0008 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); - // @00129BB0 BEQ s6, t5, $00129bc4 - if ((this.ee.s6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1219524u; - } - // @00129BB4 AND s4, s4, t7 - this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - } - - public virtual void funct00129b90() - { - this.ee.pc = 1219512u; - // @00129B90 ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @00129B94 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00129B98 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00129B9C SWC1 $f1, $0000(t7) - MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00129BA0 LUI t7, $ffdf - this.ee.t7.SD0 = -2162688; - // @00129BA4 LW t5, $0208(sp) - MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); - // @00129BA8 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @00129BAC ADDIU s6, s6, $0008 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); - // @00129BB0 BEQ s6, t5, $00129bc4 - if ((this.ee.s6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1219524u; - } - // @00129BB4 AND s4, s4, t7 - this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - } - - public virtual void funct00129b94() - { - this.ee.pc = 1219512u; - // @00129B94 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00129B98 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00129B9C SWC1 $f1, $0000(t7) - MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00129BA0 LUI t7, $ffdf - this.ee.t7.SD0 = -2162688; - // @00129BA4 LW t5, $0208(sp) - MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); - // @00129BA8 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @00129BAC ADDIU s6, s6, $0008 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); - // @00129BB0 BEQ s6, t5, $00129bc4 - if ((this.ee.s6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1219524u; - } - // @00129BB4 AND s4, s4, t7 - this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - } - - public virtual void funct00129ba0() - { - this.ee.pc = 1219512u; - // @00129BA0 LUI t7, $ffdf - this.ee.t7.SD0 = -2162688; - // @00129BA4 LW t5, $0208(sp) - MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); - // @00129BA8 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @00129BAC ADDIU s6, s6, $0008 - this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); - // @00129BB0 BEQ s6, t5, $00129bc4 - if ((this.ee.s6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1219524u; - } - // @00129BB4 AND s4, s4, t7 - this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - } - - public virtual void funct00129bb8() - { - this.ee.pc = 1219524u; - // @00129BB8 LHU t7, $0000(s6) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); - // @00129BBC BEQL t7, s3, $00129b38 - if ((this.ee.t7.UD0 == this.ee.s3.UD0)) - { - this.ee.pc = 1219384u; - // @00129BC0 LHU a2, $0006(s6) - MobUt.LHU(this.ee, this.ee.a2, (6u + this.ee.s6.UL0)); - } - } - - public virtual void funct00129bc4() - { - this.ee.pc = 1219560u; - // @00129BC4 SW zero, $0218(sp) - MobUt.SW(this.ee, this.ee.r0, (536u + this.ee.sp.UL0)); - // @00129BC8 ADDIU a2, zero, $ffff - this.ee.a2.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00129BCC SW zero, $021c(sp) - MobUt.SW(this.ee, this.ee.r0, (540u + this.ee.sp.UL0)); - // @00129BD0 ADDIU a3, zero, $ffff - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00129BD4 LW t6, $0204(sp) - MobUt.LW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); - // @00129BD8 DADDU v0, zero, zero - this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00129BDC ADDIU v1, zero, $ffff - this.ee.v1.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00129BE0 BEQ s1, t6, $00129c58 - if ((this.ee.s1.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1219672u; - } - // @00129BE4 DADDU t3, zero, zero - this.ee.t3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129be8() - { - this.ee.pc = 1219576u; - // @00129BE8 ANDI t6, s2, $ffff - this.ee.t6.UD0 = ((ushort)((this.ee.s2.US0 & 65535))); - // @00129BEC LHU t7, $0002(s1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); - // @00129BF0 BNE t7, t6, $00129c58 - if ((this.ee.t7.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 1219672u; - } - // @00129BF4 DADDU t4, t6, zero - this.ee.t4.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129bf8() - { - this.ee.pc = 1219588u; - // @00129BF8 LBU t7, $0001(s1) - MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); - // @00129BFC BEQ t7, zero, $00129c40 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219648u; - } - // @00129C00 LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - } - - public virtual void funct00129bfc() - { - this.ee.pc = 1219588u; - // @00129BFC BEQ t7, zero, $00129c40 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219648u; - } - // @00129C00 LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - } - - public virtual void funct00129c04() - { - this.ee.pc = 1219604u; - // @00129C04 LBU t6, $0000(s1) - MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.s1.UL0)); - // @00129C08 SLTIU t7, t6, $000e - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 14ul)); - // @00129C0C BEQ t7, zero, $00129c3c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219644u; - } - // @00129C10 SLL t7, t6, 2 - MobUt.SLL(this.ee.t7, this.ee.t6, 2); - } - - public virtual void funct00129c14() - { - this.ee.pc = 1219628u; - // @00129C14 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00129C18 ADDIU t6, t6, $838c - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31860))); - // @00129C1C ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00129C20 LW t5, $0000(t7) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); - // @00129C24 JR t5 - this.ee.pc = this.ee.t5.UL[0]; - // @00129C28 NOP - MobUt.Latency(); - } - - public virtual void funct00129c2c() - { - this.ee.pc = 1219640u; - // @00129C2C ADDIU t7, zero, $ffff - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00129C30 BNE a2, t7, $0012d3b4 - if ((this.ee.a2.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1233844u; - } - // @00129C34 NOP - MobUt.Latency(); - } - - public virtual void funct00129c38() - { - this.ee.pc = 1219660u; - // @00129C38 LHU a2, $0004(s1) - MobUt.LHU(this.ee, this.ee.a2, (4u + this.ee.s1.UL0)); - // @00129C3C LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - // @00129C40 ADDIU s1, s1, $000c - this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); - // @00129C44 BEQ s1, t7, $00129c5c - if ((this.ee.s1.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1219676u; - } - // @00129C48 LUI t7, $0003 - this.ee.t7.SD0 = 196608; - } - - public virtual void funct00129c3c() - { - this.ee.pc = 1219660u; - // @00129C3C LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - // @00129C40 ADDIU s1, s1, $000c - this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); - // @00129C44 BEQ s1, t7, $00129c5c - if ((this.ee.s1.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1219676u; - } - // @00129C48 LUI t7, $0003 - this.ee.t7.SD0 = 196608; - } - - public virtual void funct00129c4c() - { - this.ee.pc = 1219672u; - // @00129C4C LHU t7, $0002(s1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); - // @00129C50 BEQL t7, t4, $00129bfc - if ((this.ee.t7.UD0 == this.ee.t4.UD0)) - { - this.ee.pc = 1219580u; - // @00129C54 LBU t7, $0001(s1) - MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); - } - } - - public virtual void funct00129c58() - { - this.ee.pc = 1219688u; - // @00129C58 LUI t7, $0003 - this.ee.t7.SD0 = 196608; - // @00129C5C AND t6, s4, t7 - this.ee.t6.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @00129C60 BEQ t6, zero, $00129cf8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219832u; - } - // @00129C64 SW zero, $0220(sp) - MobUt.SW(this.ee, this.ee.r0, (544u + this.ee.sp.UL0)); - } - - public virtual void funct00129c5c() - { - this.ee.pc = 1219688u; - // @00129C5C AND t6, s4, t7 - this.ee.t6.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @00129C60 BEQ t6, zero, $00129cf8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219832u; - } - // @00129C64 SW zero, $0220(sp) - MobUt.SW(this.ee, this.ee.r0, (544u + this.ee.sp.UL0)); - } - - public virtual void funct00129c68() - { - this.ee.pc = 1219704u; - // @00129C68 LUI t7, $0080 - this.ee.t7.SD0 = 8388608; - // @00129C6C AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @00129C70 BEQ t7, zero, $0012d39c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233820u; - } - // @00129C74 LW t4, $020c(sp) - MobUt.LW(this.ee, this.ee.t4, (524u + this.ee.sp.UL0)); - } - - public virtual void funct00129c78() - { - this.ee.pc = 1219728u; - // @00129C78 LH t5, $0000(t4) - MobUt.LH(this.ee, this.ee.t5, (0u + this.ee.t4.UL0)); - // @00129C7C ADDIU t4, t4, $0002 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 2))); - // @00129C80 SW t4, $020c(sp) - MobUt.SW(this.ee, this.ee.t4, (524u + this.ee.sp.UL0)); - // @00129C84 LW t6, $0204(sp) - MobUt.LW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); - // @00129C88 BEQ s1, t6, $00129ce4 - if ((this.ee.s1.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1219812u; - } - // @00129C8C ADDIU t4, zero, $0005 - this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 5))); - } - - public virtual void funct00129c84() - { - this.ee.pc = 1219728u; - // @00129C84 LW t6, $0204(sp) - MobUt.LW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); - // @00129C88 BEQ s1, t6, $00129ce4 - if ((this.ee.s1.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1219812u; - } - // @00129C8C ADDIU t4, zero, $0005 - this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 5))); - } - - public virtual void funct00129c90() - { - this.ee.pc = 1219740u; - // @00129C90 LBU t7, $0001(s1) - MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); - // @00129C94 BEQ t7, zero, $00129cd8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219800u; - } - // @00129C98 LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - } - - public virtual void funct00129c94() - { - this.ee.pc = 1219740u; - // @00129C94 BEQ t7, zero, $00129cd8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219800u; - } - // @00129C98 LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - } - - public virtual void funct00129c9c() - { - this.ee.pc = 1219752u; - // @00129C9C LHU t7, $0002(s1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); - // @00129CA0 BNE t7, t5, $00129cd8 - if ((this.ee.t7.UD0 != this.ee.t5.UD0)) - { - this.ee.pc = 1219800u; - } - // @00129CA4 LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - } - - public virtual void funct00129ca8() - { - this.ee.pc = 1219764u; - // @00129CA8 LBU t6, $0000(s1) - MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.s1.UL0)); - // @00129CAC BLTZ t6, $00129ccc - if ((this.ee.t6.SD0 < 0)) - { - this.ee.pc = 1219788u; - } - // @00129CB0 DADDU t7, zero, zero - this.ee.t7.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00129cb4() - { - this.ee.pc = 1219776u; - // @00129CB4 SLTI t7, t6, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < 2)); - // @00129CB8 BNE t7, zero, $00129ccc - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1219788u; - } - // @00129CBC ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - } - - public virtual void funct00129ccc() - { - this.ee.pc = 1219800u; - // @00129CCC ANDI t7, t7, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); - // @00129CD0 BNE t7, zero, $0012d390 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1233808u; - } - // @00129CD4 LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - } - - public virtual void funct00129cd8() - { - this.ee.pc = 1219812u; - // @00129CD8 ADDIU s1, s1, $000c - this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); - // @00129CDC BNEL s1, t7, $00129c94 - if ((this.ee.s1.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1219732u; - // @00129CE0 LBU t7, $0001(s1) - MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); - } - } - - public virtual void funct00129ce4() - { - this.ee.pc = 1219824u; - // @00129CE4 LW t4, $0220(sp) - MobUt.LW(this.ee, this.ee.t4, (544u + this.ee.sp.UL0)); - // @00129CE8 BNE t4, zero, $00129cf8 - if ((this.ee.t4.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1219832u; - } - // @00129CEC LUI t7, $fffc - this.ee.t7.SD0 = -262144; - } - - public virtual void funct00129cf8() - { - this.ee.pc = 1219840u; - // @00129CF8 BEQ t3, zero, $0012d2c8 - if ((this.ee.t3.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233608u; - } - // @00129CFC LW t7, $0214(sp) - MobUt.LW(this.ee, this.ee.t7, (532u + this.ee.sp.UL0)); - } - - public virtual void funct00129d00() - { - this.ee.pc = 1219868u; - // @00129D00 LHU t7, $0004(t3) - MobUt.LHU(this.ee, this.ee.t7, (4u + this.ee.t3.UL0)); - // @00129D04 LW t3, $0014(s0) - MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); - // @00129D08 SLL t7, t7, 4 - MobUt.SLL(this.ee.t7, this.ee.t7, 4); - // @00129D0C ADDU t6, t3, t7 - this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t7.SD0))); - // @00129D10 ADDU t7, t3, s8 - this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); - // @00129D14 BEQ t7, t6, $00129d2c - if ((this.ee.t7.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1219884u; - } - // @00129D18 LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - } - - public virtual void funct00129d1c() - { - this.ee.pc = 1219892u; - // @00129D1C LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @00129D20 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00129D24 LW t3, $0014(s0) - MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); - // @00129D28 LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - // @00129D2C BLTZ t5, $0012d27c - if ((this.ee.t5.SD0 < 0)) - { - this.ee.pc = 1233532u; - } - // @00129D30 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - } - - public virtual void funct00129d34() - { - this.ee.pc = 1219908u; - // @00129D34 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @00129D38 SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @00129D3C BEQL t7, zero, $0012d264 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233508u; - // @00129D40 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct00129d44() - { - this.ee.pc = 1219976u; - // @00129D44 LW t7, $001c(s5) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); - // @00129D48 ADDU t5, t7, s8 - this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129D4C LW t6, $0214(sp) - MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); - // @00129D50 ADDU t7, t3, s8 - this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); - // @00129D54 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00129D58 SLL t2, t6, 4 - MobUt.SLL(this.ee.t2, this.ee.t6, 4); - // @00129D5C ADDU t6, t3, t2 - this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t2.SD0))); - // @00129D60 LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @00129D64 NOP - MobUt.Latency(); - // @00129D68 NOP - MobUt.Latency(); - // @00129D6C DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @00129D70 SWC1 $f0, $0000(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - // @00129D74 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @00129D78 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @00129D7C SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @00129D80 BEQL t7, zero, $0012d24c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233484u; - // @00129D84 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct00129d4c() - { - this.ee.pc = 1219976u; - // @00129D4C LW t6, $0214(sp) - MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); - // @00129D50 ADDU t7, t3, s8 - this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); - // @00129D54 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00129D58 SLL t2, t6, 4 - MobUt.SLL(this.ee.t2, this.ee.t6, 4); - // @00129D5C ADDU t6, t3, t2 - this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t2.SD0))); - // @00129D60 LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @00129D64 NOP - MobUt.Latency(); - // @00129D68 NOP - MobUt.Latency(); - // @00129D6C DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @00129D70 SWC1 $f0, $0000(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - // @00129D74 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @00129D78 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @00129D7C SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @00129D80 BEQL t7, zero, $0012d24c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233484u; - // @00129D84 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct00129d88() - { - this.ee.pc = 1220040u; - // @00129D88 LW t7, $001c(s5) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); - // @00129D8C ADDU t5, t7, s8 - this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129D90 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @00129D94 ADDU t6, t7, t2 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); - // @00129D98 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129D9C LWC1 $f1, $0004(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.t6.UL0)); - // @00129DA0 LWC1 $f0, $0004(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t7.UL0)); - // @00129DA4 NOP - MobUt.Latency(); - // @00129DA8 NOP - MobUt.Latency(); - // @00129DAC DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @00129DB0 SWC1 $f0, $0004(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t5.UL0)); - // @00129DB4 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @00129DB8 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @00129DBC SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @00129DC0 BEQL t7, zero, $0012d234 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233460u; - // @00129DC4 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct00129d90() - { - this.ee.pc = 1220040u; - // @00129D90 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @00129D94 ADDU t6, t7, t2 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); - // @00129D98 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129D9C LWC1 $f1, $0004(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.t6.UL0)); - // @00129DA0 LWC1 $f0, $0004(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t7.UL0)); - // @00129DA4 NOP - MobUt.Latency(); - // @00129DA8 NOP - MobUt.Latency(); - // @00129DAC DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @00129DB0 SWC1 $f0, $0004(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t5.UL0)); - // @00129DB4 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @00129DB8 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @00129DBC SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @00129DC0 BEQL t7, zero, $0012d234 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233460u; - // @00129DC4 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct00129dc8() - { - this.ee.pc = 1220100u; - // @00129DC8 LW t7, $001c(s5) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); - // @00129DCC ADDU t5, t7, s8 - this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129DD0 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @00129DD4 ADDU t6, t7, t2 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); - // @00129DD8 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129DDC LWC1 $f1, $0008(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.t6.UL0)); - // @00129DE0 LWC1 $f0, $0008(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t7.UL0)); - // @00129DE4 NOP - MobUt.Latency(); - // @00129DE8 NOP - MobUt.Latency(); - // @00129DEC DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @00129DF0 SWC1 $f0, $0008(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t5.UL0)); - // @00129DF4 LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - // @00129DF8 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @00129DFC BEQ t7, zero, $0012a9d0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223120u; - } - // @00129E00 LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - } - - public virtual void funct00129dd0() - { - this.ee.pc = 1220100u; - // @00129DD0 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @00129DD4 ADDU t6, t7, t2 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); - // @00129DD8 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @00129DDC LWC1 $f1, $0008(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.t6.UL0)); - // @00129DE0 LWC1 $f0, $0008(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t7.UL0)); - // @00129DE4 NOP - MobUt.Latency(); - // @00129DE8 NOP - MobUt.Latency(); - // @00129DEC DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @00129DF0 SWC1 $f0, $0008(t5) - MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t5.UL0)); - // @00129DF4 LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - // @00129DF8 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @00129DFC BEQ t7, zero, $0012a9d0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223120u; - } - // @00129E00 LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - } - - public virtual void funct00129df8() - { - this.ee.pc = 1220100u; - // @00129DF8 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @00129DFC BEQ t7, zero, $0012a9d0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223120u; - } - // @00129E00 LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - } - - public virtual void funct00129e04() - { - this.ee.pc = 1220112u; - // @00129E04 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @00129E08 BEQ t7, zero, $00129e60 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220192u; - } - // @00129E0C LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - } - - public virtual void funct00129e10() - { - this.ee.pc = 1220132u; - // @00129E10 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @00129E14 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @00129E18 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @00129E1C BEQ t7, zero, $0012a9bc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223100u; - } - // @00129E20 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - } - - public virtual void funct00129e2c() - { - this.ee.pc = 1220156u; - // @00129E2C LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @00129E30 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @00129E34 BNEL t7, zero, $0012a9b4 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1223092u; - // @00129E38 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - } - } - - public virtual void funct00129e3c() - { - this.ee.pc = 1220188u; - // @00129E3C LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @00129E40 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @00129E44 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @00129E48 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @00129E4C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00129E50 ADDIU a1, t6, $0020 - this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); - // @00129E54 JAL $0011b840 - this.ee.ra.UL0 = 1220188u; - this.ee.pc = 1161280u; - // @00129E58 NOP - MobUt.Latency(); - } - - public virtual void funct00129e40() - { - this.ee.pc = 1220188u; - // @00129E40 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @00129E44 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @00129E48 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @00129E4C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00129E50 ADDIU a1, t6, $0020 - this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); - // @00129E54 JAL $0011b840 - this.ee.ra.UL0 = 1220188u; - this.ee.pc = 1161280u; - // @00129E58 NOP - MobUt.Latency(); - } - - public virtual void funct00129e54() - { - this.ee.pc = 1220188u; - // @00129E54 JAL $0011b840 - this.ee.ra.UL0 = 1220188u; - this.ee.pc = 1161280u; - // @00129E58 NOP - MobUt.Latency(); - } - - public virtual void funct00129e5c() - { - this.ee.pc = 1220200u; - // @00129E5C LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - // @00129E60 BEQL t3, zero, $0012a498 - if ((this.ee.t3.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1221784u; - // @00129E64 LW t3, $01fc(sp) - MobUt.LW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); - } - } - - public virtual void funct00129e60() - { - this.ee.pc = 1220200u; - // @00129E60 BEQL t3, zero, $0012a498 - if ((this.ee.t3.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1221784u; - // @00129E64 LW t3, $01fc(sp) - MobUt.LW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); - } - } - - public virtual void funct0012a498() - { - this.ee.pc = 1221820u; - // @0012A498 LW t4, $0210(sp) - MobUt.LW(this.ee, this.ee.t4, (528u + this.ee.sp.UL0)); - // @0012A49C LW t5, $0200(sp) - MobUt.LW(this.ee, this.ee.t5, (512u + this.ee.sp.UL0)); - // @0012A4A0 LHU t7, $0012(t3) - MobUt.LHU(this.ee, this.ee.t7, (18u + this.ee.t3.UL0)); - // @0012A4A4 ADDIU t4, t4, $0001 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 1))); - // @0012A4A8 ADDIU t5, t5, $0004 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + 4))); - // @0012A4AC SW t4, $0210(sp) - MobUt.SW(this.ee, this.ee.t4, (528u + this.ee.sp.UL0)); - // @0012A4B0 SLT t7, t4, t7 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t7.SD0)); - // @0012A4B4 BNE t7, zero, $00129ad8 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1219288u; - } - // @0012A4B8 SW t5, $0200(sp) - MobUt.SW(this.ee, this.ee.t5, (512u + this.ee.sp.UL0)); - } - - public virtual void funct0012a4bc() - { - this.ee.pc = 1221872u; - // @0012A4BC LD s0, $02a0(sp) - MobUt.LD(this.ee, this.ee.s0, (672u + this.ee.sp.UL0)); - // @0012A4C0 LD s1, $02a8(sp) - MobUt.LD(this.ee, this.ee.s1, (680u + this.ee.sp.UL0)); - // @0012A4C4 LD s2, $02b0(sp) - MobUt.LD(this.ee, this.ee.s2, (688u + this.ee.sp.UL0)); - // @0012A4C8 LD s3, $02b8(sp) - MobUt.LD(this.ee, this.ee.s3, (696u + this.ee.sp.UL0)); - // @0012A4CC LD s4, $02c0(sp) - MobUt.LD(this.ee, this.ee.s4, (704u + this.ee.sp.UL0)); - // @0012A4D0 LD s5, $02c8(sp) - MobUt.LD(this.ee, this.ee.s5, (712u + this.ee.sp.UL0)); - // @0012A4D4 LD s6, $02d0(sp) - MobUt.LD(this.ee, this.ee.s6, (720u + this.ee.sp.UL0)); - // @0012A4D8 LD s7, $02d8(sp) - MobUt.LD(this.ee, this.ee.s7, (728u + this.ee.sp.UL0)); - // @0012A4DC LD s8, $02e0(sp) - MobUt.LD(this.ee, this.ee.s8, (736u + this.ee.sp.UL0)); - // @0012A4E0 LD ra, $02e8(sp) - MobUt.LD(this.ee, this.ee.ra, (744u + this.ee.sp.UL0)); - // @0012A4E4 LWC1 $f20, $02f0(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (752u + this.ee.sp.UL0)); - // @0012A4E8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0012A4EC ADDIU sp, sp, $0300 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 768))); - } - - public virtual void funct0012a4c0() - { - this.ee.pc = 1221872u; - // @0012A4C0 LD s1, $02a8(sp) - MobUt.LD(this.ee, this.ee.s1, (680u + this.ee.sp.UL0)); - // @0012A4C4 LD s2, $02b0(sp) - MobUt.LD(this.ee, this.ee.s2, (688u + this.ee.sp.UL0)); - // @0012A4C8 LD s3, $02b8(sp) - MobUt.LD(this.ee, this.ee.s3, (696u + this.ee.sp.UL0)); - // @0012A4CC LD s4, $02c0(sp) - MobUt.LD(this.ee, this.ee.s4, (704u + this.ee.sp.UL0)); - // @0012A4D0 LD s5, $02c8(sp) - MobUt.LD(this.ee, this.ee.s5, (712u + this.ee.sp.UL0)); - // @0012A4D4 LD s6, $02d0(sp) - MobUt.LD(this.ee, this.ee.s6, (720u + this.ee.sp.UL0)); - // @0012A4D8 LD s7, $02d8(sp) - MobUt.LD(this.ee, this.ee.s7, (728u + this.ee.sp.UL0)); - // @0012A4DC LD s8, $02e0(sp) - MobUt.LD(this.ee, this.ee.s8, (736u + this.ee.sp.UL0)); - // @0012A4E0 LD ra, $02e8(sp) - MobUt.LD(this.ee, this.ee.ra, (744u + this.ee.sp.UL0)); - // @0012A4E4 LWC1 $f20, $02f0(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (752u + this.ee.sp.UL0)); - // @0012A4E8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0012A4EC ADDIU sp, sp, $0300 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 768))); - } - - public virtual void funct0012a9b4() - { - this.ee.pc = 1223100u; - // @0012A9B4 BEQ zero, zero, $00129e54 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220180u; - } - // @0012A9B8 ADDU a1, t7, s8 - this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - } - - public virtual void funct0012a9bc() - { - this.ee.pc = 1223120u; - // @0012A9BC SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - // @0012A9C0 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012A9C4 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012A9C8 BEQ zero, zero, $00129e2c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220140u; - } - // @0012A9CC ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012a9d0() - { - this.ee.pc = 1223156u; - // @0012A9D0 SRL t3, s4, 16 - MobUt.SRL(this.ee.t3, this.ee.s4, 16); - // @0012A9D4 MTC1 zero, $f20 - this.ee.fpr[20].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0012A9D8 SW t3, $024c(sp) - MobUt.SW(this.ee, this.ee.t3, (588u + this.ee.sp.UL0)); - // @0012A9DC ANDI t6, t3, $0003 - this.ee.t6.UD0 = ((ushort)((this.ee.t3.US0 & 3))); - // @0012A9E0 SW zero, $0224(sp) - MobUt.SW(this.ee, this.ee.r0, (548u + this.ee.sp.UL0)); - // @0012A9E4 ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @0012A9E8 SW zero, $0228(sp) - MobUt.SW(this.ee, this.ee.r0, (552u + this.ee.sp.UL0)); - // @0012A9EC BEQ t6, t7, $0012caf0 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1231600u; - } - // @0012A9F0 SW zero, $022c(sp) - MobUt.SW(this.ee, this.ee.r0, (556u + this.ee.sp.UL0)); - } - - public virtual void funct0012a9f4() - { - this.ee.pc = 1223164u; - // @0012A9F4 BEQ t6, zero, $0012ba08 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227272u; - } - // @0012A9F8 SLTIU t7, t6, $0004 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 4ul)); - } - - public virtual void funct0012a9fc() - { - this.ee.pc = 1223172u; - // @0012A9FC BEQ t7, zero, $0012ba08 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227272u; - } - // @0012AA00 LW t7, $0218(sp) - MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012aa04() - { - this.ee.pc = 1223180u; - // @0012AA04 BEQ t7, zero, $0012aa1c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223196u; - } - // @0012AA08 LW t3, $0218(sp) - MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012aa1c() - { - this.ee.pc = 1223216u; - // @0012AA1C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012AA20 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012AA24 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012AA28 BEQ t7, zero, $0012b9ec - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227244u; - } - // @0012AA2C ADDIU t3, sp, $0090 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); - } - - public virtual void funct0012aa30() - { - this.ee.pc = 1223232u; - // @0012AA30 LW t7, $0024(s5) - MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); - // @0012AA34 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012AA38 BEQ t3, t6, $0012aa50 - if ((this.ee.t3.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1223248u; - } - // @0012AA3C LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - } - - public virtual void funct0012aa38() - { - this.ee.pc = 1223232u; - // @0012AA38 BEQ t3, t6, $0012aa50 - if ((this.ee.t3.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1223248u; - } - // @0012AA3C LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - } - - public virtual void funct0012aa40() - { - this.ee.pc = 1223280u; - // @0012AA40 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012AA44 SQ t0, $0000(t3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @0012AA48 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012AA4C LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - // @0012AA50 ADDIU t5, t5, $8364 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); - // @0012AA54 LWC1 $f0, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - // @0012AA58 SWC1 $f0, $009c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); - // @0012AA5C LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012AA60 LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - // @0012AA64 SLT t7, t4, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t6.SD0)); - // @0012AA68 BEQ t7, zero, $0012b9d4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227220u; - } - // @0012AA6C SLL t5, t4, 6 - MobUt.SLL(this.ee.t5, this.ee.t4, 6); - } - - public virtual void funct0012aa70() - { - this.ee.pc = 1223348u; - // @0012AA70 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012AA74 SW t5, $0250(sp) - MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); - // @0012AA78 ADDU t6, t7, t5 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @0012AA7C ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012AA80 LQC2 vf5, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012AA84 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012AA88 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012AA8C LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012AA90 LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012AA94 VMULAx.xyzw ACC, vf1, vf5x - // @0012AA98 VMADDAy.xyzw ACC, vf2, vf5y - // @0012AA9C VMADDAz.xyzw ACC, vf3, vf5z - // @0012AAA0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012AAA4 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012AAA8 ADDIU t6, sp, $0080 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012AAAC BEQ t6, t8, $0012aabc - if ((this.ee.t6.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1223356u; - } - // @0012AAB0 DADDU t7, t8, zero - this.ee.t7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012aa7c() - { - this.ee.pc = 1223348u; - // @0012AA7C ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012AA80 LQC2 vf5, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012AA84 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012AA88 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012AA8C LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012AA90 LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012AA94 VMULAx.xyzw ACC, vf1, vf5x - // @0012AA98 VMADDAy.xyzw ACC, vf2, vf5y - // @0012AA9C VMADDAz.xyzw ACC, vf3, vf5z - // @0012AAA0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012AAA4 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012AAA8 ADDIU t6, sp, $0080 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012AAAC BEQ t6, t8, $0012aabc - if ((this.ee.t6.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1223356u; - } - // @0012AAB0 DADDU t7, t8, zero - this.ee.t7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012aab4() - { - this.ee.pc = 1223380u; - // @0012AAB4 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012AAB8 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012AABC LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012AAC0 ADDIU a1, sp, $0040 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012AAC4 LW t3, $0250(sp) - MobUt.LW(this.ee, this.ee.t3, (592u + this.ee.sp.UL0)); - // @0012AAC8 ADDU t7, t7, t3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t3.SD0))); - // @0012AACC BEQ a1, t7, $0012aaf4 - if ((this.ee.a1.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1223412u; - } - // @0012AAD0 NOP - MobUt.Latency(); - } - - public virtual void funct0012aad4() - { - this.ee.pc = 1223560u; - // @0012AAD4 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012AAD8 LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0012AADC LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0012AAE0 LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0012AAE4 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012AAE8 SQ t1, $0010(a1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012AAEC SQ t2, $0020(a1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012AAF0 SQ t3, $0030(a1) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); - // @0012AAF4 LQ t0, $0000(a1) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012AAF8 LQ t1, $0010(a1) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012AAFC LQ t2, $0020(a1) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012AB00 QMFC2 t3, vf0 - MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); - // @0012AB04 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012AB08 PEXTLW t4, t1, t0 - this.ee.t4.UL[0] = this.ee.t0.UL[0]; - this.ee.t4.UL[1] = this.ee.t1.UL[0]; - this.ee.t4.UL[2] = this.ee.t0.UL[1]; - this.ee.t4.UL[3] = this.ee.t1.UL[1]; - // @0012AB0C PEXTUW t5, t1, t0 - this.ee.t5.UL[0] = this.ee.t0.UL[2]; - this.ee.t5.UL[1] = this.ee.t1.UL[2]; - this.ee.t5.UL[2] = this.ee.t0.UL[3]; - this.ee.t5.UL[3] = this.ee.t1.UL[3]; - // @0012AB10 PEXTLW t6, t3, t2 - this.ee.t6.UL[0] = this.ee.t2.UL[0]; - this.ee.t6.UL[1] = this.ee.t3.UL[0]; - this.ee.t6.UL[2] = this.ee.t2.UL[1]; - this.ee.t6.UL[3] = this.ee.t3.UL[1]; - // @0012AB14 PEXTUW t7, t3, t2 - this.ee.t7.UL[0] = this.ee.t2.UL[2]; - this.ee.t7.UL[1] = this.ee.t3.UL[2]; - this.ee.t7.UL[2] = this.ee.t2.UL[3]; - this.ee.t7.UL[3] = this.ee.t3.UL[3]; - // @0012AB18 PCPYLD t0, t6, t4 - this.ee.t0.UD1 = this.ee.t6.UD0; - this.ee.t0.UD0 = this.ee.t4.UD0; - // @0012AB1C PCPYUD t1, t4, t6 - this.ee.t1.UD0 = this.ee.t4.UD1; - this.ee.t1.UD1 = this.ee.t6.UD1; - // @0012AB20 PCPYLD t2, t7, t5 - this.ee.t2.UD1 = this.ee.t7.UD0; - this.ee.t2.UD0 = this.ee.t5.UD0; - // @0012AB24 QMTC2 t0, vf1 - MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); - // @0012AB28 QMTC2 t1, vf2 - MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); - // @0012AB2C QMTC2 t2, vf3 - MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); - // @0012AB30 VMULAx.xyz ACC, vf1, vf4x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); - // @0012AB34 VMADDAy.xyz ACC, vf2, vf4y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); - // @0012AB38 VMADDz.xyz vf4, vf3, vf4z - this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); - // @0012AB3C VSUB.xyz vf4, vf0, vf4 - this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); - this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); - this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); - // @0012AB40 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012AB44 SQ t1, $0010(a1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012AB48 SQ t2, $0020(a1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012AB4C SQC2 vf4, $0030(a1) - MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012AB50 ADDIU t4, sp, $0080 - this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012AB54 LQC2 vf5, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t4.UL0)); - // @0012AB58 LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @0012AB5C LQC2 vf2, $0010(a1) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); - // @0012AB60 LQC2 vf3, $0020(a1) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); - // @0012AB64 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012AB68 VMULAx.xyzw ACC, vf1, vf5x - // @0012AB6C VMADDAy.xyzw ACC, vf2, vf5y - // @0012AB70 VMADDAz.xyzw ACC, vf3, vf5z - // @0012AB74 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012AB78 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012AB7C ADDIU t5, sp, $00a0 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012AB80 BEQ t5, t8, $0012ab90 - if ((this.ee.t5.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1223568u; - } - // @0012AB84 ADDIU t6, sp, $0120 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 288))); - } - - public virtual void funct0012ab88() - { - this.ee.pc = 1223580u; - // @0012AB88 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012AB8C SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012AB90 LW t7, $0204(sp) - MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); - // @0012AB94 BEQ s1, t7, $0012abc8 - if ((this.ee.s1.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1223624u; - } - // @0012AB98 ADDIU s7, s2, $0001 - this.ee.s7.SD0 = ((int)((this.ee.s2.SD0 + 1))); - } - - public virtual void funct0012ab9c() - { - this.ee.pc = 1223596u; - // @0012AB9C LHU t7, $0002(s1) - MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); - // @0012ABA0 ANDI t6, s7, $ffff - this.ee.t6.UD0 = ((ushort)((this.ee.s7.US0 & 65535))); - // @0012ABA4 BNEL t7, t6, $0012abcc - if ((this.ee.t7.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 1223628u; - // @0012ABA8 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012abc8() - { - this.ee.pc = 1223652u; - // @0012ABC8 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012ABCC LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012ABD0 LHU t2, $0010(t5) - MobUt.LHU(this.ee, this.ee.t2, (16u + this.ee.t5.UL0)); - // @0012ABD4 ADDU t4, t7, s8 - this.ee.t4.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012ABD8 SLT t7, s7, t2 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t2.SD0)); - // @0012ABDC BEQ t7, zero, $0012b9b8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227192u; - } - // @0012ABE0 ADDIU t3, t4, $0010 - this.ee.t3.SD0 = ((int)((this.ee.t4.SD0 + 16))); - } - - public virtual void funct0012abcc() - { - this.ee.pc = 1223652u; - // @0012ABCC LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012ABD0 LHU t2, $0010(t5) - MobUt.LHU(this.ee, this.ee.t2, (16u + this.ee.t5.UL0)); - // @0012ABD4 ADDU t4, t7, s8 - this.ee.t4.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012ABD8 SLT t7, s7, t2 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t2.SD0)); - // @0012ABDC BEQ t7, zero, $0012b9b8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227192u; - } - // @0012ABE0 ADDIU t3, t4, $0010 - this.ee.t3.SD0 = ((int)((this.ee.t4.SD0 + 16))); - } - - public virtual void funct0012abe4() - { - this.ee.pc = 1223692u; - // @0012ABE4 LW t6, $001c(s5) - MobUt.LW(this.ee, this.ee.t6, (28u + this.ee.s5.UL0)); - // @0012ABE8 SLL t7, s7, 4 - MobUt.SLL(this.ee.t7, this.ee.s7, 4); - // @0012ABEC ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012ABF0 ADDIU t5, sp, $0120 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012ABF4 LQC2 vf1, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); - // @0012ABF8 LQC2 vf2, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); - // @0012ABFC VMUL.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); - // @0012AC00 SQC2 vf1, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @0012AC04 BEQ t3, t5, $0012ac14 - if ((this.ee.t3.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1223700u; - } - // @0012AC08 DADDU t6, t5, zero - this.ee.t6.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012abf0() - { - this.ee.pc = 1223692u; - // @0012ABF0 ADDIU t5, sp, $0120 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012ABF4 LQC2 vf1, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); - // @0012ABF8 LQC2 vf2, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); - // @0012ABFC VMUL.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); - // @0012AC00 SQC2 vf1, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @0012AC04 BEQ t3, t5, $0012ac14 - if ((this.ee.t3.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1223700u; - } - // @0012AC08 DADDU t6, t5, zero - this.ee.t6.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012ac0c() - { - this.ee.pc = 1223728u; - // @0012AC0C LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012AC10 SQ t0, $0000(t3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @0012AC14 LW a2, $0220(sp) - MobUt.LW(this.ee, this.ee.a2, (544u + this.ee.sp.UL0)); - // @0012AC18 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0012AC1C DADDU a1, s5, zero - this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - // @0012AC20 ADDIU a3, sp, $00c0 - this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 192))); - // @0012AC24 ADDIU t0, sp, $0040 - this.ee.t0.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012AC28 JAL $00128de8 - this.ee.ra.UL0 = 1223728u; - this.ee.pc = 1215976u; - // @0012AC2C ADDIU t1, sp, $00b0 - this.ee.t1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - } - - public virtual void funct0012ac30() - { - this.ee.pc = 1223740u; - // @0012AC30 LW t7, $01f8(sp) - MobUt.LW(this.ee, this.ee.t7, (504u + this.ee.sp.UL0)); - // @0012AC34 BEQ t7, zero, $0012acd8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223896u; - } - // @0012AC38 LW t3, $0228(sp) - MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); - } - - public virtual void funct0012ac3c() - { - this.ee.pc = 1223768u; - // @0012AC3C SW t7, $0224(sp) - MobUt.SW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); - // @0012AC40 LD t5, $0010(t7) - MobUt.LD(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); - // @0012AC44 ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @0012AC48 DSLL32 t7, t7, 21 - MobUt.DSLL32(this.ee.t7, this.ee.t7, 21); - // @0012AC4C AND t7, t5, t7 - this.ee.t7.UD0 = (this.ee.t5.UD0 & this.ee.t7.UD0); - // @0012AC50 BNE t7, zero, $0012acd8 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1223896u; - } - // @0012AC54 LW t3, $0228(sp) - MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); - } - - public virtual void funct0012ac58() - { - this.ee.pc = 1223796u; - // @0012AC58 ADDIU t4, zero, $0001 - this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @0012AC5C ANDI t6, s2, $ffff - this.ee.t6.UD0 = ((ushort)((this.ee.s2.US0 & 65535))); - // @0012AC60 DSLL32 t4, t4, 21 - MobUt.DSLL32(this.ee.t4, this.ee.t4, 21); - // @0012AC64 LW t3, $0224(sp) - MobUt.LW(this.ee, this.ee.t3, (548u + this.ee.sp.UL0)); - // @0012AC68 LHU t7, $001c(t3) - MobUt.LHU(this.ee, this.ee.t7, (28u + this.ee.t3.UL0)); - // @0012AC6C BNE t7, t6, $0012b998 - if ((this.ee.t7.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 1227160u; - } - // @0012AC70 LW t7, $0224(sp) - MobUt.LW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); - } - - public virtual void funct0012ac68() - { - this.ee.pc = 1223796u; - // @0012AC68 LHU t7, $001c(t3) - MobUt.LHU(this.ee, this.ee.t7, (28u + this.ee.t3.UL0)); - // @0012AC6C BNE t7, t6, $0012b998 - if ((this.ee.t7.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 1227160u; - } - // @0012AC70 LW t7, $0224(sp) - MobUt.LW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); - } - - public virtual void funct0012ac74() - { - this.ee.pc = 1223840u; - // @0012AC74 DSRL32 t7, t5, 20 - MobUt.DSRL32(this.ee.t7, this.ee.t5, 20); - // @0012AC78 ADDIU t4, zero, $0001 - this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @0012AC7C ANDI t7, t7, $0001 - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 1))); - // @0012AC80 SW t4, $0228(sp) - MobUt.SW(this.ee, this.ee.t4, (552u + this.ee.sp.UL0)); - // @0012AC84 SW t7, $022c(sp) - MobUt.SW(this.ee, this.ee.t7, (556u + this.ee.sp.UL0)); - // @0012AC88 ADDIU s3, zero, $0020 - this.ee.s3.SD0 = ((int)((this.ee.r0.SD0 + 32))); - // @0012AC8C LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @0012AC90 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012AC94 LW v0, $0018(t7) - MobUt.LW(this.ee, this.ee.v0, (24u + this.ee.t7.UL0)); - // @0012AC98 JALR ra, v0 - this.ee.ra.UD0 = 1223840u; - this.ee.pc = this.ee.v0.UL0; - // @0012AC9C DADDU a1, s3, zero - this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012ac90() - { - this.ee.pc = 1223840u; - // @0012AC90 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012AC94 LW v0, $0018(t7) - MobUt.LW(this.ee, this.ee.v0, (24u + this.ee.t7.UL0)); - // @0012AC98 JALR ra, v0 - this.ee.ra.UD0 = 1223840u; - this.ee.pc = this.ee.v0.UL0; - // @0012AC9C DADDU a1, s3, zero - this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012aca0() - { - this.ee.pc = 1223848u; - // @0012ACA0 BEQL s2, v0, $0012b97c - if ((this.ee.s2.UD0 == this.ee.v0.UD0)) - { - this.ee.pc = 1227132u; - // @0012ACA4 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - } - } - - public virtual void funct0012aca8() - { - this.ee.pc = 1223864u; - // @0012ACA8 ADDIU s3, s3, $0001 - this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); - // @0012ACAC SLTI t7, s3, $0024 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < 36)); - // @0012ACB0 BNEL t7, zero, $0012ac90 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1223824u; - // @0012ACB4 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - } - } - - public virtual void funct0012acb8() - { - this.ee.pc = 1223892u; - // @0012ACB8 LW t5, $0224(sp) - MobUt.LW(this.ee, this.ee.t5, (548u + this.ee.sp.UL0)); - // @0012ACBC ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @0012ACC0 DSLL32 t7, t7, 19 - MobUt.DSLL32(this.ee.t7, this.ee.t7, 19); - // @0012ACC4 LD t6, $0010(t5) - MobUt.LD(this.ee, this.ee.t6, (16u + this.ee.t5.UL0)); - // @0012ACC8 AND t6, t6, t7 - this.ee.t6.UD0 = (this.ee.t6.UD0 & this.ee.t7.UD0); - // @0012ACCC BNEL t6, zero, $0012acd4 - if ((this.ee.t6.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1223892u; - // @0012ACD0 LWC1 $f20, $0018(t5) - MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct0012acd4() - { - this.ee.pc = 1223904u; - // @0012ACD4 LW t3, $0228(sp) - MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); - // @0012ACD8 BEQ t3, zero, $0012af80 - if ((this.ee.t3.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1224576u; - } - // @0012ACDC LW t4, $01f0(sp) - MobUt.LW(this.ee, this.ee.t4, (496u + this.ee.sp.UL0)); - } - - public virtual void funct0012acd8() - { - this.ee.pc = 1223904u; - // @0012ACD8 BEQ t3, zero, $0012af80 - if ((this.ee.t3.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1224576u; - } - // @0012ACDC LW t4, $01f0(sp) - MobUt.LW(this.ee, this.ee.t4, (496u + this.ee.sp.UL0)); - } - - public virtual void funct0012ace0() - { - this.ee.pc = 1223964u; - // @0012ACE0 ADDIU t7, sp, $0130 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 304))); - // @0012ACE4 ADDIU s3, sp, $0140 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 320))); - // @0012ACE8 ADDIU t5, sp, $00c0 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 192))); - // @0012ACEC LQC2 vf5, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); - // @0012ACF0 LQC2 vf1, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); - // @0012ACF4 LQC2 vf2, $0010(t4) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t4.UL0)); - // @0012ACF8 LQC2 vf3, $0020(t4) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t4.UL0)); - // @0012ACFC LQC2 vf4, $0030(t4) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t4.UL0)); - // @0012AD00 VMULAx.xyzw ACC, vf1, vf5x - // @0012AD04 VMADDAy.xyzw ACC, vf2, vf5y - // @0012AD08 VMADDAz.xyzw ACC, vf3, vf5z - // @0012AD0C VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012AD10 SQC2 vf5, $0000(s3) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); - // @0012AD14 BEQ t7, s3, $0012ad28 - if ((this.ee.t7.UD0 == this.ee.s3.UD0)) - { - this.ee.pc = 1223976u; - } - // @0012AD18 LWC1 $f0, $0134(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); - } - - public virtual void funct0012ad1c() - { - this.ee.pc = 1223992u; - // @0012AD1C LQ t0, $0000(s3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @0012AD20 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012AD24 LWC1 $f0, $0134(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); - // @0012AD28 ADDIU t6, sp, $0120 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012AD2C ADD.S $f0, $f0, $f20 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[20].f); - // @0012AD30 BEQ t6, t7, $0012ad40 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1224000u; - } - // @0012AD34 SWC1 $f0, $0134(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); - } - - public virtual void funct0012ad38() - { - this.ee.pc = 1224032u; - // @0012AD38 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012AD3C SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012AD40 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012AD44 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012AD48 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @0012AD4C ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012AD50 ADDIU t7, t7, $0010 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); - // @0012AD54 SLT t6, s7, t4 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t4.SD0)); - // @0012AD58 BEQ t6, zero, $0012b964 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227108u; - } - // @0012AD5C SW t7, $0234(sp) - MobUt.SW(this.ee, this.ee.t7, (564u + this.ee.sp.UL0)); - } - - public virtual void funct0012ad60() - { - this.ee.pc = 1224052u; - // @0012AD60 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @0012AD64 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012AD68 LW v0, $0020(t7) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); - // @0012AD6C JALR ra, v0 - this.ee.ra.UD0 = 1224052u; - this.ee.pc = this.ee.v0.UL0; - // @0012AD70 NOP - MobUt.Latency(); - } - - public virtual void funct0012ad74() - { - this.ee.pc = 1224100u; - // @0012AD74 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012AD78 ADDU v0, v0, t7 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.t7.SD0))); - // @0012AD7C LW t7, $0234(sp) - MobUt.LW(this.ee, this.ee.t7, (564u + this.ee.sp.UL0)); - // @0012AD80 LWC1 $f2, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[2], (28u + this.ee.v0.UL0)); - // @0012AD84 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0012AD88 LWC1 $f1, $0124(sp) - MobUt.LWC1(this.ee, this.ee.fpr[1], (292u + this.ee.sp.UL0)); - // @0012AD8C MUL.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[2].f); - // @0012AD90 LW t3, $022c(sp) - MobUt.LW(this.ee, this.ee.t3, (556u + this.ee.sp.UL0)); - // @0012AD94 ADD.S $f0, $f0, $f20 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[20].f); - // @0012AD98 SUB.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - // @0012AD9C BEQ t3, zero, $0012ae00 - if ((this.ee.t3.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1224192u; - } - // @0012ADA0 SWC1 $f1, $0124(sp) - MobUt.SWC1(this.ee, this.ee.fpr[1], (292u + this.ee.sp.UL0)); - } - - public virtual void funct0012ae00() - { - this.ee.pc = 1224204u; - // @0012AE00 ADDIU a0, sp, $0120 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012AE04 JAL $00143ec8 - this.ee.ra.UL0 = 1224204u; - this.ee.pc = 1326792u; - // @0012AE08 DADDU a1, s3, zero - this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012ae0c() - { - this.ee.pc = 1224212u; - // @0012AE0C BEQ v0, zero, $0012af80 - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1224576u; - } - // @0012AE10 LW t5, $0224(sp) - MobUt.LW(this.ee, this.ee.t5, (548u + this.ee.sp.UL0)); - } - - public virtual void funct0012af80() - { - this.ee.pc = 1224588u; - // @0012AF80 LW t6, $0218(sp) - MobUt.LW(this.ee, this.ee.t6, (536u + this.ee.sp.UL0)); - // @0012AF84 BEQ t6, zero, $0012b7a8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226664u; - } - // @0012AF88 LW t7, $0218(sp) - MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012b100() - { - this.ee.pc = 1224968u; - // @0012B100 JAL $00124a88 - this.ee.ra.UL0 = 1224968u; - this.ee.pc = 1198728u; - // @0012B104 NOP - MobUt.Latency(); - } - - public virtual void funct0012b108() - { - this.ee.pc = 1224984u; - // @0012B108 LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - // @0012B10C AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012B110 BEQL t7, zero, $0012b158 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225048u; - // @0012B114 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012b158() - { - this.ee.pc = 1225064u; - // @0012B158 LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012B15C SLT t6, s2, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); - // @0012B160 BEQ t6, zero, $0012b6dc - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226460u; - } - // @0012B164 SUBU t7, s2, t7 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); - } - - public virtual void funct0012b168() - { - this.ee.pc = 1225112u; - // @0012B168 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012B16C ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B170 LWC1 $f0, $0090(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); - // @0012B174 SWC1 $f0, $0030(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); - // @0012B178 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012B17C LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012B180 LW t5, $0250(sp) - MobUt.LW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); - // @0012B184 LHU t4, $0010(t7) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t7.UL0)); - // @0012B188 ADDU t3, t6, t5 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - // @0012B18C SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012B190 BEQ t7, zero, $0012b6c8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226440u; - } - // @0012B194 ADDU t5, t6, s3 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - } - - public virtual void funct0012b170() - { - this.ee.pc = 1225112u; - // @0012B170 LWC1 $f0, $0090(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); - // @0012B174 SWC1 $f0, $0030(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); - // @0012B178 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012B17C LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012B180 LW t5, $0250(sp) - MobUt.LW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); - // @0012B184 LHU t4, $0010(t7) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t7.UL0)); - // @0012B188 ADDU t3, t6, t5 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - // @0012B18C SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012B190 BEQ t7, zero, $0012b6c8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226440u; - } - // @0012B194 ADDU t5, t6, s3 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - } - - public virtual void funct0012b198() - { - this.ee.pc = 1225244u; - // @0012B198 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012B19C ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B1A0 ADDIU t7, sp, $0120 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012B1A4 LQC2 vf1, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); - // @0012B1A8 LQC2 vf2, $0010(t3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); - // @0012B1AC LQC2 vf3, $0020(t3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); - // @0012B1B0 LQC2 vf4, $0030(t3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); - // @0012B1B4 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012B1B8 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012B1BC LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012B1C0 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012B1C4 VMULAx.xyzw ACC, vf1, vf5x - // @0012B1C8 VMADDAy.xyzw ACC, vf2, vf5y - // @0012B1CC VMADDAz.xyzw ACC, vf3, vf5z - // @0012B1D0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012B1D4 VMULAx.xyzw ACC, vf1, vf6x - // @0012B1D8 VMADDAy.xyzw ACC, vf2, vf6y - // @0012B1DC VMADDAz.xyzw ACC, vf3, vf6z - // @0012B1E0 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012B1E4 VMULAx.xyzw ACC, vf1, vf7x - // @0012B1E8 VMADDAy.xyzw ACC, vf2, vf7y - // @0012B1EC VMADDAz.xyzw ACC, vf3, vf7z - // @0012B1F0 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012B1F4 VMULAx.xyzw ACC, vf1, vf8x - // @0012B1F8 VMADDAy.xyzw ACC, vf2, vf8y - // @0012B1FC VMADDAz.xyzw ACC, vf3, vf8z - // @0012B200 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012B204 SQC2 vf5, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012B208 SQC2 vf6, $0010(t7) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012B20C SQC2 vf7, $0020(t7) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012B210 SQC2 vf8, $0030(t7) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012B214 BEQ t5, t7, $0012b23c - if ((this.ee.t5.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225276u; - } - // @0012B218 DADDU t4, t7, zero - this.ee.t4.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012b1a0() - { - this.ee.pc = 1225244u; - // @0012B1A0 ADDIU t7, sp, $0120 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012B1A4 LQC2 vf1, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); - // @0012B1A8 LQC2 vf2, $0010(t3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); - // @0012B1AC LQC2 vf3, $0020(t3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); - // @0012B1B0 LQC2 vf4, $0030(t3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); - // @0012B1B4 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012B1B8 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012B1BC LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012B1C0 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012B1C4 VMULAx.xyzw ACC, vf1, vf5x - // @0012B1C8 VMADDAy.xyzw ACC, vf2, vf5y - // @0012B1CC VMADDAz.xyzw ACC, vf3, vf5z - // @0012B1D0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012B1D4 VMULAx.xyzw ACC, vf1, vf6x - // @0012B1D8 VMADDAy.xyzw ACC, vf2, vf6y - // @0012B1DC VMADDAz.xyzw ACC, vf3, vf6z - // @0012B1E0 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012B1E4 VMULAx.xyzw ACC, vf1, vf7x - // @0012B1E8 VMADDAy.xyzw ACC, vf2, vf7y - // @0012B1EC VMADDAz.xyzw ACC, vf3, vf7z - // @0012B1F0 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012B1F4 VMULAx.xyzw ACC, vf1, vf8x - // @0012B1F8 VMADDAy.xyzw ACC, vf2, vf8y - // @0012B1FC VMADDAz.xyzw ACC, vf3, vf8z - // @0012B200 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012B204 SQC2 vf5, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012B208 SQC2 vf6, $0010(t7) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012B20C SQC2 vf7, $0020(t7) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012B210 SQC2 vf8, $0030(t7) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012B214 BEQ t5, t7, $0012b23c - if ((this.ee.t5.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225276u; - } - // @0012B218 DADDU t4, t7, zero - this.ee.t4.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012b21c() - { - this.ee.pc = 1225296u; - // @0012B21C LQ t0, $0000(t4) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012B220 LQ t1, $0010(t4) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); - // @0012B224 LQ t2, $0020(t4) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); - // @0012B228 LQ t3, $0030(t4) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); - // @0012B22C SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012B230 SQ t1, $0010(t5) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); - // @0012B234 SQ t2, $0020(t5) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); - // @0012B238 SQ t3, $0030(t5) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); - // @0012B23C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B240 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B244 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012B248 BEQ t7, zero, $0012b6b8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226424u; - } - // @0012B24C SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b250() - { - this.ee.pc = 1225320u; - // @0012B250 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012B254 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B258 LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012B25C ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B260 BEQL t6, t7, $0012b290 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225360u; - // @0012B264 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b258() - { - this.ee.pc = 1225320u; - // @0012B258 LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012B25C ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B260 BEQL t6, t7, $0012b290 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225360u; - // @0012B264 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b268() - { - this.ee.pc = 1225372u; - // @0012B268 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012B26C LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0012B270 LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0012B274 LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0012B278 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012B27C SQ t1, $0010(t6) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012B280 SQ t2, $0020(t6) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012B284 SQ t3, $0030(t6) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012B288 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B28C LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B290 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012B294 BEQ t7, zero, $0012b6a8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226408u; - } - // @0012B298 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b29c() - { - this.ee.pc = 1225448u; - // @0012B29C LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012B2A0 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B2A4 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012B2A8 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012B2AC LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012B2B0 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B2B4 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B2B8 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B2BC VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012B2C0 VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012B2C4 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012B2C8 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B2CC SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B2D0 SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B2D4 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B2D8 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B2DC SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012B2E0 BEQ t7, zero, $0012b698 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226392u; - } - // @0012B2E4 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b2a4() - { - this.ee.pc = 1225448u; - // @0012B2A4 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012B2A8 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012B2AC LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012B2B0 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B2B4 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B2B8 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B2BC VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012B2C0 VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012B2C4 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012B2C8 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B2CC SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B2D0 SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B2D4 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B2D8 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B2DC SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012B2E0 BEQ t7, zero, $0012b698 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226392u; - } - // @0012B2E4 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b2e8() - { - this.ee.pc = 1225472u; - // @0012B2E8 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012B2EC ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B2F0 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012B2F4 ADDIU t5, sp, $0080 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012B2F8 BEQL t6, t5, $0012b310 - if ((this.ee.t6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1225488u; - // @0012B2FC LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b2f0() - { - this.ee.pc = 1225472u; - // @0012B2F0 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012B2F4 ADDIU t5, sp, $0080 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012B2F8 BEQL t6, t5, $0012b310 - if ((this.ee.t6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1225488u; - // @0012B2FC LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b300() - { - this.ee.pc = 1225500u; - // @0012B300 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012B304 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012B308 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B30C LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B310 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B314 BEQ t7, zero, $0012b68c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226380u; - } - // @0012B318 SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b31c() - { - this.ee.pc = 1225528u; - // @0012B31C LW t6, $0028(s5) - MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); - // @0012B320 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B324 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B328 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B32C SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012B330 BEQ t7, zero, $0012b674 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226356u; - } - // @0012B334 ADDIU s4, t6, $0030 - this.ee.s4.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012b324() - { - this.ee.pc = 1225528u; - // @0012B324 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B328 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B32C SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012B330 BEQ t7, zero, $0012b674 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226356u; - } - // @0012B334 ADDIU s4, t6, $0030 - this.ee.s4.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012b338() - { - this.ee.pc = 1225548u; - // @0012B338 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @0012B33C LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012B340 LW v0, $0020(t7) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); - // @0012B344 JALR ra, v0 - this.ee.ra.UD0 = 1225548u; - this.ee.pc = this.ee.v0.UL0; - // @0012B348 NOP - MobUt.Latency(); - } - - public virtual void funct0012b34c() - { - this.ee.pc = 1225588u; - // @0012B34C ADDU v0, v0, s3 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); - // @0012B350 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012B354 SWC1 $f0, $0000(s4) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s4.UL0)); - // @0012B358 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012B35C LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012B360 LHU t3, $0010(t7) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t7.UL0)); - // @0012B364 ADDU t5, t6, s3 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - // @0012B368 SLT t7, s7, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t3.SD0)); - // @0012B36C BEQ t7, zero, $0012b664 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226340u; - } - // @0012B370 ADDIU t4, t5, $0040 - this.ee.t4.SD0 = ((int)((this.ee.t5.SD0 + 64))); - } - - public virtual void funct0012b350() - { - this.ee.pc = 1225588u; - // @0012B350 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012B354 SWC1 $f0, $0000(s4) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s4.UL0)); - // @0012B358 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012B35C LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012B360 LHU t3, $0010(t7) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t7.UL0)); - // @0012B364 ADDU t5, t6, s3 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - // @0012B368 SLT t7, s7, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t3.SD0)); - // @0012B36C BEQ t7, zero, $0012b664 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226340u; - } - // @0012B370 ADDIU t4, t5, $0040 - this.ee.t4.SD0 = ((int)((this.ee.t5.SD0 + 64))); - } - - public virtual void funct0012b374() - { - this.ee.pc = 1225724u; - // @0012B374 LW t6, $0028(s5) - MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); - // @0012B378 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B37C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B380 ADDIU t7, sp, $0120 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012B384 LQC2 vf1, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @0012B388 LQC2 vf2, $0010(t5) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t5.UL0)); - // @0012B38C LQC2 vf3, $0020(t5) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t5.UL0)); - // @0012B390 LQC2 vf4, $0030(t5) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t5.UL0)); - // @0012B394 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012B398 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012B39C LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012B3A0 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012B3A4 VMULAx.xyzw ACC, vf1, vf5x - // @0012B3A8 VMADDAy.xyzw ACC, vf2, vf5y - // @0012B3AC VMADDAz.xyzw ACC, vf3, vf5z - // @0012B3B0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012B3B4 VMULAx.xyzw ACC, vf1, vf6x - // @0012B3B8 VMADDAy.xyzw ACC, vf2, vf6y - // @0012B3BC VMADDAz.xyzw ACC, vf3, vf6z - // @0012B3C0 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012B3C4 VMULAx.xyzw ACC, vf1, vf7x - // @0012B3C8 VMADDAy.xyzw ACC, vf2, vf7y - // @0012B3CC VMADDAz.xyzw ACC, vf3, vf7z - // @0012B3D0 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012B3D4 VMULAx.xyzw ACC, vf1, vf8x - // @0012B3D8 VMADDAy.xyzw ACC, vf2, vf8y - // @0012B3DC VMADDAz.xyzw ACC, vf3, vf8z - // @0012B3E0 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012B3E4 SQC2 vf5, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012B3E8 SQC2 vf6, $0010(t7) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012B3EC SQC2 vf7, $0020(t7) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012B3F0 SQC2 vf8, $0030(t7) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012B3F4 BEQL t4, t7, $0012b424 - if ((this.ee.t4.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225764u; - // @0012B3F8 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012b37c() - { - this.ee.pc = 1225724u; - // @0012B37C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B380 ADDIU t7, sp, $0120 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012B384 LQC2 vf1, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @0012B388 LQC2 vf2, $0010(t5) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t5.UL0)); - // @0012B38C LQC2 vf3, $0020(t5) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t5.UL0)); - // @0012B390 LQC2 vf4, $0030(t5) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t5.UL0)); - // @0012B394 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012B398 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012B39C LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012B3A0 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012B3A4 VMULAx.xyzw ACC, vf1, vf5x - // @0012B3A8 VMADDAy.xyzw ACC, vf2, vf5y - // @0012B3AC VMADDAz.xyzw ACC, vf3, vf5z - // @0012B3B0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012B3B4 VMULAx.xyzw ACC, vf1, vf6x - // @0012B3B8 VMADDAy.xyzw ACC, vf2, vf6y - // @0012B3BC VMADDAz.xyzw ACC, vf3, vf6z - // @0012B3C0 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012B3C4 VMULAx.xyzw ACC, vf1, vf7x - // @0012B3C8 VMADDAy.xyzw ACC, vf2, vf7y - // @0012B3CC VMADDAz.xyzw ACC, vf3, vf7z - // @0012B3D0 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012B3D4 VMULAx.xyzw ACC, vf1, vf8x - // @0012B3D8 VMADDAy.xyzw ACC, vf2, vf8y - // @0012B3DC VMADDAz.xyzw ACC, vf3, vf8z - // @0012B3E0 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012B3E4 SQC2 vf5, $0000(t7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012B3E8 SQC2 vf6, $0010(t7) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012B3EC SQC2 vf7, $0020(t7) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012B3F0 SQC2 vf8, $0030(t7) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012B3F4 BEQL t4, t7, $0012b424 - if ((this.ee.t4.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225764u; - // @0012B3F8 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012b3fc() - { - this.ee.pc = 1225780u; - // @0012B3FC DADDU t5, t7, zero - this.ee.t5.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); - // @0012B400 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012B404 LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0012B408 LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0012B40C LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0012B410 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012B414 SQ t1, $0010(t4) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); - // @0012B418 SQ t2, $0020(t4) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); - // @0012B41C SQ t3, $0030(t4) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); - // @0012B420 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B424 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B428 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B42C BEQ t7, zero, $0012b658 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226328u; - } - // @0012B430 SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b434() - { - this.ee.pc = 1225812u; - // @0012B434 LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012B438 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B43C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B440 LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012B444 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B448 ADDIU t7, t7, $0040 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 64))); - // @0012B44C BEQL t6, t7, $0012b47c - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225852u; - // @0012B450 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b43c() - { - this.ee.pc = 1225812u; - // @0012B43C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B440 LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012B444 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B448 ADDIU t7, t7, $0040 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 64))); - // @0012B44C BEQL t6, t7, $0012b47c - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1225852u; - // @0012B450 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b454() - { - this.ee.pc = 1225864u; - // @0012B454 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012B458 LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0012B45C LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0012B460 LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0012B464 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012B468 SQ t1, $0010(t6) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012B46C SQ t2, $0020(t6) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012B470 SQ t3, $0030(t6) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012B474 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B478 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B47C SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B480 BEQ t7, zero, $0012b64c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226316u; - } - // @0012B484 SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b488() - { - this.ee.pc = 1225948u; - // @0012B488 LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012B48C SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B490 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B494 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012B498 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012B49C ADDIU t7, t7, $0010 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); - // @0012B4A0 LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012B4A4 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B4A8 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B4AC LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B4B0 VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012B4B4 VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012B4B8 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012B4BC SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B4C0 SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B4C4 SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B4C8 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B4CC LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B4D0 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B4D4 BEQ t7, zero, $0012b640 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226304u; - } - // @0012B4D8 SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b490() - { - this.ee.pc = 1225948u; - // @0012B490 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B494 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012B498 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012B49C ADDIU t7, t7, $0010 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); - // @0012B4A0 LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012B4A4 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B4A8 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B4AC LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B4B0 VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012B4B4 VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012B4B8 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012B4BC SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012B4C0 SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012B4C4 SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012B4C8 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B4CC LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B4D0 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B4D4 BEQ t7, zero, $0012b640 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226304u; - } - // @0012B4D8 SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b4dc() - { - this.ee.pc = 1225976u; - // @0012B4DC LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012B4E0 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B4E4 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B4E8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B4EC SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012B4F0 BEQ t7, zero, $0012b62c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226284u; - } - // @0012B4F4 ADDIU t3, t6, $0030 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012b4e4() - { - this.ee.pc = 1225976u; - // @0012B4E4 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B4E8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B4EC SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012B4F0 BEQ t7, zero, $0012b62c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226284u; - } - // @0012B4F4 ADDIU t3, t6, $0030 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012b4f8() - { - this.ee.pc = 1226000u; - // @0012B4F8 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012B4FC ADDU v0, t7, s3 - this.ee.v0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B500 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B504 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B508 BEQ t7, zero, $0012b620 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226272u; - } - // @0012B50C SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b500() - { - this.ee.pc = 1226000u; - // @0012B500 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B504 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B508 BEQ t7, zero, $0012b620 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226272u; - } - // @0012B50C SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b510() - { - this.ee.pc = 1226092u; - // @0012B510 LW t6, $0028(s5) - MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); - // @0012B514 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B518 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B51C ADDIU t7, t6, $0030 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012B520 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012B524 LQC2 vf1, $0000(v0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); - // @0012B528 LQC2 vf2, $0010(v0) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); - // @0012B52C LQC2 vf3, $0020(v0) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); - // @0012B530 LQC2 vf4, $0030(v0) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); - // @0012B534 VMULAx.xyz ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - // @0012B538 VMADDAy.xyz ACC, vf2, vf5y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); - // @0012B53C VMADDAz.xyz ACC, vf3, vf5z - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); - // @0012B540 VMADDw.xyz vf5, vf4, vf0w - this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); - this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); - this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); - // @0012B544 VMOVE.w vf5, vf0 - this.ee.VF[5].w = this.ee.VF[0].w; - // @0012B548 SQC2 vf5, $0000(t3) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012B54C LW t6, $0220(sp) - MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); - // @0012B550 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B554 LHU a2, $0002(t6) - MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.t6.UL0)); - // @0012B558 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B55C ANDI t5, a2, $ffff - this.ee.t5.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @0012B560 SLT t7, t5, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); - // @0012B564 BEQ t7, zero, $0012b610 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226256u; - } - // @0012B568 DADDU t3, t4, zero - this.ee.t3.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012b518() - { - this.ee.pc = 1226092u; - // @0012B518 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B51C ADDIU t7, t6, $0030 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012B520 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012B524 LQC2 vf1, $0000(v0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); - // @0012B528 LQC2 vf2, $0010(v0) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); - // @0012B52C LQC2 vf3, $0020(v0) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); - // @0012B530 LQC2 vf4, $0030(v0) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); - // @0012B534 VMULAx.xyz ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - // @0012B538 VMADDAy.xyz ACC, vf2, vf5y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); - // @0012B53C VMADDAz.xyz ACC, vf3, vf5z - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); - // @0012B540 VMADDw.xyz vf5, vf4, vf0w - this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); - this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); - this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); - // @0012B544 VMOVE.w vf5, vf0 - this.ee.VF[5].w = this.ee.VF[0].w; - // @0012B548 SQC2 vf5, $0000(t3) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012B54C LW t6, $0220(sp) - MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); - // @0012B550 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B554 LHU a2, $0002(t6) - MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.t6.UL0)); - // @0012B558 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B55C ANDI t5, a2, $ffff - this.ee.t5.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @0012B560 SLT t7, t5, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); - // @0012B564 BEQ t7, zero, $0012b610 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226256u; - } - // @0012B568 DADDU t3, t4, zero - this.ee.t3.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012b56c() - { - this.ee.pc = 1226124u; - // @0012B56C LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012B570 SLL t7, t5, 6 - MobUt.SLL(this.ee.t7, this.ee.t5, 6); - // @0012B574 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B578 LHU t6, $0010(t3) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t3.UL0)); - // @0012B57C ADDIU t2, t7, $0030 - this.ee.t2.SD0 = ((int)((this.ee.t7.SD0 + 48))); - // @0012B580 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B584 BEQ t7, zero, $0012b604 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226244u; - } - // @0012B588 SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b574() - { - this.ee.pc = 1226124u; - // @0012B574 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B578 LHU t6, $0010(t3) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t3.UL0)); - // @0012B57C ADDIU t2, t7, $0030 - this.ee.t2.SD0 = ((int)((this.ee.t7.SD0 + 48))); - // @0012B580 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B584 BEQ t7, zero, $0012b604 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226244u; - } - // @0012B588 SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b58c() - { - this.ee.pc = 1226156u; - // @0012B58C LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012B590 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B594 LHU t5, $0010(t3) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t3.UL0)); - // @0012B598 ADDU t4, t6, t7 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B59C ANDI a2, a2, $ffff - this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @0012B5A0 SLT t7, a2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); - // @0012B5A4 BEQ t7, zero, $0012b5e8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226216u; - } - // @0012B5A8 SLL t7, a2, 4 - MobUt.SLL(this.ee.t7, this.ee.a2, 4); - } - - public virtual void funct0012b594() - { - this.ee.pc = 1226156u; - // @0012B594 LHU t5, $0010(t3) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t3.UL0)); - // @0012B598 ADDU t4, t6, t7 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B59C ANDI a2, a2, $ffff - this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @0012B5A0 SLT t7, a2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); - // @0012B5A4 BEQ t7, zero, $0012b5e8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226216u; - } - // @0012B5A8 SLL t7, a2, 4 - MobUt.SLL(this.ee.t7, this.ee.a2, 4); - } - - public virtual void funct0012b5ac() - { - this.ee.pc = 1226216u; - // @0012B5AC LW t6, $0024(s5) - MobUt.LW(this.ee, this.ee.t6, (36u + this.ee.s5.UL0)); - // @0012B5B0 ADDU a2, t6, t7 - this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B5B4 LQC2 vf5, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); - // @0012B5B8 LQC2 vf1, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); - // @0012B5BC LQC2 vf2, $0010(t4) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t4.UL0)); - // @0012B5C0 LQC2 vf3, $0020(t4) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t4.UL0)); - // @0012B5C4 LQC2 vf4, $0030(t4) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t4.UL0)); - // @0012B5C8 VMULAx.xyz ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - // @0012B5CC VMADDAy.xyz ACC, vf2, vf5y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); - // @0012B5D0 VMADDAz.xyz ACC, vf3, vf5z - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); - // @0012B5D4 VMADDw.xyz vf5, vf4, vf0w - this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); - this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); - this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); - // @0012B5D8 VMOVE.w vf5, vf0 - this.ee.VF[5].w = this.ee.VF[0].w; - // @0012B5DC SQC2 vf5, $0000(t2) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t2.UL0)); - // @0012B5E0 BEQ zero, zero, $00129e60 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220192u; - } - // @0012B5E4 LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - } - - public virtual void funct0012b5b4() - { - this.ee.pc = 1226216u; - // @0012B5B4 LQC2 vf5, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); - // @0012B5B8 LQC2 vf1, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); - // @0012B5BC LQC2 vf2, $0010(t4) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t4.UL0)); - // @0012B5C0 LQC2 vf3, $0020(t4) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t4.UL0)); - // @0012B5C4 LQC2 vf4, $0030(t4) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t4.UL0)); - // @0012B5C8 VMULAx.xyz ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - // @0012B5CC VMADDAy.xyz ACC, vf2, vf5y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); - // @0012B5D0 VMADDAz.xyz ACC, vf3, vf5z - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); - // @0012B5D4 VMADDw.xyz vf5, vf4, vf0w - this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); - this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); - this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); - // @0012B5D8 VMOVE.w vf5, vf0 - this.ee.VF[5].w = this.ee.VF[0].w; - // @0012B5DC SQC2 vf5, $0000(t2) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t2.UL0)); - // @0012B5E0 BEQ zero, zero, $00129e60 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220192u; - } - // @0012B5E4 LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - } - - public virtual void funct0012b5e8() - { - this.ee.pc = 1226244u; - // @0012B5E8 LW t6, $0018(t3) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t3.UL0)); - // @0012B5EC SUBU t7, a2, t5 - this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); - // @0012B5F0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B5F4 ADDU t6, t3, t6 - this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t6.SD0))); - // @0012B5F8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B5FC BEQ zero, zero, $0012b5b4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226164u; - } - // @0012B600 ADDIU a2, t6, $0030 - this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012b604() - { - this.ee.pc = 1226256u; - // @0012B604 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B608 BEQ zero, zero, $0012b594 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226132u; - } - // @0012B60C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b610() - { - this.ee.pc = 1226272u; - // @0012B610 SUBU t7, t5, t6 - this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); - // @0012B614 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B618 BEQ zero, zero, $0012b574 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226100u; - } - // @0012B61C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b620() - { - this.ee.pc = 1226284u; - // @0012B620 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012B624 BEQ zero, zero, $0012b518 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226008u; - } - // @0012B628 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b62c() - { - this.ee.pc = 1226304u; - // @0012B62C SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012B630 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B634 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B638 BEQ zero, zero, $0012b500 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225984u; - } - // @0012B63C ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b640() - { - this.ee.pc = 1226316u; - // @0012B640 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B644 BEQ zero, zero, $0012b4e4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225956u; - } - // @0012B648 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b64c() - { - this.ee.pc = 1226328u; - // @0012B64C LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B650 BEQ zero, zero, $0012b490 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225872u; - } - // @0012B654 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b658() - { - this.ee.pc = 1226340u; - // @0012B658 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B65C BEQ zero, zero, $0012b43c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225788u; - } - // @0012B660 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b664() - { - this.ee.pc = 1226356u; - // @0012B664 SUBU t7, s7, t3 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t3.UD0))); - // @0012B668 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012B66C BEQ zero, zero, $0012b37c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225596u; - } - // @0012B670 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b674() - { - this.ee.pc = 1226380u; - // @0012B674 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012B678 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012B67C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B680 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012B684 BEQ zero, zero, $0012b350 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225552u; - } - // @0012B688 ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b68c() - { - this.ee.pc = 1226392u; - // @0012B68C LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012B690 BEQ zero, zero, $0012b324 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225508u; - } - // @0012B694 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b698() - { - this.ee.pc = 1226408u; - // @0012B698 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B69C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B6A0 BEQ zero, zero, $0012b2f0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225456u; - } - // @0012B6A4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b6a8() - { - this.ee.pc = 1226424u; - // @0012B6A8 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B6AC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B6B0 BEQ zero, zero, $0012b2a4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225380u; - } - // @0012B6B4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b6b8() - { - this.ee.pc = 1226440u; - // @0012B6B8 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B6BC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B6C0 BEQ zero, zero, $0012b258 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225304u; - } - // @0012B6C4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b6c8() - { - this.ee.pc = 1226460u; - // @0012B6C8 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012B6CC LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012B6D0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B6D4 BEQ zero, zero, $0012b1a0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225120u; - } - // @0012B6D8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b6dc() - { - this.ee.pc = 1226476u; - // @0012B6DC LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012B6E0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B6E4 BEQ zero, zero, $0012b170 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1225072u; - } - // @0012B6E8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b7a8() - { - this.ee.pc = 1226692u; - // @0012B7A8 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B7AC LW t3, $0014(s0) - MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); - // @0012B7B0 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B7B4 ADDU t6, t3, s8 - this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); - // @0012B7B8 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012B7BC BEQ t7, zero, $0012b930 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227056u; - } - // @0012B7C0 SW t6, $0244(sp) - MobUt.SW(this.ee, this.ee.t6, (580u + this.ee.sp.UL0)); - } - - public virtual void funct0012b7c4() - { - this.ee.pc = 1226712u; - // @0012B7C4 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @0012B7C8 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012B7CC LW v0, $0020(t7) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); - // @0012B7D0 JALR ra, v0 - this.ee.ra.UD0 = 1226712u; - this.ee.pc = this.ee.v0.UL0; - // @0012B7D4 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - } - - public virtual void funct0012b7d8() - { - this.ee.pc = 1226764u; - // @0012B7D8 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B7DC ADDU v0, v0, s3 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); - // @0012B7E0 LW t3, $0014(s0) - MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); - // @0012B7E4 LW t7, $0244(sp) - MobUt.LW(this.ee, this.ee.t7, (580u + this.ee.sp.UL0)); - // @0012B7E8 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012B7EC LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @0012B7F0 ADDU t7, t3, s8 - this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); - // @0012B7F4 ADDIU t7, t7, $0010 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); - // @0012B7F8 SW t7, $0248(sp) - MobUt.SW(this.ee, this.ee.t7, (584u + this.ee.sp.UL0)); - // @0012B7FC LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B800 SLT t7, s7, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); - // @0012B804 BEQ t7, zero, $0012b918 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227032u; - } - // @0012B808 MUL.S $f20, $f1, $f0 - this.ee.fpr[20].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012b7e4() - { - this.ee.pc = 1226764u; - // @0012B7E4 LW t7, $0244(sp) - MobUt.LW(this.ee, this.ee.t7, (580u + this.ee.sp.UL0)); - // @0012B7E8 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012B7EC LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @0012B7F0 ADDU t7, t3, s8 - this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); - // @0012B7F4 ADDIU t7, t7, $0010 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); - // @0012B7F8 SW t7, $0248(sp) - MobUt.SW(this.ee, this.ee.t7, (584u + this.ee.sp.UL0)); - // @0012B7FC LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B800 SLT t7, s7, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); - // @0012B804 BEQ t7, zero, $0012b918 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227032u; - } - // @0012B808 MUL.S $f20, $f1, $f0 - this.ee.fpr[20].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012b80c() - { - this.ee.pc = 1226784u; - // @0012B80C LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @0012B810 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012B814 LW v0, $0020(t7) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); - // @0012B818 JALR ra, v0 - this.ee.ra.UD0 = 1226784u; - this.ee.pc = this.ee.v0.UL0; - // @0012B81C NOP - MobUt.Latency(); - } - - public virtual void funct0012b820() - { - this.ee.pc = 1226824u; - // @0012B820 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B824 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012B828 ADDU v0, v0, t7 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.t7.SD0))); - // @0012B82C LW t3, $0248(sp) - MobUt.LW(this.ee, this.ee.t3, (584u + this.ee.sp.UL0)); - // @0012B830 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012B834 LWC1 $f1, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); - // @0012B838 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B83C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012B840 BEQ t7, zero, $0012b904 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227012u; - } - // @0012B844 MUL.S $f13, $f1, $f0 - this.ee.fpr[13].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012b82c() - { - this.ee.pc = 1226824u; - // @0012B82C LW t3, $0248(sp) - MobUt.LW(this.ee, this.ee.t3, (584u + this.ee.sp.UL0)); - // @0012B830 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012B834 LWC1 $f1, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); - // @0012B838 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B83C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012B840 BEQ t7, zero, $0012b904 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227012u; - } - // @0012B844 MUL.S $f13, $f1, $f0 - this.ee.fpr[13].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012b848() - { - this.ee.pc = 1226848u; - // @0012B848 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012B84C ADDU a3, t7, s3 - this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012B850 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B854 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B858 BEQ t7, zero, $0012b8f8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227000u; - } - // @0012B85C SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b850() - { - this.ee.pc = 1226848u; - // @0012B850 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012B854 SLT t7, s7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); - // @0012B858 BEQ t7, zero, $0012b8f8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227000u; - } - // @0012B85C SUBU t7, s7, t6 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012b860() - { - this.ee.pc = 1226876u; - // @0012B860 LW t6, $0028(s5) - MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); - // @0012B864 SLL t7, s7, 6 - MobUt.SLL(this.ee.t7, this.ee.s7, 6); - // @0012B868 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B86C ADDU t0, t6, t7 - this.ee.t0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B870 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012B874 BEQL t7, zero, $0012b8e0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226976u; - // @0012B878 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b868() - { - this.ee.pc = 1226876u; - // @0012B868 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B86C ADDU t0, t6, t7 - this.ee.t0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B870 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012B874 BEQL t7, zero, $0012b8e0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226976u; - // @0012B878 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012b87c() - { - this.ee.pc = 1226900u; - // @0012B87C LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012B880 ADDU t3, t7, s8 - this.ee.t3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012B884 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B888 SLT t7, s7, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); - // @0012B88C BEQ t7, zero, $0012b8c4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226948u; - } - // @0012B890 SLL t7, s7, 4 - MobUt.SLL(this.ee.t7, this.ee.s7, 4); - } - - public virtual void funct0012b884() - { - this.ee.pc = 1226900u; - // @0012B884 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012B888 SLT t7, s7, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); - // @0012B88C BEQ t7, zero, $0012b8c4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226948u; - } - // @0012B890 SLL t7, s7, 4 - MobUt.SLL(this.ee.t7, this.ee.s7, 4); - } - - public virtual void funct0012b894() - { - this.ee.pc = 1226948u; - // @0012B894 LW t6, $0020(s5) - MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.s5.UL0)); - // @0012B898 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B89C LW t4, $024c(sp) - MobUt.LW(this.ee, this.ee.t4, (588u + this.ee.sp.UL0)); - // @0012B8A0 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @0012B8A4 LWC1 $f14, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t3.UL0)); - // @0012B8A8 ADDIU a0, sp, $00a0 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012B8AC ANDI a2, t4, $0003 - this.ee.a2.UD0 = ((ushort)((this.ee.t4.US0 & 3))); - // @0012B8B0 LWC1 $f15, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[15], (0u + this.ee.t6.UL0)); - // @0012B8B4 ADDIU a2, a2, $fffe - this.ee.a2.SD0 = ((int)((this.ee.a2.SD0 + -2))); - // @0012B8B8 ADDIU a1, sp, $00b0 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @0012B8BC BEQ zero, zero, $0012b100 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1224960u; - } - // @0012B8C0 DADDU t1, zero, zero - this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012b89c() - { - this.ee.pc = 1226948u; - // @0012B89C LW t4, $024c(sp) - MobUt.LW(this.ee, this.ee.t4, (588u + this.ee.sp.UL0)); - // @0012B8A0 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @0012B8A4 LWC1 $f14, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t3.UL0)); - // @0012B8A8 ADDIU a0, sp, $00a0 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012B8AC ANDI a2, t4, $0003 - this.ee.a2.UD0 = ((ushort)((this.ee.t4.US0 & 3))); - // @0012B8B0 LWC1 $f15, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[15], (0u + this.ee.t6.UL0)); - // @0012B8B4 ADDIU a2, a2, $fffe - this.ee.a2.SD0 = ((int)((this.ee.a2.SD0 + -2))); - // @0012B8B8 ADDIU a1, sp, $00b0 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @0012B8BC BEQ zero, zero, $0012b100 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1224960u; - } - // @0012B8C0 DADDU t1, zero, zero - this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012b8c4() - { - this.ee.pc = 1226976u; - // @0012B8C4 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012B8C8 SUBU t7, s7, t5 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t5.UD0))); - // @0012B8CC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B8D0 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012B8D4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B8D8 BEQ zero, zero, $0012b89c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226908u; - } - // @0012B8DC ADDIU t6, t6, $0020 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012b8e0() - { - this.ee.pc = 1227000u; - // @0012B8E0 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012B8E4 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B8E8 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012B8EC ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B8F0 BEQ zero, zero, $0012b884 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226884u; - } - // @0012B8F4 ADDIU t3, t6, $0020 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012b8f8() - { - this.ee.pc = 1227012u; - // @0012B8F8 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012B8FC BEQ zero, zero, $0012b868 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226856u; - } - // @0012B900 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012b904() - { - this.ee.pc = 1227032u; - // @0012B904 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - // @0012B908 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012B90C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B910 BEQ zero, zero, $0012b850 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226832u; - } - // @0012B914 ADDU a3, t6, t7 - this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b918() - { - this.ee.pc = 1227056u; - // @0012B918 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012B91C SUBU t7, s7, t5 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t5.UD0))); - // @0012B920 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B924 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012B928 BEQ zero, zero, $0012b82c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226796u; - } - // @0012B92C ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b930() - { - this.ee.pc = 1227084u; - // @0012B930 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012B934 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012B938 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B93C SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012B940 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012B944 BEQ zero, zero, $0012b7e4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1226724u; - } - // @0012B948 ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b97c() - { - this.ee.pc = 1227148u; - // @0012B97C LW t6, $0000(a0) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a0.UL0)); - // @0012B980 LW t7, $0014(t6) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.t6.UL0)); - // @0012B984 JALR ra, t7 - this.ee.ra.UD0 = 1227148u; - this.ee.pc = this.ee.t7.UL0; - // @0012B988 ADDIU a1, s3, $ffe0 - this.ee.a1.SD0 = ((int)((this.ee.s3.SD0 + -32))); - } - - public virtual void funct0012b98c() - { - this.ee.pc = 1227156u; - // @0012B98C BEQ zero, zero, $0012acb8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223864u; - } - // @0012B990 MOV.S $f20, $f0 - this.ee.fpr[20].f = this.ee.fpr[0].f; - } - - public virtual void funct0012b998() - { - this.ee.pc = 1227184u; - // @0012B998 ADDIU t7, t7, $0020 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 32))); - // @0012B99C SW t7, $0224(sp) - MobUt.SW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); - // @0012B9A0 LD t5, $0010(t7) - MobUt.LD(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); - // @0012B9A4 AND t7, t5, t4 - this.ee.t7.UD0 = (this.ee.t5.UD0 & this.ee.t4.UD0); - // @0012B9A8 BEQL t7, zero, $0012ac68 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223784u; - // @0012B9AC LW t3, $0224(sp) - MobUt.LW(this.ee, this.ee.t3, (548u + this.ee.sp.UL0)); - } - } - - public virtual void funct0012b9b0() - { - this.ee.pc = 1227192u; - // @0012B9B0 BEQ zero, zero, $0012acd8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223896u; - } - // @0012B9B4 LW t3, $0228(sp) - MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); - } - - public virtual void funct0012b9b8() - { - this.ee.pc = 1227220u; - // @0012B9B8 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - // @0012B9BC SUBU t7, s7, t2 - this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t2.UD0))); - // @0012B9C0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B9C4 ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012B9C8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012B9CC BEQ zero, zero, $0012abf0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223664u; - } - // @0012B9D0 ADDIU t6, t6, $0010 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct0012b9d4() - { - this.ee.pc = 1227244u; - // @0012B9D4 SUBU t7, t4, t6 - this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t6.UD0))); - // @0012B9D8 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012B9DC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B9E0 SW t5, $0250(sp) - MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); - // @0012B9E4 BEQ zero, zero, $0012aa7c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223292u; - } - // @0012B9E8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012b9ec() - { - this.ee.pc = 1227272u; - // @0012B9EC LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012B9F0 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012B9F4 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012B9F8 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012B9FC ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012BA00 BEQ zero, zero, $0012aa38 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223224u; - } - // @0012BA04 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012ba08() - { - this.ee.pc = 1227284u; - // @0012BA08 ADDIU t7, zero, $ffff - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @0012BA0C BNE a2, t7, $0012ba40 - if ((this.ee.a2.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1227328u; - } - // @0012BA10 LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012ba14() - { - this.ee.pc = 1227292u; - // @0012BA14 BNE a3, a2, $0012ba40 - if ((this.ee.a3.UD0 != this.ee.a2.UD0)) - { - this.ee.pc = 1227328u; - } - // @0012BA18 LW t7, $0218(sp) - MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012ba1c() - { - this.ee.pc = 1227300u; - // @0012BA1C BNE t7, zero, $0012ba40 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1227328u; - } - // @0012BA20 LUI t7, $000c - this.ee.t7.SD0 = 786432; - } - - public virtual void funct0012ba24() - { - this.ee.pc = 1227312u; - // @0012BA24 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012BA28 BNE t7, zero, $0012ba40 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1227328u; - } - // @0012BA2C NOP - MobUt.Latency(); - } - - public virtual void funct0012ba30() - { - this.ee.pc = 1227320u; - // @0012BA30 BNE v0, zero, $0012ba40 - if ((this.ee.v0.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1227328u; - } - // @0012BA34 LW t3, $021c(sp) - MobUt.LW(this.ee, this.ee.t3, (540u + this.ee.sp.UL0)); - } - - public virtual void funct0012ba38() - { - this.ee.pc = 1227328u; - // @0012BA38 BEQ t3, zero, $0012bb34 - if ((this.ee.t3.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227572u; - } - // @0012BA3C LUI t7, $0004 - this.ee.t7.SD0 = 262144; - } - - public virtual void funct0012ba40() - { - this.ee.pc = 1227336u; - // @0012BA40 BGEZL t4, $0012ca88 - if ((this.ee.t4.SD0 >= 0)) - { - this.ee.pc = 1231496u; - // @0012BA44 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012ba48() - { - this.ee.pc = 1227348u; - // @0012BA48 ADDIU a1, sp, $0040 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012BA4C BEQ a1, sp, $0012ba74 - if ((this.ee.a1.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1227380u; - } - // @0012BA50 NOP - MobUt.Latency(); - } - - public virtual void funct0012ba54() - { - this.ee.pc = 1227584u; - // @0012BA54 LQ t0, $0000(sp) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @0012BA58 LQ t1, $0010(sp) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.sp.UL[0])); - // @0012BA5C LQ t2, $0020(sp) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.sp.UL[0])); - // @0012BA60 LQ t3, $0030(sp) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.sp.UL[0])); - // @0012BA64 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012BA68 SQ t1, $0010(a1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012BA6C SQ t2, $0020(a1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012BA70 SQ t3, $0030(a1) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); - // @0012BA74 LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @0012BA78 LQC2 vf2, $0010(a1) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); - // @0012BA7C LQC2 vf3, $0020(a1) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); - // @0012BA80 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BA84 VOPMULA.xyz ACC, vf2, vf3 - this.ee.Vacc.x = (this.ee.VF[2].y * this.ee.VF[3].z); - this.ee.Vacc.y = (this.ee.VF[2].z * this.ee.VF[3].x); - this.ee.Vacc.z = (this.ee.VF[2].x * this.ee.VF[3].y); - // @0012BA88 VOPMSUB.xyz vf5, vf3, vf2 - this.ee.VF[5].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[3].y, this.ee.VF[2].z); - this.ee.VF[5].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[3].z, this.ee.VF[2].x); - this.ee.VF[5].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[3].x, this.ee.VF[2].y); - // @0012BA8C VOPMULA.xyz ACC, vf3, vf1 - this.ee.Vacc.x = (this.ee.VF[3].y * this.ee.VF[1].z); - this.ee.Vacc.y = (this.ee.VF[3].z * this.ee.VF[1].x); - this.ee.Vacc.z = (this.ee.VF[3].x * this.ee.VF[1].y); - // @0012BA90 VOPMSUB.xyz vf6, vf1, vf3 - this.ee.VF[6].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[1].y, this.ee.VF[3].z); - this.ee.VF[6].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[1].z, this.ee.VF[3].x); - this.ee.VF[6].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[1].x, this.ee.VF[3].y); - // @0012BA94 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @0012BA98 VOPMSUB.xyz vf7, vf2, vf1 - this.ee.VF[7].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[7].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[7].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @0012BA9C VMUL.xyz vf8, vf1, vf5 - this.ee.VF[8].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[5].x); - this.ee.VF[8].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[5].y); - this.ee.VF[8].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[5].z); - // @0012BAA0 VMUL.xyz vf1, vf4, vf5 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[5].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[5].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[5].z); - // @0012BAA4 VMUL.xyz vf2, vf4, vf6 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[6].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[6].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[6].z); - // @0012BAA8 VMUL.xyz vf3, vf4, vf7 - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[7].x); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[7].y); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[7].z); - // @0012BAAC VADDy.x vf8, vf8, vf8y - this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].y); - // @0012BAB0 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @0012BAB4 VADDx.y vf2, vf2, vf2x - this.ee.VF[2].y = (this.ee.VF[2].y + this.ee.VF[2].x); - // @0012BAB8 VADDx.z vf3, vf3, vf3x - this.ee.VF[3].z = (this.ee.VF[3].z + this.ee.VF[3].x); - // @0012BABC VADDz.x vf8, vf8, vf8z - this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].z); - // @0012BAC0 VADDz.x vf4, vf1, vf1z - this.ee.VF[4].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @0012BAC4 VADDz.y vf4, vf2, vf2z - this.ee.VF[4].y = (this.ee.VF[2].y + this.ee.VF[2].z); - // @0012BAC8 VADDy.z vf4, vf3, vf3y - this.ee.VF[4].z = (this.ee.VF[3].z + this.ee.VF[3].y); - // @0012BACC VDIV Q, vf0w, vf8x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[8].x); - // @0012BAD0 QMFC2 t0, vf5 - MobUt.QMFC2(this.ee.t0, this.ee.VF[5]); - // @0012BAD4 QMFC2 t1, vf6 - MobUt.QMFC2(this.ee.t1, this.ee.VF[6]); - // @0012BAD8 QMFC2 t2, vf7 - MobUt.QMFC2(this.ee.t2, this.ee.VF[7]); - // @0012BADC QMFC2 t3, vf0 - MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); - // @0012BAE0 PEXTLW t4, t1, t0 - this.ee.t4.UL[0] = this.ee.t0.UL[0]; - this.ee.t4.UL[1] = this.ee.t1.UL[0]; - this.ee.t4.UL[2] = this.ee.t0.UL[1]; - this.ee.t4.UL[3] = this.ee.t1.UL[1]; - // @0012BAE4 PEXTUW t5, t1, t0 - this.ee.t5.UL[0] = this.ee.t0.UL[2]; - this.ee.t5.UL[1] = this.ee.t1.UL[2]; - this.ee.t5.UL[2] = this.ee.t0.UL[3]; - this.ee.t5.UL[3] = this.ee.t1.UL[3]; - // @0012BAE8 PEXTLW t6, t3, t2 - this.ee.t6.UL[0] = this.ee.t2.UL[0]; - this.ee.t6.UL[1] = this.ee.t3.UL[0]; - this.ee.t6.UL[2] = this.ee.t2.UL[1]; - this.ee.t6.UL[3] = this.ee.t3.UL[1]; - // @0012BAEC PEXTUW t7, t3, t2 - this.ee.t7.UL[0] = this.ee.t2.UL[2]; - this.ee.t7.UL[1] = this.ee.t3.UL[2]; - this.ee.t7.UL[2] = this.ee.t2.UL[3]; - this.ee.t7.UL[3] = this.ee.t3.UL[3]; - // @0012BAF0 PCPYLD t0, t6, t4 - this.ee.t0.UD1 = this.ee.t6.UD0; - this.ee.t0.UD0 = this.ee.t4.UD0; - // @0012BAF4 PCPYUD t1, t4, t6 - this.ee.t1.UD0 = this.ee.t4.UD1; - this.ee.t1.UD1 = this.ee.t6.UD1; - // @0012BAF8 PCPYLD t2, t7, t5 - this.ee.t2.UD1 = this.ee.t7.UD0; - this.ee.t2.UD0 = this.ee.t5.UD0; - // @0012BAFC QMTC2 t0, vf1 - MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); - // @0012BB00 QMTC2 t1, vf2 - MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); - // @0012BB04 QMTC2 t2, vf3 - MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); - // @0012BB08 VSUB.xyz vf4, vf0, vf4 - this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); - this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); - this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); - // @0012BB0C VWAITQ - MobUt.Latency(); - // @0012BB10 VMULq.xyzw vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - this.ee.VF[1].w = (this.ee.VF[1].w * this.ee.Vq.f); - // @0012BB14 VMULq.xyzw vf2, vf2, Q - this.ee.VF[2].x = (this.ee.VF[2].x * this.ee.Vq.f); - this.ee.VF[2].y = (this.ee.VF[2].y * this.ee.Vq.f); - this.ee.VF[2].z = (this.ee.VF[2].z * this.ee.Vq.f); - this.ee.VF[2].w = (this.ee.VF[2].w * this.ee.Vq.f); - // @0012BB18 VMULq.xyzw vf3, vf3, Q - this.ee.VF[3].x = (this.ee.VF[3].x * this.ee.Vq.f); - this.ee.VF[3].y = (this.ee.VF[3].y * this.ee.Vq.f); - this.ee.VF[3].z = (this.ee.VF[3].z * this.ee.Vq.f); - this.ee.VF[3].w = (this.ee.VF[3].w * this.ee.Vq.f); - // @0012BB1C VMULq.xyz vf4, vf4, Q - this.ee.VF[4].x = (this.ee.VF[4].x * this.ee.Vq.f); - this.ee.VF[4].y = (this.ee.VF[4].y * this.ee.Vq.f); - this.ee.VF[4].z = (this.ee.VF[4].z * this.ee.Vq.f); - // @0012BB20 SQC2 vf1, $0000(a1) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @0012BB24 SQC2 vf2, $0010(a1) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); - // @0012BB28 SQC2 vf3, $0020(a1) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); - // @0012BB2C SQC2 vf4, $0030(a1) - MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BB30 LUI t7, $0004 - this.ee.t7.SD0 = 262144; - // @0012BB34 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012BB38 BEQ t7, zero, $0012c738 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230648u; - } - // @0012BB3C ADDIU t7, zero, $ffff - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); - } - - public virtual void funct0012ba74() - { - this.ee.pc = 1227584u; - // @0012BA74 LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @0012BA78 LQC2 vf2, $0010(a1) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); - // @0012BA7C LQC2 vf3, $0020(a1) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); - // @0012BA80 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BA84 VOPMULA.xyz ACC, vf2, vf3 - this.ee.Vacc.x = (this.ee.VF[2].y * this.ee.VF[3].z); - this.ee.Vacc.y = (this.ee.VF[2].z * this.ee.VF[3].x); - this.ee.Vacc.z = (this.ee.VF[2].x * this.ee.VF[3].y); - // @0012BA88 VOPMSUB.xyz vf5, vf3, vf2 - this.ee.VF[5].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[3].y, this.ee.VF[2].z); - this.ee.VF[5].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[3].z, this.ee.VF[2].x); - this.ee.VF[5].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[3].x, this.ee.VF[2].y); - // @0012BA8C VOPMULA.xyz ACC, vf3, vf1 - this.ee.Vacc.x = (this.ee.VF[3].y * this.ee.VF[1].z); - this.ee.Vacc.y = (this.ee.VF[3].z * this.ee.VF[1].x); - this.ee.Vacc.z = (this.ee.VF[3].x * this.ee.VF[1].y); - // @0012BA90 VOPMSUB.xyz vf6, vf1, vf3 - this.ee.VF[6].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[1].y, this.ee.VF[3].z); - this.ee.VF[6].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[1].z, this.ee.VF[3].x); - this.ee.VF[6].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[1].x, this.ee.VF[3].y); - // @0012BA94 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @0012BA98 VOPMSUB.xyz vf7, vf2, vf1 - this.ee.VF[7].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[7].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[7].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @0012BA9C VMUL.xyz vf8, vf1, vf5 - this.ee.VF[8].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[5].x); - this.ee.VF[8].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[5].y); - this.ee.VF[8].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[5].z); - // @0012BAA0 VMUL.xyz vf1, vf4, vf5 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[5].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[5].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[5].z); - // @0012BAA4 VMUL.xyz vf2, vf4, vf6 - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[6].x); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[6].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[6].z); - // @0012BAA8 VMUL.xyz vf3, vf4, vf7 - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[7].x); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[7].y); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[7].z); - // @0012BAAC VADDy.x vf8, vf8, vf8y - this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].y); - // @0012BAB0 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @0012BAB4 VADDx.y vf2, vf2, vf2x - this.ee.VF[2].y = (this.ee.VF[2].y + this.ee.VF[2].x); - // @0012BAB8 VADDx.z vf3, vf3, vf3x - this.ee.VF[3].z = (this.ee.VF[3].z + this.ee.VF[3].x); - // @0012BABC VADDz.x vf8, vf8, vf8z - this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].z); - // @0012BAC0 VADDz.x vf4, vf1, vf1z - this.ee.VF[4].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @0012BAC4 VADDz.y vf4, vf2, vf2z - this.ee.VF[4].y = (this.ee.VF[2].y + this.ee.VF[2].z); - // @0012BAC8 VADDy.z vf4, vf3, vf3y - this.ee.VF[4].z = (this.ee.VF[3].z + this.ee.VF[3].y); - // @0012BACC VDIV Q, vf0w, vf8x - this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[8].x); - // @0012BAD0 QMFC2 t0, vf5 - MobUt.QMFC2(this.ee.t0, this.ee.VF[5]); - // @0012BAD4 QMFC2 t1, vf6 - MobUt.QMFC2(this.ee.t1, this.ee.VF[6]); - // @0012BAD8 QMFC2 t2, vf7 - MobUt.QMFC2(this.ee.t2, this.ee.VF[7]); - // @0012BADC QMFC2 t3, vf0 - MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); - // @0012BAE0 PEXTLW t4, t1, t0 - this.ee.t4.UL[0] = this.ee.t0.UL[0]; - this.ee.t4.UL[1] = this.ee.t1.UL[0]; - this.ee.t4.UL[2] = this.ee.t0.UL[1]; - this.ee.t4.UL[3] = this.ee.t1.UL[1]; - // @0012BAE4 PEXTUW t5, t1, t0 - this.ee.t5.UL[0] = this.ee.t0.UL[2]; - this.ee.t5.UL[1] = this.ee.t1.UL[2]; - this.ee.t5.UL[2] = this.ee.t0.UL[3]; - this.ee.t5.UL[3] = this.ee.t1.UL[3]; - // @0012BAE8 PEXTLW t6, t3, t2 - this.ee.t6.UL[0] = this.ee.t2.UL[0]; - this.ee.t6.UL[1] = this.ee.t3.UL[0]; - this.ee.t6.UL[2] = this.ee.t2.UL[1]; - this.ee.t6.UL[3] = this.ee.t3.UL[1]; - // @0012BAEC PEXTUW t7, t3, t2 - this.ee.t7.UL[0] = this.ee.t2.UL[2]; - this.ee.t7.UL[1] = this.ee.t3.UL[2]; - this.ee.t7.UL[2] = this.ee.t2.UL[3]; - this.ee.t7.UL[3] = this.ee.t3.UL[3]; - // @0012BAF0 PCPYLD t0, t6, t4 - this.ee.t0.UD1 = this.ee.t6.UD0; - this.ee.t0.UD0 = this.ee.t4.UD0; - // @0012BAF4 PCPYUD t1, t4, t6 - this.ee.t1.UD0 = this.ee.t4.UD1; - this.ee.t1.UD1 = this.ee.t6.UD1; - // @0012BAF8 PCPYLD t2, t7, t5 - this.ee.t2.UD1 = this.ee.t7.UD0; - this.ee.t2.UD0 = this.ee.t5.UD0; - // @0012BAFC QMTC2 t0, vf1 - MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); - // @0012BB00 QMTC2 t1, vf2 - MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); - // @0012BB04 QMTC2 t2, vf3 - MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); - // @0012BB08 VSUB.xyz vf4, vf0, vf4 - this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); - this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); - this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); - // @0012BB0C VWAITQ - MobUt.Latency(); - // @0012BB10 VMULq.xyzw vf1, vf1, Q - this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); - this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); - this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); - this.ee.VF[1].w = (this.ee.VF[1].w * this.ee.Vq.f); - // @0012BB14 VMULq.xyzw vf2, vf2, Q - this.ee.VF[2].x = (this.ee.VF[2].x * this.ee.Vq.f); - this.ee.VF[2].y = (this.ee.VF[2].y * this.ee.Vq.f); - this.ee.VF[2].z = (this.ee.VF[2].z * this.ee.Vq.f); - this.ee.VF[2].w = (this.ee.VF[2].w * this.ee.Vq.f); - // @0012BB18 VMULq.xyzw vf3, vf3, Q - this.ee.VF[3].x = (this.ee.VF[3].x * this.ee.Vq.f); - this.ee.VF[3].y = (this.ee.VF[3].y * this.ee.Vq.f); - this.ee.VF[3].z = (this.ee.VF[3].z * this.ee.Vq.f); - this.ee.VF[3].w = (this.ee.VF[3].w * this.ee.Vq.f); - // @0012BB1C VMULq.xyz vf4, vf4, Q - this.ee.VF[4].x = (this.ee.VF[4].x * this.ee.Vq.f); - this.ee.VF[4].y = (this.ee.VF[4].y * this.ee.Vq.f); - this.ee.VF[4].z = (this.ee.VF[4].z * this.ee.Vq.f); - // @0012BB20 SQC2 vf1, $0000(a1) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @0012BB24 SQC2 vf2, $0010(a1) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); - // @0012BB28 SQC2 vf3, $0020(a1) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); - // @0012BB2C SQC2 vf4, $0030(a1) - MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BB30 LUI t7, $0004 - this.ee.t7.SD0 = 262144; - // @0012BB34 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012BB38 BEQ t7, zero, $0012c738 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230648u; - } - // @0012BB3C ADDIU t7, zero, $ffff - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); - } - - public virtual void funct0012bb34() - { - this.ee.pc = 1227584u; - // @0012BB34 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012BB38 BEQ t7, zero, $0012c738 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230648u; - } - // @0012BB3C ADDIU t7, zero, $ffff - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); - } - - public virtual void funct0012bb40() - { - this.ee.pc = 1227604u; - // @0012BB40 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - // @0012BB44 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012BB48 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BB4C BEQ t7, zero, $0012c720 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230624u; - } - // @0012BB50 ADDIU t5, sp, $0080 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); - } - - public virtual void funct0012bb54() - { - this.ee.pc = 1227628u; - // @0012BB54 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012BB58 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012BB5C ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BB60 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012BB64 BEQL t5, t6, $0012bb78 - if ((this.ee.t5.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1227640u; - // @0012BB68 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - } - - public virtual void funct0012bb60() - { - this.ee.pc = 1227628u; - // @0012BB60 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012BB64 BEQL t5, t6, $0012bb78 - if ((this.ee.t5.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1227640u; - // @0012BB68 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - } - - public virtual void funct0012bb6c() - { - this.ee.pc = 1227712u; - // @0012BB6C LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012BB70 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012BB74 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @0012BB78 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012BB7C ADDIU t6, t6, $8364 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31900))); - // @0012BB80 ADDIU t4, sp, $0090 - this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012BB84 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @0012BB88 ADDIU t7, sp, $0040 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012BB8C SWC1 $f0, $008c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); - // @0012BB90 LQC2 vf5, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); - // @0012BB94 LQC2 vf1, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); - // @0012BB98 LQC2 vf2, $0010(t7) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t7.UL0)); - // @0012BB9C LQC2 vf3, $0020(t7) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t7.UL0)); - // @0012BBA0 LQC2 vf4, $0030(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t7.UL0)); - // @0012BBA4 VMULAx.xyzw ACC, vf1, vf5x - // @0012BBA8 VMADDAy.xyzw ACC, vf2, vf5y - // @0012BBAC VMADDAz.xyzw ACC, vf3, vf5z - // @0012BBB0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012BBB4 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012BBB8 BEQL t4, t8, $0012bbcc - if ((this.ee.t4.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1227724u; - // @0012BBBC SWC1 $f0, $009c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); - } - } - - public virtual void funct0012bbc0() - { - this.ee.pc = 1227736u; - // @0012BBC0 LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012BBC4 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012BBC8 SWC1 $f0, $009c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); - // @0012BBCC LW t5, $0218(sp) - MobUt.LW(this.ee, this.ee.t5, (536u + this.ee.sp.UL0)); - // @0012BBD0 BEQ t5, zero, $0012c3e4 - if ((this.ee.t5.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229796u; - } - // @0012BBD4 ADDIU t7, zero, $0003 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); - } - - public virtual void funct0012bbcc() - { - this.ee.pc = 1227736u; - // @0012BBCC LW t5, $0218(sp) - MobUt.LW(this.ee, this.ee.t5, (536u + this.ee.sp.UL0)); - // @0012BBD0 BEQ t5, zero, $0012c3e4 - if ((this.ee.t5.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229796u; - } - // @0012BBD4 ADDIU t7, zero, $0003 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); - } - - public virtual void funct0012bbd8() - { - this.ee.pc = 1227752u; - // @0012BBD8 LBU t6, $0000(t5) - MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.t5.UL0)); - // @0012BBDC ANDI t5, t6, $00ff - this.ee.t5.UD0 = ((ushort)((this.ee.t6.US0 & 255))); - // @0012BBE0 BEQ t5, t7, $0012bf98 - if ((this.ee.t5.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1228696u; - } - // @0012BBE4 SLTI t7, t5, $0004 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < 4)); - } - - public virtual void funct0012bbe8() - { - this.ee.pc = 1227760u; - // @0012BBE8 BEQ t7, zero, $0012bf8c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228684u; - } - // @0012BBEC ADDIU t7, zero, $0002 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); - } - - public virtual void funct0012bbf0() - { - this.ee.pc = 1227768u; - // @0012BBF0 BEQ t5, t7, $0012bf48 - if ((this.ee.t5.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1228616u; - } - // @0012BBF4 LW t6, $0218(sp) - MobUt.LW(this.ee, this.ee.t6, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012bbfc() - { - this.ee.pc = 1227792u; - // @0012BBFC LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012BC00 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012BC04 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BC08 BEQ t7, zero, $0012bf38 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228600u; - } - // @0012BC0C SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012bc10() - { - this.ee.pc = 1227812u; - // @0012BC10 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012BC14 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BC18 ADDU t5, t5, s3 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); - // @0012BC1C BEQL t6, t5, $0012bc4c - if ((this.ee.t6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1227852u; - // @0012BC20 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012bc18() - { - this.ee.pc = 1227812u; - // @0012BC18 ADDU t5, t5, s3 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); - // @0012BC1C BEQL t6, t5, $0012bc4c - if ((this.ee.t6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1227852u; - // @0012BC20 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012bc24() - { - this.ee.pc = 1227864u; - // @0012BC24 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012BC28 LQ t1, $0010(t5) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); - // @0012BC2C LQ t2, $0020(t5) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); - // @0012BC30 LQ t3, $0030(t5) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); - // @0012BC34 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012BC38 SQ t1, $0010(t6) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012BC3C SQ t2, $0020(t6) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012BC40 SQ t3, $0030(t6) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012BC44 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012BC48 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012BC4C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BC50 BEQ t7, zero, $0012bf28 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228584u; - } - // @0012BC54 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012bc58() - { - this.ee.pc = 1227940u; - // @0012BC58 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012BC5C ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BC60 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012BC64 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012BC68 LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012BC6C LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012BC70 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012BC74 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012BC78 VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012BC7C VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012BC80 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012BC84 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012BC88 SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012BC8C SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012BC90 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - // @0012BC94 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012BC98 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BC9C BEQ t7, zero, $0012bf18 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228568u; - } - // @0012BCA0 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012bc60() - { - this.ee.pc = 1227940u; - // @0012BC60 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012BC64 ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012BC68 LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012BC6C LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012BC70 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012BC74 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012BC78 VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012BC7C VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012BC80 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012BC84 SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012BC88 SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012BC8C SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012BC90 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - // @0012BC94 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012BC98 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BC9C BEQ t7, zero, $0012bf18 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228568u; - } - // @0012BCA0 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012bca4() - { - this.ee.pc = 1227964u; - // @0012BCA4 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012BCA8 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BCAC ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012BCB0 ADDIU t7, sp, $0080 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012BCB4 BEQ t6, t7, $0012bcc8 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1227976u; - } - // @0012BCB8 LW t3, $0218(sp) - MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012bcac() - { - this.ee.pc = 1227964u; - // @0012BCAC ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012BCB0 ADDIU t7, sp, $0080 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012BCB4 BEQ t6, t7, $0012bcc8 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1227976u; - } - // @0012BCB8 LW t3, $0218(sp) - MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012bcbc() - { - this.ee.pc = 1227984u; - // @0012BCBC LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012BCC0 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012BCC4 LW t3, $0218(sp) - MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); - // @0012BCC8 BNE t3, zero, $0012bce0 - if ((this.ee.t3.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1228000u; - } - // @0012BCCC LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012bcd0() - { - this.ee.pc = 1228000u; - // @0012BCD0 LUI t7, $0008 - this.ee.t7.SD0 = 524288; - // @0012BCD4 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012BCD8 BEQ t7, zero, $00129e60 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220192u; - } - // @0012BCDC LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - } - - public virtual void funct0012bce0() - { - this.ee.pc = 1228008u; - // @0012BCE0 BGEZ t4, $0012bed8 - if ((this.ee.t4.SD0 >= 0)) - { - this.ee.pc = 1228504u; - } - // @0012BCE4 LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012bce8() - { - this.ee.pc = 1228020u; - // @0012BCE8 ADDIU a1, sp, $0040 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012BCEC BEQ a1, sp, $0012bd14 - if ((this.ee.a1.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1228052u; - } - // @0012BCF0 NOP - MobUt.Latency(); - } - - public virtual void funct0012bcf4() - { - this.ee.pc = 1228164u; - // @0012BCF4 LQ t0, $0000(sp) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @0012BCF8 LQ t1, $0010(sp) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.sp.UL[0])); - // @0012BCFC LQ t2, $0020(sp) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.sp.UL[0])); - // @0012BD00 LQ t3, $0030(sp) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.sp.UL[0])); - // @0012BD04 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012BD08 SQ t1, $0010(a1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012BD0C SQ t2, $0020(a1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012BD10 SQ t3, $0030(a1) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); - // @0012BD14 LQ t0, $0000(a1) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012BD18 LQ t1, $0010(a1) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012BD1C LQ t2, $0020(a1) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012BD20 QMFC2 t3, vf0 - MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); - // @0012BD24 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BD28 PEXTLW t4, t1, t0 - this.ee.t4.UL[0] = this.ee.t0.UL[0]; - this.ee.t4.UL[1] = this.ee.t1.UL[0]; - this.ee.t4.UL[2] = this.ee.t0.UL[1]; - this.ee.t4.UL[3] = this.ee.t1.UL[1]; - // @0012BD2C PEXTUW t5, t1, t0 - this.ee.t5.UL[0] = this.ee.t0.UL[2]; - this.ee.t5.UL[1] = this.ee.t1.UL[2]; - this.ee.t5.UL[2] = this.ee.t0.UL[3]; - this.ee.t5.UL[3] = this.ee.t1.UL[3]; - // @0012BD30 PEXTLW t6, t3, t2 - this.ee.t6.UL[0] = this.ee.t2.UL[0]; - this.ee.t6.UL[1] = this.ee.t3.UL[0]; - this.ee.t6.UL[2] = this.ee.t2.UL[1]; - this.ee.t6.UL[3] = this.ee.t3.UL[1]; - // @0012BD34 PEXTUW t7, t3, t2 - this.ee.t7.UL[0] = this.ee.t2.UL[2]; - this.ee.t7.UL[1] = this.ee.t3.UL[2]; - this.ee.t7.UL[2] = this.ee.t2.UL[3]; - this.ee.t7.UL[3] = this.ee.t3.UL[3]; - // @0012BD38 PCPYLD t0, t6, t4 - this.ee.t0.UD1 = this.ee.t6.UD0; - this.ee.t0.UD0 = this.ee.t4.UD0; - // @0012BD3C PCPYUD t1, t4, t6 - this.ee.t1.UD0 = this.ee.t4.UD1; - this.ee.t1.UD1 = this.ee.t6.UD1; - // @0012BD40 PCPYLD t2, t7, t5 - this.ee.t2.UD1 = this.ee.t7.UD0; - this.ee.t2.UD0 = this.ee.t5.UD0; - // @0012BD44 QMTC2 t0, vf1 - MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); - // @0012BD48 QMTC2 t1, vf2 - MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); - // @0012BD4C QMTC2 t2, vf3 - MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); - // @0012BD50 VMULAx.xyz ACC, vf1, vf4x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); - // @0012BD54 VMADDAy.xyz ACC, vf2, vf4y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); - // @0012BD58 VMADDz.xyz vf4, vf3, vf4z - this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); - // @0012BD5C VSUB.xyz vf4, vf0, vf4 - this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); - this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); - this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); - // @0012BD60 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012BD64 SQ t1, $0010(a1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012BD68 SQ t2, $0020(a1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012BD6C SQC2 vf4, $0030(a1) - MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BD70 LW a3, $0004(s0) - MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.s0.UL0)); - // @0012BD74 LHU t6, $0010(a3) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.a3.UL0)); - // @0012BD78 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BD7C BEQ t7, zero, $0012bec8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228488u; - } - // @0012BD80 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012bd14() - { - this.ee.pc = 1228164u; - // @0012BD14 LQ t0, $0000(a1) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012BD18 LQ t1, $0010(a1) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012BD1C LQ t2, $0020(a1) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012BD20 QMFC2 t3, vf0 - MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); - // @0012BD24 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BD28 PEXTLW t4, t1, t0 - this.ee.t4.UL[0] = this.ee.t0.UL[0]; - this.ee.t4.UL[1] = this.ee.t1.UL[0]; - this.ee.t4.UL[2] = this.ee.t0.UL[1]; - this.ee.t4.UL[3] = this.ee.t1.UL[1]; - // @0012BD2C PEXTUW t5, t1, t0 - this.ee.t5.UL[0] = this.ee.t0.UL[2]; - this.ee.t5.UL[1] = this.ee.t1.UL[2]; - this.ee.t5.UL[2] = this.ee.t0.UL[3]; - this.ee.t5.UL[3] = this.ee.t1.UL[3]; - // @0012BD30 PEXTLW t6, t3, t2 - this.ee.t6.UL[0] = this.ee.t2.UL[0]; - this.ee.t6.UL[1] = this.ee.t3.UL[0]; - this.ee.t6.UL[2] = this.ee.t2.UL[1]; - this.ee.t6.UL[3] = this.ee.t3.UL[1]; - // @0012BD34 PEXTUW t7, t3, t2 - this.ee.t7.UL[0] = this.ee.t2.UL[2]; - this.ee.t7.UL[1] = this.ee.t3.UL[2]; - this.ee.t7.UL[2] = this.ee.t2.UL[3]; - this.ee.t7.UL[3] = this.ee.t3.UL[3]; - // @0012BD38 PCPYLD t0, t6, t4 - this.ee.t0.UD1 = this.ee.t6.UD0; - this.ee.t0.UD0 = this.ee.t4.UD0; - // @0012BD3C PCPYUD t1, t4, t6 - this.ee.t1.UD0 = this.ee.t4.UD1; - this.ee.t1.UD1 = this.ee.t6.UD1; - // @0012BD40 PCPYLD t2, t7, t5 - this.ee.t2.UD1 = this.ee.t7.UD0; - this.ee.t2.UD0 = this.ee.t5.UD0; - // @0012BD44 QMTC2 t0, vf1 - MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); - // @0012BD48 QMTC2 t1, vf2 - MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); - // @0012BD4C QMTC2 t2, vf3 - MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); - // @0012BD50 VMULAx.xyz ACC, vf1, vf4x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); - // @0012BD54 VMADDAy.xyz ACC, vf2, vf4y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); - // @0012BD58 VMADDz.xyz vf4, vf3, vf4z - this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); - // @0012BD5C VSUB.xyz vf4, vf0, vf4 - this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); - this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); - this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); - // @0012BD60 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012BD64 SQ t1, $0010(a1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012BD68 SQ t2, $0020(a1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012BD6C SQC2 vf4, $0030(a1) - MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BD70 LW a3, $0004(s0) - MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.s0.UL0)); - // @0012BD74 LHU t6, $0010(a3) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.a3.UL0)); - // @0012BD78 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BD7C BEQ t7, zero, $0012bec8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228488u; - } - // @0012BD80 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012bd84() - { - this.ee.pc = 1228304u; - // @0012BD84 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012BD88 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BD8C LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012BD90 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012BD94 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BD98 LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @0012BD9C LQC2 vf2, $0010(a1) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); - // @0012BDA0 LQC2 vf3, $0020(a1) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); - // @0012BDA4 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BDA8 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012BDAC LQC2 vf6, $0010(t7) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012BDB0 LQC2 vf7, $0020(t7) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012BDB4 LQC2 vf8, $0030(t7) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012BDB8 VMULAx.xyzw ACC, vf1, vf5x - // @0012BDBC VMADDAy.xyzw ACC, vf2, vf5y - // @0012BDC0 VMADDAz.xyzw ACC, vf3, vf5z - // @0012BDC4 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012BDC8 VMULAx.xyzw ACC, vf1, vf6x - // @0012BDCC VMADDAy.xyzw ACC, vf2, vf6y - // @0012BDD0 VMADDAz.xyzw ACC, vf3, vf6z - // @0012BDD4 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012BDD8 VMULAx.xyzw ACC, vf1, vf7x - // @0012BDDC VMADDAy.xyzw ACC, vf2, vf7y - // @0012BDE0 VMADDAz.xyzw ACC, vf3, vf7z - // @0012BDE4 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012BDE8 VMULAx.xyzw ACC, vf1, vf8x - // @0012BDEC VMADDAy.xyzw ACC, vf2, vf8y - // @0012BDF0 VMADDAz.xyzw ACC, vf3, vf8z - // @0012BDF4 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012BDF8 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012BDFC SQC2 vf6, $0010(t8) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); - // @0012BE00 SQC2 vf7, $0020(t8) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); - // @0012BE04 SQC2 vf8, $0030(t8) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); - // @0012BE08 BEQL t6, t8, $0012be34 - if ((this.ee.t6.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1228340u; - // @0012BE0C LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012bd8c() - { - this.ee.pc = 1228304u; - // @0012BD8C LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012BD90 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012BD94 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BD98 LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @0012BD9C LQC2 vf2, $0010(a1) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); - // @0012BDA0 LQC2 vf3, $0020(a1) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); - // @0012BDA4 LQC2 vf4, $0030(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); - // @0012BDA8 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012BDAC LQC2 vf6, $0010(t7) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012BDB0 LQC2 vf7, $0020(t7) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012BDB4 LQC2 vf8, $0030(t7) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012BDB8 VMULAx.xyzw ACC, vf1, vf5x - // @0012BDBC VMADDAy.xyzw ACC, vf2, vf5y - // @0012BDC0 VMADDAz.xyzw ACC, vf3, vf5z - // @0012BDC4 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012BDC8 VMULAx.xyzw ACC, vf1, vf6x - // @0012BDCC VMADDAy.xyzw ACC, vf2, vf6y - // @0012BDD0 VMADDAz.xyzw ACC, vf3, vf6z - // @0012BDD4 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012BDD8 VMULAx.xyzw ACC, vf1, vf7x - // @0012BDDC VMADDAy.xyzw ACC, vf2, vf7y - // @0012BDE0 VMADDAz.xyzw ACC, vf3, vf7z - // @0012BDE4 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012BDE8 VMULAx.xyzw ACC, vf1, vf8x - // @0012BDEC VMADDAy.xyzw ACC, vf2, vf8y - // @0012BDF0 VMADDAz.xyzw ACC, vf3, vf8z - // @0012BDF4 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012BDF8 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012BDFC SQC2 vf6, $0010(t8) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); - // @0012BE00 SQC2 vf7, $0020(t8) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); - // @0012BE04 SQC2 vf8, $0030(t8) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); - // @0012BE08 BEQL t6, t8, $0012be34 - if ((this.ee.t6.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1228340u; - // @0012BE0C LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012be10() - { - this.ee.pc = 1228356u; - // @0012BE10 LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012BE14 LQ t1, $0010(t8) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t8.UL[0])); - // @0012BE18 LQ t2, $0020(t8) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t8.UL[0])); - // @0012BE1C LQ t3, $0030(t8) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t8.UL[0])); - // @0012BE20 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012BE24 SQ t1, $0010(t6) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012BE28 SQ t2, $0020(t6) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012BE2C SQ t3, $0030(t6) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012BE30 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012BE34 LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012BE38 SLT t6, s2, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); - // @0012BE3C BEQ t6, zero, $0012beb8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228472u; - } - // @0012BE40 SUBU t7, s2, t7 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); - } - - public virtual void funct0012be44() - { - this.ee.pc = 1228380u; - // @0012BE44 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012BE48 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BE4C ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012BE50 ADDIU t7, sp, $0090 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012BE54 BEQL t6, t7, $0012be68 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1228392u; - // @0012BE58 LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - } - } - - public virtual void funct0012be4c() - { - this.ee.pc = 1228380u; - // @0012BE4C ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012BE50 ADDIU t7, sp, $0090 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012BE54 BEQL t6, t7, $0012be68 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1228392u; - // @0012BE58 LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - } - } - - public virtual void funct0012be5c() - { - this.ee.pc = 1228404u; - // @0012BE5C LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012BE60 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012BE64 LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - // @0012BE68 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012BE6C BEQ t7, zero, $00129e60 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220192u; - } - // @0012BE70 LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - } - - public virtual void funct0012be74() - { - this.ee.pc = 1228424u; - // @0012BE74 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012BE78 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012BE7C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012BE80 BEQ t7, zero, $0012bea8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228456u; - } - // @0012BE84 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012be88() - { - this.ee.pc = 1228448u; - // @0012BE88 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012BE8C ADDU a0, t7, s3 - this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012BE90 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012BE94 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012BE98 BEQL t7, zero, $00129e40 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220160u; - // @0012BE9C LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012be90() - { - this.ee.pc = 1228448u; - // @0012BE90 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012BE94 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012BE98 BEQL t7, zero, $00129e40 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220160u; - // @0012BE9C LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012bea0() - { - this.ee.pc = 1228456u; - // @0012BEA0 BEQ zero, zero, $0012a9b4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1223092u; - } - // @0012BEA4 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - } - - public virtual void funct0012bea8() - { - this.ee.pc = 1228472u; - // @0012BEA8 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012BEAC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012BEB0 BEQ zero, zero, $0012be90 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228432u; - } - // @0012BEB4 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012beb8() - { - this.ee.pc = 1228488u; - // @0012BEB8 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012BEBC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012BEC0 BEQ zero, zero, $0012be4c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228364u; - } - // @0012BEC4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012bec8() - { - this.ee.pc = 1228504u; - // @0012BEC8 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012BECC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012BED0 BEQ zero, zero, $0012bd8c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228172u; - } - // @0012BED4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012bed8() - { - this.ee.pc = 1228528u; - // @0012BED8 ADDIU a1, sp, $0040 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012BEDC LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012BEE0 SLL t7, t5, 6 - MobUt.SLL(this.ee.t7, this.ee.t5, 6); - // @0012BEE4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012BEE8 BEQ a1, t6, $0012bd14 - if ((this.ee.a1.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1228052u; - } - // @0012BEEC NOP - MobUt.Latency(); - } - - public virtual void funct0012bef0() - { - this.ee.pc = 1228568u; - // @0012BEF0 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012BEF4 LQ t1, $0010(t6) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012BEF8 LQ t2, $0020(t6) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012BEFC LQ t3, $0030(t6) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012BF00 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @0012BF04 SQ t1, $0010(a1) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); - // @0012BF08 SQ t2, $0020(a1) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); - // @0012BF0C SQ t3, $0030(a1) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); - // @0012BF10 BEQ zero, zero, $0012bd14 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228052u; - } - // @0012BF14 NOP - MobUt.Latency(); - } - - public virtual void funct0012bf18() - { - this.ee.pc = 1228584u; - // @0012BF18 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012BF1C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012BF20 BEQ zero, zero, $0012bcac - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227948u; - } - // @0012BF24 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012bf28() - { - this.ee.pc = 1228600u; - // @0012BF28 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012BF2C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012BF30 BEQ zero, zero, $0012bc60 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227872u; - } - // @0012BF34 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012bf38() - { - this.ee.pc = 1228616u; - // @0012BF38 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012BF3C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012BF40 BEQ zero, zero, $0012bc18 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227800u; - } - // @0012BF44 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012bf48() - { - this.ee.pc = 1228644u; - // @0012BF48 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - // @0012BF4C LHU t7, $0004(t6) - MobUt.LHU(this.ee, this.ee.t7, (4u + this.ee.t6.UL0)); - // @0012BF50 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012BF54 ADDU t6, t5, t7 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); - // @0012BF58 ADDU t7, t5, s3 - this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); - // @0012BF5C BEQL t7, t6, $0012bc00 - if ((this.ee.t7.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1227776u; - // @0012BF60 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012bf64() - { - this.ee.pc = 1228684u; - // @0012BF64 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012BF68 LQ t1, $0010(t6) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012BF6C LQ t2, $0020(t6) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012BF70 LQ t3, $0030(t6) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012BF74 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012BF78 SQ t1, $0010(t7) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0012BF7C SQ t2, $0020(t7) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0012BF80 SQ t3, $0030(t7) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0012BF84 BEQ zero, zero, $0012bbfc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227772u; - } - // @0012BF88 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - - public virtual void funct0012bf8c() - { - this.ee.pc = 1228696u; - // @0012BF8C ADDIU t7, zero, $0005 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 5))); - // @0012BF90 BNEL t5, t7, $0012bbfc - if ((this.ee.t5.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1227772u; - // @0012BF94 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012bf98() - { - this.ee.pc = 1228712u; - // @0012BF98 ANDI t6, t6, $00ff - this.ee.t6.UD0 = ((ushort)((this.ee.t6.US0 & 255))); - // @0012BF9C ADDIU t7, zero, $0003 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); - // @0012BFA0 BNE t6, t7, $0012c3dc - if ((this.ee.t6.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1229788u; - } - // @0012BFA4 LW t3, $0218(sp) - MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012bfa8() - { - this.ee.pc = 1228744u; - // @0012BFA8 LW t7, $0218(sp) - MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); - // @0012BFAC LHU t5, $0004(t7) - MobUt.LHU(this.ee, this.ee.t5, (4u + this.ee.t7.UL0)); - // @0012BFB0 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - // @0012BFB4 ADDIU t4, sp, $00b0 - this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @0012BFB8 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012BFBC SLT t7, t5, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); - // @0012BFC0 BEQ t7, zero, $0012c3cc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229772u; - } - // @0012BFC4 ADDIU t3, sp, $0040 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 64))); - } - - public virtual void funct0012bfd0() - { - this.ee.pc = 1228812u; - // @0012BFD0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012BFD4 ADDIU s7, sp, $0180 - this.ee.s7.SD0 = ((int)((this.ee.sp.SD0 + 384))); - // @0012BFD8 ADDIU t7, t6, $0030 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012BFDC LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012BFE0 LQC2 vf1, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); - // @0012BFE4 LQC2 vf2, $0010(t3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); - // @0012BFE8 LQC2 vf3, $0020(t3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); - // @0012BFEC LQC2 vf4, $0030(t3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); - // @0012BFF0 VMULAx.xyzw ACC, vf1, vf5x - // @0012BFF4 VMADDAy.xyzw ACC, vf2, vf5y - // @0012BFF8 VMADDAz.xyzw ACC, vf3, vf5z - // @0012BFFC VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C000 SQC2 vf5, $0000(s7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); - // @0012C004 BEQ t4, s7, $0012c018 - if ((this.ee.t4.UD0 == this.ee.s7.UD0)) - { - this.ee.pc = 1228824u; - } - // @0012C008 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - } - - public virtual void funct0012c00c() - { - this.ee.pc = 1228856u; - // @0012C00C LQ t0, $0000(s7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); - // @0012C010 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012C014 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012C018 ADDIU t5, sp, $0090 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012C01C DADDU a0, t8, zero - this.ee.a0.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); - // @0012C020 LQC2 vf1, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); - // @0012C024 LQC2 vf2, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); - // @0012C028 VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @0012C02C SQC2 vf1, $0000(s7) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s7.UL0)); - // @0012C030 BEQ t8, s7, $0012c044 - if ((this.ee.t8.UD0 == this.ee.s7.UD0)) - { - this.ee.pc = 1228868u; - } - // @0012C034 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - - public virtual void funct0012c038() - { - this.ee.pc = 1228908u; - // @0012C038 LQ t0, $0000(s7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); - // @0012C03C SQ t0, $0000(t8) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012C040 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @0012C044 SW zero, $0130(sp) - MobUt.SW(this.ee, this.ee.r0, (304u + this.ee.sp.UL0)); - // @0012C048 ADDIU t6, t6, $8364 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31900))); - // @0012C04C SW zero, $0138(sp) - MobUt.SW(this.ee, this.ee.r0, (312u + this.ee.sp.UL0)); - // @0012C050 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @0012C054 SWC1 $f0, $0134(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); - // @0012C058 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012C05C LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012C060 SLT t6, s2, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); - // @0012C064 BEQ t6, zero, $0012c3bc - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229756u; - } - // @0012C068 SUBU t7, s2, t7 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); - } - - public virtual void funct0012c06c() - { - this.ee.pc = 1228924u; - // @0012C06C LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C070 ADDU a2, t7, s3 - this.ee.a2.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C074 JAL $00128b20 - this.ee.ra.UL0 = 1228924u; - this.ee.pc = 1215264u; - // @0012C078 ADDIU a1, sp, $0130 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 304))); - } - - public virtual void funct0012c074() - { - this.ee.pc = 1228924u; - // @0012C074 JAL $00128b20 - this.ee.ra.UL0 = 1228924u; - this.ee.pc = 1215264u; - // @0012C078 ADDIU a1, sp, $0130 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 304))); - } - - public virtual void funct0012c07c() - { - this.ee.pc = 1228932u; - // @0012C07C JAL $0011b420 - this.ee.ra.UL0 = 1228932u; - this.ee.pc = 1160224u; - // @0012C080 ADDIU a0, sp, $0140 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 320))); - } - - public virtual void funct0012c084() - { - this.ee.pc = 1228952u; - // @0012C084 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012C088 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @0012C08C SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012C090 BEQL t7, zero, $0012c3a4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229732u; - // @0012C094 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct0012c098() - { - this.ee.pc = 1228972u; - // @0012C098 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012C09C ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012C0A0 LWC1 $f12, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.t6.UL0)); - // @0012C0A4 JAL $0011b450 - this.ee.ra.UL0 = 1228972u; - this.ee.pc = 1160272u; - // @0012C0A8 ADDIU a0, sp, $0140 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 320))); - } - - public virtual void funct0012c0a0() - { - this.ee.pc = 1228972u; - // @0012C0A0 LWC1 $f12, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.t6.UL0)); - // @0012C0A4 JAL $0011b450 - this.ee.ra.UL0 = 1228972u; - this.ee.pc = 1160272u; - // @0012C0A8 ADDIU a0, sp, $0140 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 320))); - } - - public virtual void funct0012c0ac() - { - this.ee.pc = 1228992u; - // @0012C0AC LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012C0B0 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012C0B4 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012C0B8 BEQ t7, zero, $0012c390 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229712u; - } - // @0012C0BC DADDU t5, t4, zero - this.ee.t5.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012c0c0() - { - this.ee.pc = 1229016u; - // @0012C0C0 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C0C4 ADDU t4, t7, s3 - this.ee.t4.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C0C8 LHU t6, $0010(t5) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t5.UL0)); - // @0012C0CC SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012C0D0 BEQ t7, zero, $0012c380 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229696u; - } - // @0012C0D4 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012c0c8() - { - this.ee.pc = 1229016u; - // @0012C0C8 LHU t6, $0010(t5) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t5.UL0)); - // @0012C0CC SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012C0D0 BEQ t7, zero, $0012c380 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229696u; - } - // @0012C0D4 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012c0d8() - { - this.ee.pc = 1229152u; - // @0012C0D8 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C0DC ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C0E0 ADDIU t5, sp, $01b0 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 432))); - // @0012C0E4 ADDIU t7, sp, $0140 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 320))); - // @0012C0E8 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012C0EC LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012C0F0 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012C0F4 LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012C0F8 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012C0FC LQC2 vf6, $0010(t7) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012C100 LQC2 vf7, $0020(t7) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012C104 LQC2 vf8, $0030(t7) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012C108 VMULAx.xyzw ACC, vf1, vf5x - // @0012C10C VMADDAy.xyzw ACC, vf2, vf5y - // @0012C110 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C114 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C118 VMULAx.xyzw ACC, vf1, vf6x - // @0012C11C VMADDAy.xyzw ACC, vf2, vf6y - // @0012C120 VMADDAz.xyzw ACC, vf3, vf6z - // @0012C124 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C128 VMULAx.xyzw ACC, vf1, vf7x - // @0012C12C VMADDAy.xyzw ACC, vf2, vf7y - // @0012C130 VMADDAz.xyzw ACC, vf3, vf7z - // @0012C134 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C138 VMULAx.xyzw ACC, vf1, vf8x - // @0012C13C VMADDAy.xyzw ACC, vf2, vf8y - // @0012C140 VMADDAz.xyzw ACC, vf3, vf8z - // @0012C144 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C148 SQC2 vf5, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); - // @0012C14C SQC2 vf6, $0010(t5) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); - // @0012C150 SQC2 vf7, $0020(t5) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); - // @0012C154 SQC2 vf8, $0030(t5) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); - // @0012C158 BEQL t4, t5, $0012c184 - if ((this.ee.t4.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1229188u; - // @0012C15C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c0e0() - { - this.ee.pc = 1229152u; - // @0012C0E0 ADDIU t5, sp, $01b0 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 432))); - // @0012C0E4 ADDIU t7, sp, $0140 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 320))); - // @0012C0E8 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012C0EC LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012C0F0 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012C0F4 LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012C0F8 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012C0FC LQC2 vf6, $0010(t7) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); - // @0012C100 LQC2 vf7, $0020(t7) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); - // @0012C104 LQC2 vf8, $0030(t7) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); - // @0012C108 VMULAx.xyzw ACC, vf1, vf5x - // @0012C10C VMADDAy.xyzw ACC, vf2, vf5y - // @0012C110 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C114 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C118 VMULAx.xyzw ACC, vf1, vf6x - // @0012C11C VMADDAy.xyzw ACC, vf2, vf6y - // @0012C120 VMADDAz.xyzw ACC, vf3, vf6z - // @0012C124 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C128 VMULAx.xyzw ACC, vf1, vf7x - // @0012C12C VMADDAy.xyzw ACC, vf2, vf7y - // @0012C130 VMADDAz.xyzw ACC, vf3, vf7z - // @0012C134 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C138 VMULAx.xyzw ACC, vf1, vf8x - // @0012C13C VMADDAy.xyzw ACC, vf2, vf8y - // @0012C140 VMADDAz.xyzw ACC, vf3, vf8z - // @0012C144 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C148 SQC2 vf5, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); - // @0012C14C SQC2 vf6, $0010(t5) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); - // @0012C150 SQC2 vf7, $0020(t5) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); - // @0012C154 SQC2 vf8, $0030(t5) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); - // @0012C158 BEQL t4, t5, $0012c184 - if ((this.ee.t4.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1229188u; - // @0012C15C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c160() - { - this.ee.pc = 1229204u; - // @0012C160 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012C164 LQ t1, $0010(t5) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); - // @0012C168 LQ t2, $0020(t5) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); - // @0012C16C LQ t3, $0030(t5) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); - // @0012C170 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012C174 SQ t1, $0010(t4) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); - // @0012C178 SQ t2, $0020(t4) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); - // @0012C17C SQ t3, $0030(t4) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); - // @0012C180 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012C184 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012C188 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012C18C BEQ t7, zero, $0012c370 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229680u; - } - // @0012C190 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012c194() - { - this.ee.pc = 1229228u; - // @0012C194 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C198 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C19C ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012C1A0 ADDIU t3, sp, $0090 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012C1A4 BEQ t6, t3, $0012c1bc - if ((this.ee.t6.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1229244u; - } - // @0012C1A8 LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012c19c() - { - this.ee.pc = 1229228u; - // @0012C19C ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012C1A0 ADDIU t3, sp, $0090 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012C1A4 BEQ t6, t3, $0012c1bc - if ((this.ee.t6.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1229244u; - } - // @0012C1A8 LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012c1ac() - { - this.ee.pc = 1229252u; - // @0012C1AC LQ t0, $0000(t3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @0012C1B0 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012C1B4 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012C1B8 LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - // @0012C1BC BGEZ t5, $0012c298 - if ((this.ee.t5.SD0 >= 0)) - { - this.ee.pc = 1229464u; - } - // @0012C1C0 LW t6, $0214(sp) - MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012c298() - { - this.ee.pc = 1229492u; - // @0012C298 LHU t3, $0010(t4) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t4.UL0)); - // @0012C29C SLL t7, t6, 6 - MobUt.SLL(this.ee.t7, this.ee.t6, 6); - // @0012C2A0 LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012C2A4 SLT t5, s2, t3 - this.ee.t5.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); - // @0012C2A8 ADDU t2, t6, t7 - this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C2AC BEQ t5, zero, $0012c35c - if ((this.ee.t5.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229660u; - } - // @0012C2B0 ADDU t4, t6, s3 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - } - - public virtual void funct0012c2b4() - { - this.ee.pc = 1229620u; - // @0012C2B4 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C2B8 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C2BC LQC2 vf1, $0000(t2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); - // @0012C2C0 LQC2 vf2, $0010(t2) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); - // @0012C2C4 LQC2 vf3, $0020(t2) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); - // @0012C2C8 LQC2 vf4, $0030(t2) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); - // @0012C2CC LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012C2D0 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012C2D4 LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012C2D8 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012C2DC VMULAx.xyzw ACC, vf1, vf5x - // @0012C2E0 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C2E4 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C2E8 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C2EC VMULAx.xyzw ACC, vf1, vf6x - // @0012C2F0 VMADDAy.xyzw ACC, vf2, vf6y - // @0012C2F4 VMADDAz.xyzw ACC, vf3, vf6z - // @0012C2F8 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C2FC VMULAx.xyzw ACC, vf1, vf7x - // @0012C300 VMADDAy.xyzw ACC, vf2, vf7y - // @0012C304 VMADDAz.xyzw ACC, vf3, vf7z - // @0012C308 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C30C VMULAx.xyzw ACC, vf1, vf8x - // @0012C310 VMADDAy.xyzw ACC, vf2, vf8y - // @0012C314 VMADDAz.xyzw ACC, vf3, vf8z - // @0012C318 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C31C SQC2 vf5, $0000(s7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); - // @0012C320 SQC2 vf6, $0010(s7) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s7.UL0)); - // @0012C324 SQC2 vf7, $0020(s7) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s7.UL0)); - // @0012C328 SQC2 vf8, $0030(s7) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s7.UL0)); - // @0012C32C BEQL t4, s7, $0012bbfc - if ((this.ee.t4.UD0 == this.ee.s7.UD0)) - { - this.ee.pc = 1227772u; - // @0012C330 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c2bc() - { - this.ee.pc = 1229620u; - // @0012C2BC LQC2 vf1, $0000(t2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); - // @0012C2C0 LQC2 vf2, $0010(t2) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); - // @0012C2C4 LQC2 vf3, $0020(t2) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); - // @0012C2C8 LQC2 vf4, $0030(t2) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); - // @0012C2CC LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012C2D0 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012C2D4 LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012C2D8 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012C2DC VMULAx.xyzw ACC, vf1, vf5x - // @0012C2E0 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C2E4 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C2E8 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C2EC VMULAx.xyzw ACC, vf1, vf6x - // @0012C2F0 VMADDAy.xyzw ACC, vf2, vf6y - // @0012C2F4 VMADDAz.xyzw ACC, vf3, vf6z - // @0012C2F8 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C2FC VMULAx.xyzw ACC, vf1, vf7x - // @0012C300 VMADDAy.xyzw ACC, vf2, vf7y - // @0012C304 VMADDAz.xyzw ACC, vf3, vf7z - // @0012C308 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C30C VMULAx.xyzw ACC, vf1, vf8x - // @0012C310 VMADDAy.xyzw ACC, vf2, vf8y - // @0012C314 VMADDAz.xyzw ACC, vf3, vf8z - // @0012C318 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C31C SQC2 vf5, $0000(s7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); - // @0012C320 SQC2 vf6, $0010(s7) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s7.UL0)); - // @0012C324 SQC2 vf7, $0020(s7) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s7.UL0)); - // @0012C328 SQC2 vf8, $0030(s7) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s7.UL0)); - // @0012C32C BEQL t4, s7, $0012bbfc - if ((this.ee.t4.UD0 == this.ee.s7.UD0)) - { - this.ee.pc = 1227772u; - // @0012C330 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c334() - { - this.ee.pc = 1229660u; - // @0012C334 LQ t0, $0000(s7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); - // @0012C338 LQ t1, $0010(s7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s7.UL[0])); - // @0012C33C LQ t2, $0020(s7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s7.UL[0])); - // @0012C340 LQ t3, $0030(s7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s7.UL[0])); - // @0012C344 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012C348 SQ t1, $0010(t4) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); - // @0012C34C SQ t2, $0020(t4) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); - // @0012C350 SQ t3, $0030(t4) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); - // @0012C354 BEQ zero, zero, $0012bbfc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227772u; - } - // @0012C358 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - - public virtual void funct0012c35c() - { - this.ee.pc = 1229680u; - // @0012C35C SUBU t7, s2, t3 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); - // @0012C360 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C364 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C368 BEQ zero, zero, $0012c2bc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229500u; - } - // @0012C36C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c370() - { - this.ee.pc = 1229696u; - // @0012C370 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C374 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C378 BEQ zero, zero, $0012c19c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229212u; - } - // @0012C37C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c380() - { - this.ee.pc = 1229712u; - // @0012C380 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C384 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C388 BEQ zero, zero, $0012c0e0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229024u; - } - // @0012C38C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c390() - { - this.ee.pc = 1229732u; - // @0012C390 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - // @0012C394 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C398 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C39C BEQ zero, zero, $0012c0c8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229000u; - } - // @0012C3A0 ADDU t4, t6, t7 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c3a4() - { - this.ee.pc = 1229756u; - // @0012C3A4 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012C3A8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C3AC ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012C3B0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C3B4 BEQ zero, zero, $0012c0a0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228960u; - } - // @0012C3B8 ADDIU t6, t6, $0020 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012c3bc() - { - this.ee.pc = 1229772u; - // @0012C3BC LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C3C0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C3C4 BEQ zero, zero, $0012c074 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228916u; - } - // @0012C3C8 ADDU a2, t6, t7 - this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c3cc() - { - this.ee.pc = 1229788u; - // @0012C3CC SUBU t7, t5, t6 - this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); - // @0012C3D0 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012C3D4 BEQ zero, zero, $0012bfd0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1228752u; - } - // @0012C3D8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012c3e4() - { - this.ee.pc = 1229816u; - // @0012C3E4 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012C3E8 LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012C3EC SLT t6, s2, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); - // @0012C3F0 BEQ t6, zero, $0012c710 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230608u; - } - // @0012C3F4 SUBU t7, s2, t7 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); - } - - public virtual void funct0012c3f8() - { - this.ee.pc = 1229832u; - // @0012C3F8 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C3FC ADDU a0, t7, s3 - this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C400 JAL $0011b420 - this.ee.ra.UL0 = 1229832u; - this.ee.pc = 1160224u; - // @0012C404 NOP - MobUt.Latency(); - } - - public virtual void funct0012c400() - { - this.ee.pc = 1229832u; - // @0012C400 JAL $0011b420 - this.ee.ra.UL0 = 1229832u; - this.ee.pc = 1160224u; - // @0012C404 NOP - MobUt.Latency(); - } - - public virtual void funct0012c408() - { - this.ee.pc = 1229844u; - // @0012C408 LW t7, $021c(sp) - MobUt.LW(this.ee, this.ee.t7, (540u + this.ee.sp.UL0)); - // @0012C40C BEQ t7, zero, $0012c468 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229928u; - } - // @0012C410 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - } - - public virtual void funct0012c414() - { - this.ee.pc = 1229864u; - // @0012C414 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012C418 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @0012C41C SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012C420 BEQ t7, zero, $0012c6f4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230580u; - } - // @0012C424 DADDU a2, t8, zero - this.ee.a2.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012c428() - { - this.ee.pc = 1229900u; - // @0012C428 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012C42C ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012C430 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012C434 SQ t0, $0000(a2) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); - // @0012C438 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012C43C LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @0012C440 SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012C444 BEQL t7, zero, $0012c6dc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230556u; - // @0012C448 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct0012c430() - { - this.ee.pc = 1229900u; - // @0012C430 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012C434 SQ t0, $0000(a2) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); - // @0012C438 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012C43C LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @0012C440 SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012C444 BEQL t7, zero, $0012c6dc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230556u; - // @0012C448 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct0012c44c() - { - this.ee.pc = 1229924u; - // @0012C44C LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012C450 ADDU a3, t7, s8 - this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012C454 SQ t8, $0290(sp) - MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - // @0012C458 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0012C45C JAL $00127e20 - this.ee.ra.UL0 = 1229924u; - this.ee.pc = 1211936u; - // @0012C460 LW a1, $021c(sp) - MobUt.LW(this.ee, this.ee.a1, (540u + this.ee.sp.UL0)); - } - - public virtual void funct0012c454() - { - this.ee.pc = 1229924u; - // @0012C454 SQ t8, $0290(sp) - MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - // @0012C458 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0012C45C JAL $00127e20 - this.ee.ra.UL0 = 1229924u; - this.ee.pc = 1211936u; - // @0012C460 LW a1, $021c(sp) - MobUt.LW(this.ee, this.ee.a1, (540u + this.ee.sp.UL0)); - } - - public virtual void funct0012c464() - { - this.ee.pc = 1229948u; - // @0012C464 LQ t8, $0290(sp) - MobUt.LQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - // @0012C468 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012C46C LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012C470 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012C474 BEQ t7, zero, $0012c6cc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230540u; - } - // @0012C478 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012c468() - { - this.ee.pc = 1229948u; - // @0012C468 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012C46C LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012C470 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012C474 BEQ t7, zero, $0012c6cc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230540u; - } - // @0012C478 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012c47c() - { - this.ee.pc = 1229972u; - // @0012C47C LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C480 ADDU a0, t7, s3 - this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C484 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012C488 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012C48C BEQL t7, zero, $0012c6b4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230516u; - // @0012C490 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012c484() - { - this.ee.pc = 1229972u; - // @0012C484 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012C488 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012C48C BEQL t7, zero, $0012c6b4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230516u; - // @0012C490 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012c494() - { - this.ee.pc = 1229988u; - // @0012C494 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012C498 ADDU a1, t7, s8 - this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012C49C JAL $0011b528 - this.ee.ra.UL0 = 1229988u; - this.ee.pc = 1160488u; - // @0012C4A0 SQ t8, $0290(sp) - MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - } - - public virtual void funct0012c49c() - { - this.ee.pc = 1229988u; - // @0012C49C JAL $0011b528 - this.ee.ra.UL0 = 1229988u; - this.ee.pc = 1160488u; - // @0012C4A0 SQ t8, $0290(sp) - MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - } - - public virtual void funct0012c4a4() - { - this.ee.pc = 1230008u; - // @0012C4A4 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012C4A8 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012C4AC SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012C4B0 BEQ t7, zero, $0012c6a0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230496u; - } - // @0012C4B4 LQ t8, $0290(sp) - MobUt.LQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - } - - public virtual void funct0012c4b8() - { - this.ee.pc = 1230032u; - // @0012C4B8 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C4BC ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C4C0 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012C4C4 ADDIU t3, sp, $0090 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012C4C8 BEQ t6, t3, $0012c4e0 - if ((this.ee.t6.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1230048u; - } - // @0012C4CC LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012c4c0() - { - this.ee.pc = 1230032u; - // @0012C4C0 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012C4C4 ADDIU t3, sp, $0090 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012C4C8 BEQ t6, t3, $0012c4e0 - if ((this.ee.t6.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1230048u; - } - // @0012C4CC LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012c4d0() - { - this.ee.pc = 1230056u; - // @0012C4D0 LQ t0, $0000(t3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @0012C4D4 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012C4D8 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012C4DC LW t5, $0214(sp) - MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); - // @0012C4E0 BLTZ t5, $0012c4f4 - if ((this.ee.t5.SD0 < 0)) - { - this.ee.pc = 1230068u; - } - // @0012C4E4 LUI t7, $0008 - this.ee.t7.SD0 = 524288; - } - - public virtual void funct0012c4e8() - { - this.ee.pc = 1230068u; - // @0012C4E8 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012C4EC BEQ t7, zero, $0012c5c8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230280u; - } - // @0012C4F0 LW t6, $0214(sp) - MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012c4f4() - { - this.ee.pc = 1230092u; - // @0012C4F4 LHU t4, $0010(t4) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t4.UL0)); - // @0012C4F8 DADDU t3, sp, zero - this.ee.t3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @0012C4FC LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012C500 SLT t6, s2, t4 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012C504 BEQ t6, zero, $0012c5b4 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230260u; - } - // @0012C508 ADDU t5, t7, s3 - this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - } - - public virtual void funct0012c50c() - { - this.ee.pc = 1230220u; - // @0012C50C LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C510 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C514 LQC2 vf1, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); - // @0012C518 LQC2 vf2, $0010(t3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); - // @0012C51C LQC2 vf3, $0020(t3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); - // @0012C520 LQC2 vf4, $0030(t3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); - // @0012C524 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012C528 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012C52C LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012C530 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012C534 VMULAx.xyzw ACC, vf1, vf5x - // @0012C538 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C53C VMADDAz.xyzw ACC, vf3, vf5z - // @0012C540 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C544 VMULAx.xyzw ACC, vf1, vf6x - // @0012C548 VMADDAy.xyzw ACC, vf2, vf6y - // @0012C54C VMADDAz.xyzw ACC, vf3, vf6z - // @0012C550 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C554 VMULAx.xyzw ACC, vf1, vf7x - // @0012C558 VMADDAy.xyzw ACC, vf2, vf7y - // @0012C55C VMADDAz.xyzw ACC, vf3, vf7z - // @0012C560 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C564 VMULAx.xyzw ACC, vf1, vf8x - // @0012C568 VMADDAy.xyzw ACC, vf2, vf8y - // @0012C56C VMADDAz.xyzw ACC, vf3, vf8z - // @0012C570 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C574 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012C578 SQC2 vf6, $0010(t8) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); - // @0012C57C SQC2 vf7, $0020(t8) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); - // @0012C580 SQC2 vf8, $0030(t8) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); - // @0012C584 BEQL t5, t8, $0012bbfc - if ((this.ee.t5.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1227772u; - // @0012C588 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c514() - { - this.ee.pc = 1230220u; - // @0012C514 LQC2 vf1, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); - // @0012C518 LQC2 vf2, $0010(t3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); - // @0012C51C LQC2 vf3, $0020(t3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); - // @0012C520 LQC2 vf4, $0030(t3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); - // @0012C524 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012C528 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012C52C LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012C530 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012C534 VMULAx.xyzw ACC, vf1, vf5x - // @0012C538 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C53C VMADDAz.xyzw ACC, vf3, vf5z - // @0012C540 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C544 VMULAx.xyzw ACC, vf1, vf6x - // @0012C548 VMADDAy.xyzw ACC, vf2, vf6y - // @0012C54C VMADDAz.xyzw ACC, vf3, vf6z - // @0012C550 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C554 VMULAx.xyzw ACC, vf1, vf7x - // @0012C558 VMADDAy.xyzw ACC, vf2, vf7y - // @0012C55C VMADDAz.xyzw ACC, vf3, vf7z - // @0012C560 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C564 VMULAx.xyzw ACC, vf1, vf8x - // @0012C568 VMADDAy.xyzw ACC, vf2, vf8y - // @0012C56C VMADDAz.xyzw ACC, vf3, vf8z - // @0012C570 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C574 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012C578 SQC2 vf6, $0010(t8) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); - // @0012C57C SQC2 vf7, $0020(t8) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); - // @0012C580 SQC2 vf8, $0030(t8) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); - // @0012C584 BEQL t5, t8, $0012bbfc - if ((this.ee.t5.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1227772u; - // @0012C588 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c58c() - { - this.ee.pc = 1230260u; - // @0012C58C LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012C590 LQ t1, $0010(t8) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t8.UL[0])); - // @0012C594 LQ t2, $0020(t8) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t8.UL[0])); - // @0012C598 LQ t3, $0030(t8) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t8.UL[0])); - // @0012C59C SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012C5A0 SQ t1, $0010(t5) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); - // @0012C5A4 SQ t2, $0020(t5) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); - // @0012C5A8 SQ t3, $0030(t5) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); - // @0012C5AC BEQ zero, zero, $0012bbfc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227772u; - } - // @0012C5B0 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - - public virtual void funct0012c5b4() - { - this.ee.pc = 1230280u; - // @0012C5B4 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012C5B8 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C5BC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C5C0 BEQ zero, zero, $0012c514 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230100u; - } - // @0012C5C4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c5c8() - { - this.ee.pc = 1230308u; - // @0012C5C8 LHU t3, $0010(t4) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t4.UL0)); - // @0012C5CC SLL t7, t6, 6 - MobUt.SLL(this.ee.t7, this.ee.t6, 6); - // @0012C5D0 LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012C5D4 SLT t5, s2, t3 - this.ee.t5.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); - // @0012C5D8 ADDU t2, t6, t7 - this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C5DC BEQ t5, zero, $0012c68c - if ((this.ee.t5.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230476u; - } - // @0012C5E0 ADDU t4, t6, s3 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - } - - public virtual void funct0012c5e4() - { - this.ee.pc = 1230436u; - // @0012C5E4 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012C5E8 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012C5EC LQC2 vf1, $0000(t2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); - // @0012C5F0 LQC2 vf2, $0010(t2) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); - // @0012C5F4 LQC2 vf3, $0020(t2) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); - // @0012C5F8 LQC2 vf4, $0030(t2) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); - // @0012C5FC LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012C600 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012C604 LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012C608 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012C60C VMULAx.xyzw ACC, vf1, vf5x - // @0012C610 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C614 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C618 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C61C VMULAx.xyzw ACC, vf1, vf6x - // @0012C620 VMADDAy.xyzw ACC, vf2, vf6y - // @0012C624 VMADDAz.xyzw ACC, vf3, vf6z - // @0012C628 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C62C VMULAx.xyzw ACC, vf1, vf7x - // @0012C630 VMADDAy.xyzw ACC, vf2, vf7y - // @0012C634 VMADDAz.xyzw ACC, vf3, vf7z - // @0012C638 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C63C VMULAx.xyzw ACC, vf1, vf8x - // @0012C640 VMADDAy.xyzw ACC, vf2, vf8y - // @0012C644 VMADDAz.xyzw ACC, vf3, vf8z - // @0012C648 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C64C SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012C650 SQC2 vf6, $0010(t8) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); - // @0012C654 SQC2 vf7, $0020(t8) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); - // @0012C658 SQC2 vf8, $0030(t8) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); - // @0012C65C BEQL t4, t8, $0012bbfc - if ((this.ee.t4.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1227772u; - // @0012C660 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c5ec() - { - this.ee.pc = 1230436u; - // @0012C5EC LQC2 vf1, $0000(t2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); - // @0012C5F0 LQC2 vf2, $0010(t2) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); - // @0012C5F4 LQC2 vf3, $0020(t2) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); - // @0012C5F8 LQC2 vf4, $0030(t2) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); - // @0012C5FC LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012C600 LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012C604 LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012C608 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012C60C VMULAx.xyzw ACC, vf1, vf5x - // @0012C610 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C614 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C618 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C61C VMULAx.xyzw ACC, vf1, vf6x - // @0012C620 VMADDAy.xyzw ACC, vf2, vf6y - // @0012C624 VMADDAz.xyzw ACC, vf3, vf6z - // @0012C628 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012C62C VMULAx.xyzw ACC, vf1, vf7x - // @0012C630 VMADDAy.xyzw ACC, vf2, vf7y - // @0012C634 VMADDAz.xyzw ACC, vf3, vf7z - // @0012C638 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012C63C VMULAx.xyzw ACC, vf1, vf8x - // @0012C640 VMADDAy.xyzw ACC, vf2, vf8y - // @0012C644 VMADDAz.xyzw ACC, vf3, vf8z - // @0012C648 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012C64C SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012C650 SQC2 vf6, $0010(t8) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); - // @0012C654 SQC2 vf7, $0020(t8) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); - // @0012C658 SQC2 vf8, $0030(t8) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); - // @0012C65C BEQL t4, t8, $0012bbfc - if ((this.ee.t4.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1227772u; - // @0012C660 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c664() - { - this.ee.pc = 1230476u; - // @0012C664 LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012C668 LQ t1, $0010(t8) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t8.UL[0])); - // @0012C66C LQ t2, $0020(t8) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t8.UL[0])); - // @0012C670 LQ t3, $0030(t8) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t8.UL[0])); - // @0012C674 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012C678 SQ t1, $0010(t4) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); - // @0012C67C SQ t2, $0020(t4) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); - // @0012C680 SQ t3, $0030(t4) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); - // @0012C684 BEQ zero, zero, $0012bbfc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227772u; - } - // @0012C688 LW t5, $0008(s0) - MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); - } - - public virtual void funct0012c68c() - { - this.ee.pc = 1230496u; - // @0012C68C SUBU t7, s2, t3 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); - // @0012C690 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C694 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C698 BEQ zero, zero, $0012c5ec - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230316u; - } - // @0012C69C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c6a0() - { - this.ee.pc = 1230516u; - // @0012C6A0 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - // @0012C6A4 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C6A8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C6AC BEQ zero, zero, $0012c4c0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230016u; - } - // @0012C6B0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c6b4() - { - this.ee.pc = 1230540u; - // @0012C6B4 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012C6B8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C6BC ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012C6C0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C6C4 BEQ zero, zero, $0012c49c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229980u; - } - // @0012C6C8 ADDIU a1, t6, $0020 - this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012c6cc() - { - this.ee.pc = 1230556u; - // @0012C6CC LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C6D0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C6D4 BEQ zero, zero, $0012c484 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229956u; - } - // @0012C6D8 ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c6dc() - { - this.ee.pc = 1230580u; - // @0012C6DC SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012C6E0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C6E4 ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012C6E8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C6EC BEQ zero, zero, $0012c454 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229908u; - } - // @0012C6F0 ADDIU a3, t6, $0020 - this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012c6f4() - { - this.ee.pc = 1230608u; - // @0012C6F4 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - // @0012C6F8 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012C6FC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C700 ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012C704 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C708 BEQ zero, zero, $0012c430 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229872u; - } - // @0012C70C ADDIU t6, t6, $0020 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012c710() - { - this.ee.pc = 1230624u; - // @0012C710 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012C714 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C718 BEQ zero, zero, $0012c400 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1229824u; - } - // @0012C71C ADDU a0, t6, t7 - this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c720() - { - this.ee.pc = 1230648u; - // @0012C720 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - // @0012C724 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012C728 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012C72C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012C730 BEQ zero, zero, $0012bb60 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227616u; - } - // @0012C734 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012c738() - { - this.ee.pc = 1230656u; - // @0012C738 BNEL a2, t7, $0012c74c - if ((this.ee.a2.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1230668u; - // @0012C73C SQ v0, $0260(sp) - MobUt.SQ(this.ee, this.ee.v0, (608u + this.ee.sp.UL[0])); - } - } - - public virtual void funct0012c740() - { - this.ee.pc = 1230664u; - // @0012C740 BEQL a3, a2, $0012c8d0 - if ((this.ee.a3.UD0 == this.ee.a2.UD0)) - { - this.ee.pc = 1231056u; - // @0012C744 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c74c() - { - this.ee.pc = 1230700u; - // @0012C74C ADDIU s3, sp, $0040 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012C750 SQ v1, $0270(sp) - MobUt.SQ(this.ee, this.ee.v1, (624u + this.ee.sp.UL[0])); - // @0012C754 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0012C758 DADDU a1, s5, zero - this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - // @0012C75C ADDIU t0, sp, $0080 - this.ee.t0.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012C760 DADDU t1, s3, zero - this.ee.t1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - // @0012C764 JAL $00128c78 - this.ee.ra.UL0 = 1230700u; - this.ee.pc = 1215608u; - // @0012C768 ADDIU t2, sp, $0090 - this.ee.t2.SD0 = ((int)((this.ee.sp.SD0 + 144))); - } - - public virtual void funct0012c76c() - { - this.ee.pc = 1230736u; - // @0012C76C ADDIU s7, sp, $0090 - this.ee.s7.SD0 = ((int)((this.ee.sp.SD0 + 144))); - // @0012C770 LUI t3, $0038 - this.ee.t3.SD0 = 3670016; - // @0012C774 LQ v0, $0260(sp) - MobUt.LQ(this.ee, this.ee.v0, (608u + this.ee.sp.UL[0])); - // @0012C778 ADDIU t3, t3, $8364 - this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + -31900))); - // @0012C77C LQ v1, $0270(sp) - MobUt.LQ(this.ee, this.ee.v1, (624u + this.ee.sp.UL[0])); - // @0012C780 LWC1 $f0, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); - // @0012C784 ADDIU t5, sp, $0080 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012C788 BEQ v0, zero, $0012c848 - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230920u; - } - // @0012C78C SWC1 $f0, $009c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); - } - - public virtual void funct0012c790() - { - this.ee.pc = 1230756u; - // @0012C790 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012C794 LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012C798 SLT t6, v1, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.v1.SD0 < this.ee.t7.SD0)); - // @0012C79C BEQ t6, zero, $0012c8c4 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231044u; - } - // @0012C7A0 SUBU t7, v1, t7 - this.ee.t7.SD0 = ((int)((this.ee.v1.UD0 - this.ee.t7.UD0))); - } - - public virtual void funct0012c7ac() - { - this.ee.pc = 1230852u; - // @0012C7AC ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C7B0 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012C7B4 ADDIU t7, t6, $0030 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012C7B8 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012C7BC LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @0012C7C0 LQC2 vf2, $0010(s3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); - // @0012C7C4 LQC2 vf3, $0020(s3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); - // @0012C7C8 LQC2 vf4, $0030(s3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @0012C7CC VMULAx.xyzw ACC, vf1, vf5x - // @0012C7D0 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C7D4 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C7D8 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C7DC SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012C7E0 ADDIU s3, sp, $0130 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 304))); - // @0012C7E4 LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012C7E8 SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @0012C7EC SQ t5, $0280(sp) - MobUt.SQ(this.ee, this.ee.t5, (640u + this.ee.sp.UL[0])); - // @0012C7F0 DADDU a1, v0, zero - this.ee.a1.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); - // @0012C7F4 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0012C7F8 DADDU a2, s3, zero - this.ee.a2.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - // @0012C7FC JAL $00127e20 - this.ee.ra.UL0 = 1230852u; - this.ee.pc = 1211936u; - // @0012C800 DADDU a3, s7, zero - this.ee.a3.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012c804() - { - this.ee.pc = 1230864u; - // @0012C804 LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - // @0012C808 BGEZ t4, $0012c860 - if ((this.ee.t4.SD0 >= 0)) - { - this.ee.pc = 1230944u; - } - // @0012C80C LQ t5, $0280(sp) - MobUt.LQ(this.ee, this.ee.t5, (640u + this.ee.sp.UL[0])); - } - - public virtual void funct0012c838() - { - this.ee.pc = 1230912u; - // @0012C838 BEQL t5, s3, $0012c84c - if ((this.ee.t5.UD0 == this.ee.s3.UD0)) - { - this.ee.pc = 1230924u; - // @0012C83C LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - } - } - - public virtual void funct0012c840() - { - this.ee.pc = 1230944u; - // @0012C840 LQ t0, $0000(s3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @0012C844 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012C848 LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - // @0012C84C SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012C850 ADDIU t5, t5, $8364 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); - // @0012C854 LWC1 $f0, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - // @0012C858 BEQ zero, zero, $0012bbcc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227724u; - } - // @0012C85C SWC1 $f0, $008c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); - } - - public virtual void funct0012c848() - { - this.ee.pc = 1230944u; - // @0012C848 LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - // @0012C84C SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012C850 ADDIU t5, t5, $8364 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); - // @0012C854 LWC1 $f0, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - // @0012C858 BEQ zero, zero, $0012bbcc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227724u; - } - // @0012C85C SWC1 $f0, $008c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); - } - - public virtual void funct0012c858() - { - this.ee.pc = 1230944u; - // @0012C858 BEQ zero, zero, $0012bbcc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227724u; - } - // @0012C85C SWC1 $f0, $008c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); - } - - public virtual void funct0012c860() - { - this.ee.pc = 1230968u; - // @0012C860 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012C864 LW t3, $0214(sp) - MobUt.LW(this.ee, this.ee.t3, (532u + this.ee.sp.UL0)); - // @0012C868 LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012C86C SLT t6, t3, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t3.SD0 < this.ee.t7.SD0)); - // @0012C870 BEQ t6, zero, $0012c8b4 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231028u; - } - // @0012C874 LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - } - - public virtual void funct0012c880() - { - this.ee.pc = 1231028u; - // @0012C880 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C884 LQC2 vf5, $0000(s7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); - // @0012C888 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012C88C LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012C890 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012C894 LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012C898 VMULAx.xyzw ACC, vf1, vf5x - // @0012C89C VMADDAy.xyzw ACC, vf2, vf5y - // @0012C8A0 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C8A4 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C8A8 SQC2 vf5, $0000(s3) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); - // @0012C8AC BEQ zero, zero, $0012c838 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230904u; - } - // @0012C8B0 NOP - MobUt.Latency(); - } - - public virtual void funct0012c8b4() - { - this.ee.pc = 1231044u; - // @0012C8B4 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012C8B8 SUBU t7, t4, t7 - this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t7.UD0))); - // @0012C8BC BEQ zero, zero, $0012c880 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230976u; - } - // @0012C8C0 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012c8c4() - { - this.ee.pc = 1231056u; - // @0012C8C4 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012C8C8 BEQ zero, zero, $0012c7ac - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230764u; - } - // @0012C8CC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012c8d0() - { - this.ee.pc = 1231072u; - // @0012C8D0 LHU t4, $0010(t5) - MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); - // @0012C8D4 SLT t7, s2, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); - // @0012C8D8 BEQ t7, zero, $0012ca68 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231464u; - } - // @0012C8DC ADDIU s3, sp, $0090 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 144))); - } - - public virtual void funct0012c8e0() - { - this.ee.pc = 1231088u; - // @0012C8E0 LW t7, $0024(s5) - MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); - // @0012C8E4 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012C8E8 BEQL s3, t6, $0012c8fc - if ((this.ee.s3.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1231100u; - // @0012C8EC LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - } - - public virtual void funct0012c8e8() - { - this.ee.pc = 1231088u; - // @0012C8E8 BEQL s3, t6, $0012c8fc - if ((this.ee.s3.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1231100u; - // @0012C8EC LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - } - - public virtual void funct0012c8f0() - { - this.ee.pc = 1231116u; - // @0012C8F0 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012C8F4 SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @0012C8F8 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @0012C8FC ADDIU t6, t6, $8364 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31900))); - // @0012C900 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @0012C904 BEQ v0, zero, $0012ca60 - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231456u; - } - // @0012C908 SWC1 $f0, $009c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); - } - - public virtual void funct0012c90c() - { - this.ee.pc = 1231136u; - // @0012C90C LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - // @0012C910 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012C914 SLT t7, v1, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.v1.SD0 < this.ee.t6.SD0)); - // @0012C918 BEQ t7, zero, $0012ca50 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231440u; - } - // @0012C91C ADDIU t5, sp, $0040 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 64))); - } - - public virtual void funct0012c928() - { - this.ee.pc = 1231228u; - // @0012C928 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C92C ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012C930 ADDIU t7, t6, $0030 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012C934 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012C938 LQC2 vf1, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @0012C93C LQC2 vf2, $0010(t5) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t5.UL0)); - // @0012C940 LQC2 vf3, $0020(t5) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t5.UL0)); - // @0012C944 LQC2 vf4, $0030(t5) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t5.UL0)); - // @0012C948 VMULAx.xyzw ACC, vf1, vf5x - // @0012C94C VMADDAy.xyzw ACC, vf2, vf5y - // @0012C950 VMADDAz.xyzw ACC, vf3, vf5z - // @0012C954 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C958 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012C95C ADDIU a2, sp, $0130 - this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 304))); - // @0012C960 LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012C964 SQ t0, $0000(a2) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); - // @0012C968 SQ t8, $0290(sp) - MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - // @0012C96C DADDU a1, v0, zero - this.ee.a1.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); - // @0012C970 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0012C974 JAL $00127e20 - this.ee.ra.UL0 = 1231228u; - this.ee.pc = 1211936u; - // @0012C978 DADDU a3, s3, zero - this.ee.a3.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012c97c() - { - this.ee.pc = 1231244u; - // @0012C97C LQ t8, $0290(sp) - MobUt.LQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); - // @0012C980 LW t7, $0214(sp) - MobUt.LW(this.ee, this.ee.t7, (532u + this.ee.sp.UL0)); - // @0012C984 BGEZL t7, $0012c9dc - if ((this.ee.t7.SD0 >= 0)) - { - this.ee.pc = 1231324u; - // @0012C988 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c980() - { - this.ee.pc = 1231244u; - // @0012C980 LW t7, $0214(sp) - MobUt.LW(this.ee, this.ee.t7, (532u + this.ee.sp.UL0)); - // @0012C984 BGEZL t7, $0012c9dc - if ((this.ee.t7.SD0 >= 0)) - { - this.ee.pc = 1231324u; - // @0012C988 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012c98c() - { - this.ee.pc = 1231296u; - // @0012C98C ADDIU t7, sp, $0080 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012C990 LQC2 vf5, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); - // @0012C994 LQC2 vf1, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @0012C998 LQC2 vf2, $0010(sp) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.sp.UL0)); - // @0012C99C LQC2 vf3, $0020(sp) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.sp.UL0)); - // @0012C9A0 LQC2 vf4, $0030(sp) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.sp.UL0)); - // @0012C9A4 VMULAx.xyzw ACC, vf1, vf5x - // @0012C9A8 VMADDAy.xyzw ACC, vf2, vf5y - // @0012C9AC VMADDAz.xyzw ACC, vf3, vf5z - // @0012C9B0 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012C9B4 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012C9B8 BEQ t7, t8, $0012c9cc - if ((this.ee.t7.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1231308u; - } - // @0012C9BC LUI t4, $0038 - this.ee.t4.SD0 = 3670016; - } - - public virtual void funct0012c9c0() - { - this.ee.pc = 1231324u; - // @0012C9C0 LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012C9C4 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012C9C8 LUI t4, $0038 - this.ee.t4.SD0 = 3670016; - // @0012C9CC SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012C9D0 ADDIU t4, t4, $8364 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31900))); - // @0012C9D4 BEQ zero, zero, $0012c858 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230936u; - } - // @0012C9D8 LWC1 $f0, $0000(t4) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); - } - - public virtual void funct0012c9cc() - { - this.ee.pc = 1231324u; - // @0012C9CC SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012C9D0 ADDIU t4, t4, $8364 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31900))); - // @0012C9D4 BEQ zero, zero, $0012c858 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1230936u; - } - // @0012C9D8 LWC1 $f0, $0000(t4) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); - } - - public virtual void funct0012c9dc() - { - this.ee.pc = 1231344u; - // @0012C9DC LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - // @0012C9E0 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012C9E4 SLT t7, t4, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t6.SD0)); - // @0012C9E8 BEQ t7, zero, $0012ca3c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231420u; - } - // @0012C9EC ADDIU t5, sp, $0080 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); - } - - public virtual void funct0012c9f0() - { - this.ee.pc = 1231404u; - // @0012C9F0 LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012C9F4 SLL t7, t4, 6 - MobUt.SLL(this.ee.t7, this.ee.t4, 6); - // @0012C9F8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C9FC LQC2 vf5, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); - // @0012CA00 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CA04 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CA08 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CA0C LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012CA10 VMULAx.xyzw ACC, vf1, vf5x - // @0012CA14 VMADDAy.xyzw ACC, vf2, vf5y - // @0012CA18 VMADDAz.xyzw ACC, vf3, vf5z - // @0012CA1C VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012CA20 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012CA24 BEQL t5, t8, $0012c9cc - if ((this.ee.t5.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1231308u; - // @0012CA28 LUI t4, $0038 - this.ee.t4.SD0 = 3670016; - } - } - - public virtual void funct0012c9f8() - { - this.ee.pc = 1231404u; - // @0012C9F8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012C9FC LQC2 vf5, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); - // @0012CA00 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CA04 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CA08 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CA0C LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012CA10 VMULAx.xyzw ACC, vf1, vf5x - // @0012CA14 VMADDAy.xyzw ACC, vf2, vf5y - // @0012CA18 VMADDAz.xyzw ACC, vf3, vf5z - // @0012CA1C VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012CA20 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012CA24 BEQL t5, t8, $0012c9cc - if ((this.ee.t5.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1231308u; - // @0012CA28 LUI t4, $0038 - this.ee.t4.SD0 = 3670016; - } - } - - public virtual void funct0012ca2c() - { - this.ee.pc = 1231420u; - // @0012CA2C LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012CA30 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012CA34 BEQ zero, zero, $0012c9cc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231308u; - } - // @0012CA38 LUI t4, $0038 - this.ee.t4.SD0 = 3670016; - } - - public virtual void funct0012ca3c() - { - this.ee.pc = 1231440u; - // @0012CA3C LW t3, $0214(sp) - MobUt.LW(this.ee, this.ee.t3, (532u + this.ee.sp.UL0)); - // @0012CA40 SUBU t7, t3, t6 - this.ee.t7.SD0 = ((int)((this.ee.t3.UD0 - this.ee.t6.UD0))); - // @0012CA44 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012CA48 BEQ zero, zero, $0012c9f8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231352u; - } - // @0012CA4C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012ca50() - { - this.ee.pc = 1231456u; - // @0012CA50 SUBU t7, v1, t6 - this.ee.t7.SD0 = ((int)((this.ee.v1.UD0 - this.ee.t6.UD0))); - // @0012CA54 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012CA58 BEQ zero, zero, $0012c928 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231144u; - } - // @0012CA5C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012ca60() - { - this.ee.pc = 1231464u; - // @0012CA60 BEQ zero, zero, $0012c980 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231232u; - } - // @0012CA64 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - } - - public virtual void funct0012ca68() - { - this.ee.pc = 1231492u; - // @0012CA68 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - // @0012CA6C SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012CA70 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012CA74 ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012CA78 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012CA7C BEQ zero, zero, $0012c8e8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231080u; - } - // @0012CA80 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012ca88() - { - this.ee.pc = 1231520u; - // @0012CA88 ADDIU a1, sp, $0040 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012CA8C LW t3, $0214(sp) - MobUt.LW(this.ee, this.ee.t3, (532u + this.ee.sp.UL0)); - // @0012CA90 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012CA94 SLT t7, t3, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t3.SD0 < this.ee.t6.SD0)); - // @0012CA98 BEQ t7, zero, $0012cadc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231580u; - } - // @0012CA9C DADDU t5, a1, zero - this.ee.t5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012caa0() - { - this.ee.pc = 1231540u; - // @0012CAA0 LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012CAA4 SLL t7, t3, 6 - MobUt.SLL(this.ee.t7, this.ee.t3, 6); - // @0012CAA8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012CAAC BEQ t5, t6, $0012ba74 - if ((this.ee.t5.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1227380u; - } - // @0012CAB0 NOP - MobUt.Latency(); - } - - public virtual void funct0012caa8() - { - this.ee.pc = 1231540u; - // @0012CAA8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012CAAC BEQ t5, t6, $0012ba74 - if ((this.ee.t5.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1227380u; - } - // @0012CAB0 NOP - MobUt.Latency(); - } - - public virtual void funct0012cab4() - { - this.ee.pc = 1231580u; - // @0012CAB4 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012CAB8 LQ t1, $0010(t6) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012CABC LQ t2, $0020(t6) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012CAC0 LQ t3, $0030(t6) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012CAC4 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012CAC8 SQ t1, $0010(t5) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); - // @0012CACC SQ t2, $0020(t5) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); - // @0012CAD0 SQ t3, $0030(t5) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); - // @0012CAD4 BEQ zero, zero, $0012ba74 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1227380u; - } - // @0012CAD8 NOP - MobUt.Latency(); - } - - public virtual void funct0012cadc() - { - this.ee.pc = 1231600u; - // @0012CADC LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - // @0012CAE0 SUBU t7, t4, t6 - this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t6.UD0))); - // @0012CAE4 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012CAE8 BEQ zero, zero, $0012caa8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231528u; - } - // @0012CAEC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012caf0() - { - this.ee.pc = 1231620u; - // @0012CAF0 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CAF4 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CAF8 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CAFC BEQ t7, zero, $0012d218 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233432u; - } - // @0012CB00 ADDIU t3, sp, $0090 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); - } - - public virtual void funct0012cb04() - { - this.ee.pc = 1231636u; - // @0012CB04 LW t7, $0024(s5) - MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); - // @0012CB08 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012CB0C BEQ t3, t6, $0012cb24 - if ((this.ee.t3.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1231652u; - } - // @0012CB10 LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - } - - public virtual void funct0012cb0c() - { - this.ee.pc = 1231636u; - // @0012CB0C BEQ t3, t6, $0012cb24 - if ((this.ee.t3.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1231652u; - } - // @0012CB10 LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - } - - public virtual void funct0012cb14() - { - this.ee.pc = 1231684u; - // @0012CB14 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012CB18 SQ t0, $0000(t3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @0012CB1C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CB20 LUI t5, $0038 - this.ee.t5.SD0 = 3670016; - // @0012CB24 ADDIU t5, t5, $8364 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); - // @0012CB28 LWC1 $f0, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); - // @0012CB2C SWC1 $f0, $009c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); - // @0012CB30 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CB34 LW t4, $0214(sp) - MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); - // @0012CB38 SLT t7, t4, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t6.SD0)); - // @0012CB3C BEQ t7, zero, $0012d200 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233408u; - } - // @0012CB40 SLL t5, t4, 6 - MobUt.SLL(this.ee.t5, this.ee.t4, 6); - } - - public virtual void funct0012cb44() - { - this.ee.pc = 1231756u; - // @0012CB44 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012CB48 SW t5, $0250(sp) - MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); - // @0012CB4C ADDU t6, t7, t5 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @0012CB50 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012CB54 DADDU s7, t8, zero - this.ee.s7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); - // @0012CB58 LQC2 vf5, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012CB5C LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CB60 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CB64 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CB68 LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012CB6C VMULAx.xyzw ACC, vf1, vf5x - // @0012CB70 VMADDAy.xyzw ACC, vf2, vf5y - // @0012CB74 VMADDAz.xyzw ACC, vf3, vf5z - // @0012CB78 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012CB7C SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012CB80 ADDIU t6, sp, $0080 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012CB84 BEQL t6, t8, $0012cb98 - if ((this.ee.t6.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1231768u; - // @0012CB88 LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012cb50() - { - this.ee.pc = 1231756u; - // @0012CB50 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012CB54 DADDU s7, t8, zero - this.ee.s7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); - // @0012CB58 LQC2 vf5, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012CB5C LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CB60 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CB64 LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CB68 LQC2 vf4, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); - // @0012CB6C VMULAx.xyzw ACC, vf1, vf5x - // @0012CB70 VMADDAy.xyzw ACC, vf2, vf5y - // @0012CB74 VMADDAz.xyzw ACC, vf3, vf5z - // @0012CB78 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012CB7C SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012CB80 ADDIU t6, sp, $0080 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012CB84 BEQL t6, t8, $0012cb98 - if ((this.ee.t6.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1231768u; - // @0012CB88 LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012cb8c() - { - this.ee.pc = 1231788u; - // @0012CB8C LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012CB90 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012CB94 LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012CB98 ADDIU s3, sp, $0040 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @0012CB9C LW t3, $0250(sp) - MobUt.LW(this.ee, this.ee.t3, (592u + this.ee.sp.UL0)); - // @0012CBA0 ADDU t7, t7, t3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t3.SD0))); - // @0012CBA4 BEQ s3, t7, $0012cbcc - if ((this.ee.s3.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1231820u; - } - // @0012CBA8 NOP - MobUt.Latency(); - } - - public virtual void funct0012cbac() - { - this.ee.pc = 1231968u; - // @0012CBAC LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012CBB0 LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0012CBB4 LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0012CBB8 LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0012CBBC SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @0012CBC0 SQ t1, $0010(s3) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); - // @0012CBC4 SQ t2, $0020(s3) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); - // @0012CBC8 SQ t3, $0030(s3) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s3.UL[0])); - // @0012CBCC LQ t0, $0000(s3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @0012CBD0 LQ t1, $0010(s3) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); - // @0012CBD4 LQ t2, $0020(s3) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); - // @0012CBD8 QMFC2 t3, vf0 - MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); - // @0012CBDC LQC2 vf4, $0030(s3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @0012CBE0 PEXTLW t4, t1, t0 - this.ee.t4.UL[0] = this.ee.t0.UL[0]; - this.ee.t4.UL[1] = this.ee.t1.UL[0]; - this.ee.t4.UL[2] = this.ee.t0.UL[1]; - this.ee.t4.UL[3] = this.ee.t1.UL[1]; - // @0012CBE4 PEXTUW t5, t1, t0 - this.ee.t5.UL[0] = this.ee.t0.UL[2]; - this.ee.t5.UL[1] = this.ee.t1.UL[2]; - this.ee.t5.UL[2] = this.ee.t0.UL[3]; - this.ee.t5.UL[3] = this.ee.t1.UL[3]; - // @0012CBE8 PEXTLW t6, t3, t2 - this.ee.t6.UL[0] = this.ee.t2.UL[0]; - this.ee.t6.UL[1] = this.ee.t3.UL[0]; - this.ee.t6.UL[2] = this.ee.t2.UL[1]; - this.ee.t6.UL[3] = this.ee.t3.UL[1]; - // @0012CBEC PEXTUW t7, t3, t2 - this.ee.t7.UL[0] = this.ee.t2.UL[2]; - this.ee.t7.UL[1] = this.ee.t3.UL[2]; - this.ee.t7.UL[2] = this.ee.t2.UL[3]; - this.ee.t7.UL[3] = this.ee.t3.UL[3]; - // @0012CBF0 PCPYLD t0, t6, t4 - this.ee.t0.UD1 = this.ee.t6.UD0; - this.ee.t0.UD0 = this.ee.t4.UD0; - // @0012CBF4 PCPYUD t1, t4, t6 - this.ee.t1.UD0 = this.ee.t4.UD1; - this.ee.t1.UD1 = this.ee.t6.UD1; - // @0012CBF8 PCPYLD t2, t7, t5 - this.ee.t2.UD1 = this.ee.t7.UD0; - this.ee.t2.UD0 = this.ee.t5.UD0; - // @0012CBFC QMTC2 t0, vf1 - MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); - // @0012CC00 QMTC2 t1, vf2 - MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); - // @0012CC04 QMTC2 t2, vf3 - MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); - // @0012CC08 VMULAx.xyz ACC, vf1, vf4x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); - // @0012CC0C VMADDAy.xyz ACC, vf2, vf4y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); - // @0012CC10 VMADDz.xyz vf4, vf3, vf4z - this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); - // @0012CC14 VSUB.xyz vf4, vf0, vf4 - this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); - this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); - this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); - // @0012CC18 SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @0012CC1C SQ t1, $0010(s3) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); - // @0012CC20 SQ t2, $0020(s3) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); - // @0012CC24 SQC2 vf4, $0030(s3) - MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @0012CC28 ADDIU t4, sp, $0080 - this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012CC2C LQC2 vf5, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t4.UL0)); - // @0012CC30 LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @0012CC34 LQC2 vf2, $0010(s3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); - // @0012CC38 LQC2 vf3, $0020(s3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); - // @0012CC3C LQC2 vf4, $0030(s3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @0012CC40 VMULAx.xyzw ACC, vf1, vf5x - // @0012CC44 VMADDAy.xyzw ACC, vf2, vf5y - // @0012CC48 VMADDAz.xyzw ACC, vf3, vf5z - // @0012CC4C VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012CC50 SQC2 vf5, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); - // @0012CC54 ADDIU t5, sp, $00a0 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012CC58 BEQ t5, t8, $0012cc6c - if ((this.ee.t5.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1231980u; - } - // @0012CC5C LW a2, $0220(sp) - MobUt.LW(this.ee, this.ee.a2, (544u + this.ee.sp.UL0)); - } - - public virtual void funct0012cc60() - { - this.ee.pc = 1232004u; - // @0012CC60 LQ t0, $0000(s7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); - // @0012CC64 SQ t0, $0000(t5) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012CC68 LW a2, $0220(sp) - MobUt.LW(this.ee, this.ee.a2, (544u + this.ee.sp.UL0)); - // @0012CC6C ADDIU a3, sp, $0110 - this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 272))); - // @0012CC70 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @0012CC74 DADDU a1, s5, zero - this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - // @0012CC78 DADDU t0, s3, zero - this.ee.t0.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - // @0012CC7C JAL $00128de8 - this.ee.ra.UL0 = 1232004u; - this.ee.pc = 1215976u; - // @0012CC80 ADDIU t1, sp, $00b0 - this.ee.t1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - } - - public virtual void funct0012cc84() - { - this.ee.pc = 1232016u; - // @0012CC84 LW t6, $0218(sp) - MobUt.LW(this.ee, this.ee.t6, (536u + this.ee.sp.UL0)); - // @0012CC88 BEQ t6, zero, $0012d12c - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233196u; - } - // @0012CC8C ADDIU t7, zero, $0004 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 4))); - } - - public virtual void funct0012cc90() - { - this.ee.pc = 1232028u; - // @0012CC90 LBU t6, $0000(t6) - MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.t6.UL0)); - // @0012CC94 BNEL t6, t7, $0012d130 - if ((this.ee.t6.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1233200u; - // @0012CC98 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012cc9c() - { - this.ee.pc = 1232056u; - // @0012CC9C LW t7, $0218(sp) - MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); - // @0012CCA0 LW t6, $0004(s0) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); - // @0012CCA4 LHU t5, $0004(t7) - MobUt.LHU(this.ee, this.ee.t5, (4u + this.ee.t7.UL0)); - // @0012CCA8 LHU t6, $0010(t6) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); - // @0012CCAC SLT t7, t5, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); - // @0012CCB0 BEQ t7, zero, $0012d120 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233184u; - } - // @0012CCB4 SUBU t7, t5, t6 - this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012ccc0() - { - this.ee.pc = 1232144u; - // @0012CCC0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012CCC4 ADDIU t7, t6, $0030 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012CCC8 LQC2 vf5, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); - // @0012CCCC LQC2 vf1, $0000(s3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); - // @0012CCD0 LQC2 vf2, $0010(s3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); - // @0012CCD4 LQC2 vf3, $0020(s3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); - // @0012CCD8 LQC2 vf4, $0030(s3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); - // @0012CCDC VMULAx.xyz ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - // @0012CCE0 VMADDAy.xyz ACC, vf2, vf5y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); - // @0012CCE4 VMADDAz.xyz ACC, vf3, vf5z - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); - // @0012CCE8 VMADDw.xyz vf5, vf4, vf0w - this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); - this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); - this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); - // @0012CCEC VMOVE.w vf5, vf0 - this.ee.VF[5].w = this.ee.VF[0].w; - // @0012CCF0 SQC2 vf5, $0000(s7) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); - // @0012CCF4 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CCF8 LW t6, $0014(s0) - MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); - // @0012CCFC LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CD00 ADDU t6, t6, s8 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); - // @0012CD04 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CD08 BEQ t7, zero, $0012d104 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233156u; - } - // @0012CD0C SW t6, $0230(sp) - MobUt.SW(this.ee, this.ee.t6, (560u + this.ee.sp.UL0)); - } - - public virtual void funct0012cd10() - { - this.ee.pc = 1232164u; - // @0012CD10 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @0012CD14 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012CD18 LW v0, $0020(t7) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); - // @0012CD1C JALR ra, v0 - this.ee.ra.UD0 = 1232164u; - this.ee.pc = this.ee.v0.UL0; - // @0012CD20 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - } - - public virtual void funct0012cd24() - { - this.ee.pc = 1232200u; - // @0012CD24 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CD28 ADDU v0, v0, s3 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); - // @0012CD2C LW t3, $0230(sp) - MobUt.LW(this.ee, this.ee.t3, (560u + this.ee.sp.UL0)); - // @0012CD30 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012CD34 LWC1 $f1, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); - // @0012CD38 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CD3C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012CD40 BEQ t7, zero, $0012d0f0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233136u; - } - // @0012CD44 MUL.S $f12, $f1, $f0 - this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012cd2c() - { - this.ee.pc = 1232200u; - // @0012CD2C LW t3, $0230(sp) - MobUt.LW(this.ee, this.ee.t3, (560u + this.ee.sp.UL0)); - // @0012CD30 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012CD34 LWC1 $f1, $0000(t3) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); - // @0012CD38 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CD3C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012CD40 BEQ t7, zero, $0012d0f0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233136u; - } - // @0012CD44 MUL.S $f12, $f1, $f0 - this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012cd48() - { - this.ee.pc = 1232224u; - // @0012CD48 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012CD4C ADDU a3, t7, s3 - this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CD50 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CD54 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CD58 BEQL t7, zero, $0012d0d8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233112u; - // @0012CD5C LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012cd50() - { - this.ee.pc = 1232224u; - // @0012CD50 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CD54 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CD58 BEQL t7, zero, $0012d0d8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233112u; - // @0012CD5C LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012cd60() - { - this.ee.pc = 1232268u; - // @0012CD60 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012CD64 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012CD68 LWC1 $f14, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); - // @0012CD6C ADDIU a0, sp, $00a0 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012CD70 MTC1 zero, $f13 - this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0012CD74 ADDIU a1, sp, $00b0 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @0012CD78 DADDU t1, s7, zero - this.ee.t1.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); - // @0012CD7C DADDU a2, zero, zero - this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012CD80 DADDU t0, zero, zero - this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012CD84 JAL $00124a88 - this.ee.ra.UL0 = 1232268u; - this.ee.pc = 1198728u; - // @0012CD88 MOV.S $f15, $f13 - this.ee.fpr[15].f = this.ee.fpr[13].f; - } - - public virtual void funct0012cd68() - { - this.ee.pc = 1232268u; - // @0012CD68 LWC1 $f14, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); - // @0012CD6C ADDIU a0, sp, $00a0 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012CD70 MTC1 zero, $f13 - this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0012CD74 ADDIU a1, sp, $00b0 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @0012CD78 DADDU t1, s7, zero - this.ee.t1.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); - // @0012CD7C DADDU a2, zero, zero - this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012CD80 DADDU t0, zero, zero - this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012CD84 JAL $00124a88 - this.ee.ra.UL0 = 1232268u; - this.ee.pc = 1198728u; - // @0012CD88 MOV.S $f15, $f13 - this.ee.fpr[15].f = this.ee.fpr[13].f; - } - - public virtual void funct0012cd84() - { - this.ee.pc = 1232268u; - // @0012CD84 JAL $00124a88 - this.ee.ra.UL0 = 1232268u; - this.ee.pc = 1198728u; - // @0012CD88 MOV.S $f15, $f13 - this.ee.fpr[15].f = this.ee.fpr[13].f; - } - - public virtual void funct0012cd8c() - { - this.ee.pc = 1232284u; - // @0012CD8C LUI t7, $0040 - this.ee.t7.SD0 = 4194304; - // @0012CD90 AND t7, s4, t7 - this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); - // @0012CD94 BEQL t7, zero, $0012cddc - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232348u; - // @0012CD98 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012cd9c() - { - this.ee.pc = 1232304u; - // @0012CD9C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CDA0 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CDA4 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012CDA8 BEQ t7, zero, $0012d0c8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233096u; - } - // @0012CDAC SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012cdb0() - { - this.ee.pc = 1232328u; - // @0012CDB0 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012CDB4 ADDU a0, t7, s3 - this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CDB8 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CDBC SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CDC0 BEQL t7, zero, $0012d0b0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233072u; - // @0012CDC4 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012cdc8() - { - this.ee.pc = 1232344u; - // @0012CDC8 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012CDCC ADDU a1, t7, s8 - this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012CDD0 JAL $0011b840 - this.ee.ra.UL0 = 1232344u; - this.ee.pc = 1161280u; - // @0012CDD4 NOP - MobUt.Latency(); - } - - public virtual void funct0012cdd8() - { - this.ee.pc = 1232364u; - // @0012CDD8 LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012CDDC LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012CDE0 SLT t6, s2, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); - // @0012CDE4 BEQ t6, zero, $0012d0a0 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233056u; - } - // @0012CDE8 SUBU t7, s2, t7 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); - } - - public virtual void funct0012cddc() - { - this.ee.pc = 1232364u; - // @0012CDDC LHU t7, $0010(t7) - MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); - // @0012CDE0 SLT t6, s2, t7 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); - // @0012CDE4 BEQ t6, zero, $0012d0a0 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233056u; - } - // @0012CDE8 SUBU t7, s2, t7 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); - } - - public virtual void funct0012cdec() - { - this.ee.pc = 1232412u; - // @0012CDEC LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012CDF0 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CDF4 LWC1 $f0, $0090(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); - // @0012CDF8 SWC1 $f0, $0030(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); - // @0012CDFC LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012CE00 LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012CE04 LW t4, $0250(sp) - MobUt.LW(this.ee, this.ee.t4, (592u + this.ee.sp.UL0)); - // @0012CE08 LHU t5, $0010(t7) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); - // @0012CE0C ADDU t3, t6, t4 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t4.SD0))); - // @0012CE10 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CE14 BEQ t7, zero, $0012d08c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233036u; - } - // @0012CE18 ADDU t4, t6, s3 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - } - - public virtual void funct0012cdf4() - { - this.ee.pc = 1232412u; - // @0012CDF4 LWC1 $f0, $0090(sp) - MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); - // @0012CDF8 SWC1 $f0, $0030(t6) - MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); - // @0012CDFC LW t7, $0004(s0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); - // @0012CE00 LW t6, $0008(s0) - MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); - // @0012CE04 LW t4, $0250(sp) - MobUt.LW(this.ee, this.ee.t4, (592u + this.ee.sp.UL0)); - // @0012CE08 LHU t5, $0010(t7) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); - // @0012CE0C ADDU t3, t6, t4 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t4.SD0))); - // @0012CE10 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CE14 BEQ t7, zero, $0012d08c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233036u; - } - // @0012CE18 ADDU t4, t6, s3 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); - } - - public virtual void funct0012ce1c() - { - this.ee.pc = 1232544u; - // @0012CE1C LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012CE20 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CE24 ADDIU t5, sp, $0130 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 304))); - // @0012CE28 LQC2 vf1, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); - // @0012CE2C LQC2 vf2, $0010(t3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); - // @0012CE30 LQC2 vf3, $0020(t3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); - // @0012CE34 LQC2 vf4, $0030(t3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); - // @0012CE38 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012CE3C LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012CE40 LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012CE44 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012CE48 VMULAx.xyzw ACC, vf1, vf5x - // @0012CE4C VMADDAy.xyzw ACC, vf2, vf5y - // @0012CE50 VMADDAz.xyzw ACC, vf3, vf5z - // @0012CE54 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012CE58 VMULAx.xyzw ACC, vf1, vf6x - // @0012CE5C VMADDAy.xyzw ACC, vf2, vf6y - // @0012CE60 VMADDAz.xyzw ACC, vf3, vf6z - // @0012CE64 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012CE68 VMULAx.xyzw ACC, vf1, vf7x - // @0012CE6C VMADDAy.xyzw ACC, vf2, vf7y - // @0012CE70 VMADDAz.xyzw ACC, vf3, vf7z - // @0012CE74 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012CE78 VMULAx.xyzw ACC, vf1, vf8x - // @0012CE7C VMADDAy.xyzw ACC, vf2, vf8y - // @0012CE80 VMADDAz.xyzw ACC, vf3, vf8z - // @0012CE84 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012CE88 SQC2 vf5, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); - // @0012CE8C SQC2 vf6, $0010(t5) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); - // @0012CE90 SQC2 vf7, $0020(t5) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); - // @0012CE94 SQC2 vf8, $0030(t5) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); - // @0012CE98 BEQL t4, t5, $0012cec4 - if ((this.ee.t4.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1232580u; - // @0012CE9C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012ce24() - { - this.ee.pc = 1232544u; - // @0012CE24 ADDIU t5, sp, $0130 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 304))); - // @0012CE28 LQC2 vf1, $0000(t3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); - // @0012CE2C LQC2 vf2, $0010(t3) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); - // @0012CE30 LQC2 vf3, $0020(t3) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); - // @0012CE34 LQC2 vf4, $0030(t3) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); - // @0012CE38 LQC2 vf5, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); - // @0012CE3C LQC2 vf6, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); - // @0012CE40 LQC2 vf7, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); - // @0012CE44 LQC2 vf8, $0030(t6) - MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); - // @0012CE48 VMULAx.xyzw ACC, vf1, vf5x - // @0012CE4C VMADDAy.xyzw ACC, vf2, vf5y - // @0012CE50 VMADDAz.xyzw ACC, vf3, vf5z - // @0012CE54 VMADDw.xyzw vf5, vf4, vf5w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); - // @0012CE58 VMULAx.xyzw ACC, vf1, vf6x - // @0012CE5C VMADDAy.xyzw ACC, vf2, vf6y - // @0012CE60 VMADDAz.xyzw ACC, vf3, vf6z - // @0012CE64 VMADDw.xyzw vf6, vf4, vf6w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); - // @0012CE68 VMULAx.xyzw ACC, vf1, vf7x - // @0012CE6C VMADDAy.xyzw ACC, vf2, vf7y - // @0012CE70 VMADDAz.xyzw ACC, vf3, vf7z - // @0012CE74 VMADDw.xyzw vf7, vf4, vf7w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); - // @0012CE78 VMULAx.xyzw ACC, vf1, vf8x - // @0012CE7C VMADDAy.xyzw ACC, vf2, vf8y - // @0012CE80 VMADDAz.xyzw ACC, vf3, vf8z - // @0012CE84 VMADDw.xyzw vf8, vf4, vf8w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); - // @0012CE88 SQC2 vf5, $0000(t5) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); - // @0012CE8C SQC2 vf6, $0010(t5) - MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); - // @0012CE90 SQC2 vf7, $0020(t5) - MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); - // @0012CE94 SQC2 vf8, $0030(t5) - MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); - // @0012CE98 BEQL t4, t5, $0012cec4 - if ((this.ee.t4.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1232580u; - // @0012CE9C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - } - } - - public virtual void funct0012cea0() - { - this.ee.pc = 1232596u; - // @0012CEA0 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012CEA4 LQ t1, $0010(t5) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); - // @0012CEA8 LQ t2, $0020(t5) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); - // @0012CEAC LQ t3, $0030(t5) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); - // @0012CEB0 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012CEB4 SQ t1, $0010(t4) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); - // @0012CEB8 SQ t2, $0020(t4) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); - // @0012CEBC SQ t3, $0030(t4) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); - // @0012CEC0 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CEC4 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CEC8 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012CECC BEQ t7, zero, $0012d07c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233020u; - } - // @0012CED0 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012ced4() - { - this.ee.pc = 1232620u; - // @0012CED4 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012CED8 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CEDC LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012CEE0 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CEE4 BEQL t6, t7, $0012cf14 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1232660u; - // @0012CEE8 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012cedc() - { - this.ee.pc = 1232620u; - // @0012CEDC LW t7, $0008(s0) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); - // @0012CEE0 ADDU t7, t7, s3 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CEE4 BEQL t6, t7, $0012cf14 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1232660u; - // @0012CEE8 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012ceec() - { - this.ee.pc = 1232672u; - // @0012CEEC LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0012CEF0 LQ t1, $0010(t7) - MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); - // @0012CEF4 LQ t2, $0020(t7) - MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); - // @0012CEF8 LQ t3, $0030(t7) - MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); - // @0012CEFC SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012CF00 SQ t1, $0010(t6) - MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); - // @0012CF04 SQ t2, $0020(t6) - MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); - // @0012CF08 SQ t3, $0030(t6) - MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); - // @0012CF0C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CF10 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CF14 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012CF18 BEQ t7, zero, $0012d06c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233004u; - } - // @0012CF1C SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012cf20() - { - this.ee.pc = 1232748u; - // @0012CF20 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012CF24 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CF28 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012CF2C ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012CF30 LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012CF34 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CF38 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CF3C LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CF40 VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012CF44 VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012CF48 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012CF4C SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CF50 SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CF54 SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CF58 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CF5C LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CF60 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012CF64 BEQ t7, zero, $0012d05c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232988u; - } - // @0012CF68 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012cf28() - { - this.ee.pc = 1232748u; - // @0012CF28 LW t7, $0014(s0) - MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); - // @0012CF2C ADDU t7, t7, s8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012CF30 LQC2 vf4, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); - // @0012CF34 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CF38 LQC2 vf2, $0010(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CF3C LQC2 vf3, $0020(t6) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CF40 VMULx.xyzw vf1, vf1, vf4x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); - // @0012CF44 VMULy.xyzw vf2, vf2, vf4y - this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); - this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); - this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); - this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); - // @0012CF48 VMULz.xyzw vf3, vf3, vf4z - this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); - this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); - this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); - this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); - // @0012CF4C SQC2 vf1, $0000(t6) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0012CF50 SQC2 vf2, $0010(t6) - MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); - // @0012CF54 SQC2 vf3, $0020(t6) - MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); - // @0012CF58 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CF5C LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CF60 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012CF64 BEQ t7, zero, $0012d05c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232988u; - } - // @0012CF68 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012cf6c() - { - this.ee.pc = 1232772u; - // @0012CF6C LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012CF70 ADDU t6, t7, s3 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CF74 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012CF78 ADDIU t5, sp, $0080 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012CF7C BEQL t6, t5, $0012cf94 - if ((this.ee.t6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1232788u; - // @0012CF80 LW t6, $0220(sp) - MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); - } - } - - public virtual void funct0012cf74() - { - this.ee.pc = 1232772u; - // @0012CF74 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - // @0012CF78 ADDIU t5, sp, $0080 - this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @0012CF7C BEQL t6, t5, $0012cf94 - if ((this.ee.t6.UD0 == this.ee.t5.UD0)) - { - this.ee.pc = 1232788u; - // @0012CF80 LW t6, $0220(sp) - MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); - } - } - - public virtual void funct0012cf84() - { - this.ee.pc = 1232812u; - // @0012CF84 LQ t0, $0000(t5) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); - // @0012CF88 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012CF8C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012CF90 LW t6, $0220(sp) - MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); - // @0012CF94 LHU a2, $0002(t6) - MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.t6.UL0)); - // @0012CF98 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012CF9C ANDI t5, a2, $ffff - this.ee.t5.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @0012CFA0 SLT t7, t5, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); - // @0012CFA4 BEQ t7, zero, $0012d050 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232976u; - } - // @0012CFA8 SUBU t7, t5, t6 - this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); - } - - public virtual void funct0012cfac() - { - this.ee.pc = 1232840u; - // @0012CFAC LW t6, $002c(s5) - MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); - // @0012CFB0 SLL t7, t5, 6 - MobUt.SLL(this.ee.t7, this.ee.t5, 6); - // @0012CFB4 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CFB8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012CFBC SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CFC0 BEQ t7, zero, $0012d03c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232956u; - } - // @0012CFC4 ADDIU t3, t6, $0030 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012cfb4() - { - this.ee.pc = 1232840u; - // @0012CFB4 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CFB8 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012CFBC SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012CFC0 BEQ t7, zero, $0012d03c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232956u; - } - // @0012CFC4 ADDIU t3, t6, $0030 - this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012cfc8() - { - this.ee.pc = 1232868u; - // @0012CFC8 LW t7, $002c(s5) - MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); - // @0012CFCC ADDU v0, t7, s3 - this.ee.v0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012CFD0 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CFD4 ANDI a2, a2, $ffff - this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @0012CFD8 SLT t7, a2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); - // @0012CFDC BEQ t7, zero, $0012d020 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232928u; - } - // @0012CFE0 SLL t7, a2, 4 - MobUt.SLL(this.ee.t7, this.ee.a2, 4); - } - - public virtual void funct0012cfd0() - { - this.ee.pc = 1232868u; - // @0012CFD0 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012CFD4 ANDI a2, a2, $ffff - this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); - // @0012CFD8 SLT t7, a2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); - // @0012CFDC BEQ t7, zero, $0012d020 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232928u; - } - // @0012CFE0 SLL t7, a2, 4 - MobUt.SLL(this.ee.t7, this.ee.a2, 4); - } - - public virtual void funct0012cfe4() - { - this.ee.pc = 1232928u; - // @0012CFE4 LW t6, $0024(s5) - MobUt.LW(this.ee, this.ee.t6, (36u + this.ee.s5.UL0)); - // @0012CFE8 ADDU a2, t6, t7 - this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012CFEC LQC2 vf5, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); - // @0012CFF0 LQC2 vf1, $0000(v0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); - // @0012CFF4 LQC2 vf2, $0010(v0) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); - // @0012CFF8 LQC2 vf3, $0020(v0) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); - // @0012CFFC LQC2 vf4, $0030(v0) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); - // @0012D000 VMULAx.xyz ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - // @0012D004 VMADDAy.xyz ACC, vf2, vf5y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); - // @0012D008 VMADDAz.xyz ACC, vf3, vf5z - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); - // @0012D00C VMADDw.xyz vf5, vf4, vf0w - this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); - this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); - this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); - // @0012D010 VMOVE.w vf5, vf0 - this.ee.VF[5].w = this.ee.VF[0].w; - // @0012D014 SQC2 vf5, $0000(t3) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012D018 BEQ zero, zero, $00129e60 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220192u; - } - // @0012D01C LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - } - - public virtual void funct0012cfec() - { - this.ee.pc = 1232928u; - // @0012CFEC LQC2 vf5, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); - // @0012CFF0 LQC2 vf1, $0000(v0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); - // @0012CFF4 LQC2 vf2, $0010(v0) - MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); - // @0012CFF8 LQC2 vf3, $0020(v0) - MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); - // @0012CFFC LQC2 vf4, $0030(v0) - MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); - // @0012D000 VMULAx.xyz ACC, vf1, vf5x - this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); - this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); - this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); - // @0012D004 VMADDAy.xyz ACC, vf2, vf5y - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); - // @0012D008 VMADDAz.xyz ACC, vf3, vf5z - this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); - this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); - this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); - // @0012D00C VMADDw.xyz vf5, vf4, vf0w - this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); - this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); - this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); - // @0012D010 VMOVE.w vf5, vf0 - this.ee.VF[5].w = this.ee.VF[0].w; - // @0012D014 SQC2 vf5, $0000(t3) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); - // @0012D018 BEQ zero, zero, $00129e60 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220192u; - } - // @0012D01C LW t3, $01f4(sp) - MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); - } - - public virtual void funct0012d020() - { - this.ee.pc = 1232956u; - // @0012D020 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012D024 SUBU t7, a2, t5 - this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); - // @0012D028 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D02C ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012D030 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D034 BEQ zero, zero, $0012cfec - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232876u; - } - // @0012D038 ADDIU a2, t6, $0030 - this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012d03c() - { - this.ee.pc = 1232976u; - // @0012D03C SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012D040 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012D044 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D048 BEQ zero, zero, $0012cfd0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232848u; - } - // @0012D04C ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d050() - { - this.ee.pc = 1232988u; - // @0012D050 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012D054 BEQ zero, zero, $0012cfb4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232820u; - } - // @0012D058 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012d05c() - { - this.ee.pc = 1233004u; - // @0012D05C LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012D060 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D064 BEQ zero, zero, $0012cf74 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232756u; - } - // @0012D068 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d06c() - { - this.ee.pc = 1233020u; - // @0012D06C LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012D070 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D074 BEQ zero, zero, $0012cf28 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232680u; - } - // @0012D078 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d07c() - { - this.ee.pc = 1233036u; - // @0012D07C LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012D080 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D084 BEQ zero, zero, $0012cedc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232604u; - } - // @0012D088 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d08c() - { - this.ee.pc = 1233056u; - // @0012D08C SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012D090 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012D094 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D098 BEQ zero, zero, $0012ce24 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232420u; - } - // @0012D09C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d0a0() - { - this.ee.pc = 1233072u; - // @0012D0A0 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012D0A4 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D0A8 BEQ zero, zero, $0012cdf4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232372u; - } - // @0012D0AC ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d0d8() - { - this.ee.pc = 1233136u; - // @0012D0D8 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012D0DC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D0E0 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012D0E4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D0E8 BEQ zero, zero, $0012cd68 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232232u; - } - // @0012D0EC ADDIU t6, t6, $0020 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012d0f0() - { - this.ee.pc = 1233156u; - // @0012D0F0 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - // @0012D0F4 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012D0F8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D0FC BEQ zero, zero, $0012cd50 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232208u; - } - // @0012D100 ADDU a3, t6, t7 - this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d104() - { - this.ee.pc = 1233184u; - // @0012D104 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012D108 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012D10C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D110 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012D114 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012D118 BEQ zero, zero, $0012cd2c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232172u; - } - // @0012D11C ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d120() - { - this.ee.pc = 1233196u; - // @0012D120 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012D124 BEQ zero, zero, $0012ccc0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232064u; - } - // @0012D128 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - } - - public virtual void funct0012d12c() - { - this.ee.pc = 1233220u; - // @0012D12C LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012D130 LW t6, $0014(s0) - MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); - // @0012D134 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012D138 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012D13C BEQ t7, zero, $0012d1e4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233380u; - } - // @0012D140 ADDU s7, t6, s8 - this.ee.s7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); - } - - public virtual void funct0012d144() - { - this.ee.pc = 1233240u; - // @0012D144 LW a0, $0014(s5) - MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); - // @0012D148 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0012D14C LW v0, $0020(t7) - MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); - // @0012D150 JALR ra, v0 - this.ee.ra.UD0 = 1233240u; - this.ee.pc = this.ee.v0.UL0; - // @0012D154 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - } - - public virtual void funct0012d158() - { - this.ee.pc = 1233272u; - // @0012D158 LW t4, $0004(s0) - MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); - // @0012D15C ADDU v0, v0, s3 - this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); - // @0012D160 LWC1 $f1, $0000(s7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s7.UL0)); - // @0012D164 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012D168 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012D16C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012D170 BEQ t7, zero, $0012d1d0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233360u; - } - // @0012D174 MUL.S $f12, $f1, $f0 - this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012d160() - { - this.ee.pc = 1233272u; - // @0012D160 LWC1 $f1, $0000(s7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s7.UL0)); - // @0012D164 LWC1 $f0, $001c(v0) - MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); - // @0012D168 LHU t6, $0010(t4) - MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); - // @0012D16C SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @0012D170 BEQ t7, zero, $0012d1d0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233360u; - } - // @0012D174 MUL.S $f12, $f1, $f0 - this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct0012d178() - { - this.ee.pc = 1233296u; - // @0012D178 LW t7, $0028(s5) - MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); - // @0012D17C ADDU a3, t7, s3 - this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); - // @0012D180 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012D184 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012D188 BEQL t7, zero, $0012d1b8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233336u; - // @0012D18C LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012d180() - { - this.ee.pc = 1233296u; - // @0012D180 LHU t5, $0010(t4) - MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); - // @0012D184 SLT t7, s2, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); - // @0012D188 BEQL t7, zero, $0012d1b8 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233336u; - // @0012D18C LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - } - } - - public virtual void funct0012d190() - { - this.ee.pc = 1233336u; - // @0012D190 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012D194 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012D198 LWC1 $f14, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); - // @0012D19C ADDIU a0, sp, $00a0 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012D1A0 MTC1 zero, $f13 - this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0012D1A4 ADDIU a1, sp, $00b0 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @0012D1A8 DADDU a2, zero, zero - this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012D1AC DADDU t0, zero, zero - this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012D1B0 BEQ zero, zero, $0012cd84 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232260u; - } - // @0012D1B4 DADDU t1, zero, zero - this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012d198() - { - this.ee.pc = 1233336u; - // @0012D198 LWC1 $f14, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); - // @0012D19C ADDIU a0, sp, $00a0 - this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); - // @0012D1A0 MTC1 zero, $f13 - this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @0012D1A4 ADDIU a1, sp, $00b0 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); - // @0012D1A8 DADDU a2, zero, zero - this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012D1AC DADDU t0, zero, zero - this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0012D1B0 BEQ zero, zero, $0012cd84 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1232260u; - } - // @0012D1B4 DADDU t1, zero, zero - this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012d1b8() - { - this.ee.pc = 1233360u; - // @0012D1B8 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012D1BC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D1C0 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012D1C4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D1C8 BEQ zero, zero, $0012d198 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233304u; - } - // @0012D1CC ADDIU t6, t6, $0020 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012d1d0() - { - this.ee.pc = 1233380u; - // @0012D1D0 SUBU t7, s2, t6 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); - // @0012D1D4 LW t6, $000c(s0) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @0012D1D8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D1DC BEQ zero, zero, $0012d180 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233280u; - } - // @0012D1E0 ADDU a3, t6, t7 - this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d1e4() - { - this.ee.pc = 1233408u; - // @0012D1E4 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012D1E8 SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012D1EC SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D1F0 SLL s3, s2, 6 - MobUt.SLL(this.ee.s3, this.ee.s2, 6); - // @0012D1F4 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012D1F8 BEQ zero, zero, $0012d160 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233248u; - } - // @0012D1FC ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d200() - { - this.ee.pc = 1233432u; - // @0012D200 SUBU t7, t4, t6 - this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t6.UD0))); - // @0012D204 LW t6, $0010(s0) - MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @0012D208 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D20C SW t5, $0250(sp) - MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); - // @0012D210 BEQ zero, zero, $0012cb50 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231696u; - } - // @0012D214 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0012d218() - { - this.ee.pc = 1233460u; - // @0012D218 LW t6, $0018(t4) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); - // @0012D21C SUBU t7, s2, t5 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); - // @0012D220 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D224 ADDU t6, t4, t6 - this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); - // @0012D228 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D22C BEQ zero, zero, $0012cb0c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1231628u; - } - // @0012D230 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012d234() - { - this.ee.pc = 1233484u; - // @0012D234 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012D238 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D23C ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D240 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D244 BEQ zero, zero, $00129dd0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220048u; - } - // @0012D248 ADDIU t5, t6, $0010 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct0012d24c() - { - this.ee.pc = 1233508u; - // @0012D24C SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012D250 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D254 ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D258 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D25C BEQ zero, zero, $00129d90 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219984u; - } - // @0012D260 ADDIU t5, t6, $0010 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct0012d264() - { - this.ee.pc = 1233532u; - // @0012D264 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012D268 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D26C ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D270 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D274 BEQ zero, zero, $00129d4c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219916u; - } - // @0012D278 ADDIU t5, t6, $0010 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct0012d2c8() - { - this.ee.pc = 1233616u; - // @0012D2C8 BLTZ t7, $0012d33c - if ((this.ee.t7.SD0 < 0)) - { - this.ee.pc = 1233724u; - } - // @0012D2CC SLL t7, t7, 4 - MobUt.SLL(this.ee.t7, this.ee.t7, 4); - } - - public virtual void funct0012d2d0() - { - this.ee.pc = 1233644u; - // @0012D2D0 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012D2D4 LW t6, $0014(s0) - MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); - // @0012D2D8 LHU t3, $0010(t5) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); - // @0012D2DC ADDU t2, t6, t7 - this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D2E0 SLT t7, s2, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); - // @0012D2E4 BEQ t7, zero, $0012d320 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233696u; - } - // @0012D2E8 ADDU t4, t6, s8 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); - } - - public virtual void funct0012d2ec() - { - this.ee.pc = 1233680u; - // @0012D2EC LW t7, $001c(s5) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); - // @0012D2F0 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012D2F4 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012D2F8 LQC2 vf1, $0000(t2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); - // @0012D2FC LQC2 vf2, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); - // @0012D300 VMUL.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); - // @0012D304 SQC2 vf1, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t8.UL0)); - // @0012D308 BEQL t4, t8, $00129df8 - if ((this.ee.t4.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1220088u; - // @0012D30C LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - } - } - - public virtual void funct0012d2f4() - { - this.ee.pc = 1233680u; - // @0012D2F4 ADDIU t8, sp, $0120 - this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); - // @0012D2F8 LQC2 vf1, $0000(t2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); - // @0012D2FC LQC2 vf2, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); - // @0012D300 VMUL.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); - // @0012D304 SQC2 vf1, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t8.UL0)); - // @0012D308 BEQL t4, t8, $00129df8 - if ((this.ee.t4.UD0 == this.ee.t8.UD0)) - { - this.ee.pc = 1220088u; - // @0012D30C LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - } - } - - public virtual void funct0012d310() - { - this.ee.pc = 1233696u; - // @0012D310 LQ t0, $0000(t8) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); - // @0012D314 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012D318 BEQ zero, zero, $00129df8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220088u; - } - // @0012D31C LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - } - - public virtual void funct0012d320() - { - this.ee.pc = 1233724u; - // @0012D320 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - // @0012D324 SUBU t7, s2, t3 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); - // @0012D328 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D32C ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D330 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D334 BEQ zero, zero, $0012d2f4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233652u; - } - // @0012D338 ADDIU t6, t6, $0010 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct0012d33c() - { - this.ee.pc = 1233748u; - // @0012D33C LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012D340 LW t6, $0014(s0) - MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); - // @0012D344 LHU t3, $0010(t5) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); - // @0012D348 SLT t7, s2, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); - // @0012D34C BEQ t7, zero, $0012d374 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233780u; - } - // @0012D350 ADDU t4, t6, s8 - this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); - } - - public virtual void funct0012d354() - { - this.ee.pc = 1233764u; - // @0012D354 LW t7, $001c(s5) - MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); - // @0012D358 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012D35C BEQL t4, t6, $00129df8 - if ((this.ee.t4.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1220088u; - // @0012D360 LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - } - } - - public virtual void funct0012d35c() - { - this.ee.pc = 1233764u; - // @0012D35C BEQL t4, t6, $00129df8 - if ((this.ee.t4.UD0 == this.ee.t6.UD0)) - { - this.ee.pc = 1220088u; - // @0012D360 LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - } - } - - public virtual void funct0012d364() - { - this.ee.pc = 1233780u; - // @0012D364 LQ t0, $0000(t6) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0012D368 SQ t0, $0000(t4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); - // @0012D36C BEQ zero, zero, $00129df8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1220088u; - } - // @0012D370 LUI t7, $0020 - this.ee.t7.SD0 = 2097152; - } - - public virtual void funct0012d374() - { - this.ee.pc = 1233808u; - // @0012D374 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - // @0012D378 SUBU t7, s2, t3 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); - // @0012D37C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D380 ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D384 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D388 BEQ zero, zero, $0012d35c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1233756u; - } - // @0012D38C ADDIU t6, t6, $0010 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct0012d390() - { - this.ee.pc = 1233820u; - // @0012D390 SW s1, $0220(sp) - MobUt.SW(this.ee, this.ee.s1, (544u + this.ee.sp.UL0)); - // @0012D394 BEQ zero, zero, $00129ce4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219812u; - } - // @0012D398 ADDIU s1, s1, $000c - this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); - } - - public virtual void funct0012d39c() - { - this.ee.pc = 1233844u; - // @0012D39C LUI t7, $0001 - this.ee.t7.SD0 = 65536; - // @0012D3A0 ADDIU t5, s2, $0001 - this.ee.t5.SD0 = ((int)((this.ee.s2.SD0 + 1))); - // @0012D3A4 XOR t7, t6, t7 - MobUt.XOR(this.ee.t7, this.ee.t6, this.ee.t7); - // @0012D3A8 ADDIU t6, s2, $0002 - this.ee.t6.SD0 = ((int)((this.ee.s2.SD0 + 2))); - // @0012D3AC BEQ zero, zero, $00129c84 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219716u; - } - // @0012D3B0 MOVN t5, t6, t7 - if ((this.ee.t7.UD0 != 0)) - { - this.ee.t5.UD0 = this.ee.t6.UD0; - } - } - - public virtual void funct0012d3b4() - { - this.ee.pc = 1233852u; - // @0012D3B4 BEQL a3, t7, $00129c3c - if ((this.ee.a3.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1219644u; - // @0012D3B8 LHU a3, $0004(s1) - MobUt.LHU(this.ee, this.ee.a3, (4u + this.ee.s1.UL0)); - } - } - - public virtual void funct0012d3c8() - { - this.ee.pc = 1233872u; - // @0012D3C8 BEQ zero, zero, $00129c3c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219644u; - } - // @0012D3CC SW s1, $0218(sp) - MobUt.SW(this.ee, this.ee.s1, (536u + this.ee.sp.UL0)); - } - - public virtual void funct0012d3e0() - { - this.ee.pc = 1233896u; - // @0012D3E0 BEQ zero, zero, $00129c3c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219644u; - } - // @0012D3E4 DADDU t3, s1, zero - this.ee.t3.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0012d3e8() - { - this.ee.pc = 1233936u; - // @0012D3E8 LW t7, $01fc(sp) - MobUt.LW(this.ee, this.ee.t7, (508u + this.ee.sp.UL0)); - // @0012D3EC LHU t5, $0006(s1) - MobUt.LHU(this.ee, this.ee.t5, (6u + this.ee.s1.UL0)); - // @0012D3F0 LW t6, $005c(t7) - MobUt.LW(this.ee, this.ee.t6, (92u + this.ee.t7.UL0)); - // @0012D3F4 LHU v1, $0004(s1) - MobUt.LHU(this.ee, this.ee.v1, (4u + this.ee.s1.UL0)); - // @0012D3F8 ADDIU t7, zero, $0030 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 48))); - // @0012D3FC MULT t5, t5, t7 - this.ee.t5.SD0 = (((long)(this.ee.t5.SL0)) * ((long)(this.ee.t7.SL0))); - // @0012D400 LW t7, $01fc(sp) - MobUt.LW(this.ee, this.ee.t7, (508u + this.ee.sp.UL0)); - // @0012D404 ADDU t6, t7, t6 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @0012D408 BEQ zero, zero, $00129c3c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219644u; - } - // @0012D40C ADDU v0, t6, t5 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - } - - public virtual void funct0012d410() - { - this.ee.pc = 1233976u; - // @0012D410 LW t6, $01fc(sp) - MobUt.LW(this.ee, this.ee.t6, (508u + this.ee.sp.UL0)); - // @0012D414 LHU t5, $0006(s1) - MobUt.LHU(this.ee, this.ee.t5, (6u + this.ee.s1.UL0)); - // @0012D418 LW t7, $005c(t6) - MobUt.LW(this.ee, this.ee.t7, (92u + this.ee.t6.UL0)); - // @0012D41C ADDIU t6, zero, $0030 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 48))); - // @0012D420 MULT t5, t5, t6 - this.ee.t5.SD0 = (((long)(this.ee.t5.SL0)) * ((long)(this.ee.t6.SL0))); - // @0012D424 LW t6, $01fc(sp) - MobUt.LW(this.ee, this.ee.t6, (508u + this.ee.sp.UL0)); - // @0012D428 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D42C ADDU t7, t7, t5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @0012D430 BEQ zero, zero, $00129c3c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219644u; - } - // @0012D434 SW t7, $021c(sp) - MobUt.SW(this.ee, this.ee.t7, (540u + this.ee.sp.UL0)); - } - - public virtual void funct0012d438() - { - this.ee.pc = 1234000u; - // @0012D438 SUBU t7, s2, t3 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); - // @0012D43C SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D440 ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D444 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D448 BEQ zero, zero, $00129b90 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219472u; - } - // @0012D44C ADDIU t6, t6, $0010 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); - } - - public virtual void funct0012d450() - { - this.ee.pc = 1234020u; - // @0012D450 LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012D454 LHU t3, $0010(t5) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); - // @0012D458 SLT t7, s2, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); - // @0012D45C BEQL t7, zero, $0012d494 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1234068u; - // @0012D460 LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct0012d464() - { - this.ee.pc = 1234068u; - // @0012D464 LW t7, $0020(s5) - MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); - // @0012D468 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012D46C ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @0012D470 LUI t4, $0038 - this.ee.t4.SD0 = 3670016; - // @0012D474 ADDIU t7, t7, $fffd - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -3))); - // @0012D478 ADDIU t4, t4, $8360 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31904))); - // @0012D47C SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @0012D480 LWC1 $f0, $0000(t4) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); - // @0012D484 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D488 MUL.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - // @0012D48C BEQ zero, zero, $00129ba0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219488u; - } - // @0012D490 SWC1 $f0, $0000(t7) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - } - - public virtual void funct0012d46c() - { - this.ee.pc = 1234068u; - // @0012D46C ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @0012D470 LUI t4, $0038 - this.ee.t4.SD0 = 3670016; - // @0012D474 ADDIU t7, t7, $fffd - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -3))); - // @0012D478 ADDIU t4, t4, $8360 - this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31904))); - // @0012D47C SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @0012D480 LWC1 $f0, $0000(t4) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); - // @0012D484 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D488 MUL.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - // @0012D48C BEQ zero, zero, $00129ba0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219488u; - } - // @0012D490 SWC1 $f0, $0000(t7) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - } - - public virtual void funct0012d494() - { - this.ee.pc = 1234092u; - // @0012D494 SUBU t7, s2, t3 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); - // @0012D498 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D49C ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D4A0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D4A4 BEQ zero, zero, $0012d46c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1234028u; - } - // @0012D4A8 ADDIU t6, t6, $0020 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); - } - - public virtual void funct0012d4ac() - { - this.ee.pc = 1234112u; - // @0012D4AC LW t5, $0004(s0) - MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); - // @0012D4B0 LHU t3, $0010(t5) - MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); - // @0012D4B4 SLT t7, s2, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); - // @0012D4B8 BEQL t7, zero, $0012d4d4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1234132u; - // @0012D4BC LW t6, $0018(t5) - MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); - } - } - - public virtual void funct0012d4c0() - { - this.ee.pc = 1234132u; - // @0012D4C0 LW t7, $0024(s5) - MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); - // @0012D4C4 ADDU t6, t7, s8 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); - // @0012D4C8 ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @0012D4CC BEQ zero, zero, $00129b94 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219476u; - } - // @0012D4D0 ADDIU t7, t7, $fffa - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -6))); - } - - public virtual void funct0012d4c8() - { - this.ee.pc = 1234132u; - // @0012D4C8 ANDI t7, t4, $ffff - this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); - // @0012D4CC BEQ zero, zero, $00129b94 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219476u; - } - // @0012D4D0 ADDIU t7, t7, $fffa - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -6))); - } - - public virtual void funct0012d4d4() - { - this.ee.pc = 1234156u; - // @0012D4D4 SUBU t7, s2, t3 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); - // @0012D4D8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D4DC ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D4E0 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @0012D4E4 BEQ zero, zero, $0012d4c8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1234120u; - } - // @0012D4E8 ADDIU t6, t6, $0030 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); - } - - public virtual void funct0012d4ec() - { - this.ee.pc = 1234164u; - // @0012D4EC BEQ zero, zero, $00129bc4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219524u; - } - // @0012D4F0 SLL s8, s2, 4 - MobUt.SLL(this.ee.s8, this.ee.s2, 4); - } - - public virtual void funct0012d4f4() - { - this.ee.pc = 1234184u; - // @0012D4F4 SUBU t7, s2, t4 - this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); - // @0012D4F8 SLL t7, t7, 6 - MobUt.SLL(this.ee.t7, this.ee.t7, 6); - // @0012D4FC ADDU t6, t5, t6 - this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0012D500 BEQ zero, zero, $00129b10 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1219344u; - } - // @0012D504 ADDU v0, t6, t7 - this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct00141bd0() - { - this.ee.pc = 1317852u; - // @00141BD0 LW t7, $0000(a0) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @00141BD4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00141BD8 LW v0, $000c(t7) - MobUt.LW(this.ee, this.ee.v0, (12u + this.ee.t7.UL0)); - } - - public virtual void funct00141be0() - { - this.ee.pc = 1317864u; - // @00141BE0 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00141BE4 SW a1, $003c(a0) - MobUt.SW(this.ee, this.ee.a1, (60u + this.ee.a0.UL0)); - } - - public virtual void funct00141be8() - { - this.ee.pc = 1317940u; - // @00141BE8 LHU t6, $0002(a1) - MobUt.LHU(this.ee, this.ee.t6, (2u + this.ee.a1.UL0)); - // @00141BEC LW t7, $0010(a0) - MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); - // @00141BF0 SLL t6, t6, 4 - MobUt.SLL(this.ee.t6, this.ee.t6, 4); - // @00141BF4 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00141BF8 SW t7, $0000(a2) - MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); - // @00141BFC LHU t6, $0004(a1) - MobUt.LHU(this.ee, this.ee.t6, (4u + this.ee.a1.UL0)); - // @00141C00 LW t7, $0010(a0) - MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); - // @00141C04 SLL t6, t6, 4 - MobUt.SLL(this.ee.t6, this.ee.t6, 4); - // @00141C08 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00141C0C SW t7, $0004(a2) - MobUt.SW(this.ee, this.ee.t7, (4u + this.ee.a2.UL0)); - // @00141C10 LHU t6, $0006(a1) - MobUt.LHU(this.ee, this.ee.t6, (6u + this.ee.a1.UL0)); - // @00141C14 LW t7, $0010(a0) - MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); - // @00141C18 SLL t6, t6, 4 - MobUt.SLL(this.ee.t6, this.ee.t6, 4); - // @00141C1C ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00141C20 SW t7, $0008(a2) - MobUt.SW(this.ee, this.ee.t7, (8u + this.ee.a2.UL0)); - // @00141C24 LHU t6, $0008(a1) - MobUt.LHU(this.ee, this.ee.t6, (8u + this.ee.a1.UL0)); - // @00141C28 ORI t7, zero, $ffff - this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); - // @00141C2C BEQ t6, t7, $00141c4c - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1317964u; - } - // @00141C30 SLL t5, t6, 4 - MobUt.SLL(this.ee.t5, this.ee.t6, 4); - } - - public virtual void funct00141c34() - { - this.ee.pc = 1317964u; - // @00141C34 LW t7, $0010(a0) - MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); - // @00141C38 ADDIU t6, zero, $0004 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 4))); - // @00141C3C ADDU t7, t7, t5 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); - // @00141C40 SW t6, $0010(a2) - MobUt.SW(this.ee, this.ee.t6, (16u + this.ee.a2.UL0)); - // @00141C44 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00141C48 SW t7, $000c(a2) - MobUt.SW(this.ee, this.ee.t7, (12u + this.ee.a2.UL0)); - } - - public virtual void funct00141e78() - { - this.ee.pc = 1318548u; - // @00141E78 ANDI a3, a3, $00ff - this.ee.a3.UD0 = ((ushort)((this.ee.a3.US0 & 255))); - // @00141E7C SW a1, $0040(a0) - MobUt.SW(this.ee, this.ee.a1, (64u + this.ee.a0.UL0)); - // @00141E80 ANDI t0, t0, $00ff - this.ee.t0.UD0 = ((ushort)((this.ee.t0.US0 & 255))); - // @00141E84 SW a2, $0044(a0) - MobUt.SW(this.ee, this.ee.a2, (68u + this.ee.a0.UL0)); - // @00141E88 SB t0, $00d3(a0) - MobUt.SB(this.ee, this.ee.t0, (211u + this.ee.a0.UL0)); - // @00141E8C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00141E90 SB a3, $00d0(a0) - MobUt.SB(this.ee, this.ee.a3, (208u + this.ee.a0.UL0)); - } - - public virtual void funct00141e98() - { - this.ee.pc = 1318636u; - // @00141E98 ADDIU sp, sp, $ffa0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -96))); - // @00141E9C SLL a1, a1, 5 - MobUt.SLL(this.ee.a1, this.ee.a1, 5); - // @00141EA0 SD s1, $0018(sp) - MobUt.SD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @00141EA4 SD s5, $0038(sp) - MobUt.SD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @00141EA8 SD s6, $0040(sp) - MobUt.SD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); - // @00141EAC DADDU s1, a0, zero - this.ee.s1.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @00141EB0 SD s7, $0048(sp) - MobUt.SD(this.ee, this.ee.s7, (72u + this.ee.sp.UL0)); - // @00141EB4 DADDU s5, a2, zero - this.ee.s5.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @00141EB8 SD s0, $0010(sp) - MobUt.SD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - // @00141EBC DADDU s6, a3, zero - this.ee.s6.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @00141EC0 SD s2, $0020(sp) - MobUt.SD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @00141EC4 SD s3, $0028(sp) - MobUt.SD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @00141EC8 SD s4, $0030(sp) - MobUt.SD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @00141ECC SD s8, $0050(sp) - MobUt.SD(this.ee, this.ee.s8, (80u + this.ee.sp.UL0)); - // @00141ED0 SD ra, $0058(sp) - MobUt.SD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); - // @00141ED4 LW t7, $0004(a0) - MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); - // @00141ED8 SW t0, $0000(sp) - MobUt.SW(this.ee, this.ee.t0, (0u + this.ee.sp.UL0)); - // @00141EDC ADDU s7, t7, a1 - this.ee.s7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.a1.SD0))); - // @00141EE0 ADDIU a0, s7, $0010 - this.ee.a0.SD0 = ((int)((this.ee.s7.SD0 + 16))); - // @00141EE4 JAL $001457e0 - this.ee.ra.UL0 = 1318636u; - this.ee.pc = 1333216u; - // @00141EE8 DADDU a1, a2, zero - this.ee.a1.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00141eec() - { - this.ee.pc = 1318644u; - // @00141EEC BEQ v0, zero, $00142090 - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1319056u; - } - // @00141EF0 LD s0, $0010(sp) - MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - } - - public virtual void funct00141ef4() - { - this.ee.pc = 1318664u; - // @00141EF4 LHU s8, $001e(s7) - MobUt.LHU(this.ee, this.ee.s8, (30u + this.ee.s7.UL0)); - // @00141EF8 LHU s3, $001c(s7) - MobUt.LHU(this.ee, this.ee.s3, (28u + this.ee.s7.UL0)); - // @00141EFC SLT t7, s3, s8 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s8.SD0)); - // @00141F00 BEQ t7, zero, $0014204c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318988u; - } - // @00141F04 ADDIU t7, zero, $0014 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 20))); - } - - public virtual void funct00141f08() - { - this.ee.pc = 1318688u; - // @00141F08 MULT s4, s3, t7 - this.ee.s4.SD0 = (((long)(this.ee.s3.SL0)) * ((long)(this.ee.t7.SL0))); - // @00141F0C LW t7, $0008(s1) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s1.UL0)); - // @00141F10 ADDU s0, t7, s4 - this.ee.s0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s4.SD0))); - // @00141F14 LBU t6, $0010(s0) - MobUt.LBU(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @00141F18 BEQL t6, zero, $00142040 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318976u; - // @00141F1C ADDIU s3, s3, $0001 - this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); - } - } - - public virtual void funct00141f0c() - { - this.ee.pc = 1318688u; - // @00141F0C LW t7, $0008(s1) - MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s1.UL0)); - // @00141F10 ADDU s0, t7, s4 - this.ee.s0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s4.SD0))); - // @00141F14 LBU t6, $0010(s0) - MobUt.LBU(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); - // @00141F18 BEQL t6, zero, $00142040 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318976u; - // @00141F1C ADDIU s3, s3, $0001 - this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); - } - } - - public virtual void funct00141f20() - { - this.ee.pc = 1318700u; - // @00141F20 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @00141F24 JAL $001457e0 - this.ee.ra.UL0 = 1318700u; - this.ee.pc = 1333216u; - // @00141F28 DADDU a1, s5, zero - this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00141f2c() - { - this.ee.pc = 1318708u; - // @00141F2C BEQL v0, zero, $00142040 - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318976u; - // @00141F30 ADDIU s3, s3, $0001 - this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); - } - } - - public virtual void funct00141f34() - { - this.ee.pc = 1318728u; - // @00141F34 LHU s2, $000c(s0) - MobUt.LHU(this.ee, this.ee.s2, (12u + this.ee.s0.UL0)); - // @00141F38 LHU s0, $000e(s0) - MobUt.LHU(this.ee, this.ee.s0, (14u + this.ee.s0.UL0)); - // @00141F3C SLT t7, s2, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s0.SD0)); - // @00141F40 BEQ t7, zero, $0014203c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318972u; - } - // @00141F44 SW s0, $0004(sp) - MobUt.SW(this.ee, this.ee.s0, (4u + this.ee.sp.UL0)); - } - - public virtual void funct00141f48() - { - this.ee.pc = 1318768u; - // @00141F48 LW t6, $000c(s1) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s1.UL0)); - // @00141F4C SLL t7, s2, 4 - MobUt.SLL(this.ee.t7, this.ee.s2, 4); - // @00141F50 LW t4, $0014(s1) - MobUt.LW(this.ee, this.ee.t4, (20u + this.ee.s1.UL0)); - // @00141F54 ADDU s0, t6, t7 - this.ee.s0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00141F58 LBU t5, $00d0(s1) - MobUt.LBU(this.ee, this.ee.t5, (208u + this.ee.s1.UL0)); - // @00141F5C LHU t7, $000e(s0) - MobUt.LHU(this.ee, this.ee.t7, (14u + this.ee.s0.UL0)); - // @00141F60 ADDIU t6, zero, $0001 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @00141F64 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00141F68 BNE t5, t6, $001420bc - if ((this.ee.t5.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 1319100u; - } - // @00141F6C ADDU a2, t4, t7 - this.ee.a2.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct00141f4c() - { - this.ee.pc = 1318768u; - // @00141F4C SLL t7, s2, 4 - MobUt.SLL(this.ee.t7, this.ee.s2, 4); - // @00141F50 LW t4, $0014(s1) - MobUt.LW(this.ee, this.ee.t4, (20u + this.ee.s1.UL0)); - // @00141F54 ADDU s0, t6, t7 - this.ee.s0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00141F58 LBU t5, $00d0(s1) - MobUt.LBU(this.ee, this.ee.t5, (208u + this.ee.s1.UL0)); - // @00141F5C LHU t7, $000e(s0) - MobUt.LHU(this.ee, this.ee.t7, (14u + this.ee.s0.UL0)); - // @00141F60 ADDIU t6, zero, $0001 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @00141F64 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00141F68 BNE t5, t6, $001420bc - if ((this.ee.t5.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 1319100u; - } - // @00141F6C ADDU a2, t4, t7 - this.ee.a2.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct00141f88() - { - this.ee.pc = 1318804u; - // @00141F88 ANDI t7, t7, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); - // @00141F8C BEQ t7, zero, $0014202c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318956u; - } - // @00141F90 LW t6, $0004(sp) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); - } - - public virtual void funct00141f94() - { - this.ee.pc = 1318816u; - // @00141F94 LBU t7, $00d3(s1) - MobUt.LBU(this.ee, this.ee.t7, (211u + this.ee.s1.UL0)); - // @00141F98 BEQ t7, zero, $00141fb4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318836u; - } - // @00141F9C DADDU t6, zero, zero - this.ee.t6.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00141fb4() - { - this.ee.pc = 1318848u; - // @00141FB4 ANDI t7, t6, $00ff - this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 255))); - // @00141FB8 BNEL t7, zero, $00141fd8 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1318872u; - // @00141FBC LHU t6, $000c(s0) - MobUt.LHU(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - } - } - - public virtual void funct00141fc0() - { - this.ee.pc = 1318860u; - // @00141FC0 LW a1, $0000(sp) - MobUt.LW(this.ee, this.ee.a1, (0u + this.ee.sp.UL0)); - // @00141FC4 JAL $0032d8d0 - this.ee.ra.UL0 = 1318860u; - this.ee.pc = 3332304u; - // @00141FC8 DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00141fcc() - { - this.ee.pc = 1318868u; - // @00141FCC BEQ v0, zero, $0014202c - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318956u; - } - // @00141FD0 LW t6, $0004(sp) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); - } - - public virtual void funct00141fd4() - { - this.ee.pc = 1318884u; - // @00141FD4 LHU t6, $000c(s0) - MobUt.LHU(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); - // @00141FD8 ORI t7, zero, $ffff - this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); - // @00141FDC BEQ t6, t7, $00142000 - if ((this.ee.t6.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1318912u; - } - // @00141FE0 ADDIU t5, zero, $000c - this.ee.t5.SD0 = ((int)((this.ee.r0.SD0 + 12))); - } - - public virtual void funct00141fe4() - { - this.ee.pc = 1318904u; - // @00141FE4 LW a0, $001c(s1) - MobUt.LW(this.ee, this.ee.a0, (28u + this.ee.s1.UL0)); - // @00141FE8 MULT t7, t6, t5 - this.ee.t7.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.t5.SL0))); - // @00141FEC DADDU a1, s5, zero - this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - // @00141FF0 JAL $001457e0 - this.ee.ra.UL0 = 1318904u; - this.ee.pc = 1333216u; - // @00141FF4 ADDU a0, a0, t7 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct00141ff8() - { - this.ee.pc = 1318912u; - // @00141FF8 BEQ v0, zero, $0014202c - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318956u; - } - // @00141FFC LW t6, $0004(sp) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); - } - - public virtual void funct00142000() - { - this.ee.pc = 1318928u; - // @00142000 LHU t6, $0000(s6) - MobUt.LHU(this.ee, this.ee.t6, (0u + this.ee.s6.UL0)); - // @00142004 SLTIU t7, t6, $03ff - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 1023ul)); - // @00142008 BEQ t7, zero, $0014208c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1319052u; - } - // @0014200C SLL t6, t6, 1 - MobUt.SLL(this.ee.t6, this.ee.t6, 1); - } - - public virtual void funct00142010() - { - this.ee.pc = 1318972u; - // @00142010 LW t7, $003c(s1) - MobUt.LW(this.ee, this.ee.t7, (60u + this.ee.s1.UL0)); - // @00142014 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00142018 SH s2, $0000(t6) - MobUt.SH(this.ee, this.ee.s2, (0u + this.ee.t6.UL0)); - // @0014201C LHU t7, $0000(s6) - MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); - // @00142020 ADDIU t7, t7, $0001 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 1))); - // @00142024 SH t7, $0000(s6) - MobUt.SH(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); - // @00142028 LW t6, $0004(sp) - MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); - // @0014202C ADDIU s2, s2, $0001 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); - // @00142030 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @00142034 BNEL t7, zero, $00141f4c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1318732u; - // @00142038 LW t6, $000c(s1) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s1.UL0)); - } - } - - public virtual void funct0014202c() - { - this.ee.pc = 1318972u; - // @0014202C ADDIU s2, s2, $0001 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); - // @00142030 SLT t7, s2, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); - // @00142034 BNEL t7, zero, $00141f4c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1318732u; - // @00142038 LW t6, $000c(s1) - MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s1.UL0)); - } - } - - public virtual void funct0014203c() - { - this.ee.pc = 1318988u; - // @0014203C ADDIU s3, s3, $0001 - this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); - // @00142040 SLT t7, s3, s8 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s8.SD0)); - // @00142044 BNE t7, zero, $00141f0c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1318668u; - } - // @00142048 ADDIU s4, s4, $0014 - this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 20))); - } - - public virtual void funct00142040() - { - this.ee.pc = 1318988u; - // @00142040 SLT t7, s3, s8 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s8.SD0)); - // @00142044 BNE t7, zero, $00141f0c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1318668u; - } - // @00142048 ADDIU s4, s4, $0014 - this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 20))); - } - - public virtual void funct0014204c() - { - this.ee.pc = 1319016u; - // @0014204C DADDU s0, s7, zero - this.ee.s0.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); - // @00142050 DADDU s2, zero, zero - this.ee.s2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00142054 ADDIU s3, zero, $ffff - this.ee.s3.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00142058 LH t7, $0000(s0) - MobUt.LH(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - // @0014205C ADDIU s0, s0, $0002 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 2))); - // @00142060 BEQ t7, s3, $0014208c - if ((this.ee.t7.UD0 == this.ee.s3.UD0)) - { - this.ee.pc = 1319052u; - } - // @00142064 DADDU a1, t7, zero - this.ee.a1.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0014205c() - { - this.ee.pc = 1319016u; - // @0014205C ADDIU s0, s0, $0002 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 2))); - // @00142060 BEQ t7, s3, $0014208c - if ((this.ee.t7.UD0 == this.ee.s3.UD0)) - { - this.ee.pc = 1319052u; - } - // @00142064 DADDU a1, t7, zero - this.ee.a1.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00142068() - { - this.ee.pc = 1319040u; - // @00142068 LW t0, $0000(sp) - MobUt.LW(this.ee, this.ee.t0, (0u + this.ee.sp.UL0)); - // @0014206C DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - // @00142070 DADDU a2, s5, zero - this.ee.a2.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - // @00142074 DADDU a3, s6, zero - this.ee.a3.UD0 = (this.ee.s6.UD0 + this.ee.r0.UD0); - // @00142078 JAL $00141e98 - this.ee.ra.UL0 = 1319040u; - this.ee.pc = 1318552u; - // @0014207C ADDIU s2, s2, $0001 - this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); - } - - public virtual void funct00142080() - { - this.ee.pc = 1319052u; - // @00142080 SLTI t7, s2, $0008 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < 8)); - // @00142084 BNEL t7, zero, $0014205c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1319004u; - // @00142088 LH t7, $0000(s0) - MobUt.LH(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); - } - } - - public virtual void funct0014208c() - { - this.ee.pc = 1319100u; - // @0014208C LD s0, $0010(sp) - MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); - // @00142090 LD s1, $0018(sp) - MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @00142094 LD s2, $0020(sp) - MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @00142098 LD s3, $0028(sp) - MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @0014209C LD s4, $0030(sp) - MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @001420A0 LD s5, $0038(sp) - MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @001420A4 LD s6, $0040(sp) - MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); - // @001420A8 LD s7, $0048(sp) - MobUt.LD(this.ee, this.ee.s7, (72u + this.ee.sp.UL0)); - // @001420AC LD s8, $0050(sp) - MobUt.LD(this.ee, this.ee.s8, (80u + this.ee.sp.UL0)); - // @001420B0 LD ra, $0058(sp) - MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); - // @001420B4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @001420B8 ADDIU sp, sp, $0060 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); - } - - public virtual void funct00142090() - { - this.ee.pc = 1319100u; - // @00142090 LD s1, $0018(sp) - MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); - // @00142094 LD s2, $0020(sp) - MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); - // @00142098 LD s3, $0028(sp) - MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); - // @0014209C LD s4, $0030(sp) - MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); - // @001420A0 LD s5, $0038(sp) - MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); - // @001420A4 LD s6, $0040(sp) - MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); - // @001420A8 LD s7, $0048(sp) - MobUt.LD(this.ee, this.ee.s7, (72u + this.ee.sp.UL0)); - // @001420AC LD s8, $0050(sp) - MobUt.LD(this.ee, this.ee.s8, (80u + this.ee.sp.UL0)); - // @001420B0 LD ra, $0058(sp) - MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); - // @001420B4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @001420B8 ADDIU sp, sp, $0060 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); - } - - public virtual void funct001420bc() - { - this.ee.pc = 1319128u; - // @001420BC LW t5, $0000(a2) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a2.UL0)); - // @001420C0 LW t7, $0040(s1) - MobUt.LW(this.ee, this.ee.t7, (64u + this.ee.s1.UL0)); - // @001420C4 LW t6, $0044(s1) - MobUt.LW(this.ee, this.ee.t6, (68u + this.ee.s1.UL0)); - // @001420C8 AND t7, t5, t7 - this.ee.t7.UD0 = (this.ee.t5.UD0 & this.ee.t7.UD0); - // @001420CC XOR t7, t7, t6 - MobUt.XOR(this.ee.t7, this.ee.t7, this.ee.t6); - // @001420D0 BEQ zero, zero, $00141f88 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1318792u; - } - // @001420D4 SLTIU t7, t7, $0001 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 1ul)); - } - - public virtual void funct001420d8() - { - this.ee.pc = 1319220u; - // @001420D8 ADDIU sp, sp, $ff30 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -208))); - // @001420DC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @001420E0 SD s1, $0078(sp) - MobUt.SD(this.ee, this.ee.s1, (120u + this.ee.sp.UL0)); - // @001420E4 ADDIU t7, t7, $873c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30916))); - // @001420E8 SD s2, $0080(sp) - MobUt.SD(this.ee, this.ee.s2, (128u + this.ee.sp.UL0)); - // @001420EC SD s3, $0088(sp) - MobUt.SD(this.ee, this.ee.s3, (136u + this.ee.sp.UL0)); - // @001420F0 DADDU s1, a0, zero - this.ee.s1.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @001420F4 SD s6, $00a0(sp) - MobUt.SD(this.ee, this.ee.s6, (160u + this.ee.sp.UL0)); - // @001420F8 DADDU s2, a1, zero - this.ee.s2.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @001420FC SD s7, $00a8(sp) - MobUt.SD(this.ee, this.ee.s7, (168u + this.ee.sp.UL0)); - // @00142100 DADDU s3, zero, zero - this.ee.s3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00142104 SD s0, $0070(sp) - MobUt.SD(this.ee, this.ee.s0, (112u + this.ee.sp.UL0)); - // @00142108 DADDU s6, a3, zero - this.ee.s6.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @0014210C SD s4, $0090(sp) - MobUt.SD(this.ee, this.ee.s4, (144u + this.ee.sp.UL0)); - // @00142110 DADDU s7, a2, zero - this.ee.s7.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @00142114 SD s5, $0098(sp) - MobUt.SD(this.ee, this.ee.s5, (152u + this.ee.sp.UL0)); - // @00142118 SD s8, $00b0(sp) - MobUt.SD(this.ee, this.ee.s8, (176u + this.ee.sp.UL0)); - // @0014211C SD ra, $00b8(sp) - MobUt.SD(this.ee, this.ee.ra, (184u + this.ee.sp.UL0)); - // @00142120 SWC1 $f20, $00c0(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (192u + this.ee.sp.UL0)); - // @00142124 LWC1 $f20, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[20], (0u + this.ee.t7.UL0)); - // @00142128 ORI t7, zero, $ffff - this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); - // @0014212C BLEZ a2, $00142218 - if ((this.ee.a2.SD0 <= 0)) - { - this.ee.pc = 1319448u; - } - // @00142130 SW t7, $0060(sp) - MobUt.SW(this.ee, this.ee.t7, (96u + this.ee.sp.UL0)); - } - - public virtual void funct00142134() - { - this.ee.pc = 1319272u; - // @00142134 ADDIU s8, sp, $0010 - this.ee.s8.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00142138 ADDIU s4, sp, $0030 - this.ee.s4.SD0 = ((int)((this.ee.sp.SD0 + 48))); - // @0014213C LW t7, $003c(s1) - MobUt.LW(this.ee, this.ee.t7, (60u + this.ee.s1.UL0)); - // @00142140 SLL t6, s3, 1 - MobUt.SLL(this.ee.t6, this.ee.s3, 1); - // @00142144 LW s0, $000c(s1) - MobUt.LW(this.ee, this.ee.s0, (12u + this.ee.s1.UL0)); - // @00142148 DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - // @0014214C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00142150 DADDU a2, s8, zero - this.ee.a2.UD0 = (this.ee.s8.UD0 + this.ee.r0.UD0); - // @00142154 LHU s5, $0000(t6) - MobUt.LHU(this.ee, this.ee.s5, (0u + this.ee.t6.UL0)); - // @00142158 SLL t7, s5, 4 - MobUt.SLL(this.ee.t7, this.ee.s5, 4); - // @0014215C ADDU s0, s0, t7 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); - // @00142160 JAL $00141be8 - this.ee.ra.UL0 = 1319272u; - this.ee.pc = 1317864u; - // @00142164 DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00142140() - { - this.ee.pc = 1319272u; - // @00142140 SLL t6, s3, 1 - MobUt.SLL(this.ee.t6, this.ee.s3, 1); - // @00142144 LW s0, $000c(s1) - MobUt.LW(this.ee, this.ee.s0, (12u + this.ee.s1.UL0)); - // @00142148 DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - // @0014214C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @00142150 DADDU a2, s8, zero - this.ee.a2.UD0 = (this.ee.s8.UD0 + this.ee.r0.UD0); - // @00142154 LHU s5, $0000(t6) - MobUt.LHU(this.ee, this.ee.s5, (0u + this.ee.t6.UL0)); - // @00142158 SLL t7, s5, 4 - MobUt.SLL(this.ee.t7, this.ee.s5, 4); - // @0014215C ADDU s0, s0, t7 - this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); - // @00142160 JAL $00141be8 - this.ee.ra.UL0 = 1319272u; - this.ee.pc = 1317864u; - // @00142164 DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00142168() - { - this.ee.pc = 1319316u; - // @00142168 LHU t6, $000a(s0) - MobUt.LHU(this.ee, this.ee.t6, (10u + this.ee.s0.UL0)); - // @0014216C LW t7, $0018(s1) - MobUt.LW(this.ee, this.ee.t7, (24u + this.ee.s1.UL0)); - // @00142170 SLL t6, t6, 4 - MobUt.SLL(this.ee.t6, this.ee.t6, 4); - // @00142174 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @00142178 LQ t0, $0000(t7) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @0014217C SQ t0, $0000(s4) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s4.UL[0])); - // @00142180 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00142184 DADDU a1, s8, zero - this.ee.a1.UD0 = (this.ee.s8.UD0 + this.ee.r0.UD0); - // @00142188 DADDU a2, s4, zero - this.ee.a2.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - // @0014218C JAL $00162670 - this.ee.ra.UL0 = 1319316u; - this.ee.pc = 1451632u; - // @00142190 DADDU a3, sp, zero - this.ee.a3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00142194() - { - this.ee.pc = 1319324u; - // @00142194 BEQ v0, zero, $00142208 - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1319432u; - } - // @00142198 ADDIU t6, sp, $0040 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 64))); - } - - public virtual void funct00142208() - { - this.ee.pc = 1319448u; - // @00142208 ADDIU s3, s3, $0001 - this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); - // @0014220C SLT t7, s3, s7 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s7.SD0)); - // @00142210 BNEL t7, zero, $00142140 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1319232u; - // @00142214 LW t7, $003c(s1) - MobUt.LW(this.ee, this.ee.t7, (60u + this.ee.s1.UL0)); - } - } - - public virtual void funct00142218() - { - this.ee.pc = 1319504u; - // @00142218 LW v0, $0060(sp) - MobUt.LW(this.ee, this.ee.v0, (96u + this.ee.sp.UL0)); - // @0014221C LD s0, $0070(sp) - MobUt.LD(this.ee, this.ee.s0, (112u + this.ee.sp.UL0)); - // @00142220 LD s1, $0078(sp) - MobUt.LD(this.ee, this.ee.s1, (120u + this.ee.sp.UL0)); - // @00142224 LD s2, $0080(sp) - MobUt.LD(this.ee, this.ee.s2, (128u + this.ee.sp.UL0)); - // @00142228 LD s3, $0088(sp) - MobUt.LD(this.ee, this.ee.s3, (136u + this.ee.sp.UL0)); - // @0014222C LD s4, $0090(sp) - MobUt.LD(this.ee, this.ee.s4, (144u + this.ee.sp.UL0)); - // @00142230 LD s5, $0098(sp) - MobUt.LD(this.ee, this.ee.s5, (152u + this.ee.sp.UL0)); - // @00142234 LD s6, $00a0(sp) - MobUt.LD(this.ee, this.ee.s6, (160u + this.ee.sp.UL0)); - // @00142238 LD s7, $00a8(sp) - MobUt.LD(this.ee, this.ee.s7, (168u + this.ee.sp.UL0)); - // @0014223C LD s8, $00b0(sp) - MobUt.LD(this.ee, this.ee.s8, (176u + this.ee.sp.UL0)); - // @00142240 LD ra, $00b8(sp) - MobUt.LD(this.ee, this.ee.ra, (184u + this.ee.sp.UL0)); - // @00142244 LWC1 $f20, $00c0(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (192u + this.ee.sp.UL0)); - // @00142248 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0014224C ADDIU sp, sp, $00d0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 208))); - } - - public virtual void funct00142250() - { - this.ee.pc = 1319592u; - // @00142250 ADDIU sp, sp, $f730 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -2256))); - // @00142254 SD s1, $0898(sp) - MobUt.SD(this.ee, this.ee.s1, (2200u + this.ee.sp.UL0)); - // @00142258 SD s4, $08b0(sp) - MobUt.SD(this.ee, this.ee.s4, (2224u + this.ee.sp.UL0)); - // @0014225C SD s5, $08b8(sp) - MobUt.SD(this.ee, this.ee.s5, (2232u + this.ee.sp.UL0)); - // @00142260 DADDU s1, a0, zero - this.ee.s1.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @00142264 SD s6, $08c0(sp) - MobUt.SD(this.ee, this.ee.s6, (2240u + this.ee.sp.UL0)); - // @00142268 DADDU s4, a2, zero - this.ee.s4.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @0014226C SD s0, $0890(sp) - MobUt.SD(this.ee, this.ee.s0, (2192u + this.ee.sp.UL0)); - // @00142270 DADDU s5, t0, zero - this.ee.s5.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); - // @00142274 SD s2, $08a0(sp) - MobUt.SD(this.ee, this.ee.s2, (2208u + this.ee.sp.UL0)); - // @00142278 DADDU s6, a3, zero - this.ee.s6.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @0014227C SD s3, $08a8(sp) - MobUt.SD(this.ee, this.ee.s3, (2216u + this.ee.sp.UL0)); - // @00142280 SD ra, $08c8(sp) - MobUt.SD(this.ee, this.ee.ra, (2248u + this.ee.sp.UL0)); - // @00142284 LQ t0, $0000(a1) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @00142288 SQ t0, $0000(sp) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @0014228C ADDIU a1, a1, $0010 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @00142290 ADDIU t6, sp, $0010 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00142294 LQ t0, $0000(a1) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @00142298 SQ t0, $0000(t6) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); - // @0014229C LBU t7, $00d1(a0) - MobUt.LBU(this.ee, this.ee.t7, (209u + this.ee.a0.UL0)); - // @001422A0 BNE t7, zero, $00142320 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1319712u; - } - // @001422A4 ADDIU s2, sp, $0020 - this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct00142320() - { - this.ee.pc = 1319724u; - // @00142320 ADDIU s3, sp, $0030 - this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 48))); - // @00142324 BEQ s3, sp, $00142338 - if ((this.ee.s3.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1319736u; - } - // @00142328 ADDIU t7, sp, $0040 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); - } - - public virtual void funct0014232c() - { - this.ee.pc = 1319760u; - // @0014232C LQ t0, $0000(sp) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00142330 SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @00142334 ADDIU t7, sp, $0040 - this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); - // @00142338 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @0014233C LQC2 vf2, $0000(sp) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); - // @00142340 VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @00142344 SQC2 vf1, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00142348 BEQL t7, s2, $0014235c - if ((this.ee.t7.UD0 == this.ee.s2.UD0)) - { - this.ee.pc = 1319772u; - // @0014234C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - } - - public virtual void funct00142350() - { - this.ee.pc = 1319804u; - // @00142350 LQ t0, $0000(s2) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); - // @00142354 SQ t0, $0000(t7) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); - // @00142358 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @0014235C ADDIU s0, sp, $0050 - this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 80))); - // @00142360 ADDIU t7, t7, $8740 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30912))); - // @00142364 DADDU a1, sp, zero - this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @00142368 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0014236C DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @00142370 SWC1 $f0, $003c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (60u + this.ee.sp.UL0)); - // @00142374 JAL $00144878 - this.ee.ra.UL0 = 1319804u; - this.ee.pc = 1329272u; - // @00142378 SWC1 $f0, $004c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[0], (76u + this.ee.sp.UL0)); - } - - public virtual void funct0014237c() - { - this.ee.pc = 1319812u; - // @0014237C JAL $00145090 - this.ee.ra.UL0 = 1319812u; - this.ee.pc = 1331344u; - // @00142380 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00142384() - { - this.ee.pc = 1319820u; - // @00142384 JAL $00141bd0 - this.ee.ra.UL0 = 1319820u; - this.ee.pc = 1317840u; - // @00142388 DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0014238c() - { - this.ee.pc = 1319836u; - // @0014238C DADDU a2, v0, zero - this.ee.a2.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); - // @00142390 DADDU a0, s2, zero - this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00142394 JAL $001450b0 - this.ee.ra.UL0 = 1319836u; - this.ee.pc = 1331376u; - // @00142398 DADDU a1, s0, zero - this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0014239c() - { - this.ee.pc = 1319852u; - // @0014239C SH zero, $0070(sp) - MobUt.SH(this.ee, this.ee.r0, (112u + this.ee.sp.UL0)); - // @001423A0 ADDIU a1, sp, $0080 - this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 128))); - // @001423A4 JAL $00141be0 - this.ee.ra.UL0 = 1319852u; - this.ee.pc = 1317856u; - // @001423A8 DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001423ac() - { - this.ee.pc = 1319876u; - // @001423AC DADDU a2, s2, zero - this.ee.a2.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @001423B0 ADDIU a3, sp, $0070 - this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 112))); - // @001423B4 DADDU t0, s5, zero - this.ee.t0.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); - // @001423B8 DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - // @001423BC JAL $00141e98 - this.ee.ra.UL0 = 1319876u; - this.ee.pc = 1318552u; - // @001423C0 DADDU a1, zero, zero - this.ee.a1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001423c4() - { - this.ee.pc = 1319896u; - // @001423C4 LHU a2, $0070(sp) - MobUt.LHU(this.ee, this.ee.a2, (112u + this.ee.sp.UL0)); - // @001423C8 DADDU a1, s3, zero - this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - // @001423CC DADDU a0, s1, zero - this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); - // @001423D0 JAL $001420d8 - this.ee.ra.UL0 = 1319896u; - this.ee.pc = 1319128u; - // @001423D4 DADDU a3, s4, zero - this.ee.a3.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001423d8() - { - this.ee.pc = 1319912u; - // @001423D8 SH v0, $0000(s6) - MobUt.SH(this.ee, this.ee.v0, (0u + this.ee.s6.UL0)); - // @001423DC ORI t7, zero, $ffff - this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); - // @001423E0 BEQ v0, t7, $00142438 - if ((this.ee.v0.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1319992u; - } - // @001423E4 DADDU t6, zero, zero - this.ee.t6.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00142438() - { - this.ee.pc = 1320036u; - // @00142438 LD s0, $0890(sp) - MobUt.LD(this.ee, this.ee.s0, (2192u + this.ee.sp.UL0)); - // @0014243C DADDU v0, t6, zero - this.ee.v0.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); - // @00142440 LD s1, $0898(sp) - MobUt.LD(this.ee, this.ee.s1, (2200u + this.ee.sp.UL0)); - // @00142444 LD s2, $08a0(sp) - MobUt.LD(this.ee, this.ee.s2, (2208u + this.ee.sp.UL0)); - // @00142448 LD s3, $08a8(sp) - MobUt.LD(this.ee, this.ee.s3, (2216u + this.ee.sp.UL0)); - // @0014244C LD s4, $08b0(sp) - MobUt.LD(this.ee, this.ee.s4, (2224u + this.ee.sp.UL0)); - // @00142450 LD s5, $08b8(sp) - MobUt.LD(this.ee, this.ee.s5, (2232u + this.ee.sp.UL0)); - // @00142454 LD s6, $08c0(sp) - MobUt.LD(this.ee, this.ee.s6, (2240u + this.ee.sp.UL0)); - // @00142458 LD ra, $08c8(sp) - MobUt.LD(this.ee, this.ee.ra, (2248u + this.ee.sp.UL0)); - // @0014245C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00142460 ADDIU sp, sp, $08d0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 2256))); - } - - public virtual void funct00143ec8() - { - this.ee.pc = 1326864u; - // @00143EC8 ADDIU sp, sp, $ffb0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -80))); - // @00143ECC DADDU t1, zero, zero - this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00143ED0 SD s2, $0030(sp) - MobUt.SD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); - // @00143ED4 ADDIU t2, sp, $0014 - this.ee.t2.SD0 = ((int)((this.ee.sp.SD0 + 20))); - // @00143ED8 SD s3, $0038(sp) - MobUt.SD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); - // @00143EDC ADDIU t3, zero, $000f - this.ee.t3.SD0 = ((int)((this.ee.r0.SD0 + 15))); - // @00143EE0 SD ra, $0040(sp) - MobUt.SD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); - // @00143EE4 DADDU s2, a1, zero - this.ee.s2.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00143EE8 SD s0, $0020(sp) - MobUt.SD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - // @00143EEC DADDU s3, a0, zero - this.ee.s3.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); - // @00143EF0 SD s1, $0028(sp) - MobUt.SD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); - // @00143EF4 ADDIU a2, sp, $0010 - this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00143EF8 SW zero, $0014(sp) - MobUt.SW(this.ee, this.ee.r0, (20u + this.ee.sp.UL0)); - // @00143EFC ADDIU a3, zero, $0200 - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 512))); - // @00143F00 SW zero, $0000(sp) - MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.sp.UL0)); - // @00143F04 ADDIU t0, zero, $0200 - this.ee.t0.SD0 = ((int)((this.ee.r0.SD0 + 512))); - // @00143F08 JAL $00165aa8 - this.ee.ra.UL0 = 1326864u; - this.ee.pc = 1465000u; - // @00143F0C LUI s1, $0035 - this.ee.s1.SD0 = 3473408; - } - - public virtual void funct00143f10() - { - this.ee.pc = 1326892u; - // @00143F10 LW a0, $5134(s1) - MobUt.LW(this.ee, this.ee.a0, (20788u + this.ee.s1.UL0)); - // @00143F14 DADDU s0, v0, zero - this.ee.s0.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); - // @00143F18 ADDIU a1, zero, $0200 - this.ee.a1.SD0 = ((int)((this.ee.r0.SD0 + 512))); - // @00143F1C ADDIU a2, zero, $0200 - this.ee.a2.SD0 = ((int)((this.ee.r0.SD0 + 512))); - // @00143F20 DADDU a3, zero, zero - this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00143F24 JAL $00141e78 - this.ee.ra.UL0 = 1326892u; - this.ee.pc = 1318520u; - // @00143F28 DADDU t0, zero, zero - this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00143f2c() - { - this.ee.pc = 1326916u; - // @00143F2C LW a0, $5134(s1) - MobUt.LW(this.ee, this.ee.a0, (20788u + this.ee.s1.UL0)); - // @00143F30 DADDU a1, s3, zero - this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); - // @00143F34 DADDU a2, s2, zero - this.ee.a2.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); - // @00143F38 ADDIU a3, sp, $0010 - this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00143F3C JAL $00142250 - this.ee.ra.UL0 = 1326916u; - this.ee.pc = 1319504u; - // @00143F40 ADDIU t0, zero, $000f - this.ee.t0.SD0 = ((int)((this.ee.r0.SD0 + 15))); - } - - public virtual void funct00143f44() - { - this.ee.pc = 1326956u; - // @00143F44 OR s0, s0, v0 - this.ee.s0.UD0 = (this.ee.s0.UD0 | this.ee.v0.UD0); - // @00143F48 LD s1, $0028(sp) - MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); - // @00143F4C SLTU s0, zero, s0 - this.ee.s0.UD0 = System.Convert.ToByte((this.ee.r0.UD0 < this.ee.s0.UD0)); - // @00143F50 LD s2, $0030(sp) - MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); - // @00143F54 DADDU v0, s0, zero - this.ee.v0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - // @00143F58 LD s3, $0038(sp) - MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); - // @00143F5C LD s0, $0020(sp) - MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - // @00143F60 LD ra, $0040(sp) - MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); - // @00143F64 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00143F68 ADDIU sp, sp, $0050 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); - } - - public virtual void funct00144878() - { - this.ee.pc = 1329296u; - // @00144878 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @0014487C ADDIU a2, a1, $0010 - this.ee.a2.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @00144880 SD ra, $0000(sp) - MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @00144884 LD ra, $0000(sp) - MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @00144888 J $00144a40 - this.ee.pc = 1329728u; - // @0014488C ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00144a40() - { - this.ee.pc = 1329748u; - // @00144A40 LWC1 $f1, $0000(a1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.a1.UL0)); - // @00144A44 LWC1 $f0, $0000(a2) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a2.UL0)); - // @00144A48 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @00144A4C BC1FL $00144ab4 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1329844u; - // @00144A50 SWC1 $f0, $0000(a0) - MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a0.UL0)); - } - } - - public virtual void funct00144a5c() - { - this.ee.pc = 1329780u; - // @00144A5C SWC1 $f0, $000c(a0) - MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a0.UL0)); - // @00144A60 LWC1 $f1, $0004(a1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.a1.UL0)); - // @00144A64 LWC1 $f0, $0004(a2) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a2.UL0)); - // @00144A68 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @00144A6C BC1FL $00144aac - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1329836u; - // @00144A70 SWC1 $f0, $0004(a0) - MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a0.UL0)); - } - } - - public virtual void funct00144a74() - { - this.ee.pc = 1329812u; - // @00144A74 SWC1 $f1, $0004(a0) - MobUt.SWC1(this.ee, this.ee.fpr[1], (4u + this.ee.a0.UL0)); - // @00144A78 LWC1 $f0, $0004(a2) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a2.UL0)); - // @00144A7C SWC1 $f0, $0010(a0) - MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.a0.UL0)); - // @00144A80 LWC1 $f1, $0008(a1) - MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.a1.UL0)); - // @00144A84 LWC1 $f0, $0008(a2) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a2.UL0)); - // @00144A88 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @00144A8C BC1FL $00144aa4 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1329828u; - // @00144A90 SWC1 $f0, $0008(a0) - MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a0.UL0)); - } - } - - public virtual void funct00144a9c() - { - this.ee.pc = 1329828u; - // @00144A9C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00144AA0 SWC1 $f0, $0014(a0) - MobUt.SWC1(this.ee, this.ee.fpr[0], (20u + this.ee.a0.UL0)); - } - - public virtual void funct00144aa4() - { - this.ee.pc = 1329836u; - // @00144AA4 BEQ zero, zero, $00144a9c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1329820u; - } - // @00144AA8 LWC1 $f0, $0008(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a1.UL0)); - } - - public virtual void funct00144ab4() - { - this.ee.pc = 1329852u; - // @00144AB4 BEQ zero, zero, $00144a5c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1329756u; - } - // @00144AB8 LWC1 $f0, $0000(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a1.UL0)); - } - - public virtual void funct00145090() - { - this.ee.pc = 1331372u; - // @00145090 SH zero, $0000(a0) - MobUt.SH(this.ee, this.ee.r0, (0u + this.ee.a0.UL0)); - // @00145094 SH zero, $000a(a0) - MobUt.SH(this.ee, this.ee.r0, (10u + this.ee.a0.UL0)); - // @00145098 SH zero, $0008(a0) - MobUt.SH(this.ee, this.ee.r0, (8u + this.ee.a0.UL0)); - // @0014509C SH zero, $0006(a0) - MobUt.SH(this.ee, this.ee.r0, (6u + this.ee.a0.UL0)); - // @001450A0 SH zero, $0004(a0) - MobUt.SH(this.ee, this.ee.r0, (4u + this.ee.a0.UL0)); - // @001450A4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @001450A8 SH zero, $0002(a0) - MobUt.SH(this.ee, this.ee.r0, (2u + this.ee.a0.UL0)); - } - - public virtual void funct001450b0() - { - this.ee.pc = 1331424u; - // @001450B0 LUI t7, $0035 - this.ee.t7.SD0 = 3473408; - // @001450B4 LWC1 $f0, $0000(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a1.UL0)); - // @001450B8 SLL t6, a2, 2 - MobUt.SLL(this.ee.t6, this.ee.a2, 2); - // @001450BC ADDIU t7, t7, $5660 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 22112))); - // @001450C0 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001450C4 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @001450C8 LUI t7, $0035 - this.ee.t7.SD0 = 3473408; - // @001450CC SUB.S $f1, $f0, $f2 - this.ee.fpr[1].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); - // @001450D0 ADDIU t7, t7, $5670 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 22128))); - // @001450D4 ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @001450D8 BEQ a2, zero, $001450e4 - if ((this.ee.a2.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1331428u; - } - // @001450DC LWC1 $f3, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t6.UL0)); - } - - public virtual void funct001450e4() - { - this.ee.pc = 1331452u; - // @001450E4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @001450E8 ADDIU t7, t7, $87d4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30764))); - // @001450EC LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001450F0 C.LT.S $f0, $f1 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); - // @001450F4 BC1TL $00145134 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1331508u; - // @001450F8 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - } - } - - public virtual void funct00145134() - { - this.ee.pc = 1331528u; - // @00145134 MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - // @00145138 SH t7, $0000(a0) - MobUt.SH(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); - // @0014513C LWC1 $f0, $0004(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a1.UL0)); - // @00145140 BEQ a2, zero, $0014514c - if ((this.ee.a2.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1331532u; - } - // @00145144 SUB.S $f1, $f0, $f2 - this.ee.fpr[1].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); - } - - public virtual void funct0014514c() - { - this.ee.pc = 1331556u; - // @0014514C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00145150 ADDIU t7, t7, $87d4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30764))); - // @00145154 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00145158 C.LT.S $f0, $f1 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); - // @0014515C BC1TL $0014519c - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1331612u; - // @00145160 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - } - } - - public virtual void funct0014519c() - { - this.ee.pc = 1331632u; - // @0014519C MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - // @001451A0 SH t7, $0002(a0) - MobUt.SH(this.ee, this.ee.t7, (2u + this.ee.a0.UL0)); - // @001451A4 LWC1 $f0, $0008(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a1.UL0)); - // @001451A8 BEQ a2, zero, $001451b4 - if ((this.ee.a2.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1331636u; - } - // @001451AC SUB.S $f1, $f0, $f2 - this.ee.fpr[1].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); - } - - public virtual void funct001451b4() - { - this.ee.pc = 1331660u; - // @001451B4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @001451B8 ADDIU t7, t7, $87d4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30764))); - // @001451BC LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001451C0 C.LT.S $f0, $f1 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); - // @001451C4 BC1TL $00145204 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1331716u; - // @001451C8 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - } - } - - public virtual void funct00145204() - { - this.ee.pc = 1331736u; - // @00145204 MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - // @00145208 SH t7, $0004(a0) - MobUt.SH(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); - // @0014520C LWC1 $f0, $000c(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a1.UL0)); - // @00145210 BEQ a2, zero, $0014521c - if ((this.ee.a2.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1331740u; - } - // @00145214 ADD.S $f1, $f0, $f2 - this.ee.fpr[1].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - } - - public virtual void funct0014521c() - { - this.ee.pc = 1331764u; - // @0014521C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00145220 ADDIU t7, t7, $87e0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30752))); - // @00145224 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00145228 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @0014522C BC1TL $0014526c - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1331820u; - // @00145230 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - } - } - - public virtual void funct0014526c() - { - this.ee.pc = 1331840u; - // @0014526C MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - // @00145270 SH t7, $0006(a0) - MobUt.SH(this.ee, this.ee.t7, (6u + this.ee.a0.UL0)); - // @00145274 LWC1 $f0, $0010(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (16u + this.ee.a1.UL0)); - // @00145278 BEQ a2, zero, $00145284 - if ((this.ee.a2.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1331844u; - } - // @0014527C ADD.S $f1, $f0, $f2 - this.ee.fpr[1].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - } - - public virtual void funct00145284() - { - this.ee.pc = 1331868u; - // @00145284 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00145288 ADDIU t7, t7, $87e0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30752))); - // @0014528C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00145290 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @00145294 BC1TL $001452d4 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1331924u; - // @00145298 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - } - } - - public virtual void funct001452d4() - { - this.ee.pc = 1331944u; - // @001452D4 MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - // @001452D8 SH t7, $0008(a0) - MobUt.SH(this.ee, this.ee.t7, (8u + this.ee.a0.UL0)); - // @001452DC LWC1 $f0, $0014(a1) - MobUt.LWC1(this.ee, this.ee.fpr[0], (20u + this.ee.a1.UL0)); - // @001452E0 BEQ a2, zero, $001452ec - if ((this.ee.a2.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1331948u; - } - // @001452E4 ADD.S $f1, $f0, $f2 - this.ee.fpr[1].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - } - - public virtual void funct001452ec() - { - this.ee.pc = 1331972u; - // @001452EC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @001452F0 ADDIU t7, t7, $87e0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30752))); - // @001452F4 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @001452F8 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @001452FC BC1TL $0014533c - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1332028u; - // @00145300 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - } - } - - public virtual void funct0014533c() - { - this.ee.pc = 1332040u; - // @0014533C MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - // @00145340 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00145344 SH t7, $000a(a0) - MobUt.SH(this.ee, this.ee.t7, (10u + this.ee.a0.UL0)); - } - - public virtual void funct001457e0() - { - this.ee.pc = 1333236u; - // @001457E0 LH t7, $0006(a0) - MobUt.LH(this.ee, this.ee.t7, (6u + this.ee.a0.UL0)); - // @001457E4 LH t6, $0000(a1) - MobUt.LH(this.ee, this.ee.t6, (0u + this.ee.a1.UL0)); - // @001457E8 SLT t7, t7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); - // @001457EC BNE t7, zero, $00145854 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1333332u; - } - // @001457F0 DADDU v0, zero, zero - this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001457f4() - { - this.ee.pc = 1333256u; - // @001457F4 LH t6, $0000(a0) - MobUt.LH(this.ee, this.ee.t6, (0u + this.ee.a0.UL0)); - // @001457F8 LH t7, $0006(a1) - MobUt.LH(this.ee, this.ee.t7, (6u + this.ee.a1.UL0)); - // @001457FC SLT t7, t7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); - // @00145800 BNE t7, zero, $00145854 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1333332u; - } - // @00145804 NOP - MobUt.Latency(); - } - - public virtual void funct00145808() - { - this.ee.pc = 1333276u; - // @00145808 LH t7, $0008(a0) - MobUt.LH(this.ee, this.ee.t7, (8u + this.ee.a0.UL0)); - // @0014580C LH t6, $0002(a1) - MobUt.LH(this.ee, this.ee.t6, (2u + this.ee.a1.UL0)); - // @00145810 SLT t7, t7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); - // @00145814 BNE t7, zero, $00145854 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1333332u; - } - // @00145818 NOP - MobUt.Latency(); - } - - public virtual void funct0014581c() - { - this.ee.pc = 1333296u; - // @0014581C LH t6, $0002(a0) - MobUt.LH(this.ee, this.ee.t6, (2u + this.ee.a0.UL0)); - // @00145820 LH t7, $0008(a1) - MobUt.LH(this.ee, this.ee.t7, (8u + this.ee.a1.UL0)); - // @00145824 SLT t7, t7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); - // @00145828 BNE t7, zero, $00145854 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1333332u; - } - // @0014582C NOP - MobUt.Latency(); - } - - public virtual void funct00145830() - { - this.ee.pc = 1333316u; - // @00145830 LH t7, $000a(a0) - MobUt.LH(this.ee, this.ee.t7, (10u + this.ee.a0.UL0)); - // @00145834 LH t6, $0004(a1) - MobUt.LH(this.ee, this.ee.t6, (4u + this.ee.a1.UL0)); - // @00145838 SLT t7, t7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); - // @0014583C BNE t7, zero, $00145854 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1333332u; - } - // @00145840 NOP - MobUt.Latency(); - } - - public virtual void funct00145844() - { - this.ee.pc = 1333340u; - // @00145844 LH t6, $0004(a0) - MobUt.LH(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); - // @00145848 LH t7, $000a(a1) - MobUt.LH(this.ee, this.ee.t7, (10u + this.ee.a1.UL0)); - // @0014584C SLT t7, t7, t6 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); - // @00145850 SLTIU v0, t7, $0001 - this.ee.v0.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 1ul)); - // @00145854 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00145858 NOP - MobUt.Latency(); - } - - public virtual void funct00145854() - { - this.ee.pc = 1333340u; - // @00145854 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00145858 NOP - MobUt.Latency(); - } - - public virtual void funct001622f8() - { - this.ee.pc = 1450784u; - // @001622F8 ADDIU sp, sp, $ff90 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -112))); - // @001622FC LW v0, $0010(a0) - MobUt.LW(this.ee, this.ee.v0, (16u + this.ee.a0.UL0)); - // @00162300 SD s0, $0040(sp) - MobUt.SD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); - // @00162304 ADDIU t7, zero, $0003 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); - // @00162308 SD s1, $0048(sp) - MobUt.SD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); - // @0016230C SD s2, $0050(sp) - MobUt.SD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); - // @00162310 SD s3, $0058(sp) - MobUt.SD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); - // @00162314 SD s4, $0060(sp) - MobUt.SD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); - // @00162318 BNE v0, t7, $0016246c - if ((this.ee.v0.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 1451116u; - } - // @0016231C LUI t7, $0036 - this.ee.t7.SD0 = 3538944; - } - - public virtual void funct00162328() - { - this.ee.pc = 1450800u; - // @00162328 BLEZ v0, $00162464 - if ((this.ee.v0.SD0 <= 0)) - { - this.ee.pc = 1451108u; - } - // @0016232C DADDU t1, zero, zero - this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00162330() - { - this.ee.pc = 1450904u; - // @00162330 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00162334 ADDIU t3, sp, $0030 - this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 48))); - // @00162338 ADDIU t7, t7, $8ce0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -29472))); - // @0016233C ADDIU v1, sp, $0010 - this.ee.v1.SD0 = ((int)((this.ee.sp.SD0 + 16))); - // @00162340 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00162344 ADDIU a3, sp, $0020 - this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 32))); - // @00162348 DADDU s3, sp, zero - this.ee.s3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @0016234C DADDU s2, t3, zero - this.ee.s2.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @00162350 DADDU s1, t3, zero - this.ee.s1.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @00162354 DADDU s0, v1, zero - this.ee.s0.UD0 = (this.ee.v1.UD0 + this.ee.r0.UD0); - // @00162358 DADDU t9, sp, zero - this.ee.t9.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); - // @0016235C DADDU t8, t3, zero - this.ee.t8.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @00162360 SLL t6, t1, 2 - MobUt.SLL(this.ee.t6, this.ee.t1, 2); - // @00162364 ADDU t5, t6, s4 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s4.SD0))); - // @00162368 ADDU t2, t6, a0 - this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.a0.SD0))); - // @0016236C LW t7, $0000(t5) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t5.UL0)); - // @00162370 LW t4, $0000(t2) - MobUt.LW(this.ee, this.ee.t4, (0u + this.ee.t2.UL0)); - // @00162374 SLL t7, t7, 2 - MobUt.SLL(this.ee.t7, this.ee.t7, 2); - // @00162378 ADDU t7, t7, a0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.a0.SD0))); - // @0016237C LW t6, $0000(t7) - MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.t7.UL0)); - // @00162380 LQC2 vf1, $0000(t6) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); - // @00162384 LQC2 vf2, $0000(t4) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t4.UL0)); - // @00162388 VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @0016238C SQC2 vf1, $0000(s2) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); - // @00162390 BEQL sp, t3, $001623a4 - if ((this.ee.sp.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1450916u; - // @00162394 LW t7, $0000(t2) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t2.UL0)); - } - } - - public virtual void funct00162398() - { - this.ee.pc = 1450940u; - // @00162398 LQ t0, $0000(t3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @0016239C SQ t0, $0000(s3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); - // @001623A0 LW t7, $0000(t2) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t2.UL0)); - // @001623A4 LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @001623A8 LQC2 vf2, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t7.UL0)); - // @001623AC VSUB.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); - // @001623B0 SQC2 vf1, $0000(s1) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s1.UL0)); - // @001623B4 BEQ v1, t3, $001623c4 - if ((this.ee.v1.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1450948u; - } - // @001623B8 NOP - MobUt.Latency(); - } - - public virtual void funct001623bc() - { - this.ee.pc = 1450980u; - // @001623BC LQ t0, $0000(t3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @001623C0 SQ t0, $0000(v1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.v1.UL[0])); - // @001623C4 LQC2 vf1, $0000(s0) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); - // @001623C8 LQC2 vf2, $0000(t9) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t9.UL0)); - // @001623CC VSUB.xyzw vf3, vf0, vf0 - this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @001623D0 VOPMULA.xyz ACC, vf1, vf2 - this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); - this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); - this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); - // @001623D4 VOPMSUB.xyz vf3, vf2, vf1 - this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); - this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); - this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); - // @001623D8 SQC2 vf3, $0000(t8) - MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t8.UL0)); - // @001623DC BEQ a3, t3, $001623ec - if ((this.ee.a3.UD0 == this.ee.t3.UD0)) - { - this.ee.pc = 1450988u; - } - // @001623E0 NOP - MobUt.Latency(); - } - - public virtual void funct001623e4() - { - this.ee.pc = 1451032u; - // @001623E4 LQ t0, $0000(t3) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); - // @001623E8 SQ t0, $0000(a3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); - // @001623EC LQC2 vf1, $0000(a3) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a3.UL0)); - // @001623F0 LQC2 vf2, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a2.UL0)); - // @001623F4 VMUL.xyz vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - // @001623F8 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @001623FC VADDz.x vf1, vf1, vf1z - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @00162400 QMFC2 t0, vf1 - MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); - // @00162404 MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @00162408 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @0016240C ADDIU t1, t1, $0001 - this.ee.t1.SD0 = ((int)((this.ee.t1.SD0 + 1))); - // @00162410 BC1F $00162448 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 1451080u; - } - // @00162414 SLT t7, t1, v0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t1.SD0 < this.ee.v0.SD0)); - } - - public virtual void funct00162418() - { - this.ee.pc = 1451044u; - // @00162418 DADDU t7, a3, zero - this.ee.t7.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @0016241C BEQ sp, t7, $0016242c - if ((this.ee.sp.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1451052u; - } - // @00162420 DADDU v0, zero, zero - this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct0016241c() - { - this.ee.pc = 1451044u; - // @0016241C BEQ sp, t7, $0016242c - if ((this.ee.sp.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 1451052u; - } - // @00162420 DADDU v0, zero, zero - this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00162424() - { - this.ee.pc = 1451052u; - // @00162424 BEQ zero, zero, $0016241c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1451036u; - } - // @00162428 ADDIU t7, t7, $fff0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -16))); - } - - public virtual void funct0016242c() - { - this.ee.pc = 1451080u; - // @0016242C LD s0, $0040(sp) - MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); - // @00162430 LD s1, $0048(sp) - MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); - // @00162434 LD s2, $0050(sp) - MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); - // @00162438 LD s3, $0058(sp) - MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); - // @0016243C LD s4, $0060(sp) - MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); - // @00162440 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00162444 ADDIU sp, sp, $0070 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); - } - - public virtual void funct0016246c() - { - this.ee.pc = 1451124u; - // @0016246C BEQ zero, zero, $00162328 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1450792u; - } - // @00162470 ADDIU s4, t7, $a090 - this.ee.s4.SD0 = ((int)((this.ee.t7.SD0 + -24432))); - } - - public virtual void funct00162670() - { - this.ee.pc = 1451696u; - // @00162670 ADDIU sp, sp, $ffe0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); - // @00162674 DADDU t4, a1, zero - this.ee.t4.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00162678 SD ra, $0010(sp) - MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @0016267C DADDU a1, a3, zero - this.ee.a1.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @00162680 ADDIU t5, a0, $0010 - this.ee.t5.SD0 = ((int)((this.ee.a0.SD0 + 16))); - // @00162684 LQC2 vf1, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); - // @00162688 LQC2 vf2, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); - // @0016268C VMUL.xyz vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - // @00162690 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @00162694 VADDz.x vf1, vf1, vf1z - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @00162698 QMFC2 t0, vf1 - MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); - // @0016269C MTC1 t0, $f2 - this.ee.fpr[2].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @001626A0 MTC1 zero, $f3 - this.ee.fpr[3].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @001626A4 C.LE.S $f3, $f2 - this.ee.fcr31_23 = (this.ee.fpr[3].f <= this.ee.fpr[2].f); - // @001626A8 BC1T $00162774 - if (this.ee.fcr31_23) - { - this.ee.pc = 1451892u; - } - // @001626AC DADDU v0, zero, zero - this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct001626b0() - { - this.ee.pc = 1451796u; - // @001626B0 LW t7, $0000(t4) - MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t4.UL0)); - // @001626B4 LQC2 vf1, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); - // @001626B8 LQC2 vf2, $0000(t7) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t7.UL0)); - // @001626BC VMUL.xyz vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - // @001626C0 VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @001626C4 VADDz.x vf1, vf1, vf1z - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @001626C8 QMFC2 t0, vf1 - MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); - // @001626CC MTC1 t0, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @001626D0 LQC2 vf1, $0000(a2) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); - // @001626D4 LQC2 vf2, $0000(a0) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); - // @001626D8 VMUL.xyz vf1, vf1, vf2 - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); - // @001626DC VADDy.x vf1, vf1, vf1y - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); - // @001626E0 VADDz.x vf1, vf1, vf1z - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); - // @001626E4 QMFC2 t0, vf1 - MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); - // @001626E8 MTC1 t0, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); - // @001626EC SUB.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - // @001626F0 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @001626F4 ADDIU t7, t7, $8ce8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -29464))); - // @001626F8 NOP - MobUt.Latency(); - // @001626FC NOP - MobUt.Latency(); - // @00162700 DIV.S $f1, $f1, $f2 - this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[2].f); - // @00162704 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00162708 C.LT.S $f0, $f1 - this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); - // @0016270C BC1TL $00162778 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1451896u; - // @00162710 LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - } - } - - public virtual void funct00162714() - { - this.ee.pc = 1451808u; - // @00162714 C.LT.S $f1, $f3 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[3].f); - // @00162718 BC1TL $00162778 - if ((this.ee.fcr31_23 == true)) - { - this.ee.pc = 1451896u; - // @0016271C LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - } - } - - public virtual void funct00162720() - { - this.ee.pc = 1451836u; - // @00162720 LQC2 vf1, $0000(t5) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); - // @00162724 MFC1 t0, $f1 - MobUt.MFC1(this.ee.t0, this.ee.fpr[1]); - // @00162728 QMTC2 t0, vf2 - MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); - // @0016272C VMULx.xyzw vf1, vf1, vf2x - this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); - this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); - this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); - this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); - // @00162730 SQC2 vf1, $0000(sp) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00162734 BEQ a3, sp, $00162744 - if ((this.ee.a3.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1451844u; - } - // @00162738 NOP - MobUt.Latency(); - } - - public virtual void funct0016273c() - { - this.ee.pc = 1451868u; - // @0016273C LQ t0, $0000(sp) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00162740 SQ t0, $0000(a3) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); - // @00162744 LQC2 vf1, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); - // @00162748 LQC2 vf2, $0000(a0) - MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); - // @0016274C VADD.xyzw vf1, vf1, vf2 - this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); - this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); - this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); - this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); - // @00162750 SQC2 vf1, $0000(sp) - MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); - // @00162754 BEQL a1, sp, $00162768 - if ((this.ee.a1.UD0 == this.ee.sp.UD0)) - { - this.ee.pc = 1451880u; - // @00162758 SWC1 $f0, $000c(a1) - MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a1.UL0)); - } - } - - public virtual void funct0016275c() - { - this.ee.pc = 1451888u; - // @0016275C LQ t0, $0000(sp) - MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); - // @00162760 SQ t0, $0000(a1) - MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); - // @00162764 SWC1 $f0, $000c(a1) - MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a1.UL0)); - // @00162768 JAL $001622f8 - this.ee.ra.UL0 = 1451888u; - this.ee.pc = 1450744u; - // @0016276C DADDU a0, t4, zero - this.ee.a0.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00162770() - { - this.ee.pc = 1451904u; - // @00162770 SLTU v0, zero, v0 - this.ee.v0.UD0 = System.Convert.ToByte((this.ee.r0.UD0 < this.ee.v0.UD0)); - // @00162774 LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @00162778 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0016277C ADDIU sp, sp, $0020 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct00162778() - { - this.ee.pc = 1451904u; - // @00162778 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0016277C ADDIU sp, sp, $0020 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct00165aa8() - { - this.ee.pc = 1465116u; - // @00165AA8 ADDIU sp, sp, $ff90 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -112))); - // @00165AAC SW zero, $0000(t2) - MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.t2.UL0)); - // @00165AB0 ADDIU t7, zero, $ffff - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); - // @00165AB4 SD s0, $0020(sp) - MobUt.SD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - // @00165AB8 SH t7, $0010(sp) - MobUt.SH(this.ee, this.ee.t7, (16u + this.ee.sp.UL0)); - // @00165ABC ADDIU t6, sp, $0070 - this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 112))); - // @00165AC0 SD s2, $0030(sp) - MobUt.SD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); - // @00165AC4 DADDU s0, zero, zero - this.ee.s0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00165AC8 SD s3, $0038(sp) - MobUt.SD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); - // @00165ACC SD s4, $0040(sp) - MobUt.SD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); - // @00165AD0 ANDI s2, t1, $00ff - this.ee.s2.UD0 = ((ushort)((this.ee.t1.US0 & 255))); - // @00165AD4 SD s5, $0048(sp) - MobUt.SD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); - // @00165AD8 DADDU s3, t0, zero - this.ee.s3.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); - // @00165ADC SD s6, $0050(sp) - MobUt.SD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); - // @00165AE0 DADDU s4, a3, zero - this.ee.s4.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); - // @00165AE4 SD s7, $0058(sp) - MobUt.SD(this.ee, this.ee.s7, (88u + this.ee.sp.UL0)); - // @00165AE8 DADDU s5, a1, zero - this.ee.s5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); - // @00165AEC SD s8, $0060(sp) - MobUt.SD(this.ee, this.ee.s8, (96u + this.ee.sp.UL0)); - // @00165AF0 DADDU s6, a2, zero - this.ee.s6.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @00165AF4 SH t7, $0000(a2) - MobUt.SH(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); - // @00165AF8 DADDU s7, t2, zero - this.ee.s7.UD0 = (this.ee.t2.UD0 + this.ee.r0.UD0); - // @00165AFC SD s1, $0028(sp) - MobUt.SD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); - // @00165B00 DADDU s8, t3, zero - this.ee.s8.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); - // @00165B04 SD ra, $0068(sp) - MobUt.SD(this.ee, this.ee.ra, (104u + this.ee.sp.UL0)); - // @00165B08 SW a0, $0014(sp) - MobUt.SW(this.ee, this.ee.a0, (20u + this.ee.sp.UL0)); - // @00165B0C LW s1, $0000(t6) - MobUt.LW(this.ee, this.ee.s1, (0u + this.ee.t6.UL0)); - // @00165B10 SW zero, $0018(sp) - MobUt.SW(this.ee, this.ee.r0, (24u + this.ee.sp.UL0)); - // @00165B14 JAL $00165be0 - this.ee.ra.UL0 = 1465116u; - this.ee.pc = 1465312u; - // @00165B18 DADDU a0, s0, zero - this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00165b1c() - { - this.ee.pc = 1465124u; - // @00165B1C BNE v0, zero, $00165b58 - if ((this.ee.v0.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 1465176u; - } - // @00165B20 DADDU s0, v0, zero - this.ee.s0.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00165b24() - { - this.ee.pc = 1465176u; - // @00165B24 LW v0, $0018(sp) - MobUt.LW(this.ee, this.ee.v0, (24u + this.ee.sp.UL0)); - // @00165B28 LD s0, $0020(sp) - MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); - // @00165B2C LD s1, $0028(sp) - MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); - // @00165B30 LD s2, $0030(sp) - MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); - // @00165B34 LD s3, $0038(sp) - MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); - // @00165B38 LD s4, $0040(sp) - MobUt.LD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); - // @00165B3C LD s5, $0048(sp) - MobUt.LD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); - // @00165B40 LD s6, $0050(sp) - MobUt.LD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); - // @00165B44 LD s7, $0058(sp) - MobUt.LD(this.ee, this.ee.s7, (88u + this.ee.sp.UL0)); - // @00165B48 LD s8, $0060(sp) - MobUt.LD(this.ee, this.ee.s8, (96u + this.ee.sp.UL0)); - // @00165B4C LD ra, $0068(sp) - MobUt.LD(this.ee, this.ee.ra, (104u + this.ee.sp.UL0)); - // @00165B50 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00165B54 ADDIU sp, sp, $0070 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); - } - - public virtual void funct00165be0() - { - this.ee.pc = 1465328u; - // @00165BE0 LUI t7, $0052 - this.ee.t7.SD0 = 5373952; - // @00165BE4 LW t6, $e8c0(t7) - MobUt.LW(this.ee, this.ee.t6, (4294961344u + this.ee.t7.UL0)); - // @00165BE8 BEQ a0, zero, $00165bf4 - if ((this.ee.a0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1465332u; - } - // @00165BEC DADDU v0, t6, zero - this.ee.v0.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00165bf4() - { - this.ee.pc = 1465340u; - // @00165BF4 BEQ v0, zero, $00165c0c - if ((this.ee.v0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 1465356u; - } - // @00165BF8 DADDU a0, v0, zero - this.ee.a0.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00165c0c() - { - this.ee.pc = 1465364u; - // @00165C0C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00165C10 NOP - MobUt.Latency(); - } - - public virtual void funct002fa938() - { - this.ee.pc = 3123608u; - // @002FA938 LUI t0, $0037 - this.ee.t0.SD0 = 3604480; - // @002FA93C ADDIU t0, t0, $12e0 - this.ee.t0.SD0 = ((int)((this.ee.t0.SD0 + 4832))); - // @002FA940 LQC2 vf5, $0000(t0) - MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t0.UL0)); - // @002FA944 VMR32.w vf6, vf6 - this.ee.VF[6].w = this.ee.VF[6].x; - // @002FA948 VADDx.x vf4, vf0, vf6x - this.ee.VF[4].x = (this.ee.VF[0].x + this.ee.VF[6].x); - // @002FA94C VMUL.x vf6, vf6, vf6 - this.ee.VF[6].x = MobUt.MUL(this.ee.VF[6].x, this.ee.VF[6].x); - // @002FA950 VMULx.yzw vf4, vf4, vf0x - this.ee.VF[4].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[0].x); - this.ee.VF[4].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[0].x); - this.ee.VF[4].w = MobUt.MUL(this.ee.VF[4].w, this.ee.VF[0].x); - // @002FA954 VMULw.xyzw vf8, vf5, vf6w - this.ee.VF[8].x = MobUt.MUL(this.ee.VF[5].x, this.ee.VF[6].w); - this.ee.VF[8].y = MobUt.MUL(this.ee.VF[5].y, this.ee.VF[6].w); - this.ee.VF[8].z = MobUt.MUL(this.ee.VF[5].z, this.ee.VF[6].w); - this.ee.VF[8].w = MobUt.MUL(this.ee.VF[5].w, this.ee.VF[6].w); - // @002FA958 VSUB.xyzw vf5, vf0, vf0 - this.ee.VF[5].x = (this.ee.VF[0].x - this.ee.VF[0].x); - this.ee.VF[5].y = (this.ee.VF[0].y - this.ee.VF[0].y); - this.ee.VF[5].z = (this.ee.VF[0].z - this.ee.VF[0].z); - this.ee.VF[5].w = (this.ee.VF[0].w - this.ee.VF[0].w); - // @002FA95C VMULx.xyzw vf8, vf8, vf6x - this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); - this.ee.VF[8].y = MobUt.MUL(this.ee.VF[8].y, this.ee.VF[6].x); - this.ee.VF[8].z = MobUt.MUL(this.ee.VF[8].z, this.ee.VF[6].x); - this.ee.VF[8].w = MobUt.MUL(this.ee.VF[8].w, this.ee.VF[6].x); - // @002FA960 VMULx.xyz vf8, vf8, vf6x - this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); - this.ee.VF[8].y = MobUt.MUL(this.ee.VF[8].y, this.ee.VF[6].x); - this.ee.VF[8].z = MobUt.MUL(this.ee.VF[8].z, this.ee.VF[6].x); - // @002FA964 VADDw.x vf4, vf4, vf8w - this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].w); - // @002FA968 VMULx.xy vf8, vf8, vf6x - this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); - this.ee.VF[8].y = MobUt.MUL(this.ee.VF[8].y, this.ee.VF[6].x); - // @002FA96C VADDz.x vf4, vf4, vf8z - this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].z); - // @002FA970 VMULx.x vf8, vf8, vf6x - this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); - // @002FA974 VADDy.x vf4, vf4, vf8y - this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].y); - // @002FA978 VADDx.x vf4, vf4, vf8x - this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].x); - // @002FA97C VADDx.xy vf4, vf5, vf4x - this.ee.VF[4].x = (this.ee.VF[5].x + this.ee.VF[4].x); - this.ee.VF[4].y = (this.ee.VF[5].y + this.ee.VF[4].x); - // @002FA980 VMUL.x vf7, vf4, vf4 - this.ee.VF[7].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[4].x); - // @002FA984 VSUBx.w vf7, vf0, vf7x - this.ee.VF[7].w = (this.ee.VF[0].w - this.ee.VF[7].x); - // @002FA988 VSQRT Q, vf7w - this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[7].w)))); - // @002FA98C VWAITQ - MobUt.Latency(); - // @002FA990 BNE a3, zero, $002fa9a0 - if ((this.ee.a3.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3123616u; - } - // @002FA994 VADDq.x vf7, vf0, Q - this.ee.VF[7].x = (this.ee.VF[0].x + this.ee.Vq.f); - } - - public virtual void funct002fa998() - { - this.ee.pc = 3123616u; - // @002FA998 BEQ zero, zero, $002fa9a4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3123620u; - } - // @002FA99C VADDx.x vf4, vf5, vf7x - this.ee.VF[4].x = (this.ee.VF[5].x + this.ee.VF[7].x); - } - - public virtual void funct002fa9a0() - { - this.ee.pc = 3123628u; - // @002FA9A0 VSUBx.x vf4, vf5, vf7x - this.ee.VF[4].x = (this.ee.VF[5].x - this.ee.VF[7].x); - // @002FA9A4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @002FA9A8 NOP - MobUt.Latency(); - } - - public virtual void funct002fa9a4() - { - this.ee.pc = 3123628u; - // @002FA9A4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @002FA9A8 NOP - MobUt.Latency(); - } - - public virtual void funct002fa9b0() - { - this.ee.pc = 3123660u; - // @002FA9B0 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @002FA9B4 C.LT.S $f12, $f0 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); - // @002FA9B8 LUI at, $3fc9 - this.ee.at.SD0 = 1070137344; - // @002FA9BC ORI at, at, $0fdb - this.ee.at.UD0 = (this.ee.at.UD0 | 4059); - // @002FA9C0 MTC1 at, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.at.UL[0]); - // @002FA9C4 BC1F $002fa9d8 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 3123672u; - } - // @002FA9C8 NOP - MobUt.Latency(); - } - - public virtual void funct002fa9cc() - { - this.ee.pc = 3123672u; - // @002FA9CC ADD.S $f12, $f0, $f12 - this.ee.fpr[12].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); - // @002FA9D0 J $002fa9e0 - this.ee.pc = 3123680u; - // @002FA9D4 ADDIU a3, zero, $0001 - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 1))); - } - - public virtual void funct002fa9d8() - { - this.ee.pc = 3123700u; - // @002FA9D8 SUB.S $f12, $f0, $f12 - this.ee.fpr[12].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); - // @002FA9DC DADDU a3, zero, zero - this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @002FA9E0 MFC1 t0, $f12 - MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); - // @002FA9E4 QMTC2 t0, vf6 - MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); - // @002FA9E8 DADDU a2, ra, zero - this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); - // @002FA9EC JAL $002fa938 - this.ee.ra.UL0 = 3123700u; - this.ee.pc = 3123512u; - // @002FA9F0 NOP - MobUt.Latency(); - } - - public virtual void funct002fa9e0() - { - this.ee.pc = 3123700u; - // @002FA9E0 MFC1 t0, $f12 - MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); - // @002FA9E4 QMTC2 t0, vf6 - MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); - // @002FA9E8 DADDU a2, ra, zero - this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); - // @002FA9EC JAL $002fa938 - this.ee.ra.UL0 = 3123700u; - this.ee.pc = 3123512u; - // @002FA9F0 NOP - MobUt.Latency(); - } - - public virtual void funct002fa9f4() - { - this.ee.pc = 3123788u; - // @002FA9F4 DADDU ra, a2, zero - this.ee.ra.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @002FA9F8 VMOVE.xyzw vf6, vf5 - this.ee.VF[6].x = this.ee.VF[5].x; - this.ee.VF[6].y = this.ee.VF[5].y; - this.ee.VF[6].z = this.ee.VF[5].z; - this.ee.VF[6].w = this.ee.VF[5].w; - // @002FA9FC VMOVE.xyzw vf7, vf5 - this.ee.VF[7].x = this.ee.VF[5].x; - this.ee.VF[7].y = this.ee.VF[5].y; - this.ee.VF[7].z = this.ee.VF[5].z; - this.ee.VF[7].w = this.ee.VF[5].w; - // @002FAA00 VMOVE.xyzw vf9, vf0 - this.ee.VF[9].x = this.ee.VF[0].x; - this.ee.VF[9].y = this.ee.VF[0].y; - this.ee.VF[9].z = this.ee.VF[0].z; - this.ee.VF[9].w = this.ee.VF[0].w; - // @002FAA04 VSUB.xyz vf9, vf9, vf9 - this.ee.VF[9].x = (this.ee.VF[9].x - this.ee.VF[9].x); - this.ee.VF[9].y = (this.ee.VF[9].y - this.ee.VF[9].y); - this.ee.VF[9].z = (this.ee.VF[9].z - this.ee.VF[9].z); - // @002FAA08 VMR32.xyzw vf8, vf9 - this.ee.VF[8].x = this.ee.VF[9].y; - this.ee.VF[8].y = this.ee.VF[9].z; - this.ee.VF[8].z = this.ee.VF[9].w; - this.ee.VF[8].w = this.ee.VF[9].x; - // @002FAA0C VSUB.zw vf4, vf4, vf4 - this.ee.VF[4].z = (this.ee.VF[4].z - this.ee.VF[4].z); - this.ee.VF[4].w = (this.ee.VF[4].w - this.ee.VF[4].w); - // @002FAA10 VADDx.y vf6, vf5, vf4x - this.ee.VF[6].y = (this.ee.VF[5].y + this.ee.VF[4].x); - // @002FAA14 VADDy.x vf6, vf5, vf4y - this.ee.VF[6].x = (this.ee.VF[5].x + this.ee.VF[4].y); - // @002FAA18 VSUBx.x vf7, vf5, vf4x - this.ee.VF[7].x = (this.ee.VF[5].x - this.ee.VF[4].x); - // @002FAA1C VADDy.y vf7, vf5, vf4y - this.ee.VF[7].y = (this.ee.VF[5].y + this.ee.VF[4].y); - // @002FAA20 ADDIU a3, zero, $0004 - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 4))); - // @002FAA24 LQC2 vf4, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); - // @002FAA28 VMULAx.xyzw ACC, vf6, vf4x - // @002FAA2C VMADDAy.xyzw ACC, vf7, vf4y - // @002FAA30 VMADDAz.xyzw ACC, vf8, vf4z - // @002FAA34 VMADDw.xyzw vf5, vf9, vf4w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); - // @002FAA38 SQC2 vf5, $0000(a0) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); - // @002FAA3C ADDI a3, a3, $ffff - this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); - // @002FAA40 ADDI a1, a1, $0010 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @002FAA44 BNE zero, a3, $002faa24 - if ((this.ee.r0.UD0 != this.ee.a3.UD0)) - { - this.ee.pc = 3123748u; - } - // @002FAA48 ADDI a0, a0, $0010 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); - } - - public virtual void funct002faa24() - { - this.ee.pc = 3123788u; - // @002FAA24 LQC2 vf4, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); - // @002FAA28 VMULAx.xyzw ACC, vf6, vf4x - // @002FAA2C VMADDAy.xyzw ACC, vf7, vf4y - // @002FAA30 VMADDAz.xyzw ACC, vf8, vf4z - // @002FAA34 VMADDw.xyzw vf5, vf9, vf4w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); - // @002FAA38 SQC2 vf5, $0000(a0) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); - // @002FAA3C ADDI a3, a3, $ffff - this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); - // @002FAA40 ADDI a1, a1, $0010 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @002FAA44 BNE zero, a3, $002faa24 - if ((this.ee.r0.UD0 != this.ee.a3.UD0)) - { - this.ee.pc = 3123748u; - } - // @002FAA48 ADDI a0, a0, $0010 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); - } - - public virtual void funct002faa4c() - { - this.ee.pc = 3123796u; - // @002FAA4C JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @002FAA50 NOP - MobUt.Latency(); - } - - public virtual void funct002faa58() - { - this.ee.pc = 3123828u; - // @002FAA58 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @002FAA5C C.LT.S $f12, $f0 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); - // @002FAA60 LUI at, $3fc9 - this.ee.at.SD0 = 1070137344; - // @002FAA64 ORI at, at, $0fdb - this.ee.at.UD0 = (this.ee.at.UD0 | 4059); - // @002FAA68 MTC1 at, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.at.UL[0]); - // @002FAA6C BC1F $002faa80 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 3123840u; - } - // @002FAA70 NOP - MobUt.Latency(); - } - - public virtual void funct002faa74() - { - this.ee.pc = 3123840u; - // @002FAA74 ADD.S $f12, $f0, $f12 - this.ee.fpr[12].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); - // @002FAA78 J $002faa88 - this.ee.pc = 3123848u; - // @002FAA7C ADDIU a3, zero, $0001 - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 1))); - } - - public virtual void funct002faa80() - { - this.ee.pc = 3123868u; - // @002FAA80 SUB.S $f12, $f0, $f12 - this.ee.fpr[12].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); - // @002FAA84 DADDU a3, zero, zero - this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @002FAA88 MFC1 t0, $f12 - MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); - // @002FAA8C QMTC2 t0, vf6 - MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); - // @002FAA90 DADDU a2, ra, zero - this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); - // @002FAA94 JAL $002fa938 - this.ee.ra.UL0 = 3123868u; - this.ee.pc = 3123512u; - // @002FAA98 NOP - MobUt.Latency(); - } - - public virtual void funct002faa88() - { - this.ee.pc = 3123868u; - // @002FAA88 MFC1 t0, $f12 - MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); - // @002FAA8C QMTC2 t0, vf6 - MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); - // @002FAA90 DADDU a2, ra, zero - this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); - // @002FAA94 JAL $002fa938 - this.ee.ra.UL0 = 3123868u; - this.ee.pc = 3123512u; - // @002FAA98 NOP - MobUt.Latency(); - } - - public virtual void funct002faa9c() - { - this.ee.pc = 3123960u; - // @002FAA9C DADDU ra, a2, zero - this.ee.ra.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @002FAAA0 VMOVE.xyzw vf6, vf5 - this.ee.VF[6].x = this.ee.VF[5].x; - this.ee.VF[6].y = this.ee.VF[5].y; - this.ee.VF[6].z = this.ee.VF[5].z; - this.ee.VF[6].w = this.ee.VF[5].w; - // @002FAAA4 VMOVE.xyzw vf7, vf5 - this.ee.VF[7].x = this.ee.VF[5].x; - this.ee.VF[7].y = this.ee.VF[5].y; - this.ee.VF[7].z = this.ee.VF[5].z; - this.ee.VF[7].w = this.ee.VF[5].w; - // @002FAAA8 VMOVE.xyzw vf8, vf5 - this.ee.VF[8].x = this.ee.VF[5].x; - this.ee.VF[8].y = this.ee.VF[5].y; - this.ee.VF[8].z = this.ee.VF[5].z; - this.ee.VF[8].w = this.ee.VF[5].w; - // @002FAAAC VMOVE.xyzw vf9, vf5 - this.ee.VF[9].x = this.ee.VF[5].x; - this.ee.VF[9].y = this.ee.VF[5].y; - this.ee.VF[9].z = this.ee.VF[5].z; - this.ee.VF[9].w = this.ee.VF[5].w; - // @002FAAB0 VADDw.x vf6, vf5, vf0w - this.ee.VF[6].x = (this.ee.VF[5].x + this.ee.VF[0].w); - // @002FAAB4 VADDw.w vf9, vf5, vf0w - this.ee.VF[9].w = (this.ee.VF[5].w + this.ee.VF[0].w); - // @002FAAB8 VSUB.zw vf4, vf4, vf4 - this.ee.VF[4].z = (this.ee.VF[4].z - this.ee.VF[4].z); - this.ee.VF[4].w = (this.ee.VF[4].w - this.ee.VF[4].w); - // @002FAABC VADDx.z vf7, vf5, vf4x - this.ee.VF[7].z = (this.ee.VF[5].z + this.ee.VF[4].x); - // @002FAAC0 VADDy.y vf7, vf5, vf4y - this.ee.VF[7].y = (this.ee.VF[5].y + this.ee.VF[4].y); - // @002FAAC4 VSUBx.y vf8, vf5, vf4x - this.ee.VF[8].y = (this.ee.VF[5].y - this.ee.VF[4].x); - // @002FAAC8 VADDy.z vf8, vf5, vf4y - this.ee.VF[8].z = (this.ee.VF[5].z + this.ee.VF[4].y); - // @002FAACC ADDIU a3, zero, $0004 - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 4))); - // @002FAAD0 LQC2 vf4, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); - // @002FAAD4 VMULAx.xyzw ACC, vf6, vf4x - // @002FAAD8 VMADDAy.xyzw ACC, vf7, vf4y - // @002FAADC VMADDAz.xyzw ACC, vf8, vf4z - // @002FAAE0 VMADDw.xyzw vf5, vf9, vf4w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); - // @002FAAE4 SQC2 vf5, $0000(a0) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); - // @002FAAE8 ADDI a3, a3, $ffff - this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); - // @002FAAEC ADDI a1, a1, $0010 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @002FAAF0 BNE zero, a3, $002faad0 - if ((this.ee.r0.UD0 != this.ee.a3.UD0)) - { - this.ee.pc = 3123920u; - } - // @002FAAF4 ADDI a0, a0, $0010 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); - } - - public virtual void funct002faad0() - { - this.ee.pc = 3123960u; - // @002FAAD0 LQC2 vf4, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); - // @002FAAD4 VMULAx.xyzw ACC, vf6, vf4x - // @002FAAD8 VMADDAy.xyzw ACC, vf7, vf4y - // @002FAADC VMADDAz.xyzw ACC, vf8, vf4z - // @002FAAE0 VMADDw.xyzw vf5, vf9, vf4w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); - // @002FAAE4 SQC2 vf5, $0000(a0) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); - // @002FAAE8 ADDI a3, a3, $ffff - this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); - // @002FAAEC ADDI a1, a1, $0010 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @002FAAF0 BNE zero, a3, $002faad0 - if ((this.ee.r0.UD0 != this.ee.a3.UD0)) - { - this.ee.pc = 3123920u; - } - // @002FAAF4 ADDI a0, a0, $0010 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); - } - - public virtual void funct002faaf8() - { - this.ee.pc = 3123968u; - // @002FAAF8 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @002FAAFC NOP - MobUt.Latency(); - } - - public virtual void funct002fab00() - { - this.ee.pc = 3123996u; - // @002FAB00 MTC1 zero, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); - // @002FAB04 C.LT.S $f12, $f0 - this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); - // @002FAB08 LUI at, $3fc9 - this.ee.at.SD0 = 1070137344; - // @002FAB0C ORI at, at, $0fdb - this.ee.at.UD0 = (this.ee.at.UD0 | 4059); - // @002FAB10 MTC1 at, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.at.UL[0]); - // @002FAB14 BC1F $002fab28 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 3124008u; - } - // @002FAB18 NOP - MobUt.Latency(); - } - - public virtual void funct002fab1c() - { - this.ee.pc = 3124008u; - // @002FAB1C ADD.S $f12, $f0, $f12 - this.ee.fpr[12].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); - // @002FAB20 J $002fab30 - this.ee.pc = 3124016u; - // @002FAB24 ADDIU a3, zero, $0001 - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 1))); - } - - public virtual void funct002fab28() - { - this.ee.pc = 3124036u; - // @002FAB28 SUB.S $f12, $f0, $f12 - this.ee.fpr[12].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); - // @002FAB2C DADDU a3, zero, zero - this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @002FAB30 MFC1 t0, $f12 - MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); - // @002FAB34 QMTC2 t0, vf6 - MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); - // @002FAB38 DADDU a2, ra, zero - this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); - // @002FAB3C JAL $002fa938 - this.ee.ra.UL0 = 3124036u; - this.ee.pc = 3123512u; - // @002FAB40 NOP - MobUt.Latency(); - } - - public virtual void funct002fab30() - { - this.ee.pc = 3124036u; - // @002FAB30 MFC1 t0, $f12 - MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); - // @002FAB34 QMTC2 t0, vf6 - MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); - // @002FAB38 DADDU a2, ra, zero - this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); - // @002FAB3C JAL $002fa938 - this.ee.ra.UL0 = 3124036u; - this.ee.pc = 3123512u; - // @002FAB40 NOP - MobUt.Latency(); - } - - public virtual void funct002fab44() - { - this.ee.pc = 3124128u; - // @002FAB44 DADDU ra, a2, zero - this.ee.ra.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); - // @002FAB48 VMOVE.xyzw vf6, vf5 - this.ee.VF[6].x = this.ee.VF[5].x; - this.ee.VF[6].y = this.ee.VF[5].y; - this.ee.VF[6].z = this.ee.VF[5].z; - this.ee.VF[6].w = this.ee.VF[5].w; - // @002FAB4C VMOVE.xyzw vf7, vf5 - this.ee.VF[7].x = this.ee.VF[5].x; - this.ee.VF[7].y = this.ee.VF[5].y; - this.ee.VF[7].z = this.ee.VF[5].z; - this.ee.VF[7].w = this.ee.VF[5].w; - // @002FAB50 VMOVE.xyzw vf8, vf5 - this.ee.VF[8].x = this.ee.VF[5].x; - this.ee.VF[8].y = this.ee.VF[5].y; - this.ee.VF[8].z = this.ee.VF[5].z; - this.ee.VF[8].w = this.ee.VF[5].w; - // @002FAB54 VMOVE.xyzw vf9, vf5 - this.ee.VF[9].x = this.ee.VF[5].x; - this.ee.VF[9].y = this.ee.VF[5].y; - this.ee.VF[9].z = this.ee.VF[5].z; - this.ee.VF[9].w = this.ee.VF[5].w; - // @002FAB58 VADDw.y vf7, vf5, vf0w - this.ee.VF[7].y = (this.ee.VF[5].y + this.ee.VF[0].w); - // @002FAB5C VADDw.w vf9, vf5, vf0w - this.ee.VF[9].w = (this.ee.VF[5].w + this.ee.VF[0].w); - // @002FAB60 VSUB.zw vf4, vf4, vf4 - this.ee.VF[4].z = (this.ee.VF[4].z - this.ee.VF[4].z); - this.ee.VF[4].w = (this.ee.VF[4].w - this.ee.VF[4].w); - // @002FAB64 VSUBx.z vf6, vf5, vf4x - this.ee.VF[6].z = (this.ee.VF[5].z - this.ee.VF[4].x); - // @002FAB68 VADDy.x vf6, vf5, vf4y - this.ee.VF[6].x = (this.ee.VF[5].x + this.ee.VF[4].y); - // @002FAB6C VADDx.x vf8, vf5, vf4x - this.ee.VF[8].x = (this.ee.VF[5].x + this.ee.VF[4].x); - // @002FAB70 VADDy.z vf8, vf5, vf4y - this.ee.VF[8].z = (this.ee.VF[5].z + this.ee.VF[4].y); - // @002FAB74 ADDIU a3, zero, $0004 - this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 4))); - // @002FAB78 LQC2 vf4, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); - // @002FAB7C VMULAx.xyzw ACC, vf6, vf4x - // @002FAB80 VMADDAy.xyzw ACC, vf7, vf4y - // @002FAB84 VMADDAz.xyzw ACC, vf8, vf4z - // @002FAB88 VMADDw.xyzw vf5, vf9, vf4w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); - // @002FAB8C SQC2 vf5, $0000(a0) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); - // @002FAB90 ADDI a3, a3, $ffff - this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); - // @002FAB94 ADDI a1, a1, $0010 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @002FAB98 BNE zero, a3, $002fab78 - if ((this.ee.r0.UD0 != this.ee.a3.UD0)) - { - this.ee.pc = 3124088u; - } - // @002FAB9C ADDI a0, a0, $0010 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); - } - - public virtual void funct002fab78() - { - this.ee.pc = 3124128u; - // @002FAB78 LQC2 vf4, $0000(a1) - MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); - // @002FAB7C VMULAx.xyzw ACC, vf6, vf4x - // @002FAB80 VMADDAy.xyzw ACC, vf7, vf4y - // @002FAB84 VMADDAz.xyzw ACC, vf8, vf4z - // @002FAB88 VMADDw.xyzw vf5, vf9, vf4w - MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); - // @002FAB8C SQC2 vf5, $0000(a0) - MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); - // @002FAB90 ADDI a3, a3, $ffff - this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); - // @002FAB94 ADDI a1, a1, $0010 - this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); - // @002FAB98 BNE zero, a3, $002fab78 - if ((this.ee.r0.UD0 != this.ee.a3.UD0)) - { - this.ee.pc = 3124088u; - } - // @002FAB9C ADDI a0, a0, $0010 - this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); - } - - public virtual void funct002faba0() - { - this.ee.pc = 3124136u; - // @002FABA0 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @002FABA4 NOP - MobUt.Latency(); - } - - public virtual void funct002ff210() - { - this.ee.pc = 3142212u; - // @002FF210 ADDIU sp, sp, $ffe0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); - // @002FF214 SD s1, $0008(sp) - MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @002FF218 LUI t6, $7fff - this.ee.t6.SD0 = 2147418112; - // @002FF21C SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @002FF220 ORI t6, t6, $ffff - this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); - // @002FF224 MFC1 s1, $f12 - MobUt.MFC1(this.ee.s1, this.ee.fpr[12]); - // @002FF228 LUI t7, $507f - this.ee.t7.SD0 = 1350500352; - // @002FF22C ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @002FF230 SD ra, $0010(sp) - MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @002FF234 AND s0, s1, t6 - this.ee.s0.UD0 = (this.ee.s1.UD0 & this.ee.t6.UD0); - // @002FF238 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @002FF23C BEQ t7, zero, $002ff278 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142264u; - } - // @002FF240 MOV.S $f6, $f12 - this.ee.fpr[6].f = this.ee.fpr[12].f; - } - - public virtual void funct002ff260() - { - this.ee.pc = 3142264u; - // @002FF260 MOV.S $f0, $f4 - this.ee.fpr[0].f = this.ee.fpr[4].f; - // @002FF264 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @002FF268 LD s1, $0008(sp) - MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @002FF26C LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @002FF270 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @002FF274 ADDIU sp, sp, $0020 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); - } - - public virtual void funct002ff278() - { - this.ee.pc = 3142284u; - // @002FF278 LUI t7, $3edf - this.ee.t7.SD0 = 1054801920; - // @002FF27C ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @002FF280 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @002FF284 BNE t7, zero, $002ff400 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3142656u; - } - // @002FF288 LUI t7, $30ff - this.ee.t7.SD0 = 822018048; - } - - public virtual void funct002ff28c() - { - this.ee.pc = 3142300u; - // @002FF28C ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @002FF290 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @002FF294 BNE t7, zero, $002ff2c8 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3142344u; - } - // @002FF298 ADDIU t6, zero, $ffff - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + -1))); - } - - public virtual void funct002ff29c() - { - this.ee.pc = 3142340u; - // @002FF29C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2A0 ADDIU t7, t7, $4794 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18324))); - // @002FF2A4 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @002FF2A8 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2AC ADD.S $f0, $f12, $f0 - this.ee.fpr[0].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - // @002FF2B0 ADDIU t7, t7, $4798 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); - // @002FF2B4 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @002FF2B8 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @002FF2BC BC1T $002ff260 - if (this.ee.fcr31_23) - { - this.ee.pc = 3142240u; - } - // @002FF2C0 MOV.S $f4, $f12 - this.ee.fpr[4].f = this.ee.fpr[12].f; - } - - public virtual void funct002ff2c8() - { - this.ee.pc = 3142568u; - // @002FF2C8 MUL.S $f5, $f6, $f6 - this.ee.fpr[5].f = (this.ee.fpr[6].f * this.ee.fpr[6].f); - // @002FF2CC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2D0 ADDIU t7, t7, $47a8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18344))); - // @002FF2D4 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @002FF2D8 MUL.S $f4, $f5, $f5 - this.ee.fpr[4].f = (this.ee.fpr[5].f * this.ee.fpr[5].f); - // @002FF2DC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2E0 ADDIU t7, t7, $47ac - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18348))); - // @002FF2E4 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @002FF2E8 MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF2EC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2F0 ADDIU t7, t7, $47b0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18352))); - // @002FF2F4 MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF2F8 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF2FC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF300 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF304 ADDIU t7, t7, $47b4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18356))); - // @002FF308 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF30C MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF310 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF314 ADDIU t7, t7, $47b8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18360))); - // @002FF318 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF31C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF320 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF324 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF328 ADDIU t7, t7, $47bc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18364))); - // @002FF32C MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF330 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF334 MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF338 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF33C ADDIU t7, t7, $47c0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18368))); - // @002FF340 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF344 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF348 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF34C ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF350 ADDIU t7, t7, $47c4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18372))); - // @002FF354 MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF358 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF35C MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF360 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF364 ADDIU t7, t7, $47c8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18376))); - // @002FF368 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF36C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF370 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF374 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF378 ADDIU t7, t7, $47cc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18380))); - // @002FF37C MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF380 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF384 MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF388 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF38C ADDIU t7, t7, $47d0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18384))); - // @002FF390 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF394 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF398 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF39C MUL.S $f4, $f4, $f1 - this.ee.fpr[4].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF3A0 BGEZ t6, $002ff3b8 - if ((this.ee.t6.SD0 >= 0)) - { - this.ee.pc = 3142584u; - } - // @002FF3A4 MUL.S $f0, $f5, $f0 - this.ee.fpr[0].f = (this.ee.fpr[5].f * this.ee.fpr[0].f); - } - - public virtual void funct002ff2cc() - { - this.ee.pc = 3142568u; - // @002FF2CC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2D0 ADDIU t7, t7, $47a8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18344))); - // @002FF2D4 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @002FF2D8 MUL.S $f4, $f5, $f5 - this.ee.fpr[4].f = (this.ee.fpr[5].f * this.ee.fpr[5].f); - // @002FF2DC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2E0 ADDIU t7, t7, $47ac - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18348))); - // @002FF2E4 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @002FF2E8 MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF2EC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF2F0 ADDIU t7, t7, $47b0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18352))); - // @002FF2F4 MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF2F8 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF2FC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF300 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF304 ADDIU t7, t7, $47b4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18356))); - // @002FF308 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF30C MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF310 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF314 ADDIU t7, t7, $47b8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18360))); - // @002FF318 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF31C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF320 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF324 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF328 ADDIU t7, t7, $47bc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18364))); - // @002FF32C MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF330 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF334 MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF338 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF33C ADDIU t7, t7, $47c0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18368))); - // @002FF340 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF344 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF348 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF34C ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF350 ADDIU t7, t7, $47c4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18372))); - // @002FF354 MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF358 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF35C MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF360 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF364 ADDIU t7, t7, $47c8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18376))); - // @002FF368 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF36C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF370 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF374 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF378 ADDIU t7, t7, $47cc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18380))); - // @002FF37C MUL.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF380 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @002FF384 MUL.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); - // @002FF388 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF38C ADDIU t7, t7, $47d0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18384))); - // @002FF390 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @002FF394 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF398 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @002FF39C MUL.S $f4, $f4, $f1 - this.ee.fpr[4].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); - // @002FF3A0 BGEZ t6, $002ff3b8 - if ((this.ee.t6.SD0 >= 0)) - { - this.ee.pc = 3142584u; - } - // @002FF3A4 MUL.S $f0, $f5, $f0 - this.ee.fpr[0].f = (this.ee.fpr[5].f * this.ee.fpr[0].f); - } - - public virtual void funct002ff3a8() - { - this.ee.pc = 3142584u; - // @002FF3A8 ADD.S $f0, $f0, $f4 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); - // @002FF3AC MUL.S $f0, $f6, $f0 - this.ee.fpr[0].f = (this.ee.fpr[6].f * this.ee.fpr[0].f); - // @002FF3B0 BEQ zero, zero, $002ff260 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142240u; - } - // @002FF3B4 SUB.S $f4, $f6, $f0 - this.ee.fpr[4].f = (this.ee.fpr[6].f - this.ee.fpr[0].f); - } - - public virtual void funct002ff3b8() - { - this.ee.pc = 3142644u; - // @002FF3B8 ADD.S $f0, $f0, $f4 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); - // @002FF3BC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF3C0 SLL t6, t6, 2 - MobUt.SLL(this.ee.t6, this.ee.t6, 2); - // @002FF3C4 ADDIU t7, t7, $4748 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18248))); - // @002FF3C8 ADDU t7, t6, t7 - this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @002FF3CC LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF3D0 MUL.S $f0, $f6, $f0 - this.ee.fpr[0].f = (this.ee.fpr[6].f * this.ee.fpr[0].f); - // @002FF3D4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF3D8 ADDIU t7, t7, $4738 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18232))); - // @002FF3DC ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @002FF3E0 SUB.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); - // @002FF3E4 LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @002FF3E8 SUB.S $f0, $f0, $f6 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[6].f); - // @002FF3EC BGEZ s1, $002ff3f8 - if ((this.ee.s1.SD0 >= 0)) - { - this.ee.pc = 3142648u; - } - // @002FF3F0 SUB.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - } - - public virtual void funct002ff3f8() - { - this.ee.pc = 3142656u; - // @002FF3F8 BEQ zero, zero, $002ff260 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142240u; - } - // @002FF3FC MOV.S $f4, $f0 - this.ee.fpr[4].f = this.ee.fpr[0].f; - } - - public virtual void funct002ff400() - { - this.ee.pc = 3142664u; - // @002FF400 JAL $002ff660 - this.ee.ra.UL0 = 3142664u; - this.ee.pc = 3143264u; - // @002FF404 NOP - MobUt.Latency(); - } - - public virtual void funct002ff408() - { - this.ee.pc = 3142684u; - // @002FF408 LUI t7, $3f97 - this.ee.t7.SD0 = 1066860544; - // @002FF40C ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @002FF410 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @002FF414 BNE t7, zero, $002ff484 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3142788u; - } - // @002FF418 MOV.S $f6, $f0 - this.ee.fpr[6].f = this.ee.fpr[0].f; - } - - public virtual void funct002ff41c() - { - this.ee.pc = 3142704u; - // @002FF41C LUI t7, $3f2f - this.ee.t7.SD0 = 1060044800; - // @002FF420 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @002FF424 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @002FF428 BNE t7, zero, $002ff46c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3142764u; - } - // @002FF42C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct002ff430() - { - this.ee.pc = 3142764u; - // @002FF430 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF434 ADD.S $f0, $f0, $f0 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[0].f); - // @002FF438 ADDIU t7, t7, $479c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18332))); - // @002FF43C DADDU t6, zero, zero - this.ee.t6.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @002FF440 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @002FF444 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF448 ADD.S $f1, $f6, $f1 - this.ee.fpr[1].f = (this.ee.fpr[6].f + this.ee.fpr[1].f); - // @002FF44C ADDIU t7, t7, $4798 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); - // @002FF450 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF454 SUB.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); - // @002FF458 NOP - MobUt.Latency(); - // @002FF45C NOP - MobUt.Latency(); - // @002FF460 DIV.S $f6, $f0, $f1 - this.ee.fpr[6].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @002FF464 BEQ zero, zero, $002ff2cc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142348u; - } - // @002FF468 MUL.S $f5, $f6, $f6 - this.ee.fpr[5].f = (this.ee.fpr[6].f * this.ee.fpr[6].f); - } - - public virtual void funct002ff458() - { - this.ee.pc = 3142764u; - // @002FF458 NOP - MobUt.Latency(); - // @002FF45C NOP - MobUt.Latency(); - // @002FF460 DIV.S $f6, $f0, $f1 - this.ee.fpr[6].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @002FF464 BEQ zero, zero, $002ff2cc - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142348u; - } - // @002FF468 MUL.S $f5, $f6, $f6 - this.ee.fpr[5].f = (this.ee.fpr[6].f * this.ee.fpr[6].f); - } - - public virtual void funct002ff46c() - { - this.ee.pc = 3142788u; - // @002FF46C ADDIU t6, zero, $0001 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @002FF470 ADDIU t7, t7, $4798 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); - // @002FF474 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @002FF478 ADD.S $f1, $f6, $f0 - this.ee.fpr[1].f = (this.ee.fpr[6].f + this.ee.fpr[0].f); - // @002FF47C BEQ zero, zero, $002ff458 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142744u; - } - // @002FF480 SUB.S $f0, $f6, $f0 - this.ee.fpr[0].f = (this.ee.fpr[6].f - this.ee.fpr[0].f); - } - - public virtual void funct002ff484() - { - this.ee.pc = 3142808u; - // @002FF484 LUI t7, $401b - this.ee.t7.SD0 = 1075511296; - // @002FF488 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @002FF48C SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @002FF490 BNE t7, zero, $002ff4c4 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3142852u; - } - // @002FF494 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct002ff498() - { - this.ee.pc = 3142852u; - // @002FF498 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF49C ADDIU t6, zero, $0002 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 2))); - // @002FF4A0 ADDIU t7, t7, $47a0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18336))); - // @002FF4A4 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @002FF4A8 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @002FF4AC MUL.S $f1, $f6, $f0 - this.ee.fpr[1].f = (this.ee.fpr[6].f * this.ee.fpr[0].f); - // @002FF4B0 ADDIU t7, t7, $4798 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); - // @002FF4B4 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @002FF4B8 SUB.S $f0, $f6, $f0 - this.ee.fpr[0].f = (this.ee.fpr[6].f - this.ee.fpr[0].f); - // @002FF4BC BEQ zero, zero, $002ff458 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142744u; - } - // @002FF4C0 ADD.S $f1, $f1, $f2 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[2].f); - } - - public virtual void funct002ff4c4() - { - this.ee.pc = 3142880u; - // @002FF4C4 ADDIU t7, t7, $47a4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18340))); - // @002FF4C8 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @002FF4CC NOP - MobUt.Latency(); - // @002FF4D0 NOP - MobUt.Latency(); - // @002FF4D4 DIV.S $f6, $f0, $f6 - this.ee.fpr[6].f = (this.ee.fpr[0].f / this.ee.fpr[6].f); - // @002FF4D8 BEQ zero, zero, $002ff2c8 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3142344u; - } - // @002FF4DC ADDIU t6, zero, $0003 - this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 3))); - } - - public virtual void funct002ff660() - { - this.ee.pc = 3143288u; - // @002FF660 MFC1 t6, $f12 - MobUt.MFC1(this.ee.t6, this.ee.fpr[12]); - // @002FF664 LUI t7, $7fff - this.ee.t7.SD0 = 2147418112; - // @002FF668 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @002FF66C AND t6, t6, t7 - this.ee.t6.UD0 = (this.ee.t6.UD0 & this.ee.t7.UD0); - // @002FF670 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @002FF674 MTC1 t6, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); - } - - public virtual void funct002ff8a8() - { - this.ee.pc = 3143868u; - // @002FF8A8 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @002FF8AC SD ra, $0000(sp) - MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @002FF8B0 LD ra, $0000(sp) - MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @002FF8B4 J $00300058 - this.ee.pc = 3145816u; - // @002FF8B8 ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct002ff8c0() - { - this.ee.pc = 3143892u; - // @002FF8C0 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @002FF8C4 SD ra, $0000(sp) - MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @002FF8C8 LD ra, $0000(sp) - MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @002FF8CC J $003003f0 - this.ee.pc = 3146736u; - // @002FF8D0 ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct002ff8d8() - { - this.ee.pc = 3143916u; - // @002FF8D8 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @002FF8DC SD ra, $0000(sp) - MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @002FF8E0 LD ra, $0000(sp) - MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); - // @002FF8E4 J $003005b8 - this.ee.pc = 3147192u; - // @002FF8E8 ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00300058() - { - this.ee.pc = 3145872u; - // @00300058 ADDIU sp, sp, $ffd0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -48))); - // @0030005C LUI t7, $7fff - this.ee.t7.SD0 = 2147418112; - // @00300060 SD s1, $0008(sp) - MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @00300064 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @00300068 SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @0030006C LUI t6, $3f80 - this.ee.t6.SD0 = 1065353216; - // @00300070 MFC1 s1, $f12 - MobUt.MFC1(this.ee.s1, this.ee.fpr[12]); - // @00300074 SD ra, $0010(sp) - MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @00300078 SWC1 $f22, $0020(sp) - MobUt.SWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); - // @0030007C AND s0, s1, t7 - this.ee.s0.UD0 = (this.ee.s1.UD0 & this.ee.t7.UD0); - // @00300080 SWC1 $f21, $001c(sp) - MobUt.SWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); - // @00300084 SWC1 $f20, $0018(sp) - MobUt.SWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); - // @00300088 BNE s0, t6, $003000d4 - if ((this.ee.s0.UD0 != this.ee.t6.UD0)) - { - this.ee.pc = 3145940u; - } - // @0030008C SLT t7, t6, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.s0.SD0)); - } - - public virtual void funct00300090() - { - this.ee.pc = 3145940u; - // @00300090 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300094 ADDIU t7, t7, $48b8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18616))); - // @00300098 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0030009C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003000A0 MULA.S $f12, $f0 - this.ee.fpracc.f = (this.ee.fpr[12].f * this.ee.fpr[0].f); - // @003000A4 ADDIU t7, t7, $48bc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18620))); - // @003000A8 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003000AC MADD.S $f4, $f12, $f1 - this.ee.fpr[4].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[12].f, this.ee.fpr[1].f); - // @003000B0 MOV.S $f0, $f4 - this.ee.fpr[0].f = this.ee.fpr[4].f; - // @003000B4 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @003000B8 LD s1, $0008(sp) - MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @003000BC LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @003000C0 LWC1 $f22, $0020(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); - // @003000C4 LWC1 $f21, $001c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); - // @003000C8 LWC1 $f20, $0018(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); - // @003000CC JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @003000D0 ADDIU sp, sp, $0030 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 48))); - } - - public virtual void funct003000b0() - { - this.ee.pc = 3145940u; - // @003000B0 MOV.S $f0, $f4 - this.ee.fpr[0].f = this.ee.fpr[4].f; - // @003000B4 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @003000B8 LD s1, $0008(sp) - MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @003000BC LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @003000C0 LWC1 $f22, $0020(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); - // @003000C4 LWC1 $f21, $001c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); - // @003000C8 LWC1 $f20, $0018(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); - // @003000CC JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @003000D0 ADDIU sp, sp, $0030 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 48))); - } - - public virtual void funct003000b4() - { - this.ee.pc = 3145940u; - // @003000B4 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @003000B8 LD s1, $0008(sp) - MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); - // @003000BC LD ra, $0010(sp) - MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); - // @003000C0 LWC1 $f22, $0020(sp) - MobUt.LWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); - // @003000C4 LWC1 $f21, $001c(sp) - MobUt.LWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); - // @003000C8 LWC1 $f20, $0018(sp) - MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); - // @003000CC JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @003000D0 ADDIU sp, sp, $0030 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 48))); - } - - public virtual void funct003000d4() - { - this.ee.pc = 3145948u; - // @003000D4 BEQ t7, zero, $003000f4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3145972u; - } - // @003000D8 LUI t7, $3eff - this.ee.t7.SD0 = 1056899072; - } - - public virtual void funct003000dc() - { - this.ee.pc = 3145972u; - // @003000DC SUB.S $f0, $f12, $f12 - this.ee.fpr[0].f = (this.ee.fpr[12].f - this.ee.fpr[12].f); - // @003000E0 NOP - MobUt.Latency(); - // @003000E4 NOP - MobUt.Latency(); - // @003000E8 DIV.S $f4, $f0, $f0 - this.ee.fpr[4].f = (this.ee.fpr[0].f / this.ee.fpr[0].f); - // @003000EC BEQ zero, zero, $003000b4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3145908u; - } - // @003000F0 MOV.S $f0, $f4 - this.ee.fpr[0].f = this.ee.fpr[4].f; - } - - public virtual void funct003000f4() - { - this.ee.pc = 3145988u; - // @003000F4 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @003000F8 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @003000FC BNE t7, zero, $0030013c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3146044u; - } - // @00300100 LUI t7, $31ff - this.ee.t7.SD0 = 838795264; - } - - public virtual void funct00300104() - { - this.ee.pc = 3146004u; - // @00300104 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @00300108 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @0030010C BNE t7, zero, $00300308 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3146504u; - } - // @00300110 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct00300114() - { - this.ee.pc = 3146044u; - // @00300114 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300118 ADDIU t7, t7, $48c0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18624))); - // @0030011C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00300120 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300124 ADD.S $f0, $f12, $f0 - this.ee.fpr[0].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - // @00300128 ADDIU t7, t7, $48c4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18628))); - // @0030012C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300130 C.LT.S $f1, $f0 - this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); - // @00300134 BC1T $003000b0 - if (this.ee.fcr31_23) - { - this.ee.pc = 3145904u; - } - // @00300138 MOV.S $f4, $f12 - this.ee.fpr[4].f = this.ee.fpr[12].f; - } - - public virtual void funct0030013c() - { - this.ee.pc = 3146052u; - // @0030013C JAL $002ff660 - this.ee.ra.UL0 = 3146052u; - this.ee.pc = 3143264u; - // @00300140 NOP - MobUt.Latency(); - } - - public virtual void funct00300144() - { - this.ee.pc = 3146288u; - // @00300144 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300148 ADDIU t7, t7, $48c4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18628))); - // @0030014C LWC1 $f4, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[4], (0u + this.ee.t7.UL0)); - // @00300150 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300154 SUB.S $f0, $f4, $f0 - this.ee.fpr[0].f = (this.ee.fpr[4].f - this.ee.fpr[0].f); - // @00300158 ADDIU t7, t7, $48f0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18672))); - // @0030015C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300160 MUL.S $f20, $f0, $f1 - this.ee.fpr[20].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); - // @00300164 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300168 ADDIU t7, t7, $48c8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18632))); - // @0030016C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00300170 MOV.S $f12, $f20 - this.ee.fpr[12].f = this.ee.fpr[20].f; - // @00300174 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300178 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @0030017C ADDIU t7, t7, $48cc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18636))); - // @00300180 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300184 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300188 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @0030018C ADDIU t7, t7, $48d0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18640))); - // @00300190 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00300194 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300198 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @0030019C ADDIU t7, t7, $48d4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18644))); - // @003001A0 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @003001A4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003001A8 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @003001AC ADDIU t7, t7, $48d8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18648))); - // @003001B0 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @003001B4 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @003001B8 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @003001BC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003001C0 ADDIU t7, t7, $48dc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18652))); - // @003001C4 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @003001C8 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @003001CC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003001D0 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @003001D4 ADDIU t7, t7, $48e0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18656))); - // @003001D8 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @003001DC LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @003001E0 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @003001E4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003001E8 ADDIU t7, t7, $48e4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18660))); - // @003001EC ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @003001F0 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @003001F4 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @003001F8 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003001FC MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @00300200 ADDIU t7, t7, $48e8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18664))); - // @00300204 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00300208 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @0030020C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300210 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @00300214 ADDIU t7, t7, $48ec - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18668))); - // @00300218 ADD.S $f22, $f1, $f4 - this.ee.fpr[22].f = (this.ee.fpr[1].f + this.ee.fpr[4].f); - // @0030021C MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @00300220 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300224 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @00300228 JAL $00301800 - this.ee.ra.UL0 = 3146288u; - this.ee.pc = 3151872u; - // @0030022C MUL.S $f21, $f20, $f0 - this.ee.fpr[21].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - } - - public virtual void funct00300230() - { - this.ee.pc = 3146308u; - // @00300230 LUI t7, $3f79 - this.ee.t7.SD0 = 1064894464; - // @00300234 ORI t7, t7, $9999 - this.ee.t7.UD0 = (this.ee.t7.UD0 | 39321); - // @00300238 SLT t7, t7, s0 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); - // @0030023C BEQ t7, zero, $00300290 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3146384u; - } - // @00300240 MFC1 t5, $f0 - MobUt.MFC1(this.ee.t5, this.ee.fpr[0]); - } - - public virtual void funct00300244() - { - this.ee.pc = 3146376u; - // @00300244 NOP - MobUt.Latency(); - // @00300248 NOP - MobUt.Latency(); - // @0030024C DIV.S $f21, $f21, $f22 - this.ee.fpr[21].f = (this.ee.fpr[21].f / this.ee.fpr[22].f); - // @00300250 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300254 MTC1 t5, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.t5.UL[0]); - // @00300258 ADDIU t7, t7, $48bc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18620))); - // @0030025C MUL.S $f0, $f0, $f21 - this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[21].f); - // @00300260 ADD.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); - // @00300264 ADD.S $f0, $f0, $f0 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[0].f); - // @00300268 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @0030026C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300270 SUB.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - // @00300274 ADDIU t7, t7, $48b8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18616))); - // @00300278 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @0030027C SUB.S $f20, $f2, $f0 - this.ee.fpr[20].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); - // @00300280 BGTZ s1, $003000b0 - if ((this.ee.s1.SD0 > 0)) - { - this.ee.pc = 3145904u; - } - // @00300284 MOV.S $f4, $f20 - this.ee.fpr[4].f = this.ee.fpr[20].f; - } - - public virtual void funct00300280() - { - this.ee.pc = 3146376u; - // @00300280 BGTZ s1, $003000b0 - if ((this.ee.s1.SD0 > 0)) - { - this.ee.pc = 3145904u; - } - // @00300284 MOV.S $f4, $f20 - this.ee.fpr[4].f = this.ee.fpr[20].f; - } - - public virtual void funct00300288() - { - this.ee.pc = 3146384u; - // @00300288 BEQ zero, zero, $003000b0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3145904u; - } - // @0030028C NEG.S $f4, $f20 - this.ee.fpr[4].f = (0 - this.ee.fpr[20].f); - } - - public virtual void funct00300290() - { - this.ee.pc = 3146504u; - // @00300290 ADDIU t7, zero, $f000 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -4096))); - // @00300294 MTC1 t5, $f2 - this.ee.fpr[2].f = MobUt.UL2F(this.ee.t5.UL[0]); - // @00300298 AND t6, t5, t7 - this.ee.t6.UD0 = (this.ee.t5.UD0 & this.ee.t7.UD0); - // @0030029C NOP - MobUt.Latency(); - // @003002A0 NOP - MobUt.Latency(); - // @003002A4 DIV.S $f4, $f21, $f22 - this.ee.fpr[4].f = (this.ee.fpr[21].f / this.ee.fpr[22].f); - // @003002A8 MTC1 t6, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); - // @003002AC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003002B0 MTC1 t6, $f6 - this.ee.fpr[6].f = MobUt.UL2F(this.ee.t6.UL[0]); - // @003002B4 ADDIU t7, t7, $48f4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18676))); - // @003002B8 MUL.S $f1, $f0, $f0 - this.ee.fpr[1].f = (this.ee.fpr[0].f * this.ee.fpr[0].f); - // @003002BC ADD.S $f3, $f2, $f0 - this.ee.fpr[3].f = (this.ee.fpr[2].f + this.ee.fpr[0].f); - // @003002C0 LWC1 $f5, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[5], (0u + this.ee.t7.UL0)); - // @003002C4 SUB.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f - this.ee.fpr[1].f); - // @003002C8 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003002CC ADD.S $f0, $f6, $f6 - this.ee.fpr[0].f = (this.ee.fpr[6].f + this.ee.fpr[6].f); - // @003002D0 ADDIU t7, t7, $48bc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18620))); - // @003002D4 ADD.S $f2, $f2, $f2 - this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[2].f); - // @003002D8 NOP - MobUt.Latency(); - // @003002DC NOP - MobUt.Latency(); - // @003002E0 DIV.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[3].f); - // @003002E4 SUB.S $f22, $f5, $f0 - this.ee.fpr[22].f = (this.ee.fpr[5].f - this.ee.fpr[0].f); - // @003002E8 MUL.S $f2, $f2, $f4 - this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[4].f); - // @003002EC LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @003002F0 ADD.S $f1, $f1, $f1 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[1].f); - // @003002F4 SUB.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - // @003002F8 SUB.S $f21, $f2, $f0 - this.ee.fpr[21].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); - // @003002FC SUB.S $f1, $f21, $f22 - this.ee.fpr[1].f = (this.ee.fpr[21].f - this.ee.fpr[22].f); - // @00300300 BEQ zero, zero, $00300280 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3146368u; - } - // @00300304 SUB.S $f20, $f5, $f1 - this.ee.fpr[20].f = (this.ee.fpr[5].f - this.ee.fpr[1].f); - } - - public virtual void funct00300308() - { - this.ee.pc = 3146736u; - // @00300308 MUL.S $f20, $f12, $f12 - this.ee.fpr[20].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); - // @0030030C ADDIU t7, t7, $48c8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18632))); - // @00300310 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00300314 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300318 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @0030031C ADDIU t7, t7, $48cc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18636))); - // @00300320 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300324 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300328 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @0030032C ADDIU t7, t7, $48d0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18640))); - // @00300330 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00300334 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300338 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @0030033C ADDIU t7, t7, $48d4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18644))); - // @00300340 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @00300344 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300348 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @0030034C ADDIU t7, t7, $48d8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18648))); - // @00300350 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @00300354 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00300358 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @0030035C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300360 ADDIU t7, t7, $48dc - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18652))); - // @00300364 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @00300368 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @0030036C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300370 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @00300374 ADDIU t7, t7, $48e0 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18656))); - // @00300378 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @0030037C LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @00300380 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @00300384 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300388 ADDIU t7, t7, $48e4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18660))); - // @0030038C ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @00300390 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @00300394 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300398 ADD.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @0030039C ADDIU t7, t7, $48e8 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18664))); - // @003003A0 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @003003A4 LWC1 $f2, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); - // @003003A8 MUL.S $f1, $f20, $f1 - this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); - // @003003AC LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003003B0 ADDIU t7, t7, $48c4 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18628))); - // @003003B4 ADD.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); - // @003003B8 LWC1 $f3, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); - // @003003BC ADD.S $f22, $f1, $f3 - this.ee.fpr[22].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); - // @003003C0 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003003C4 MUL.S $f0, $f20, $f0 - this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @003003C8 ADDIU t7, t7, $48ec - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18668))); - // @003003CC LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003003D0 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003003D4 MUL.S $f21, $f20, $f0 - this.ee.fpr[21].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); - // @003003D8 NOP - MobUt.Latency(); - // @003003DC NOP - MobUt.Latency(); - // @003003E0 DIV.S $f21, $f21, $f22 - this.ee.fpr[21].f = (this.ee.fpr[21].f / this.ee.fpr[22].f); - // @003003E4 MUL.S $f0, $f12, $f21 - this.ee.fpr[0].f = (this.ee.fpr[12].f * this.ee.fpr[21].f); - // @003003E8 BEQ zero, zero, $003000b0 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3145904u; - } - // @003003EC ADD.S $f4, $f12, $f0 - this.ee.fpr[4].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); - } - - public virtual void funct003003f0() - { - this.ee.pc = 3146784u; - // @003003F0 MOV.S $f0, $f12 - this.ee.fpr[0].f = this.ee.fpr[12].f; - // @003003F4 ADDIU sp, sp, $fff0 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); - // @003003F8 LUI t6, $7fff - this.ee.t6.SD0 = 2147418112; - // @003003FC MFC1 t4, $f13 - MobUt.MFC1(this.ee.t4, this.ee.fpr[13]); - // @00300400 MFC1 t3, $f12 - MobUt.MFC1(this.ee.t3, this.ee.fpr[12]); - // @00300404 ORI t6, t6, $ffff - this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); - // @00300408 SD s0, $0000(sp) - MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @0030040C AND t1, t4, t6 - this.ee.t1.UD0 = (this.ee.t4.UD0 & this.ee.t6.UD0); - // @00300410 SD ra, $0008(sp) - MobUt.SD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @00300414 LUI t7, $3f80 - this.ee.t7.SD0 = 1065353216; - // @00300418 BNE t4, t7, $00300430 - if ((this.ee.t4.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 3146800u; - } - // @0030041C AND t2, t3, t6 - this.ee.t2.UD0 = (this.ee.t3.UD0 & this.ee.t6.UD0); - } - - public virtual void funct00300420() - { - this.ee.pc = 3146800u; - // @00300420 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @00300424 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @00300428 J $002ff210 - this.ee.pc = 3142160u; - // @0030042C ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00300430() - { - this.ee.pc = 3146832u; - // @00300430 SRA t7, t4, 30 - MobUt.SRA(this.ee.t7, this.ee.t4, 30); - // @00300434 LUI t6, $007f - this.ee.t6.SD0 = 8323072; - // @00300438 ANDI t7, t7, $0002 - this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 2))); - // @0030043C SRL t5, t3, 31 - MobUt.SRL(this.ee.t5, this.ee.t3, 31); - // @00300440 ORI t6, t6, $ffff - this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); - // @00300444 SLT t6, t6, t2 - this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.t2.SD0)); - // @00300448 BNE t6, zero, $00300490 - if ((this.ee.t6.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3146896u; - } - // @0030044C OR s0, t5, t7 - this.ee.s0.UD0 = (this.ee.t5.UD0 | this.ee.t7.UD0); - } - - public virtual void funct00300450() - { - this.ee.pc = 3146848u; - // @00300450 LUI t6, $4049 - this.ee.t6.SD0 = 1078525952; - // @00300454 ADDIU t7, zero, $0002 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); - // @00300458 BEQ s0, t7, $0030047c - if ((this.ee.s0.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 3146876u; - } - // @0030045C ORI t6, t6, $0fda - this.ee.t6.UD0 = (this.ee.t6.UD0 | 4058); - } - - public virtual void funct00300460() - { - this.ee.pc = 3146860u; - // @00300460 SLTI t7, s0, $0003 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); - // @00300464 BEQL t7, zero, $003005a4 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147172u; - // @00300468 LUI t6, $c049 - this.ee.t6.SD0 = -1068957696; - } - } - - public virtual void funct0030046c() - { - this.ee.pc = 3146868u; - // @0030046C BLTZ s0, $00300494 - if ((this.ee.s0.SD0 < 0)) - { - this.ee.pc = 3146900u; - } - // @00300470 LUI t7, $007f - this.ee.t7.SD0 = 8323072; - } - - public virtual void funct00300474() - { - this.ee.pc = 3146896u; - // @00300474 NOP - MobUt.Latency(); - // @00300478 MFC1 t6, $f0 - MobUt.MFC1(this.ee.t6, this.ee.fpr[0]); - // @0030047C MTC1 t6, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); - // @00300480 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @00300484 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @00300488 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0030048C ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00300478() - { - this.ee.pc = 3146896u; - // @00300478 MFC1 t6, $f0 - MobUt.MFC1(this.ee.t6, this.ee.fpr[0]); - // @0030047C MTC1 t6, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); - // @00300480 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @00300484 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @00300488 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0030048C ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct0030047c() - { - this.ee.pc = 3146896u; - // @0030047C MTC1 t6, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); - // @00300480 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @00300484 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @00300488 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0030048C ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00300480() - { - this.ee.pc = 3146896u; - // @00300480 LD s0, $0000(sp) - MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); - // @00300484 LD ra, $0008(sp) - MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); - // @00300488 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0030048C ADDIU sp, sp, $0010 - this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); - } - - public virtual void funct00300490() - { - this.ee.pc = 3146916u; - // @00300490 LUI t7, $007f - this.ee.t7.SD0 = 8323072; - // @00300494 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @00300498 SLT t7, t7, t1 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t1.SD0)); - // @0030049C BNE t7, zero, $003004dc - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3146972u; - } - // @003004A0 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct003004a4() - { - this.ee.pc = 3146940u; - // @003004A4 LUI t7, $bfc9 - this.ee.t7.SD0 = -1077346304; - // @003004A8 ORI t7, t7, $0fda - this.ee.t7.UD0 = (this.ee.t7.UD0 | 4058); - // @003004AC CTC2 t7, $vi22 - // @003004B0 VNOP - MobUt.Latency(); - // @003004B4 BLTZ t3, $003004c8 - if ((this.ee.t3.SD0 < 0)) - { - this.ee.pc = 3146952u; - } - // @003004B8 LUI t7, $3fc9 - this.ee.t7.SD0 = 1070137344; - } - - public virtual void funct003004c8() - { - this.ee.pc = 3146972u; - // @003004C8 VWAITQ - MobUt.Latency(); - // @003004CC CFC2 t6, $vi22 - MobUt.CFC2(this.ee.t6, this.ee.VI[22]); - // @003004D0 VNOP - MobUt.Latency(); - // @003004D4 BEQ zero, zero, $00300480 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3146880u; - } - // @003004D8 MTC1 t6, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); - } - - public virtual void funct003004dc() - { - this.ee.pc = 3147000u; - // @003004DC SUBU t6, t2, t1 - this.ee.t6.SD0 = ((int)((this.ee.t2.UD0 - this.ee.t1.UD0))); - // @003004E0 ADDIU t7, t7, $4910 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18704))); - // @003004E4 SRA t6, t6, 23 - MobUt.SRA(this.ee.t6, this.ee.t6, 23); - // @003004E8 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003004EC SLTI t7, t6, $003d - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < 61)); - // @003004F0 BEQ t7, zero, $0030052c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147052u; - } - // @003004F4 ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - } - - public virtual void funct003004f8() - { - this.ee.pc = 3147008u; - // @003004F8 BGEZ t4, $00300508 - if ((this.ee.t4.SD0 >= 0)) - { - this.ee.pc = 3147016u; - } - // @003004FC SLTI t7, t6, $ffc4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < -60)); - } - - public virtual void funct00300500() - { - this.ee.pc = 3147016u; - // @00300500 BNE t7, zero, $00300528 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147048u; - } - // @00300504 MTC1 zero, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.r0.UL[0]); - } - - public virtual void funct00300508() - { - this.ee.pc = 3147036u; - // @00300508 NOP - MobUt.Latency(); - // @0030050C NOP - MobUt.Latency(); - // @00300510 DIV.S $f12, $f0, $f13 - this.ee.fpr[12].f = (this.ee.fpr[0].f / this.ee.fpr[13].f); - // @00300514 JAL $002ff660 - this.ee.ra.UL0 = 3147036u; - this.ee.pc = 3143264u; - // @00300518 NOP - MobUt.Latency(); - } - - public virtual void funct0030051c() - { - this.ee.pc = 3147044u; - // @0030051C JAL $002ff210 - this.ee.ra.UL0 = 3147044u; - this.ee.pc = 3142160u; - // @00300520 MOV.S $f12, $f0 - this.ee.fpr[12].f = this.ee.fpr[0].f; - } - - public virtual void funct00300524() - { - this.ee.pc = 3147060u; - // @00300524 MOV.S $f1, $f0 - this.ee.fpr[1].f = this.ee.fpr[0].f; - // @00300528 ADDIU t7, zero, $0001 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); - // @0030052C BEQ s0, t7, $00300594 - if ((this.ee.s0.UD0 == this.ee.t7.UD0)) - { - this.ee.pc = 3147156u; - } - // @00300530 SLTI t7, s0, $0002 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 2)); - } - - public virtual void funct00300534() - { - this.ee.pc = 3147068u; - // @00300534 BEQ t7, zero, $00300568 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147112u; - } - // @00300538 ADDIU t7, zero, $0002 - this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); - } - - public virtual void funct0030053c() - { - this.ee.pc = 3147076u; - // @0030053C BEQ s0, zero, $0030047c - if ((this.ee.s0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3146876u; - } - // @00300540 MFC1 t6, $f1 - MobUt.MFC1(this.ee.t6, this.ee.fpr[1]); - } - - public virtual void funct00300548() - { - this.ee.pc = 3147112u; - // @00300548 ADDIU t7, t7, $4914 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18708))); - // @0030054C LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00300550 SUB.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - // @00300554 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300558 ADDIU t7, t7, $4918 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18712))); - // @0030055C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300560 BEQ zero, zero, $00300478 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3146872u; - } - // @00300564 SUB.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - } - - public virtual void funct00300568() - { - this.ee.pc = 3147120u; - // @00300568 BNE s0, t7, $00300548 - if ((this.ee.s0.UD0 != this.ee.t7.UD0)) - { - this.ee.pc = 3147080u; - } - // @0030056C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct00300570() - { - this.ee.pc = 3147156u; - // @00300570 ADDIU t7, t7, $4914 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18708))); - // @00300574 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00300578 SUB.S $f0, $f1, $f0 - this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - // @0030057C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300580 ADDIU t7, t7, $4918 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18712))); - // @00300584 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300588 SUB.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - // @0030058C BEQ zero, zero, $0030047c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3146876u; - } - // @00300590 MFC1 t6, $f1 - MobUt.MFC1(this.ee.t6, this.ee.fpr[1]); - } - - public virtual void funct00300594() - { - this.ee.pc = 3147172u; - // @00300594 MFC1 t6, $f1 - MobUt.MFC1(this.ee.t6, this.ee.fpr[1]); - // @00300598 LUI t7, $8000 - this.ee.t7.SD0 = -2147483648; - // @0030059C BEQ zero, zero, $0030047c - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3146876u; - } - // @003005A0 XOR t6, t6, t7 - MobUt.XOR(this.ee.t6, this.ee.t6, this.ee.t7); - } - - public virtual void funct003005b8() - { - this.ee.pc = 3147228u; - // @003005B8 MFC1 t4, $f12 - MobUt.MFC1(this.ee.t4, this.ee.fpr[12]); - // @003005BC LUI t6, $7fff - this.ee.t6.SD0 = 2147418112; - // @003005C0 LUI t7, $42b2 - this.ee.t7.SD0 = 1118961664; - // @003005C4 ORI t6, t6, $ffff - this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); - // @003005C8 ORI t7, t7, $d4fc - this.ee.t7.UD0 = (this.ee.t7.UD0 | 54524); - // @003005CC AND t3, t4, t6 - this.ee.t3.UD0 = (this.ee.t4.UD0 & this.ee.t6.UD0); - // @003005D0 SLT t7, t7, t4 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t4.SD0)); - // @003005D4 BEQ t7, zero, $003005ec - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147244u; - } - // @003005D8 SRL t2, t4, 31 - MobUt.SRL(this.ee.t2, this.ee.t4, 31); - } - - public virtual void funct003005e4() - { - this.ee.pc = 3147244u; - // @003005E4 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @003005E8 MTC1 t5, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t5.UL[0]); - } - - public virtual void funct003005ec() - { - this.ee.pc = 3147252u; - // @003005EC BGEZ t4, $0030060c - if ((this.ee.t4.SD0 >= 0)) - { - this.ee.pc = 3147276u; - } - // @003005F0 LUI t7, $3eb1 - this.ee.t7.SD0 = 1051787264; - } - - public virtual void funct003005f4() - { - this.ee.pc = 3147272u; - // @003005F4 LUI t7, $42ae - this.ee.t7.SD0 = 1118699520; - // @003005F8 ORI t7, t7, $ac50 - this.ee.t7.UD0 = (this.ee.t7.UD0 | 44112); - // @003005FC SLTU t7, t7, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); - // @00300600 BNE t7, zero, $003005e4 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147236u; - } - // @00300604 DADDU t5, zero, zero - this.ee.t5.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - - public virtual void funct00300608() - { - this.ee.pc = 3147292u; - // @00300608 LUI t7, $3eb1 - this.ee.t7.SD0 = 1051787264; - // @0030060C ORI t7, t7, $7218 - this.ee.t7.UD0 = (this.ee.t7.UD0 | 29208); - // @00300610 SLTU t7, t7, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); - // @00300614 BEQ t7, zero, $003007e0 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147744u; - } - // @00300618 LUI t7, $3f85 - this.ee.t7.SD0 = 1065680896; - } - - public virtual void funct0030061c() - { - this.ee.pc = 3147308u; - // @0030061C ORI t7, t7, $1591 - this.ee.t7.UD0 = (this.ee.t7.UD0 | 5521); - // @00300620 SLTU t7, t7, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); - // @00300624 BNE t7, zero, $00300784 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147652u; - } - // @00300628 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - } - - public virtual void funct0030062c() - { - this.ee.pc = 3147472u; - // @0030062C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300630 SLL t5, t2, 2 - MobUt.SLL(this.ee.t5, this.ee.t2, 2); - // @00300634 ADDIU t7, t7, $4938 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18744))); - // @00300638 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @0030063C ADDU t7, t5, t7 - this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); - // @00300640 ADDIU t6, t6, $4940 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18752))); - // @00300644 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @00300648 ADDU t5, t5, t6 - this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); - // @0030064C LWC1 $f4, $0000(t5) - MobUt.LWC1(this.ee, this.ee.fpr[4], (0u + this.ee.t5.UL0)); - // @00300650 SUB.S $f3, $f12, $f0 - this.ee.fpr[3].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - // @00300654 SUBU t7, zero, t2 - this.ee.t7.SD0 = ((int)((this.ee.r0.UD0 - this.ee.t2.UD0))); - // @00300658 SUBU t7, t7, t2 - this.ee.t7.SD0 = ((int)((this.ee.t7.UD0 - this.ee.t2.UD0))); - // @0030065C ADDIU t1, t7, $0001 - this.ee.t1.SD0 = ((int)((this.ee.t7.SD0 + 1))); - // @00300660 SUB.S $f12, $f3, $f4 - this.ee.fpr[12].f = (this.ee.fpr[3].f - this.ee.fpr[4].f); - // @00300664 MUL.S $f2, $f12, $f12 - this.ee.fpr[2].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); - // @00300668 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @0030066C ADDIU t6, t6, $4978 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18808))); - // @00300670 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300674 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @00300678 ADDIU t7, t7, $497c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18812))); - // @0030067C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300680 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @00300684 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00300688 ADDIU t6, t6, $4980 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18816))); - // @0030068C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300690 ADDIU t7, t7, $4984 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18820))); - // @00300694 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @00300698 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @0030069C LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @003006A0 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @003006A4 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006A8 ADDIU t6, t6, $4988 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18824))); - // @003006AC MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006B0 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003006B4 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006B8 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006BC LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @003006C0 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006C4 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006C8 BNE t1, zero, $0030070c - if ((this.ee.t1.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147532u; - } - // @003006CC SUB.S $f2, $f12, $f0 - this.ee.fpr[2].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - - public virtual void funct00300660() - { - this.ee.pc = 3147472u; - // @00300660 SUB.S $f12, $f3, $f4 - this.ee.fpr[12].f = (this.ee.fpr[3].f - this.ee.fpr[4].f); - // @00300664 MUL.S $f2, $f12, $f12 - this.ee.fpr[2].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); - // @00300668 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @0030066C ADDIU t6, t6, $4978 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18808))); - // @00300670 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300674 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @00300678 ADDIU t7, t7, $497c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18812))); - // @0030067C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300680 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @00300684 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00300688 ADDIU t6, t6, $4980 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18816))); - // @0030068C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300690 ADDIU t7, t7, $4984 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18820))); - // @00300694 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @00300698 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @0030069C LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @003006A0 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @003006A4 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006A8 ADDIU t6, t6, $4988 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18824))); - // @003006AC MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006B0 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003006B4 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006B8 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006BC LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @003006C0 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006C4 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006C8 BNE t1, zero, $0030070c - if ((this.ee.t1.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147532u; - } - // @003006CC SUB.S $f2, $f12, $f0 - this.ee.fpr[2].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - - public virtual void funct00300664() - { - this.ee.pc = 3147472u; - // @00300664 MUL.S $f2, $f12, $f12 - this.ee.fpr[2].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); - // @00300668 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @0030066C ADDIU t6, t6, $4978 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18808))); - // @00300670 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300674 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @00300678 ADDIU t7, t7, $497c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18812))); - // @0030067C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300680 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @00300684 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00300688 ADDIU t6, t6, $4980 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18816))); - // @0030068C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300690 ADDIU t7, t7, $4984 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18820))); - // @00300694 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @00300698 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @0030069C LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @003006A0 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @003006A4 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006A8 ADDIU t6, t6, $4988 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18824))); - // @003006AC MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006B0 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003006B4 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006B8 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006BC LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @003006C0 ADD.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); - // @003006C4 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003006C8 BNE t1, zero, $0030070c - if ((this.ee.t1.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147532u; - } - // @003006CC SUB.S $f2, $f12, $f0 - this.ee.fpr[2].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - - public virtual void funct003006d0() - { - this.ee.pc = 3147532u; - // @003006D0 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003006D4 MUL.S $f0, $f12, $f2 - this.ee.fpr[0].f = (this.ee.fpr[12].f * this.ee.fpr[2].f); - // @003006D8 ADDIU t7, t7, $498c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18828))); - // @003006DC LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @003006E0 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003006E4 ADDIU t6, t6, $4970 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18800))); - // @003006E8 SUB.S $f1, $f2, $f1 - this.ee.fpr[1].f = (this.ee.fpr[2].f - this.ee.fpr[1].f); - // @003006EC NOP - MobUt.Latency(); - // @003006F0 NOP - MobUt.Latency(); - // @003006F4 DIV.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); - // @003006F8 SUB.S $f0, $f0, $f12 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); - // @003006FC LWC1 $f1, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); - // @00300700 SUB.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); - // @00300704 BEQ zero, zero, $003005e4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147236u; - } - // @00300708 MFC1 t5, $f1 - MobUt.MFC1(this.ee.t5, this.ee.fpr[1]); - } - - public virtual void funct00300704() - { - this.ee.pc = 3147532u; - // @00300704 BEQ zero, zero, $003005e4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147236u; - } - // @00300708 MFC1 t5, $f1 - MobUt.MFC1(this.ee.t5, this.ee.fpr[1]); - } - - public virtual void funct0030070c() - { - this.ee.pc = 3147600u; - // @0030070C LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00300710 MUL.S $f1, $f12, $f2 - this.ee.fpr[1].f = (this.ee.fpr[12].f * this.ee.fpr[2].f); - // @00300714 ADDIU t6, t6, $498c - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18828))); - // @00300718 SLTI t7, t1, $ff83 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t1.SD0 < -125)); - // @0030071C LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @00300720 SUB.S $f0, $f0, $f2 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); - // @00300724 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @00300728 ADDIU t6, t6, $4970 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18800))); - // @0030072C NOP - MobUt.Latency(); - // @00300730 NOP - MobUt.Latency(); - // @00300734 DIV.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); - // @00300738 SUB.S $f1, $f4, $f1 - this.ee.fpr[1].f = (this.ee.fpr[4].f - this.ee.fpr[1].f); - // @0030073C LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @00300740 SUB.S $f1, $f1, $f3 - this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[3].f); - // @00300744 SUB.S $f0, $f0, $f1 - this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); - // @00300748 BNE t7, zero, $0030075c - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147612u; - } - // @0030074C MFC1 t6, $f0 - MobUt.MFC1(this.ee.t6, this.ee.fpr[0]); - } - - public virtual void funct00300750() - { - this.ee.pc = 3147612u; - // @00300750 SLL t7, t1, 23 - MobUt.SLL(this.ee.t7, this.ee.t1, 23); - // @00300754 BEQ zero, zero, $003005e4 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147236u; - } - // @00300758 ADDU t5, t6, t7 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - } - - public virtual void funct0030075c() - { - this.ee.pc = 3147652u; - // @0030075C MFC1 t7, $f0 - MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); - // @00300760 ADDIU t6, t1, $0064 - this.ee.t6.SD0 = ((int)((this.ee.t1.SD0 + 100))); - // @00300764 SLL t6, t6, 23 - MobUt.SLL(this.ee.t6, this.ee.t6, 23); - // @00300768 ADDU t6, t7, t6 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @0030076C LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300770 MTC1 t6, $f1 - this.ee.fpr[1].f = MobUt.UL2F(this.ee.t6.UL[0]); - // @00300774 ADDIU t7, t7, $4990 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18832))); - // @00300778 LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @0030077C BEQ zero, zero, $00300704 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147524u; - } - // @00300780 MUL.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); - } - - public virtual void funct00300784() - { - this.ee.pc = 3147744u; - // @00300784 SLL t6, t2, 2 - MobUt.SLL(this.ee.t6, this.ee.t2, 2); - // @00300788 ADDIU t7, t7, $4964 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18788))); - // @0030078C LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @00300790 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @00300794 MUL.S $f1, $f12, $f1 - this.ee.fpr[1].f = (this.ee.fpr[12].f * this.ee.fpr[1].f); - // @00300798 ADDIU t7, t7, $4928 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18728))); - // @0030079C ADDU t6, t6, t7 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); - // @003007A0 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @003007A4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003007A8 ADDIU t7, t7, $496c - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18796))); - // @003007AC ADD.S $f1, $f1, $f0 - this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); - // @003007B0 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - // @003007B4 ADDIU t6, t6, $4968 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18792))); - // @003007B8 CVT.W.S $f0, $f1 - MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); - // @003007BC MFC1 t1, $f0 - MobUt.MFC1(this.ee.t1, this.ee.fpr[0]); - // @003007C0 LWC1 $f1, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); - // @003007C4 MTC1 t1, $f2 - this.ee.fpr[2].f = MobUt.UL2F(this.ee.t1.UL[0]); - // @003007C8 LWC1 $f0, $0000(t6) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); - // @003007CC CVT.S.W $f2, $f2 - MobUt.CVT_S(this.ee.fpr[2], this.ee.fpr[2]); - // @003007D0 MUL.S $f0, $f2, $f0 - this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); - // @003007D4 MUL.S $f4, $f2, $f1 - this.ee.fpr[4].f = (this.ee.fpr[2].f * this.ee.fpr[1].f); - // @003007D8 BEQ zero, zero, $00300660 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3147360u; - } - // @003007DC SUB.S $f3, $f12, $f0 - this.ee.fpr[3].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); - } - - public virtual void funct003007e0() - { - this.ee.pc = 3147764u; - // @003007E0 LUI t7, $317f - this.ee.t7.SD0 = 830406656; - // @003007E4 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @003007E8 SLTU t7, t7, t3 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); - // @003007EC BNEL t7, zero, $00300664 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3147364u; - // @003007F0 DADDU t1, zero, zero - this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - } - } - - public virtual void funct00301800() - { - this.ee.pc = 3151908u; - // @00301800 LUI t7, $7fff - this.ee.t7.SD0 = 2147418112; - // @00301804 MFC1 t6, $f12 - MobUt.MFC1(this.ee.t6, this.ee.fpr[12]); - // @00301808 ORI t7, t7, $ffff - this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); - // @0030180C LUI t4, $007f - this.ee.t4.SD0 = 8323072; - // @00301810 AND t7, t6, t7 - this.ee.t7.UD0 = (this.ee.t6.UD0 & this.ee.t7.UD0); - // @00301814 ORI t4, t4, $ffff - this.ee.t4.UD0 = (this.ee.t4.UD0 | 65535); - // @00301818 SLTU t7, t4, t7 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.UD0 < this.ee.t7.UD0)); - // @0030181C BEQ t7, zero, $00301840 - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3151936u; - } - // @00301820 MFC1 t5, $f12 - MobUt.MFC1(this.ee.t5, this.ee.fpr[12]); - } - - public virtual void funct00301824() - { - this.ee.pc = 3151916u; - // @00301824 BGEZL t6, $00301848 - if ((this.ee.t6.SD0 >= 0)) - { - this.ee.pc = 3151944u; - // @00301828 SRA t1, t6, 23 - MobUt.SRA(this.ee.t1, this.ee.t6, 23); - } - } - - public virtual void funct00301840() - { - this.ee.pc = 3151944u; - // @00301840 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @00301844 MTC1 t5, $f0 - this.ee.fpr[0].f = MobUt.UL2F(this.ee.t5.UL[0]); - } - - public virtual void funct00301848() - { - this.ee.pc = 3152004u; - // @00301848 ADDIU t1, t1, $ff81 - this.ee.t1.SD0 = ((int)((this.ee.t1.SD0 + -127))); - // @0030184C AND t7, t6, t4 - this.ee.t7.UD0 = (this.ee.t6.UD0 & this.ee.t4.UD0); - // @00301850 ANDI t5, t1, $0001 - this.ee.t5.UD0 = ((ushort)((this.ee.t1.US0 & 1))); - // @00301854 LUI t6, $0080 - this.ee.t6.SD0 = 8388608; - // @00301858 SRA t1, t1, 1 - MobUt.SRA(this.ee.t1, this.ee.t1, 1); - // @0030185C OR t6, t7, t6 - this.ee.t6.UD0 = (this.ee.t7.UD0 | this.ee.t6.UD0); - // @00301860 DADDU t3, zero, zero - this.ee.t3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @00301864 SLLV t6, t6, t5 - MobUt.SLLV(this.ee.t6, this.ee.t6, this.ee.t5); - // @00301868 DADDU t2, zero, zero - this.ee.t2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); - // @0030186C SLL t6, t6, 1 - MobUt.SLL(this.ee.t6, this.ee.t6, 1); - // @00301870 LUI t4, $0100 - this.ee.t4.SD0 = 16777216; - // @00301874 ADDU t5, t3, t4 - this.ee.t5.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t4.SD0))); - // @00301878 SLT t7, t6, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.t5.SD0)); - // @0030187C BNEL t7, zero, $00301894 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3152020u; - // @00301880 SRL t4, t4, 1 - MobUt.SRL(this.ee.t4, this.ee.t4, 1); - } - } - - public virtual void funct00301874() - { - this.ee.pc = 3152004u; - // @00301874 ADDU t5, t3, t4 - this.ee.t5.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t4.SD0))); - // @00301878 SLT t7, t6, t5 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.t5.SD0)); - // @0030187C BNEL t7, zero, $00301894 - if ((this.ee.t7.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3152020u; - // @00301880 SRL t4, t4, 1 - MobUt.SRL(this.ee.t4, this.ee.t4, 1); - } - } - - public virtual void funct00301884() - { - this.ee.pc = 3152028u; - // @00301884 SUBU t6, t6, t5 - this.ee.t6.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); - // @00301888 ADDU t3, t5, t4 - this.ee.t3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t4.SD0))); - // @0030188C ADDU t2, t2, t4 - this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + this.ee.t4.SD0))); - // @00301890 SRL t4, t4, 1 - MobUt.SRL(this.ee.t4, this.ee.t4, 1); - // @00301894 BNE t4, zero, $00301874 - if ((this.ee.t4.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3151988u; - } - // @00301898 SLL t6, t6, 1 - MobUt.SLL(this.ee.t6, this.ee.t6, 1); - } - - public virtual void funct00301894() - { - this.ee.pc = 3152028u; - // @00301894 BNE t4, zero, $00301874 - if ((this.ee.t4.UD0 != this.ee.r0.UD0)) - { - this.ee.pc = 3151988u; - } - // @00301898 SLL t6, t6, 1 - MobUt.SLL(this.ee.t6, this.ee.t6, 1); - } - - public virtual void funct0030189c() - { - this.ee.pc = 3152036u; - // @0030189C BEQ t6, zero, $003018c8 - if ((this.ee.t6.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3152072u; - } - // @003018A0 SRA t7, t2, 1 - MobUt.SRA(this.ee.t7, this.ee.t2, 1); - } - - public virtual void funct003018a4() - { - this.ee.pc = 3152060u; - // @003018A4 LUI t7, $0038 - this.ee.t7.SD0 = 3670016; - // @003018A8 ADDIU t7, t7, $4f00 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 20224))); - // @003018AC LWC1 $f0, $0000(t7) - MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); - // @003018B0 C.LE.S $f0, $f0 - this.ee.fcr31_23 = (this.ee.fpr[0].f <= this.ee.fpr[0].f); - // @003018B4 BC1FL $003018c8 - if ((this.ee.fcr31_23 == false)) - { - this.ee.pc = 3152072u; - // @003018B8 SRA t7, t2, 1 - MobUt.SRA(this.ee.t7, this.ee.t2, 1); - } - } - - public virtual void funct003018bc() - { - this.ee.pc = 3152092u; - // @003018BC ANDI t7, t2, $0001 - this.ee.t7.UD0 = ((ushort)((this.ee.t2.US0 & 1))); - // @003018C0 ADDU t2, t2, t7 - this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + this.ee.t7.SD0))); - // @003018C4 SRA t7, t2, 1 - MobUt.SRA(this.ee.t7, this.ee.t2, 1); - // @003018C8 LUI t6, $3f00 - this.ee.t6.SD0 = 1056964608; - // @003018CC ADDU t6, t7, t6 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @003018D0 SLL t5, t1, 23 - MobUt.SLL(this.ee.t5, this.ee.t1, 23); - // @003018D4 BEQ zero, zero, $00301840 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3151936u; - } - // @003018D8 ADDU t5, t6, t5 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - } - - public virtual void funct003018c8() - { - this.ee.pc = 3152092u; - // @003018C8 LUI t6, $3f00 - this.ee.t6.SD0 = 1056964608; - // @003018CC ADDU t6, t7, t6 - this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @003018D0 SLL t5, t1, 23 - MobUt.SLL(this.ee.t5, this.ee.t1, 23); - // @003018D4 BEQ zero, zero, $00301840 - if ((this.ee.r0.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3151936u; - } - // @003018D8 ADDU t5, t6, t5 - this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); - } - - public virtual void funct0032d8d0() - { - this.ee.pc = 3332316u; - // @0032D8D0 SLTIU t7, a1, $0010 - this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a1.UD0 < 16ul)); - // @0032D8D4 BEQ t7, zero, $0032d95c - if ((this.ee.t7.UD0 == this.ee.r0.UD0)) - { - this.ee.pc = 3332444u; - } - // @0032D8D8 LUI t6, $0038 - this.ee.t6.SD0 = 3670016; - } - - public virtual void funct0032d8dc() - { - this.ee.pc = 3332340u; - // @0032D8DC SLL t7, a1, 2 - MobUt.SLL(this.ee.t7, this.ee.a1, 2); - // @0032D8E0 ADDIU t6, t6, $8764 - this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -30876))); - // @0032D8E4 ADDU t7, t7, t6 - this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); - // @0032D8E8 LW t5, $0000(t7) - MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); - // @0032D8EC JR t5 - this.ee.pc = this.ee.t5.UL[0]; - // @0032D8F0 NOP - MobUt.Latency(); - } - - public virtual void funct0032d964() - { - this.ee.pc = 3332460u; - // @0032D964 JR ra - this.ee.pc = this.ee.ra.UL[0]; - // @0032D968 ADDIU v0, zero, $0001 - this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); - } - - private void initstate() - { - this.initregs(); - this.initfns(); - } - - private void initregs() - { - this.ee.r0.UD0 = 0ul; - this.ee.r0.UD1 = 0ul; - this.ee.at.UD0 = 1070141403ul; - this.ee.at.UD1 = 0ul; - this.ee.v0.UD0 = 229ul; - this.ee.v0.UD1 = 0ul; - this.ee.v1.UD0 = 3728656ul; - this.ee.v1.UD1 = 11678ul; - this.ee.a0.UD0 = 10454288ul; - this.ee.a0.UD1 = 11633ul; - this.ee.a1.UD0 = 28030352ul; - this.ee.a1.UD1 = 0ul; - this.ee.a2.UD0 = 3730592ul; - this.ee.a2.UD1 = 0ul; - this.ee.a3.UD0 = 0ul; - this.ee.a3.UD1 = 0ul; - this.ee.t0.UD0 = 3730800ul; - this.ee.t0.UD1 = 1059810839ul; - this.ee.t1.UD0 = 4575657221408423936ul; - this.ee.t1.UD1 = 0ul; - this.ee.t2.UD0 = 3207294487ul; - this.ee.t2.UD1 = 1061036071ul; - this.ee.t3.UD0 = 3306101109ul; - this.ee.t3.UD1 = 4575657224709998879ul; - this.ee.t4.UD0 = 8ul; - this.ee.t4.UD1 = 4575657221408423936ul; - this.ee.t5.UD0 = 10454432ul; - this.ee.t5.UD1 = 0ul; - this.ee.t6.UD0 = 0ul; - this.ee.t6.UD1 = 6660591616ul; - this.ee.t7.UD0 = 1ul; - this.ee.t7.UD1 = 78ul; - this.ee.s0.UD0 = 10454432ul; - this.ee.s0.UD1 = 0ul; - this.ee.s1.UD0 = 10454288ul; - this.ee.s1.UD1 = 0ul; - this.ee.s2.UD0 = 28030352ul; - this.ee.s2.UD1 = 0ul; - this.ee.s3.UD0 = 3730800ul; - this.ee.s3.UD1 = 0ul; - this.ee.s4.UD0 = 28029104ul; - this.ee.s4.UD1 = 0ul; - this.ee.s5.UD0 = 0ul; - this.ee.s5.UD1 = 0ul; - this.ee.s6.UD0 = 3730800ul; - this.ee.s6.UD1 = 0ul; - this.ee.s7.UD0 = 0ul; - this.ee.s7.UD1 = 0ul; - this.ee.t8.UD0 = 3728624ul; - this.ee.t8.UD1 = 0ul; - this.ee.t9.UD0 = 3728640ul; - this.ee.t9.UD1 = 0ul; - this.ee.k0.UD0 = 1879247891ul; - this.ee.k0.UD1 = 0ul; - this.ee.k1.UD0 = 0ul; - this.ee.k1.UD1 = 0ul; - this.ee.gp.UD0 = 3704508ul; - this.ee.gp.UD1 = 0ul; - this.ee.sp.UD0 = 3730592ul; - this.ee.sp.UD1 = 0ul; - this.ee.s8.UD0 = 0ul; - this.ee.s8.UD1 = 0ul; - this.ee.ra.UD0 = 1248400ul; - this.ee.ra.UD1 = 0ul; - this.ee.fpr[0].f = MobUt.UL2F(3212836864u); - this.ee.fpr[1].f = MobUt.UL2F(1065211454u); - this.ee.fpr[2].f = MobUt.UL2F(1088754307u); - this.ee.fpr[3].f = MobUt.UL2F(1007317092u); - this.ee.fpr[4].f = MobUt.UL2F(967154684u); - this.ee.fpr[5].f = MobUt.UL2F(3201396739u); - this.ee.fpr[6].f = MobUt.UL2F(1063086025u); - this.ee.fpr[7].f = MobUt.UL2F(1065353216u); - this.ee.fpr[8].f = MobUt.UL2F(1147806946u); - this.ee.fpr[9].f = MobUt.UL2F(1124209790u); - this.ee.fpr[10].f = MobUt.UL2F(1108805435u); - this.ee.fpr[11].f = MobUt.UL2F(0u); - this.ee.fpr[12].f = MobUt.UL2F(1090519040u); - this.ee.fpr[13].f = MobUt.UL2F(0u); - this.ee.fpr[14].f = MobUt.UL2F(3241277924u); - this.ee.fpr[15].f = MobUt.UL2F(3160289907u); - this.ee.fpr[16].f = MobUt.UL2F(1004365769u); - this.ee.fpr[17].f = MobUt.UL2F(3240795268u); - this.ee.fpr[18].f = MobUt.UL2F(3165876745u); - this.ee.fpr[19].f = MobUt.UL2F(1065353216u); - this.ee.fpr[20].f = MobUt.UL2F(1090519040u); - this.ee.fpr[21].f = MobUt.UL2F(0u); - this.ee.fpr[22].f = MobUt.UL2F(0u); - this.ee.fpr[23].f = MobUt.UL2F(0u); - this.ee.fpr[24].f = MobUt.UL2F(0u); - this.ee.fpr[25].f = MobUt.UL2F(0u); - this.ee.fpr[26].f = MobUt.UL2F(0u); - this.ee.fpr[27].f = MobUt.UL2F(0u); - this.ee.fpr[28].f = MobUt.UL2F(0u); - this.ee.fpr[29].f = MobUt.UL2F(0u); - this.ee.fpr[30].f = MobUt.UL2F(0u); - this.ee.fpr[31].f = MobUt.UL2F(0u); - this.ee.fpracc.f = MobUt.UL2F(3241375643u); - this.ee.VF[0].x = MobUt.UL2F(0u); - this.ee.VF[0].y = MobUt.UL2F(0u); - this.ee.VF[0].z = MobUt.UL2F(0u); - this.ee.VF[0].w = MobUt.UL2F(1065353216u); - this.ee.VF[1].x = MobUt.UL2F(1059810839u); - this.ee.VF[1].y = MobUt.UL2F(2147483648u); - this.ee.VF[1].z = MobUt.UL2F(3208519719u); - this.ee.VF[1].w = MobUt.UL2F(2147483648u); - this.ee.VF[2].x = MobUt.UL2F(3212836864u); - this.ee.VF[2].y = MobUt.UL2F(4294967295u); - this.ee.VF[2].z = MobUt.UL2F(1059810839u); - this.ee.VF[2].w = MobUt.UL2F(0u); - this.ee.VF[3].x = MobUt.UL2F(3207294487u); - this.ee.VF[3].y = MobUt.UL2F(2147483648u); - this.ee.VF[3].z = MobUt.UL2F(1061036071u); - this.ee.VF[3].w = MobUt.UL2F(0u); - this.ee.VF[4].x = MobUt.UL2F(3306101109u); - this.ee.VF[4].y = MobUt.UL2F(0u); - this.ee.VF[4].z = MobUt.UL2F(3301574943u); - this.ee.VF[4].w = MobUt.UL2F(1065353216u); - this.ee.VF[5].x = MobUt.UL2F(1061036071u); - this.ee.VF[5].y = MobUt.UL2F(0u); - this.ee.VF[5].z = MobUt.UL2F(1059810839u); - this.ee.VF[5].w = MobUt.UL2F(0u); - this.ee.VF[6].x = MobUt.UL2F(0u); - this.ee.VF[6].y = MobUt.UL2F(1065353216u); - this.ee.VF[6].z = MobUt.UL2F(0u); - this.ee.VF[6].w = MobUt.UL2F(0u); - this.ee.VF[7].x = MobUt.UL2F(3207294487u); - this.ee.VF[7].y = MobUt.UL2F(0u); - this.ee.VF[7].z = MobUt.UL2F(1061036071u); - this.ee.VF[7].w = MobUt.UL2F(0u); - this.ee.VF[8].x = MobUt.UL2F(3306101109u); - this.ee.VF[8].y = MobUt.UL2F(0u); - this.ee.VF[8].z = MobUt.UL2F(3301574943u); - this.ee.VF[8].w = MobUt.UL2F(1065353216u); - this.ee.VF[9].x = MobUt.UL2F(0u); - this.ee.VF[9].y = MobUt.UL2F(0u); - this.ee.VF[9].z = MobUt.UL2F(0u); - this.ee.VF[9].w = MobUt.UL2F(1065353216u); - this.ee.VF[10].x = MobUt.UL2F(1221302671u); - this.ee.VF[10].y = MobUt.UL2F(1221302671u); - this.ee.VF[10].z = MobUt.UL2F(3290595208u); - this.ee.VF[10].w = MobUt.UL2F(1129027983u); - this.ee.VF[11].x = MobUt.UL2F(1278239296u); - this.ee.VF[11].y = MobUt.UL2F(1277754648u); - this.ee.VF[11].z = MobUt.UL2F(1266599817u); - this.ee.VF[11].w = MobUt.UL2F(1186077023u); - this.ee.VF[12].x = MobUt.UL2F(1157627904u); - this.ee.VF[12].y = MobUt.UL2F(1157627904u); - this.ee.VF[12].z = MobUt.UL2F(1249902592u); - this.ee.VF[12].w = MobUt.UL2F(1249902592u); - this.ee.VF[13].x = MobUt.UL2F(0u); - this.ee.VF[13].y = MobUt.UL2F(0u); - this.ee.VF[13].z = MobUt.UL2F(0u); - this.ee.VF[13].w = MobUt.UL2F(1132462080u); - this.ee.VF[14].x = MobUt.UL2F(0u); - this.ee.VF[14].y = MobUt.UL2F(0u); - this.ee.VF[14].z = MobUt.UL2F(0u); - this.ee.VF[14].w = MobUt.UL2F(1153433600u); - this.ee.VF[15].x = MobUt.UL2F(1068826624u); - this.ee.VF[15].y = MobUt.UL2F(1065746432u); - this.ee.VF[15].z = MobUt.UL2F(1060896768u); - this.ee.VF[15].w = MobUt.UL2F(1068761088u); - this.ee.VF[16].x = MobUt.UL2F(32435u); - this.ee.VF[16].y = MobUt.UL2F(31091u); - this.ee.VF[16].z = MobUt.UL2F(11678u); - this.ee.VF[16].w = MobUt.UL2F(943151540u); - this.ee.VF[17].x = MobUt.UL2F(3301739238u); - this.ee.VF[17].y = MobUt.UL2F(3321541486u); - this.ee.VF[17].z = MobUt.UL2F(1186077023u); - this.ee.VF[17].w = MobUt.UL2F(1065353216u); - this.ee.VF[18].x = MobUt.UL2F(1154255590u); - this.ee.VF[18].y = MobUt.UL2F(1174057838u); - this.ee.VF[18].z = MobUt.UL2F(3333560671u); - this.ee.VF[18].w = MobUt.UL2F(3221225472u); - this.ee.VF[19].x = MobUt.UL2F(0u); - this.ee.VF[19].y = MobUt.UL2F(0u); - this.ee.VF[19].z = MobUt.UL2F(0u); - this.ee.VF[19].w = MobUt.UL2F(1065353216u); - this.ee.VF[20].x = MobUt.UL2F(32224u); - this.ee.VF[20].y = MobUt.UL2F(30845u); - this.ee.VF[20].z = MobUt.UL2F(11719u); - this.ee.VF[20].w = MobUt.UL2F(364746u); - this.ee.VF[21].x = MobUt.UL2F(1158017723u); - this.ee.VF[21].y = MobUt.UL2F(1159360723u); - this.ee.VF[21].z = MobUt.UL2F(1144462391u); - this.ee.VF[21].w = MobUt.UL2F(1186077023u); - this.ee.VF[22].x = MobUt.UL2F(1157913735u); - this.ee.VF[22].y = MobUt.UL2F(1159493858u); - this.ee.VF[22].z = MobUt.UL2F(1144462391u); - this.ee.VF[22].w = MobUt.UL2F(1186077023u); - this.ee.VF[23].x = MobUt.UL2F(32688u); - this.ee.VF[23].y = MobUt.UL2F(31347u); - this.ee.VF[23].z = MobUt.UL2F(11719u); - this.ee.VF[23].w = MobUt.UL2F(364746u); - this.ee.VF[24].x = MobUt.UL2F(1278158170u); - this.ee.VF[24].y = MobUt.UL2F(1277666762u); - this.ee.VF[24].z = MobUt.UL2F(1144462391u); - this.ee.VF[24].w = MobUt.UL2F(1186077023u); - this.ee.VF[25].x = MobUt.UL2F(3293934063u); - this.ee.VF[25].y = MobUt.UL2F(3292049472u); - this.ee.VF[25].z = MobUt.UL2F(1066904244u); - this.ee.VF[25].w = MobUt.UL2F(3200124770u); - this.ee.VF[26].x = MobUt.UL2F(1174396132u); - this.ee.VF[26].y = MobUt.UL2F(1282769649u); - this.ee.VF[26].z = MobUt.UL2F(1044218678u); - this.ee.VF[26].w = MobUt.UL2F(3178066551u); - this.ee.VF[27].x = MobUt.UL2F(1157627904u); - this.ee.VF[27].y = MobUt.UL2F(1157627904u); - this.ee.VF[27].z = MobUt.UL2F(1249902592u); - this.ee.VF[27].w = MobUt.UL2F(1249902592u); - this.ee.VF[28].x = MobUt.UL2F(1177474794u); - this.ee.VF[28].y = MobUt.UL2F(0u); - this.ee.VF[28].z = MobUt.UL2F(0u); - this.ee.VF[28].w = MobUt.UL2F(0u); - this.ee.VF[29].x = MobUt.UL2F(0u); - this.ee.VF[29].y = MobUt.UL2F(1178429652u); - this.ee.VF[29].z = MobUt.UL2F(0u); - this.ee.VF[29].w = MobUt.UL2F(0u); - this.ee.VF[30].x = MobUt.UL2F(1221302671u); - this.ee.VF[30].y = MobUt.UL2F(1221302671u); - this.ee.VF[30].z = MobUt.UL2F(3290595208u); - this.ee.VF[30].w = MobUt.UL2F(1129027983u); - this.ee.VF[31].x = MobUt.UL2F(1278239296u); - this.ee.VF[31].y = MobUt.UL2F(1277754648u); - this.ee.VF[31].z = MobUt.UL2F(1266599817u); - this.ee.VF[31].w = MobUt.UL2F(1186077023u); - } - - private void initfns() - { - this.dicti2a[1160224u] = new MobUt.Tx8(this.funct0011b420); - this.dicti2a[1160272u] = new MobUt.Tx8(this.funct0011b450); - this.dicti2a[1160300u] = new MobUt.Tx8(this.funct0011b46c); - this.dicti2a[1160308u] = new MobUt.Tx8(this.funct0011b474); - this.dicti2a[1160324u] = new MobUt.Tx8(this.funct0011b484); - this.dicti2a[1160488u] = new MobUt.Tx8(this.funct0011b528); - this.dicti2a[1160536u] = new MobUt.Tx8(this.funct0011b558); - this.dicti2a[1160544u] = new MobUt.Tx8(this.funct0011b560); - this.dicti2a[1160560u] = new MobUt.Tx8(this.funct0011b570); - this.dicti2a[1160576u] = new MobUt.Tx8(this.funct0011b580); - this.dicti2a[1160584u] = new MobUt.Tx8(this.funct0011b588); - this.dicti2a[1160600u] = new MobUt.Tx8(this.funct0011b598); - this.dicti2a[1160616u] = new MobUt.Tx8(this.funct0011b5a8); - this.dicti2a[1160624u] = new MobUt.Tx8(this.funct0011b5b0); - this.dicti2a[1160640u] = new MobUt.Tx8(this.funct0011b5c0); - this.dicti2a[1161280u] = new MobUt.Tx8(this.funct0011b840); - this.dicti2a[1161332u] = new MobUt.Tx8(this.funct0011b874); - this.dicti2a[1161356u] = new MobUt.Tx8(this.funct0011b88c); - this.dicti2a[1161364u] = new MobUt.Tx8(this.funct0011b894); - this.dicti2a[1161412u] = new MobUt.Tx8(this.funct0011b8c4); - this.dicti2a[1161420u] = new MobUt.Tx8(this.funct0011b8cc); - this.dicti2a[1161432u] = new MobUt.Tx8(this.funct0011b8d8); - this.dicti2a[1161448u] = new MobUt.Tx8(this.funct0011b8e8); - this.dicti2a[1161456u] = new MobUt.Tx8(this.funct0011b8f0); - this.dicti2a[1161472u] = new MobUt.Tx8(this.funct0011b900); - this.dicti2a[1161492u] = new MobUt.Tx8(this.funct0011b914); - this.dicti2a[1161512u] = new MobUt.Tx8(this.funct0011b928); - this.dicti2a[1161576u] = new MobUt.Tx8(this.funct0011b968); - this.dicti2a[1161596u] = new MobUt.Tx8(this.funct0011b97c); - this.dicti2a[1161616u] = new MobUt.Tx8(this.funct0011b990); - this.dicti2a[1161692u] = new MobUt.Tx8(this.funct0011b9dc); - this.dicti2a[1161736u] = new MobUt.Tx8(this.funct0011ba08); - this.dicti2a[1161760u] = new MobUt.Tx8(this.funct0011ba20); - this.dicti2a[1161808u] = new MobUt.Tx8(this.funct0011ba50); - this.dicti2a[1161820u] = new MobUt.Tx8(this.funct0011ba5c); - this.dicti2a[1161832u] = new MobUt.Tx8(this.funct0011ba68); - this.dicti2a[1161860u] = new MobUt.Tx8(this.funct0011ba84); - this.dicti2a[1161888u] = new MobUt.Tx8(this.funct0011baa0); - this.dicti2a[1162696u] = new MobUt.Tx8(this.funct0011bdc8); - this.dicti2a[1162712u] = new MobUt.Tx8(this.funct0011bdd8); - this.dicti2a[1162732u] = new MobUt.Tx8(this.funct0011bdec); - this.dicti2a[1162752u] = new MobUt.Tx8(this.funct0011be00); - this.dicti2a[1162780u] = new MobUt.Tx8(this.funct0011be1c); - this.dicti2a[1162788u] = new MobUt.Tx8(this.funct0011be24); - this.dicti2a[1162812u] = new MobUt.Tx8(this.funct0011be3c); - this.dicti2a[1162828u] = new MobUt.Tx8(this.funct0011be4c); - this.dicti2a[1162840u] = new MobUt.Tx8(this.funct0011be58); - this.dicti2a[1181264u] = new MobUt.Tx8(this.funct00120650); - this.dicti2a[1181296u] = new MobUt.Tx8(this.funct00120670); - this.dicti2a[1181328u] = new MobUt.Tx8(this.funct00120690); - this.dicti2a[1181344u] = new MobUt.Tx8(this.funct001206a0); - this.dicti2a[1181372u] = new MobUt.Tx8(this.funct001206bc); - this.dicti2a[1181380u] = new MobUt.Tx8(this.funct001206c4); - this.dicti2a[1198728u] = new MobUt.Tx8(this.funct00124a88); - this.dicti2a[1198900u] = new MobUt.Tx8(this.funct00124b34); - this.dicti2a[1198972u] = new MobUt.Tx8(this.funct00124b7c); - this.dicti2a[1198996u] = new MobUt.Tx8(this.funct00124b94); - this.dicti2a[1199092u] = new MobUt.Tx8(this.funct00124bf4); - this.dicti2a[1199188u] = new MobUt.Tx8(this.funct00124c54); - this.dicti2a[1199256u] = new MobUt.Tx8(this.funct00124c98); - this.dicti2a[1199264u] = new MobUt.Tx8(this.funct00124ca0); - this.dicti2a[1199284u] = new MobUt.Tx8(this.funct00124cb4); - this.dicti2a[1199304u] = new MobUt.Tx8(this.funct00124cc8); - this.dicti2a[1199336u] = new MobUt.Tx8(this.funct00124ce8); - this.dicti2a[1199344u] = new MobUt.Tx8(this.funct00124cf0); - this.dicti2a[1199356u] = new MobUt.Tx8(this.funct00124cfc); - this.dicti2a[1199480u] = new MobUt.Tx8(this.funct00124d78); - this.dicti2a[1199512u] = new MobUt.Tx8(this.funct00124d98); - this.dicti2a[1199520u] = new MobUt.Tx8(this.funct00124da0); - this.dicti2a[1199528u] = new MobUt.Tx8(this.funct00124da8); - this.dicti2a[1199564u] = new MobUt.Tx8(this.funct00124dcc); - this.dicti2a[1199620u] = new MobUt.Tx8(this.funct00124e04); - this.dicti2a[1199672u] = new MobUt.Tx8(this.funct00124e38); - this.dicti2a[1199676u] = new MobUt.Tx8(this.funct00124e3c); - this.dicti2a[1199680u] = new MobUt.Tx8(this.funct00124e40); - this.dicti2a[1199712u] = new MobUt.Tx8(this.funct00124e60); - this.dicti2a[1199720u] = new MobUt.Tx8(this.funct00124e68); - this.dicti2a[1199740u] = new MobUt.Tx8(this.funct00124e7c); - this.dicti2a[1199828u] = new MobUt.Tx8(this.funct00124ed4); - this.dicti2a[1199840u] = new MobUt.Tx8(this.funct00124ee0); - this.dicti2a[1199852u] = new MobUt.Tx8(this.funct00124eec); - this.dicti2a[1199972u] = new MobUt.Tx8(this.funct00124f64); - this.dicti2a[1200004u] = new MobUt.Tx8(this.funct00124f84); - this.dicti2a[1200276u] = new MobUt.Tx8(this.funct00125094); - this.dicti2a[1200316u] = new MobUt.Tx8(this.funct001250bc); - this.dicti2a[1200336u] = new MobUt.Tx8(this.funct001250d0); - this.dicti2a[1200356u] = new MobUt.Tx8(this.funct001250e4); - this.dicti2a[1200364u] = new MobUt.Tx8(this.funct001250ec); - this.dicti2a[1200472u] = new MobUt.Tx8(this.funct00125158); - this.dicti2a[1211936u] = new MobUt.Tx8(this.funct00127e20); - this.dicti2a[1212020u] = new MobUt.Tx8(this.funct00127e74); - this.dicti2a[1212032u] = new MobUt.Tx8(this.funct00127e80); - this.dicti2a[1212040u] = new MobUt.Tx8(this.funct00127e88); - this.dicti2a[1212052u] = new MobUt.Tx8(this.funct00127e94); - this.dicti2a[1212080u] = new MobUt.Tx8(this.funct00127eb0); - this.dicti2a[1212108u] = new MobUt.Tx8(this.funct00127ecc); - this.dicti2a[1212164u] = new MobUt.Tx8(this.funct00127f04); - this.dicti2a[1212176u] = new MobUt.Tx8(this.funct00127f10); - this.dicti2a[1212276u] = new MobUt.Tx8(this.funct00127f74); - this.dicti2a[1212288u] = new MobUt.Tx8(this.funct00127f80); - this.dicti2a[1212292u] = new MobUt.Tx8(this.funct00127f84); - this.dicti2a[1212368u] = new MobUt.Tx8(this.funct00127fd0); - this.dicti2a[1212392u] = new MobUt.Tx8(this.funct00127fe8); - this.dicti2a[1212424u] = new MobUt.Tx8(this.funct00128008); - this.dicti2a[1212448u] = new MobUt.Tx8(this.funct00128020); - this.dicti2a[1212556u] = new MobUt.Tx8(this.funct0012808c); - this.dicti2a[1212572u] = new MobUt.Tx8(this.funct0012809c); - this.dicti2a[1212592u] = new MobUt.Tx8(this.funct001280b0); - this.dicti2a[1212612u] = new MobUt.Tx8(this.funct001280c4); - this.dicti2a[1212616u] = new MobUt.Tx8(this.funct001280c8); - this.dicti2a[1212624u] = new MobUt.Tx8(this.funct001280d0); - this.dicti2a[1212644u] = new MobUt.Tx8(this.funct001280e4); - this.dicti2a[1212664u] = new MobUt.Tx8(this.funct001280f8); - this.dicti2a[1212668u] = new MobUt.Tx8(this.funct001280fc); - this.dicti2a[1212688u] = new MobUt.Tx8(this.funct00128110); - this.dicti2a[1212696u] = new MobUt.Tx8(this.funct00128118); - this.dicti2a[1212756u] = new MobUt.Tx8(this.funct00128154); - this.dicti2a[1212768u] = new MobUt.Tx8(this.funct00128160); - this.dicti2a[1212804u] = new MobUt.Tx8(this.funct00128184); - this.dicti2a[1212832u] = new MobUt.Tx8(this.funct001281a0); - this.dicti2a[1212852u] = new MobUt.Tx8(this.funct001281b4); - this.dicti2a[1212872u] = new MobUt.Tx8(this.funct001281c8); - this.dicti2a[1212876u] = new MobUt.Tx8(this.funct001281cc); - this.dicti2a[1212904u] = new MobUt.Tx8(this.funct001281e8); - this.dicti2a[1212912u] = new MobUt.Tx8(this.funct001281f0); - this.dicti2a[1212916u] = new MobUt.Tx8(this.funct001281f4); - this.dicti2a[1212924u] = new MobUt.Tx8(this.funct001281fc); - this.dicti2a[1212960u] = new MobUt.Tx8(this.funct00128220); - this.dicti2a[1212988u] = new MobUt.Tx8(this.funct0012823c); - this.dicti2a[1213012u] = new MobUt.Tx8(this.funct00128254); - this.dicti2a[1213024u] = new MobUt.Tx8(this.funct00128260); - this.dicti2a[1213076u] = new MobUt.Tx8(this.funct00128294); - this.dicti2a[1213084u] = new MobUt.Tx8(this.funct0012829c); - this.dicti2a[1213108u] = new MobUt.Tx8(this.funct001282b4); - this.dicti2a[1213136u] = new MobUt.Tx8(this.funct001282d0); - this.dicti2a[1213164u] = new MobUt.Tx8(this.funct001282ec); - this.dicti2a[1213188u] = new MobUt.Tx8(this.funct00128304); - this.dicti2a[1213200u] = new MobUt.Tx8(this.funct00128310); - this.dicti2a[1213216u] = new MobUt.Tx8(this.funct00128320); - this.dicti2a[1213236u] = new MobUt.Tx8(this.funct00128334); - this.dicti2a[1213260u] = new MobUt.Tx8(this.funct0012834c); - this.dicti2a[1213296u] = new MobUt.Tx8(this.funct00128370); - this.dicti2a[1213312u] = new MobUt.Tx8(this.funct00128380); - this.dicti2a[1213316u] = new MobUt.Tx8(this.funct00128384); - this.dicti2a[1213336u] = new MobUt.Tx8(this.funct00128398); - this.dicti2a[1213352u] = new MobUt.Tx8(this.funct001283a8); - this.dicti2a[1213380u] = new MobUt.Tx8(this.funct001283c4); - this.dicti2a[1213400u] = new MobUt.Tx8(this.funct001283d8); - this.dicti2a[1213440u] = new MobUt.Tx8(this.funct00128400); - this.dicti2a[1213460u] = new MobUt.Tx8(this.funct00128414); - this.dicti2a[1213472u] = new MobUt.Tx8(this.funct00128420); - this.dicti2a[1213488u] = new MobUt.Tx8(this.funct00128430); - this.dicti2a[1213520u] = new MobUt.Tx8(this.funct00128450); - this.dicti2a[1213556u] = new MobUt.Tx8(this.funct00128474); - this.dicti2a[1213560u] = new MobUt.Tx8(this.funct00128478); - this.dicti2a[1213584u] = new MobUt.Tx8(this.funct00128490); - this.dicti2a[1213592u] = new MobUt.Tx8(this.funct00128498); - this.dicti2a[1213600u] = new MobUt.Tx8(this.funct001284a0); - this.dicti2a[1213608u] = new MobUt.Tx8(this.funct001284a8); - this.dicti2a[1213616u] = new MobUt.Tx8(this.funct001284b0); - this.dicti2a[1213744u] = new MobUt.Tx8(this.funct00128530); - this.dicti2a[1213892u] = new MobUt.Tx8(this.funct001285c4); - this.dicti2a[1213916u] = new MobUt.Tx8(this.funct001285dc); - this.dicti2a[1213924u] = new MobUt.Tx8(this.funct001285e4); - this.dicti2a[1213936u] = new MobUt.Tx8(this.funct001285f0); - this.dicti2a[1213940u] = new MobUt.Tx8(this.funct001285f4); - this.dicti2a[1213980u] = new MobUt.Tx8(this.funct0012861c); - this.dicti2a[1213996u] = new MobUt.Tx8(this.funct0012862c); - this.dicti2a[1214004u] = new MobUt.Tx8(this.funct00128634); - this.dicti2a[1214044u] = new MobUt.Tx8(this.funct0012865c); - this.dicti2a[1214048u] = new MobUt.Tx8(this.funct00128660); - this.dicti2a[1214060u] = new MobUt.Tx8(this.funct0012866c); - this.dicti2a[1214064u] = new MobUt.Tx8(this.funct00128670); - this.dicti2a[1214080u] = new MobUt.Tx8(this.funct00128680); - this.dicti2a[1214092u] = new MobUt.Tx8(this.funct0012868c); - this.dicti2a[1214120u] = new MobUt.Tx8(this.funct001286a8); - this.dicti2a[1214124u] = new MobUt.Tx8(this.funct001286ac); - this.dicti2a[1214176u] = new MobUt.Tx8(this.funct001286e0); - this.dicti2a[1214188u] = new MobUt.Tx8(this.funct001286ec); - this.dicti2a[1214196u] = new MobUt.Tx8(this.funct001286f4); - this.dicti2a[1214212u] = new MobUt.Tx8(this.funct00128704); - this.dicti2a[1214216u] = new MobUt.Tx8(this.funct00128708); - this.dicti2a[1214232u] = new MobUt.Tx8(this.funct00128718); - this.dicti2a[1214336u] = new MobUt.Tx8(this.funct00128780); - this.dicti2a[1214348u] = new MobUt.Tx8(this.funct0012878c); - this.dicti2a[1214356u] = new MobUt.Tx8(this.funct00128794); - this.dicti2a[1214364u] = new MobUt.Tx8(this.funct0012879c); - this.dicti2a[1214400u] = new MobUt.Tx8(this.funct001287c0); - this.dicti2a[1214412u] = new MobUt.Tx8(this.funct001287cc); - this.dicti2a[1214424u] = new MobUt.Tx8(this.funct001287d8); - this.dicti2a[1214432u] = new MobUt.Tx8(this.funct001287e0); - this.dicti2a[1214440u] = new MobUt.Tx8(this.funct001287e8); - this.dicti2a[1214452u] = new MobUt.Tx8(this.funct001287f4); - this.dicti2a[1214460u] = new MobUt.Tx8(this.funct001287fc); - this.dicti2a[1214468u] = new MobUt.Tx8(this.funct00128804); - this.dicti2a[1214528u] = new MobUt.Tx8(this.funct00128840); - this.dicti2a[1214548u] = new MobUt.Tx8(this.funct00128854); - this.dicti2a[1214572u] = new MobUt.Tx8(this.funct0012886c); - this.dicti2a[1214580u] = new MobUt.Tx8(this.funct00128874); - this.dicti2a[1214588u] = new MobUt.Tx8(this.funct0012887c); - this.dicti2a[1214596u] = new MobUt.Tx8(this.funct00128884); - this.dicti2a[1214604u] = new MobUt.Tx8(this.funct0012888c); - this.dicti2a[1214640u] = new MobUt.Tx8(this.funct001288b0); - this.dicti2a[1214644u] = new MobUt.Tx8(this.funct001288b4); - this.dicti2a[1214672u] = new MobUt.Tx8(this.funct001288d0); - this.dicti2a[1214680u] = new MobUt.Tx8(this.funct001288d8); - this.dicti2a[1214744u] = new MobUt.Tx8(this.funct00128918); - this.dicti2a[1214808u] = new MobUt.Tx8(this.funct00128958); - this.dicti2a[1214828u] = new MobUt.Tx8(this.funct0012896c); - this.dicti2a[1214852u] = new MobUt.Tx8(this.funct00128984); - this.dicti2a[1214876u] = new MobUt.Tx8(this.funct0012899c); - this.dicti2a[1214900u] = new MobUt.Tx8(this.funct001289b4); - this.dicti2a[1214932u] = new MobUt.Tx8(this.funct001289d4); - this.dicti2a[1214948u] = new MobUt.Tx8(this.funct001289e4); - this.dicti2a[1214976u] = new MobUt.Tx8(this.funct00128a00); - this.dicti2a[1215000u] = new MobUt.Tx8(this.funct00128a18); - this.dicti2a[1215024u] = new MobUt.Tx8(this.funct00128a30); - this.dicti2a[1215048u] = new MobUt.Tx8(this.funct00128a48); - this.dicti2a[1215076u] = new MobUt.Tx8(this.funct00128a64); - this.dicti2a[1215092u] = new MobUt.Tx8(this.funct00128a74); - this.dicti2a[1215132u] = new MobUt.Tx8(this.funct00128a9c); - this.dicti2a[1215168u] = new MobUt.Tx8(this.funct00128ac0); - this.dicti2a[1215204u] = new MobUt.Tx8(this.funct00128ae4); - this.dicti2a[1215220u] = new MobUt.Tx8(this.funct00128af4); - this.dicti2a[1215244u] = new MobUt.Tx8(this.funct00128b0c); - this.dicti2a[1215264u] = new MobUt.Tx8(this.funct00128b20); - this.dicti2a[1215276u] = new MobUt.Tx8(this.funct00128b2c); - this.dicti2a[1215376u] = new MobUt.Tx8(this.funct00128b90); - this.dicti2a[1215420u] = new MobUt.Tx8(this.funct00128bbc); - this.dicti2a[1215520u] = new MobUt.Tx8(this.funct00128c20); - this.dicti2a[1215608u] = new MobUt.Tx8(this.funct00128c78); - this.dicti2a[1215628u] = new MobUt.Tx8(this.funct00128c8c); - this.dicti2a[1215648u] = new MobUt.Tx8(this.funct00128ca0); - this.dicti2a[1215656u] = new MobUt.Tx8(this.funct00128ca8); - this.dicti2a[1215692u] = new MobUt.Tx8(this.funct00128ccc); - this.dicti2a[1215700u] = new MobUt.Tx8(this.funct00128cd4); - this.dicti2a[1215780u] = new MobUt.Tx8(this.funct00128d24); - this.dicti2a[1215788u] = new MobUt.Tx8(this.funct00128d2c); - this.dicti2a[1215796u] = new MobUt.Tx8(this.funct00128d34); - this.dicti2a[1215804u] = new MobUt.Tx8(this.funct00128d3c); - this.dicti2a[1215852u] = new MobUt.Tx8(this.funct00128d6c); - this.dicti2a[1215868u] = new MobUt.Tx8(this.funct00128d7c); - this.dicti2a[1215884u] = new MobUt.Tx8(this.funct00128d8c); - this.dicti2a[1215900u] = new MobUt.Tx8(this.funct00128d9c); - this.dicti2a[1215920u] = new MobUt.Tx8(this.funct00128db0); - this.dicti2a[1215928u] = new MobUt.Tx8(this.funct00128db8); - this.dicti2a[1215944u] = new MobUt.Tx8(this.funct00128dc8); - this.dicti2a[1215960u] = new MobUt.Tx8(this.funct00128dd8); - this.dicti2a[1215976u] = new MobUt.Tx8(this.funct00128de8); - this.dicti2a[1216032u] = new MobUt.Tx8(this.funct00128e20); - this.dicti2a[1216044u] = new MobUt.Tx8(this.funct00128e2c); - this.dicti2a[1216064u] = new MobUt.Tx8(this.funct00128e40); - this.dicti2a[1216136u] = new MobUt.Tx8(this.funct00128e88); - this.dicti2a[1216176u] = new MobUt.Tx8(this.funct00128eb0); - this.dicti2a[1216232u] = new MobUt.Tx8(this.funct00128ee8); - this.dicti2a[1216236u] = new MobUt.Tx8(this.funct00128eec); - this.dicti2a[1216356u] = new MobUt.Tx8(this.funct00128f64); - this.dicti2a[1216364u] = new MobUt.Tx8(this.funct00128f6c); - this.dicti2a[1216372u] = new MobUt.Tx8(this.funct00128f74); - this.dicti2a[1216384u] = new MobUt.Tx8(this.funct00128f80); - this.dicti2a[1216588u] = new MobUt.Tx8(this.funct0012904c); - this.dicti2a[1216596u] = new MobUt.Tx8(this.funct00129054); - this.dicti2a[1216616u] = new MobUt.Tx8(this.funct00129068); - this.dicti2a[1216628u] = new MobUt.Tx8(this.funct00129074); - this.dicti2a[1216636u] = new MobUt.Tx8(this.funct0012907c); - this.dicti2a[1216644u] = new MobUt.Tx8(this.funct00129084); - this.dicti2a[1216652u] = new MobUt.Tx8(this.funct0012908c); - this.dicti2a[1216672u] = new MobUt.Tx8(this.funct001290a0); - this.dicti2a[1216792u] = new MobUt.Tx8(this.funct00129118); - this.dicti2a[1216812u] = new MobUt.Tx8(this.funct0012912c); - this.dicti2a[1216836u] = new MobUt.Tx8(this.funct00129144); - this.dicti2a[1216852u] = new MobUt.Tx8(this.funct00129154); - this.dicti2a[1216884u] = new MobUt.Tx8(this.funct00129174); - this.dicti2a[1216892u] = new MobUt.Tx8(this.funct0012917c); - this.dicti2a[1216900u] = new MobUt.Tx8(this.funct00129184); - this.dicti2a[1217148u] = new MobUt.Tx8(this.funct0012927c); - this.dicti2a[1217156u] = new MobUt.Tx8(this.funct00129284); - this.dicti2a[1217176u] = new MobUt.Tx8(this.funct00129298); - this.dicti2a[1217184u] = new MobUt.Tx8(this.funct001292a0); - this.dicti2a[1217192u] = new MobUt.Tx8(this.funct001292a8); - this.dicti2a[1217212u] = new MobUt.Tx8(this.funct001292bc); - this.dicti2a[1217220u] = new MobUt.Tx8(this.funct001292c4); - this.dicti2a[1217228u] = new MobUt.Tx8(this.funct001292cc); - this.dicti2a[1217248u] = new MobUt.Tx8(this.funct001292e0); - this.dicti2a[1217256u] = new MobUt.Tx8(this.funct001292e8); - this.dicti2a[1217264u] = new MobUt.Tx8(this.funct001292f0); - this.dicti2a[1217284u] = new MobUt.Tx8(this.funct00129304); - this.dicti2a[1217392u] = new MobUt.Tx8(this.funct00129370); - this.dicti2a[1217408u] = new MobUt.Tx8(this.funct00129380); - this.dicti2a[1217416u] = new MobUt.Tx8(this.funct00129388); - this.dicti2a[1217424u] = new MobUt.Tx8(this.funct00129390); - this.dicti2a[1217444u] = new MobUt.Tx8(this.funct001293a4); - this.dicti2a[1217488u] = new MobUt.Tx8(this.funct001293d0); - this.dicti2a[1217496u] = new MobUt.Tx8(this.funct001293d8); - this.dicti2a[1217516u] = new MobUt.Tx8(this.funct001293ec); - this.dicti2a[1217692u] = new MobUt.Tx8(this.funct0012949c); - this.dicti2a[1217704u] = new MobUt.Tx8(this.funct001294a8); - this.dicti2a[1217712u] = new MobUt.Tx8(this.funct001294b0); - this.dicti2a[1217748u] = new MobUt.Tx8(this.funct001294d4); - this.dicti2a[1217752u] = new MobUt.Tx8(this.funct001294d8); - this.dicti2a[1217784u] = new MobUt.Tx8(this.funct001294f8); - this.dicti2a[1217796u] = new MobUt.Tx8(this.funct00129504); - this.dicti2a[1217812u] = new MobUt.Tx8(this.funct00129514); - this.dicti2a[1217820u] = new MobUt.Tx8(this.funct0012951c); - this.dicti2a[1217920u] = new MobUt.Tx8(this.funct00129580); - this.dicti2a[1217964u] = new MobUt.Tx8(this.funct001295ac); - this.dicti2a[1217980u] = new MobUt.Tx8(this.funct001295bc); - this.dicti2a[1217988u] = new MobUt.Tx8(this.funct001295c4); - this.dicti2a[1218016u] = new MobUt.Tx8(this.funct001295e0); - this.dicti2a[1218044u] = new MobUt.Tx8(this.funct001295fc); - this.dicti2a[1218100u] = new MobUt.Tx8(this.funct00129634); - this.dicti2a[1218120u] = new MobUt.Tx8(this.funct00129648); - this.dicti2a[1218128u] = new MobUt.Tx8(this.funct00129650); - this.dicti2a[1218156u] = new MobUt.Tx8(this.funct0012966c); - this.dicti2a[1218184u] = new MobUt.Tx8(this.funct00129688); - this.dicti2a[1218192u] = new MobUt.Tx8(this.funct00129690); - this.dicti2a[1218244u] = new MobUt.Tx8(this.funct001296c4); - this.dicti2a[1218264u] = new MobUt.Tx8(this.funct001296d8); - this.dicti2a[1218308u] = new MobUt.Tx8(this.funct00129704); - this.dicti2a[1218324u] = new MobUt.Tx8(this.funct00129714); - this.dicti2a[1219096u] = new MobUt.Tx8(this.funct00129a18); - this.dicti2a[1219268u] = new MobUt.Tx8(this.funct00129ac4); - this.dicti2a[1219288u] = new MobUt.Tx8(this.funct00129ad8); - this.dicti2a[1219320u] = new MobUt.Tx8(this.funct00129af8); - this.dicti2a[1219340u] = new MobUt.Tx8(this.funct00129b0c); - this.dicti2a[1219344u] = new MobUt.Tx8(this.funct00129b10); - this.dicti2a[1219360u] = new MobUt.Tx8(this.funct00129b20); - this.dicti2a[1219380u] = new MobUt.Tx8(this.funct00129b34); - this.dicti2a[1219384u] = new MobUt.Tx8(this.funct00129b38); - this.dicti2a[1219396u] = new MobUt.Tx8(this.funct00129b44); - this.dicti2a[1219416u] = new MobUt.Tx8(this.funct00129b58); - this.dicti2a[1219444u] = new MobUt.Tx8(this.funct00129b74); - this.dicti2a[1219464u] = new MobUt.Tx8(this.funct00129b88); - this.dicti2a[1219472u] = new MobUt.Tx8(this.funct00129b90); - this.dicti2a[1219476u] = new MobUt.Tx8(this.funct00129b94); - this.dicti2a[1219488u] = new MobUt.Tx8(this.funct00129ba0); - this.dicti2a[1219512u] = new MobUt.Tx8(this.funct00129bb8); - this.dicti2a[1219524u] = new MobUt.Tx8(this.funct00129bc4); - this.dicti2a[1219560u] = new MobUt.Tx8(this.funct00129be8); - this.dicti2a[1219576u] = new MobUt.Tx8(this.funct00129bf8); - this.dicti2a[1219580u] = new MobUt.Tx8(this.funct00129bfc); - this.dicti2a[1219588u] = new MobUt.Tx8(this.funct00129c04); - this.dicti2a[1219604u] = new MobUt.Tx8(this.funct00129c14); - this.dicti2a[1219628u] = new MobUt.Tx8(this.funct00129c2c); - this.dicti2a[1219640u] = new MobUt.Tx8(this.funct00129c38); - this.dicti2a[1219644u] = new MobUt.Tx8(this.funct00129c3c); - this.dicti2a[1219660u] = new MobUt.Tx8(this.funct00129c4c); - this.dicti2a[1219672u] = new MobUt.Tx8(this.funct00129c58); - this.dicti2a[1219676u] = new MobUt.Tx8(this.funct00129c5c); - this.dicti2a[1219688u] = new MobUt.Tx8(this.funct00129c68); - this.dicti2a[1219704u] = new MobUt.Tx8(this.funct00129c78); - this.dicti2a[1219716u] = new MobUt.Tx8(this.funct00129c84); - this.dicti2a[1219728u] = new MobUt.Tx8(this.funct00129c90); - this.dicti2a[1219732u] = new MobUt.Tx8(this.funct00129c94); - this.dicti2a[1219740u] = new MobUt.Tx8(this.funct00129c9c); - this.dicti2a[1219752u] = new MobUt.Tx8(this.funct00129ca8); - this.dicti2a[1219764u] = new MobUt.Tx8(this.funct00129cb4); - this.dicti2a[1219788u] = new MobUt.Tx8(this.funct00129ccc); - this.dicti2a[1219800u] = new MobUt.Tx8(this.funct00129cd8); - this.dicti2a[1219812u] = new MobUt.Tx8(this.funct00129ce4); - this.dicti2a[1219832u] = new MobUt.Tx8(this.funct00129cf8); - this.dicti2a[1219840u] = new MobUt.Tx8(this.funct00129d00); - this.dicti2a[1219868u] = new MobUt.Tx8(this.funct00129d1c); - this.dicti2a[1219892u] = new MobUt.Tx8(this.funct00129d34); - this.dicti2a[1219908u] = new MobUt.Tx8(this.funct00129d44); - this.dicti2a[1219916u] = new MobUt.Tx8(this.funct00129d4c); - this.dicti2a[1219976u] = new MobUt.Tx8(this.funct00129d88); - this.dicti2a[1219984u] = new MobUt.Tx8(this.funct00129d90); - this.dicti2a[1220040u] = new MobUt.Tx8(this.funct00129dc8); - this.dicti2a[1220048u] = new MobUt.Tx8(this.funct00129dd0); - this.dicti2a[1220088u] = new MobUt.Tx8(this.funct00129df8); - this.dicti2a[1220100u] = new MobUt.Tx8(this.funct00129e04); - this.dicti2a[1220112u] = new MobUt.Tx8(this.funct00129e10); - this.dicti2a[1220140u] = new MobUt.Tx8(this.funct00129e2c); - this.dicti2a[1220156u] = new MobUt.Tx8(this.funct00129e3c); - this.dicti2a[1220160u] = new MobUt.Tx8(this.funct00129e40); - this.dicti2a[1220180u] = new MobUt.Tx8(this.funct00129e54); - this.dicti2a[1220188u] = new MobUt.Tx8(this.funct00129e5c); - this.dicti2a[1220192u] = new MobUt.Tx8(this.funct00129e60); - this.dicti2a[1221784u] = new MobUt.Tx8(this.funct0012a498); - this.dicti2a[1221820u] = new MobUt.Tx8(this.funct0012a4bc); - this.dicti2a[1221824u] = new MobUt.Tx8(this.funct0012a4c0); - this.dicti2a[1223092u] = new MobUt.Tx8(this.funct0012a9b4); - this.dicti2a[1223100u] = new MobUt.Tx8(this.funct0012a9bc); - this.dicti2a[1223120u] = new MobUt.Tx8(this.funct0012a9d0); - this.dicti2a[1223156u] = new MobUt.Tx8(this.funct0012a9f4); - this.dicti2a[1223164u] = new MobUt.Tx8(this.funct0012a9fc); - this.dicti2a[1223172u] = new MobUt.Tx8(this.funct0012aa04); - this.dicti2a[1223196u] = new MobUt.Tx8(this.funct0012aa1c); - this.dicti2a[1223216u] = new MobUt.Tx8(this.funct0012aa30); - this.dicti2a[1223224u] = new MobUt.Tx8(this.funct0012aa38); - this.dicti2a[1223232u] = new MobUt.Tx8(this.funct0012aa40); - this.dicti2a[1223280u] = new MobUt.Tx8(this.funct0012aa70); - this.dicti2a[1223292u] = new MobUt.Tx8(this.funct0012aa7c); - this.dicti2a[1223348u] = new MobUt.Tx8(this.funct0012aab4); - this.dicti2a[1223380u] = new MobUt.Tx8(this.funct0012aad4); - this.dicti2a[1223560u] = new MobUt.Tx8(this.funct0012ab88); - this.dicti2a[1223580u] = new MobUt.Tx8(this.funct0012ab9c); - this.dicti2a[1223624u] = new MobUt.Tx8(this.funct0012abc8); - this.dicti2a[1223628u] = new MobUt.Tx8(this.funct0012abcc); - this.dicti2a[1223652u] = new MobUt.Tx8(this.funct0012abe4); - this.dicti2a[1223664u] = new MobUt.Tx8(this.funct0012abf0); - this.dicti2a[1223692u] = new MobUt.Tx8(this.funct0012ac0c); - this.dicti2a[1223728u] = new MobUt.Tx8(this.funct0012ac30); - this.dicti2a[1223740u] = new MobUt.Tx8(this.funct0012ac3c); - this.dicti2a[1223768u] = new MobUt.Tx8(this.funct0012ac58); - this.dicti2a[1223784u] = new MobUt.Tx8(this.funct0012ac68); - this.dicti2a[1223796u] = new MobUt.Tx8(this.funct0012ac74); - this.dicti2a[1223824u] = new MobUt.Tx8(this.funct0012ac90); - this.dicti2a[1223840u] = new MobUt.Tx8(this.funct0012aca0); - this.dicti2a[1223848u] = new MobUt.Tx8(this.funct0012aca8); - this.dicti2a[1223864u] = new MobUt.Tx8(this.funct0012acb8); - this.dicti2a[1223892u] = new MobUt.Tx8(this.funct0012acd4); - this.dicti2a[1223896u] = new MobUt.Tx8(this.funct0012acd8); - this.dicti2a[1223904u] = new MobUt.Tx8(this.funct0012ace0); - this.dicti2a[1223964u] = new MobUt.Tx8(this.funct0012ad1c); - this.dicti2a[1223992u] = new MobUt.Tx8(this.funct0012ad38); - this.dicti2a[1224032u] = new MobUt.Tx8(this.funct0012ad60); - this.dicti2a[1224052u] = new MobUt.Tx8(this.funct0012ad74); - this.dicti2a[1224192u] = new MobUt.Tx8(this.funct0012ae00); - this.dicti2a[1224204u] = new MobUt.Tx8(this.funct0012ae0c); - this.dicti2a[1224576u] = new MobUt.Tx8(this.funct0012af80); - this.dicti2a[1224960u] = new MobUt.Tx8(this.funct0012b100); - this.dicti2a[1224968u] = new MobUt.Tx8(this.funct0012b108); - this.dicti2a[1225048u] = new MobUt.Tx8(this.funct0012b158); - this.dicti2a[1225064u] = new MobUt.Tx8(this.funct0012b168); - this.dicti2a[1225072u] = new MobUt.Tx8(this.funct0012b170); - this.dicti2a[1225112u] = new MobUt.Tx8(this.funct0012b198); - this.dicti2a[1225120u] = new MobUt.Tx8(this.funct0012b1a0); - this.dicti2a[1225244u] = new MobUt.Tx8(this.funct0012b21c); - this.dicti2a[1225296u] = new MobUt.Tx8(this.funct0012b250); - this.dicti2a[1225304u] = new MobUt.Tx8(this.funct0012b258); - this.dicti2a[1225320u] = new MobUt.Tx8(this.funct0012b268); - this.dicti2a[1225372u] = new MobUt.Tx8(this.funct0012b29c); - this.dicti2a[1225380u] = new MobUt.Tx8(this.funct0012b2a4); - this.dicti2a[1225448u] = new MobUt.Tx8(this.funct0012b2e8); - this.dicti2a[1225456u] = new MobUt.Tx8(this.funct0012b2f0); - this.dicti2a[1225472u] = new MobUt.Tx8(this.funct0012b300); - this.dicti2a[1225500u] = new MobUt.Tx8(this.funct0012b31c); - this.dicti2a[1225508u] = new MobUt.Tx8(this.funct0012b324); - this.dicti2a[1225528u] = new MobUt.Tx8(this.funct0012b338); - this.dicti2a[1225548u] = new MobUt.Tx8(this.funct0012b34c); - this.dicti2a[1225552u] = new MobUt.Tx8(this.funct0012b350); - this.dicti2a[1225588u] = new MobUt.Tx8(this.funct0012b374); - this.dicti2a[1225596u] = new MobUt.Tx8(this.funct0012b37c); - this.dicti2a[1225724u] = new MobUt.Tx8(this.funct0012b3fc); - this.dicti2a[1225780u] = new MobUt.Tx8(this.funct0012b434); - this.dicti2a[1225788u] = new MobUt.Tx8(this.funct0012b43c); - this.dicti2a[1225812u] = new MobUt.Tx8(this.funct0012b454); - this.dicti2a[1225864u] = new MobUt.Tx8(this.funct0012b488); - this.dicti2a[1225872u] = new MobUt.Tx8(this.funct0012b490); - this.dicti2a[1225948u] = new MobUt.Tx8(this.funct0012b4dc); - this.dicti2a[1225956u] = new MobUt.Tx8(this.funct0012b4e4); - this.dicti2a[1225976u] = new MobUt.Tx8(this.funct0012b4f8); - this.dicti2a[1225984u] = new MobUt.Tx8(this.funct0012b500); - this.dicti2a[1226000u] = new MobUt.Tx8(this.funct0012b510); - this.dicti2a[1226008u] = new MobUt.Tx8(this.funct0012b518); - this.dicti2a[1226092u] = new MobUt.Tx8(this.funct0012b56c); - this.dicti2a[1226100u] = new MobUt.Tx8(this.funct0012b574); - this.dicti2a[1226124u] = new MobUt.Tx8(this.funct0012b58c); - this.dicti2a[1226132u] = new MobUt.Tx8(this.funct0012b594); - this.dicti2a[1226156u] = new MobUt.Tx8(this.funct0012b5ac); - this.dicti2a[1226164u] = new MobUt.Tx8(this.funct0012b5b4); - this.dicti2a[1226216u] = new MobUt.Tx8(this.funct0012b5e8); - this.dicti2a[1226244u] = new MobUt.Tx8(this.funct0012b604); - this.dicti2a[1226256u] = new MobUt.Tx8(this.funct0012b610); - this.dicti2a[1226272u] = new MobUt.Tx8(this.funct0012b620); - this.dicti2a[1226284u] = new MobUt.Tx8(this.funct0012b62c); - this.dicti2a[1226304u] = new MobUt.Tx8(this.funct0012b640); - this.dicti2a[1226316u] = new MobUt.Tx8(this.funct0012b64c); - this.dicti2a[1226328u] = new MobUt.Tx8(this.funct0012b658); - this.dicti2a[1226340u] = new MobUt.Tx8(this.funct0012b664); - this.dicti2a[1226356u] = new MobUt.Tx8(this.funct0012b674); - this.dicti2a[1226380u] = new MobUt.Tx8(this.funct0012b68c); - this.dicti2a[1226392u] = new MobUt.Tx8(this.funct0012b698); - this.dicti2a[1226408u] = new MobUt.Tx8(this.funct0012b6a8); - this.dicti2a[1226424u] = new MobUt.Tx8(this.funct0012b6b8); - this.dicti2a[1226440u] = new MobUt.Tx8(this.funct0012b6c8); - this.dicti2a[1226460u] = new MobUt.Tx8(this.funct0012b6dc); - this.dicti2a[1226664u] = new MobUt.Tx8(this.funct0012b7a8); - this.dicti2a[1226692u] = new MobUt.Tx8(this.funct0012b7c4); - this.dicti2a[1226712u] = new MobUt.Tx8(this.funct0012b7d8); - this.dicti2a[1226724u] = new MobUt.Tx8(this.funct0012b7e4); - this.dicti2a[1226764u] = new MobUt.Tx8(this.funct0012b80c); - this.dicti2a[1226784u] = new MobUt.Tx8(this.funct0012b820); - this.dicti2a[1226796u] = new MobUt.Tx8(this.funct0012b82c); - this.dicti2a[1226824u] = new MobUt.Tx8(this.funct0012b848); - this.dicti2a[1226832u] = new MobUt.Tx8(this.funct0012b850); - this.dicti2a[1226848u] = new MobUt.Tx8(this.funct0012b860); - this.dicti2a[1226856u] = new MobUt.Tx8(this.funct0012b868); - this.dicti2a[1226876u] = new MobUt.Tx8(this.funct0012b87c); - this.dicti2a[1226884u] = new MobUt.Tx8(this.funct0012b884); - this.dicti2a[1226900u] = new MobUt.Tx8(this.funct0012b894); - this.dicti2a[1226908u] = new MobUt.Tx8(this.funct0012b89c); - this.dicti2a[1226948u] = new MobUt.Tx8(this.funct0012b8c4); - this.dicti2a[1226976u] = new MobUt.Tx8(this.funct0012b8e0); - this.dicti2a[1227000u] = new MobUt.Tx8(this.funct0012b8f8); - this.dicti2a[1227012u] = new MobUt.Tx8(this.funct0012b904); - this.dicti2a[1227032u] = new MobUt.Tx8(this.funct0012b918); - this.dicti2a[1227056u] = new MobUt.Tx8(this.funct0012b930); - this.dicti2a[1227132u] = new MobUt.Tx8(this.funct0012b97c); - this.dicti2a[1227148u] = new MobUt.Tx8(this.funct0012b98c); - this.dicti2a[1227160u] = new MobUt.Tx8(this.funct0012b998); - this.dicti2a[1227184u] = new MobUt.Tx8(this.funct0012b9b0); - this.dicti2a[1227192u] = new MobUt.Tx8(this.funct0012b9b8); - this.dicti2a[1227220u] = new MobUt.Tx8(this.funct0012b9d4); - this.dicti2a[1227244u] = new MobUt.Tx8(this.funct0012b9ec); - this.dicti2a[1227272u] = new MobUt.Tx8(this.funct0012ba08); - this.dicti2a[1227284u] = new MobUt.Tx8(this.funct0012ba14); - this.dicti2a[1227292u] = new MobUt.Tx8(this.funct0012ba1c); - this.dicti2a[1227300u] = new MobUt.Tx8(this.funct0012ba24); - this.dicti2a[1227312u] = new MobUt.Tx8(this.funct0012ba30); - this.dicti2a[1227320u] = new MobUt.Tx8(this.funct0012ba38); - this.dicti2a[1227328u] = new MobUt.Tx8(this.funct0012ba40); - this.dicti2a[1227336u] = new MobUt.Tx8(this.funct0012ba48); - this.dicti2a[1227348u] = new MobUt.Tx8(this.funct0012ba54); - this.dicti2a[1227380u] = new MobUt.Tx8(this.funct0012ba74); - this.dicti2a[1227572u] = new MobUt.Tx8(this.funct0012bb34); - this.dicti2a[1227584u] = new MobUt.Tx8(this.funct0012bb40); - this.dicti2a[1227604u] = new MobUt.Tx8(this.funct0012bb54); - this.dicti2a[1227616u] = new MobUt.Tx8(this.funct0012bb60); - this.dicti2a[1227628u] = new MobUt.Tx8(this.funct0012bb6c); - this.dicti2a[1227712u] = new MobUt.Tx8(this.funct0012bbc0); - this.dicti2a[1227724u] = new MobUt.Tx8(this.funct0012bbcc); - this.dicti2a[1227736u] = new MobUt.Tx8(this.funct0012bbd8); - this.dicti2a[1227752u] = new MobUt.Tx8(this.funct0012bbe8); - this.dicti2a[1227760u] = new MobUt.Tx8(this.funct0012bbf0); - this.dicti2a[1227772u] = new MobUt.Tx8(this.funct0012bbfc); - this.dicti2a[1227792u] = new MobUt.Tx8(this.funct0012bc10); - this.dicti2a[1227800u] = new MobUt.Tx8(this.funct0012bc18); - this.dicti2a[1227812u] = new MobUt.Tx8(this.funct0012bc24); - this.dicti2a[1227864u] = new MobUt.Tx8(this.funct0012bc58); - this.dicti2a[1227872u] = new MobUt.Tx8(this.funct0012bc60); - this.dicti2a[1227940u] = new MobUt.Tx8(this.funct0012bca4); - this.dicti2a[1227948u] = new MobUt.Tx8(this.funct0012bcac); - this.dicti2a[1227964u] = new MobUt.Tx8(this.funct0012bcbc); - this.dicti2a[1227984u] = new MobUt.Tx8(this.funct0012bcd0); - this.dicti2a[1228000u] = new MobUt.Tx8(this.funct0012bce0); - this.dicti2a[1228008u] = new MobUt.Tx8(this.funct0012bce8); - this.dicti2a[1228020u] = new MobUt.Tx8(this.funct0012bcf4); - this.dicti2a[1228052u] = new MobUt.Tx8(this.funct0012bd14); - this.dicti2a[1228164u] = new MobUt.Tx8(this.funct0012bd84); - this.dicti2a[1228172u] = new MobUt.Tx8(this.funct0012bd8c); - this.dicti2a[1228304u] = new MobUt.Tx8(this.funct0012be10); - this.dicti2a[1228356u] = new MobUt.Tx8(this.funct0012be44); - this.dicti2a[1228364u] = new MobUt.Tx8(this.funct0012be4c); - this.dicti2a[1228380u] = new MobUt.Tx8(this.funct0012be5c); - this.dicti2a[1228404u] = new MobUt.Tx8(this.funct0012be74); - this.dicti2a[1228424u] = new MobUt.Tx8(this.funct0012be88); - this.dicti2a[1228432u] = new MobUt.Tx8(this.funct0012be90); - this.dicti2a[1228448u] = new MobUt.Tx8(this.funct0012bea0); - this.dicti2a[1228456u] = new MobUt.Tx8(this.funct0012bea8); - this.dicti2a[1228472u] = new MobUt.Tx8(this.funct0012beb8); - this.dicti2a[1228488u] = new MobUt.Tx8(this.funct0012bec8); - this.dicti2a[1228504u] = new MobUt.Tx8(this.funct0012bed8); - this.dicti2a[1228528u] = new MobUt.Tx8(this.funct0012bef0); - this.dicti2a[1228568u] = new MobUt.Tx8(this.funct0012bf18); - this.dicti2a[1228584u] = new MobUt.Tx8(this.funct0012bf28); - this.dicti2a[1228600u] = new MobUt.Tx8(this.funct0012bf38); - this.dicti2a[1228616u] = new MobUt.Tx8(this.funct0012bf48); - this.dicti2a[1228644u] = new MobUt.Tx8(this.funct0012bf64); - this.dicti2a[1228684u] = new MobUt.Tx8(this.funct0012bf8c); - this.dicti2a[1228696u] = new MobUt.Tx8(this.funct0012bf98); - this.dicti2a[1228712u] = new MobUt.Tx8(this.funct0012bfa8); - this.dicti2a[1228752u] = new MobUt.Tx8(this.funct0012bfd0); - this.dicti2a[1228812u] = new MobUt.Tx8(this.funct0012c00c); - this.dicti2a[1228856u] = new MobUt.Tx8(this.funct0012c038); - this.dicti2a[1228908u] = new MobUt.Tx8(this.funct0012c06c); - this.dicti2a[1228916u] = new MobUt.Tx8(this.funct0012c074); - this.dicti2a[1228924u] = new MobUt.Tx8(this.funct0012c07c); - this.dicti2a[1228932u] = new MobUt.Tx8(this.funct0012c084); - this.dicti2a[1228952u] = new MobUt.Tx8(this.funct0012c098); - this.dicti2a[1228960u] = new MobUt.Tx8(this.funct0012c0a0); - this.dicti2a[1228972u] = new MobUt.Tx8(this.funct0012c0ac); - this.dicti2a[1228992u] = new MobUt.Tx8(this.funct0012c0c0); - this.dicti2a[1229000u] = new MobUt.Tx8(this.funct0012c0c8); - this.dicti2a[1229016u] = new MobUt.Tx8(this.funct0012c0d8); - this.dicti2a[1229024u] = new MobUt.Tx8(this.funct0012c0e0); - this.dicti2a[1229152u] = new MobUt.Tx8(this.funct0012c160); - this.dicti2a[1229204u] = new MobUt.Tx8(this.funct0012c194); - this.dicti2a[1229212u] = new MobUt.Tx8(this.funct0012c19c); - this.dicti2a[1229228u] = new MobUt.Tx8(this.funct0012c1ac); - this.dicti2a[1229464u] = new MobUt.Tx8(this.funct0012c298); - this.dicti2a[1229492u] = new MobUt.Tx8(this.funct0012c2b4); - this.dicti2a[1229500u] = new MobUt.Tx8(this.funct0012c2bc); - this.dicti2a[1229620u] = new MobUt.Tx8(this.funct0012c334); - this.dicti2a[1229660u] = new MobUt.Tx8(this.funct0012c35c); - this.dicti2a[1229680u] = new MobUt.Tx8(this.funct0012c370); - this.dicti2a[1229696u] = new MobUt.Tx8(this.funct0012c380); - this.dicti2a[1229712u] = new MobUt.Tx8(this.funct0012c390); - this.dicti2a[1229732u] = new MobUt.Tx8(this.funct0012c3a4); - this.dicti2a[1229756u] = new MobUt.Tx8(this.funct0012c3bc); - this.dicti2a[1229772u] = new MobUt.Tx8(this.funct0012c3cc); - this.dicti2a[1229796u] = new MobUt.Tx8(this.funct0012c3e4); - this.dicti2a[1229816u] = new MobUt.Tx8(this.funct0012c3f8); - this.dicti2a[1229824u] = new MobUt.Tx8(this.funct0012c400); - this.dicti2a[1229832u] = new MobUt.Tx8(this.funct0012c408); - this.dicti2a[1229844u] = new MobUt.Tx8(this.funct0012c414); - this.dicti2a[1229864u] = new MobUt.Tx8(this.funct0012c428); - this.dicti2a[1229872u] = new MobUt.Tx8(this.funct0012c430); - this.dicti2a[1229900u] = new MobUt.Tx8(this.funct0012c44c); - this.dicti2a[1229908u] = new MobUt.Tx8(this.funct0012c454); - this.dicti2a[1229924u] = new MobUt.Tx8(this.funct0012c464); - this.dicti2a[1229928u] = new MobUt.Tx8(this.funct0012c468); - this.dicti2a[1229948u] = new MobUt.Tx8(this.funct0012c47c); - this.dicti2a[1229956u] = new MobUt.Tx8(this.funct0012c484); - this.dicti2a[1229972u] = new MobUt.Tx8(this.funct0012c494); - this.dicti2a[1229980u] = new MobUt.Tx8(this.funct0012c49c); - this.dicti2a[1229988u] = new MobUt.Tx8(this.funct0012c4a4); - this.dicti2a[1230008u] = new MobUt.Tx8(this.funct0012c4b8); - this.dicti2a[1230016u] = new MobUt.Tx8(this.funct0012c4c0); - this.dicti2a[1230032u] = new MobUt.Tx8(this.funct0012c4d0); - this.dicti2a[1230056u] = new MobUt.Tx8(this.funct0012c4e8); - this.dicti2a[1230068u] = new MobUt.Tx8(this.funct0012c4f4); - this.dicti2a[1230092u] = new MobUt.Tx8(this.funct0012c50c); - this.dicti2a[1230100u] = new MobUt.Tx8(this.funct0012c514); - this.dicti2a[1230220u] = new MobUt.Tx8(this.funct0012c58c); - this.dicti2a[1230260u] = new MobUt.Tx8(this.funct0012c5b4); - this.dicti2a[1230280u] = new MobUt.Tx8(this.funct0012c5c8); - this.dicti2a[1230308u] = new MobUt.Tx8(this.funct0012c5e4); - this.dicti2a[1230316u] = new MobUt.Tx8(this.funct0012c5ec); - this.dicti2a[1230436u] = new MobUt.Tx8(this.funct0012c664); - this.dicti2a[1230476u] = new MobUt.Tx8(this.funct0012c68c); - this.dicti2a[1230496u] = new MobUt.Tx8(this.funct0012c6a0); - this.dicti2a[1230516u] = new MobUt.Tx8(this.funct0012c6b4); - this.dicti2a[1230540u] = new MobUt.Tx8(this.funct0012c6cc); - this.dicti2a[1230556u] = new MobUt.Tx8(this.funct0012c6dc); - this.dicti2a[1230580u] = new MobUt.Tx8(this.funct0012c6f4); - this.dicti2a[1230608u] = new MobUt.Tx8(this.funct0012c710); - this.dicti2a[1230624u] = new MobUt.Tx8(this.funct0012c720); - this.dicti2a[1230648u] = new MobUt.Tx8(this.funct0012c738); - this.dicti2a[1230656u] = new MobUt.Tx8(this.funct0012c740); - this.dicti2a[1230668u] = new MobUt.Tx8(this.funct0012c74c); - this.dicti2a[1230700u] = new MobUt.Tx8(this.funct0012c76c); - this.dicti2a[1230736u] = new MobUt.Tx8(this.funct0012c790); - this.dicti2a[1230764u] = new MobUt.Tx8(this.funct0012c7ac); - this.dicti2a[1230852u] = new MobUt.Tx8(this.funct0012c804); - this.dicti2a[1230904u] = new MobUt.Tx8(this.funct0012c838); - this.dicti2a[1230912u] = new MobUt.Tx8(this.funct0012c840); - this.dicti2a[1230920u] = new MobUt.Tx8(this.funct0012c848); - this.dicti2a[1230936u] = new MobUt.Tx8(this.funct0012c858); - this.dicti2a[1230944u] = new MobUt.Tx8(this.funct0012c860); - this.dicti2a[1230976u] = new MobUt.Tx8(this.funct0012c880); - this.dicti2a[1231028u] = new MobUt.Tx8(this.funct0012c8b4); - this.dicti2a[1231044u] = new MobUt.Tx8(this.funct0012c8c4); - this.dicti2a[1231056u] = new MobUt.Tx8(this.funct0012c8d0); - this.dicti2a[1231072u] = new MobUt.Tx8(this.funct0012c8e0); - this.dicti2a[1231080u] = new MobUt.Tx8(this.funct0012c8e8); - this.dicti2a[1231088u] = new MobUt.Tx8(this.funct0012c8f0); - this.dicti2a[1231116u] = new MobUt.Tx8(this.funct0012c90c); - this.dicti2a[1231144u] = new MobUt.Tx8(this.funct0012c928); - this.dicti2a[1231228u] = new MobUt.Tx8(this.funct0012c97c); - this.dicti2a[1231232u] = new MobUt.Tx8(this.funct0012c980); - this.dicti2a[1231244u] = new MobUt.Tx8(this.funct0012c98c); - this.dicti2a[1231296u] = new MobUt.Tx8(this.funct0012c9c0); - this.dicti2a[1231308u] = new MobUt.Tx8(this.funct0012c9cc); - this.dicti2a[1231324u] = new MobUt.Tx8(this.funct0012c9dc); - this.dicti2a[1231344u] = new MobUt.Tx8(this.funct0012c9f0); - this.dicti2a[1231352u] = new MobUt.Tx8(this.funct0012c9f8); - this.dicti2a[1231404u] = new MobUt.Tx8(this.funct0012ca2c); - this.dicti2a[1231420u] = new MobUt.Tx8(this.funct0012ca3c); - this.dicti2a[1231440u] = new MobUt.Tx8(this.funct0012ca50); - this.dicti2a[1231456u] = new MobUt.Tx8(this.funct0012ca60); - this.dicti2a[1231464u] = new MobUt.Tx8(this.funct0012ca68); - this.dicti2a[1231496u] = new MobUt.Tx8(this.funct0012ca88); - this.dicti2a[1231520u] = new MobUt.Tx8(this.funct0012caa0); - this.dicti2a[1231528u] = new MobUt.Tx8(this.funct0012caa8); - this.dicti2a[1231540u] = new MobUt.Tx8(this.funct0012cab4); - this.dicti2a[1231580u] = new MobUt.Tx8(this.funct0012cadc); - this.dicti2a[1231600u] = new MobUt.Tx8(this.funct0012caf0); - this.dicti2a[1231620u] = new MobUt.Tx8(this.funct0012cb04); - this.dicti2a[1231628u] = new MobUt.Tx8(this.funct0012cb0c); - this.dicti2a[1231636u] = new MobUt.Tx8(this.funct0012cb14); - this.dicti2a[1231684u] = new MobUt.Tx8(this.funct0012cb44); - this.dicti2a[1231696u] = new MobUt.Tx8(this.funct0012cb50); - this.dicti2a[1231756u] = new MobUt.Tx8(this.funct0012cb8c); - this.dicti2a[1231788u] = new MobUt.Tx8(this.funct0012cbac); - this.dicti2a[1231968u] = new MobUt.Tx8(this.funct0012cc60); - this.dicti2a[1232004u] = new MobUt.Tx8(this.funct0012cc84); - this.dicti2a[1232016u] = new MobUt.Tx8(this.funct0012cc90); - this.dicti2a[1232028u] = new MobUt.Tx8(this.funct0012cc9c); - this.dicti2a[1232064u] = new MobUt.Tx8(this.funct0012ccc0); - this.dicti2a[1232144u] = new MobUt.Tx8(this.funct0012cd10); - this.dicti2a[1232164u] = new MobUt.Tx8(this.funct0012cd24); - this.dicti2a[1232172u] = new MobUt.Tx8(this.funct0012cd2c); - this.dicti2a[1232200u] = new MobUt.Tx8(this.funct0012cd48); - this.dicti2a[1232208u] = new MobUt.Tx8(this.funct0012cd50); - this.dicti2a[1232224u] = new MobUt.Tx8(this.funct0012cd60); - this.dicti2a[1232232u] = new MobUt.Tx8(this.funct0012cd68); - this.dicti2a[1232260u] = new MobUt.Tx8(this.funct0012cd84); - this.dicti2a[1232268u] = new MobUt.Tx8(this.funct0012cd8c); - this.dicti2a[1232284u] = new MobUt.Tx8(this.funct0012cd9c); - this.dicti2a[1232304u] = new MobUt.Tx8(this.funct0012cdb0); - this.dicti2a[1232328u] = new MobUt.Tx8(this.funct0012cdc8); - this.dicti2a[1232344u] = new MobUt.Tx8(this.funct0012cdd8); - this.dicti2a[1232348u] = new MobUt.Tx8(this.funct0012cddc); - this.dicti2a[1232364u] = new MobUt.Tx8(this.funct0012cdec); - this.dicti2a[1232372u] = new MobUt.Tx8(this.funct0012cdf4); - this.dicti2a[1232412u] = new MobUt.Tx8(this.funct0012ce1c); - this.dicti2a[1232420u] = new MobUt.Tx8(this.funct0012ce24); - this.dicti2a[1232544u] = new MobUt.Tx8(this.funct0012cea0); - this.dicti2a[1232596u] = new MobUt.Tx8(this.funct0012ced4); - this.dicti2a[1232604u] = new MobUt.Tx8(this.funct0012cedc); - this.dicti2a[1232620u] = new MobUt.Tx8(this.funct0012ceec); - this.dicti2a[1232672u] = new MobUt.Tx8(this.funct0012cf20); - this.dicti2a[1232680u] = new MobUt.Tx8(this.funct0012cf28); - this.dicti2a[1232748u] = new MobUt.Tx8(this.funct0012cf6c); - this.dicti2a[1232756u] = new MobUt.Tx8(this.funct0012cf74); - this.dicti2a[1232772u] = new MobUt.Tx8(this.funct0012cf84); - this.dicti2a[1232812u] = new MobUt.Tx8(this.funct0012cfac); - this.dicti2a[1232820u] = new MobUt.Tx8(this.funct0012cfb4); - this.dicti2a[1232840u] = new MobUt.Tx8(this.funct0012cfc8); - this.dicti2a[1232848u] = new MobUt.Tx8(this.funct0012cfd0); - this.dicti2a[1232868u] = new MobUt.Tx8(this.funct0012cfe4); - this.dicti2a[1232876u] = new MobUt.Tx8(this.funct0012cfec); - this.dicti2a[1232928u] = new MobUt.Tx8(this.funct0012d020); - this.dicti2a[1232956u] = new MobUt.Tx8(this.funct0012d03c); - this.dicti2a[1232976u] = new MobUt.Tx8(this.funct0012d050); - this.dicti2a[1232988u] = new MobUt.Tx8(this.funct0012d05c); - this.dicti2a[1233004u] = new MobUt.Tx8(this.funct0012d06c); - this.dicti2a[1233020u] = new MobUt.Tx8(this.funct0012d07c); - this.dicti2a[1233036u] = new MobUt.Tx8(this.funct0012d08c); - this.dicti2a[1233056u] = new MobUt.Tx8(this.funct0012d0a0); - this.dicti2a[1233112u] = new MobUt.Tx8(this.funct0012d0d8); - this.dicti2a[1233136u] = new MobUt.Tx8(this.funct0012d0f0); - this.dicti2a[1233156u] = new MobUt.Tx8(this.funct0012d104); - this.dicti2a[1233184u] = new MobUt.Tx8(this.funct0012d120); - this.dicti2a[1233196u] = new MobUt.Tx8(this.funct0012d12c); - this.dicti2a[1233220u] = new MobUt.Tx8(this.funct0012d144); - this.dicti2a[1233240u] = new MobUt.Tx8(this.funct0012d158); - this.dicti2a[1233248u] = new MobUt.Tx8(this.funct0012d160); - this.dicti2a[1233272u] = new MobUt.Tx8(this.funct0012d178); - this.dicti2a[1233280u] = new MobUt.Tx8(this.funct0012d180); - this.dicti2a[1233296u] = new MobUt.Tx8(this.funct0012d190); - this.dicti2a[1233304u] = new MobUt.Tx8(this.funct0012d198); - this.dicti2a[1233336u] = new MobUt.Tx8(this.funct0012d1b8); - this.dicti2a[1233360u] = new MobUt.Tx8(this.funct0012d1d0); - this.dicti2a[1233380u] = new MobUt.Tx8(this.funct0012d1e4); - this.dicti2a[1233408u] = new MobUt.Tx8(this.funct0012d200); - this.dicti2a[1233432u] = new MobUt.Tx8(this.funct0012d218); - this.dicti2a[1233460u] = new MobUt.Tx8(this.funct0012d234); - this.dicti2a[1233484u] = new MobUt.Tx8(this.funct0012d24c); - this.dicti2a[1233508u] = new MobUt.Tx8(this.funct0012d264); - this.dicti2a[1233608u] = new MobUt.Tx8(this.funct0012d2c8); - this.dicti2a[1233616u] = new MobUt.Tx8(this.funct0012d2d0); - this.dicti2a[1233644u] = new MobUt.Tx8(this.funct0012d2ec); - this.dicti2a[1233652u] = new MobUt.Tx8(this.funct0012d2f4); - this.dicti2a[1233680u] = new MobUt.Tx8(this.funct0012d310); - this.dicti2a[1233696u] = new MobUt.Tx8(this.funct0012d320); - this.dicti2a[1233724u] = new MobUt.Tx8(this.funct0012d33c); - this.dicti2a[1233748u] = new MobUt.Tx8(this.funct0012d354); - this.dicti2a[1233756u] = new MobUt.Tx8(this.funct0012d35c); - this.dicti2a[1233764u] = new MobUt.Tx8(this.funct0012d364); - this.dicti2a[1233780u] = new MobUt.Tx8(this.funct0012d374); - this.dicti2a[1233808u] = new MobUt.Tx8(this.funct0012d390); - this.dicti2a[1233820u] = new MobUt.Tx8(this.funct0012d39c); - this.dicti2a[1233844u] = new MobUt.Tx8(this.funct0012d3b4); - this.dicti2a[1233864u] = new MobUt.Tx8(this.funct0012d3c8); - this.dicti2a[1233888u] = new MobUt.Tx8(this.funct0012d3e0); - this.dicti2a[1233896u] = new MobUt.Tx8(this.funct0012d3e8); - this.dicti2a[1233936u] = new MobUt.Tx8(this.funct0012d410); - this.dicti2a[1233976u] = new MobUt.Tx8(this.funct0012d438); - this.dicti2a[1234000u] = new MobUt.Tx8(this.funct0012d450); - this.dicti2a[1234020u] = new MobUt.Tx8(this.funct0012d464); - this.dicti2a[1234028u] = new MobUt.Tx8(this.funct0012d46c); - this.dicti2a[1234068u] = new MobUt.Tx8(this.funct0012d494); - this.dicti2a[1234092u] = new MobUt.Tx8(this.funct0012d4ac); - this.dicti2a[1234112u] = new MobUt.Tx8(this.funct0012d4c0); - this.dicti2a[1234120u] = new MobUt.Tx8(this.funct0012d4c8); - this.dicti2a[1234132u] = new MobUt.Tx8(this.funct0012d4d4); - this.dicti2a[1234156u] = new MobUt.Tx8(this.funct0012d4ec); - this.dicti2a[1234164u] = new MobUt.Tx8(this.funct0012d4f4); - this.dicti2a[1317840u] = new MobUt.Tx8(this.funct00141bd0); - this.dicti2a[1317856u] = new MobUt.Tx8(this.funct00141be0); - this.dicti2a[1317864u] = new MobUt.Tx8(this.funct00141be8); - this.dicti2a[1317940u] = new MobUt.Tx8(this.funct00141c34); - this.dicti2a[1318520u] = new MobUt.Tx8(this.funct00141e78); - this.dicti2a[1318552u] = new MobUt.Tx8(this.funct00141e98); - this.dicti2a[1318636u] = new MobUt.Tx8(this.funct00141eec); - this.dicti2a[1318644u] = new MobUt.Tx8(this.funct00141ef4); - this.dicti2a[1318664u] = new MobUt.Tx8(this.funct00141f08); - this.dicti2a[1318668u] = new MobUt.Tx8(this.funct00141f0c); - this.dicti2a[1318688u] = new MobUt.Tx8(this.funct00141f20); - this.dicti2a[1318700u] = new MobUt.Tx8(this.funct00141f2c); - this.dicti2a[1318708u] = new MobUt.Tx8(this.funct00141f34); - this.dicti2a[1318728u] = new MobUt.Tx8(this.funct00141f48); - this.dicti2a[1318732u] = new MobUt.Tx8(this.funct00141f4c); - this.dicti2a[1318792u] = new MobUt.Tx8(this.funct00141f88); - this.dicti2a[1318804u] = new MobUt.Tx8(this.funct00141f94); - this.dicti2a[1318836u] = new MobUt.Tx8(this.funct00141fb4); - this.dicti2a[1318848u] = new MobUt.Tx8(this.funct00141fc0); - this.dicti2a[1318860u] = new MobUt.Tx8(this.funct00141fcc); - this.dicti2a[1318868u] = new MobUt.Tx8(this.funct00141fd4); - this.dicti2a[1318884u] = new MobUt.Tx8(this.funct00141fe4); - this.dicti2a[1318904u] = new MobUt.Tx8(this.funct00141ff8); - this.dicti2a[1318912u] = new MobUt.Tx8(this.funct00142000); - this.dicti2a[1318928u] = new MobUt.Tx8(this.funct00142010); - this.dicti2a[1318956u] = new MobUt.Tx8(this.funct0014202c); - this.dicti2a[1318972u] = new MobUt.Tx8(this.funct0014203c); - this.dicti2a[1318976u] = new MobUt.Tx8(this.funct00142040); - this.dicti2a[1318988u] = new MobUt.Tx8(this.funct0014204c); - this.dicti2a[1319004u] = new MobUt.Tx8(this.funct0014205c); - this.dicti2a[1319016u] = new MobUt.Tx8(this.funct00142068); - this.dicti2a[1319040u] = new MobUt.Tx8(this.funct00142080); - this.dicti2a[1319052u] = new MobUt.Tx8(this.funct0014208c); - this.dicti2a[1319056u] = new MobUt.Tx8(this.funct00142090); - this.dicti2a[1319100u] = new MobUt.Tx8(this.funct001420bc); - this.dicti2a[1319128u] = new MobUt.Tx8(this.funct001420d8); - this.dicti2a[1319220u] = new MobUt.Tx8(this.funct00142134); - this.dicti2a[1319232u] = new MobUt.Tx8(this.funct00142140); - this.dicti2a[1319272u] = new MobUt.Tx8(this.funct00142168); - this.dicti2a[1319316u] = new MobUt.Tx8(this.funct00142194); - this.dicti2a[1319432u] = new MobUt.Tx8(this.funct00142208); - this.dicti2a[1319448u] = new MobUt.Tx8(this.funct00142218); - this.dicti2a[1319504u] = new MobUt.Tx8(this.funct00142250); - this.dicti2a[1319712u] = new MobUt.Tx8(this.funct00142320); - this.dicti2a[1319724u] = new MobUt.Tx8(this.funct0014232c); - this.dicti2a[1319760u] = new MobUt.Tx8(this.funct00142350); - this.dicti2a[1319804u] = new MobUt.Tx8(this.funct0014237c); - this.dicti2a[1319812u] = new MobUt.Tx8(this.funct00142384); - this.dicti2a[1319820u] = new MobUt.Tx8(this.funct0014238c); - this.dicti2a[1319836u] = new MobUt.Tx8(this.funct0014239c); - this.dicti2a[1319852u] = new MobUt.Tx8(this.funct001423ac); - this.dicti2a[1319876u] = new MobUt.Tx8(this.funct001423c4); - this.dicti2a[1319896u] = new MobUt.Tx8(this.funct001423d8); - this.dicti2a[1319992u] = new MobUt.Tx8(this.funct00142438); - this.dicti2a[1326792u] = new MobUt.Tx8(this.funct00143ec8); - this.dicti2a[1326864u] = new MobUt.Tx8(this.funct00143f10); - this.dicti2a[1326892u] = new MobUt.Tx8(this.funct00143f2c); - this.dicti2a[1326916u] = new MobUt.Tx8(this.funct00143f44); - this.dicti2a[1329272u] = new MobUt.Tx8(this.funct00144878); - this.dicti2a[1329728u] = new MobUt.Tx8(this.funct00144a40); - this.dicti2a[1329756u] = new MobUt.Tx8(this.funct00144a5c); - this.dicti2a[1329780u] = new MobUt.Tx8(this.funct00144a74); - this.dicti2a[1329820u] = new MobUt.Tx8(this.funct00144a9c); - this.dicti2a[1329828u] = new MobUt.Tx8(this.funct00144aa4); - this.dicti2a[1329844u] = new MobUt.Tx8(this.funct00144ab4); - this.dicti2a[1331344u] = new MobUt.Tx8(this.funct00145090); - this.dicti2a[1331376u] = new MobUt.Tx8(this.funct001450b0); - this.dicti2a[1331428u] = new MobUt.Tx8(this.funct001450e4); - this.dicti2a[1331508u] = new MobUt.Tx8(this.funct00145134); - this.dicti2a[1331532u] = new MobUt.Tx8(this.funct0014514c); - this.dicti2a[1331612u] = new MobUt.Tx8(this.funct0014519c); - this.dicti2a[1331636u] = new MobUt.Tx8(this.funct001451b4); - this.dicti2a[1331716u] = new MobUt.Tx8(this.funct00145204); - this.dicti2a[1331740u] = new MobUt.Tx8(this.funct0014521c); - this.dicti2a[1331820u] = new MobUt.Tx8(this.funct0014526c); - this.dicti2a[1331844u] = new MobUt.Tx8(this.funct00145284); - this.dicti2a[1331924u] = new MobUt.Tx8(this.funct001452d4); - this.dicti2a[1331948u] = new MobUt.Tx8(this.funct001452ec); - this.dicti2a[1332028u] = new MobUt.Tx8(this.funct0014533c); - this.dicti2a[1333216u] = new MobUt.Tx8(this.funct001457e0); - this.dicti2a[1333236u] = new MobUt.Tx8(this.funct001457f4); - this.dicti2a[1333256u] = new MobUt.Tx8(this.funct00145808); - this.dicti2a[1333276u] = new MobUt.Tx8(this.funct0014581c); - this.dicti2a[1333296u] = new MobUt.Tx8(this.funct00145830); - this.dicti2a[1333316u] = new MobUt.Tx8(this.funct00145844); - this.dicti2a[1333332u] = new MobUt.Tx8(this.funct00145854); - this.dicti2a[1450744u] = new MobUt.Tx8(this.funct001622f8); - this.dicti2a[1450792u] = new MobUt.Tx8(this.funct00162328); - this.dicti2a[1450800u] = new MobUt.Tx8(this.funct00162330); - this.dicti2a[1450904u] = new MobUt.Tx8(this.funct00162398); - this.dicti2a[1450940u] = new MobUt.Tx8(this.funct001623bc); - this.dicti2a[1450980u] = new MobUt.Tx8(this.funct001623e4); - this.dicti2a[1451032u] = new MobUt.Tx8(this.funct00162418); - this.dicti2a[1451036u] = new MobUt.Tx8(this.funct0016241c); - this.dicti2a[1451044u] = new MobUt.Tx8(this.funct00162424); - this.dicti2a[1451052u] = new MobUt.Tx8(this.funct0016242c); - this.dicti2a[1451116u] = new MobUt.Tx8(this.funct0016246c); - this.dicti2a[1451632u] = new MobUt.Tx8(this.funct00162670); - this.dicti2a[1451696u] = new MobUt.Tx8(this.funct001626b0); - this.dicti2a[1451796u] = new MobUt.Tx8(this.funct00162714); - this.dicti2a[1451808u] = new MobUt.Tx8(this.funct00162720); - this.dicti2a[1451836u] = new MobUt.Tx8(this.funct0016273c); - this.dicti2a[1451868u] = new MobUt.Tx8(this.funct0016275c); - this.dicti2a[1451888u] = new MobUt.Tx8(this.funct00162770); - this.dicti2a[1451896u] = new MobUt.Tx8(this.funct00162778); - this.dicti2a[1465000u] = new MobUt.Tx8(this.funct00165aa8); - this.dicti2a[1465116u] = new MobUt.Tx8(this.funct00165b1c); - this.dicti2a[1465124u] = new MobUt.Tx8(this.funct00165b24); - this.dicti2a[1465312u] = new MobUt.Tx8(this.funct00165be0); - this.dicti2a[1465332u] = new MobUt.Tx8(this.funct00165bf4); - this.dicti2a[1465356u] = new MobUt.Tx8(this.funct00165c0c); - this.dicti2a[3123512u] = new MobUt.Tx8(this.funct002fa938); - this.dicti2a[3123608u] = new MobUt.Tx8(this.funct002fa998); - this.dicti2a[3123616u] = new MobUt.Tx8(this.funct002fa9a0); - this.dicti2a[3123620u] = new MobUt.Tx8(this.funct002fa9a4); - this.dicti2a[3123632u] = new MobUt.Tx8(this.funct002fa9b0); - this.dicti2a[3123660u] = new MobUt.Tx8(this.funct002fa9cc); - this.dicti2a[3123672u] = new MobUt.Tx8(this.funct002fa9d8); - this.dicti2a[3123680u] = new MobUt.Tx8(this.funct002fa9e0); - this.dicti2a[3123700u] = new MobUt.Tx8(this.funct002fa9f4); - this.dicti2a[3123748u] = new MobUt.Tx8(this.funct002faa24); - this.dicti2a[3123788u] = new MobUt.Tx8(this.funct002faa4c); - this.dicti2a[3123800u] = new MobUt.Tx8(this.funct002faa58); - this.dicti2a[3123828u] = new MobUt.Tx8(this.funct002faa74); - this.dicti2a[3123840u] = new MobUt.Tx8(this.funct002faa80); - this.dicti2a[3123848u] = new MobUt.Tx8(this.funct002faa88); - this.dicti2a[3123868u] = new MobUt.Tx8(this.funct002faa9c); - this.dicti2a[3123920u] = new MobUt.Tx8(this.funct002faad0); - this.dicti2a[3123960u] = new MobUt.Tx8(this.funct002faaf8); - this.dicti2a[3123968u] = new MobUt.Tx8(this.funct002fab00); - this.dicti2a[3123996u] = new MobUt.Tx8(this.funct002fab1c); - this.dicti2a[3124008u] = new MobUt.Tx8(this.funct002fab28); - this.dicti2a[3124016u] = new MobUt.Tx8(this.funct002fab30); - this.dicti2a[3124036u] = new MobUt.Tx8(this.funct002fab44); - this.dicti2a[3124088u] = new MobUt.Tx8(this.funct002fab78); - this.dicti2a[3124128u] = new MobUt.Tx8(this.funct002faba0); - this.dicti2a[3142160u] = new MobUt.Tx8(this.funct002ff210); - this.dicti2a[3142240u] = new MobUt.Tx8(this.funct002ff260); - this.dicti2a[3142264u] = new MobUt.Tx8(this.funct002ff278); - this.dicti2a[3142284u] = new MobUt.Tx8(this.funct002ff28c); - this.dicti2a[3142300u] = new MobUt.Tx8(this.funct002ff29c); - this.dicti2a[3142344u] = new MobUt.Tx8(this.funct002ff2c8); - this.dicti2a[3142348u] = new MobUt.Tx8(this.funct002ff2cc); - this.dicti2a[3142568u] = new MobUt.Tx8(this.funct002ff3a8); - this.dicti2a[3142584u] = new MobUt.Tx8(this.funct002ff3b8); - this.dicti2a[3142648u] = new MobUt.Tx8(this.funct002ff3f8); - this.dicti2a[3142656u] = new MobUt.Tx8(this.funct002ff400); - this.dicti2a[3142664u] = new MobUt.Tx8(this.funct002ff408); - this.dicti2a[3142684u] = new MobUt.Tx8(this.funct002ff41c); - this.dicti2a[3142704u] = new MobUt.Tx8(this.funct002ff430); - this.dicti2a[3142744u] = new MobUt.Tx8(this.funct002ff458); - this.dicti2a[3142764u] = new MobUt.Tx8(this.funct002ff46c); - this.dicti2a[3142788u] = new MobUt.Tx8(this.funct002ff484); - this.dicti2a[3142808u] = new MobUt.Tx8(this.funct002ff498); - this.dicti2a[3142852u] = new MobUt.Tx8(this.funct002ff4c4); - this.dicti2a[3143264u] = new MobUt.Tx8(this.funct002ff660); - this.dicti2a[3143848u] = new MobUt.Tx8(this.funct002ff8a8); - this.dicti2a[3143872u] = new MobUt.Tx8(this.funct002ff8c0); - this.dicti2a[3143896u] = new MobUt.Tx8(this.funct002ff8d8); - this.dicti2a[3145816u] = new MobUt.Tx8(this.funct00300058); - this.dicti2a[3145872u] = new MobUt.Tx8(this.funct00300090); - this.dicti2a[3145904u] = new MobUt.Tx8(this.funct003000b0); - this.dicti2a[3145908u] = new MobUt.Tx8(this.funct003000b4); - this.dicti2a[3145940u] = new MobUt.Tx8(this.funct003000d4); - this.dicti2a[3145948u] = new MobUt.Tx8(this.funct003000dc); - this.dicti2a[3145972u] = new MobUt.Tx8(this.funct003000f4); - this.dicti2a[3145988u] = new MobUt.Tx8(this.funct00300104); - this.dicti2a[3146004u] = new MobUt.Tx8(this.funct00300114); - this.dicti2a[3146044u] = new MobUt.Tx8(this.funct0030013c); - this.dicti2a[3146052u] = new MobUt.Tx8(this.funct00300144); - this.dicti2a[3146288u] = new MobUt.Tx8(this.funct00300230); - this.dicti2a[3146308u] = new MobUt.Tx8(this.funct00300244); - this.dicti2a[3146368u] = new MobUt.Tx8(this.funct00300280); - this.dicti2a[3146376u] = new MobUt.Tx8(this.funct00300288); - this.dicti2a[3146384u] = new MobUt.Tx8(this.funct00300290); - this.dicti2a[3146504u] = new MobUt.Tx8(this.funct00300308); - this.dicti2a[3146736u] = new MobUt.Tx8(this.funct003003f0); - this.dicti2a[3146784u] = new MobUt.Tx8(this.funct00300420); - this.dicti2a[3146800u] = new MobUt.Tx8(this.funct00300430); - this.dicti2a[3146832u] = new MobUt.Tx8(this.funct00300450); - this.dicti2a[3146848u] = new MobUt.Tx8(this.funct00300460); - this.dicti2a[3146860u] = new MobUt.Tx8(this.funct0030046c); - this.dicti2a[3146868u] = new MobUt.Tx8(this.funct00300474); - this.dicti2a[3146872u] = new MobUt.Tx8(this.funct00300478); - this.dicti2a[3146876u] = new MobUt.Tx8(this.funct0030047c); - this.dicti2a[3146880u] = new MobUt.Tx8(this.funct00300480); - this.dicti2a[3146896u] = new MobUt.Tx8(this.funct00300490); - this.dicti2a[3146916u] = new MobUt.Tx8(this.funct003004a4); - this.dicti2a[3146952u] = new MobUt.Tx8(this.funct003004c8); - this.dicti2a[3146972u] = new MobUt.Tx8(this.funct003004dc); - this.dicti2a[3147000u] = new MobUt.Tx8(this.funct003004f8); - this.dicti2a[3147008u] = new MobUt.Tx8(this.funct00300500); - this.dicti2a[3147016u] = new MobUt.Tx8(this.funct00300508); - this.dicti2a[3147036u] = new MobUt.Tx8(this.funct0030051c); - this.dicti2a[3147044u] = new MobUt.Tx8(this.funct00300524); - this.dicti2a[3147060u] = new MobUt.Tx8(this.funct00300534); - this.dicti2a[3147068u] = new MobUt.Tx8(this.funct0030053c); - this.dicti2a[3147080u] = new MobUt.Tx8(this.funct00300548); - this.dicti2a[3147112u] = new MobUt.Tx8(this.funct00300568); - this.dicti2a[3147120u] = new MobUt.Tx8(this.funct00300570); - this.dicti2a[3147156u] = new MobUt.Tx8(this.funct00300594); - this.dicti2a[3147192u] = new MobUt.Tx8(this.funct003005b8); - this.dicti2a[3147236u] = new MobUt.Tx8(this.funct003005e4); - this.dicti2a[3147244u] = new MobUt.Tx8(this.funct003005ec); - this.dicti2a[3147252u] = new MobUt.Tx8(this.funct003005f4); - this.dicti2a[3147272u] = new MobUt.Tx8(this.funct00300608); - this.dicti2a[3147292u] = new MobUt.Tx8(this.funct0030061c); - this.dicti2a[3147308u] = new MobUt.Tx8(this.funct0030062c); - this.dicti2a[3147360u] = new MobUt.Tx8(this.funct00300660); - this.dicti2a[3147364u] = new MobUt.Tx8(this.funct00300664); - this.dicti2a[3147472u] = new MobUt.Tx8(this.funct003006d0); - this.dicti2a[3147524u] = new MobUt.Tx8(this.funct00300704); - this.dicti2a[3147532u] = new MobUt.Tx8(this.funct0030070c); - this.dicti2a[3147600u] = new MobUt.Tx8(this.funct00300750); - this.dicti2a[3147612u] = new MobUt.Tx8(this.funct0030075c); - this.dicti2a[3147652u] = new MobUt.Tx8(this.funct00300784); - this.dicti2a[3147744u] = new MobUt.Tx8(this.funct003007e0); - this.dicti2a[3151872u] = new MobUt.Tx8(this.funct00301800); - this.dicti2a[3151908u] = new MobUt.Tx8(this.funct00301824); - this.dicti2a[3151936u] = new MobUt.Tx8(this.funct00301840); - this.dicti2a[3151944u] = new MobUt.Tx8(this.funct00301848); - this.dicti2a[3151988u] = new MobUt.Tx8(this.funct00301874); - this.dicti2a[3152004u] = new MobUt.Tx8(this.funct00301884); - this.dicti2a[3152020u] = new MobUt.Tx8(this.funct00301894); - this.dicti2a[3152028u] = new MobUt.Tx8(this.funct0030189c); - this.dicti2a[3152036u] = new MobUt.Tx8(this.funct003018a4); - this.dicti2a[3152060u] = new MobUt.Tx8(this.funct003018bc); - this.dicti2a[3152072u] = new MobUt.Tx8(this.funct003018c8); - this.dicti2a[3332304u] = new MobUt.Tx8(this.funct0032d8d0); - this.dicti2a[3332316u] = new MobUt.Tx8(this.funct0032d8dc); - this.dicti2a[3332452u] = new MobUt.Tx8(this.funct0032d964); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset.EmuRunner +{ + public partial class Mobrc1 + { + + private CustEE ee = new CustEE(); + + private SortedDictionary dicti2a = new SortedDictionary(); + + public virtual void funct0011b420() + { + this.ee.pc = 1160272u; + // @0011B420 LUI t7, $0035 + this.ee.t7.SD0 = 3473408; + // @0011B424 ADDIU t7, t7, $4260 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16992))); + // @0011B428 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0011B42C LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0011B430 LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0011B434 LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0011B438 SQ t0, $0000(a0) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a0.UL[0])); + // @0011B43C SQ t1, $0010(a0) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a0.UL[0])); + // @0011B440 SQ t2, $0020(a0) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a0.UL[0])); + // @0011B444 SQ t3, $0030(a0) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a0.UL[0])); + // @0011B448 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0011B44C NOP + MobUt.Latency(); + } + + public virtual void funct0011b450() + { + this.ee.pc = 1160300u; + // @0011B450 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0011B454 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @0011B458 SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @0011B45C C.EQ.S $f12, $f0 + this.ee.fcr31_23 = (this.ee.fpr[12].f == this.ee.fpr[0].f); + // @0011B460 SD ra, $0008(sp) + MobUt.SD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @0011B464 BC1T $0011b484 + if (this.ee.fcr31_23) + { + this.ee.pc = 1160324u; + } + // @0011B468 DADDU s0, a0, zero + this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0011b46c() + { + this.ee.pc = 1160308u; + // @0011B46C JAL $0011bdc8 + this.ee.ra.UL0 = 1160308u; + this.ee.pc = 1162696u; + // @0011B470 NOP + MobUt.Latency(); + } + + public virtual void funct0011b474() + { + this.ee.pc = 1160324u; + // @0011B474 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + // @0011B478 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0011B47C JAL $002faa58 + this.ee.ra.UL0 = 1160324u; + this.ee.pc = 3123800u; + // @0011B480 DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0011b484() + { + this.ee.pc = 1160344u; + // @0011B484 DADDU v0, s0, zero + this.ee.v0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0011B488 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @0011B48C LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @0011B490 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0011B494 ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct0011b528() + { + this.ee.pc = 1160536u; + // @0011B528 ADDIU sp, sp, $ffe0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); + // @0011B52C SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @0011B530 SD s1, $0008(sp) + MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @0011B534 SWC1 $f20, $0018(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); + // @0011B538 DADDU s0, a0, zero + this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @0011B53C SD ra, $0010(sp) + MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @0011B540 DADDU s1, a1, zero + this.ee.s1.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @0011B544 MTC1 zero, $f20 + this.ee.fpr[20].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0011B548 LWC1 $f0, $0000(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a1.UL0)); + // @0011B54C C.EQ.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); + // @0011B550 BC1T $0011b570 + if (this.ee.fcr31_23) + { + this.ee.pc = 1160560u; + } + // @0011B554 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + } + + public virtual void funct0011b558() + { + this.ee.pc = 1160544u; + // @0011B558 JAL $0011bdc8 + this.ee.ra.UL0 = 1160544u; + this.ee.pc = 1162696u; + // @0011B55C NOP + MobUt.Latency(); + } + + public virtual void funct0011b560() + { + this.ee.pc = 1160560u; + // @0011B560 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + // @0011B564 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0011B568 JAL $002faa58 + this.ee.ra.UL0 = 1160560u; + this.ee.pc = 3123800u; + // @0011B56C DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0011b570() + { + this.ee.pc = 1160576u; + // @0011B570 LWC1 $f0, $0004(s1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.s1.UL0)); + // @0011B574 C.EQ.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); + // @0011B578 BC1T $0011b598 + if (this.ee.fcr31_23) + { + this.ee.pc = 1160600u; + } + // @0011B57C MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + } + + public virtual void funct0011b580() + { + this.ee.pc = 1160584u; + // @0011B580 JAL $0011bdc8 + this.ee.ra.UL0 = 1160584u; + this.ee.pc = 1162696u; + // @0011B584 NOP + MobUt.Latency(); + } + + public virtual void funct0011b588() + { + this.ee.pc = 1160600u; + // @0011B588 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + // @0011B58C DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0011B590 JAL $002fab00 + this.ee.ra.UL0 = 1160600u; + this.ee.pc = 3123968u; + // @0011B594 DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0011b598() + { + this.ee.pc = 1160616u; + // @0011B598 LWC1 $f0, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.s1.UL0)); + // @0011B59C C.EQ.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); + // @0011B5A0 BC1T $0011b5c0 + if (this.ee.fcr31_23) + { + this.ee.pc = 1160640u; + } + // @0011B5A4 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + } + + public virtual void funct0011b5a8() + { + this.ee.pc = 1160624u; + // @0011B5A8 JAL $0011bdc8 + this.ee.ra.UL0 = 1160624u; + this.ee.pc = 1162696u; + // @0011B5AC NOP + MobUt.Latency(); + } + + public virtual void funct0011b5b0() + { + this.ee.pc = 1160640u; + // @0011B5B0 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + // @0011B5B4 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0011B5B8 JAL $002fa9b0 + this.ee.ra.UL0 = 1160640u; + this.ee.pc = 3123632u; + // @0011B5BC DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0011b5c0() + { + this.ee.pc = 1160668u; + // @0011B5C0 DADDU v0, s0, zero + this.ee.v0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0011B5C4 LD s1, $0008(sp) + MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @0011B5C8 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @0011B5CC LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @0011B5D0 LWC1 $f20, $0018(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); + // @0011B5D4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0011B5D8 ADDIU sp, sp, $0020 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct0011b840() + { + this.ee.pc = 1161332u; + // @0011B840 ADDIU sp, sp, $ffb0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -80))); + // @0011B844 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011B848 SD s0, $0030(sp) + MobUt.SD(this.ee, this.ee.s0, (48u + this.ee.sp.UL0)); + // @0011B84C ADDIU t7, t7, $8104 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32508))); + // @0011B850 SD s1, $0038(sp) + MobUt.SD(this.ee, this.ee.s1, (56u + this.ee.sp.UL0)); + // @0011B854 SD ra, $0040(sp) + MobUt.SD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); + // @0011B858 DADDU s0, a0, zero + this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @0011B85C SWC1 $f20, $0048(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); + // @0011B860 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0011B864 LWC1 $f20, $0008(a0) + MobUt.LWC1(this.ee, this.ee.fpr[20], (8u + this.ee.a0.UL0)); + // @0011B868 C.LT.S $f20, $f0 + this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[0].f); + // @0011B86C BC1T $0011b88c + if (this.ee.fcr31_23) + { + this.ee.pc = 1161356u; + } + // @0011B870 DADDU s1, a1, zero + this.ee.s1.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0011b874() + { + this.ee.pc = 1161356u; + // @0011B874 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011B878 ADDIU t7, t7, $8108 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32504))); + // @0011B87C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0011B880 C.LT.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[20].f); + // @0011B884 BC1FL $0011b894 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1161364u; + // @0011B888 LWC1 $f13, $0000(s0) + MobUt.LWC1(this.ee, this.ee.fpr[13], (0u + this.ee.s0.UL0)); + } + } + + public virtual void funct0011b88c() + { + this.ee.pc = 1161412u; + // @0011B88C MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @0011B890 LWC1 $f13, $0000(s0) + MobUt.LWC1(this.ee, this.ee.fpr[13], (0u + this.ee.s0.UL0)); + // @0011B894 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011B898 LWC1 $f12, $0004(s0) + MobUt.LWC1(this.ee, this.ee.fpr[12], (4u + this.ee.s0.UL0)); + // @0011B89C ADDIU t7, t7, $810c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32500))); + // @0011B8A0 MULA.S $f13, $f13 + this.ee.fpracc.f = (this.ee.fpr[13].f * this.ee.fpr[13].f); + // @0011B8A4 MADD.S $f0, $f12, $f12 + this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[12].f, this.ee.fpr[12].f); + // @0011B8A8 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @0011B8AC NOP + MobUt.Latency(); + // @0011B8B0 NOP + MobUt.Latency(); + // @0011B8B4 SQRT.S $f0, $f0 + this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); + // @0011B8B8 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @0011B8BC BC1F $0011ba50 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1161808u; + } + // @0011B8C0 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + + public virtual void funct0011b894() + { + this.ee.pc = 1161412u; + // @0011B894 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011B898 LWC1 $f12, $0004(s0) + MobUt.LWC1(this.ee, this.ee.fpr[12], (4u + this.ee.s0.UL0)); + // @0011B89C ADDIU t7, t7, $810c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32500))); + // @0011B8A0 MULA.S $f13, $f13 + this.ee.fpracc.f = (this.ee.fpr[13].f * this.ee.fpr[13].f); + // @0011B8A4 MADD.S $f0, $f12, $f12 + this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[12].f, this.ee.fpr[12].f); + // @0011B8A8 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @0011B8AC NOP + MobUt.Latency(); + // @0011B8B0 NOP + MobUt.Latency(); + // @0011B8B4 SQRT.S $f0, $f0 + this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); + // @0011B8B8 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @0011B8BC BC1F $0011ba50 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1161808u; + } + // @0011B8C0 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + + public virtual void funct0011b8c4() + { + this.ee.pc = 1161420u; + // @0011B8C4 JAL $002ff8c0 + this.ee.ra.UL0 = 1161420u; + this.ee.pc = 3143872u; + // @0011B8C8 NOP + MobUt.Latency(); + } + + public virtual void funct0011b8cc() + { + this.ee.pc = 1161432u; + // @0011B8CC NEG.S $f12, $f20 + this.ee.fpr[12].f = (0 - this.ee.fpr[20].f); + // @0011B8D0 JAL $002ff8a8 + this.ee.ra.UL0 = 1161432u; + this.ee.pc = 3143848u; + // @0011B8D4 SWC1 $f0, $0028(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (40u + this.ee.sp.UL0)); + } + + public virtual void funct0011b8d8() + { + this.ee.pc = 1161448u; + // @0011B8D8 SWC1 $f0, $0024(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (36u + this.ee.sp.UL0)); + // @0011B8DC LWC1 $f13, $0028(s0) + MobUt.LWC1(this.ee, this.ee.fpr[13], (40u + this.ee.s0.UL0)); + // @0011B8E0 JAL $002ff8c0 + this.ee.ra.UL0 = 1161448u; + this.ee.pc = 3143872u; + // @0011B8E4 LWC1 $f12, $0018(s0) + MobUt.LWC1(this.ee, this.ee.fpr[12], (24u + this.ee.s0.UL0)); + } + + public virtual void funct0011b8e8() + { + this.ee.pc = 1161472u; + // @0011B8E8 MOV.S $f1, $f0 + this.ee.fpr[1].f = this.ee.fpr[0].f; + // @0011B8EC SWC1 $f0, $0020(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (32u + this.ee.sp.UL0)); + // @0011B8F0 LWC1 $f12, $0000(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.s1.UL0)); + // @0011B8F4 ADDIU s0, sp, $0010 + this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @0011B8F8 JAL $0011bdc8 + this.ee.ra.UL0 = 1161472u; + this.ee.pc = 1162696u; + // @0011B8FC SUB.S $f12, $f1, $f12 + this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); + } + + public virtual void funct0011b8f0() + { + this.ee.pc = 1161472u; + // @0011B8F0 LWC1 $f12, $0000(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.s1.UL0)); + // @0011B8F4 ADDIU s0, sp, $0010 + this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @0011B8F8 JAL $0011bdc8 + this.ee.ra.UL0 = 1161472u; + this.ee.pc = 1162696u; + // @0011B8FC SUB.S $f12, $f1, $f12 + this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); + } + + public virtual void funct0011b900() + { + this.ee.pc = 1161492u; + // @0011B900 LWC1 $f1, $0004(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.s1.UL0)); + // @0011B904 LWC1 $f12, $0024(sp) + MobUt.LWC1(this.ee, this.ee.fpr[12], (36u + this.ee.sp.UL0)); + // @0011B908 SWC1 $f0, $0000(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.sp.UL0)); + // @0011B90C JAL $0011bdc8 + this.ee.ra.UL0 = 1161492u; + this.ee.pc = 1162696u; + // @0011B910 SUB.S $f12, $f12, $f1 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); + } + + public virtual void funct0011b914() + { + this.ee.pc = 1161512u; + // @0011B914 LWC1 $f1, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); + // @0011B918 LWC1 $f12, $0028(sp) + MobUt.LWC1(this.ee, this.ee.fpr[12], (40u + this.ee.sp.UL0)); + // @0011B91C SWC1 $f0, $0004(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.sp.UL0)); + // @0011B920 JAL $0011bdc8 + this.ee.ra.UL0 = 1161512u; + this.ee.pc = 1162696u; + // @0011B924 SUB.S $f12, $f12, $f1 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); + } + + public virtual void funct0011b928() + { + this.ee.pc = 1161576u; + // @0011B928 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011B92C LWC1 $f1, $0020(sp) + MobUt.LWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); + // @0011B930 ADDIU t7, t7, $8114 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32492))); + // @0011B934 LWC1 $f2, $0028(sp) + MobUt.LWC1(this.ee, this.ee.fpr[2], (40u + this.ee.sp.UL0)); + // @0011B938 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @0011B93C SWC1 $f0, $0008(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.sp.UL0)); + // @0011B940 ADD.S $f2, $f2, $f3 + this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[3].f); + // @0011B944 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @0011B948 LWC1 $f0, $0024(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (36u + this.ee.sp.UL0)); + // @0011B94C LWC1 $f12, $0000(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.s1.UL0)); + // @0011B950 SWC1 $f2, $0028(sp) + MobUt.SWC1(this.ee, this.ee.fpr[2], (40u + this.ee.sp.UL0)); + // @0011B954 SUB.S $f3, $f3, $f0 + this.ee.fpr[3].f = (this.ee.fpr[3].f - this.ee.fpr[0].f); + // @0011B958 SUB.S $f12, $f1, $f12 + this.ee.fpr[12].f = (this.ee.fpr[1].f - this.ee.fpr[12].f); + // @0011B95C SWC1 $f1, $0020(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); + // @0011B960 JAL $0011bdc8 + this.ee.ra.UL0 = 1161576u; + this.ee.pc = 1162696u; + // @0011B964 SWC1 $f3, $0024(sp) + MobUt.SWC1(this.ee, this.ee.fpr[3], (36u + this.ee.sp.UL0)); + } + + public virtual void funct0011b968() + { + this.ee.pc = 1161596u; + // @0011B968 LWC1 $f1, $0004(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.s1.UL0)); + // @0011B96C LWC1 $f12, $0024(sp) + MobUt.LWC1(this.ee, this.ee.fpr[12], (36u + this.ee.sp.UL0)); + // @0011B970 SWC1 $f0, $0010(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.sp.UL0)); + // @0011B974 JAL $0011bdc8 + this.ee.ra.UL0 = 1161596u; + this.ee.pc = 1162696u; + // @0011B978 SUB.S $f12, $f12, $f1 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); + } + + public virtual void funct0011b97c() + { + this.ee.pc = 1161616u; + // @0011B97C LWC1 $f1, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); + // @0011B980 LWC1 $f12, $0028(sp) + MobUt.LWC1(this.ee, this.ee.fpr[12], (40u + this.ee.sp.UL0)); + // @0011B984 SWC1 $f0, $0014(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (20u + this.ee.sp.UL0)); + // @0011B988 JAL $0011bdc8 + this.ee.ra.UL0 = 1161616u; + this.ee.pc = 1162696u; + // @0011B98C SUB.S $f12, $f12, $f1 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[1].f); + } + + public virtual void funct0011b990() + { + this.ee.pc = 1161692u; + // @0011B990 SWC1 $f0, $0018(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (24u + this.ee.sp.UL0)); + // @0011B994 MOV.S $f5, $f0 + this.ee.fpr[5].f = this.ee.fpr[0].f; + // @0011B998 LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @0011B99C LQC2 vf2, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); + // @0011B9A0 VMUL.xyz vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + // @0011B9A4 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @0011B9A8 VADDz.x vf1, vf1, vf1z + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @0011B9AC QMFC2 t0, vf1 + MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); + // @0011B9B0 MTC1 t0, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @0011B9B4 LQC2 vf1, $0000(s0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); + // @0011B9B8 LQC2 vf2, $0000(s0) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.s0.UL0)); + // @0011B9BC VMUL.xyz vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + // @0011B9C0 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @0011B9C4 VADDz.x vf1, vf1, vf1z + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @0011B9C8 QMFC2 t0, vf1 + MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); + // @0011B9CC MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @0011B9D0 C.LE.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f <= this.ee.fpr[0].f); + // @0011B9D4 BC1F $0011ba20 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1161760u; + } + // @0011B9D8 LWC1 $f2, $0000(sp) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.sp.UL0)); + } + + public virtual void funct0011b9dc() + { + this.ee.pc = 1161760u; + // @0011B9DC LWC1 $f0, $0000(s1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s1.UL0)); + // @0011B9E0 LWC1 $f3, $0004(s1) + MobUt.LWC1(this.ee, this.ee.fpr[3], (4u + this.ee.s1.UL0)); + // @0011B9E4 ADD.S $f2, $f2, $f0 + this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[0].f); + // @0011B9E8 LWC1 $f4, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[4], (8u + this.ee.s1.UL0)); + // @0011B9EC LWC1 $f1, $0004(sp) + MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.sp.UL0)); + // @0011B9F0 LWC1 $f0, $0008(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.sp.UL0)); + // @0011B9F4 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @0011B9F8 ADD.S $f0, $f0, $f4 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); + // @0011B9FC SWC1 $f2, $0000(s1) + MobUt.SWC1(this.ee, this.ee.fpr[2], (0u + this.ee.s1.UL0)); + // @0011BA00 SWC1 $f1, $0004(s1) + MobUt.SWC1(this.ee, this.ee.fpr[1], (4u + this.ee.s1.UL0)); + // @0011BA04 SWC1 $f0, $0008(s1) + MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.s1.UL0)); + // @0011BA08 LD s0, $0030(sp) + MobUt.LD(this.ee, this.ee.s0, (48u + this.ee.sp.UL0)); + // @0011BA0C LD s1, $0038(sp) + MobUt.LD(this.ee, this.ee.s1, (56u + this.ee.sp.UL0)); + // @0011BA10 LD ra, $0040(sp) + MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); + // @0011BA14 LWC1 $f20, $0048(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); + // @0011BA18 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0011BA1C ADDIU sp, sp, $0050 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); + } + + public virtual void funct0011ba08() + { + this.ee.pc = 1161760u; + // @0011BA08 LD s0, $0030(sp) + MobUt.LD(this.ee, this.ee.s0, (48u + this.ee.sp.UL0)); + // @0011BA0C LD s1, $0038(sp) + MobUt.LD(this.ee, this.ee.s1, (56u + this.ee.sp.UL0)); + // @0011BA10 LD ra, $0040(sp) + MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); + // @0011BA14 LWC1 $f20, $0048(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); + // @0011BA18 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0011BA1C ADDIU sp, sp, $0050 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); + } + + public virtual void funct0011ba20() + { + this.ee.pc = 1161808u; + // @0011BA20 LWC1 $f3, $0000(s1) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.s1.UL0)); + // @0011BA24 LWC1 $f4, $0004(s1) + MobUt.LWC1(this.ee, this.ee.fpr[4], (4u + this.ee.s1.UL0)); + // @0011BA28 LWC1 $f2, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[2], (8u + this.ee.s1.UL0)); + // @0011BA2C LWC1 $f1, $0010(sp) + MobUt.LWC1(this.ee, this.ee.fpr[1], (16u + this.ee.sp.UL0)); + // @0011BA30 LWC1 $f0, $0014(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (20u + this.ee.sp.UL0)); + // @0011BA34 ADD.S $f2, $f5, $f2 + this.ee.fpr[2].f = (this.ee.fpr[5].f + this.ee.fpr[2].f); + // @0011BA38 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @0011BA3C ADD.S $f0, $f0, $f4 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); + // @0011BA40 SWC1 $f2, $0008(s1) + MobUt.SWC1(this.ee, this.ee.fpr[2], (8u + this.ee.s1.UL0)); + // @0011BA44 SWC1 $f1, $0000(s1) + MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s1.UL0)); + // @0011BA48 BEQ zero, zero, $0011ba08 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1161736u; + } + // @0011BA4C SWC1 $f0, $0004(s1) + MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.s1.UL0)); + } + + public virtual void funct0011ba50() + { + this.ee.pc = 1161820u; + // @0011BA50 C.LT.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[20].f); + // @0011BA54 BC1F $0011bab0 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1161904u; + } + // @0011BA58 LWC1 $f13, $0014(s0) + MobUt.LWC1(this.ee, this.ee.fpr[13], (20u + this.ee.s0.UL0)); + } + + public virtual void funct0011ba5c() + { + this.ee.pc = 1161832u; + // @0011BA5C LWC1 $f12, $0010(s0) + MobUt.LWC1(this.ee, this.ee.fpr[12], (16u + this.ee.s0.UL0)); + // @0011BA60 JAL $002ff8c0 + this.ee.ra.UL0 = 1161832u; + this.ee.pc = 3143872u; + // @0011BA64 NEG.S $f12, $f12 + this.ee.fpr[12].f = (0 - this.ee.fpr[12].f); + } + + public virtual void funct0011ba68() + { + this.ee.pc = 1161860u; + // @0011BA68 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011BA6C NEG.S $f12, $f20 + this.ee.fpr[12].f = (0 - this.ee.fpr[20].f); + // @0011BA70 ADDIU t7, t7, $8110 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32496))); + // @0011BA74 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @0011BA78 MUL.S $f1, $f0, $f1 + this.ee.fpr[1].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); + // @0011BA7C JAL $002ff8a8 + this.ee.ra.UL0 = 1161860u; + this.ee.pc = 3143848u; + // @0011BA80 SWC1 $f1, $0020(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); + } + + public virtual void funct0011ba84() + { + this.ee.pc = 1161888u; + // @0011BA84 LWC1 $f1, $0020(sp) + MobUt.LWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); + // @0011BA88 SWC1 $f0, $0024(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (36u + this.ee.sp.UL0)); + // @0011BA8C SWC1 $f1, $0028(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (40u + this.ee.sp.UL0)); + // @0011BA90 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0011BA94 C.LE.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f <= this.ee.fpr[20].f); + // @0011BA98 BC1F $0011baa8 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1161896u; + } + // @0011BA9C NEG.S $f0, $f1 + this.ee.fpr[0].f = (0 - this.ee.fpr[1].f); + } + + public virtual void funct0011baa0() + { + this.ee.pc = 1161896u; + // @0011BAA0 BEQ zero, zero, $0011b8f0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1161456u; + } + // @0011BAA4 SWC1 $f1, $0028(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (40u + this.ee.sp.UL0)); + } + + public virtual void funct0011bdc8() + { + this.ee.pc = 1162712u; + // @0011BDC8 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0011BDCC C.LT.S $f0, $f12 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[12].f); + // @0011BDD0 BC1F $0011be24 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1162788u; + } + // @0011BDD4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct0011bdd8() + { + this.ee.pc = 1162732u; + // @0011BDD8 ADDIU t7, t7, $8120 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32480))); + // @0011BDDC LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0011BDE0 C.LT.S $f0, $f12 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[12].f); + // @0011BDE4 BC1F $0011be1c + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1162780u; + } + // @0011BDE8 NOP + MobUt.Latency(); + } + + public virtual void funct0011bdec() + { + this.ee.pc = 1162780u; + // @0011BDEC MOV.S $f1, $f0 + this.ee.fpr[1].f = this.ee.fpr[0].f; + // @0011BDF0 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011BDF4 ADDIU t7, t7, $8124 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32476))); + // @0011BDF8 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0011BDFC SUB.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + // @0011BE00 C.LT.S $f1, $f12 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[12].f); + // @0011BE04 NOP + MobUt.Latency(); + // @0011BE08 NOP + MobUt.Latency(); + // @0011BE0C NOP + MobUt.Latency(); + // @0011BE10 NOP + MobUt.Latency(); + // @0011BE14 BC1TL $0011be00 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1162752u; + // @0011BE18 SUB.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + } + + public virtual void funct0011be00() + { + this.ee.pc = 1162780u; + // @0011BE00 C.LT.S $f1, $f12 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[12].f); + // @0011BE04 NOP + MobUt.Latency(); + // @0011BE08 NOP + MobUt.Latency(); + // @0011BE0C NOP + MobUt.Latency(); + // @0011BE10 NOP + MobUt.Latency(); + // @0011BE14 BC1TL $0011be00 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1162752u; + // @0011BE18 SUB.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + } + + public virtual void funct0011be1c() + { + this.ee.pc = 1162788u; + // @0011BE1C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0011BE20 MOV.S $f0, $f12 + this.ee.fpr[0].f = this.ee.fpr[12].f; + } + + public virtual void funct0011be24() + { + this.ee.pc = 1162812u; + // @0011BE24 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011BE28 ADDIU t7, t7, $8128 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32472))); + // @0011BE2C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @0011BE30 C.LT.S $f12, $f1 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[1].f); + // @0011BE34 BC1F $0011be1c + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1162780u; + } + // @0011BE38 NOP + MobUt.Latency(); + } + + public virtual void funct0011be3c() + { + this.ee.pc = 1162840u; + // @0011BE3C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0011BE40 ADDIU t7, t7, $8124 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32476))); + // @0011BE44 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0011BE48 ADD.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + // @0011BE4C C.LT.S $f12, $f1 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[1].f); + // @0011BE50 BC1TL $0011be4c + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1162828u; + // @0011BE54 ADD.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + } + } + + public virtual void funct0011be4c() + { + this.ee.pc = 1162840u; + // @0011BE4C C.LT.S $f12, $f1 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[1].f); + // @0011BE50 BC1TL $0011be4c + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1162828u; + // @0011BE54 ADD.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + } + } + + public virtual void funct0011be58() + { + this.ee.pc = 1162848u; + // @0011BE58 BEQ zero, zero, $0011be1c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1162780u; + } + // @0011BE5C NOP + MobUt.Latency(); + } + + public virtual void funct00120650() + { + this.ee.pc = 1181292u; + // @00120650 LW t7, $0004(a0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); + // @00120654 SLL a1, a1, 2 + MobUt.SLL(this.ee.a1, this.ee.a1, 2); + // @00120658 LW t6, $0018(t7) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t7.UL0)); + // @0012065C ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00120660 ADDU t7, t7, a1 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.a1.SD0))); + // @00120664 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00120668 LWC1 $f0, $0020(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (32u + this.ee.t7.UL0)); + } + + public virtual void funct00120670() + { + this.ee.pc = 1181324u; + // @00120670 LW t7, $0004(a0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); + // @00120674 SLL a1, a1, 2 + MobUt.SLL(this.ee.a1, this.ee.a1, 2); + // @00120678 LW t6, $0018(t7) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t7.UL0)); + // @0012067C ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00120680 ADDU a1, a1, t7 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); + // @00120684 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00120688 LW v0, $0030(a1) + MobUt.LW(this.ee, this.ee.v0, (48u + this.ee.a1.UL0)); + } + + public virtual void funct00120690() + { + this.ee.pc = 1181340u; + // @00120690 LW t7, $0004(a0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); + // @00120694 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00120698 LHU v0, $0010(t7) + MobUt.LHU(this.ee, this.ee.v0, (16u + this.ee.t7.UL0)); + } + + public virtual void funct001206a0() + { + this.ee.pc = 1181372u; + // @001206A0 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @001206A4 LW t6, $0000(a0) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a0.UL0)); + // @001206A8 SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @001206AC SD ra, $0008(sp) + MobUt.SD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @001206B0 LW v0, $001c(t6) + MobUt.LW(this.ee, this.ee.v0, (28u + this.ee.t6.UL0)); + // @001206B4 JALR ra, v0 + this.ee.ra.UD0 = 1181372u; + this.ee.pc = this.ee.v0.UL0; + // @001206B8 LW s0, $0004(a0) + MobUt.LW(this.ee, this.ee.s0, (4u + this.ee.a0.UL0)); + } + + public virtual void funct001206bc() + { + this.ee.pc = 1181380u; + // @001206BC BEQ v0, zero, $001206cc + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1181388u; + } + // @001206C0 DADDU t7, zero, zero + this.ee.t7.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001206c4() + { + this.ee.pc = 1181408u; + // @001206C4 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @001206C8 ADDU t7, s0, t7 + this.ee.t7.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); + // @001206CC LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @001206D0 DADDU v0, t7, zero + this.ee.v0.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); + // @001206D4 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @001206D8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @001206DC ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00124a88() + { + this.ee.pc = 1198900u; + // @00124A88 ADDIU sp, sp, $fe70 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -400))); + // @00124A8C MTC1 zero, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00124A90 SWC1 $f25, $018c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[25], (396u + this.ee.sp.UL0)); + // @00124A94 ADDIU t6, sp, $0010 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00124A98 SWC1 $f23, $0184(sp) + MobUt.SWC1(this.ee, this.ee.fpr[23], (388u + this.ee.sp.UL0)); + // @00124A9C ADDIU t5, sp, $0020 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 32))); + // @00124AA0 SWC1 $f22, $0180(sp) + MobUt.SWC1(this.ee, this.ee.fpr[22], (384u + this.ee.sp.UL0)); + // @00124AA4 SWC1 $f20, $0178(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (376u + this.ee.sp.UL0)); + // @00124AA8 MOV.S $f23, $f12 + this.ee.fpr[23].f = this.ee.fpr[12].f; + // @00124AAC SD s1, $0148(sp) + MobUt.SD(this.ee, this.ee.s1, (328u + this.ee.sp.UL0)); + // @00124AB0 MOV.S $f22, $f13 + this.ee.fpr[22].f = this.ee.fpr[13].f; + // @00124AB4 SD s2, $0150(sp) + MobUt.SD(this.ee, this.ee.s2, (336u + this.ee.sp.UL0)); + // @00124AB8 MOV.S $f20, $f14 + this.ee.fpr[20].f = this.ee.fpr[14].f; + // @00124ABC SD s4, $0160(sp) + MobUt.SD(this.ee, this.ee.s4, (352u + this.ee.sp.UL0)); + // @00124AC0 MOV.S $f25, $f15 + this.ee.fpr[25].f = this.ee.fpr[15].f; + // @00124AC4 SD s5, $0168(sp) + MobUt.SD(this.ee, this.ee.s5, (360u + this.ee.sp.UL0)); + // @00124AC8 SD s0, $0140(sp) + MobUt.SD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); + // @00124ACC DADDU s4, a3, zero + this.ee.s4.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @00124AD0 SD s3, $0158(sp) + MobUt.SD(this.ee, this.ee.s3, (344u + this.ee.sp.UL0)); + // @00124AD4 DADDU s5, a2, zero + this.ee.s5.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @00124AD8 SD ra, $0170(sp) + MobUt.SD(this.ee, this.ee.ra, (368u + this.ee.sp.UL0)); + // @00124ADC DADDU s1, t0, zero + this.ee.s1.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); + // @00124AE0 SWC1 $f24, $0188(sp) + MobUt.SWC1(this.ee, this.ee.fpr[24], (392u + this.ee.sp.UL0)); + // @00124AE4 ADDIU s2, sp, $00f0 + this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 240))); + // @00124AE8 SWC1 $f21, $017c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[21], (380u + this.ee.sp.UL0)); + // @00124AEC SWC1 $f1, $0000(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.sp.UL0)); + // @00124AF0 SWC1 $f1, $0004(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (4u + this.ee.sp.UL0)); + // @00124AF4 SWC1 $f1, $0008(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (8u + this.ee.sp.UL0)); + // @00124AF8 SWC1 $f1, $000c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (12u + this.ee.sp.UL0)); + // @00124AFC SWC1 $f1, $0010(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (16u + this.ee.sp.UL0)); + // @00124B00 SWC1 $f1, $0014(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (20u + this.ee.sp.UL0)); + // @00124B04 SWC1 $f1, $0018(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (24u + this.ee.sp.UL0)); + // @00124B08 SWC1 $f1, $001c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (28u + this.ee.sp.UL0)); + // @00124B0C SWC1 $f1, $0020(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (32u + this.ee.sp.UL0)); + // @00124B10 SWC1 $f1, $0024(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (36u + this.ee.sp.UL0)); + // @00124B14 SWC1 $f1, $0028(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (40u + this.ee.sp.UL0)); + // @00124B18 SWC1 $f1, $002c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (44u + this.ee.sp.UL0)); + // @00124B1C LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @00124B20 LQC2 vf2, $0000(a0) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); + // @00124B24 VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @00124B28 SQC2 vf1, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00124B2C BEQ sp, s2, $00124b3c + if ((this.ee.sp.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1198908u; + } + // @00124B30 NOP + MobUt.Latency(); + } + + public virtual void funct00124b34() + { + this.ee.pc = 1198972u; + // @00124B34 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00124B38 SQ t0, $0000(sp) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00124B3C LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00124B40 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00124B44 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00124B48 VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00124B4C VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00124B50 VWAITQ + MobUt.Latency(); + // @00124B54 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00124B58 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00124B5C MTC1 t0, $f24 + this.ee.fpr[24].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00124B60 VNOP + MobUt.Latency(); + // @00124B64 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00124B68 VWAITQ + MobUt.Latency(); + // @00124B6C VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00124B70 SQC2 vf1, $0000(sp) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00124B74 BEQ t1, zero, $001250ec + if ((this.ee.t1.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1200364u; + } + // @00124B78 LWC1 $f0, $0004(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.sp.UL0)); + } + + public virtual void funct00124b7c() + { + this.ee.pc = 1198996u; + // @00124B7C LQC2 vf1, $0000(t1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t1.UL0)); + // @00124B80 LQC2 vf2, $0000(a0) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); + // @00124B84 VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @00124B88 SQC2 vf1, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00124B8C BEQ t6, s2, $00124b9c + if ((this.ee.t6.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1199004u; + } + // @00124B90 NOP + MobUt.Latency(); + } + + public virtual void funct00124b94() + { + this.ee.pc = 1199092u; + // @00124B94 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00124B98 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @00124B9C LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00124BA0 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00124BA4 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00124BA8 VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00124BAC VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00124BB0 VWAITQ + MobUt.Latency(); + // @00124BB4 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00124BB8 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00124BBC MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00124BC0 VNOP + MobUt.Latency(); + // @00124BC4 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00124BC8 VWAITQ + MobUt.Latency(); + // @00124BCC VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00124BD0 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00124BD4 LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00124BD8 LQC2 vf2, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); + // @00124BDC VSUB.xyzw vf3, vf0, vf0 + this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @00124BE0 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @00124BE4 VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @00124BE8 SQC2 vf3, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.s2.UL0)); + // @00124BEC BEQ t5, s2, $00124bfc + if ((this.ee.t5.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1199100u; + } + // @00124BF0 NOP + MobUt.Latency(); + } + + public virtual void funct00124bf4() + { + this.ee.pc = 1199188u; + // @00124BF4 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00124BF8 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00124BFC LQC2 vf1, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @00124C00 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00124C04 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00124C08 VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00124C0C VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00124C10 VWAITQ + MobUt.Latency(); + // @00124C14 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00124C18 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00124C1C MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00124C20 VNOP + MobUt.Latency(); + // @00124C24 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00124C28 VWAITQ + MobUt.Latency(); + // @00124C2C VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00124C30 SQC2 vf1, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @00124C34 LQC2 vf1, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @00124C38 LQC2 vf2, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); + // @00124C3C VSUB.xyzw vf3, vf0, vf0 + this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @00124C40 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @00124C44 VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @00124C48 SQC2 vf3, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.s2.UL0)); + // @00124C4C BEQ t6, s2, $00124c5c + if ((this.ee.t6.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1199196u; + } + // @00124C50 NOP + MobUt.Latency(); + } + + public virtual void funct00124c54() + { + this.ee.pc = 1199264u; + // @00124C54 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00124C58 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @00124C5C LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00124C60 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00124C64 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00124C68 VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00124C6C VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00124C70 VWAITQ + MobUt.Latency(); + // @00124C74 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00124C78 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00124C7C MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00124C80 VNOP + MobUt.Latency(); + // @00124C84 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00124C88 VWAITQ + MobUt.Latency(); + // @00124C8C VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00124C90 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00124C94 ADDIU s3, sp, $0030 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 48))); + // @00124C98 BEQ s3, sp, $00124cac + if ((this.ee.s3.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1199276u; + } + // @00124C9C ADDIU t7, sp, $0040 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); + } + + public virtual void funct00124c98() + { + this.ee.pc = 1199264u; + // @00124C98 BEQ s3, sp, $00124cac + if ((this.ee.s3.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1199276u; + } + // @00124C9C ADDIU t7, sp, $0040 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); + } + + public virtual void funct00124ca0() + { + this.ee.pc = 1199284u; + // @00124CA0 LQ t0, $0000(sp) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00124CA4 SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @00124CA8 ADDIU t7, sp, $0040 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @00124CAC BEQL t7, t6, $00124cc0 + if ((this.ee.t7.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1199296u; + // @00124CB0 ADDIU t7, sp, $0050 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 80))); + } + } + + public virtual void funct00124cb4() + { + this.ee.pc = 1199304u; + // @00124CB4 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @00124CB8 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00124CBC ADDIU t7, sp, $0050 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 80))); + // @00124CC0 BEQL t7, t5, $00124cd4 + if ((this.ee.t7.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1199316u; + // @00124CC4 ADDIU t7, sp, $0060 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 96))); + } + } + + public virtual void funct00124cc8() + { + this.ee.pc = 1199336u; + // @00124CC8 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00124CCC SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00124CD0 ADDIU t7, sp, $0060 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 96))); + // @00124CD4 SQC2 vf0, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[0], (0u + this.ee.t7.UL0)); + // @00124CD8 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00124CDC C.EQ.S $f20, $f0 + this.ee.fcr31_23 = (this.ee.fpr[20].f == this.ee.fpr[0].f); + // @00124CE0 BC1T $00124d98 + if (this.ee.fcr31_23) + { + this.ee.pc = 1199512u; + } + // @00124CE4 ADDIU s0, sp, $0070 + this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 112))); + } + + public virtual void funct00124ce8() + { + this.ee.pc = 1199344u; + // @00124CE8 JAL $0011b420 + this.ee.ra.UL0 = 1199344u; + this.ee.pc = 1160224u; + // @00124CEC DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00124cf0() + { + this.ee.pc = 1199356u; + // @00124CF0 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @00124CF4 JAL $0011b450 + this.ee.ra.UL0 = 1199356u; + this.ee.pc = 1160272u; + // @00124CF8 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00124cfc() + { + this.ee.pc = 1199480u; + // @00124CFC ADDIU t7, sp, $0100 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 256))); + // @00124D00 LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @00124D04 LQC2 vf2, $0010(s3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); + // @00124D08 LQC2 vf3, $0020(s3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); + // @00124D0C LQC2 vf4, $0030(s3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @00124D10 LQC2 vf5, $0000(s0) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s0.UL0)); + // @00124D14 LQC2 vf6, $0010(s0) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.s0.UL0)); + // @00124D18 LQC2 vf7, $0020(s0) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.s0.UL0)); + // @00124D1C LQC2 vf8, $0030(s0) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.s0.UL0)); + // @00124D20 VMULAx.xyzw ACC, vf1, vf5x + // @00124D24 VMADDAy.xyzw ACC, vf2, vf5y + // @00124D28 VMADDAz.xyzw ACC, vf3, vf5z + // @00124D2C VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @00124D30 VMULAx.xyzw ACC, vf1, vf6x + // @00124D34 VMADDAy.xyzw ACC, vf2, vf6y + // @00124D38 VMADDAz.xyzw ACC, vf3, vf6z + // @00124D3C VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @00124D40 VMULAx.xyzw ACC, vf1, vf7x + // @00124D44 VMADDAy.xyzw ACC, vf2, vf7y + // @00124D48 VMADDAz.xyzw ACC, vf3, vf7z + // @00124D4C VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @00124D50 VMULAx.xyzw ACC, vf1, vf8x + // @00124D54 VMADDAy.xyzw ACC, vf2, vf8y + // @00124D58 VMADDAz.xyzw ACC, vf3, vf8z + // @00124D5C VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @00124D60 SQC2 vf5, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @00124D64 SQC2 vf6, $0010(t7) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @00124D68 SQC2 vf7, $0020(t7) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @00124D6C SQC2 vf8, $0030(t7) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @00124D70 BEQ s3, t7, $00124d98 + if ((this.ee.s3.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1199512u; + } + // @00124D74 NOP + MobUt.Latency(); + } + + public virtual void funct00124d78() + { + this.ee.pc = 1199520u; + // @00124D78 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00124D7C LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @00124D80 LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @00124D84 LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @00124D88 SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @00124D8C SQ t1, $0010(s3) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); + // @00124D90 SQ t2, $0020(s3) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); + // @00124D94 SQ t3, $0030(s3) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s3.UL[0])); + // @00124D98 BNEL s1, zero, $00124e04 + if ((this.ee.s1.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1199620u; + // @00124D9C ADD.S $f0, $f23, $f23 + this.ee.fpr[0].f = (this.ee.fpr[23].f + this.ee.fpr[23].f); + } + } + + public virtual void funct00124d98() + { + this.ee.pc = 1199520u; + // @00124D98 BNEL s1, zero, $00124e04 + if ((this.ee.s1.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1199620u; + // @00124D9C ADD.S $f0, $f23, $f23 + this.ee.fpr[0].f = (this.ee.fpr[23].f + this.ee.fpr[23].f); + } + } + + public virtual void funct00124da0() + { + this.ee.pc = 1199528u; + // @00124DA0 BEQ s4, s3, $00124dcc + if ((this.ee.s4.UD0 == this.ee.s3.UD0)) + { + this.ee.pc = 1199564u; + } + // @00124DA4 LD s0, $0140(sp) + MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); + } + + public virtual void funct00124da8() + { + this.ee.pc = 1199620u; + // @00124DA8 LQ t0, $0000(s3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @00124DAC LQ t1, $0010(s3) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); + // @00124DB0 LQ t2, $0020(s3) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); + // @00124DB4 LQ t3, $0030(s3) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s3.UL[0])); + // @00124DB8 SQ t0, $0000(s4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s4.UL[0])); + // @00124DBC SQ t1, $0010(s4) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s4.UL[0])); + // @00124DC0 SQ t2, $0020(s4) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s4.UL[0])); + // @00124DC4 SQ t3, $0030(s4) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s4.UL[0])); + // @00124DC8 LD s0, $0140(sp) + MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); + // @00124DCC LD s1, $0148(sp) + MobUt.LD(this.ee, this.ee.s1, (328u + this.ee.sp.UL0)); + // @00124DD0 LD s2, $0150(sp) + MobUt.LD(this.ee, this.ee.s2, (336u + this.ee.sp.UL0)); + // @00124DD4 LD s3, $0158(sp) + MobUt.LD(this.ee, this.ee.s3, (344u + this.ee.sp.UL0)); + // @00124DD8 LD s4, $0160(sp) + MobUt.LD(this.ee, this.ee.s4, (352u + this.ee.sp.UL0)); + // @00124DDC LD s5, $0168(sp) + MobUt.LD(this.ee, this.ee.s5, (360u + this.ee.sp.UL0)); + // @00124DE0 LD ra, $0170(sp) + MobUt.LD(this.ee, this.ee.ra, (368u + this.ee.sp.UL0)); + // @00124DE4 LWC1 $f25, $018c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[25], (396u + this.ee.sp.UL0)); + // @00124DE8 LWC1 $f24, $0188(sp) + MobUt.LWC1(this.ee, this.ee.fpr[24], (392u + this.ee.sp.UL0)); + // @00124DEC LWC1 $f23, $0184(sp) + MobUt.LWC1(this.ee, this.ee.fpr[23], (388u + this.ee.sp.UL0)); + // @00124DF0 LWC1 $f22, $0180(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (384u + this.ee.sp.UL0)); + // @00124DF4 LWC1 $f21, $017c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (380u + this.ee.sp.UL0)); + // @00124DF8 LWC1 $f20, $0178(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (376u + this.ee.sp.UL0)); + // @00124DFC JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00124E00 ADDIU sp, sp, $0190 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 400))); + } + + public virtual void funct00124dcc() + { + this.ee.pc = 1199620u; + // @00124DCC LD s1, $0148(sp) + MobUt.LD(this.ee, this.ee.s1, (328u + this.ee.sp.UL0)); + // @00124DD0 LD s2, $0150(sp) + MobUt.LD(this.ee, this.ee.s2, (336u + this.ee.sp.UL0)); + // @00124DD4 LD s3, $0158(sp) + MobUt.LD(this.ee, this.ee.s3, (344u + this.ee.sp.UL0)); + // @00124DD8 LD s4, $0160(sp) + MobUt.LD(this.ee, this.ee.s4, (352u + this.ee.sp.UL0)); + // @00124DDC LD s5, $0168(sp) + MobUt.LD(this.ee, this.ee.s5, (360u + this.ee.sp.UL0)); + // @00124DE0 LD ra, $0170(sp) + MobUt.LD(this.ee, this.ee.ra, (368u + this.ee.sp.UL0)); + // @00124DE4 LWC1 $f25, $018c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[25], (396u + this.ee.sp.UL0)); + // @00124DE8 LWC1 $f24, $0188(sp) + MobUt.LWC1(this.ee, this.ee.fpr[24], (392u + this.ee.sp.UL0)); + // @00124DEC LWC1 $f23, $0184(sp) + MobUt.LWC1(this.ee, this.ee.fpr[23], (388u + this.ee.sp.UL0)); + // @00124DF0 LWC1 $f22, $0180(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (384u + this.ee.sp.UL0)); + // @00124DF4 LWC1 $f21, $017c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (380u + this.ee.sp.UL0)); + // @00124DF8 LWC1 $f20, $0178(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (376u + this.ee.sp.UL0)); + // @00124DFC JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00124E00 ADDIU sp, sp, $0190 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 400))); + } + + public virtual void funct00124e04() + { + this.ee.pc = 1199672u; + // @00124E04 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124E08 MULA.S $f24, $f24 + this.ee.fpracc.f = (this.ee.fpr[24].f * this.ee.fpr[24].f); + // @00124E0C ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124E10 MSUBA.S $f23, $f23 + this.ee.fpracc.f = MobUt.MSUB(this.ee.fpracc.f, this.ee.fpr[23].f, this.ee.fpr[23].f); + // @00124E14 MSUB.S $f1, $f22, $f22 + this.ee.fpr[1].f = (this.ee.fpracc.f + - (this.ee.fpr[22].f * this.ee.fpr[22].f)); + // @00124E18 MUL.S $f0, $f0, $f22 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[22].f); + // @00124E1C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00124E20 NOP + MobUt.Latency(); + // @00124E24 NOP + MobUt.Latency(); + // @00124E28 DIV.S $f21, $f1, $f0 + this.ee.fpr[21].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); + // @00124E2C C.LT.S $f2, $f21 + this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[21].f); + // @00124E30 BC1F $001250d0 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1200336u; + } + // @00124E34 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct00124e38() + { + this.ee.pc = 1199712u; + // @00124E38 MOV.S $f21, $f2 + this.ee.fpr[21].f = this.ee.fpr[2].f; + // @00124E3C MUL.S $f1, $f21, $f21 + this.ee.fpr[1].f = (this.ee.fpr[21].f * this.ee.fpr[21].f); + // @00124E40 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124E44 ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124E48 MTC1 zero, $f2 + this.ee.fpr[2].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00124E4C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00124E50 SUB.S $f20, $f0, $f1 + this.ee.fpr[20].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + // @00124E54 C.LT.S $f20, $f2 + this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[2].f); + // @00124E58 BC1TL $00124e60 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1199712u; + // @00124E5C MOV.S $f20, $f2 + this.ee.fpr[20].f = this.ee.fpr[2].f; + } + } + + public virtual void funct00124e3c() + { + this.ee.pc = 1199712u; + // @00124E3C MUL.S $f1, $f21, $f21 + this.ee.fpr[1].f = (this.ee.fpr[21].f * this.ee.fpr[21].f); + // @00124E40 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124E44 ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124E48 MTC1 zero, $f2 + this.ee.fpr[2].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00124E4C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00124E50 SUB.S $f20, $f0, $f1 + this.ee.fpr[20].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + // @00124E54 C.LT.S $f20, $f2 + this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[2].f); + // @00124E58 BC1TL $00124e60 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1199712u; + // @00124E5C MOV.S $f20, $f2 + this.ee.fpr[20].f = this.ee.fpr[2].f; + } + } + + public virtual void funct00124e40() + { + this.ee.pc = 1199712u; + // @00124E40 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124E44 ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124E48 MTC1 zero, $f2 + this.ee.fpr[2].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00124E4C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00124E50 SUB.S $f20, $f0, $f1 + this.ee.fpr[20].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + // @00124E54 C.LT.S $f20, $f2 + this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[2].f); + // @00124E58 BC1TL $00124e60 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1199712u; + // @00124E5C MOV.S $f20, $f2 + this.ee.fpr[20].f = this.ee.fpr[2].f; + } + } + + public virtual void funct00124e60() + { + this.ee.pc = 1199720u; + // @00124E60 BEQ s5, zero, $001250bc + if ((this.ee.s5.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1200316u; + } + // @00124E64 NOP + MobUt.Latency(); + } + + public virtual void funct00124e68() + { + this.ee.pc = 1199828u; + // @00124E68 NOP + MobUt.Latency(); + // @00124E6C NOP + MobUt.Latency(); + // @00124E70 SQRT.S $f0, $f20 + this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[20].f)))); + // @00124E74 NEG.S $f20, $f0 + this.ee.fpr[20].f = (0 - this.ee.fpr[0].f); + // @00124E78 SW zero, $0008(s1) + MobUt.SW(this.ee, this.ee.r0, (8u + this.ee.s1.UL0)); + // @00124E7C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124E80 NEG.S $f0, $f20 + this.ee.fpr[0].f = (0 - this.ee.fpr[20].f); + // @00124E84 ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124E88 LWC1 $f1, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); + // @00124E8C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00124E90 C.EQ.S $f25, $f1 + this.ee.fcr31_23 = (this.ee.fpr[25].f == this.ee.fpr[1].f); + // @00124E94 SWC1 $f2, $003c(s1) + MobUt.SWC1(this.ee, this.ee.fpr[2], (60u + this.ee.s1.UL0)); + // @00124E98 SWC1 $f0, $0010(s1) + MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.s1.UL0)); + // @00124E9C SWC1 $f21, $0000(s1) + MobUt.SWC1(this.ee, this.ee.fpr[21], (0u + this.ee.s1.UL0)); + // @00124EA0 SWC1 $f20, $0004(s1) + MobUt.SWC1(this.ee, this.ee.fpr[20], (4u + this.ee.s1.UL0)); + // @00124EA4 SW zero, $000c(s1) + MobUt.SW(this.ee, this.ee.r0, (12u + this.ee.s1.UL0)); + // @00124EA8 SWC1 $f21, $0014(s1) + MobUt.SWC1(this.ee, this.ee.fpr[21], (20u + this.ee.s1.UL0)); + // @00124EAC SW zero, $0018(s1) + MobUt.SW(this.ee, this.ee.r0, (24u + this.ee.s1.UL0)); + // @00124EB0 SW zero, $001c(s1) + MobUt.SW(this.ee, this.ee.r0, (28u + this.ee.s1.UL0)); + // @00124EB4 SW zero, $0020(s1) + MobUt.SW(this.ee, this.ee.r0, (32u + this.ee.s1.UL0)); + // @00124EB8 SW zero, $0024(s1) + MobUt.SW(this.ee, this.ee.r0, (36u + this.ee.s1.UL0)); + // @00124EBC SWC1 $f2, $0028(s1) + MobUt.SWC1(this.ee, this.ee.fpr[2], (40u + this.ee.s1.UL0)); + // @00124EC0 SW zero, $002c(s1) + MobUt.SW(this.ee, this.ee.r0, (44u + this.ee.s1.UL0)); + // @00124EC4 SW zero, $0030(s1) + MobUt.SW(this.ee, this.ee.r0, (48u + this.ee.s1.UL0)); + // @00124EC8 SW zero, $0034(s1) + MobUt.SW(this.ee, this.ee.r0, (52u + this.ee.s1.UL0)); + // @00124ECC BC1T $00124f84 + if (this.ee.fcr31_23) + { + this.ee.pc = 1200004u; + } + // @00124ED0 SW zero, $0038(s1) + MobUt.SW(this.ee, this.ee.r0, (56u + this.ee.s1.UL0)); + } + + public virtual void funct00124e7c() + { + this.ee.pc = 1199828u; + // @00124E7C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124E80 NEG.S $f0, $f20 + this.ee.fpr[0].f = (0 - this.ee.fpr[20].f); + // @00124E84 ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124E88 LWC1 $f1, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); + // @00124E8C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00124E90 C.EQ.S $f25, $f1 + this.ee.fcr31_23 = (this.ee.fpr[25].f == this.ee.fpr[1].f); + // @00124E94 SWC1 $f2, $003c(s1) + MobUt.SWC1(this.ee, this.ee.fpr[2], (60u + this.ee.s1.UL0)); + // @00124E98 SWC1 $f0, $0010(s1) + MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.s1.UL0)); + // @00124E9C SWC1 $f21, $0000(s1) + MobUt.SWC1(this.ee, this.ee.fpr[21], (0u + this.ee.s1.UL0)); + // @00124EA0 SWC1 $f20, $0004(s1) + MobUt.SWC1(this.ee, this.ee.fpr[20], (4u + this.ee.s1.UL0)); + // @00124EA4 SW zero, $000c(s1) + MobUt.SW(this.ee, this.ee.r0, (12u + this.ee.s1.UL0)); + // @00124EA8 SWC1 $f21, $0014(s1) + MobUt.SWC1(this.ee, this.ee.fpr[21], (20u + this.ee.s1.UL0)); + // @00124EAC SW zero, $0018(s1) + MobUt.SW(this.ee, this.ee.r0, (24u + this.ee.s1.UL0)); + // @00124EB0 SW zero, $001c(s1) + MobUt.SW(this.ee, this.ee.r0, (28u + this.ee.s1.UL0)); + // @00124EB4 SW zero, $0020(s1) + MobUt.SW(this.ee, this.ee.r0, (32u + this.ee.s1.UL0)); + // @00124EB8 SW zero, $0024(s1) + MobUt.SW(this.ee, this.ee.r0, (36u + this.ee.s1.UL0)); + // @00124EBC SWC1 $f2, $0028(s1) + MobUt.SWC1(this.ee, this.ee.fpr[2], (40u + this.ee.s1.UL0)); + // @00124EC0 SW zero, $002c(s1) + MobUt.SW(this.ee, this.ee.r0, (44u + this.ee.s1.UL0)); + // @00124EC4 SW zero, $0030(s1) + MobUt.SW(this.ee, this.ee.r0, (48u + this.ee.s1.UL0)); + // @00124EC8 SW zero, $0034(s1) + MobUt.SW(this.ee, this.ee.r0, (52u + this.ee.s1.UL0)); + // @00124ECC BC1T $00124f84 + if (this.ee.fcr31_23) + { + this.ee.pc = 1200004u; + } + // @00124ED0 SW zero, $0038(s1) + MobUt.SW(this.ee, this.ee.r0, (56u + this.ee.s1.UL0)); + } + + public virtual void funct00124ed4() + { + this.ee.pc = 1199840u; + // @00124ED4 ADDIU s0, sp, $0070 + this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 112))); + // @00124ED8 JAL $0011b420 + this.ee.ra.UL0 = 1199840u; + this.ee.pc = 1160224u; + // @00124EDC DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00124ee0() + { + this.ee.pc = 1199852u; + // @00124EE0 MOV.S $f12, $f25 + this.ee.fpr[12].f = this.ee.fpr[25].f; + // @00124EE4 JAL $0011b450 + this.ee.ra.UL0 = 1199852u; + this.ee.pc = 1160272u; + // @00124EE8 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00124eec() + { + this.ee.pc = 1199972u; + // @00124EEC LQC2 vf1, $0000(s1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s1.UL0)); + // @00124EF0 LQC2 vf2, $0010(s1) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s1.UL0)); + // @00124EF4 LQC2 vf3, $0020(s1) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s1.UL0)); + // @00124EF8 LQC2 vf4, $0030(s1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s1.UL0)); + // @00124EFC LQC2 vf5, $0000(s0) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s0.UL0)); + // @00124F00 LQC2 vf6, $0010(s0) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.s0.UL0)); + // @00124F04 LQC2 vf7, $0020(s0) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.s0.UL0)); + // @00124F08 LQC2 vf8, $0030(s0) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.s0.UL0)); + // @00124F0C VMULAx.xyzw ACC, vf1, vf5x + // @00124F10 VMADDAy.xyzw ACC, vf2, vf5y + // @00124F14 VMADDAz.xyzw ACC, vf3, vf5z + // @00124F18 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @00124F1C VMULAx.xyzw ACC, vf1, vf6x + // @00124F20 VMADDAy.xyzw ACC, vf2, vf6y + // @00124F24 VMADDAz.xyzw ACC, vf3, vf6z + // @00124F28 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @00124F2C VMULAx.xyzw ACC, vf1, vf7x + // @00124F30 VMADDAy.xyzw ACC, vf2, vf7y + // @00124F34 VMADDAz.xyzw ACC, vf3, vf7z + // @00124F38 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @00124F3C VMULAx.xyzw ACC, vf1, vf8x + // @00124F40 VMADDAy.xyzw ACC, vf2, vf8y + // @00124F44 VMADDAz.xyzw ACC, vf3, vf8z + // @00124F48 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @00124F4C SQC2 vf5, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s2.UL0)); + // @00124F50 SQC2 vf6, $0010(s2) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s2.UL0)); + // @00124F54 SQC2 vf7, $0020(s2) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s2.UL0)); + // @00124F58 SQC2 vf8, $0030(s2) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s2.UL0)); + // @00124F5C BEQL s1, s2, $00124f88 + if ((this.ee.s1.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1200008u; + // @00124F60 MUL.S $f2, $f22, $f21 + this.ee.fpr[2].f = (this.ee.fpr[22].f * this.ee.fpr[21].f); + } + } + + public virtual void funct00124f64() + { + this.ee.pc = 1200276u; + // @00124F64 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00124F68 LQ t1, $0010(s2) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s2.UL[0])); + // @00124F6C LQ t2, $0020(s2) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s2.UL[0])); + // @00124F70 LQ t3, $0030(s2) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s2.UL[0])); + // @00124F74 SQ t0, $0000(s1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s1.UL[0])); + // @00124F78 SQ t1, $0010(s1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s1.UL[0])); + // @00124F7C SQ t2, $0020(s1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s1.UL[0])); + // @00124F80 SQ t3, $0030(s1) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s1.UL[0])); + // @00124F84 MUL.S $f2, $f22, $f21 + this.ee.fpr[2].f = (this.ee.fpr[22].f * this.ee.fpr[21].f); + // @00124F88 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124F8C MUL.S $f1, $f22, $f20 + this.ee.fpr[1].f = (this.ee.fpr[22].f * this.ee.fpr[20].f); + // @00124F90 ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124F94 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00124F98 SW zero, $00b8(sp) + MobUt.SW(this.ee, this.ee.r0, (184u + this.ee.sp.UL0)); + // @00124F9C ADD.S $f2, $f23, $f2 + this.ee.fpr[2].f = (this.ee.fpr[23].f + this.ee.fpr[2].f); + // @00124FA0 ADDIU t7, sp, $00b0 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @00124FA4 NEG.S $f1, $f1 + this.ee.fpr[1].f = (0 - this.ee.fpr[1].f); + // @00124FA8 SWC1 $f0, $00ec(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (236u + this.ee.sp.UL0)); + // @00124FAC SWC1 $f0, $00d8(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (216u + this.ee.sp.UL0)); + // @00124FB0 MUL.S $f2, $f2, $f24 + this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[24].f); + // @00124FB4 MUL.S $f1, $f1, $f24 + this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[24].f); + // @00124FB8 SW zero, $00bc(sp) + MobUt.SW(this.ee, this.ee.r0, (188u + this.ee.sp.UL0)); + // @00124FBC SW zero, $00c8(sp) + MobUt.SW(this.ee, this.ee.r0, (200u + this.ee.sp.UL0)); + // @00124FC0 MULA.S $f2, $f2 + this.ee.fpracc.f = (this.ee.fpr[2].f * this.ee.fpr[2].f); + // @00124FC4 MADD.S $f0, $f1, $f1 + this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[1].f, this.ee.fpr[1].f); + // @00124FC8 SW zero, $00cc(sp) + MobUt.SW(this.ee, this.ee.r0, (204u + this.ee.sp.UL0)); + // @00124FCC SW zero, $00d0(sp) + MobUt.SW(this.ee, this.ee.r0, (208u + this.ee.sp.UL0)); + // @00124FD0 SW zero, $00d4(sp) + MobUt.SW(this.ee, this.ee.r0, (212u + this.ee.sp.UL0)); + // @00124FD4 NOP + MobUt.Latency(); + // @00124FD8 NOP + MobUt.Latency(); + // @00124FDC SQRT.S $f0, $f0 + this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); + // @00124FE0 SW zero, $00dc(sp) + MobUt.SW(this.ee, this.ee.r0, (220u + this.ee.sp.UL0)); + // @00124FE4 SW zero, $00e0(sp) + MobUt.SW(this.ee, this.ee.r0, (224u + this.ee.sp.UL0)); + // @00124FE8 SW zero, $00e4(sp) + MobUt.SW(this.ee, this.ee.r0, (228u + this.ee.sp.UL0)); + // @00124FEC SW zero, $00e8(sp) + MobUt.SW(this.ee, this.ee.r0, (232u + this.ee.sp.UL0)); + // @00124FF0 NOP + MobUt.Latency(); + // @00124FF4 NOP + MobUt.Latency(); + // @00124FF8 DIV.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); + // @00124FFC NOP + MobUt.Latency(); + // @00125000 NOP + MobUt.Latency(); + // @00125004 DIV.S $f2, $f2, $f0 + this.ee.fpr[2].f = (this.ee.fpr[2].f / this.ee.fpr[0].f); + // @00125008 NEG.S $f3, $f1 + this.ee.fpr[3].f = (0 - this.ee.fpr[1].f); + // @0012500C SWC1 $f1, $00b4(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (180u + this.ee.sp.UL0)); + // @00125010 SWC1 $f3, $00c0(sp) + MobUt.SWC1(this.ee, this.ee.fpr[3], (192u + this.ee.sp.UL0)); + // @00125014 SWC1 $f2, $00c4(sp) + MobUt.SWC1(this.ee, this.ee.fpr[2], (196u + this.ee.sp.UL0)); + // @00125018 SWC1 $f2, $00b0(sp) + MobUt.SWC1(this.ee, this.ee.fpr[2], (176u + this.ee.sp.UL0)); + // @0012501C LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @00125020 LQC2 vf2, $0010(s3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); + // @00125024 LQC2 vf3, $0020(s3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); + // @00125028 LQC2 vf4, $0030(s3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @0012502C LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @00125030 LQC2 vf6, $0010(t7) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @00125034 LQC2 vf7, $0020(t7) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @00125038 LQC2 vf8, $0030(t7) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012503C VMULAx.xyzw ACC, vf1, vf5x + // @00125040 VMADDAy.xyzw ACC, vf2, vf5y + // @00125044 VMADDAz.xyzw ACC, vf3, vf5z + // @00125048 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012504C VMULAx.xyzw ACC, vf1, vf6x + // @00125050 VMADDAy.xyzw ACC, vf2, vf6y + // @00125054 VMADDAz.xyzw ACC, vf3, vf6z + // @00125058 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012505C VMULAx.xyzw ACC, vf1, vf7x + // @00125060 VMADDAy.xyzw ACC, vf2, vf7y + // @00125064 VMADDAz.xyzw ACC, vf3, vf7z + // @00125068 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012506C VMULAx.xyzw ACC, vf1, vf8x + // @00125070 VMADDAy.xyzw ACC, vf2, vf8y + // @00125074 VMADDAz.xyzw ACC, vf3, vf8z + // @00125078 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012507C SQC2 vf5, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s2.UL0)); + // @00125080 SQC2 vf6, $0010(s2) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s2.UL0)); + // @00125084 SQC2 vf7, $0020(s2) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s2.UL0)); + // @00125088 SQC2 vf8, $0030(s2) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s2.UL0)); + // @0012508C BEQL s4, s2, $00124dcc + if ((this.ee.s4.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1199564u; + // @00125090 LD s0, $0140(sp) + MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); + } + } + + public virtual void funct00124f84() + { + this.ee.pc = 1200276u; + // @00124F84 MUL.S $f2, $f22, $f21 + this.ee.fpr[2].f = (this.ee.fpr[22].f * this.ee.fpr[21].f); + // @00124F88 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00124F8C MUL.S $f1, $f22, $f20 + this.ee.fpr[1].f = (this.ee.fpr[22].f * this.ee.fpr[20].f); + // @00124F90 ADDIU t7, t7, $81f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32272))); + // @00124F94 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00124F98 SW zero, $00b8(sp) + MobUt.SW(this.ee, this.ee.r0, (184u + this.ee.sp.UL0)); + // @00124F9C ADD.S $f2, $f23, $f2 + this.ee.fpr[2].f = (this.ee.fpr[23].f + this.ee.fpr[2].f); + // @00124FA0 ADDIU t7, sp, $00b0 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @00124FA4 NEG.S $f1, $f1 + this.ee.fpr[1].f = (0 - this.ee.fpr[1].f); + // @00124FA8 SWC1 $f0, $00ec(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (236u + this.ee.sp.UL0)); + // @00124FAC SWC1 $f0, $00d8(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (216u + this.ee.sp.UL0)); + // @00124FB0 MUL.S $f2, $f2, $f24 + this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[24].f); + // @00124FB4 MUL.S $f1, $f1, $f24 + this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[24].f); + // @00124FB8 SW zero, $00bc(sp) + MobUt.SW(this.ee, this.ee.r0, (188u + this.ee.sp.UL0)); + // @00124FBC SW zero, $00c8(sp) + MobUt.SW(this.ee, this.ee.r0, (200u + this.ee.sp.UL0)); + // @00124FC0 MULA.S $f2, $f2 + this.ee.fpracc.f = (this.ee.fpr[2].f * this.ee.fpr[2].f); + // @00124FC4 MADD.S $f0, $f1, $f1 + this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[1].f, this.ee.fpr[1].f); + // @00124FC8 SW zero, $00cc(sp) + MobUt.SW(this.ee, this.ee.r0, (204u + this.ee.sp.UL0)); + // @00124FCC SW zero, $00d0(sp) + MobUt.SW(this.ee, this.ee.r0, (208u + this.ee.sp.UL0)); + // @00124FD0 SW zero, $00d4(sp) + MobUt.SW(this.ee, this.ee.r0, (212u + this.ee.sp.UL0)); + // @00124FD4 NOP + MobUt.Latency(); + // @00124FD8 NOP + MobUt.Latency(); + // @00124FDC SQRT.S $f0, $f0 + this.ee.fpr[0].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[0].f)))); + // @00124FE0 SW zero, $00dc(sp) + MobUt.SW(this.ee, this.ee.r0, (220u + this.ee.sp.UL0)); + // @00124FE4 SW zero, $00e0(sp) + MobUt.SW(this.ee, this.ee.r0, (224u + this.ee.sp.UL0)); + // @00124FE8 SW zero, $00e4(sp) + MobUt.SW(this.ee, this.ee.r0, (228u + this.ee.sp.UL0)); + // @00124FEC SW zero, $00e8(sp) + MobUt.SW(this.ee, this.ee.r0, (232u + this.ee.sp.UL0)); + // @00124FF0 NOP + MobUt.Latency(); + // @00124FF4 NOP + MobUt.Latency(); + // @00124FF8 DIV.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); + // @00124FFC NOP + MobUt.Latency(); + // @00125000 NOP + MobUt.Latency(); + // @00125004 DIV.S $f2, $f2, $f0 + this.ee.fpr[2].f = (this.ee.fpr[2].f / this.ee.fpr[0].f); + // @00125008 NEG.S $f3, $f1 + this.ee.fpr[3].f = (0 - this.ee.fpr[1].f); + // @0012500C SWC1 $f1, $00b4(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (180u + this.ee.sp.UL0)); + // @00125010 SWC1 $f3, $00c0(sp) + MobUt.SWC1(this.ee, this.ee.fpr[3], (192u + this.ee.sp.UL0)); + // @00125014 SWC1 $f2, $00c4(sp) + MobUt.SWC1(this.ee, this.ee.fpr[2], (196u + this.ee.sp.UL0)); + // @00125018 SWC1 $f2, $00b0(sp) + MobUt.SWC1(this.ee, this.ee.fpr[2], (176u + this.ee.sp.UL0)); + // @0012501C LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @00125020 LQC2 vf2, $0010(s3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); + // @00125024 LQC2 vf3, $0020(s3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); + // @00125028 LQC2 vf4, $0030(s3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @0012502C LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @00125030 LQC2 vf6, $0010(t7) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @00125034 LQC2 vf7, $0020(t7) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @00125038 LQC2 vf8, $0030(t7) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012503C VMULAx.xyzw ACC, vf1, vf5x + // @00125040 VMADDAy.xyzw ACC, vf2, vf5y + // @00125044 VMADDAz.xyzw ACC, vf3, vf5z + // @00125048 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012504C VMULAx.xyzw ACC, vf1, vf6x + // @00125050 VMADDAy.xyzw ACC, vf2, vf6y + // @00125054 VMADDAz.xyzw ACC, vf3, vf6z + // @00125058 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012505C VMULAx.xyzw ACC, vf1, vf7x + // @00125060 VMADDAy.xyzw ACC, vf2, vf7y + // @00125064 VMADDAz.xyzw ACC, vf3, vf7z + // @00125068 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012506C VMULAx.xyzw ACC, vf1, vf8x + // @00125070 VMADDAy.xyzw ACC, vf2, vf8y + // @00125074 VMADDAz.xyzw ACC, vf3, vf8z + // @00125078 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012507C SQC2 vf5, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s2.UL0)); + // @00125080 SQC2 vf6, $0010(s2) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s2.UL0)); + // @00125084 SQC2 vf7, $0020(s2) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s2.UL0)); + // @00125088 SQC2 vf8, $0030(s2) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s2.UL0)); + // @0012508C BEQL s4, s2, $00124dcc + if ((this.ee.s4.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1199564u; + // @00125090 LD s0, $0140(sp) + MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); + } + } + + public virtual void funct00125094() + { + this.ee.pc = 1200316u; + // @00125094 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00125098 LQ t1, $0010(s2) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s2.UL[0])); + // @0012509C LQ t2, $0020(s2) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s2.UL[0])); + // @001250A0 LQ t3, $0030(s2) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s2.UL[0])); + // @001250A4 SQ t0, $0000(s4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s4.UL[0])); + // @001250A8 SQ t1, $0010(s4) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s4.UL[0])); + // @001250AC SQ t2, $0020(s4) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s4.UL[0])); + // @001250B0 SQ t3, $0030(s4) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s4.UL[0])); + // @001250B4 BEQ zero, zero, $00124dcc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1199564u; + } + // @001250B8 LD s0, $0140(sp) + MobUt.LD(this.ee, this.ee.s0, (320u + this.ee.sp.UL0)); + } + + public virtual void funct001250bc() + { + this.ee.pc = 1200336u; + // @001250BC NOP + MobUt.Latency(); + // @001250C0 NOP + MobUt.Latency(); + // @001250C4 SQRT.S $f20, $f20 + this.ee.fpr[20].f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.fpr[20].f)))); + // @001250C8 BEQ zero, zero, $00124e7c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1199740u; + } + // @001250CC SW zero, $0008(s1) + MobUt.SW(this.ee, this.ee.r0, (8u + this.ee.s1.UL0)); + } + + public virtual void funct001250d0() + { + this.ee.pc = 1200356u; + // @001250D0 ADDIU t7, t7, $81f4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32268))); + // @001250D4 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001250D8 C.LT.S $f21, $f0 + this.ee.fcr31_23 = (this.ee.fpr[21].f < this.ee.fpr[0].f); + // @001250DC BC1TL $00124e3c + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1199676u; + // @001250E0 MOV.S $f21, $f0 + this.ee.fpr[21].f = this.ee.fpr[0].f; + } + } + + public virtual void funct001250e4() + { + this.ee.pc = 1200364u; + // @001250E4 BEQ zero, zero, $00124e40 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1199680u; + } + // @001250E8 MUL.S $f1, $f21, $f21 + this.ee.fpr[1].f = (this.ee.fpr[21].f * this.ee.fpr[21].f); + } + + public virtual void funct001250ec() + { + this.ee.pc = 1200472u; + // @001250EC SWC1 $f1, $0018(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (24u + this.ee.sp.UL0)); + // @001250F0 NEG.S $f0, $f0 + this.ee.fpr[0].f = (0 - this.ee.fpr[0].f); + // @001250F4 LWC1 $f1, $0000(sp) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.sp.UL0)); + // @001250F8 SWC1 $f1, $0014(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (20u + this.ee.sp.UL0)); + // @001250FC SWC1 $f0, $0010(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.sp.UL0)); + // @00125100 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00125104 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00125108 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @0012510C VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00125110 VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00125114 VWAITQ + MobUt.Latency(); + // @00125118 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @0012511C VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00125120 MTC1 t0, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00125124 VNOP + MobUt.Latency(); + // @00125128 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @0012512C VWAITQ + MobUt.Latency(); + // @00125130 VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00125134 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00125138 LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @0012513C LQC2 vf2, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); + // @00125140 VSUB.xyzw vf3, vf0, vf0 + this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @00125144 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @00125148 VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @0012514C SQC2 vf3, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.s2.UL0)); + // @00125150 BEQ t5, s2, $00125160 + if ((this.ee.t5.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1200480u; + } + // @00125154 NOP + MobUt.Latency(); + } + + public virtual void funct00125158() + { + this.ee.pc = 1200544u; + // @00125158 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @0012515C SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00125160 LQC2 vf1, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @00125164 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00125168 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @0012516C VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00125170 VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00125174 VWAITQ + MobUt.Latency(); + // @00125178 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @0012517C VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00125180 MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00125184 VNOP + MobUt.Latency(); + // @00125188 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @0012518C VWAITQ + MobUt.Latency(); + // @00125190 VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00125194 SQC2 vf1, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @00125198 BEQ zero, zero, $00124c98 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1199256u; + } + // @0012519C ADDIU s3, sp, $0030 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 48))); + } + + public virtual void funct00127e20() + { + this.ee.pc = 1212020u; + // @00127E20 ADDIU sp, sp, $ff60 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -160))); + // @00127E24 DADDU v0, zero, zero + this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00127E28 SD s1, $0048(sp) + MobUt.SD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); + // @00127E2C SD s3, $0058(sp) + MobUt.SD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); + // @00127E30 SD s0, $0040(sp) + MobUt.SD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); + // @00127E34 DADDU s1, a1, zero + this.ee.s1.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00127E38 SD s2, $0050(sp) + MobUt.SD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); + // @00127E3C SD s4, $0060(sp) + MobUt.SD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); + // @00127E40 SD s5, $0068(sp) + MobUt.SD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); + // @00127E44 SD s6, $0070(sp) + MobUt.SD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); + // @00127E48 SD s7, $0078(sp) + MobUt.SD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); + // @00127E4C SD s8, $0080(sp) + MobUt.SD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); + // @00127E50 SD ra, $0088(sp) + MobUt.SD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); + // @00127E54 SWC1 $f23, $009c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); + // @00127E58 SWC1 $f22, $0098(sp) + MobUt.SWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); + // @00127E5C SWC1 $f21, $0094(sp) + MobUt.SWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); + // @00127E60 SWC1 $f20, $0090(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); + // @00127E64 LD t6, $0000(a1) + MobUt.LD(this.ee, this.ee.t6, (0u + this.ee.a1.UL0)); + // @00127E68 ANDI t7, t6, $0007 + this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 7))); + // @00127E6C BEQ t7, zero, $00128254 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213012u; + } + // @00127E70 DADDU s3, a3, zero + this.ee.s3.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00127e74() + { + this.ee.pc = 1212032u; + // @00127E74 ANDI t7, t6, $0008 + this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 8))); + // @00127E78 BNE t7, zero, $00128254 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1213012u; + } + // @00127E7C NOP + MobUt.Latency(); + } + + public virtual void funct00127e80() + { + this.ee.pc = 1212040u; + // @00127E80 BEQ sp, a2, $00127e94 + if ((this.ee.sp.UD0 == this.ee.a2.UD0)) + { + this.ee.pc = 1212052u; + } + // @00127E84 ADDIU s2, sp, $0010 + this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00127e88() + { + this.ee.pc = 1212080u; + // @00127E88 LQ t0, $0000(a2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); + // @00127E8C SQ t0, $0000(sp) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00127E90 ADDIU s2, sp, $0010 + this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00127E94 ADDIU s0, sp, $0020 + this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 32))); + // @00127E98 LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @00127E9C LQC2 vf2, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); + // @00127EA0 VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @00127EA4 SQC2 vf1, $0000(s0) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); + // @00127EA8 BEQL s2, s0, $00127ebc + if ((this.ee.s2.UD0 == this.ee.s0.UD0)) + { + this.ee.pc = 1212092u; + // @00127EAC LD t3, $0000(s1) + MobUt.LD(this.ee, this.ee.t3, (0u + this.ee.s1.UL0)); + } + } + + public virtual void funct00127e94() + { + this.ee.pc = 1212080u; + // @00127E94 ADDIU s0, sp, $0020 + this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 32))); + // @00127E98 LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @00127E9C LQC2 vf2, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); + // @00127EA0 VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @00127EA4 SQC2 vf1, $0000(s0) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); + // @00127EA8 BEQL s2, s0, $00127ebc + if ((this.ee.s2.UD0 == this.ee.s0.UD0)) + { + this.ee.pc = 1212092u; + // @00127EAC LD t3, $0000(s1) + MobUt.LD(this.ee, this.ee.t3, (0u + this.ee.s1.UL0)); + } + } + + public virtual void funct00127eb0() + { + this.ee.pc = 1212108u; + // @00127EB0 LQ t0, $0000(s0) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s0.UL[0])); + // @00127EB4 SQ t0, $0000(s2) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00127EB8 LD t3, $0000(s1) + MobUt.LD(this.ee, this.ee.t3, (0u + this.ee.s1.UL0)); + // @00127EBC ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @00127EC0 ANDI t6, t3, $0007 + this.ee.t6.UD0 = ((ushort)((this.ee.t3.US0 & 7))); + // @00127EC4 BNEL t6, t7, $00128020 + if ((this.ee.t6.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1212448u; + // @00127EC8 LWC1 $f1, $000c(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (12u + this.ee.s1.UL0)); + } + } + + public virtual void funct00127ecc() + { + this.ee.pc = 1212164u; + // @00127ECC LWC1 $f21, $0010(s1) + MobUt.LWC1(this.ee, this.ee.fpr[21], (16u + this.ee.s1.UL0)); + // @00127ED0 LQC2 vf1, $0000(s2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00127ED4 VMUL.xyz vf1, vf1, vf1 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00127ED8 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @00127EDC VADDz.x vf1, vf1, vf1z + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @00127EE0 VSQRT Q, vf1x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[1].x)))); + // @00127EE4 VWAITQ + MobUt.Latency(); + // @00127EE8 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00127EEC MTC1 t0, $f2 + this.ee.fpr[2].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00127EF0 LWC1 $f12, $000c(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (12u + this.ee.s1.UL0)); + // @00127EF4 MTC1 zero, $f3 + this.ee.fpr[3].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00127EF8 C.EQ.S $f12, $f3 + this.ee.fcr31_23 = (this.ee.fpr[12].f == this.ee.fpr[3].f); + // @00127EFC BC1F $00127fd0 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1212368u; + } + // @00127F00 MOV.S $f1, $f2 + this.ee.fpr[1].f = this.ee.fpr[2].f; + } + + public virtual void funct00127f04() + { + this.ee.pc = 1212176u; + // @00127F04 C.LT.S $f21, $f2 + this.ee.fcr31_23 = (this.ee.fpr[21].f < this.ee.fpr[2].f); + // @00127F08 BC1F $00127f84 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1212292u; + } + // @00127F0C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct00127f10() + { + this.ee.pc = 1212276u; + // @00127F10 LQC2 vf1, $0000(s2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00127F14 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00127F18 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00127F1C VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00127F20 VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00127F24 VWAITQ + MobUt.Latency(); + // @00127F28 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00127F2C VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00127F30 MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00127F34 VNOP + MobUt.Latency(); + // @00127F38 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00127F3C VWAITQ + MobUt.Latency(); + // @00127F40 VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00127F44 SQC2 vf1, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00127F48 LQC2 vf1, $0000(s2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00127F4C MFC1 t0, $f1 + MobUt.MFC1(this.ee.t0, this.ee.fpr[1]); + // @00127F50 QMTC2 t0, vf2 + MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); + // @00127F54 VMULx.xyzw vf1, vf1, vf2x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); + // @00127F58 SQC2 vf1, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00127F5C LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00127F60 LQC2 vf2, $0000(s2) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.s2.UL0)); + // @00127F64 VADD.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); + // @00127F68 SQC2 vf1, $0000(s0) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); + // @00127F6C BEQ s3, s0, $00127f80 + if ((this.ee.s3.UD0 == this.ee.s0.UD0)) + { + this.ee.pc = 1212288u; + } + // @00127F70 ADDIU v0, zero, $0001 + this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); + } + + public virtual void funct00127f74() + { + this.ee.pc = 1212368u; + // @00127F74 LQ t0, $0000(s0) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s0.UL[0])); + // @00127F78 SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @00127F7C ADDIU v0, zero, $0001 + this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @00127F80 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00127F84 LD s0, $0040(sp) + MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); + // @00127F88 ADDIU t7, t7, $8214 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); + // @00127F8C LD s1, $0048(sp) + MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); + // @00127F90 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00127F94 LD s2, $0050(sp) + MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); + // @00127F98 SWC1 $f0, $000c(s3) + MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.s3.UL0)); + // @00127F9C LD s4, $0060(sp) + MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); + // @00127FA0 LD s3, $0058(sp) + MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); + // @00127FA4 LD s5, $0068(sp) + MobUt.LD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); + // @00127FA8 LD s6, $0070(sp) + MobUt.LD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); + // @00127FAC LD s7, $0078(sp) + MobUt.LD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); + // @00127FB0 LD s8, $0080(sp) + MobUt.LD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); + // @00127FB4 LD ra, $0088(sp) + MobUt.LD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); + // @00127FB8 LWC1 $f23, $009c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); + // @00127FBC LWC1 $f22, $0098(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); + // @00127FC0 LWC1 $f21, $0094(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); + // @00127FC4 LWC1 $f20, $0090(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); + // @00127FC8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00127FCC ADDIU sp, sp, $00a0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 160))); + } + + public virtual void funct00127f80() + { + this.ee.pc = 1212368u; + // @00127F80 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00127F84 LD s0, $0040(sp) + MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); + // @00127F88 ADDIU t7, t7, $8214 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); + // @00127F8C LD s1, $0048(sp) + MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); + // @00127F90 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00127F94 LD s2, $0050(sp) + MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); + // @00127F98 SWC1 $f0, $000c(s3) + MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.s3.UL0)); + // @00127F9C LD s4, $0060(sp) + MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); + // @00127FA0 LD s3, $0058(sp) + MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); + // @00127FA4 LD s5, $0068(sp) + MobUt.LD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); + // @00127FA8 LD s6, $0070(sp) + MobUt.LD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); + // @00127FAC LD s7, $0078(sp) + MobUt.LD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); + // @00127FB0 LD s8, $0080(sp) + MobUt.LD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); + // @00127FB4 LD ra, $0088(sp) + MobUt.LD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); + // @00127FB8 LWC1 $f23, $009c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); + // @00127FBC LWC1 $f22, $0098(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); + // @00127FC0 LWC1 $f21, $0094(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); + // @00127FC4 LWC1 $f20, $0090(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); + // @00127FC8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00127FCC ADDIU sp, sp, $00a0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 160))); + } + + public virtual void funct00127f84() + { + this.ee.pc = 1212368u; + // @00127F84 LD s0, $0040(sp) + MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); + // @00127F88 ADDIU t7, t7, $8214 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); + // @00127F8C LD s1, $0048(sp) + MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); + // @00127F90 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00127F94 LD s2, $0050(sp) + MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); + // @00127F98 SWC1 $f0, $000c(s3) + MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.s3.UL0)); + // @00127F9C LD s4, $0060(sp) + MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); + // @00127FA0 LD s3, $0058(sp) + MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); + // @00127FA4 LD s5, $0068(sp) + MobUt.LD(this.ee, this.ee.s5, (104u + this.ee.sp.UL0)); + // @00127FA8 LD s6, $0070(sp) + MobUt.LD(this.ee, this.ee.s6, (112u + this.ee.sp.UL0)); + // @00127FAC LD s7, $0078(sp) + MobUt.LD(this.ee, this.ee.s7, (120u + this.ee.sp.UL0)); + // @00127FB0 LD s8, $0080(sp) + MobUt.LD(this.ee, this.ee.s8, (128u + this.ee.sp.UL0)); + // @00127FB4 LD ra, $0088(sp) + MobUt.LD(this.ee, this.ee.ra, (136u + this.ee.sp.UL0)); + // @00127FB8 LWC1 $f23, $009c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[23], (156u + this.ee.sp.UL0)); + // @00127FBC LWC1 $f22, $0098(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (152u + this.ee.sp.UL0)); + // @00127FC0 LWC1 $f21, $0094(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (148u + this.ee.sp.UL0)); + // @00127FC4 LWC1 $f20, $0090(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (144u + this.ee.sp.UL0)); + // @00127FC8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00127FCC ADDIU sp, sp, $00a0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 160))); + } + + public virtual void funct00127fd0() + { + this.ee.pc = 1212392u; + // @00127FD0 LWC1 $f1, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.s1.UL0)); + // @00127FD4 SUB.S $f0, $f21, $f1 + this.ee.fpr[0].f = (this.ee.fpr[21].f - this.ee.fpr[1].f); + // @00127FD8 SUB.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); + // @00127FDC C.LT.S $f3, $f0 + this.ee.fcr31_23 = (this.ee.fpr[3].f < this.ee.fpr[0].f); + // @00127FE0 BC1F $00127f80 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1212288u; + } + // @00127FE4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct00127fe8() + { + this.ee.pc = 1212424u; + // @00127FE8 NOP + MobUt.Latency(); + // @00127FEC NOP + MobUt.Latency(); + // @00127FF0 DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @00127FF4 ADDIU t7, t7, $8214 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); + // @00127FF8 LWC1 $f20, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[20], (0u + this.ee.t7.UL0)); + // @00127FFC SUB.S $f12, $f12, $f20 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[20].f); + // @00128000 JAL $002ff8d8 + this.ee.ra.UL0 = 1212424u; + this.ee.pc = 3143896u; + // @00128004 MUL.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f * this.ee.fpr[0].f); + } + + public virtual void funct00128008() + { + this.ee.pc = 1212448u; + // @00128008 SUB.S $f20, $f20, $f0 + this.ee.fpr[20].f = (this.ee.fpr[20].f - this.ee.fpr[0].f); + // @0012800C LWC1 $f0, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.s1.UL0)); + // @00128010 SUB.S $f1, $f21, $f0 + this.ee.fpr[1].f = (this.ee.fpr[21].f - this.ee.fpr[0].f); + // @00128014 MUL.S $f0, $f0, $f20 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[20].f); + // @00128018 BEQ zero, zero, $00127f10 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212176u; + } + // @0012801C ADD.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); + } + + public virtual void funct00128020() + { + this.ee.pc = 1212556u; + // @00128020 DSRL t2, t3, 9 + MobUt.DSRL(this.ee.t2, this.ee.t3, 9); + // @00128024 DSRL t7, t3, 4 + MobUt.DSRL(this.ee.t7, this.ee.t3, 4); + // @00128028 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0012802C DSRL t6, t3, 5 + MobUt.DSRL(this.ee.t6, this.ee.t3, 5); + // @00128030 DSRL t5, t3, 6 + MobUt.DSRL(this.ee.t5, this.ee.t3, 6); + // @00128034 DSRL t4, t3, 7 + MobUt.DSRL(this.ee.t4, this.ee.t3, 7); + // @00128038 C.EQ.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f == this.ee.fpr[0].f); + // @0012803C DSRL t3, t3, 8 + MobUt.DSRL(this.ee.t3, this.ee.t3, 8); + // @00128040 ANDI t7, t7, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); + // @00128044 ANDI t6, t6, $00ff + this.ee.t6.UD0 = ((ushort)((this.ee.t6.US0 & 255))); + // @00128048 ANDI t5, t5, $00ff + this.ee.t5.UD0 = ((ushort)((this.ee.t5.US0 & 255))); + // @0012804C ANDI t4, t4, $00ff + this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 255))); + // @00128050 ANDI t3, t3, $00ff + this.ee.t3.UD0 = ((ushort)((this.ee.t3.US0 & 255))); + // @00128054 ANDI t2, t2, $00ff + this.ee.t2.UD0 = ((ushort)((this.ee.t2.US0 & 255))); + // @00128058 ANDI t7, t7, $0001 + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 1))); + // @0012805C ANDI t6, t6, $0001 + this.ee.t6.UD0 = ((ushort)((this.ee.t6.US0 & 1))); + // @00128060 SB t7, $0020(sp) + MobUt.SB(this.ee, this.ee.t7, (32u + this.ee.sp.UL0)); + // @00128064 ANDI t5, t5, $0001 + this.ee.t5.UD0 = ((ushort)((this.ee.t5.US0 & 1))); + // @00128068 SB t6, $0021(sp) + MobUt.SB(this.ee, this.ee.t6, (33u + this.ee.sp.UL0)); + // @0012806C ANDI t4, t4, $0001 + this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 1))); + // @00128070 SB t5, $0022(sp) + MobUt.SB(this.ee, this.ee.t5, (34u + this.ee.sp.UL0)); + // @00128074 ANDI t3, t3, $0001 + this.ee.t3.UD0 = ((ushort)((this.ee.t3.US0 & 1))); + // @00128078 SB t4, $0023(sp) + MobUt.SB(this.ee, this.ee.t4, (35u + this.ee.sp.UL0)); + // @0012807C ANDI t2, t2, $0001 + this.ee.t2.UD0 = ((ushort)((this.ee.t2.US0 & 1))); + // @00128080 SB t3, $0024(sp) + MobUt.SB(this.ee, this.ee.t3, (36u + this.ee.sp.UL0)); + // @00128084 BC1F $00128118 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1212696u; + } + // @00128088 SB t2, $0025(sp) + MobUt.SB(this.ee, this.ee.t2, (37u + this.ee.sp.UL0)); + } + + public virtual void funct0012808c() + { + this.ee.pc = 1212592u; + // @0012808C ADDIU a1, s1, $0020 + this.ee.a1.SD0 = ((int)((this.ee.s1.SD0 + 32))); + // @00128090 DADDU t3, s2, zero + this.ee.t3.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00128094 DADDU s0, zero, zero + this.ee.s0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00128098 DADDU t4, zero, zero + this.ee.t4.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012809C SLL t7, s0, 1 + MobUt.SLL(this.ee.t7, this.ee.s0, 1); + // @001280A0 ADDU t5, t7, sp + this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.sp.SD0))); + // @001280A4 LBU t6, $0020(t5) + MobUt.LBU(this.ee, this.ee.t6, (32u + this.ee.t5.UL0)); + // @001280A8 BEQL t6, zero, $001280c8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212616u; + // @001280AC LBU t7, $0021(t5) + MobUt.LBU(this.ee, this.ee.t7, (33u + this.ee.t5.UL0)); + } + } + + public virtual void funct0012809c() + { + this.ee.pc = 1212592u; + // @0012809C SLL t7, s0, 1 + MobUt.SLL(this.ee.t7, this.ee.s0, 1); + // @001280A0 ADDU t5, t7, sp + this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.sp.SD0))); + // @001280A4 LBU t6, $0020(t5) + MobUt.LBU(this.ee, this.ee.t6, (32u + this.ee.t5.UL0)); + // @001280A8 BEQL t6, zero, $001280c8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212616u; + // @001280AC LBU t7, $0021(t5) + MobUt.LBU(this.ee, this.ee.t7, (33u + this.ee.t5.UL0)); + } + } + + public virtual void funct001280b0() + { + this.ee.pc = 1212612u; + // @001280B0 LWC1 $f1, $fff0(a1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (4294967280u + this.ee.a1.UL0)); + // @001280B4 LWC1 $f0, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); + // @001280B8 C.LT.S $f0, $f1 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); + // @001280BC BC1T $001280e4 + if (this.ee.fcr31_23) + { + this.ee.pc = 1212644u; + } + // @001280C0 ADDU t7, sp, t4 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + this.ee.t4.SD0))); + } + + public virtual void funct001280c4() + { + this.ee.pc = 1212624u; + // @001280C4 LBU t7, $0021(t5) + MobUt.LBU(this.ee, this.ee.t7, (33u + this.ee.t5.UL0)); + // @001280C8 BEQL t7, zero, $001280fc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212668u; + // @001280CC ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + } + } + + public virtual void funct001280c8() + { + this.ee.pc = 1212624u; + // @001280C8 BEQL t7, zero, $001280fc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212668u; + // @001280CC ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + } + } + + public virtual void funct001280d0() + { + this.ee.pc = 1212644u; + // @001280D0 LWC1 $f1, $0000(a1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.a1.UL0)); + // @001280D4 LWC1 $f0, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); + // @001280D8 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @001280DC BC1F $001280f8 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1212664u; + } + // @001280E0 ADDU t7, sp, t4 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + this.ee.t4.SD0))); + } + + public virtual void funct001280e4() + { + this.ee.pc = 1212688u; + // @001280E4 ADDU t6, s3, t4 + this.ee.t6.SD0 = ((int)((this.ee.s3.SD0 + this.ee.t4.SD0))); + // @001280E8 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001280EC ADDIU v0, zero, $0001 + this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @001280F0 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @001280F4 SWC1 $f0, $0000(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @001280F8 ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + // @001280FC ADDIU a1, a1, $0004 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 4))); + // @00128100 ADDIU t3, t3, $0004 + this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 4))); + // @00128104 SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @00128108 BNE t7, zero, $0012809c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1212572u; + } + // @0012810C ADDIU t4, t4, $0004 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 4))); + } + + public virtual void funct001280f8() + { + this.ee.pc = 1212688u; + // @001280F8 ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + // @001280FC ADDIU a1, a1, $0004 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 4))); + // @00128100 ADDIU t3, t3, $0004 + this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 4))); + // @00128104 SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @00128108 BNE t7, zero, $0012809c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1212572u; + } + // @0012810C ADDIU t4, t4, $0004 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 4))); + } + + public virtual void funct001280fc() + { + this.ee.pc = 1212688u; + // @001280FC ADDIU a1, a1, $0004 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 4))); + // @00128100 ADDIU t3, t3, $0004 + this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 4))); + // @00128104 SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @00128108 BNE t7, zero, $0012809c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1212572u; + } + // @0012810C ADDIU t4, t4, $0004 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 4))); + } + + public virtual void funct00128110() + { + this.ee.pc = 1212696u; + // @00128110 BEQ zero, zero, $00127f84 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212292u; + } + // @00128114 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct00128118() + { + this.ee.pc = 1212768u; + // @00128118 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0012811C MTC1 zero, $f21 + this.ee.fpr[21].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00128120 ADDIU t7, t7, $8214 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32236))); + // @00128124 DADDU s0, zero, zero + this.ee.s0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00128128 LWC1 $f20, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[20], (0u + this.ee.t7.UL0)); + // @0012812C DADDU s4, s3, zero + this.ee.s4.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + // @00128130 MOV.S $f22, $f21 + this.ee.fpr[22].f = this.ee.fpr[21].f; + // @00128134 DADDU s8, sp, zero + this.ee.s8.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @00128138 ADDIU t7, s1, $0010 + this.ee.t7.SD0 = ((int)((this.ee.s1.SD0 + 16))); + // @0012813C MOV.S $f23, $f20 + this.ee.fpr[23].f = this.ee.fpr[20].f; + // @00128140 SW t7, $0030(sp) + MobUt.SW(this.ee, this.ee.t7, (48u + this.ee.sp.UL0)); + // @00128144 DADDU s7, zero, zero + this.ee.s7.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00128148 ADDIU s6, sp, $0021 + this.ee.s6.SD0 = ((int)((this.ee.sp.SD0 + 33))); + // @0012814C ADDIU t7, s1, $0020 + this.ee.t7.SD0 = ((int)((this.ee.s1.SD0 + 32))); + // @00128150 SW t7, $0034(sp) + MobUt.SW(this.ee, this.ee.t7, (52u + this.ee.sp.UL0)); + // @00128154 LBU t7, $ffff(s6) + MobUt.LBU(this.ee, this.ee.t7, (4294967295u + this.ee.s6.UL0)); + // @00128158 BEQ t7, zero, $001281f0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212912u; + } + // @0012815C LW t7, $0030(sp) + MobUt.LW(this.ee, this.ee.t7, (48u + this.ee.sp.UL0)); + } + + public virtual void funct00128154() + { + this.ee.pc = 1212768u; + // @00128154 LBU t7, $ffff(s6) + MobUt.LBU(this.ee, this.ee.t7, (4294967295u + this.ee.s6.UL0)); + // @00128158 BEQ t7, zero, $001281f0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212912u; + } + // @0012815C LW t7, $0030(sp) + MobUt.LW(this.ee, this.ee.t7, (48u + this.ee.sp.UL0)); + } + + public virtual void funct00128160() + { + this.ee.pc = 1212804u; + // @00128160 LWC1 $f12, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (8u + this.ee.s1.UL0)); + // @00128164 ADDU s5, t7, s7 + this.ee.s5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s7.SD0))); + // @00128168 LWC1 $f1, $0000(s2) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s2.UL0)); + // @0012816C LWC1 $f0, $0000(s5) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s5.UL0)); + // @00128170 ADD.S $f0, $f0, $f12 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); + // @00128174 SUB.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + // @00128178 C.LT.S $f21, $f0 + this.ee.fcr31_23 = (this.ee.fpr[21].f < this.ee.fpr[0].f); + // @0012817C BC1FL $001281f4 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1212916u; + // @00128180 LBU t7, $0000(s6) + MobUt.LBU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); + } + } + + public virtual void funct00128184() + { + this.ee.pc = 1212832u; + // @00128184 NOP + MobUt.Latency(); + // @00128188 NOP + MobUt.Latency(); + // @0012818C DIV.S $f0, $f0, $f12 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[12].f); + // @00128190 LWC1 $f12, $000c(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (12u + this.ee.s1.UL0)); + // @00128194 SUB.S $f12, $f12, $f20 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[20].f); + // @00128198 JAL $002ff8d8 + this.ee.ra.UL0 = 1212832u; + this.ee.pc = 3143896u; + // @0012819C MUL.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f * this.ee.fpr[0].f); + } + + public virtual void funct001281a0() + { + this.ee.pc = 1212904u; + // @001281A0 LWC1 $f2, $0000(s5) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.s5.UL0)); + // @001281A4 ADDIU v0, zero, $0001 + this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @001281A8 LWC1 $f3, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[3], (8u + this.ee.s1.UL0)); + // @001281AC SUB.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f - this.ee.fpr[0].f); + // @001281B0 ADD.S $f2, $f2, $f3 + this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[3].f); + // @001281B4 LWC1 $f1, $0000(s8) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s8.UL0)); + // @001281B8 MUL.S $f0, $f3, $f0 + this.ee.fpr[0].f = (this.ee.fpr[3].f * this.ee.fpr[0].f); + // @001281BC ADD.S $f1, $f1, $f2 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[2].f); + // @001281C0 ADD.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); + // @001281C4 SWC1 $f1, $0000(s4) + MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s4.UL0)); + // @001281C8 ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + // @001281CC ADDIU s4, s4, $0004 + this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); + // @001281D0 ADDIU s8, s8, $0004 + this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); + // @001281D4 ADDIU s2, s2, $0004 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); + // @001281D8 ADDIU s7, s7, $0004 + this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); + // @001281DC SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @001281E0 BNE t7, zero, $00128154 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1212756u; + } + // @001281E4 ADDIU s6, s6, $0002 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); + } + + public virtual void funct001281b4() + { + this.ee.pc = 1212904u; + // @001281B4 LWC1 $f1, $0000(s8) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s8.UL0)); + // @001281B8 MUL.S $f0, $f3, $f0 + this.ee.fpr[0].f = (this.ee.fpr[3].f * this.ee.fpr[0].f); + // @001281BC ADD.S $f1, $f1, $f2 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[2].f); + // @001281C0 ADD.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); + // @001281C4 SWC1 $f1, $0000(s4) + MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s4.UL0)); + // @001281C8 ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + // @001281CC ADDIU s4, s4, $0004 + this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); + // @001281D0 ADDIU s8, s8, $0004 + this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); + // @001281D4 ADDIU s2, s2, $0004 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); + // @001281D8 ADDIU s7, s7, $0004 + this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); + // @001281DC SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @001281E0 BNE t7, zero, $00128154 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1212756u; + } + // @001281E4 ADDIU s6, s6, $0002 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); + } + + public virtual void funct001281c8() + { + this.ee.pc = 1212904u; + // @001281C8 ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + // @001281CC ADDIU s4, s4, $0004 + this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); + // @001281D0 ADDIU s8, s8, $0004 + this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); + // @001281D4 ADDIU s2, s2, $0004 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); + // @001281D8 ADDIU s7, s7, $0004 + this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); + // @001281DC SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @001281E0 BNE t7, zero, $00128154 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1212756u; + } + // @001281E4 ADDIU s6, s6, $0002 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); + } + + public virtual void funct001281cc() + { + this.ee.pc = 1212904u; + // @001281CC ADDIU s4, s4, $0004 + this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 4))); + // @001281D0 ADDIU s8, s8, $0004 + this.ee.s8.SD0 = ((int)((this.ee.s8.SD0 + 4))); + // @001281D4 ADDIU s2, s2, $0004 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 4))); + // @001281D8 ADDIU s7, s7, $0004 + this.ee.s7.SD0 = ((int)((this.ee.s7.SD0 + 4))); + // @001281DC SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @001281E0 BNE t7, zero, $00128154 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1212756u; + } + // @001281E4 ADDIU s6, s6, $0002 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 2))); + } + + public virtual void funct001281e8() + { + this.ee.pc = 1212912u; + // @001281E8 BEQ zero, zero, $00127f84 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212292u; + } + // @001281EC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct001281f0() + { + this.ee.pc = 1212924u; + // @001281F0 LBU t7, $0000(s6) + MobUt.LBU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); + // @001281F4 BEQ t7, zero, $001281c8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212872u; + } + // @001281F8 LW t7, $0034(sp) + MobUt.LW(this.ee, this.ee.t7, (52u + this.ee.sp.UL0)); + } + + public virtual void funct001281f4() + { + this.ee.pc = 1212924u; + // @001281F4 BEQ t7, zero, $001281c8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212872u; + } + // @001281F8 LW t7, $0034(sp) + MobUt.LW(this.ee, this.ee.t7, (52u + this.ee.sp.UL0)); + } + + public virtual void funct001281fc() + { + this.ee.pc = 1212960u; + // @001281FC LWC1 $f12, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (8u + this.ee.s1.UL0)); + // @00128200 ADDU s5, t7, s7 + this.ee.s5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s7.SD0))); + // @00128204 LWC1 $f1, $0000(s2) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s2.UL0)); + // @00128208 LWC1 $f0, $0000(s5) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s5.UL0)); + // @0012820C SUB.S $f0, $f0, $f12 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); + // @00128210 SUB.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + // @00128214 C.LT.S $f22, $f0 + this.ee.fcr31_23 = (this.ee.fpr[22].f < this.ee.fpr[0].f); + // @00128218 BC1FL $001281cc + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1212876u; + // @0012821C ADDIU s0, s0, $0001 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 1))); + } + } + + public virtual void funct00128220() + { + this.ee.pc = 1212988u; + // @00128220 NOP + MobUt.Latency(); + // @00128224 NOP + MobUt.Latency(); + // @00128228 DIV.S $f0, $f0, $f12 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[12].f); + // @0012822C LWC1 $f12, $000c(s1) + MobUt.LWC1(this.ee, this.ee.fpr[12], (12u + this.ee.s1.UL0)); + // @00128230 SUB.S $f12, $f12, $f23 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[23].f); + // @00128234 JAL $002ff8d8 + this.ee.ra.UL0 = 1212988u; + this.ee.pc = 3143896u; + // @00128238 MUL.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f * this.ee.fpr[0].f); + } + + public virtual void funct0012823c() + { + this.ee.pc = 1213012u; + // @0012823C LWC1 $f2, $0000(s5) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.s5.UL0)); + // @00128240 ADDIU v0, zero, $0001 + this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @00128244 LWC1 $f3, $0008(s1) + MobUt.LWC1(this.ee, this.ee.fpr[3], (8u + this.ee.s1.UL0)); + // @00128248 SUB.S $f0, $f23, $f0 + this.ee.fpr[0].f = (this.ee.fpr[23].f - this.ee.fpr[0].f); + // @0012824C BEQ zero, zero, $001281b4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212852u; + } + // @00128250 SUB.S $f2, $f2, $f3 + this.ee.fpr[2].f = (this.ee.fpr[2].f - this.ee.fpr[3].f); + } + + public virtual void funct00128254() + { + this.ee.pc = 1213024u; + // @00128254 SQC2 vf0, $0000(sp) + MobUt.SQC2(this.ee, this.ee.VF[0], (0u + this.ee.sp.UL0)); + // @00128258 BEQ zero, zero, $00127e94 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1212052u; + } + // @0012825C ADDIU s2, sp, $0010 + this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00128260() + { + this.ee.pc = 1213076u; + // @00128260 ADDIU sp, sp, $ffe0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); + // @00128264 SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @00128268 SD s1, $0008(sp) + MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @0012826C SD s2, $0010(sp) + MobUt.SD(this.ee, this.ee.s2, (16u + this.ee.sp.UL0)); + // @00128270 DADDU s0, a1, zero + this.ee.s0.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00128274 SD ra, $0018(sp) + MobUt.SD(this.ee, this.ee.ra, (24u + this.ee.sp.UL0)); + // @00128278 LW t7, $0014(a1) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.a1.UL0)); + // @0012827C LW s2, $0004(a0) + MobUt.LW(this.ee, this.ee.s2, (4u + this.ee.a0.UL0)); + // @00128280 LW t6, $0000(t7) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.t7.UL0)); + // @00128284 LHU s1, $0010(s2) + MobUt.LHU(this.ee, this.ee.s1, (16u + this.ee.s2.UL0)); + // @00128288 LW v0, $0020(t6) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t6.UL0)); + // @0012828C JALR ra, v0 + this.ee.ra.UD0 = 1213076u; + this.ee.pc = this.ee.v0.UL0; + // @00128290 DADDU a0, t7, zero + this.ee.a0.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128294() + { + this.ee.pc = 1213084u; + // @00128294 BEQ s1, zero, $00128304 + if ((this.ee.s1.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213188u; + } + // @00128298 DADDU t2, zero, zero + this.ee.t2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012829c() + { + this.ee.pc = 1213108u; + // @0012829C LW t7, $001c(s0) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s0.UL0)); + // @001282A0 SLL t5, t2, 4 + MobUt.SLL(this.ee.t5, this.ee.t2, 4); + // @001282A4 ADDIU t6, v0, $0010 + this.ee.t6.SD0 = ((int)((this.ee.v0.SD0 + 16))); + // @001282A8 ADDU t7, t7, t5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @001282AC BEQL t7, t6, $001282c0 + if ((this.ee.t7.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1213120u; + // @001282B0 LW t7, $0020(s0) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s0.UL0)); + } + } + + public virtual void funct001282b4() + { + this.ee.pc = 1213136u; + // @001282B4 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @001282B8 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @001282BC LW t7, $0020(s0) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s0.UL0)); + // @001282C0 ADDIU t6, v0, $0020 + this.ee.t6.SD0 = ((int)((this.ee.v0.SD0 + 32))); + // @001282C4 ADDU t7, t7, t5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @001282C8 BEQL t7, t6, $001282dc + if ((this.ee.t7.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1213148u; + // @001282CC LW t7, $0024(s0) + MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s0.UL0)); + } + } + + public virtual void funct001282d0() + { + this.ee.pc = 1213164u; + // @001282D0 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @001282D4 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @001282D8 LW t7, $0024(s0) + MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s0.UL0)); + // @001282DC ADDIU t6, v0, $0030 + this.ee.t6.SD0 = ((int)((this.ee.v0.SD0 + 48))); + // @001282E0 ADDU t7, t7, t5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @001282E4 BEQL t7, t6, $001282f8 + if ((this.ee.t7.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1213176u; + // @001282E8 ADDIU t2, t2, $0001 + this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); + } + } + + public virtual void funct001282ec() + { + this.ee.pc = 1213188u; + // @001282EC LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @001282F0 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @001282F4 ADDIU t2, t2, $0001 + this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); + // @001282F8 SLT t7, t2, s1 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.s1.SD0)); + // @001282FC BNE t7, zero, $0012829c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1213084u; + } + // @00128300 ADDIU v0, v0, $0040 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + 64))); + } + + public virtual void funct00128304() + { + this.ee.pc = 1213200u; + // @00128304 LW s1, $0028(s2) + MobUt.LW(this.ee, this.ee.s1, (40u + this.ee.s2.UL0)); + // @00128308 BEQL s1, zero, $00128384 + if ((this.ee.s1.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213316u; + // @0012830C LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + } + } + + public virtual void funct00128310() + { + this.ee.pc = 1213216u; + // @00128310 LW t7, $0024(s2) + MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s2.UL0)); + // @00128314 DADDU t2, zero, zero + this.ee.t2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00128318 BLEZ s1, $00128380 + if ((this.ee.s1.SD0 <= 0)) + { + this.ee.pc = 1213312u; + } + // @0012831C ADDU t3, s2, t7 + this.ee.t3.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct00128320() + { + this.ee.pc = 1213236u; + // @00128320 LHU t4, $0002(t3) + MobUt.LHU(this.ee, this.ee.t4, (2u + this.ee.t3.UL0)); + // @00128324 ANDI t6, t4, $ffff + this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @00128328 SLTIU t7, t6, $0009 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 9ul)); + // @0012832C BEQ t7, zero, $00128370 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213296u; + } + // @00128330 SLL t7, t6, 2 + MobUt.SLL(this.ee.t7, this.ee.t6, 2); + } + + public virtual void funct00128334() + { + this.ee.pc = 1213260u; + // @00128334 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00128338 ADDIU t6, t6, $8218 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32232))); + // @0012833C ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128340 LW t5, $0000(t7) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); + // @00128344 JR t5 + this.ee.pc = this.ee.t5.UL[0]; + // @00128348 NOP + MobUt.Latency(); + } + + public virtual void funct0012834c() + { + this.ee.pc = 1213312u; + // @0012834C LHU t6, $0000(t3) + MobUt.LHU(this.ee, this.ee.t6, (0u + this.ee.t3.UL0)); + // @00128350 ANDI t5, t4, $ffff + this.ee.t5.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @00128354 LW t7, $001c(s0) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s0.UL0)); + // @00128358 SLL t5, t5, 2 + MobUt.SLL(this.ee.t5, this.ee.t5, 2); + // @0012835C SLL t6, t6, 4 + MobUt.SLL(this.ee.t6, this.ee.t6, 4); + // @00128360 LWC1 $f0, $0004(t3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t3.UL0)); + // @00128364 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128368 ADDU t7, t7, t5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @0012836C SWC1 $f0, $0000(t7) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00128370 ADDIU t2, t2, $0001 + this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); + // @00128374 SLT t7, t2, s1 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.s1.SD0)); + // @00128378 BNE t7, zero, $00128320 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1213216u; + } + // @0012837C ADDIU t3, t3, $0008 + this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 8))); + } + + public virtual void funct00128370() + { + this.ee.pc = 1213312u; + // @00128370 ADDIU t2, t2, $0001 + this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + 1))); + // @00128374 SLT t7, t2, s1 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.s1.SD0)); + // @00128378 BNE t7, zero, $00128320 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1213216u; + } + // @0012837C ADDIU t3, t3, $0008 + this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + 8))); + } + + public virtual void funct00128380() + { + this.ee.pc = 1213336u; + // @00128380 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @00128384 LD s1, $0008(sp) + MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @00128388 LD s2, $0010(sp) + MobUt.LD(this.ee, this.ee.s2, (16u + this.ee.sp.UL0)); + // @0012838C LD ra, $0018(sp) + MobUt.LD(this.ee, this.ee.ra, (24u + this.ee.sp.UL0)); + // @00128390 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128394 ADDIU sp, sp, $0020 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct00128384() + { + this.ee.pc = 1213336u; + // @00128384 LD s1, $0008(sp) + MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @00128388 LD s2, $0010(sp) + MobUt.LD(this.ee, this.ee.s2, (16u + this.ee.sp.UL0)); + // @0012838C LD ra, $0018(sp) + MobUt.LD(this.ee, this.ee.ra, (24u + this.ee.sp.UL0)); + // @00128390 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128394 ADDIU sp, sp, $0020 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct00128398() + { + this.ee.pc = 1213380u; + // @00128398 ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @0012839C LHU t5, $0000(t3) + MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t3.UL0)); + // @001283A0 LW t6, $0020(s0) + MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.s0.UL0)); + // @001283A4 ADDIU t7, t7, $fffd + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -3))); + // @001283A8 SLL t5, t5, 4 + MobUt.SLL(this.ee.t5, this.ee.t5, 4); + // @001283AC LWC1 $f0, $0004(t3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t3.UL0)); + // @001283B0 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @001283B4 ADDU t6, t6, t5 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + // @001283B8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001283BC BEQ zero, zero, $00128370 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213296u; + } + // @001283C0 SWC1 $f0, $0000(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + } + + public virtual void funct001283a8() + { + this.ee.pc = 1213380u; + // @001283A8 SLL t5, t5, 4 + MobUt.SLL(this.ee.t5, this.ee.t5, 4); + // @001283AC LWC1 $f0, $0004(t3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t3.UL0)); + // @001283B0 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @001283B4 ADDU t6, t6, t5 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + // @001283B8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001283BC BEQ zero, zero, $00128370 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213296u; + } + // @001283C0 SWC1 $f0, $0000(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + } + + public virtual void funct001283c4() + { + this.ee.pc = 1213400u; + // @001283C4 ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @001283C8 LHU t5, $0000(t3) + MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t3.UL0)); + // @001283CC LW t6, $0024(s0) + MobUt.LW(this.ee, this.ee.t6, (36u + this.ee.s0.UL0)); + // @001283D0 BEQ zero, zero, $001283a8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213352u; + } + // @001283D4 ADDIU t7, t7, $fffa + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -6))); + } + + public virtual void funct001283d8() + { + this.ee.pc = 1213440u; + // @001283D8 LW t5, $0004(a0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.a0.UL0)); + // @001283DC LW t6, $0044(t5) + MobUt.LW(this.ee, this.ee.t6, (68u + this.ee.t5.UL0)); + // @001283E0 LW t4, $0020(t5) + MobUt.LW(this.ee, this.ee.t4, (32u + this.ee.t5.UL0)); + // @001283E4 ADDU t3, t5, t6 + this.ee.t3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @001283E8 SLL t7, t4, 2 + MobUt.SLL(this.ee.t7, this.ee.t4, 2); + // @001283EC ADDU t7, t3, t7 + this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t7.SD0))); + // @001283F0 LWC1 $f0, $fffc(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4294967292u + this.ee.t7.UL0)); + // @001283F4 C.LE.S $f0, $f12 + this.ee.fcr31_23 = (this.ee.fpr[0].f <= this.ee.fpr[12].f); + // @001283F8 BC1FL $00128414 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1213460u; + // @001283FC LWC1 $f0, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); + } + } + + public virtual void funct00128400() + { + this.ee.pc = 1213460u; + // @00128400 ADDIU t7, t4, $ffff + this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + -1))); + // @00128404 SW t7, $0000(a1) + MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); + // @00128408 LW t6, $0020(t5) + MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.t5.UL0)); + // @0012840C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128410 SW t6, $0000(a2) + MobUt.SW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); + } + + public virtual void funct00128414() + { + this.ee.pc = 1213472u; + // @00128414 C.LE.S $f12, $f0 + this.ee.fcr31_23 = (this.ee.fpr[12].f <= this.ee.fpr[0].f); + // @00128418 BC1FL $00128430 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1213488u; + // @0012841C SW zero, $0000(a1) + MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.a1.UL0)); + } + } + + public virtual void funct00128420() + { + this.ee.pc = 1213488u; + // @00128420 ADDIU t7, zero, $ffff + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00128424 SW t7, $0000(a1) + MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); + // @00128428 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0012842C SW zero, $0000(a2) + MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.a2.UL0)); + } + + public virtual void funct00128430() + { + this.ee.pc = 1213520u; + // @00128430 LW t7, $0020(t5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.t5.UL0)); + // @00128434 ADDIU t6, t7, $ffff + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + -1))); + // @00128438 SW t6, $0000(a2) + MobUt.SW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); + // @0012843C LW t5, $0000(a1) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a1.UL0)); + // @00128440 SUBU t7, t6, t5 + this.ee.t7.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); + // @00128444 SLTI t7, t7, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < 2)); + // @00128448 BNE t7, zero, $00128490 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1213584u; + } + // @0012844C ADDU t7, t5, t6 + this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + } + + public virtual void funct00128450() + { + this.ee.pc = 1213556u; + // @00128450 SRL t6, t7, 31 + MobUt.SRL(this.ee.t6, this.ee.t7, 31); + // @00128454 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128458 SRA t7, t7, 1 + MobUt.SRA(this.ee.t7, this.ee.t7, 1); + // @0012845C SLL t6, t7, 2 + MobUt.SLL(this.ee.t6, this.ee.t7, 2); + // @00128460 ADDU t6, t6, t3 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t3.SD0))); + // @00128464 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @00128468 C.LT.S $f12, $f0 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); + // @0012846C BC1FL $00128498 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1213592u; + // @00128470 C.LT.S $f0, $f12 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[12].f); + } + } + + public virtual void funct00128474() + { + this.ee.pc = 1213584u; + // @00128474 SW t7, $0000(a2) + MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); + // @00128478 LW t6, $0000(a2) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); + // @0012847C LW t5, $0000(a1) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a1.UL0)); + // @00128480 SUBU t7, t6, t5 + this.ee.t7.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); + // @00128484 SLTI t7, t7, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < 2)); + // @00128488 BEQ t7, zero, $00128450 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213520u; + } + // @0012848C ADDU t7, t5, t6 + this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + } + + public virtual void funct00128478() + { + this.ee.pc = 1213584u; + // @00128478 LW t6, $0000(a2) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); + // @0012847C LW t5, $0000(a1) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a1.UL0)); + // @00128480 SUBU t7, t6, t5 + this.ee.t7.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); + // @00128484 SLTI t7, t7, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < 2)); + // @00128488 BEQ t7, zero, $00128450 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213520u; + } + // @0012848C ADDU t7, t5, t6 + this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + } + + public virtual void funct00128490() + { + this.ee.pc = 1213592u; + // @00128490 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128494 NOP + MobUt.Latency(); + } + + public virtual void funct00128498() + { + this.ee.pc = 1213600u; + // @00128498 BC1FL $001284a8 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1213608u; + // @0012849C SW t7, $0000(a2) + MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); + } + } + + public virtual void funct001284a0() + { + this.ee.pc = 1213608u; + // @001284A0 BEQ zero, zero, $00128478 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213560u; + } + // @001284A4 SW t7, $0000(a1) + MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); + } + + public virtual void funct001284a8() + { + this.ee.pc = 1213616u; + // @001284A8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @001284AC SW t7, $0000(a1) + MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a1.UL0)); + } + + public virtual void funct001284b0() + { + this.ee.pc = 1213744u; + // @001284B0 SUB.S $f16, $f16, $f13 + this.ee.fpr[16].f = (this.ee.fpr[16].f - this.ee.fpr[13].f); + // @001284B4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @001284B8 ADDIU t7, t7, $823c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32196))); + // @001284BC SUB.S $f12, $f12, $f13 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[13].f); + // @001284C0 LWC1 $f7, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[7], (0u + this.ee.t7.UL0)); + // @001284C4 NOP + MobUt.Latency(); + // @001284C8 NOP + MobUt.Latency(); + // @001284CC DIV.S $f16, $f7, $f16 + this.ee.fpr[16].f = (this.ee.fpr[7].f / this.ee.fpr[16].f); + // @001284D0 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @001284D4 MUL.S $f5, $f12, $f12 + this.ee.fpr[5].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); + // @001284D8 ADDIU t7, t7, $8240 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32192))); + // @001284DC LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @001284E0 MUL.S $f2, $f5, $f12 + this.ee.fpr[2].f = (this.ee.fpr[5].f * this.ee.fpr[12].f); + // @001284E4 MUL.S $f3, $f5, $f3 + this.ee.fpr[3].f = (this.ee.fpr[5].f * this.ee.fpr[3].f); + // @001284E8 MUL.S $f1, $f16, $f16 + this.ee.fpr[1].f = (this.ee.fpr[16].f * this.ee.fpr[16].f); + // @001284EC MUL.S $f5, $f5, $f16 + this.ee.fpr[5].f = (this.ee.fpr[5].f * this.ee.fpr[16].f); + // @001284F0 MUL.S $f2, $f2, $f1 + this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[1].f); + // @001284F4 MUL.S $f3, $f3, $f1 + this.ee.fpr[3].f = (this.ee.fpr[3].f * this.ee.fpr[1].f); + // @001284F8 ADD.S $f6, $f5, $f5 + this.ee.fpr[6].f = (this.ee.fpr[5].f + this.ee.fpr[5].f); + // @001284FC ADD.S $f4, $f2, $f2 + this.ee.fpr[4].f = (this.ee.fpr[2].f + this.ee.fpr[2].f); + // @00128500 SUB.S $f5, $f2, $f5 + this.ee.fpr[5].f = (this.ee.fpr[2].f - this.ee.fpr[5].f); + // @00128504 MUL.S $f4, $f4, $f16 + this.ee.fpr[4].f = (this.ee.fpr[4].f * this.ee.fpr[16].f); + // @00128508 SUB.S $f2, $f2, $f6 + this.ee.fpr[2].f = (this.ee.fpr[2].f - this.ee.fpr[6].f); + // @0012850C SUB.S $f1, $f4, $f3 + this.ee.fpr[1].f = (this.ee.fpr[4].f - this.ee.fpr[3].f); + // @00128510 ADD.S $f2, $f2, $f12 + this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[12].f); + // @00128514 ADD.S $f1, $f1, $f7 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[7].f); + // @00128518 SUB.S $f3, $f3, $f4 + this.ee.fpr[3].f = (this.ee.fpr[3].f - this.ee.fpr[4].f); + // @0012851C MULA.S $f14, $f1 + this.ee.fpracc.f = (this.ee.fpr[14].f * this.ee.fpr[1].f); + // @00128520 MADDA.S $f17, $f3 + this.ee.fpracc.f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[17].f, this.ee.fpr[3].f); + // @00128524 MADDA.S $f15, $f2 + this.ee.fpracc.f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[15].f, this.ee.fpr[2].f); + // @00128528 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0012852C MADD.S $f0, $f18, $f5 + this.ee.fpr[0].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[18].f, this.ee.fpr[5].f); + } + + public virtual void funct00128530() + { + this.ee.pc = 1213892u; + // @00128530 ADDIU sp, sp, $ffa0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -96))); + // @00128534 LW t5, $0004(a0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.a0.UL0)); + // @00128538 SD s0, $0010(sp) + MobUt.SD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + // @0012853C SD s1, $0018(sp) + MobUt.SD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @00128540 SD s2, $0020(sp) + MobUt.SD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @00128544 DADDU s0, a1, zero + this.ee.s0.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00128548 SD s3, $0028(sp) + MobUt.SD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @0012854C SD s4, $0030(sp) + MobUt.SD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @00128550 SD s5, $0038(sp) + MobUt.SD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @00128554 SD s6, $0040(sp) + MobUt.SD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); + // @00128558 SWC1 $f20, $0050(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (80u + this.ee.sp.UL0)); + // @0012855C SW a3, $0004(sp) + MobUt.SW(this.ee, this.ee.a3, (4u + this.ee.sp.UL0)); + // @00128560 SD ra, $0048(sp) + MobUt.SD(this.ee, this.ee.ra, (72u + this.ee.sp.UL0)); + // @00128564 MOV.S $f20, $f12 + this.ee.fpr[20].f = this.ee.fpr[12].f; + // @00128568 SW a2, $0000(sp) + MobUt.SW(this.ee, this.ee.a2, (0u + this.ee.sp.UL0)); + // @0012856C LHU t0, $0004(a1) + MobUt.LHU(this.ee, this.ee.t0, (4u + this.ee.a1.UL0)); + // @00128570 LW t6, $0040(t5) + MobUt.LW(this.ee, this.ee.t6, (64u + this.ee.t5.UL0)); + // @00128574 ANDI t4, t0, $ffff + this.ee.t4.UD0 = ((ushort)((this.ee.t0.US0 & 65535))); + // @00128578 LBU t1, $0003(a1) + MobUt.LBU(this.ee, this.ee.t1, (3u + this.ee.a1.UL0)); + // @0012857C ADDU s2, t5, t6 + this.ee.s2.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @00128580 LW t3, $0048(t5) + MobUt.LW(this.ee, this.ee.t3, (72u + this.ee.t5.UL0)); + // @00128584 SLL t7, t4, 3 + MobUt.SLL(this.ee.t7, this.ee.t4, 3); + // @00128588 ANDI t6, t1, $00ff + this.ee.t6.UD0 = ((ushort)((this.ee.t1.US0 & 255))); + // @0012858C ADDU s1, s2, t7 + this.ee.s1.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t7.SD0))); + // @00128590 ADDU t4, t4, t6 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @00128594 LHU t2, $0000(s1) + MobUt.LHU(this.ee, this.ee.t2, (0u + this.ee.s1.UL0)); + // @00128598 SLL t4, t4, 3 + MobUt.SLL(this.ee.t4, this.ee.t4, 3); + // @0012859C LW t6, $0044(t5) + MobUt.LW(this.ee, this.ee.t6, (68u + this.ee.t5.UL0)); + // @001285A0 ADDU t4, s2, t4 + this.ee.t4.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t4.SD0))); + // @001285A4 LW t7, $004c(t5) + MobUt.LW(this.ee, this.ee.t7, (76u + this.ee.t5.UL0)); + // @001285A8 SRL t2, t2, 2 + MobUt.SRL(this.ee.t2, this.ee.t2, 2); + // @001285AC ADDU s3, t5, t6 + this.ee.s3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @001285B0 ADDU s5, t5, t3 + this.ee.s5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t3.SD0))); + // @001285B4 ADDU s6, t5, t7 + this.ee.s6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); + // @001285B8 SLT a3, t2, a3 + this.ee.a3.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.a3.SD0)); + // @001285BC BNE a3, zero, $00128840 + if ((this.ee.a3.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214528u; + } + // @001285C0 ADDIU s4, t4, $fff8 + this.ee.s4.SD0 = ((int)((this.ee.t4.SD0 + -8))); + } + + public virtual void funct001285c4() + { + this.ee.pc = 1213916u; + // @001285C4 LHU t7, $0002(a1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.a1.UL0)); + // @001285C8 ADDIU t6, zero, $0001 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @001285CC SRL t7, t7, 4 + MobUt.SRL(this.ee.t7, this.ee.t7, 4); + // @001285D0 ANDI t5, t7, $0003 + this.ee.t5.UD0 = ((ushort)((this.ee.t7.US0 & 3))); + // @001285D4 BEQ t5, t6, $00128804 + if ((this.ee.t5.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1214468u; + } + // @001285D8 SLTI t7, t5, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < 2)); + } + + public virtual void funct001285dc() + { + this.ee.pc = 1213924u; + // @001285DC BEQL t7, zero, $0012862c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213996u; + // @001285E0 ADDIU t7, zero, $0002 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); + } + } + + public virtual void funct001285e4() + { + this.ee.pc = 1213932u; + // @001285E4 BEQL t5, zero, $0012861c + if ((this.ee.t5.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213980u; + // @001285E8 LHU t7, $0002(s1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); + } + } + + public virtual void funct001285f0() + { + this.ee.pc = 1213980u; + // @001285F0 LD s0, $0010(sp) + MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + // @001285F4 LD s1, $0018(sp) + MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @001285F8 LD s2, $0020(sp) + MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @001285FC LD s3, $0028(sp) + MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @00128600 LD s4, $0030(sp) + MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @00128604 LD s5, $0038(sp) + MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @00128608 LD s6, $0040(sp) + MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); + // @0012860C LD ra, $0048(sp) + MobUt.LD(this.ee, this.ee.ra, (72u + this.ee.sp.UL0)); + // @00128610 LWC1 $f20, $0050(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (80u + this.ee.sp.UL0)); + // @00128614 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128618 ADDIU sp, sp, $0060 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); + } + + public virtual void funct001285f4() + { + this.ee.pc = 1213980u; + // @001285F4 LD s1, $0018(sp) + MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @001285F8 LD s2, $0020(sp) + MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @001285FC LD s3, $0028(sp) + MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @00128600 LD s4, $0030(sp) + MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @00128604 LD s5, $0038(sp) + MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @00128608 LD s6, $0040(sp) + MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); + // @0012860C LD ra, $0048(sp) + MobUt.LD(this.ee, this.ee.ra, (72u + this.ee.sp.UL0)); + // @00128610 LWC1 $f20, $0050(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (80u + this.ee.sp.UL0)); + // @00128614 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128618 ADDIU sp, sp, $0060 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); + } + + public virtual void funct0012861c() + { + this.ee.pc = 1213996u; + // @0012861C SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00128620 ADDU t7, t7, s5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s5.SD0))); + // @00128624 BEQ zero, zero, $001285f0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213936u; + } + // @00128628 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + } + + public virtual void funct0012862c() + { + this.ee.pc = 1214004u; + // @0012862C BNEL t5, t7, $001285f0 + if ((this.ee.t5.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1213936u; + // @00128630 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + } + + public virtual void funct00128634() + { + this.ee.pc = 1214044u; + // @00128634 LHU t7, $fff8(t4) + MobUt.LHU(this.ee, this.ee.t7, (4294967288u + this.ee.t4.UL0)); + // @00128638 SLL t6, t2, 2 + MobUt.SLL(this.ee.t6, this.ee.t2, 2); + // @0012863C ADDU t6, t6, s3 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + // @00128640 ANDI t7, t7, $fffc + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 65532))); + // @00128644 LWC1 $f2, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); + // @00128648 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012864C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00128650 C.LT.S $f12, $f2 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[2].f); + // @00128654 BC1F $00128670 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1214064u; + } + // @00128658 SUB.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); + } + + public virtual void funct0012865c() + { + this.ee.pc = 1214060u; + // @0012865C ADD.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + // @00128660 C.LT.S $f12, $f2 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[2].f); + // @00128664 BC1TL $00128660 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1214048u; + // @00128668 ADD.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + } + } + + public virtual void funct00128660() + { + this.ee.pc = 1214060u; + // @00128660 C.LT.S $f12, $f2 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[2].f); + // @00128664 BC1TL $00128660 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1214048u; + // @00128668 ADD.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + } + } + + public virtual void funct0012866c() + { + this.ee.pc = 1214080u; + // @0012866C MOV.S $f20, $f12 + this.ee.fpr[20].f = this.ee.fpr[12].f; + // @00128670 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @00128674 DADDU a1, sp, zero + this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @00128678 JAL $001283d8 + this.ee.ra.UL0 = 1214080u; + this.ee.pc = 1213400u; + // @0012867C ADDIU a2, sp, $0004 + this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 4))); + } + + public virtual void funct00128670() + { + this.ee.pc = 1214080u; + // @00128670 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @00128674 DADDU a1, sp, zero + this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @00128678 JAL $001283d8 + this.ee.ra.UL0 = 1214080u; + this.ee.pc = 1213400u; + // @0012867C ADDIU a2, sp, $0004 + this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 4))); + } + + public virtual void funct00128680() + { + this.ee.pc = 1214120u; + // @00128680 LBU t1, $0003(s0) + MobUt.LBU(this.ee, this.ee.t1, (3u + this.ee.s0.UL0)); + // @00128684 LHU t0, $0004(s0) + MobUt.LHU(this.ee, this.ee.t0, (4u + this.ee.s0.UL0)); + // @00128688 ANDI t4, t0, $ffff + this.ee.t4.UD0 = ((ushort)((this.ee.t0.US0 & 65535))); + // @0012868C ANDI t7, t1, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t1.US0 & 255))); + // @00128690 ADDU t7, t4, t7 + this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); + // @00128694 ADDIU a3, t7, $ffff + this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + -1))); + // @00128698 SUBU t0, a3, t4 + this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); + // @0012869C SLTI t7, t0, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); + // @001286A0 BNEL t7, zero, $00128708 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214216u; + // @001286A4 LHU t4, $0000(s1) + MobUt.LHU(this.ee, this.ee.t4, (0u + this.ee.s1.UL0)); + } + } + + public virtual void funct0012868c() + { + this.ee.pc = 1214120u; + // @0012868C ANDI t7, t1, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t1.US0 & 255))); + // @00128690 ADDU t7, t4, t7 + this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); + // @00128694 ADDIU a3, t7, $ffff + this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + -1))); + // @00128698 SUBU t0, a3, t4 + this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); + // @0012869C SLTI t7, t0, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); + // @001286A0 BNEL t7, zero, $00128708 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214216u; + // @001286A4 LHU t4, $0000(s1) + MobUt.LHU(this.ee, this.ee.t4, (0u + this.ee.s1.UL0)); + } + } + + public virtual void funct001286a8() + { + this.ee.pc = 1214176u; + // @001286A8 ADDU t7, t4, a3 + this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.a3.SD0))); + // @001286AC SRL t6, t7, 31 + MobUt.SRL(this.ee.t6, this.ee.t7, 31); + // @001286B0 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @001286B4 SRA t3, t7, 1 + MobUt.SRA(this.ee.t3, this.ee.t7, 1); + // @001286B8 SLL t6, t3, 3 + MobUt.SLL(this.ee.t6, this.ee.t3, 3); + // @001286BC ADDU t1, s2, t6 + this.ee.t1.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t6.SD0))); + // @001286C0 LHU t5, $0000(t1) + MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t1.UL0)); + // @001286C4 SRL t5, t5, 2 + MobUt.SRL(this.ee.t5, this.ee.t5, 2); + // @001286C8 SLL t7, t5, 2 + MobUt.SLL(this.ee.t7, this.ee.t5, 2); + // @001286CC ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @001286D0 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001286D4 C.EQ.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); + // @001286D8 BC1T $001287fc + if (this.ee.fcr31_23) + { + this.ee.pc = 1214460u; + } + // @001286DC LW t6, $0000(sp) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.sp.UL0)); + } + + public virtual void funct001286ac() + { + this.ee.pc = 1214176u; + // @001286AC SRL t6, t7, 31 + MobUt.SRL(this.ee.t6, this.ee.t7, 31); + // @001286B0 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @001286B4 SRA t3, t7, 1 + MobUt.SRA(this.ee.t3, this.ee.t7, 1); + // @001286B8 SLL t6, t3, 3 + MobUt.SLL(this.ee.t6, this.ee.t3, 3); + // @001286BC ADDU t1, s2, t6 + this.ee.t1.SD0 = ((int)((this.ee.s2.SD0 + this.ee.t6.SD0))); + // @001286C0 LHU t5, $0000(t1) + MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.t1.UL0)); + // @001286C4 SRL t5, t5, 2 + MobUt.SRL(this.ee.t5, this.ee.t5, 2); + // @001286C8 SLL t7, t5, 2 + MobUt.SLL(this.ee.t7, this.ee.t5, 2); + // @001286CC ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @001286D0 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001286D4 C.EQ.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[20].f); + // @001286D8 BC1T $001287fc + if (this.ee.fcr31_23) + { + this.ee.pc = 1214460u; + } + // @001286DC LW t6, $0000(sp) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.sp.UL0)); + } + + public virtual void funct001286e0() + { + this.ee.pc = 1214188u; + // @001286E0 SLT t7, t5, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); + // @001286E4 BEQ t7, zero, $001287c0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214400u; + } + // @001286E8 LW t2, $0004(sp) + MobUt.LW(this.ee, this.ee.t2, (4u + this.ee.sp.UL0)); + } + + public virtual void funct001286ec() + { + this.ee.pc = 1214212u; + // @001286EC DADDU t4, t3, zero + this.ee.t4.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @001286F0 DADDU s1, t1, zero + this.ee.s1.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); + // @001286F4 SUBU t0, a3, t4 + this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); + // @001286F8 SLTI t7, t0, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); + // @001286FC BEQ t7, zero, $001286ac + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214124u; + } + // @00128700 ADDU t7, t4, a3 + this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.a3.SD0))); + } + + public virtual void funct001286f4() + { + this.ee.pc = 1214212u; + // @001286F4 SUBU t0, a3, t4 + this.ee.t0.SD0 = ((int)((this.ee.a3.UD0 - this.ee.t4.UD0))); + // @001286F8 SLTI t7, t0, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); + // @001286FC BEQ t7, zero, $001286ac + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214124u; + } + // @00128700 ADDU t7, t4, a3 + this.ee.t7.SD0 = ((int)((this.ee.t4.SD0 + this.ee.a3.SD0))); + } + + public virtual void funct00128704() + { + this.ee.pc = 1214232u; + // @00128704 LHU t4, $0000(s1) + MobUt.LHU(this.ee, this.ee.t4, (0u + this.ee.s1.UL0)); + // @00128708 ANDI t7, t4, $0003 + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 3))); + // @0012870C ANDI t1, t7, $ffff + this.ee.t1.UD0 = ((ushort)((this.ee.t7.US0 & 65535))); + // @00128710 BEQL t1, zero, $0012861c + if ((this.ee.t1.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213980u; + // @00128714 LHU t7, $0002(s1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); + } + } + + public virtual void funct00128708() + { + this.ee.pc = 1214232u; + // @00128708 ANDI t7, t4, $0003 + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 3))); + // @0012870C ANDI t1, t7, $ffff + this.ee.t1.UD0 = ((ushort)((this.ee.t7.US0 & 65535))); + // @00128710 BEQL t1, zero, $0012861c + if ((this.ee.t1.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213980u; + // @00128714 LHU t7, $0002(s1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); + } + } + + public virtual void funct00128718() + { + this.ee.pc = 1214336u; + // @00128718 LHU t7, $0002(s4) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s4.UL0)); + // @0012871C ANDI t4, t4, $ffff + this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @00128720 LHU t3, $0006(s1) + MobUt.LHU(this.ee, this.ee.t3, (6u + this.ee.s1.UL0)); + // @00128724 ANDI t4, t4, $fffc + this.ee.t4.UD0 = ((ushort)((this.ee.t4.US0 & 65532))); + // @00128728 LHU t2, $0004(s4) + MobUt.LHU(this.ee, this.ee.t2, (4u + this.ee.s4.UL0)); + // @0012872C SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00128730 LHU t6, $0002(s1) + MobUt.LHU(this.ee, this.ee.t6, (2u + this.ee.s1.UL0)); + // @00128734 ADDU t7, t7, s5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s5.SD0))); + // @00128738 LHU t5, $0000(s4) + MobUt.LHU(this.ee, this.ee.t5, (0u + this.ee.s4.UL0)); + // @0012873C SLL t3, t3, 2 + MobUt.SLL(this.ee.t3, this.ee.t3, 2); + // @00128740 SLL t2, t2, 2 + MobUt.SLL(this.ee.t2, this.ee.t2, 2); + // @00128744 LWC1 $f17, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[17], (0u + this.ee.t7.UL0)); + // @00128748 SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @0012874C ANDI t5, t5, $fffc + this.ee.t5.UD0 = ((ushort)((this.ee.t5.US0 & 65532))); + // @00128750 ADDU t2, t2, s6 + this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + this.ee.s6.SD0))); + // @00128754 ADDU t5, t5, s3 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); + // @00128758 ADDU t4, t4, s3 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + this.ee.s3.SD0))); + // @0012875C LWC1 $f16, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[16], (0u + this.ee.t5.UL0)); + // @00128760 ADDU t6, t6, s5 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s5.SD0))); + // @00128764 LWC1 $f13, $0000(t4) + MobUt.LWC1(this.ee, this.ee.fpr[13], (0u + this.ee.t4.UL0)); + // @00128768 ADDU t3, t3, s6 + this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s6.SD0))); + // @0012876C LWC1 $f14, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); + // @00128770 LWC1 $f15, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[15], (0u + this.ee.t3.UL0)); + // @00128774 ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @00128778 BEQ t1, t7, $0012879c + if ((this.ee.t1.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1214364u; + } + // @0012877C LWC1 $f18, $0000(t2) + MobUt.LWC1(this.ee, this.ee.fpr[18], (0u + this.ee.t2.UL0)); + } + + public virtual void funct00128780() + { + this.ee.pc = 1214348u; + // @00128780 ADDIU t7, zero, $0002 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); + // @00128784 BNEL t1, t7, $001285f0 + if ((this.ee.t1.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1213936u; + // @00128788 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + } + + public virtual void funct0012878c() + { + this.ee.pc = 1214356u; + // @0012878C JAL $001284b0 + this.ee.ra.UL0 = 1214356u; + this.ee.pc = 1213616u; + // @00128790 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + } + + public virtual void funct00128794() + { + this.ee.pc = 1214364u; + // @00128794 BEQ zero, zero, $001285f4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213940u; + } + // @00128798 LD s0, $0010(sp) + MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + } + + public virtual void funct0012879c() + { + this.ee.pc = 1214400u; + // @0012879C SUB.S $f0, $f17, $f14 + this.ee.fpr[0].f = (this.ee.fpr[17].f - this.ee.fpr[14].f); + // @001287A0 SUB.S $f1, $f20, $f13 + this.ee.fpr[1].f = (this.ee.fpr[20].f - this.ee.fpr[13].f); + // @001287A4 SUB.S $f2, $f16, $f13 + this.ee.fpr[2].f = (this.ee.fpr[16].f - this.ee.fpr[13].f); + // @001287A8 MUL.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); + // @001287AC NOP + MobUt.Latency(); + // @001287B0 NOP + MobUt.Latency(); + // @001287B4 DIV.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[2].f); + // @001287B8 BEQ zero, zero, $001285f0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213936u; + } + // @001287BC ADD.S $f0, $f14, $f0 + this.ee.fpr[0].f = (this.ee.fpr[14].f + this.ee.fpr[0].f); + } + + public virtual void funct001287c0() + { + this.ee.pc = 1214412u; + // @001287C0 SLT t7, t2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t2.SD0 < this.ee.t5.SD0)); + // @001287C4 BEQ t7, zero, $001287d8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214424u; + } + // @001287C8 NOP + MobUt.Latency(); + } + + public virtual void funct001287cc() + { + this.ee.pc = 1214424u; + // @001287CC DADDU a3, t3, zero + this.ee.a3.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @001287D0 BEQ zero, zero, $001286f4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214196u; + } + // @001287D4 DADDU s4, t1, zero + this.ee.s4.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001287d8() + { + this.ee.pc = 1214432u; + // @001287D8 BEQL t5, t6, $001287f4 + if ((this.ee.t5.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1214452u; + // @001287DC DADDU s1, t1, zero + this.ee.s1.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); + } + } + + public virtual void funct001287e0() + { + this.ee.pc = 1214440u; + // @001287E0 BNE t5, t2, $001286fc + if ((this.ee.t5.UD0 != this.ee.t2.UD0)) + { + this.ee.pc = 1214204u; + } + // @001287E4 SLTI t7, t0, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t0.SD0 < 2)); + } + + public virtual void funct001287e8() + { + this.ee.pc = 1214452u; + // @001287E8 DADDU s4, t1, zero + this.ee.s4.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); + // @001287EC BEQ zero, zero, $00128704 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214212u; + } + // @001287F0 ADDIU s1, t1, $fff8 + this.ee.s1.SD0 = ((int)((this.ee.t1.SD0 + -8))); + } + + public virtual void funct001287f4() + { + this.ee.pc = 1214460u; + // @001287F4 BEQ zero, zero, $00128704 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214212u; + } + // @001287F8 ADDIU s4, t1, $0008 + this.ee.s4.SD0 = ((int)((this.ee.t1.SD0 + 8))); + } + + public virtual void funct001287fc() + { + this.ee.pc = 1214468u; + // @001287FC BEQ zero, zero, $0012861c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213980u; + } + // @00128800 LHU t7, $0002(t1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.t1.UL0)); + } + + public virtual void funct00128804() + { + this.ee.pc = 1214528u; + // @00128804 SLL t7, t2, 2 + MobUt.SLL(this.ee.t7, this.ee.t2, 2); + // @00128808 LHU t6, $0004(s1) + MobUt.LHU(this.ee, this.ee.t6, (4u + this.ee.s1.UL0)); + // @0012880C ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @00128810 LHU t5, $0002(s1) + MobUt.LHU(this.ee, this.ee.t5, (2u + this.ee.s1.UL0)); + // @00128814 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00128818 SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @0012881C ADDU t6, t6, s6 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s6.SD0))); + // @00128820 SLL t5, t5, 2 + MobUt.SLL(this.ee.t5, this.ee.t5, 2); + // @00128824 SUB.S $f0, $f0, $f12 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); + // @00128828 ADDU t5, t5, s5 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s5.SD0))); + // @0012882C LWC1 $f2, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); + // @00128830 LWC1 $f1, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t5.UL0)); + // @00128834 MUL.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[2].f); + // @00128838 BEQ zero, zero, $001285f0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213936u; + } + // @0012883C SUB.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + } + + public virtual void funct00128840() + { + this.ee.pc = 1214548u; + // @00128840 LHU t7, $fff8(t4) + MobUt.LHU(this.ee, this.ee.t7, (4294967288u + this.ee.t4.UL0)); + // @00128844 SRL t4, t7, 2 + MobUt.SRL(this.ee.t4, this.ee.t7, 2); + // @00128848 SLT a2, a2, t4 + this.ee.a2.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t4.SD0)); + // @0012884C BNEL a2, zero, $0012868c + if ((this.ee.a2.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214092u; + // @00128850 ANDI t4, t0, $ffff + this.ee.t4.UD0 = ((ushort)((this.ee.t0.US0 & 65535))); + } + } + + public virtual void funct00128854() + { + this.ee.pc = 1214572u; + // @00128854 LHU t7, $0002(a1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.a1.UL0)); + // @00128858 ADDIU t6, zero, $0001 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @0012885C SRL t7, t7, 6 + MobUt.SRL(this.ee.t7, this.ee.t7, 6); + // @00128860 ANDI t5, t7, $0003 + this.ee.t5.UD0 = ((ushort)((this.ee.t7.US0 & 3))); + // @00128864 BEQ t5, t6, $001288d8 + if ((this.ee.t5.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1214680u; + } + // @00128868 SLTI t7, t5, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < 2)); + } + + public virtual void funct0012886c() + { + this.ee.pc = 1214580u; + // @0012886C BEQ t7, zero, $00128884 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214596u; + } + // @00128870 ADDIU t7, zero, $0002 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); + } + + public virtual void funct00128874() + { + this.ee.pc = 1214588u; + // @00128874 BNEL t5, zero, $001285f0 + if ((this.ee.t5.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1213936u; + // @00128878 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + } + + public virtual void funct0012887c() + { + this.ee.pc = 1214596u; + // @0012887C BEQ zero, zero, $0012861c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213980u; + } + // @00128880 LHU t7, $0002(s4) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s4.UL0)); + } + + public virtual void funct00128884() + { + this.ee.pc = 1214604u; + // @00128884 BNEL t5, t7, $001285f0 + if ((this.ee.t5.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1213936u; + // @00128888 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + } + + public virtual void funct0012888c() + { + this.ee.pc = 1214640u; + // @0012888C SLL t7, t2, 2 + MobUt.SLL(this.ee.t7, this.ee.t2, 2); + // @00128890 SLL t6, t4, 2 + MobUt.SLL(this.ee.t6, this.ee.t4, 2); + // @00128894 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @00128898 ADDU t6, t6, s3 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + // @0012889C LWC1 $f2, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); + // @001288A0 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001288A4 C.LT.S $f2, $f12 + this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[12].f); + // @001288A8 BC1F $00128670 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1214064u; + } + // @001288AC SUB.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); + } + + public virtual void funct001288b0() + { + this.ee.pc = 1214672u; + // @001288B0 SUB.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + // @001288B4 C.LT.S $f2, $f12 + this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[12].f); + // @001288B8 NOP + MobUt.Latency(); + // @001288BC NOP + MobUt.Latency(); + // @001288C0 NOP + MobUt.Latency(); + // @001288C4 NOP + MobUt.Latency(); + // @001288C8 BC1TL $001288b4 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1214644u; + // @001288CC SUB.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + } + + public virtual void funct001288b4() + { + this.ee.pc = 1214672u; + // @001288B4 C.LT.S $f2, $f12 + this.ee.fcr31_23 = (this.ee.fpr[2].f < this.ee.fpr[12].f); + // @001288B8 NOP + MobUt.Latency(); + // @001288BC NOP + MobUt.Latency(); + // @001288C0 NOP + MobUt.Latency(); + // @001288C4 NOP + MobUt.Latency(); + // @001288C8 BC1TL $001288b4 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1214644u; + // @001288CC SUB.S $f12, $f12, $f0 + this.ee.fpr[12].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + } + + public virtual void funct001288d0() + { + this.ee.pc = 1214680u; + // @001288D0 BEQ zero, zero, $00128670 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214064u; + } + // @001288D4 MOV.S $f20, $f12 + this.ee.fpr[20].f = this.ee.fpr[12].f; + } + + public virtual void funct001288d8() + { + this.ee.pc = 1214740u; + // @001288D8 SLL t7, t4, 2 + MobUt.SLL(this.ee.t7, this.ee.t4, 2); + // @001288DC LHU t6, $0006(s4) + MobUt.LHU(this.ee, this.ee.t6, (6u + this.ee.s4.UL0)); + // @001288E0 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @001288E4 LHU t5, $0002(s4) + MobUt.LHU(this.ee, this.ee.t5, (2u + this.ee.s4.UL0)); + // @001288E8 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001288EC SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @001288F0 ADDU t6, t6, s6 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s6.SD0))); + // @001288F4 SLL t5, t5, 2 + MobUt.SLL(this.ee.t5, this.ee.t5, 2); + // @001288F8 SUB.S $f0, $f12, $f0 + this.ee.fpr[0].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + // @001288FC ADDU t5, t5, s5 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s5.SD0))); + // @00128900 LWC1 $f2, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t6.UL0)); + // @00128904 LWC1 $f1, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t5.UL0)); + // @00128908 MUL.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[2].f); + // @0012890C BEQ zero, zero, $001285f0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1213936u; + } + // @00128910 ADD.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); + } + + public virtual void funct00128918() + { + this.ee.pc = 1214808u; + // @00128918 ADDIU sp, sp, $ffb0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -80))); + // @0012891C SWC1 $f20, $0048(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); + // @00128920 ADDIU a2, sp, $0004 + this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 4))); + // @00128924 SD s5, $0038(sp) + MobUt.SD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @00128928 MOV.S $f20, $f12 + this.ee.fpr[20].f = this.ee.fpr[12].f; + // @0012892C SD s4, $0030(sp) + MobUt.SD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @00128930 SD s0, $0010(sp) + MobUt.SD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + // @00128934 DADDU s5, a1, zero + this.ee.s5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00128938 SD s1, $0018(sp) + MobUt.SD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @0012893C DADDU s4, a0, zero + this.ee.s4.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @00128940 SD s2, $0020(sp) + MobUt.SD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @00128944 DADDU a1, sp, zero + this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @00128948 SD s3, $0028(sp) + MobUt.SD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @0012894C SD ra, $0040(sp) + MobUt.SD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); + // @00128950 JAL $001283d8 + this.ee.ra.UL0 = 1214808u; + this.ee.pc = 1213400u; + // @00128954 DADDU s2, zero, zero + this.ee.s2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128958() + { + this.ee.pc = 1214828u; + // @00128958 LW s1, $0004(s4) + MobUt.LW(this.ee, this.ee.s1, (4u + this.ee.s4.UL0)); + // @0012895C LW t7, $0030(s1) + MobUt.LW(this.ee, this.ee.t7, (48u + this.ee.s1.UL0)); + // @00128960 LW s3, $0034(s1) + MobUt.LW(this.ee, this.ee.s3, (52u + this.ee.s1.UL0)); + // @00128964 BLEZ s3, $001289e4 + if ((this.ee.s3.SD0 <= 0)) + { + this.ee.pc = 1214948u; + } + // @00128968 ADDU s0, s1, t7 + this.ee.s0.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012896c() + { + this.ee.pc = 1214852u; + // @0012896C MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @00128970 LW a2, $0000(sp) + MobUt.LW(this.ee, this.ee.a2, (0u + this.ee.sp.UL0)); + // @00128974 LW a3, $0004(sp) + MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.sp.UL0)); + // @00128978 DADDU a0, s4, zero + this.ee.a0.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + // @0012897C JAL $00128530 + this.ee.ra.UL0 = 1214852u; + this.ee.pc = 1213744u; + // @00128980 DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128984() + { + this.ee.pc = 1214876u; + // @00128984 LBU t4, $0002(s0) + MobUt.LBU(this.ee, this.ee.t4, (2u + this.ee.s0.UL0)); + // @00128988 ANDI t7, t4, $000f + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @0012898C ANDI t7, t7, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); + // @00128990 SLTIU t6, t7, $0009 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 9ul)); + // @00128994 BEQ t6, zero, $001289d4 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214932u; + } + // @00128998 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + + public virtual void funct0012899c() + { + this.ee.pc = 1214900u; + // @0012899C SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @001289A0 ADDIU t6, t6, $8244 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32188))); + // @001289A4 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @001289A8 LW t5, $0000(t7) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); + // @001289AC JR t5 + this.ee.pc = this.ee.t5.UL[0]; + // @001289B0 NOP + MobUt.Latency(); + } + + public virtual void funct001289b4() + { + this.ee.pc = 1214948u; + // @001289B4 LHU t7, $0000(s0) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + // @001289B8 ANDI t5, t4, $000f + this.ee.t5.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @001289BC LW t6, $001c(s5) + MobUt.LW(this.ee, this.ee.t6, (28u + this.ee.s5.UL0)); + // @001289C0 SLL t5, t5, 2 + MobUt.SLL(this.ee.t5, this.ee.t5, 2); + // @001289C4 SLL t7, t7, 4 + MobUt.SLL(this.ee.t7, this.ee.t7, 4); + // @001289C8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001289CC ADDU t6, t6, t5 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + // @001289D0 SWC1 $f0, $0000(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @001289D4 ADDIU s2, s2, $0001 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); + // @001289D8 SLT t7, s2, s3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); + // @001289DC BNE t7, zero, $0012896c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214828u; + } + // @001289E0 ADDIU s0, s0, $0006 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); + } + + public virtual void funct001289d4() + { + this.ee.pc = 1214948u; + // @001289D4 ADDIU s2, s2, $0001 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); + // @001289D8 SLT t7, s2, s3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); + // @001289DC BNE t7, zero, $0012896c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214828u; + } + // @001289E0 ADDIU s0, s0, $0006 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); + } + + public virtual void funct001289e4() + { + this.ee.pc = 1214976u; + // @001289E4 LW t6, $0018(s1) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.s1.UL0)); + // @001289E8 DADDU s2, zero, zero + this.ee.s2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @001289EC LW t7, $0038(s1) + MobUt.LW(this.ee, this.ee.t7, (56u + this.ee.s1.UL0)); + // @001289F0 LW s3, $003c(s1) + MobUt.LW(this.ee, this.ee.s3, (60u + this.ee.s1.UL0)); + // @001289F4 ADDU s5, s1, t6 + this.ee.s5.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t6.SD0))); + // @001289F8 BLEZ s3, $00128a74 + if ((this.ee.s3.SD0 <= 0)) + { + this.ee.pc = 1215092u; + } + // @001289FC ADDU s0, s1, t7 + this.ee.s0.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct00128a00() + { + this.ee.pc = 1215000u; + // @00128A00 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @00128A04 LW a2, $0000(sp) + MobUt.LW(this.ee, this.ee.a2, (0u + this.ee.sp.UL0)); + // @00128A08 LW a3, $0004(sp) + MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.sp.UL0)); + // @00128A0C DADDU a0, s4, zero + this.ee.a0.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + // @00128A10 JAL $00128530 + this.ee.ra.UL0 = 1215000u; + this.ee.pc = 1213744u; + // @00128A14 DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128a18() + { + this.ee.pc = 1215024u; + // @00128A18 LBU t4, $0002(s0) + MobUt.LBU(this.ee, this.ee.t4, (2u + this.ee.s0.UL0)); + // @00128A1C ANDI t7, t4, $000f + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @00128A20 ANDI t7, t7, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); + // @00128A24 SLTIU t6, t7, $0009 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 9ul)); + // @00128A28 BEQ t6, zero, $00128a64 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215076u; + } + // @00128A2C LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + + public virtual void funct00128a30() + { + this.ee.pc = 1215048u; + // @00128A30 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00128A34 ADDIU t6, t6, $8268 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32152))); + // @00128A38 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128A3C LW t5, $0000(t7) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); + // @00128A40 JR t5 + this.ee.pc = this.ee.t5.UL[0]; + // @00128A44 NOP + MobUt.Latency(); + } + + public virtual void funct00128a48() + { + this.ee.pc = 1215092u; + // @00128A48 LHU t7, $0000(s0) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + // @00128A4C ANDI t6, t4, $000f + this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @00128A50 SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @00128A54 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @00128A58 ADDU t7, s5, t7 + this.ee.t7.SD0 = ((int)((this.ee.s5.SD0 + this.ee.t7.SD0))); + // @00128A5C ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128A60 SWC1 $f0, $0010(t7) + MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.t7.UL0)); + // @00128A64 ADDIU s2, s2, $0001 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); + // @00128A68 SLT t7, s2, s3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); + // @00128A6C BNE t7, zero, $00128a00 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214976u; + } + // @00128A70 ADDIU s0, s0, $0006 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); + } + + public virtual void funct00128a64() + { + this.ee.pc = 1215092u; + // @00128A64 ADDIU s2, s2, $0001 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); + // @00128A68 SLT t7, s2, s3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s3.SD0)); + // @00128A6C BNE t7, zero, $00128a00 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1214976u; + } + // @00128A70 ADDIU s0, s0, $0006 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 6))); + } + + public virtual void funct00128a74() + { + this.ee.pc = 1215132u; + // @00128A74 LD s0, $0010(sp) + MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + // @00128A78 LD s1, $0018(sp) + MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @00128A7C LD s2, $0020(sp) + MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @00128A80 LD s3, $0028(sp) + MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @00128A84 LD s4, $0030(sp) + MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @00128A88 LD s5, $0038(sp) + MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @00128A8C LD ra, $0040(sp) + MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); + // @00128A90 LWC1 $f20, $0048(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (72u + this.ee.sp.UL0)); + // @00128A94 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128A98 ADDIU sp, sp, $0050 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); + } + + public virtual void funct00128a9c() + { + this.ee.pc = 1215168u; + // @00128A9C LHU t7, $0000(s0) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + // @00128AA0 ANDI t6, t4, $000f + this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @00128AA4 ADDIU t6, t6, $fffd + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -3))); + // @00128AA8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @00128AAC SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @00128AB0 ADDU t7, s5, t7 + this.ee.t7.SD0 = ((int)((this.ee.s5.SD0 + this.ee.t7.SD0))); + // @00128AB4 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128AB8 BEQ zero, zero, $00128a64 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215076u; + } + // @00128ABC SWC1 $f0, $0020(t7) + MobUt.SWC1(this.ee, this.ee.fpr[0], (32u + this.ee.t7.UL0)); + } + + public virtual void funct00128ac0() + { + this.ee.pc = 1215204u; + // @00128AC0 LHU t7, $0000(s0) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + // @00128AC4 ANDI t6, t4, $000f + this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @00128AC8 ADDIU t6, t6, $fffa + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -6))); + // @00128ACC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @00128AD0 SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @00128AD4 ADDU t7, s5, t7 + this.ee.t7.SD0 = ((int)((this.ee.s5.SD0 + this.ee.t7.SD0))); + // @00128AD8 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128ADC BEQ zero, zero, $00128a64 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215076u; + } + // @00128AE0 SWC1 $f0, $0030(t7) + MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t7.UL0)); + } + + public virtual void funct00128ae4() + { + this.ee.pc = 1215244u; + // @00128AE4 ANDI t6, t4, $000f + this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @00128AE8 LHU t7, $0000(s0) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + // @00128AEC LW t5, $0020(s5) + MobUt.LW(this.ee, this.ee.t5, (32u + this.ee.s5.UL0)); + // @00128AF0 ADDIU t6, t6, $fffd + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -3))); + // @00128AF4 SLL t7, t7, 4 + MobUt.SLL(this.ee.t7, this.ee.t7, 4); + // @00128AF8 SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @00128AFC ADDU t5, t5, t7 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); + // @00128B00 ADDU t5, t5, t6 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @00128B04 BEQ zero, zero, $001289d4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214932u; + } + // @00128B08 SWC1 $f0, $0000(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + } + + public virtual void funct00128af4() + { + this.ee.pc = 1215244u; + // @00128AF4 SLL t7, t7, 4 + MobUt.SLL(this.ee.t7, this.ee.t7, 4); + // @00128AF8 SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @00128AFC ADDU t5, t5, t7 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); + // @00128B00 ADDU t5, t5, t6 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @00128B04 BEQ zero, zero, $001289d4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1214932u; + } + // @00128B08 SWC1 $f0, $0000(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + } + + public virtual void funct00128b0c() + { + this.ee.pc = 1215264u; + // @00128B0C ANDI t6, t4, $000f + this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 15))); + // @00128B10 LHU t7, $0000(s0) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + // @00128B14 LW t5, $0024(s5) + MobUt.LW(this.ee, this.ee.t5, (36u + this.ee.s5.UL0)); + // @00128B18 BEQ zero, zero, $00128af4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215220u; + } + // @00128B1C ADDIU t6, t6, $fffa + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -6))); + } + + public virtual void funct00128b20() + { + this.ee.pc = 1215276u; + // @00128B20 ADDIU sp, sp, $ffe0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); + // @00128B24 BEQ a2, a0, $00128b34 + if ((this.ee.a2.UD0 == this.ee.a0.UD0)) + { + this.ee.pc = 1215284u; + } + // @00128B28 NOP + MobUt.Latency(); + } + + public virtual void funct00128b2c() + { + this.ee.pc = 1215376u; + // @00128B2C LQ t0, $0000(a0) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a0.UL[0])); + // @00128B30 SQ t0, $0000(a2) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); + // @00128B34 LQC2 vf1, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); + // @00128B38 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00128B3C VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00128B40 VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00128B44 VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00128B48 VWAITQ + MobUt.Latency(); + // @00128B4C CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00128B50 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00128B54 MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00128B58 VNOP + MobUt.Latency(); + // @00128B5C VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00128B60 VWAITQ + MobUt.Latency(); + // @00128B64 VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00128B68 SQC2 vf1, $0000(a2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); + // @00128B6C ADDIU t5, sp, $0010 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00128B70 LQC2 vf1, $0000(a0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a0.UL0)); + // @00128B74 LQC2 vf2, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a1.UL0)); + // @00128B78 VSUB.xyzw vf3, vf0, vf0 + this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @00128B7C VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @00128B80 VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @00128B84 SQC2 vf3, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t5.UL0)); + // @00128B88 BEQ sp, t5, $00128b9c + if ((this.ee.sp.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1215388u; + } + // @00128B8C ADDIU t7, a2, $0010 + this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 16))); + } + + public virtual void funct00128b90() + { + this.ee.pc = 1215420u; + // @00128B90 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00128B94 SQ t0, $0000(sp) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00128B98 ADDIU t7, a2, $0010 + this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 16))); + // @00128B9C LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00128BA0 LQC2 vf2, $0000(a0) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); + // @00128BA4 VSUB.xyzw vf3, vf0, vf0 + this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @00128BA8 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @00128BAC VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @00128BB0 SQC2 vf3, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t5.UL0)); + // @00128BB4 BEQ t7, t5, $00128bc4 + if ((this.ee.t7.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1215428u; + } + // @00128BB8 NOP + MobUt.Latency(); + } + + public virtual void funct00128bbc() + { + this.ee.pc = 1215520u; + // @00128BBC LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00128BC0 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00128BC4 LQC2 vf1, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); + // @00128BC8 VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00128BCC VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00128BD0 VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00128BD4 VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00128BD8 VWAITQ + MobUt.Latency(); + // @00128BDC CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00128BE0 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00128BE4 MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00128BE8 VNOP + MobUt.Latency(); + // @00128BEC VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00128BF0 VWAITQ + MobUt.Latency(); + // @00128BF4 VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00128BF8 SQC2 vf1, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); + // @00128BFC ADDIU t6, a2, $0020 + this.ee.t6.SD0 = ((int)((this.ee.a2.SD0 + 32))); + // @00128C00 LQC2 vf1, $0000(a0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a0.UL0)); + // @00128C04 LQC2 vf2, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t7.UL0)); + // @00128C08 VSUB.xyzw vf3, vf0, vf0 + this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @00128C0C VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @00128C10 VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @00128C14 SQC2 vf3, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t5.UL0)); + // @00128C18 BEQ t6, t5, $00128c28 + if ((this.ee.t6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1215528u; + } + // @00128C1C NOP + MobUt.Latency(); + } + + public virtual void funct00128c20() + { + this.ee.pc = 1215608u; + // @00128C20 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00128C24 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @00128C28 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00128C2C VMUL.xyz vf2, vf1, vf1 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[1].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[1].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[1].z); + // @00128C30 VADDy.x vf2, vf2, vf2y + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].y); + // @00128C34 VADDz.x vf2, vf2, vf2z + this.ee.VF[2].x = (this.ee.VF[2].x + this.ee.VF[2].z); + // @00128C38 VSQRT Q, vf2x + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[2].x)))); + // @00128C3C VWAITQ + MobUt.Latency(); + // @00128C40 CFC2 t0, $vi22 + MobUt.CFC2(this.ee.t0, this.ee.VI[22]); + // @00128C44 VADDq.x vf2, vf0, Q + this.ee.VF[2].x = (this.ee.VF[0].x + this.ee.Vq.f); + // @00128C48 MTC1 t0, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00128C4C VNOP + MobUt.Latency(); + // @00128C50 VDIV Q, vf0w, vf2x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[2].x); + // @00128C54 VWAITQ + MobUt.Latency(); + // @00128C58 VMULq.xyz vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + // @00128C5C SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00128C60 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00128C64 SWC1 $f0, $000c(a2) + MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a2.UL0)); + // @00128C68 SWC1 $f0, $002c(a2) + MobUt.SWC1(this.ee, this.ee.fpr[0], (44u + this.ee.a2.UL0)); + // @00128C6C SWC1 $f0, $001c(a2) + MobUt.SWC1(this.ee, this.ee.fpr[0], (28u + this.ee.a2.UL0)); + // @00128C70 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128C74 ADDIU sp, sp, $0020 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct00128c78() + { + this.ee.pc = 1215628u; + // @00128C78 ADDIU sp, sp, $ffc0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -64))); + // @00128C7C DADDU t5, a2, zero + this.ee.t5.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @00128C80 DADDU t4, a3, zero + this.ee.t4.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @00128C84 BLTZ a3, $00128d9c + if ((this.ee.a3.SD0 < 0)) + { + this.ee.pc = 1215900u; + } + // @00128C88 DADDU t3, t0, zero + this.ee.t3.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128c8c() + { + this.ee.pc = 1215648u; + // @00128C8C LW t6, $0004(a0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); + // @00128C90 LHU a2, $0010(t6) + MobUt.LHU(this.ee, this.ee.a2, (16u + this.ee.t6.UL0)); + // @00128C94 SLT t7, t5, a2 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.a2.SD0)); + // @00128C98 BEQ t7, zero, $00128d8c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215884u; + } + // @00128C9C DADDU a3, sp, zero + this.ee.a3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128ca0() + { + this.ee.pc = 1215692u; + // @00128CA0 LW t6, $002c(a1) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.a1.UL0)); + // @00128CA4 SLL t7, t5, 6 + MobUt.SLL(this.ee.t7, this.ee.t5, 6); + // @00128CA8 ADDU a2, t6, t7 + this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00128CAC ADDIU t7, a2, $0030 + this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 48))); + // @00128CB0 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00128CB4 SQ t0, $0000(a3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); + // @00128CB8 LW t6, $0004(a0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); + // @00128CBC LHU a3, $0010(t6) + MobUt.LHU(this.ee, this.ee.a3, (16u + this.ee.t6.UL0)); + // @00128CC0 SLT t7, t4, a3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.a3.SD0)); + // @00128CC4 BEQ t7, zero, $00128d7c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215868u; + } + // @00128CC8 ADDIU t5, sp, $0010 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00128ca8() + { + this.ee.pc = 1215692u; + // @00128CA8 ADDU a2, t6, t7 + this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00128CAC ADDIU t7, a2, $0030 + this.ee.t7.SD0 = ((int)((this.ee.a2.SD0 + 48))); + // @00128CB0 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00128CB4 SQ t0, $0000(a3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); + // @00128CB8 LW t6, $0004(a0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); + // @00128CBC LHU a3, $0010(t6) + MobUt.LHU(this.ee, this.ee.a3, (16u + this.ee.t6.UL0)); + // @00128CC0 SLT t7, t4, a3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.a3.SD0)); + // @00128CC4 BEQ t7, zero, $00128d7c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215868u; + } + // @00128CC8 ADDIU t5, sp, $0010 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00128ccc() + { + this.ee.pc = 1215780u; + // @00128CCC LW t6, $002c(a1) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.a1.UL0)); + // @00128CD0 SLL t7, t4, 6 + MobUt.SLL(this.ee.t7, this.ee.t4, 6); + // @00128CD4 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00128CD8 ADDIU t7, a0, $0030 + this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + 48))); + // @00128CDC LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00128CE0 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00128CE4 ADDIU t6, sp, $0030 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 48))); + // @00128CE8 LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00128CEC LQC2 vf2, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); + // @00128CF0 VADD.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); + // @00128CF4 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00128CF8 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00128CFC ADDIU t7, t7, $828c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32116))); + // @00128D00 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00128D04 ADDIU t7, sp, $0020 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 32))); + // @00128D08 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00128D0C MFC1 t0, $f0 + MobUt.MFC1(this.ee.t0, this.ee.fpr[0]); + // @00128D10 QMTC2 t0, vf2 + MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); + // @00128D14 VMULx.xyzw vf1, vf1, vf2x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); + // @00128D18 SQC2 vf1, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); + // @00128D1C BEQ t3, t7, $00128d2c + if ((this.ee.t3.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1215788u; + } + // @00128D20 NOP + MobUt.Latency(); + } + + public virtual void funct00128cd4() + { + this.ee.pc = 1215780u; + // @00128CD4 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00128CD8 ADDIU t7, a0, $0030 + this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + 48))); + // @00128CDC LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00128CE0 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @00128CE4 ADDIU t6, sp, $0030 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 48))); + // @00128CE8 LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00128CEC LQC2 vf2, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); + // @00128CF0 VADD.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); + // @00128CF4 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00128CF8 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00128CFC ADDIU t7, t7, $828c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32116))); + // @00128D00 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00128D04 ADDIU t7, sp, $0020 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 32))); + // @00128D08 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00128D0C MFC1 t0, $f0 + MobUt.MFC1(this.ee.t0, this.ee.fpr[0]); + // @00128D10 QMTC2 t0, vf2 + MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); + // @00128D14 VMULx.xyzw vf1, vf1, vf2x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); + // @00128D18 SQC2 vf1, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); + // @00128D1C BEQ t3, t7, $00128d2c + if ((this.ee.t3.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1215788u; + } + // @00128D20 NOP + MobUt.Latency(); + } + + public virtual void funct00128d24() + { + this.ee.pc = 1215796u; + // @00128D24 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00128D28 SQ t0, $0000(t3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @00128D2C BEQ t1, zero, $00128d74 + if ((this.ee.t1.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215860u; + } + // @00128D30 NOP + MobUt.Latency(); + } + + public virtual void funct00128d2c() + { + this.ee.pc = 1215796u; + // @00128D2C BEQ t1, zero, $00128d74 + if ((this.ee.t1.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215860u; + } + // @00128D30 NOP + MobUt.Latency(); + } + + public virtual void funct00128d34() + { + this.ee.pc = 1215804u; + // @00128D34 BEQ t2, zero, $00128d74 + if ((this.ee.t2.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215860u; + } + // @00128D38 NOP + MobUt.Latency(); + } + + public virtual void funct00128d3c() + { + this.ee.pc = 1215852u; + // @00128D3C LQC2 vf5, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @00128D40 LQC2 vf1, $0000(t1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t1.UL0)); + // @00128D44 LQC2 vf2, $0010(t1) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t1.UL0)); + // @00128D48 LQC2 vf3, $0020(t1) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t1.UL0)); + // @00128D4C LQC2 vf4, $0030(t1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t1.UL0)); + // @00128D50 VMULAx.xyzw ACC, vf1, vf5x + // @00128D54 VMADDAy.xyzw ACC, vf2, vf5y + // @00128D58 VMADDAz.xyzw ACC, vf3, vf5z + // @00128D5C VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @00128D60 SQC2 vf5, $0000(sp) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.sp.UL0)); + // @00128D64 BEQ t2, sp, $00128d74 + if ((this.ee.t2.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1215860u; + } + // @00128D68 NOP + MobUt.Latency(); + } + + public virtual void funct00128d6c() + { + this.ee.pc = 1215868u; + // @00128D6C LQ t0, $0000(sp) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00128D70 SQ t0, $0000(t2) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t2.UL[0])); + // @00128D74 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128D78 ADDIU sp, sp, $0040 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 64))); + } + + public virtual void funct00128d7c() + { + this.ee.pc = 1215884u; + // @00128D7C SUBU t7, t4, a3 + this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.a3.UD0))); + // @00128D80 LW t6, $0010(a0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.a0.UL0)); + // @00128D84 BEQ zero, zero, $00128cd4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215700u; + } + // @00128D88 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct00128d8c() + { + this.ee.pc = 1215900u; + // @00128D8C SUBU t7, t5, a2 + this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.a2.UD0))); + // @00128D90 LW t6, $0010(a0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.a0.UL0)); + // @00128D94 BEQ zero, zero, $00128ca8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215656u; + } + // @00128D98 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct00128d9c() + { + this.ee.pc = 1215920u; + // @00128D9C LW t7, $0004(a0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); + // @00128DA0 LHU a2, $0010(t7) + MobUt.LHU(this.ee, this.ee.a2, (16u + this.ee.t7.UL0)); + // @00128DA4 SLT t6, t5, a2 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.a2.SD0)); + // @00128DA8 BEQ t6, zero, $00128dd8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215960u; + } + // @00128DAC SUBU t7, t5, a2 + this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.a2.UD0))); + } + + public virtual void funct00128db0() + { + this.ee.pc = 1215944u; + // @00128DB0 LW t6, $002c(a1) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.a1.UL0)); + // @00128DB4 SLL t7, t5, 6 + MobUt.SLL(this.ee.t7, this.ee.t5, 6); + // @00128DB8 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00128DBC ADDIU a0, a0, $0030 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 48))); + // @00128DC0 BEQ t3, a0, $00128d2c + if ((this.ee.t3.UD0 == this.ee.a0.UD0)) + { + this.ee.pc = 1215788u; + } + // @00128DC4 NOP + MobUt.Latency(); + } + + public virtual void funct00128db8() + { + this.ee.pc = 1215944u; + // @00128DB8 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00128DBC ADDIU a0, a0, $0030 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 48))); + // @00128DC0 BEQ t3, a0, $00128d2c + if ((this.ee.t3.UD0 == this.ee.a0.UD0)) + { + this.ee.pc = 1215788u; + } + // @00128DC4 NOP + MobUt.Latency(); + } + + public virtual void funct00128dc8() + { + this.ee.pc = 1215960u; + // @00128DC8 LQ t0, $0000(a0) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a0.UL[0])); + // @00128DCC SQ t0, $0000(t3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @00128DD0 BEQ zero, zero, $00128d2c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215788u; + } + // @00128DD4 NOP + MobUt.Latency(); + } + + public virtual void funct00128dd8() + { + this.ee.pc = 1215972u; + // @00128DD8 LW t6, $0010(a0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.a0.UL0)); + // @00128DDC BEQ zero, zero, $00128db8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1215928u; + } + // @00128DE0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct00128de8() + { + this.ee.pc = 1216024u; + // @00128DE8 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @00128DEC DADDU t3, a3, zero + this.ee.t3.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @00128DF0 SD ra, $0000(sp) + MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @00128DF4 DADDU t5, t0, zero + this.ee.t5.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); + // @00128DF8 DADDU t4, t1, zero + this.ee.t4.UD0 = (this.ee.t1.UD0 + this.ee.r0.UD0); + // @00128DFC ADDIU a3, zero, $ffff + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00128E00 LBU t6, $0000(a2) + MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.a2.UL0)); + // @00128E04 DADDU t0, t3, zero + this.ee.t0.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @00128E08 DADDU t1, t5, zero + this.ee.t1.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); + // @00128E0C ADDIU t7, zero, $0005 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 5))); + // @00128E10 BNE t6, t7, $00128e2c + if ((this.ee.t6.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1216044u; + } + // @00128E14 DADDU t2, t4, zero + this.ee.t2.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128e20() + { + this.ee.pc = 1216044u; + // @00128E20 LD ra, $0000(sp) + MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @00128E24 J $00128c78 + this.ee.pc = 1215608u; + // @00128E28 ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00128e2c() + { + this.ee.pc = 1216060u; + // @00128E2C LHU a2, $0004(a2) + MobUt.LHU(this.ee, this.ee.a2, (4u + this.ee.a2.UL0)); + // @00128E30 DADDU t0, t3, zero + this.ee.t0.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @00128E34 BEQ zero, zero, $00128e20 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216032u; + } + // @00128E38 DADDU t1, t5, zero + this.ee.t1.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128e40() + { + this.ee.pc = 1216136u; + // @00128E40 ADDIU sp, sp, $ff90 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -112))); + // @00128E44 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00128E48 SD s2, $0030(sp) + MobUt.SD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); + // @00128E4C ANDI a2, a2, $ffff + this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @00128E50 SD s4, $0040(sp) + MobUt.SD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); + // @00128E54 SD s0, $0020(sp) + MobUt.SD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + // @00128E58 DADDU s2, a0, zero + this.ee.s2.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @00128E5C SD s1, $0028(sp) + MobUt.SD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); + // @00128E60 SD s3, $0038(sp) + MobUt.SD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); + // @00128E64 SD s5, $0048(sp) + MobUt.SD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); + // @00128E68 SD s6, $0050(sp) + MobUt.SD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); + // @00128E6C SD ra, $0058(sp) + MobUt.SD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); + // @00128E70 SWC1 $f20, $0060(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (96u + this.ee.sp.UL0)); + // @00128E74 LW s0, $0004(a0) + MobUt.LW(this.ee, this.ee.s0, (4u + this.ee.a0.UL0)); + // @00128E78 LW t4, $006c(s0) + MobUt.LW(this.ee, this.ee.t4, (108u + this.ee.s0.UL0)); + // @00128E7C SLTU t7, a2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.UD0 < this.ee.t4.UD0)); + // @00128E80 BEQ t7, zero, $00128ee8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00128E84 DADDU s4, a1, zero + this.ee.s4.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00128e88() + { + this.ee.pc = 1216176u; + // @00128E88 ADDIU t7, zero, $000c + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 12))); + // @00128E8C LW t6, $0068(s0) + MobUt.LW(this.ee, this.ee.t6, (104u + this.ee.s0.UL0)); + // @00128E90 MULT t7, a2, t7 + this.ee.t7.SD0 = (((long)(this.ee.a2.SL0)) * ((long)(this.ee.t7.SL0))); + // @00128E94 ADDU s1, s0, t6 + this.ee.s1.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t6.SD0))); + // @00128E98 ADDU s3, s1, t7 + this.ee.s3.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t7.SD0))); + // @00128E9C LBU t3, $0000(s3) + MobUt.LBU(this.ee, this.ee.t3, (0u + this.ee.s3.UL0)); + // @00128EA0 ANDI t6, t3, $00ff + this.ee.t6.UD0 = ((ushort)((this.ee.t3.US0 & 255))); + // @00128EA4 SLTIU t7, t6, $002c + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 44ul)); + // @00128EA8 BEQ t7, zero, $00128ee8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00128EAC SLL t7, t6, 2 + MobUt.SLL(this.ee.t7, this.ee.t6, 2); + } + + public virtual void funct00128eb0() + { + this.ee.pc = 1216200u; + // @00128EB0 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00128EB4 ADDIU t6, t6, $82a0 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -32096))); + // @00128EB8 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00128EBC LW t5, $0000(t7) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); + // @00128EC0 JR t5 + this.ee.pc = this.ee.t5.UL[0]; + // @00128EC4 NOP + MobUt.Latency(); + } + + public virtual void funct00128ee8() + { + this.ee.pc = 1216276u; + // @00128EE8 LD s0, $0020(sp) + MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + // @00128EEC LD s1, $0028(sp) + MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); + // @00128EF0 LD s2, $0030(sp) + MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); + // @00128EF4 LD s3, $0038(sp) + MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); + // @00128EF8 LD s4, $0040(sp) + MobUt.LD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); + // @00128EFC LD s5, $0048(sp) + MobUt.LD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); + // @00128F00 LD s6, $0050(sp) + MobUt.LD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); + // @00128F04 LD ra, $0058(sp) + MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); + // @00128F08 LWC1 $f20, $0060(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (96u + this.ee.sp.UL0)); + // @00128F0C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128F10 ADDIU sp, sp, $0070 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); + } + + public virtual void funct00128eec() + { + this.ee.pc = 1216276u; + // @00128EEC LD s1, $0028(sp) + MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); + // @00128EF0 LD s2, $0030(sp) + MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); + // @00128EF4 LD s3, $0038(sp) + MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); + // @00128EF8 LD s4, $0040(sp) + MobUt.LD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); + // @00128EFC LD s5, $0048(sp) + MobUt.LD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); + // @00128F00 LD s6, $0050(sp) + MobUt.LD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); + // @00128F04 LD ra, $0058(sp) + MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); + // @00128F08 LWC1 $f20, $0060(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (96u + this.ee.sp.UL0)); + // @00128F0C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00128F10 ADDIU sp, sp, $0070 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); + } + + public virtual void funct00128f64() + { + this.ee.pc = 1216364u; + // @00128F64 JAL $00128e40 + this.ee.ra.UL0 = 1216364u; + this.ee.pc = 1216064u; + // @00128F68 LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct00128f6c() + { + this.ee.pc = 1216372u; + // @00128F6C JAL $002ff8a8 + this.ee.ra.UL0 = 1216372u; + this.ee.pc = 3143848u; + // @00128F70 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + } + + public virtual void funct00128f74() + { + this.ee.pc = 1216392u; + // @00128F74 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00128F78 ADDIU t7, t7, $8294 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32108))); + // @00128F7C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00128F80 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00128F84 MUL.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct00128f80() + { + this.ee.pc = 1216392u; + // @00128F80 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00128F84 MUL.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012904c() + { + this.ee.pc = 1216596u; + // @0012904C JAL $00128e40 + this.ee.ra.UL0 = 1216596u; + this.ee.pc = 1216064u; + // @00129050 LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct00129054() + { + this.ee.pc = 1216616u; + // @00129054 MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @00129058 LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @0012905C DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00129060 JAL $00128e40 + this.ee.ra.UL0 = 1216616u; + this.ee.pc = 1216064u; + // @00129064 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129068() + { + this.ee.pc = 1216636u; + // @00129068 MOV.S $f1, $f0 + this.ee.fpr[1].f = this.ee.fpr[0].f; + // @0012906C MOV.S $f0, $f20 + this.ee.fpr[0].f = this.ee.fpr[20].f; + // @00129070 C.LT.S $f20, $f1 + this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[1].f); + // @00129074 BC1T $00128eec + if (this.ee.fcr31_23) + { + this.ee.pc = 1216236u; + } + // @00129078 LD s0, $0020(sp) + MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + } + + public virtual void funct00129074() + { + this.ee.pc = 1216636u; + // @00129074 BC1T $00128eec + if (this.ee.fcr31_23) + { + this.ee.pc = 1216236u; + } + // @00129078 LD s0, $0020(sp) + MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + } + + public virtual void funct0012907c() + { + this.ee.pc = 1216644u; + // @0012907C BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00129080 MOV.S $f0, $f1 + this.ee.fpr[0].f = this.ee.fpr[1].f; + } + + public virtual void funct00129084() + { + this.ee.pc = 1216652u; + // @00129084 JAL $00128e40 + this.ee.ra.UL0 = 1216652u; + this.ee.pc = 1216064u; + // @00129088 LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct0012908c() + { + this.ee.pc = 1216672u; + // @0012908C MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @00129090 LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @00129094 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00129098 JAL $00128e40 + this.ee.ra.UL0 = 1216672u; + this.ee.pc = 1216064u; + // @0012909C DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001290a0() + { + this.ee.pc = 1216688u; + // @001290A0 MOV.S $f1, $f0 + this.ee.fpr[1].f = this.ee.fpr[0].f; + // @001290A4 MOV.S $f0, $f20 + this.ee.fpr[0].f = this.ee.fpr[20].f; + // @001290A8 BEQ zero, zero, $00129074 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216628u; + } + // @001290AC C.LT.S $f1, $f20 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[20].f); + } + + public virtual void funct00129118() + { + this.ee.pc = 1216812u; + // @00129118 NOP + MobUt.Latency(); + // @0012911C NOP + MobUt.Latency(); + // @00129120 DIV.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f / this.ee.fpr[0].f); + // @00129124 BEQ zero, zero, $00128eec + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216236u; + } + // @00129128 LD s0, $0020(sp) + MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + } + + public virtual void funct0012912c() + { + this.ee.pc = 1216836u; + // @0012912C LHU t7, $0008(s3) + MobUt.LHU(this.ee, this.ee.t7, (8u + this.ee.s3.UL0)); + // @00129130 ADDIU s0, zero, $000c + this.ee.s0.SD0 = ((int)((this.ee.r0.SD0 + 12))); + // @00129134 MULT t7, t7, s0 + this.ee.t7.SD0 = (((long)(this.ee.t7.SL0)) * ((long)(this.ee.s0.SL0))); + // @00129138 ADDU t7, t7, s1 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s1.SD0))); + // @0012913C JAL $00128e40 + this.ee.ra.UL0 = 1216836u; + this.ee.pc = 1216064u; + // @00129140 LHU a2, $0008(t7) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.t7.UL0)); + } + + public virtual void funct00129144() + { + this.ee.pc = 1216852u; + // @00129144 MTC1 zero, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @00129148 C.EQ.S $f0, $f1 + this.ee.fcr31_23 = (this.ee.fpr[0].f == this.ee.fpr[1].f); + // @0012914C BC1T $00129184 + if (this.ee.fcr31_23) + { + this.ee.pc = 1216900u; + } + // @00129150 LHU t6, $0008(s3) + MobUt.LHU(this.ee, this.ee.t6, (8u + this.ee.s3.UL0)); + } + + public virtual void funct00129154() + { + this.ee.pc = 1216892u; + // @00129154 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00129158 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + // @0012915C MULT t6, t6, s0 + this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.s0.SL0))); + // @00129160 ADDU t6, t6, s1 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s1.SD0))); + // @00129164 LHU t7, $000a(t6) + MobUt.LHU(this.ee, this.ee.t7, (10u + this.ee.t6.UL0)); + // @00129168 MULT t7, t7, s0 + this.ee.t7.SD0 = (((long)(this.ee.t7.SL0)) * ((long)(this.ee.s0.SL0))); + // @0012916C ADDU t7, t7, s1 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s1.SD0))); + // @00129170 LHU a2, $0008(t7) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.t7.UL0)); + // @00129174 JAL $00128e40 + this.ee.ra.UL0 = 1216892u; + this.ee.pc = 1216064u; + // @00129178 NOP + MobUt.Latency(); + } + + public virtual void funct00129174() + { + this.ee.pc = 1216892u; + // @00129174 JAL $00128e40 + this.ee.ra.UL0 = 1216892u; + this.ee.pc = 1216064u; + // @00129178 NOP + MobUt.Latency(); + } + + public virtual void funct0012917c() + { + this.ee.pc = 1216900u; + // @0012917C BEQ zero, zero, $00128eec + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216236u; + } + // @00129180 LD s0, $0020(sp) + MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + } + + public virtual void funct00129184() + { + this.ee.pc = 1216948u; + // @00129184 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00129188 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + // @0012918C MULT t6, t6, s0 + this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.s0.SL0))); + // @00129190 ADDU t6, t6, s1 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s1.SD0))); + // @00129194 LHU t7, $000a(t6) + MobUt.LHU(this.ee, this.ee.t7, (10u + this.ee.t6.UL0)); + // @00129198 MULT t7, t7, s0 + this.ee.t7.SD0 = (((long)(this.ee.t7.SL0)) * ((long)(this.ee.s0.SL0))); + // @0012919C ADDU t7, t7, s1 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s1.SD0))); + // @001291A0 LHU t6, $000a(t7) + MobUt.LHU(this.ee, this.ee.t6, (10u + this.ee.t7.UL0)); + // @001291A4 MULT t6, t6, s0 + this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.s0.SL0))); + // @001291A8 ADDU t6, t6, s1 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s1.SD0))); + // @001291AC BEQ zero, zero, $00129174 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216884u; + } + // @001291B0 LHU a2, $0008(t6) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.t6.UL0)); + } + + public virtual void funct0012927c() + { + this.ee.pc = 1217156u; + // @0012927C JAL $00128e40 + this.ee.ra.UL0 = 1217156u; + this.ee.pc = 1216064u; + // @00129280 LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct00129284() + { + this.ee.pc = 1217176u; + // @00129284 MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @00129288 LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @0012928C DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00129290 JAL $00128e40 + this.ee.ra.UL0 = 1217176u; + this.ee.pc = 1216064u; + // @00129294 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129298() + { + this.ee.pc = 1217184u; + // @00129298 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @0012929C ADD.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f + this.ee.fpr[0].f); + } + + public virtual void funct001292a0() + { + this.ee.pc = 1217192u; + // @001292A0 JAL $00128e40 + this.ee.ra.UL0 = 1217192u; + this.ee.pc = 1216064u; + // @001292A4 LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct001292a8() + { + this.ee.pc = 1217212u; + // @001292A8 MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @001292AC LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @001292B0 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @001292B4 JAL $00128e40 + this.ee.ra.UL0 = 1217212u; + this.ee.pc = 1216064u; + // @001292B8 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001292bc() + { + this.ee.pc = 1217220u; + // @001292BC BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @001292C0 SUB.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f - this.ee.fpr[0].f); + } + + public virtual void funct001292c4() + { + this.ee.pc = 1217228u; + // @001292C4 JAL $00128e40 + this.ee.ra.UL0 = 1217228u; + this.ee.pc = 1216064u; + // @001292C8 LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct001292cc() + { + this.ee.pc = 1217248u; + // @001292CC MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @001292D0 LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @001292D4 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @001292D8 JAL $00128e40 + this.ee.ra.UL0 = 1217248u; + this.ee.pc = 1216064u; + // @001292DC DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001292e0() + { + this.ee.pc = 1217256u; + // @001292E0 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @001292E4 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + } + + public virtual void funct001292e8() + { + this.ee.pc = 1217264u; + // @001292E8 JAL $00128e40 + this.ee.ra.UL0 = 1217264u; + this.ee.pc = 1216064u; + // @001292EC LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct001292f0() + { + this.ee.pc = 1217284u; + // @001292F0 MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @001292F4 LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @001292F8 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @001292FC JAL $00128e40 + this.ee.ra.UL0 = 1217284u; + this.ee.pc = 1216064u; + // @00129300 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129304() + { + this.ee.pc = 1217292u; + // @00129304 BEQ zero, zero, $00129118 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216792u; + } + // @00129308 NOP + MobUt.Latency(); + } + + public virtual void funct00129370() + { + this.ee.pc = 1217408u; + // @00129370 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00129374 ADDIU t7, t7, $829c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32100))); + // @00129378 BC1T $00128ee8 + if (this.ee.fcr31_23) + { + this.ee.pc = 1216232u; + } + // @0012937C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + } + + public virtual void funct00129380() + { + this.ee.pc = 1217416u; + // @00129380 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00129384 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + + public virtual void funct00129388() + { + this.ee.pc = 1217424u; + // @00129388 JAL $00128e40 + this.ee.ra.UL0 = 1217424u; + this.ee.pc = 1216064u; + // @0012938C LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct00129390() + { + this.ee.pc = 1217444u; + // @00129390 MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @00129394 LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @00129398 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @0012939C JAL $00128e40 + this.ee.ra.UL0 = 1217444u; + this.ee.pc = 1216064u; + // @001293A0 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001293a4() + { + this.ee.pc = 1217452u; + // @001293A4 BEQ zero, zero, $00129370 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217392u; + } + // @001293A8 C.LT.S $f0, $f20 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[20].f); + } + + public virtual void funct001293d0() + { + this.ee.pc = 1217496u; + // @001293D0 JAL $00128e40 + this.ee.ra.UL0 = 1217496u; + this.ee.pc = 1216064u; + // @001293D4 LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct001293d8() + { + this.ee.pc = 1217516u; + // @001293D8 MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + // @001293DC LHU a2, $000a(s3) + MobUt.LHU(this.ee, this.ee.a2, (10u + this.ee.s3.UL0)); + // @001293E0 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @001293E4 JAL $00128e40 + this.ee.ra.UL0 = 1217516u; + this.ee.pc = 1216064u; + // @001293E8 DADDU a1, s4, zero + this.ee.a1.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001293ec() + { + this.ee.pc = 1217524u; + // @001293EC BEQ zero, zero, $00129370 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217392u; + } + // @001293F0 C.LT.S $f20, $f0 + this.ee.fcr31_23 = (this.ee.fpr[20].f < this.ee.fpr[0].f); + } + + public virtual void funct0012949c() + { + this.ee.pc = 1217704u; + // @0012949C LUI t7, $0035 + this.ee.t7.SD0 = 3473408; + // @001294A0 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @001294A4 LWC1 $f0, $44e0(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (17632u + this.ee.t7.UL0)); + } + + public virtual void funct001294a8() + { + this.ee.pc = 1217712u; + // @001294A8 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @001294AC LWC1 $f0, $0004(s3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.s3.UL0)); + } + + public virtual void funct001294b0() + { + this.ee.pc = 1217728u; + // @001294B0 LW t7, $0000(s3) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.s3.UL0)); + // @001294B4 ANDI t7, t7, $0100 + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 256))); + // @001294B8 BEQ t7, zero, $00129504 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217796u; + } + // @001294BC LHU a2, $0002(s3) + MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.s3.UL0)); + } + + public virtual void funct001294d4() + { + this.ee.pc = 1217784u; + // @001294D4 SLL t7, a2, 6 + MobUt.SLL(this.ee.t7, this.ee.a2, 6); + // @001294D8 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001294DC SLL t7, t3, 24 + MobUt.SLL(this.ee.t7, this.ee.t3, 24); + // @001294E0 SRA t7, t7, 24 + MobUt.SRA(this.ee.t7, this.ee.t7, 24); + // @001294E4 ADDIU t7, t7, $ffe0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32))); + // @001294E8 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @001294EC ADDU t7, a0, t7 + this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + this.ee.t7.SD0))); + // @001294F0 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @001294F4 LWC1 $f0, $0030(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t7.UL0)); + } + + public virtual void funct001294d8() + { + this.ee.pc = 1217784u; + // @001294D8 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001294DC SLL t7, t3, 24 + MobUt.SLL(this.ee.t7, this.ee.t3, 24); + // @001294E0 SRA t7, t7, 24 + MobUt.SRA(this.ee.t7, this.ee.t7, 24); + // @001294E4 ADDIU t7, t7, $ffe0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32))); + // @001294E8 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @001294EC ADDU t7, a0, t7 + this.ee.t7.SD0 = ((int)((this.ee.a0.SD0 + this.ee.t7.SD0))); + // @001294F0 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @001294F4 LWC1 $f0, $0030(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t7.UL0)); + } + + public virtual void funct001294f8() + { + this.ee.pc = 1217796u; + // @001294F8 SUBU t7, a2, t5 + this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); + // @001294FC BEQ zero, zero, $001294d8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217752u; + } + // @00129500 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct00129504() + { + this.ee.pc = 1217812u; + // @00129504 LHU t5, $0010(s0) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.s0.UL0)); + // @00129508 SLT t7, a2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); + // @0012950C BEQL t7, zero, $001294f8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217784u; + // @00129510 LW t6, $000c(a0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.a0.UL0)); + } + } + + public virtual void funct00129514() + { + this.ee.pc = 1217820u; + // @00129514 BEQ zero, zero, $001294d4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217748u; + } + // @00129518 LW t6, $0028(a1) + MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.a1.UL0)); + } + + public virtual void funct0012951c() + { + this.ee.pc = 1217836u; + // @0012951C LW t7, $0000(s3) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.s3.UL0)); + // @00129520 ANDI t7, t7, $0100 + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 256))); + // @00129524 BEQL t7, zero, $001295ac + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217964u; + // @00129528 LHU a2, $0002(s3) + MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.s3.UL0)); + } + } + + public virtual void funct00129580() + { + this.ee.pc = 1217936u; + // @00129580 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00129584 ADDIU t7, t7, $8294 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32108))); + // @00129588 BEQ zero, zero, $00128f80 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216384u; + } + // @0012958C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + } + + public virtual void funct001295ac() + { + this.ee.pc = 1217980u; + // @001295AC LHU t5, $0010(s0) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.s0.UL0)); + // @001295B0 SLT t7, a2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); + // @001295B4 BEQ t7, zero, $001295e0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1218016u; + } + // @001295B8 SLL t7, a2, 4 + MobUt.SLL(this.ee.t7, this.ee.a2, 4); + } + + public virtual void funct001295bc() + { + this.ee.pc = 1218016u; + // @001295BC LW t6, $0020(a1) + MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.a1.UL0)); + // @001295C0 ADDU a1, t6, t7 + this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001295C4 SLL t7, t3, 24 + MobUt.SLL(this.ee.t7, this.ee.t3, 24); + // @001295C8 SRA t7, t7, 24 + MobUt.SRA(this.ee.t7, this.ee.t7, 24); + // @001295CC ADDIU t7, t7, $ffdd + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -35))); + // @001295D0 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @001295D4 ADDU t7, a1, t7 + this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); + // @001295D8 BEQ zero, zero, $00129580 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217920u; + } + // @001295DC LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + } + + public virtual void funct001295c4() + { + this.ee.pc = 1218016u; + // @001295C4 SLL t7, t3, 24 + MobUt.SLL(this.ee.t7, this.ee.t3, 24); + // @001295C8 SRA t7, t7, 24 + MobUt.SRA(this.ee.t7, this.ee.t7, 24); + // @001295CC ADDIU t7, t7, $ffdd + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -35))); + // @001295D0 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @001295D4 ADDU t7, a1, t7 + this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); + // @001295D8 BEQ zero, zero, $00129580 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217920u; + } + // @001295DC LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + } + + public virtual void funct001295e0() + { + this.ee.pc = 1218044u; + // @001295E0 LW t6, $0018(s0) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.s0.UL0)); + // @001295E4 SUBU t7, a2, t5 + this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); + // @001295E8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @001295EC ADDU t6, s0, t6 + this.ee.t6.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t6.SD0))); + // @001295F0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001295F4 BEQ zero, zero, $001295c4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1217988u; + } + // @001295F8 ADDIU a1, t6, $0020 + this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct001295fc() + { + this.ee.pc = 1218060u; + // @001295FC LW t7, $0000(s3) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.s3.UL0)); + // @00129600 ANDI t7, t7, $0100 + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 256))); + // @00129604 BEQ t7, zero, $00129634 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1218100u; + } + // @00129608 SLL t6, t3, 24 + MobUt.SLL(this.ee.t6, this.ee.t3, 24); + } + + public virtual void funct00129634() + { + this.ee.pc = 1218120u; + // @00129634 LHU a2, $0002(s3) + MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.s3.UL0)); + // @00129638 LHU t5, $0010(s0) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.s0.UL0)); + // @0012963C SLT t7, a2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); + // @00129640 BEQ t7, zero, $0012966c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1218156u; + } + // @00129644 SLL t7, a2, 4 + MobUt.SLL(this.ee.t7, this.ee.a2, 4); + } + + public virtual void funct00129648() + { + this.ee.pc = 1218156u; + // @00129648 LW t6, $001c(a1) + MobUt.LW(this.ee, this.ee.t6, (28u + this.ee.a1.UL0)); + // @0012964C ADDU a1, t6, t7 + this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00129650 SLL t7, t3, 24 + MobUt.SLL(this.ee.t7, this.ee.t3, 24); + // @00129654 SRA t7, t7, 24 + MobUt.SRA(this.ee.t7, this.ee.t7, 24); + // @00129658 ADDIU t7, t7, $ffda + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -38))); + // @0012965C SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00129660 ADDU t7, a1, t7 + this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); + // @00129664 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00129668 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + } + + public virtual void funct00129650() + { + this.ee.pc = 1218156u; + // @00129650 SLL t7, t3, 24 + MobUt.SLL(this.ee.t7, this.ee.t3, 24); + // @00129654 SRA t7, t7, 24 + MobUt.SRA(this.ee.t7, this.ee.t7, 24); + // @00129658 ADDIU t7, t7, $ffda + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -38))); + // @0012965C SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00129660 ADDU t7, a1, t7 + this.ee.t7.SD0 = ((int)((this.ee.a1.SD0 + this.ee.t7.SD0))); + // @00129664 BEQ zero, zero, $00128ee8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216232u; + } + // @00129668 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + } + + public virtual void funct0012966c() + { + this.ee.pc = 1218184u; + // @0012966C LW t6, $0018(s0) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.s0.UL0)); + // @00129670 SUBU t7, a2, t5 + this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); + // @00129674 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @00129678 ADDU t6, s0, t6 + this.ee.t6.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t6.SD0))); + // @0012967C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00129680 BEQ zero, zero, $00129650 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1218128u; + } + // @00129684 ADDIU a1, t6, $0010 + this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct00129688() + { + this.ee.pc = 1218192u; + // @00129688 JAL $00128e40 + this.ee.ra.UL0 = 1218192u; + this.ee.pc = 1216064u; + // @0012968C LHU a2, $0008(s3) + MobUt.LHU(this.ee, this.ee.a2, (8u + this.ee.s3.UL0)); + } + + public virtual void funct00129690() + { + this.ee.pc = 1218244u; + // @00129690 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00129694 LWC1 $f2, $0098(s0) + MobUt.LWC1(this.ee, this.ee.fpr[2], (152u + this.ee.s0.UL0)); + // @00129698 ADDIU t7, t7, $8298 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32104))); + // @0012969C DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @001296A0 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @001296A4 ADDIU a1, sp, $0010 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @001296A8 ADDIU a2, sp, $0014 + this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 20))); + // @001296AC MUL.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); + // @001296B0 NOP + MobUt.Latency(); + // @001296B4 NOP + MobUt.Latency(); + // @001296B8 DIV.S $f20, $f0, $f2 + this.ee.fpr[20].f = (this.ee.fpr[0].f / this.ee.fpr[2].f); + // @001296BC JAL $001283d8 + this.ee.ra.UL0 = 1218244u; + this.ee.pc = 1213400u; + // @001296C0 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + } + + public virtual void funct001296c4() + { + this.ee.pc = 1218264u; + // @001296C4 LHU t5, $000a(s3) + MobUt.LHU(this.ee, this.ee.t5, (10u + this.ee.s3.UL0)); + // @001296C8 LW t6, $0034(s0) + MobUt.LW(this.ee, this.ee.t6, (52u + this.ee.s0.UL0)); + // @001296CC SLTU t7, t5, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.UD0 < this.ee.t6.UD0)); + // @001296D0 BNEL t7, zero, $00129728 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1218344u; + // @001296D4 ADDIU t6, zero, $0006 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 6))); + } + } + + public virtual void funct001296d8() + { + this.ee.pc = 1218308u; + // @001296D8 SUBU t5, t5, t6 + this.ee.t5.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); + // @001296DC LW t7, $0038(s0) + MobUt.LW(this.ee, this.ee.t7, (56u + this.ee.s0.UL0)); + // @001296E0 ADDIU t6, zero, $0006 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 6))); + // @001296E4 MULT t5, t5, t6 + this.ee.t5.SD0 = (((long)(this.ee.t5.SL0)) * ((long)(this.ee.t6.SL0))); + // @001296E8 ADDU t7, s0, t7 + this.ee.t7.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); + // @001296EC ADDU a1, t7, t5 + this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @001296F0 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @001296F4 LW a2, $0010(sp) + MobUt.LW(this.ee, this.ee.a2, (16u + this.ee.sp.UL0)); + // @001296F8 LW a3, $0014(sp) + MobUt.LW(this.ee, this.ee.a3, (20u + this.ee.sp.UL0)); + // @001296FC JAL $00128530 + this.ee.ra.UL0 = 1218308u; + this.ee.pc = 1213744u; + // @00129700 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129704() + { + this.ee.pc = 1218324u; + // @00129704 LB t6, $0000(s3) + MobUt.LB(this.ee, this.ee.t6, (0u + this.ee.s3.UL0)); + // @00129708 ADDIU t7, zero, $002b + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 43))); + // @0012970C BNE t6, t7, $0012907c + if ((this.ee.t6.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1216636u; + } + // @00129710 MOV.S $f1, $f0 + this.ee.fpr[1].f = this.ee.fpr[0].f; + } + + public virtual void funct00129714() + { + this.ee.pc = 1218344u; + // @00129714 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00129718 ADDIU t7, t7, $8294 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -32108))); + // @0012971C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00129720 BEQ zero, zero, $0012907c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1216636u; + } + // @00129724 MUL.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct00129a18() + { + this.ee.pc = 1219268u; + // @00129A18 ADDIU sp, sp, $fd00 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -768))); + // @00129A1C ADDIU t7, zero, $000c + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 12))); + // @00129A20 SD s0, $02a0(sp) + MobUt.SD(this.ee, this.ee.s0, (672u + this.ee.sp.UL0)); + // @00129A24 SD s1, $02a8(sp) + MobUt.SD(this.ee, this.ee.s1, (680u + this.ee.sp.UL0)); + // @00129A28 SD s5, $02c8(sp) + MobUt.SD(this.ee, this.ee.s5, (712u + this.ee.sp.UL0)); + // @00129A2C DADDU s0, a0, zero + this.ee.s0.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @00129A30 SD s6, $02d0(sp) + MobUt.SD(this.ee, this.ee.s6, (720u + this.ee.sp.UL0)); + // @00129A34 SD s2, $02b0(sp) + MobUt.SD(this.ee, this.ee.s2, (688u + this.ee.sp.UL0)); + // @00129A38 DADDU s5, a1, zero + this.ee.s5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00129A3C SD s3, $02b8(sp) + MobUt.SD(this.ee, this.ee.s3, (696u + this.ee.sp.UL0)); + // @00129A40 SD s4, $02c0(sp) + MobUt.SD(this.ee, this.ee.s4, (704u + this.ee.sp.UL0)); + // @00129A44 SD s7, $02d8(sp) + MobUt.SD(this.ee, this.ee.s7, (728u + this.ee.sp.UL0)); + // @00129A48 SD s8, $02e0(sp) + MobUt.SD(this.ee, this.ee.s8, (736u + this.ee.sp.UL0)); + // @00129A4C SD ra, $02e8(sp) + MobUt.SD(this.ee, this.ee.ra, (744u + this.ee.sp.UL0)); + // @00129A50 SWC1 $f20, $02f0(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (752u + this.ee.sp.UL0)); + // @00129A54 LW t3, $0004(a0) + MobUt.LW(this.ee, this.ee.t3, (4u + this.ee.a0.UL0)); + // @00129A58 SW a2, $01f0(sp) + MobUt.SW(this.ee, this.ee.a2, (496u + this.ee.sp.UL0)); + // @00129A5C DADDU a0, sp, zero + this.ee.a0.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @00129A60 SW t3, $01fc(sp) + MobUt.SW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); + // @00129A64 SW a3, $01f4(sp) + MobUt.SW(this.ee, this.ee.a3, (500u + this.ee.sp.UL0)); + // @00129A68 LW t4, $01fc(sp) + MobUt.LW(this.ee, this.ee.t4, (508u + this.ee.sp.UL0)); + // @00129A6C LW t6, $0054(t3) + MobUt.LW(this.ee, this.ee.t6, (84u + this.ee.t3.UL0)); + // @00129A70 SW t0, $01f8(sp) + MobUt.SW(this.ee, this.ee.t0, (504u + this.ee.sp.UL0)); + // @00129A74 MULT t6, t6, t7 + this.ee.t6.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.t7.SL0))); + // @00129A78 LW t3, $0050(t3) + MobUt.LW(this.ee, this.ee.t3, (80u + this.ee.t3.UL0)); + // @00129A7C LW t5, $0060(t4) + MobUt.LW(this.ee, this.ee.t5, (96u + this.ee.t4.UL0)); + // @00129A80 ADDU s1, t4, t3 + this.ee.s1.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t3.SD0))); + // @00129A84 LW t7, $0064(t4) + MobUt.LW(this.ee, this.ee.t7, (100u + this.ee.t4.UL0)); + // @00129A88 LW t3, $01fc(sp) + MobUt.LW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); + // @00129A8C ADDU t6, s1, t6 + this.ee.t6.SD0 = ((int)((this.ee.s1.SD0 + this.ee.t6.SD0))); + // @00129A90 LW t4, $001c(t4) + MobUt.LW(this.ee, this.ee.t4, (28u + this.ee.t4.UL0)); + // @00129A94 SLL t7, t7, 3 + MobUt.SLL(this.ee.t7, this.ee.t7, 3); + // @00129A98 ADDU s6, t3, t5 + this.ee.s6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t5.SD0))); + // @00129A9C LW t3, $00a0(t3) + MobUt.LW(this.ee, this.ee.t3, (160u + this.ee.t3.UL0)); + // @00129AA0 ADDU t7, s6, t7 + this.ee.t7.SD0 = ((int)((this.ee.s6.SD0 + this.ee.t7.SD0))); + // @00129AA4 LW t5, $01fc(sp) + MobUt.LW(this.ee, this.ee.t5, (508u + this.ee.sp.UL0)); + // @00129AA8 SW t6, $0204(sp) + MobUt.SW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); + // @00129AAC ADDU t4, t5, t4 + this.ee.t4.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t4.SD0))); + // @00129AB0 SW t7, $0208(sp) + MobUt.SW(this.ee, this.ee.t7, (520u + this.ee.sp.UL0)); + // @00129AB4 ADDU t3, t5, t3 + this.ee.t3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t3.SD0))); + // @00129AB8 SW t4, $0200(sp) + MobUt.SW(this.ee, this.ee.t4, (512u + this.ee.sp.UL0)); + // @00129ABC JAL $0011b420 + this.ee.ra.UL0 = 1219268u; + this.ee.pc = 1160224u; + // @00129AC0 SW t3, $020c(sp) + MobUt.SW(this.ee, this.ee.t3, (524u + this.ee.sp.UL0)); + } + + public virtual void funct00129ac4() + { + this.ee.pc = 1219288u; + // @00129AC4 SW zero, $0210(sp) + MobUt.SW(this.ee, this.ee.r0, (528u + this.ee.sp.UL0)); + // @00129AC8 LW t6, $01fc(sp) + MobUt.LW(this.ee, this.ee.t6, (508u + this.ee.sp.UL0)); + // @00129ACC LHU t7, $0012(t6) + MobUt.LHU(this.ee, this.ee.t7, (18u + this.ee.t6.UL0)); + // @00129AD0 BEQL t7, zero, $0012a4c0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1221824u; + // @00129AD4 LD s0, $02a0(sp) + MobUt.LD(this.ee, this.ee.s0, (672u + this.ee.sp.UL0)); + } + } + + public virtual void funct00129ad8() + { + this.ee.pc = 1219320u; + // @00129AD8 LW t7, $0200(sp) + MobUt.LW(this.ee, this.ee.t7, (512u + this.ee.sp.UL0)); + // @00129ADC LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @00129AE0 LW s4, $0000(t7) + MobUt.LW(this.ee, this.ee.s4, (0u + this.ee.t7.UL0)); + // @00129AE4 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @00129AE8 ANDI s2, s4, $ffff + this.ee.s2.UD0 = ((ushort)((this.ee.s4.US0 & 65535))); + // @00129AEC SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @00129AF0 BEQL t7, zero, $0012d4f4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1234164u; + // @00129AF4 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct00129af8() + { + this.ee.pc = 1219340u; + // @00129AF8 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @00129AFC LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @00129B00 LW v0, $0020(t7) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); + // @00129B04 JALR ra, v0 + this.ee.ra.UD0 = 1219340u; + this.ee.pc = this.ee.v0.UL0; + // @00129B08 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + } + + public virtual void funct00129b0c() + { + this.ee.pc = 1219360u; + // @00129B0C ADDU v0, v0, s3 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); + // @00129B10 LH v0, $0004(v0) + MobUt.LH(this.ee, this.ee.v0, (4u + this.ee.v0.UL0)); + // @00129B14 LW t3, $0208(sp) + MobUt.LW(this.ee, this.ee.t3, (520u + this.ee.sp.UL0)); + // @00129B18 BEQ s6, t3, $0012d4ec + if ((this.ee.s6.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1234156u; + } + // @00129B1C SW v0, $0214(sp) + MobUt.SW(this.ee, this.ee.v0, (532u + this.ee.sp.UL0)); + } + + public virtual void funct00129b10() + { + this.ee.pc = 1219360u; + // @00129B10 LH v0, $0004(v0) + MobUt.LH(this.ee, this.ee.v0, (4u + this.ee.v0.UL0)); + // @00129B14 LW t3, $0208(sp) + MobUt.LW(this.ee, this.ee.t3, (520u + this.ee.sp.UL0)); + // @00129B18 BEQ s6, t3, $0012d4ec + if ((this.ee.s6.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1234156u; + } + // @00129B1C SW v0, $0214(sp) + MobUt.SW(this.ee, this.ee.v0, (532u + this.ee.sp.UL0)); + } + + public virtual void funct00129b20() + { + this.ee.pc = 1219380u; + // @00129B20 ANDI t6, s2, $ffff + this.ee.t6.UD0 = ((ushort)((this.ee.s2.US0 & 65535))); + // @00129B24 LHU t7, $0000(s6) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); + // @00129B28 DADDU s3, t6, zero + this.ee.s3.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); + // @00129B2C BNE t7, t6, $00129bc4 + if ((this.ee.t7.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 1219524u; + } + // @00129B30 SLL s8, s2, 4 + MobUt.SLL(this.ee.s8, this.ee.s2, 4); + } + + public virtual void funct00129b34() + { + this.ee.pc = 1219396u; + // @00129B34 LHU a2, $0006(s6) + MobUt.LHU(this.ee, this.ee.a2, (6u + this.ee.s6.UL0)); + // @00129B38 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @00129B3C JAL $00128e40 + this.ee.ra.UL0 = 1219396u; + this.ee.pc = 1216064u; + // @00129B40 DADDU a1, s5, zero + this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129b38() + { + this.ee.pc = 1219396u; + // @00129B38 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @00129B3C JAL $00128e40 + this.ee.ra.UL0 = 1219396u; + this.ee.pc = 1216064u; + // @00129B40 DADDU a1, s5, zero + this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129b44() + { + this.ee.pc = 1219416u; + // @00129B44 LHU t4, $0002(s6) + MobUt.LHU(this.ee, this.ee.t4, (2u + this.ee.s6.UL0)); + // @00129B48 ANDI t6, t4, $ffff + this.ee.t6.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @00129B4C SLTIU t7, t6, $0009 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 9ul)); + // @00129B50 BEQ t7, zero, $00129ba0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219488u; + } + // @00129B54 MOV.S $f1, $f0 + this.ee.fpr[1].f = this.ee.fpr[0].f; + } + + public virtual void funct00129b58() + { + this.ee.pc = 1219444u; + // @00129B58 SLL t7, t6, 2 + MobUt.SLL(this.ee.t7, this.ee.t6, 2); + // @00129B5C LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00129B60 ADDIU t6, t6, $8368 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31896))); + // @00129B64 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00129B68 LW t5, $0000(t7) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); + // @00129B6C JR t5 + this.ee.pc = this.ee.t5.UL[0]; + // @00129B70 NOP + MobUt.Latency(); + } + + public virtual void funct00129b74() + { + this.ee.pc = 1219464u; + // @00129B74 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @00129B78 LHU t3, $0010(t5) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); + // @00129B7C SLT t7, s2, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); + // @00129B80 BEQL t7, zero, $0012d438 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233976u; + // @00129B84 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct00129b88() + { + this.ee.pc = 1219512u; + // @00129B88 LW t7, $001c(s5) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); + // @00129B8C ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129B90 ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @00129B94 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00129B98 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00129B9C SWC1 $f1, $0000(t7) + MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00129BA0 LUI t7, $ffdf + this.ee.t7.SD0 = -2162688; + // @00129BA4 LW t5, $0208(sp) + MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); + // @00129BA8 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @00129BAC ADDIU s6, s6, $0008 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); + // @00129BB0 BEQ s6, t5, $00129bc4 + if ((this.ee.s6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1219524u; + } + // @00129BB4 AND s4, s4, t7 + this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + } + + public virtual void funct00129b90() + { + this.ee.pc = 1219512u; + // @00129B90 ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @00129B94 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00129B98 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00129B9C SWC1 $f1, $0000(t7) + MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00129BA0 LUI t7, $ffdf + this.ee.t7.SD0 = -2162688; + // @00129BA4 LW t5, $0208(sp) + MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); + // @00129BA8 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @00129BAC ADDIU s6, s6, $0008 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); + // @00129BB0 BEQ s6, t5, $00129bc4 + if ((this.ee.s6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1219524u; + } + // @00129BB4 AND s4, s4, t7 + this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + } + + public virtual void funct00129b94() + { + this.ee.pc = 1219512u; + // @00129B94 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00129B98 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00129B9C SWC1 $f1, $0000(t7) + MobUt.SWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00129BA0 LUI t7, $ffdf + this.ee.t7.SD0 = -2162688; + // @00129BA4 LW t5, $0208(sp) + MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); + // @00129BA8 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @00129BAC ADDIU s6, s6, $0008 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); + // @00129BB0 BEQ s6, t5, $00129bc4 + if ((this.ee.s6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1219524u; + } + // @00129BB4 AND s4, s4, t7 + this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + } + + public virtual void funct00129ba0() + { + this.ee.pc = 1219512u; + // @00129BA0 LUI t7, $ffdf + this.ee.t7.SD0 = -2162688; + // @00129BA4 LW t5, $0208(sp) + MobUt.LW(this.ee, this.ee.t5, (520u + this.ee.sp.UL0)); + // @00129BA8 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @00129BAC ADDIU s6, s6, $0008 + this.ee.s6.SD0 = ((int)((this.ee.s6.SD0 + 8))); + // @00129BB0 BEQ s6, t5, $00129bc4 + if ((this.ee.s6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1219524u; + } + // @00129BB4 AND s4, s4, t7 + this.ee.s4.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + } + + public virtual void funct00129bb8() + { + this.ee.pc = 1219524u; + // @00129BB8 LHU t7, $0000(s6) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); + // @00129BBC BEQL t7, s3, $00129b38 + if ((this.ee.t7.UD0 == this.ee.s3.UD0)) + { + this.ee.pc = 1219384u; + // @00129BC0 LHU a2, $0006(s6) + MobUt.LHU(this.ee, this.ee.a2, (6u + this.ee.s6.UL0)); + } + } + + public virtual void funct00129bc4() + { + this.ee.pc = 1219560u; + // @00129BC4 SW zero, $0218(sp) + MobUt.SW(this.ee, this.ee.r0, (536u + this.ee.sp.UL0)); + // @00129BC8 ADDIU a2, zero, $ffff + this.ee.a2.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00129BCC SW zero, $021c(sp) + MobUt.SW(this.ee, this.ee.r0, (540u + this.ee.sp.UL0)); + // @00129BD0 ADDIU a3, zero, $ffff + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00129BD4 LW t6, $0204(sp) + MobUt.LW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); + // @00129BD8 DADDU v0, zero, zero + this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00129BDC ADDIU v1, zero, $ffff + this.ee.v1.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00129BE0 BEQ s1, t6, $00129c58 + if ((this.ee.s1.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1219672u; + } + // @00129BE4 DADDU t3, zero, zero + this.ee.t3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129be8() + { + this.ee.pc = 1219576u; + // @00129BE8 ANDI t6, s2, $ffff + this.ee.t6.UD0 = ((ushort)((this.ee.s2.US0 & 65535))); + // @00129BEC LHU t7, $0002(s1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); + // @00129BF0 BNE t7, t6, $00129c58 + if ((this.ee.t7.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 1219672u; + } + // @00129BF4 DADDU t4, t6, zero + this.ee.t4.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129bf8() + { + this.ee.pc = 1219588u; + // @00129BF8 LBU t7, $0001(s1) + MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); + // @00129BFC BEQ t7, zero, $00129c40 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219648u; + } + // @00129C00 LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + } + + public virtual void funct00129bfc() + { + this.ee.pc = 1219588u; + // @00129BFC BEQ t7, zero, $00129c40 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219648u; + } + // @00129C00 LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + } + + public virtual void funct00129c04() + { + this.ee.pc = 1219604u; + // @00129C04 LBU t6, $0000(s1) + MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.s1.UL0)); + // @00129C08 SLTIU t7, t6, $000e + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 14ul)); + // @00129C0C BEQ t7, zero, $00129c3c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219644u; + } + // @00129C10 SLL t7, t6, 2 + MobUt.SLL(this.ee.t7, this.ee.t6, 2); + } + + public virtual void funct00129c14() + { + this.ee.pc = 1219628u; + // @00129C14 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00129C18 ADDIU t6, t6, $838c + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31860))); + // @00129C1C ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00129C20 LW t5, $0000(t7) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); + // @00129C24 JR t5 + this.ee.pc = this.ee.t5.UL[0]; + // @00129C28 NOP + MobUt.Latency(); + } + + public virtual void funct00129c2c() + { + this.ee.pc = 1219640u; + // @00129C2C ADDIU t7, zero, $ffff + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00129C30 BNE a2, t7, $0012d3b4 + if ((this.ee.a2.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1233844u; + } + // @00129C34 NOP + MobUt.Latency(); + } + + public virtual void funct00129c38() + { + this.ee.pc = 1219660u; + // @00129C38 LHU a2, $0004(s1) + MobUt.LHU(this.ee, this.ee.a2, (4u + this.ee.s1.UL0)); + // @00129C3C LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + // @00129C40 ADDIU s1, s1, $000c + this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); + // @00129C44 BEQ s1, t7, $00129c5c + if ((this.ee.s1.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1219676u; + } + // @00129C48 LUI t7, $0003 + this.ee.t7.SD0 = 196608; + } + + public virtual void funct00129c3c() + { + this.ee.pc = 1219660u; + // @00129C3C LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + // @00129C40 ADDIU s1, s1, $000c + this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); + // @00129C44 BEQ s1, t7, $00129c5c + if ((this.ee.s1.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1219676u; + } + // @00129C48 LUI t7, $0003 + this.ee.t7.SD0 = 196608; + } + + public virtual void funct00129c4c() + { + this.ee.pc = 1219672u; + // @00129C4C LHU t7, $0002(s1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); + // @00129C50 BEQL t7, t4, $00129bfc + if ((this.ee.t7.UD0 == this.ee.t4.UD0)) + { + this.ee.pc = 1219580u; + // @00129C54 LBU t7, $0001(s1) + MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); + } + } + + public virtual void funct00129c58() + { + this.ee.pc = 1219688u; + // @00129C58 LUI t7, $0003 + this.ee.t7.SD0 = 196608; + // @00129C5C AND t6, s4, t7 + this.ee.t6.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @00129C60 BEQ t6, zero, $00129cf8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219832u; + } + // @00129C64 SW zero, $0220(sp) + MobUt.SW(this.ee, this.ee.r0, (544u + this.ee.sp.UL0)); + } + + public virtual void funct00129c5c() + { + this.ee.pc = 1219688u; + // @00129C5C AND t6, s4, t7 + this.ee.t6.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @00129C60 BEQ t6, zero, $00129cf8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219832u; + } + // @00129C64 SW zero, $0220(sp) + MobUt.SW(this.ee, this.ee.r0, (544u + this.ee.sp.UL0)); + } + + public virtual void funct00129c68() + { + this.ee.pc = 1219704u; + // @00129C68 LUI t7, $0080 + this.ee.t7.SD0 = 8388608; + // @00129C6C AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @00129C70 BEQ t7, zero, $0012d39c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233820u; + } + // @00129C74 LW t4, $020c(sp) + MobUt.LW(this.ee, this.ee.t4, (524u + this.ee.sp.UL0)); + } + + public virtual void funct00129c78() + { + this.ee.pc = 1219728u; + // @00129C78 LH t5, $0000(t4) + MobUt.LH(this.ee, this.ee.t5, (0u + this.ee.t4.UL0)); + // @00129C7C ADDIU t4, t4, $0002 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 2))); + // @00129C80 SW t4, $020c(sp) + MobUt.SW(this.ee, this.ee.t4, (524u + this.ee.sp.UL0)); + // @00129C84 LW t6, $0204(sp) + MobUt.LW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); + // @00129C88 BEQ s1, t6, $00129ce4 + if ((this.ee.s1.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1219812u; + } + // @00129C8C ADDIU t4, zero, $0005 + this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 5))); + } + + public virtual void funct00129c84() + { + this.ee.pc = 1219728u; + // @00129C84 LW t6, $0204(sp) + MobUt.LW(this.ee, this.ee.t6, (516u + this.ee.sp.UL0)); + // @00129C88 BEQ s1, t6, $00129ce4 + if ((this.ee.s1.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1219812u; + } + // @00129C8C ADDIU t4, zero, $0005 + this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 5))); + } + + public virtual void funct00129c90() + { + this.ee.pc = 1219740u; + // @00129C90 LBU t7, $0001(s1) + MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); + // @00129C94 BEQ t7, zero, $00129cd8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219800u; + } + // @00129C98 LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + } + + public virtual void funct00129c94() + { + this.ee.pc = 1219740u; + // @00129C94 BEQ t7, zero, $00129cd8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219800u; + } + // @00129C98 LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + } + + public virtual void funct00129c9c() + { + this.ee.pc = 1219752u; + // @00129C9C LHU t7, $0002(s1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); + // @00129CA0 BNE t7, t5, $00129cd8 + if ((this.ee.t7.UD0 != this.ee.t5.UD0)) + { + this.ee.pc = 1219800u; + } + // @00129CA4 LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + } + + public virtual void funct00129ca8() + { + this.ee.pc = 1219764u; + // @00129CA8 LBU t6, $0000(s1) + MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.s1.UL0)); + // @00129CAC BLTZ t6, $00129ccc + if ((this.ee.t6.SD0 < 0)) + { + this.ee.pc = 1219788u; + } + // @00129CB0 DADDU t7, zero, zero + this.ee.t7.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00129cb4() + { + this.ee.pc = 1219776u; + // @00129CB4 SLTI t7, t6, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < 2)); + // @00129CB8 BNE t7, zero, $00129ccc + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1219788u; + } + // @00129CBC ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + } + + public virtual void funct00129ccc() + { + this.ee.pc = 1219800u; + // @00129CCC ANDI t7, t7, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); + // @00129CD0 BNE t7, zero, $0012d390 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1233808u; + } + // @00129CD4 LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + } + + public virtual void funct00129cd8() + { + this.ee.pc = 1219812u; + // @00129CD8 ADDIU s1, s1, $000c + this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); + // @00129CDC BNEL s1, t7, $00129c94 + if ((this.ee.s1.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1219732u; + // @00129CE0 LBU t7, $0001(s1) + MobUt.LBU(this.ee, this.ee.t7, (1u + this.ee.s1.UL0)); + } + } + + public virtual void funct00129ce4() + { + this.ee.pc = 1219824u; + // @00129CE4 LW t4, $0220(sp) + MobUt.LW(this.ee, this.ee.t4, (544u + this.ee.sp.UL0)); + // @00129CE8 BNE t4, zero, $00129cf8 + if ((this.ee.t4.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1219832u; + } + // @00129CEC LUI t7, $fffc + this.ee.t7.SD0 = -262144; + } + + public virtual void funct00129cf8() + { + this.ee.pc = 1219840u; + // @00129CF8 BEQ t3, zero, $0012d2c8 + if ((this.ee.t3.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233608u; + } + // @00129CFC LW t7, $0214(sp) + MobUt.LW(this.ee, this.ee.t7, (532u + this.ee.sp.UL0)); + } + + public virtual void funct00129d00() + { + this.ee.pc = 1219868u; + // @00129D00 LHU t7, $0004(t3) + MobUt.LHU(this.ee, this.ee.t7, (4u + this.ee.t3.UL0)); + // @00129D04 LW t3, $0014(s0) + MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); + // @00129D08 SLL t7, t7, 4 + MobUt.SLL(this.ee.t7, this.ee.t7, 4); + // @00129D0C ADDU t6, t3, t7 + this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t7.SD0))); + // @00129D10 ADDU t7, t3, s8 + this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); + // @00129D14 BEQ t7, t6, $00129d2c + if ((this.ee.t7.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1219884u; + } + // @00129D18 LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + } + + public virtual void funct00129d1c() + { + this.ee.pc = 1219892u; + // @00129D1C LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @00129D20 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00129D24 LW t3, $0014(s0) + MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); + // @00129D28 LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + // @00129D2C BLTZ t5, $0012d27c + if ((this.ee.t5.SD0 < 0)) + { + this.ee.pc = 1233532u; + } + // @00129D30 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + } + + public virtual void funct00129d34() + { + this.ee.pc = 1219908u; + // @00129D34 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @00129D38 SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @00129D3C BEQL t7, zero, $0012d264 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233508u; + // @00129D40 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct00129d44() + { + this.ee.pc = 1219976u; + // @00129D44 LW t7, $001c(s5) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); + // @00129D48 ADDU t5, t7, s8 + this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129D4C LW t6, $0214(sp) + MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); + // @00129D50 ADDU t7, t3, s8 + this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); + // @00129D54 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00129D58 SLL t2, t6, 4 + MobUt.SLL(this.ee.t2, this.ee.t6, 4); + // @00129D5C ADDU t6, t3, t2 + this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t2.SD0))); + // @00129D60 LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @00129D64 NOP + MobUt.Latency(); + // @00129D68 NOP + MobUt.Latency(); + // @00129D6C DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @00129D70 SWC1 $f0, $0000(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + // @00129D74 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @00129D78 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @00129D7C SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @00129D80 BEQL t7, zero, $0012d24c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233484u; + // @00129D84 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct00129d4c() + { + this.ee.pc = 1219976u; + // @00129D4C LW t6, $0214(sp) + MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); + // @00129D50 ADDU t7, t3, s8 + this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); + // @00129D54 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00129D58 SLL t2, t6, 4 + MobUt.SLL(this.ee.t2, this.ee.t6, 4); + // @00129D5C ADDU t6, t3, t2 + this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t2.SD0))); + // @00129D60 LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @00129D64 NOP + MobUt.Latency(); + // @00129D68 NOP + MobUt.Latency(); + // @00129D6C DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @00129D70 SWC1 $f0, $0000(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + // @00129D74 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @00129D78 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @00129D7C SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @00129D80 BEQL t7, zero, $0012d24c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233484u; + // @00129D84 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct00129d88() + { + this.ee.pc = 1220040u; + // @00129D88 LW t7, $001c(s5) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); + // @00129D8C ADDU t5, t7, s8 + this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129D90 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @00129D94 ADDU t6, t7, t2 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); + // @00129D98 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129D9C LWC1 $f1, $0004(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.t6.UL0)); + // @00129DA0 LWC1 $f0, $0004(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t7.UL0)); + // @00129DA4 NOP + MobUt.Latency(); + // @00129DA8 NOP + MobUt.Latency(); + // @00129DAC DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @00129DB0 SWC1 $f0, $0004(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t5.UL0)); + // @00129DB4 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @00129DB8 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @00129DBC SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @00129DC0 BEQL t7, zero, $0012d234 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233460u; + // @00129DC4 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct00129d90() + { + this.ee.pc = 1220040u; + // @00129D90 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @00129D94 ADDU t6, t7, t2 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); + // @00129D98 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129D9C LWC1 $f1, $0004(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.t6.UL0)); + // @00129DA0 LWC1 $f0, $0004(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t7.UL0)); + // @00129DA4 NOP + MobUt.Latency(); + // @00129DA8 NOP + MobUt.Latency(); + // @00129DAC DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @00129DB0 SWC1 $f0, $0004(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.t5.UL0)); + // @00129DB4 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @00129DB8 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @00129DBC SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @00129DC0 BEQL t7, zero, $0012d234 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233460u; + // @00129DC4 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct00129dc8() + { + this.ee.pc = 1220100u; + // @00129DC8 LW t7, $001c(s5) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); + // @00129DCC ADDU t5, t7, s8 + this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129DD0 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @00129DD4 ADDU t6, t7, t2 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); + // @00129DD8 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129DDC LWC1 $f1, $0008(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.t6.UL0)); + // @00129DE0 LWC1 $f0, $0008(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t7.UL0)); + // @00129DE4 NOP + MobUt.Latency(); + // @00129DE8 NOP + MobUt.Latency(); + // @00129DEC DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @00129DF0 SWC1 $f0, $0008(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t5.UL0)); + // @00129DF4 LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + // @00129DF8 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @00129DFC BEQ t7, zero, $0012a9d0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223120u; + } + // @00129E00 LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + } + + public virtual void funct00129dd0() + { + this.ee.pc = 1220100u; + // @00129DD0 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @00129DD4 ADDU t6, t7, t2 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t2.SD0))); + // @00129DD8 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @00129DDC LWC1 $f1, $0008(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.t6.UL0)); + // @00129DE0 LWC1 $f0, $0008(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t7.UL0)); + // @00129DE4 NOP + MobUt.Latency(); + // @00129DE8 NOP + MobUt.Latency(); + // @00129DEC DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @00129DF0 SWC1 $f0, $0008(t5) + MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.t5.UL0)); + // @00129DF4 LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + // @00129DF8 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @00129DFC BEQ t7, zero, $0012a9d0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223120u; + } + // @00129E00 LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + } + + public virtual void funct00129df8() + { + this.ee.pc = 1220100u; + // @00129DF8 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @00129DFC BEQ t7, zero, $0012a9d0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223120u; + } + // @00129E00 LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + } + + public virtual void funct00129e04() + { + this.ee.pc = 1220112u; + // @00129E04 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @00129E08 BEQ t7, zero, $00129e60 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220192u; + } + // @00129E0C LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + } + + public virtual void funct00129e10() + { + this.ee.pc = 1220132u; + // @00129E10 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @00129E14 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @00129E18 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @00129E1C BEQ t7, zero, $0012a9bc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223100u; + } + // @00129E20 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + } + + public virtual void funct00129e2c() + { + this.ee.pc = 1220156u; + // @00129E2C LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @00129E30 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @00129E34 BNEL t7, zero, $0012a9b4 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1223092u; + // @00129E38 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + } + } + + public virtual void funct00129e3c() + { + this.ee.pc = 1220188u; + // @00129E3C LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @00129E40 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @00129E44 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @00129E48 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @00129E4C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00129E50 ADDIU a1, t6, $0020 + this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); + // @00129E54 JAL $0011b840 + this.ee.ra.UL0 = 1220188u; + this.ee.pc = 1161280u; + // @00129E58 NOP + MobUt.Latency(); + } + + public virtual void funct00129e40() + { + this.ee.pc = 1220188u; + // @00129E40 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @00129E44 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @00129E48 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @00129E4C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00129E50 ADDIU a1, t6, $0020 + this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); + // @00129E54 JAL $0011b840 + this.ee.ra.UL0 = 1220188u; + this.ee.pc = 1161280u; + // @00129E58 NOP + MobUt.Latency(); + } + + public virtual void funct00129e54() + { + this.ee.pc = 1220188u; + // @00129E54 JAL $0011b840 + this.ee.ra.UL0 = 1220188u; + this.ee.pc = 1161280u; + // @00129E58 NOP + MobUt.Latency(); + } + + public virtual void funct00129e5c() + { + this.ee.pc = 1220200u; + // @00129E5C LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + // @00129E60 BEQL t3, zero, $0012a498 + if ((this.ee.t3.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1221784u; + // @00129E64 LW t3, $01fc(sp) + MobUt.LW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); + } + } + + public virtual void funct00129e60() + { + this.ee.pc = 1220200u; + // @00129E60 BEQL t3, zero, $0012a498 + if ((this.ee.t3.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1221784u; + // @00129E64 LW t3, $01fc(sp) + MobUt.LW(this.ee, this.ee.t3, (508u + this.ee.sp.UL0)); + } + } + + public virtual void funct0012a498() + { + this.ee.pc = 1221820u; + // @0012A498 LW t4, $0210(sp) + MobUt.LW(this.ee, this.ee.t4, (528u + this.ee.sp.UL0)); + // @0012A49C LW t5, $0200(sp) + MobUt.LW(this.ee, this.ee.t5, (512u + this.ee.sp.UL0)); + // @0012A4A0 LHU t7, $0012(t3) + MobUt.LHU(this.ee, this.ee.t7, (18u + this.ee.t3.UL0)); + // @0012A4A4 ADDIU t4, t4, $0001 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + 1))); + // @0012A4A8 ADDIU t5, t5, $0004 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + 4))); + // @0012A4AC SW t4, $0210(sp) + MobUt.SW(this.ee, this.ee.t4, (528u + this.ee.sp.UL0)); + // @0012A4B0 SLT t7, t4, t7 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t7.SD0)); + // @0012A4B4 BNE t7, zero, $00129ad8 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1219288u; + } + // @0012A4B8 SW t5, $0200(sp) + MobUt.SW(this.ee, this.ee.t5, (512u + this.ee.sp.UL0)); + } + + public virtual void funct0012a4bc() + { + this.ee.pc = 1221872u; + // @0012A4BC LD s0, $02a0(sp) + MobUt.LD(this.ee, this.ee.s0, (672u + this.ee.sp.UL0)); + // @0012A4C0 LD s1, $02a8(sp) + MobUt.LD(this.ee, this.ee.s1, (680u + this.ee.sp.UL0)); + // @0012A4C4 LD s2, $02b0(sp) + MobUt.LD(this.ee, this.ee.s2, (688u + this.ee.sp.UL0)); + // @0012A4C8 LD s3, $02b8(sp) + MobUt.LD(this.ee, this.ee.s3, (696u + this.ee.sp.UL0)); + // @0012A4CC LD s4, $02c0(sp) + MobUt.LD(this.ee, this.ee.s4, (704u + this.ee.sp.UL0)); + // @0012A4D0 LD s5, $02c8(sp) + MobUt.LD(this.ee, this.ee.s5, (712u + this.ee.sp.UL0)); + // @0012A4D4 LD s6, $02d0(sp) + MobUt.LD(this.ee, this.ee.s6, (720u + this.ee.sp.UL0)); + // @0012A4D8 LD s7, $02d8(sp) + MobUt.LD(this.ee, this.ee.s7, (728u + this.ee.sp.UL0)); + // @0012A4DC LD s8, $02e0(sp) + MobUt.LD(this.ee, this.ee.s8, (736u + this.ee.sp.UL0)); + // @0012A4E0 LD ra, $02e8(sp) + MobUt.LD(this.ee, this.ee.ra, (744u + this.ee.sp.UL0)); + // @0012A4E4 LWC1 $f20, $02f0(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (752u + this.ee.sp.UL0)); + // @0012A4E8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0012A4EC ADDIU sp, sp, $0300 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 768))); + } + + public virtual void funct0012a4c0() + { + this.ee.pc = 1221872u; + // @0012A4C0 LD s1, $02a8(sp) + MobUt.LD(this.ee, this.ee.s1, (680u + this.ee.sp.UL0)); + // @0012A4C4 LD s2, $02b0(sp) + MobUt.LD(this.ee, this.ee.s2, (688u + this.ee.sp.UL0)); + // @0012A4C8 LD s3, $02b8(sp) + MobUt.LD(this.ee, this.ee.s3, (696u + this.ee.sp.UL0)); + // @0012A4CC LD s4, $02c0(sp) + MobUt.LD(this.ee, this.ee.s4, (704u + this.ee.sp.UL0)); + // @0012A4D0 LD s5, $02c8(sp) + MobUt.LD(this.ee, this.ee.s5, (712u + this.ee.sp.UL0)); + // @0012A4D4 LD s6, $02d0(sp) + MobUt.LD(this.ee, this.ee.s6, (720u + this.ee.sp.UL0)); + // @0012A4D8 LD s7, $02d8(sp) + MobUt.LD(this.ee, this.ee.s7, (728u + this.ee.sp.UL0)); + // @0012A4DC LD s8, $02e0(sp) + MobUt.LD(this.ee, this.ee.s8, (736u + this.ee.sp.UL0)); + // @0012A4E0 LD ra, $02e8(sp) + MobUt.LD(this.ee, this.ee.ra, (744u + this.ee.sp.UL0)); + // @0012A4E4 LWC1 $f20, $02f0(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (752u + this.ee.sp.UL0)); + // @0012A4E8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0012A4EC ADDIU sp, sp, $0300 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 768))); + } + + public virtual void funct0012a9b4() + { + this.ee.pc = 1223100u; + // @0012A9B4 BEQ zero, zero, $00129e54 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220180u; + } + // @0012A9B8 ADDU a1, t7, s8 + this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + } + + public virtual void funct0012a9bc() + { + this.ee.pc = 1223120u; + // @0012A9BC SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + // @0012A9C0 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012A9C4 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012A9C8 BEQ zero, zero, $00129e2c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220140u; + } + // @0012A9CC ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012a9d0() + { + this.ee.pc = 1223156u; + // @0012A9D0 SRL t3, s4, 16 + MobUt.SRL(this.ee.t3, this.ee.s4, 16); + // @0012A9D4 MTC1 zero, $f20 + this.ee.fpr[20].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0012A9D8 SW t3, $024c(sp) + MobUt.SW(this.ee, this.ee.t3, (588u + this.ee.sp.UL0)); + // @0012A9DC ANDI t6, t3, $0003 + this.ee.t6.UD0 = ((ushort)((this.ee.t3.US0 & 3))); + // @0012A9E0 SW zero, $0224(sp) + MobUt.SW(this.ee, this.ee.r0, (548u + this.ee.sp.UL0)); + // @0012A9E4 ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @0012A9E8 SW zero, $0228(sp) + MobUt.SW(this.ee, this.ee.r0, (552u + this.ee.sp.UL0)); + // @0012A9EC BEQ t6, t7, $0012caf0 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1231600u; + } + // @0012A9F0 SW zero, $022c(sp) + MobUt.SW(this.ee, this.ee.r0, (556u + this.ee.sp.UL0)); + } + + public virtual void funct0012a9f4() + { + this.ee.pc = 1223164u; + // @0012A9F4 BEQ t6, zero, $0012ba08 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227272u; + } + // @0012A9F8 SLTIU t7, t6, $0004 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 4ul)); + } + + public virtual void funct0012a9fc() + { + this.ee.pc = 1223172u; + // @0012A9FC BEQ t7, zero, $0012ba08 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227272u; + } + // @0012AA00 LW t7, $0218(sp) + MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012aa04() + { + this.ee.pc = 1223180u; + // @0012AA04 BEQ t7, zero, $0012aa1c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223196u; + } + // @0012AA08 LW t3, $0218(sp) + MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012aa1c() + { + this.ee.pc = 1223216u; + // @0012AA1C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012AA20 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012AA24 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012AA28 BEQ t7, zero, $0012b9ec + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227244u; + } + // @0012AA2C ADDIU t3, sp, $0090 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); + } + + public virtual void funct0012aa30() + { + this.ee.pc = 1223232u; + // @0012AA30 LW t7, $0024(s5) + MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); + // @0012AA34 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012AA38 BEQ t3, t6, $0012aa50 + if ((this.ee.t3.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1223248u; + } + // @0012AA3C LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + } + + public virtual void funct0012aa38() + { + this.ee.pc = 1223232u; + // @0012AA38 BEQ t3, t6, $0012aa50 + if ((this.ee.t3.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1223248u; + } + // @0012AA3C LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + } + + public virtual void funct0012aa40() + { + this.ee.pc = 1223280u; + // @0012AA40 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012AA44 SQ t0, $0000(t3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @0012AA48 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012AA4C LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + // @0012AA50 ADDIU t5, t5, $8364 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); + // @0012AA54 LWC1 $f0, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + // @0012AA58 SWC1 $f0, $009c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); + // @0012AA5C LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012AA60 LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + // @0012AA64 SLT t7, t4, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t6.SD0)); + // @0012AA68 BEQ t7, zero, $0012b9d4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227220u; + } + // @0012AA6C SLL t5, t4, 6 + MobUt.SLL(this.ee.t5, this.ee.t4, 6); + } + + public virtual void funct0012aa70() + { + this.ee.pc = 1223348u; + // @0012AA70 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012AA74 SW t5, $0250(sp) + MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); + // @0012AA78 ADDU t6, t7, t5 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @0012AA7C ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012AA80 LQC2 vf5, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012AA84 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012AA88 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012AA8C LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012AA90 LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012AA94 VMULAx.xyzw ACC, vf1, vf5x + // @0012AA98 VMADDAy.xyzw ACC, vf2, vf5y + // @0012AA9C VMADDAz.xyzw ACC, vf3, vf5z + // @0012AAA0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012AAA4 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012AAA8 ADDIU t6, sp, $0080 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012AAAC BEQ t6, t8, $0012aabc + if ((this.ee.t6.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1223356u; + } + // @0012AAB0 DADDU t7, t8, zero + this.ee.t7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012aa7c() + { + this.ee.pc = 1223348u; + // @0012AA7C ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012AA80 LQC2 vf5, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012AA84 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012AA88 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012AA8C LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012AA90 LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012AA94 VMULAx.xyzw ACC, vf1, vf5x + // @0012AA98 VMADDAy.xyzw ACC, vf2, vf5y + // @0012AA9C VMADDAz.xyzw ACC, vf3, vf5z + // @0012AAA0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012AAA4 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012AAA8 ADDIU t6, sp, $0080 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012AAAC BEQ t6, t8, $0012aabc + if ((this.ee.t6.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1223356u; + } + // @0012AAB0 DADDU t7, t8, zero + this.ee.t7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012aab4() + { + this.ee.pc = 1223380u; + // @0012AAB4 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012AAB8 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012AABC LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012AAC0 ADDIU a1, sp, $0040 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012AAC4 LW t3, $0250(sp) + MobUt.LW(this.ee, this.ee.t3, (592u + this.ee.sp.UL0)); + // @0012AAC8 ADDU t7, t7, t3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t3.SD0))); + // @0012AACC BEQ a1, t7, $0012aaf4 + if ((this.ee.a1.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1223412u; + } + // @0012AAD0 NOP + MobUt.Latency(); + } + + public virtual void funct0012aad4() + { + this.ee.pc = 1223560u; + // @0012AAD4 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012AAD8 LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0012AADC LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0012AAE0 LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0012AAE4 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012AAE8 SQ t1, $0010(a1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012AAEC SQ t2, $0020(a1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012AAF0 SQ t3, $0030(a1) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); + // @0012AAF4 LQ t0, $0000(a1) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012AAF8 LQ t1, $0010(a1) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012AAFC LQ t2, $0020(a1) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012AB00 QMFC2 t3, vf0 + MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); + // @0012AB04 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012AB08 PEXTLW t4, t1, t0 + this.ee.t4.UL[0] = this.ee.t0.UL[0]; + this.ee.t4.UL[1] = this.ee.t1.UL[0]; + this.ee.t4.UL[2] = this.ee.t0.UL[1]; + this.ee.t4.UL[3] = this.ee.t1.UL[1]; + // @0012AB0C PEXTUW t5, t1, t0 + this.ee.t5.UL[0] = this.ee.t0.UL[2]; + this.ee.t5.UL[1] = this.ee.t1.UL[2]; + this.ee.t5.UL[2] = this.ee.t0.UL[3]; + this.ee.t5.UL[3] = this.ee.t1.UL[3]; + // @0012AB10 PEXTLW t6, t3, t2 + this.ee.t6.UL[0] = this.ee.t2.UL[0]; + this.ee.t6.UL[1] = this.ee.t3.UL[0]; + this.ee.t6.UL[2] = this.ee.t2.UL[1]; + this.ee.t6.UL[3] = this.ee.t3.UL[1]; + // @0012AB14 PEXTUW t7, t3, t2 + this.ee.t7.UL[0] = this.ee.t2.UL[2]; + this.ee.t7.UL[1] = this.ee.t3.UL[2]; + this.ee.t7.UL[2] = this.ee.t2.UL[3]; + this.ee.t7.UL[3] = this.ee.t3.UL[3]; + // @0012AB18 PCPYLD t0, t6, t4 + this.ee.t0.UD1 = this.ee.t6.UD0; + this.ee.t0.UD0 = this.ee.t4.UD0; + // @0012AB1C PCPYUD t1, t4, t6 + this.ee.t1.UD0 = this.ee.t4.UD1; + this.ee.t1.UD1 = this.ee.t6.UD1; + // @0012AB20 PCPYLD t2, t7, t5 + this.ee.t2.UD1 = this.ee.t7.UD0; + this.ee.t2.UD0 = this.ee.t5.UD0; + // @0012AB24 QMTC2 t0, vf1 + MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); + // @0012AB28 QMTC2 t1, vf2 + MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); + // @0012AB2C QMTC2 t2, vf3 + MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); + // @0012AB30 VMULAx.xyz ACC, vf1, vf4x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); + // @0012AB34 VMADDAy.xyz ACC, vf2, vf4y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); + // @0012AB38 VMADDz.xyz vf4, vf3, vf4z + this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); + // @0012AB3C VSUB.xyz vf4, vf0, vf4 + this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); + this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); + this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); + // @0012AB40 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012AB44 SQ t1, $0010(a1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012AB48 SQ t2, $0020(a1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012AB4C SQC2 vf4, $0030(a1) + MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012AB50 ADDIU t4, sp, $0080 + this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012AB54 LQC2 vf5, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t4.UL0)); + // @0012AB58 LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @0012AB5C LQC2 vf2, $0010(a1) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); + // @0012AB60 LQC2 vf3, $0020(a1) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); + // @0012AB64 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012AB68 VMULAx.xyzw ACC, vf1, vf5x + // @0012AB6C VMADDAy.xyzw ACC, vf2, vf5y + // @0012AB70 VMADDAz.xyzw ACC, vf3, vf5z + // @0012AB74 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012AB78 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012AB7C ADDIU t5, sp, $00a0 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012AB80 BEQ t5, t8, $0012ab90 + if ((this.ee.t5.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1223568u; + } + // @0012AB84 ADDIU t6, sp, $0120 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 288))); + } + + public virtual void funct0012ab88() + { + this.ee.pc = 1223580u; + // @0012AB88 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012AB8C SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012AB90 LW t7, $0204(sp) + MobUt.LW(this.ee, this.ee.t7, (516u + this.ee.sp.UL0)); + // @0012AB94 BEQ s1, t7, $0012abc8 + if ((this.ee.s1.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1223624u; + } + // @0012AB98 ADDIU s7, s2, $0001 + this.ee.s7.SD0 = ((int)((this.ee.s2.SD0 + 1))); + } + + public virtual void funct0012ab9c() + { + this.ee.pc = 1223596u; + // @0012AB9C LHU t7, $0002(s1) + MobUt.LHU(this.ee, this.ee.t7, (2u + this.ee.s1.UL0)); + // @0012ABA0 ANDI t6, s7, $ffff + this.ee.t6.UD0 = ((ushort)((this.ee.s7.US0 & 65535))); + // @0012ABA4 BNEL t7, t6, $0012abcc + if ((this.ee.t7.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 1223628u; + // @0012ABA8 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012abc8() + { + this.ee.pc = 1223652u; + // @0012ABC8 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012ABCC LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012ABD0 LHU t2, $0010(t5) + MobUt.LHU(this.ee, this.ee.t2, (16u + this.ee.t5.UL0)); + // @0012ABD4 ADDU t4, t7, s8 + this.ee.t4.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012ABD8 SLT t7, s7, t2 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t2.SD0)); + // @0012ABDC BEQ t7, zero, $0012b9b8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227192u; + } + // @0012ABE0 ADDIU t3, t4, $0010 + this.ee.t3.SD0 = ((int)((this.ee.t4.SD0 + 16))); + } + + public virtual void funct0012abcc() + { + this.ee.pc = 1223652u; + // @0012ABCC LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012ABD0 LHU t2, $0010(t5) + MobUt.LHU(this.ee, this.ee.t2, (16u + this.ee.t5.UL0)); + // @0012ABD4 ADDU t4, t7, s8 + this.ee.t4.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012ABD8 SLT t7, s7, t2 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t2.SD0)); + // @0012ABDC BEQ t7, zero, $0012b9b8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227192u; + } + // @0012ABE0 ADDIU t3, t4, $0010 + this.ee.t3.SD0 = ((int)((this.ee.t4.SD0 + 16))); + } + + public virtual void funct0012abe4() + { + this.ee.pc = 1223692u; + // @0012ABE4 LW t6, $001c(s5) + MobUt.LW(this.ee, this.ee.t6, (28u + this.ee.s5.UL0)); + // @0012ABE8 SLL t7, s7, 4 + MobUt.SLL(this.ee.t7, this.ee.s7, 4); + // @0012ABEC ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012ABF0 ADDIU t5, sp, $0120 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012ABF4 LQC2 vf1, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); + // @0012ABF8 LQC2 vf2, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); + // @0012ABFC VMUL.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); + // @0012AC00 SQC2 vf1, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @0012AC04 BEQ t3, t5, $0012ac14 + if ((this.ee.t3.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1223700u; + } + // @0012AC08 DADDU t6, t5, zero + this.ee.t6.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012abf0() + { + this.ee.pc = 1223692u; + // @0012ABF0 ADDIU t5, sp, $0120 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012ABF4 LQC2 vf1, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); + // @0012ABF8 LQC2 vf2, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); + // @0012ABFC VMUL.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); + // @0012AC00 SQC2 vf1, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @0012AC04 BEQ t3, t5, $0012ac14 + if ((this.ee.t3.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1223700u; + } + // @0012AC08 DADDU t6, t5, zero + this.ee.t6.UD0 = (this.ee.t5.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012ac0c() + { + this.ee.pc = 1223728u; + // @0012AC0C LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012AC10 SQ t0, $0000(t3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @0012AC14 LW a2, $0220(sp) + MobUt.LW(this.ee, this.ee.a2, (544u + this.ee.sp.UL0)); + // @0012AC18 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0012AC1C DADDU a1, s5, zero + this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + // @0012AC20 ADDIU a3, sp, $00c0 + this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 192))); + // @0012AC24 ADDIU t0, sp, $0040 + this.ee.t0.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012AC28 JAL $00128de8 + this.ee.ra.UL0 = 1223728u; + this.ee.pc = 1215976u; + // @0012AC2C ADDIU t1, sp, $00b0 + this.ee.t1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + } + + public virtual void funct0012ac30() + { + this.ee.pc = 1223740u; + // @0012AC30 LW t7, $01f8(sp) + MobUt.LW(this.ee, this.ee.t7, (504u + this.ee.sp.UL0)); + // @0012AC34 BEQ t7, zero, $0012acd8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223896u; + } + // @0012AC38 LW t3, $0228(sp) + MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); + } + + public virtual void funct0012ac3c() + { + this.ee.pc = 1223768u; + // @0012AC3C SW t7, $0224(sp) + MobUt.SW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); + // @0012AC40 LD t5, $0010(t7) + MobUt.LD(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); + // @0012AC44 ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @0012AC48 DSLL32 t7, t7, 21 + MobUt.DSLL32(this.ee.t7, this.ee.t7, 21); + // @0012AC4C AND t7, t5, t7 + this.ee.t7.UD0 = (this.ee.t5.UD0 & this.ee.t7.UD0); + // @0012AC50 BNE t7, zero, $0012acd8 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1223896u; + } + // @0012AC54 LW t3, $0228(sp) + MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); + } + + public virtual void funct0012ac58() + { + this.ee.pc = 1223796u; + // @0012AC58 ADDIU t4, zero, $0001 + this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @0012AC5C ANDI t6, s2, $ffff + this.ee.t6.UD0 = ((ushort)((this.ee.s2.US0 & 65535))); + // @0012AC60 DSLL32 t4, t4, 21 + MobUt.DSLL32(this.ee.t4, this.ee.t4, 21); + // @0012AC64 LW t3, $0224(sp) + MobUt.LW(this.ee, this.ee.t3, (548u + this.ee.sp.UL0)); + // @0012AC68 LHU t7, $001c(t3) + MobUt.LHU(this.ee, this.ee.t7, (28u + this.ee.t3.UL0)); + // @0012AC6C BNE t7, t6, $0012b998 + if ((this.ee.t7.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 1227160u; + } + // @0012AC70 LW t7, $0224(sp) + MobUt.LW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); + } + + public virtual void funct0012ac68() + { + this.ee.pc = 1223796u; + // @0012AC68 LHU t7, $001c(t3) + MobUt.LHU(this.ee, this.ee.t7, (28u + this.ee.t3.UL0)); + // @0012AC6C BNE t7, t6, $0012b998 + if ((this.ee.t7.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 1227160u; + } + // @0012AC70 LW t7, $0224(sp) + MobUt.LW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); + } + + public virtual void funct0012ac74() + { + this.ee.pc = 1223840u; + // @0012AC74 DSRL32 t7, t5, 20 + MobUt.DSRL32(this.ee.t7, this.ee.t5, 20); + // @0012AC78 ADDIU t4, zero, $0001 + this.ee.t4.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @0012AC7C ANDI t7, t7, $0001 + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 1))); + // @0012AC80 SW t4, $0228(sp) + MobUt.SW(this.ee, this.ee.t4, (552u + this.ee.sp.UL0)); + // @0012AC84 SW t7, $022c(sp) + MobUt.SW(this.ee, this.ee.t7, (556u + this.ee.sp.UL0)); + // @0012AC88 ADDIU s3, zero, $0020 + this.ee.s3.SD0 = ((int)((this.ee.r0.SD0 + 32))); + // @0012AC8C LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @0012AC90 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012AC94 LW v0, $0018(t7) + MobUt.LW(this.ee, this.ee.v0, (24u + this.ee.t7.UL0)); + // @0012AC98 JALR ra, v0 + this.ee.ra.UD0 = 1223840u; + this.ee.pc = this.ee.v0.UL0; + // @0012AC9C DADDU a1, s3, zero + this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012ac90() + { + this.ee.pc = 1223840u; + // @0012AC90 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012AC94 LW v0, $0018(t7) + MobUt.LW(this.ee, this.ee.v0, (24u + this.ee.t7.UL0)); + // @0012AC98 JALR ra, v0 + this.ee.ra.UD0 = 1223840u; + this.ee.pc = this.ee.v0.UL0; + // @0012AC9C DADDU a1, s3, zero + this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012aca0() + { + this.ee.pc = 1223848u; + // @0012ACA0 BEQL s2, v0, $0012b97c + if ((this.ee.s2.UD0 == this.ee.v0.UD0)) + { + this.ee.pc = 1227132u; + // @0012ACA4 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + } + } + + public virtual void funct0012aca8() + { + this.ee.pc = 1223864u; + // @0012ACA8 ADDIU s3, s3, $0001 + this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); + // @0012ACAC SLTI t7, s3, $0024 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < 36)); + // @0012ACB0 BNEL t7, zero, $0012ac90 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1223824u; + // @0012ACB4 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + } + } + + public virtual void funct0012acb8() + { + this.ee.pc = 1223892u; + // @0012ACB8 LW t5, $0224(sp) + MobUt.LW(this.ee, this.ee.t5, (548u + this.ee.sp.UL0)); + // @0012ACBC ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @0012ACC0 DSLL32 t7, t7, 19 + MobUt.DSLL32(this.ee.t7, this.ee.t7, 19); + // @0012ACC4 LD t6, $0010(t5) + MobUt.LD(this.ee, this.ee.t6, (16u + this.ee.t5.UL0)); + // @0012ACC8 AND t6, t6, t7 + this.ee.t6.UD0 = (this.ee.t6.UD0 & this.ee.t7.UD0); + // @0012ACCC BNEL t6, zero, $0012acd4 + if ((this.ee.t6.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1223892u; + // @0012ACD0 LWC1 $f20, $0018(t5) + MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct0012acd4() + { + this.ee.pc = 1223904u; + // @0012ACD4 LW t3, $0228(sp) + MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); + // @0012ACD8 BEQ t3, zero, $0012af80 + if ((this.ee.t3.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1224576u; + } + // @0012ACDC LW t4, $01f0(sp) + MobUt.LW(this.ee, this.ee.t4, (496u + this.ee.sp.UL0)); + } + + public virtual void funct0012acd8() + { + this.ee.pc = 1223904u; + // @0012ACD8 BEQ t3, zero, $0012af80 + if ((this.ee.t3.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1224576u; + } + // @0012ACDC LW t4, $01f0(sp) + MobUt.LW(this.ee, this.ee.t4, (496u + this.ee.sp.UL0)); + } + + public virtual void funct0012ace0() + { + this.ee.pc = 1223964u; + // @0012ACE0 ADDIU t7, sp, $0130 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 304))); + // @0012ACE4 ADDIU s3, sp, $0140 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 320))); + // @0012ACE8 ADDIU t5, sp, $00c0 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 192))); + // @0012ACEC LQC2 vf5, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); + // @0012ACF0 LQC2 vf1, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); + // @0012ACF4 LQC2 vf2, $0010(t4) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t4.UL0)); + // @0012ACF8 LQC2 vf3, $0020(t4) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t4.UL0)); + // @0012ACFC LQC2 vf4, $0030(t4) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t4.UL0)); + // @0012AD00 VMULAx.xyzw ACC, vf1, vf5x + // @0012AD04 VMADDAy.xyzw ACC, vf2, vf5y + // @0012AD08 VMADDAz.xyzw ACC, vf3, vf5z + // @0012AD0C VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012AD10 SQC2 vf5, $0000(s3) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); + // @0012AD14 BEQ t7, s3, $0012ad28 + if ((this.ee.t7.UD0 == this.ee.s3.UD0)) + { + this.ee.pc = 1223976u; + } + // @0012AD18 LWC1 $f0, $0134(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); + } + + public virtual void funct0012ad1c() + { + this.ee.pc = 1223992u; + // @0012AD1C LQ t0, $0000(s3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @0012AD20 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012AD24 LWC1 $f0, $0134(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); + // @0012AD28 ADDIU t6, sp, $0120 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012AD2C ADD.S $f0, $f0, $f20 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[20].f); + // @0012AD30 BEQ t6, t7, $0012ad40 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1224000u; + } + // @0012AD34 SWC1 $f0, $0134(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); + } + + public virtual void funct0012ad38() + { + this.ee.pc = 1224032u; + // @0012AD38 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012AD3C SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012AD40 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012AD44 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012AD48 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @0012AD4C ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012AD50 ADDIU t7, t7, $0010 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); + // @0012AD54 SLT t6, s7, t4 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t4.SD0)); + // @0012AD58 BEQ t6, zero, $0012b964 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227108u; + } + // @0012AD5C SW t7, $0234(sp) + MobUt.SW(this.ee, this.ee.t7, (564u + this.ee.sp.UL0)); + } + + public virtual void funct0012ad60() + { + this.ee.pc = 1224052u; + // @0012AD60 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @0012AD64 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012AD68 LW v0, $0020(t7) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); + // @0012AD6C JALR ra, v0 + this.ee.ra.UD0 = 1224052u; + this.ee.pc = this.ee.v0.UL0; + // @0012AD70 NOP + MobUt.Latency(); + } + + public virtual void funct0012ad74() + { + this.ee.pc = 1224100u; + // @0012AD74 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012AD78 ADDU v0, v0, t7 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.t7.SD0))); + // @0012AD7C LW t7, $0234(sp) + MobUt.LW(this.ee, this.ee.t7, (564u + this.ee.sp.UL0)); + // @0012AD80 LWC1 $f2, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[2], (28u + this.ee.v0.UL0)); + // @0012AD84 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0012AD88 LWC1 $f1, $0124(sp) + MobUt.LWC1(this.ee, this.ee.fpr[1], (292u + this.ee.sp.UL0)); + // @0012AD8C MUL.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[2].f); + // @0012AD90 LW t3, $022c(sp) + MobUt.LW(this.ee, this.ee.t3, (556u + this.ee.sp.UL0)); + // @0012AD94 ADD.S $f0, $f0, $f20 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[20].f); + // @0012AD98 SUB.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + // @0012AD9C BEQ t3, zero, $0012ae00 + if ((this.ee.t3.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1224192u; + } + // @0012ADA0 SWC1 $f1, $0124(sp) + MobUt.SWC1(this.ee, this.ee.fpr[1], (292u + this.ee.sp.UL0)); + } + + public virtual void funct0012ae00() + { + this.ee.pc = 1224204u; + // @0012AE00 ADDIU a0, sp, $0120 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012AE04 JAL $00143ec8 + this.ee.ra.UL0 = 1224204u; + this.ee.pc = 1326792u; + // @0012AE08 DADDU a1, s3, zero + this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012ae0c() + { + this.ee.pc = 1224212u; + // @0012AE0C BEQ v0, zero, $0012af80 + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1224576u; + } + // @0012AE10 LW t5, $0224(sp) + MobUt.LW(this.ee, this.ee.t5, (548u + this.ee.sp.UL0)); + } + + public virtual void funct0012af80() + { + this.ee.pc = 1224588u; + // @0012AF80 LW t6, $0218(sp) + MobUt.LW(this.ee, this.ee.t6, (536u + this.ee.sp.UL0)); + // @0012AF84 BEQ t6, zero, $0012b7a8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226664u; + } + // @0012AF88 LW t7, $0218(sp) + MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012b100() + { + this.ee.pc = 1224968u; + // @0012B100 JAL $00124a88 + this.ee.ra.UL0 = 1224968u; + this.ee.pc = 1198728u; + // @0012B104 NOP + MobUt.Latency(); + } + + public virtual void funct0012b108() + { + this.ee.pc = 1224984u; + // @0012B108 LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + // @0012B10C AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012B110 BEQL t7, zero, $0012b158 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225048u; + // @0012B114 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012b158() + { + this.ee.pc = 1225064u; + // @0012B158 LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012B15C SLT t6, s2, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); + // @0012B160 BEQ t6, zero, $0012b6dc + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226460u; + } + // @0012B164 SUBU t7, s2, t7 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); + } + + public virtual void funct0012b168() + { + this.ee.pc = 1225112u; + // @0012B168 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012B16C ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B170 LWC1 $f0, $0090(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); + // @0012B174 SWC1 $f0, $0030(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); + // @0012B178 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012B17C LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012B180 LW t5, $0250(sp) + MobUt.LW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); + // @0012B184 LHU t4, $0010(t7) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t7.UL0)); + // @0012B188 ADDU t3, t6, t5 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + // @0012B18C SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012B190 BEQ t7, zero, $0012b6c8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226440u; + } + // @0012B194 ADDU t5, t6, s3 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + } + + public virtual void funct0012b170() + { + this.ee.pc = 1225112u; + // @0012B170 LWC1 $f0, $0090(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); + // @0012B174 SWC1 $f0, $0030(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); + // @0012B178 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012B17C LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012B180 LW t5, $0250(sp) + MobUt.LW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); + // @0012B184 LHU t4, $0010(t7) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t7.UL0)); + // @0012B188 ADDU t3, t6, t5 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + // @0012B18C SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012B190 BEQ t7, zero, $0012b6c8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226440u; + } + // @0012B194 ADDU t5, t6, s3 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + } + + public virtual void funct0012b198() + { + this.ee.pc = 1225244u; + // @0012B198 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012B19C ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B1A0 ADDIU t7, sp, $0120 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012B1A4 LQC2 vf1, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); + // @0012B1A8 LQC2 vf2, $0010(t3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); + // @0012B1AC LQC2 vf3, $0020(t3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); + // @0012B1B0 LQC2 vf4, $0030(t3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); + // @0012B1B4 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012B1B8 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012B1BC LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012B1C0 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012B1C4 VMULAx.xyzw ACC, vf1, vf5x + // @0012B1C8 VMADDAy.xyzw ACC, vf2, vf5y + // @0012B1CC VMADDAz.xyzw ACC, vf3, vf5z + // @0012B1D0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012B1D4 VMULAx.xyzw ACC, vf1, vf6x + // @0012B1D8 VMADDAy.xyzw ACC, vf2, vf6y + // @0012B1DC VMADDAz.xyzw ACC, vf3, vf6z + // @0012B1E0 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012B1E4 VMULAx.xyzw ACC, vf1, vf7x + // @0012B1E8 VMADDAy.xyzw ACC, vf2, vf7y + // @0012B1EC VMADDAz.xyzw ACC, vf3, vf7z + // @0012B1F0 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012B1F4 VMULAx.xyzw ACC, vf1, vf8x + // @0012B1F8 VMADDAy.xyzw ACC, vf2, vf8y + // @0012B1FC VMADDAz.xyzw ACC, vf3, vf8z + // @0012B200 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012B204 SQC2 vf5, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012B208 SQC2 vf6, $0010(t7) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012B20C SQC2 vf7, $0020(t7) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012B210 SQC2 vf8, $0030(t7) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012B214 BEQ t5, t7, $0012b23c + if ((this.ee.t5.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225276u; + } + // @0012B218 DADDU t4, t7, zero + this.ee.t4.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012b1a0() + { + this.ee.pc = 1225244u; + // @0012B1A0 ADDIU t7, sp, $0120 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012B1A4 LQC2 vf1, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); + // @0012B1A8 LQC2 vf2, $0010(t3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); + // @0012B1AC LQC2 vf3, $0020(t3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); + // @0012B1B0 LQC2 vf4, $0030(t3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); + // @0012B1B4 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012B1B8 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012B1BC LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012B1C0 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012B1C4 VMULAx.xyzw ACC, vf1, vf5x + // @0012B1C8 VMADDAy.xyzw ACC, vf2, vf5y + // @0012B1CC VMADDAz.xyzw ACC, vf3, vf5z + // @0012B1D0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012B1D4 VMULAx.xyzw ACC, vf1, vf6x + // @0012B1D8 VMADDAy.xyzw ACC, vf2, vf6y + // @0012B1DC VMADDAz.xyzw ACC, vf3, vf6z + // @0012B1E0 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012B1E4 VMULAx.xyzw ACC, vf1, vf7x + // @0012B1E8 VMADDAy.xyzw ACC, vf2, vf7y + // @0012B1EC VMADDAz.xyzw ACC, vf3, vf7z + // @0012B1F0 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012B1F4 VMULAx.xyzw ACC, vf1, vf8x + // @0012B1F8 VMADDAy.xyzw ACC, vf2, vf8y + // @0012B1FC VMADDAz.xyzw ACC, vf3, vf8z + // @0012B200 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012B204 SQC2 vf5, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012B208 SQC2 vf6, $0010(t7) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012B20C SQC2 vf7, $0020(t7) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012B210 SQC2 vf8, $0030(t7) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012B214 BEQ t5, t7, $0012b23c + if ((this.ee.t5.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225276u; + } + // @0012B218 DADDU t4, t7, zero + this.ee.t4.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012b21c() + { + this.ee.pc = 1225296u; + // @0012B21C LQ t0, $0000(t4) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012B220 LQ t1, $0010(t4) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); + // @0012B224 LQ t2, $0020(t4) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); + // @0012B228 LQ t3, $0030(t4) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); + // @0012B22C SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012B230 SQ t1, $0010(t5) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); + // @0012B234 SQ t2, $0020(t5) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); + // @0012B238 SQ t3, $0030(t5) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); + // @0012B23C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B240 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B244 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012B248 BEQ t7, zero, $0012b6b8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226424u; + } + // @0012B24C SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b250() + { + this.ee.pc = 1225320u; + // @0012B250 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012B254 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B258 LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012B25C ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B260 BEQL t6, t7, $0012b290 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225360u; + // @0012B264 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b258() + { + this.ee.pc = 1225320u; + // @0012B258 LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012B25C ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B260 BEQL t6, t7, $0012b290 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225360u; + // @0012B264 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b268() + { + this.ee.pc = 1225372u; + // @0012B268 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012B26C LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0012B270 LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0012B274 LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0012B278 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012B27C SQ t1, $0010(t6) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012B280 SQ t2, $0020(t6) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012B284 SQ t3, $0030(t6) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012B288 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B28C LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B290 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012B294 BEQ t7, zero, $0012b6a8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226408u; + } + // @0012B298 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b29c() + { + this.ee.pc = 1225448u; + // @0012B29C LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012B2A0 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B2A4 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012B2A8 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012B2AC LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012B2B0 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B2B4 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B2B8 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B2BC VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012B2C0 VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012B2C4 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012B2C8 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B2CC SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B2D0 SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B2D4 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B2D8 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B2DC SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012B2E0 BEQ t7, zero, $0012b698 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226392u; + } + // @0012B2E4 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b2a4() + { + this.ee.pc = 1225448u; + // @0012B2A4 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012B2A8 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012B2AC LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012B2B0 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B2B4 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B2B8 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B2BC VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012B2C0 VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012B2C4 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012B2C8 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B2CC SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B2D0 SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B2D4 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B2D8 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B2DC SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012B2E0 BEQ t7, zero, $0012b698 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226392u; + } + // @0012B2E4 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b2e8() + { + this.ee.pc = 1225472u; + // @0012B2E8 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012B2EC ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B2F0 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012B2F4 ADDIU t5, sp, $0080 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012B2F8 BEQL t6, t5, $0012b310 + if ((this.ee.t6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1225488u; + // @0012B2FC LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b2f0() + { + this.ee.pc = 1225472u; + // @0012B2F0 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012B2F4 ADDIU t5, sp, $0080 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012B2F8 BEQL t6, t5, $0012b310 + if ((this.ee.t6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1225488u; + // @0012B2FC LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b300() + { + this.ee.pc = 1225500u; + // @0012B300 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012B304 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012B308 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B30C LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B310 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B314 BEQ t7, zero, $0012b68c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226380u; + } + // @0012B318 SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b31c() + { + this.ee.pc = 1225528u; + // @0012B31C LW t6, $0028(s5) + MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); + // @0012B320 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B324 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B328 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B32C SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012B330 BEQ t7, zero, $0012b674 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226356u; + } + // @0012B334 ADDIU s4, t6, $0030 + this.ee.s4.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012b324() + { + this.ee.pc = 1225528u; + // @0012B324 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B328 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B32C SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012B330 BEQ t7, zero, $0012b674 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226356u; + } + // @0012B334 ADDIU s4, t6, $0030 + this.ee.s4.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012b338() + { + this.ee.pc = 1225548u; + // @0012B338 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @0012B33C LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012B340 LW v0, $0020(t7) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); + // @0012B344 JALR ra, v0 + this.ee.ra.UD0 = 1225548u; + this.ee.pc = this.ee.v0.UL0; + // @0012B348 NOP + MobUt.Latency(); + } + + public virtual void funct0012b34c() + { + this.ee.pc = 1225588u; + // @0012B34C ADDU v0, v0, s3 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); + // @0012B350 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012B354 SWC1 $f0, $0000(s4) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s4.UL0)); + // @0012B358 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012B35C LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012B360 LHU t3, $0010(t7) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t7.UL0)); + // @0012B364 ADDU t5, t6, s3 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + // @0012B368 SLT t7, s7, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t3.SD0)); + // @0012B36C BEQ t7, zero, $0012b664 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226340u; + } + // @0012B370 ADDIU t4, t5, $0040 + this.ee.t4.SD0 = ((int)((this.ee.t5.SD0 + 64))); + } + + public virtual void funct0012b350() + { + this.ee.pc = 1225588u; + // @0012B350 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012B354 SWC1 $f0, $0000(s4) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.s4.UL0)); + // @0012B358 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012B35C LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012B360 LHU t3, $0010(t7) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t7.UL0)); + // @0012B364 ADDU t5, t6, s3 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + // @0012B368 SLT t7, s7, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t3.SD0)); + // @0012B36C BEQ t7, zero, $0012b664 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226340u; + } + // @0012B370 ADDIU t4, t5, $0040 + this.ee.t4.SD0 = ((int)((this.ee.t5.SD0 + 64))); + } + + public virtual void funct0012b374() + { + this.ee.pc = 1225724u; + // @0012B374 LW t6, $0028(s5) + MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); + // @0012B378 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B37C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B380 ADDIU t7, sp, $0120 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012B384 LQC2 vf1, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @0012B388 LQC2 vf2, $0010(t5) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t5.UL0)); + // @0012B38C LQC2 vf3, $0020(t5) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t5.UL0)); + // @0012B390 LQC2 vf4, $0030(t5) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t5.UL0)); + // @0012B394 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012B398 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012B39C LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012B3A0 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012B3A4 VMULAx.xyzw ACC, vf1, vf5x + // @0012B3A8 VMADDAy.xyzw ACC, vf2, vf5y + // @0012B3AC VMADDAz.xyzw ACC, vf3, vf5z + // @0012B3B0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012B3B4 VMULAx.xyzw ACC, vf1, vf6x + // @0012B3B8 VMADDAy.xyzw ACC, vf2, vf6y + // @0012B3BC VMADDAz.xyzw ACC, vf3, vf6z + // @0012B3C0 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012B3C4 VMULAx.xyzw ACC, vf1, vf7x + // @0012B3C8 VMADDAy.xyzw ACC, vf2, vf7y + // @0012B3CC VMADDAz.xyzw ACC, vf3, vf7z + // @0012B3D0 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012B3D4 VMULAx.xyzw ACC, vf1, vf8x + // @0012B3D8 VMADDAy.xyzw ACC, vf2, vf8y + // @0012B3DC VMADDAz.xyzw ACC, vf3, vf8z + // @0012B3E0 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012B3E4 SQC2 vf5, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012B3E8 SQC2 vf6, $0010(t7) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012B3EC SQC2 vf7, $0020(t7) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012B3F0 SQC2 vf8, $0030(t7) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012B3F4 BEQL t4, t7, $0012b424 + if ((this.ee.t4.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225764u; + // @0012B3F8 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012b37c() + { + this.ee.pc = 1225724u; + // @0012B37C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B380 ADDIU t7, sp, $0120 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012B384 LQC2 vf1, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @0012B388 LQC2 vf2, $0010(t5) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t5.UL0)); + // @0012B38C LQC2 vf3, $0020(t5) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t5.UL0)); + // @0012B390 LQC2 vf4, $0030(t5) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t5.UL0)); + // @0012B394 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012B398 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012B39C LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012B3A0 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012B3A4 VMULAx.xyzw ACC, vf1, vf5x + // @0012B3A8 VMADDAy.xyzw ACC, vf2, vf5y + // @0012B3AC VMADDAz.xyzw ACC, vf3, vf5z + // @0012B3B0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012B3B4 VMULAx.xyzw ACC, vf1, vf6x + // @0012B3B8 VMADDAy.xyzw ACC, vf2, vf6y + // @0012B3BC VMADDAz.xyzw ACC, vf3, vf6z + // @0012B3C0 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012B3C4 VMULAx.xyzw ACC, vf1, vf7x + // @0012B3C8 VMADDAy.xyzw ACC, vf2, vf7y + // @0012B3CC VMADDAz.xyzw ACC, vf3, vf7z + // @0012B3D0 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012B3D4 VMULAx.xyzw ACC, vf1, vf8x + // @0012B3D8 VMADDAy.xyzw ACC, vf2, vf8y + // @0012B3DC VMADDAz.xyzw ACC, vf3, vf8z + // @0012B3E0 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012B3E4 SQC2 vf5, $0000(t7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012B3E8 SQC2 vf6, $0010(t7) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012B3EC SQC2 vf7, $0020(t7) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012B3F0 SQC2 vf8, $0030(t7) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012B3F4 BEQL t4, t7, $0012b424 + if ((this.ee.t4.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225764u; + // @0012B3F8 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012b3fc() + { + this.ee.pc = 1225780u; + // @0012B3FC DADDU t5, t7, zero + this.ee.t5.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); + // @0012B400 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012B404 LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0012B408 LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0012B40C LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0012B410 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012B414 SQ t1, $0010(t4) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); + // @0012B418 SQ t2, $0020(t4) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); + // @0012B41C SQ t3, $0030(t4) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); + // @0012B420 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B424 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B428 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B42C BEQ t7, zero, $0012b658 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226328u; + } + // @0012B430 SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b434() + { + this.ee.pc = 1225812u; + // @0012B434 LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012B438 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B43C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B440 LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012B444 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B448 ADDIU t7, t7, $0040 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 64))); + // @0012B44C BEQL t6, t7, $0012b47c + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225852u; + // @0012B450 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b43c() + { + this.ee.pc = 1225812u; + // @0012B43C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B440 LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012B444 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B448 ADDIU t7, t7, $0040 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 64))); + // @0012B44C BEQL t6, t7, $0012b47c + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1225852u; + // @0012B450 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b454() + { + this.ee.pc = 1225864u; + // @0012B454 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012B458 LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0012B45C LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0012B460 LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0012B464 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012B468 SQ t1, $0010(t6) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012B46C SQ t2, $0020(t6) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012B470 SQ t3, $0030(t6) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012B474 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B478 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B47C SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B480 BEQ t7, zero, $0012b64c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226316u; + } + // @0012B484 SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b488() + { + this.ee.pc = 1225948u; + // @0012B488 LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012B48C SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B490 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B494 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012B498 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012B49C ADDIU t7, t7, $0010 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); + // @0012B4A0 LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012B4A4 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B4A8 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B4AC LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B4B0 VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012B4B4 VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012B4B8 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012B4BC SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B4C0 SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B4C4 SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B4C8 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B4CC LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B4D0 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B4D4 BEQ t7, zero, $0012b640 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226304u; + } + // @0012B4D8 SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b490() + { + this.ee.pc = 1225948u; + // @0012B490 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B494 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012B498 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012B49C ADDIU t7, t7, $0010 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); + // @0012B4A0 LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012B4A4 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B4A8 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B4AC LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B4B0 VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012B4B4 VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012B4B8 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012B4BC SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012B4C0 SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012B4C4 SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012B4C8 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B4CC LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B4D0 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B4D4 BEQ t7, zero, $0012b640 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226304u; + } + // @0012B4D8 SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b4dc() + { + this.ee.pc = 1225976u; + // @0012B4DC LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012B4E0 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B4E4 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B4E8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B4EC SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012B4F0 BEQ t7, zero, $0012b62c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226284u; + } + // @0012B4F4 ADDIU t3, t6, $0030 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012b4e4() + { + this.ee.pc = 1225976u; + // @0012B4E4 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B4E8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B4EC SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012B4F0 BEQ t7, zero, $0012b62c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226284u; + } + // @0012B4F4 ADDIU t3, t6, $0030 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012b4f8() + { + this.ee.pc = 1226000u; + // @0012B4F8 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012B4FC ADDU v0, t7, s3 + this.ee.v0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B500 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B504 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B508 BEQ t7, zero, $0012b620 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226272u; + } + // @0012B50C SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b500() + { + this.ee.pc = 1226000u; + // @0012B500 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B504 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B508 BEQ t7, zero, $0012b620 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226272u; + } + // @0012B50C SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b510() + { + this.ee.pc = 1226092u; + // @0012B510 LW t6, $0028(s5) + MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); + // @0012B514 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B518 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B51C ADDIU t7, t6, $0030 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012B520 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012B524 LQC2 vf1, $0000(v0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); + // @0012B528 LQC2 vf2, $0010(v0) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); + // @0012B52C LQC2 vf3, $0020(v0) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); + // @0012B530 LQC2 vf4, $0030(v0) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); + // @0012B534 VMULAx.xyz ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + // @0012B538 VMADDAy.xyz ACC, vf2, vf5y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); + // @0012B53C VMADDAz.xyz ACC, vf3, vf5z + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); + // @0012B540 VMADDw.xyz vf5, vf4, vf0w + this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); + this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); + this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); + // @0012B544 VMOVE.w vf5, vf0 + this.ee.VF[5].w = this.ee.VF[0].w; + // @0012B548 SQC2 vf5, $0000(t3) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012B54C LW t6, $0220(sp) + MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); + // @0012B550 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B554 LHU a2, $0002(t6) + MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.t6.UL0)); + // @0012B558 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B55C ANDI t5, a2, $ffff + this.ee.t5.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @0012B560 SLT t7, t5, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); + // @0012B564 BEQ t7, zero, $0012b610 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226256u; + } + // @0012B568 DADDU t3, t4, zero + this.ee.t3.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012b518() + { + this.ee.pc = 1226092u; + // @0012B518 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B51C ADDIU t7, t6, $0030 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012B520 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012B524 LQC2 vf1, $0000(v0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); + // @0012B528 LQC2 vf2, $0010(v0) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); + // @0012B52C LQC2 vf3, $0020(v0) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); + // @0012B530 LQC2 vf4, $0030(v0) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); + // @0012B534 VMULAx.xyz ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + // @0012B538 VMADDAy.xyz ACC, vf2, vf5y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); + // @0012B53C VMADDAz.xyz ACC, vf3, vf5z + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); + // @0012B540 VMADDw.xyz vf5, vf4, vf0w + this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); + this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); + this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); + // @0012B544 VMOVE.w vf5, vf0 + this.ee.VF[5].w = this.ee.VF[0].w; + // @0012B548 SQC2 vf5, $0000(t3) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012B54C LW t6, $0220(sp) + MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); + // @0012B550 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B554 LHU a2, $0002(t6) + MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.t6.UL0)); + // @0012B558 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B55C ANDI t5, a2, $ffff + this.ee.t5.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @0012B560 SLT t7, t5, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); + // @0012B564 BEQ t7, zero, $0012b610 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226256u; + } + // @0012B568 DADDU t3, t4, zero + this.ee.t3.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012b56c() + { + this.ee.pc = 1226124u; + // @0012B56C LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012B570 SLL t7, t5, 6 + MobUt.SLL(this.ee.t7, this.ee.t5, 6); + // @0012B574 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B578 LHU t6, $0010(t3) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t3.UL0)); + // @0012B57C ADDIU t2, t7, $0030 + this.ee.t2.SD0 = ((int)((this.ee.t7.SD0 + 48))); + // @0012B580 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B584 BEQ t7, zero, $0012b604 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226244u; + } + // @0012B588 SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b574() + { + this.ee.pc = 1226124u; + // @0012B574 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B578 LHU t6, $0010(t3) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t3.UL0)); + // @0012B57C ADDIU t2, t7, $0030 + this.ee.t2.SD0 = ((int)((this.ee.t7.SD0 + 48))); + // @0012B580 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B584 BEQ t7, zero, $0012b604 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226244u; + } + // @0012B588 SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b58c() + { + this.ee.pc = 1226156u; + // @0012B58C LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012B590 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B594 LHU t5, $0010(t3) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t3.UL0)); + // @0012B598 ADDU t4, t6, t7 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B59C ANDI a2, a2, $ffff + this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @0012B5A0 SLT t7, a2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); + // @0012B5A4 BEQ t7, zero, $0012b5e8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226216u; + } + // @0012B5A8 SLL t7, a2, 4 + MobUt.SLL(this.ee.t7, this.ee.a2, 4); + } + + public virtual void funct0012b594() + { + this.ee.pc = 1226156u; + // @0012B594 LHU t5, $0010(t3) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t3.UL0)); + // @0012B598 ADDU t4, t6, t7 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B59C ANDI a2, a2, $ffff + this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @0012B5A0 SLT t7, a2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); + // @0012B5A4 BEQ t7, zero, $0012b5e8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226216u; + } + // @0012B5A8 SLL t7, a2, 4 + MobUt.SLL(this.ee.t7, this.ee.a2, 4); + } + + public virtual void funct0012b5ac() + { + this.ee.pc = 1226216u; + // @0012B5AC LW t6, $0024(s5) + MobUt.LW(this.ee, this.ee.t6, (36u + this.ee.s5.UL0)); + // @0012B5B0 ADDU a2, t6, t7 + this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B5B4 LQC2 vf5, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); + // @0012B5B8 LQC2 vf1, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); + // @0012B5BC LQC2 vf2, $0010(t4) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t4.UL0)); + // @0012B5C0 LQC2 vf3, $0020(t4) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t4.UL0)); + // @0012B5C4 LQC2 vf4, $0030(t4) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t4.UL0)); + // @0012B5C8 VMULAx.xyz ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + // @0012B5CC VMADDAy.xyz ACC, vf2, vf5y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); + // @0012B5D0 VMADDAz.xyz ACC, vf3, vf5z + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); + // @0012B5D4 VMADDw.xyz vf5, vf4, vf0w + this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); + this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); + this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); + // @0012B5D8 VMOVE.w vf5, vf0 + this.ee.VF[5].w = this.ee.VF[0].w; + // @0012B5DC SQC2 vf5, $0000(t2) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t2.UL0)); + // @0012B5E0 BEQ zero, zero, $00129e60 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220192u; + } + // @0012B5E4 LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + } + + public virtual void funct0012b5b4() + { + this.ee.pc = 1226216u; + // @0012B5B4 LQC2 vf5, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); + // @0012B5B8 LQC2 vf1, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); + // @0012B5BC LQC2 vf2, $0010(t4) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t4.UL0)); + // @0012B5C0 LQC2 vf3, $0020(t4) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t4.UL0)); + // @0012B5C4 LQC2 vf4, $0030(t4) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t4.UL0)); + // @0012B5C8 VMULAx.xyz ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + // @0012B5CC VMADDAy.xyz ACC, vf2, vf5y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); + // @0012B5D0 VMADDAz.xyz ACC, vf3, vf5z + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); + // @0012B5D4 VMADDw.xyz vf5, vf4, vf0w + this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); + this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); + this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); + // @0012B5D8 VMOVE.w vf5, vf0 + this.ee.VF[5].w = this.ee.VF[0].w; + // @0012B5DC SQC2 vf5, $0000(t2) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t2.UL0)); + // @0012B5E0 BEQ zero, zero, $00129e60 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220192u; + } + // @0012B5E4 LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + } + + public virtual void funct0012b5e8() + { + this.ee.pc = 1226244u; + // @0012B5E8 LW t6, $0018(t3) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t3.UL0)); + // @0012B5EC SUBU t7, a2, t5 + this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); + // @0012B5F0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B5F4 ADDU t6, t3, t6 + this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t6.SD0))); + // @0012B5F8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B5FC BEQ zero, zero, $0012b5b4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226164u; + } + // @0012B600 ADDIU a2, t6, $0030 + this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012b604() + { + this.ee.pc = 1226256u; + // @0012B604 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B608 BEQ zero, zero, $0012b594 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226132u; + } + // @0012B60C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b610() + { + this.ee.pc = 1226272u; + // @0012B610 SUBU t7, t5, t6 + this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); + // @0012B614 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B618 BEQ zero, zero, $0012b574 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226100u; + } + // @0012B61C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b620() + { + this.ee.pc = 1226284u; + // @0012B620 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012B624 BEQ zero, zero, $0012b518 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226008u; + } + // @0012B628 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b62c() + { + this.ee.pc = 1226304u; + // @0012B62C SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012B630 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B634 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B638 BEQ zero, zero, $0012b500 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225984u; + } + // @0012B63C ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b640() + { + this.ee.pc = 1226316u; + // @0012B640 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B644 BEQ zero, zero, $0012b4e4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225956u; + } + // @0012B648 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b64c() + { + this.ee.pc = 1226328u; + // @0012B64C LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B650 BEQ zero, zero, $0012b490 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225872u; + } + // @0012B654 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b658() + { + this.ee.pc = 1226340u; + // @0012B658 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B65C BEQ zero, zero, $0012b43c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225788u; + } + // @0012B660 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b664() + { + this.ee.pc = 1226356u; + // @0012B664 SUBU t7, s7, t3 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t3.UD0))); + // @0012B668 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012B66C BEQ zero, zero, $0012b37c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225596u; + } + // @0012B670 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b674() + { + this.ee.pc = 1226380u; + // @0012B674 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012B678 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012B67C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B680 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012B684 BEQ zero, zero, $0012b350 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225552u; + } + // @0012B688 ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b68c() + { + this.ee.pc = 1226392u; + // @0012B68C LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012B690 BEQ zero, zero, $0012b324 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225508u; + } + // @0012B694 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b698() + { + this.ee.pc = 1226408u; + // @0012B698 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B69C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B6A0 BEQ zero, zero, $0012b2f0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225456u; + } + // @0012B6A4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b6a8() + { + this.ee.pc = 1226424u; + // @0012B6A8 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B6AC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B6B0 BEQ zero, zero, $0012b2a4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225380u; + } + // @0012B6B4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b6b8() + { + this.ee.pc = 1226440u; + // @0012B6B8 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B6BC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B6C0 BEQ zero, zero, $0012b258 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225304u; + } + // @0012B6C4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b6c8() + { + this.ee.pc = 1226460u; + // @0012B6C8 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012B6CC LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012B6D0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B6D4 BEQ zero, zero, $0012b1a0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225120u; + } + // @0012B6D8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b6dc() + { + this.ee.pc = 1226476u; + // @0012B6DC LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012B6E0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B6E4 BEQ zero, zero, $0012b170 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1225072u; + } + // @0012B6E8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b7a8() + { + this.ee.pc = 1226692u; + // @0012B7A8 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B7AC LW t3, $0014(s0) + MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); + // @0012B7B0 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B7B4 ADDU t6, t3, s8 + this.ee.t6.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); + // @0012B7B8 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012B7BC BEQ t7, zero, $0012b930 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227056u; + } + // @0012B7C0 SW t6, $0244(sp) + MobUt.SW(this.ee, this.ee.t6, (580u + this.ee.sp.UL0)); + } + + public virtual void funct0012b7c4() + { + this.ee.pc = 1226712u; + // @0012B7C4 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @0012B7C8 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012B7CC LW v0, $0020(t7) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); + // @0012B7D0 JALR ra, v0 + this.ee.ra.UD0 = 1226712u; + this.ee.pc = this.ee.v0.UL0; + // @0012B7D4 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + } + + public virtual void funct0012b7d8() + { + this.ee.pc = 1226764u; + // @0012B7D8 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B7DC ADDU v0, v0, s3 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); + // @0012B7E0 LW t3, $0014(s0) + MobUt.LW(this.ee, this.ee.t3, (20u + this.ee.s0.UL0)); + // @0012B7E4 LW t7, $0244(sp) + MobUt.LW(this.ee, this.ee.t7, (580u + this.ee.sp.UL0)); + // @0012B7E8 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012B7EC LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @0012B7F0 ADDU t7, t3, s8 + this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); + // @0012B7F4 ADDIU t7, t7, $0010 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); + // @0012B7F8 SW t7, $0248(sp) + MobUt.SW(this.ee, this.ee.t7, (584u + this.ee.sp.UL0)); + // @0012B7FC LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B800 SLT t7, s7, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); + // @0012B804 BEQ t7, zero, $0012b918 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227032u; + } + // @0012B808 MUL.S $f20, $f1, $f0 + this.ee.fpr[20].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012b7e4() + { + this.ee.pc = 1226764u; + // @0012B7E4 LW t7, $0244(sp) + MobUt.LW(this.ee, this.ee.t7, (580u + this.ee.sp.UL0)); + // @0012B7E8 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012B7EC LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @0012B7F0 ADDU t7, t3, s8 + this.ee.t7.SD0 = ((int)((this.ee.t3.SD0 + this.ee.s8.SD0))); + // @0012B7F4 ADDIU t7, t7, $0010 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 16))); + // @0012B7F8 SW t7, $0248(sp) + MobUt.SW(this.ee, this.ee.t7, (584u + this.ee.sp.UL0)); + // @0012B7FC LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B800 SLT t7, s7, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); + // @0012B804 BEQ t7, zero, $0012b918 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227032u; + } + // @0012B808 MUL.S $f20, $f1, $f0 + this.ee.fpr[20].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012b80c() + { + this.ee.pc = 1226784u; + // @0012B80C LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @0012B810 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012B814 LW v0, $0020(t7) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); + // @0012B818 JALR ra, v0 + this.ee.ra.UD0 = 1226784u; + this.ee.pc = this.ee.v0.UL0; + // @0012B81C NOP + MobUt.Latency(); + } + + public virtual void funct0012b820() + { + this.ee.pc = 1226824u; + // @0012B820 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B824 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012B828 ADDU v0, v0, t7 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.t7.SD0))); + // @0012B82C LW t3, $0248(sp) + MobUt.LW(this.ee, this.ee.t3, (584u + this.ee.sp.UL0)); + // @0012B830 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012B834 LWC1 $f1, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); + // @0012B838 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B83C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012B840 BEQ t7, zero, $0012b904 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227012u; + } + // @0012B844 MUL.S $f13, $f1, $f0 + this.ee.fpr[13].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012b82c() + { + this.ee.pc = 1226824u; + // @0012B82C LW t3, $0248(sp) + MobUt.LW(this.ee, this.ee.t3, (584u + this.ee.sp.UL0)); + // @0012B830 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012B834 LWC1 $f1, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); + // @0012B838 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B83C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012B840 BEQ t7, zero, $0012b904 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227012u; + } + // @0012B844 MUL.S $f13, $f1, $f0 + this.ee.fpr[13].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012b848() + { + this.ee.pc = 1226848u; + // @0012B848 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012B84C ADDU a3, t7, s3 + this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012B850 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B854 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B858 BEQ t7, zero, $0012b8f8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227000u; + } + // @0012B85C SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b850() + { + this.ee.pc = 1226848u; + // @0012B850 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012B854 SLT t7, s7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t6.SD0)); + // @0012B858 BEQ t7, zero, $0012b8f8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227000u; + } + // @0012B85C SUBU t7, s7, t6 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012b860() + { + this.ee.pc = 1226876u; + // @0012B860 LW t6, $0028(s5) + MobUt.LW(this.ee, this.ee.t6, (40u + this.ee.s5.UL0)); + // @0012B864 SLL t7, s7, 6 + MobUt.SLL(this.ee.t7, this.ee.s7, 6); + // @0012B868 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B86C ADDU t0, t6, t7 + this.ee.t0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B870 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012B874 BEQL t7, zero, $0012b8e0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226976u; + // @0012B878 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b868() + { + this.ee.pc = 1226876u; + // @0012B868 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B86C ADDU t0, t6, t7 + this.ee.t0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B870 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012B874 BEQL t7, zero, $0012b8e0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226976u; + // @0012B878 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012b87c() + { + this.ee.pc = 1226900u; + // @0012B87C LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012B880 ADDU t3, t7, s8 + this.ee.t3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012B884 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B888 SLT t7, s7, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); + // @0012B88C BEQ t7, zero, $0012b8c4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226948u; + } + // @0012B890 SLL t7, s7, 4 + MobUt.SLL(this.ee.t7, this.ee.s7, 4); + } + + public virtual void funct0012b884() + { + this.ee.pc = 1226900u; + // @0012B884 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012B888 SLT t7, s7, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s7.SD0 < this.ee.t5.SD0)); + // @0012B88C BEQ t7, zero, $0012b8c4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226948u; + } + // @0012B890 SLL t7, s7, 4 + MobUt.SLL(this.ee.t7, this.ee.s7, 4); + } + + public virtual void funct0012b894() + { + this.ee.pc = 1226948u; + // @0012B894 LW t6, $0020(s5) + MobUt.LW(this.ee, this.ee.t6, (32u + this.ee.s5.UL0)); + // @0012B898 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B89C LW t4, $024c(sp) + MobUt.LW(this.ee, this.ee.t4, (588u + this.ee.sp.UL0)); + // @0012B8A0 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @0012B8A4 LWC1 $f14, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t3.UL0)); + // @0012B8A8 ADDIU a0, sp, $00a0 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012B8AC ANDI a2, t4, $0003 + this.ee.a2.UD0 = ((ushort)((this.ee.t4.US0 & 3))); + // @0012B8B0 LWC1 $f15, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[15], (0u + this.ee.t6.UL0)); + // @0012B8B4 ADDIU a2, a2, $fffe + this.ee.a2.SD0 = ((int)((this.ee.a2.SD0 + -2))); + // @0012B8B8 ADDIU a1, sp, $00b0 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @0012B8BC BEQ zero, zero, $0012b100 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1224960u; + } + // @0012B8C0 DADDU t1, zero, zero + this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012b89c() + { + this.ee.pc = 1226948u; + // @0012B89C LW t4, $024c(sp) + MobUt.LW(this.ee, this.ee.t4, (588u + this.ee.sp.UL0)); + // @0012B8A0 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @0012B8A4 LWC1 $f14, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t3.UL0)); + // @0012B8A8 ADDIU a0, sp, $00a0 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012B8AC ANDI a2, t4, $0003 + this.ee.a2.UD0 = ((ushort)((this.ee.t4.US0 & 3))); + // @0012B8B0 LWC1 $f15, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[15], (0u + this.ee.t6.UL0)); + // @0012B8B4 ADDIU a2, a2, $fffe + this.ee.a2.SD0 = ((int)((this.ee.a2.SD0 + -2))); + // @0012B8B8 ADDIU a1, sp, $00b0 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @0012B8BC BEQ zero, zero, $0012b100 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1224960u; + } + // @0012B8C0 DADDU t1, zero, zero + this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012b8c4() + { + this.ee.pc = 1226976u; + // @0012B8C4 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012B8C8 SUBU t7, s7, t5 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t5.UD0))); + // @0012B8CC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B8D0 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012B8D4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B8D8 BEQ zero, zero, $0012b89c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226908u; + } + // @0012B8DC ADDIU t6, t6, $0020 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012b8e0() + { + this.ee.pc = 1227000u; + // @0012B8E0 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012B8E4 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B8E8 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012B8EC ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B8F0 BEQ zero, zero, $0012b884 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226884u; + } + // @0012B8F4 ADDIU t3, t6, $0020 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012b8f8() + { + this.ee.pc = 1227012u; + // @0012B8F8 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012B8FC BEQ zero, zero, $0012b868 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226856u; + } + // @0012B900 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012b904() + { + this.ee.pc = 1227032u; + // @0012B904 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + // @0012B908 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012B90C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B910 BEQ zero, zero, $0012b850 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226832u; + } + // @0012B914 ADDU a3, t6, t7 + this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b918() + { + this.ee.pc = 1227056u; + // @0012B918 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012B91C SUBU t7, s7, t5 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t5.UD0))); + // @0012B920 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B924 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012B928 BEQ zero, zero, $0012b82c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226796u; + } + // @0012B92C ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b930() + { + this.ee.pc = 1227084u; + // @0012B930 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012B934 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012B938 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B93C SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012B940 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012B944 BEQ zero, zero, $0012b7e4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1226724u; + } + // @0012B948 ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b97c() + { + this.ee.pc = 1227148u; + // @0012B97C LW t6, $0000(a0) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.a0.UL0)); + // @0012B980 LW t7, $0014(t6) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.t6.UL0)); + // @0012B984 JALR ra, t7 + this.ee.ra.UD0 = 1227148u; + this.ee.pc = this.ee.t7.UL0; + // @0012B988 ADDIU a1, s3, $ffe0 + this.ee.a1.SD0 = ((int)((this.ee.s3.SD0 + -32))); + } + + public virtual void funct0012b98c() + { + this.ee.pc = 1227156u; + // @0012B98C BEQ zero, zero, $0012acb8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223864u; + } + // @0012B990 MOV.S $f20, $f0 + this.ee.fpr[20].f = this.ee.fpr[0].f; + } + + public virtual void funct0012b998() + { + this.ee.pc = 1227184u; + // @0012B998 ADDIU t7, t7, $0020 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 32))); + // @0012B99C SW t7, $0224(sp) + MobUt.SW(this.ee, this.ee.t7, (548u + this.ee.sp.UL0)); + // @0012B9A0 LD t5, $0010(t7) + MobUt.LD(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); + // @0012B9A4 AND t7, t5, t4 + this.ee.t7.UD0 = (this.ee.t5.UD0 & this.ee.t4.UD0); + // @0012B9A8 BEQL t7, zero, $0012ac68 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223784u; + // @0012B9AC LW t3, $0224(sp) + MobUt.LW(this.ee, this.ee.t3, (548u + this.ee.sp.UL0)); + } + } + + public virtual void funct0012b9b0() + { + this.ee.pc = 1227192u; + // @0012B9B0 BEQ zero, zero, $0012acd8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223896u; + } + // @0012B9B4 LW t3, $0228(sp) + MobUt.LW(this.ee, this.ee.t3, (552u + this.ee.sp.UL0)); + } + + public virtual void funct0012b9b8() + { + this.ee.pc = 1227220u; + // @0012B9B8 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + // @0012B9BC SUBU t7, s7, t2 + this.ee.t7.SD0 = ((int)((this.ee.s7.UD0 - this.ee.t2.UD0))); + // @0012B9C0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B9C4 ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012B9C8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012B9CC BEQ zero, zero, $0012abf0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223664u; + } + // @0012B9D0 ADDIU t6, t6, $0010 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct0012b9d4() + { + this.ee.pc = 1227244u; + // @0012B9D4 SUBU t7, t4, t6 + this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t6.UD0))); + // @0012B9D8 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012B9DC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B9E0 SW t5, $0250(sp) + MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); + // @0012B9E4 BEQ zero, zero, $0012aa7c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223292u; + } + // @0012B9E8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012b9ec() + { + this.ee.pc = 1227272u; + // @0012B9EC LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012B9F0 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012B9F4 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012B9F8 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012B9FC ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012BA00 BEQ zero, zero, $0012aa38 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223224u; + } + // @0012BA04 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012ba08() + { + this.ee.pc = 1227284u; + // @0012BA08 ADDIU t7, zero, $ffff + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @0012BA0C BNE a2, t7, $0012ba40 + if ((this.ee.a2.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1227328u; + } + // @0012BA10 LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012ba14() + { + this.ee.pc = 1227292u; + // @0012BA14 BNE a3, a2, $0012ba40 + if ((this.ee.a3.UD0 != this.ee.a2.UD0)) + { + this.ee.pc = 1227328u; + } + // @0012BA18 LW t7, $0218(sp) + MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012ba1c() + { + this.ee.pc = 1227300u; + // @0012BA1C BNE t7, zero, $0012ba40 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1227328u; + } + // @0012BA20 LUI t7, $000c + this.ee.t7.SD0 = 786432; + } + + public virtual void funct0012ba24() + { + this.ee.pc = 1227312u; + // @0012BA24 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012BA28 BNE t7, zero, $0012ba40 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1227328u; + } + // @0012BA2C NOP + MobUt.Latency(); + } + + public virtual void funct0012ba30() + { + this.ee.pc = 1227320u; + // @0012BA30 BNE v0, zero, $0012ba40 + if ((this.ee.v0.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1227328u; + } + // @0012BA34 LW t3, $021c(sp) + MobUt.LW(this.ee, this.ee.t3, (540u + this.ee.sp.UL0)); + } + + public virtual void funct0012ba38() + { + this.ee.pc = 1227328u; + // @0012BA38 BEQ t3, zero, $0012bb34 + if ((this.ee.t3.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227572u; + } + // @0012BA3C LUI t7, $0004 + this.ee.t7.SD0 = 262144; + } + + public virtual void funct0012ba40() + { + this.ee.pc = 1227336u; + // @0012BA40 BGEZL t4, $0012ca88 + if ((this.ee.t4.SD0 >= 0)) + { + this.ee.pc = 1231496u; + // @0012BA44 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012ba48() + { + this.ee.pc = 1227348u; + // @0012BA48 ADDIU a1, sp, $0040 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012BA4C BEQ a1, sp, $0012ba74 + if ((this.ee.a1.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1227380u; + } + // @0012BA50 NOP + MobUt.Latency(); + } + + public virtual void funct0012ba54() + { + this.ee.pc = 1227584u; + // @0012BA54 LQ t0, $0000(sp) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @0012BA58 LQ t1, $0010(sp) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.sp.UL[0])); + // @0012BA5C LQ t2, $0020(sp) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.sp.UL[0])); + // @0012BA60 LQ t3, $0030(sp) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.sp.UL[0])); + // @0012BA64 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012BA68 SQ t1, $0010(a1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012BA6C SQ t2, $0020(a1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012BA70 SQ t3, $0030(a1) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); + // @0012BA74 LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @0012BA78 LQC2 vf2, $0010(a1) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); + // @0012BA7C LQC2 vf3, $0020(a1) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); + // @0012BA80 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BA84 VOPMULA.xyz ACC, vf2, vf3 + this.ee.Vacc.x = (this.ee.VF[2].y * this.ee.VF[3].z); + this.ee.Vacc.y = (this.ee.VF[2].z * this.ee.VF[3].x); + this.ee.Vacc.z = (this.ee.VF[2].x * this.ee.VF[3].y); + // @0012BA88 VOPMSUB.xyz vf5, vf3, vf2 + this.ee.VF[5].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[3].y, this.ee.VF[2].z); + this.ee.VF[5].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[3].z, this.ee.VF[2].x); + this.ee.VF[5].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[3].x, this.ee.VF[2].y); + // @0012BA8C VOPMULA.xyz ACC, vf3, vf1 + this.ee.Vacc.x = (this.ee.VF[3].y * this.ee.VF[1].z); + this.ee.Vacc.y = (this.ee.VF[3].z * this.ee.VF[1].x); + this.ee.Vacc.z = (this.ee.VF[3].x * this.ee.VF[1].y); + // @0012BA90 VOPMSUB.xyz vf6, vf1, vf3 + this.ee.VF[6].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[1].y, this.ee.VF[3].z); + this.ee.VF[6].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[1].z, this.ee.VF[3].x); + this.ee.VF[6].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[1].x, this.ee.VF[3].y); + // @0012BA94 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @0012BA98 VOPMSUB.xyz vf7, vf2, vf1 + this.ee.VF[7].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[7].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[7].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @0012BA9C VMUL.xyz vf8, vf1, vf5 + this.ee.VF[8].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[5].x); + this.ee.VF[8].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[5].y); + this.ee.VF[8].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[5].z); + // @0012BAA0 VMUL.xyz vf1, vf4, vf5 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[5].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[5].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[5].z); + // @0012BAA4 VMUL.xyz vf2, vf4, vf6 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[6].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[6].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[6].z); + // @0012BAA8 VMUL.xyz vf3, vf4, vf7 + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[7].x); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[7].y); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[7].z); + // @0012BAAC VADDy.x vf8, vf8, vf8y + this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].y); + // @0012BAB0 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @0012BAB4 VADDx.y vf2, vf2, vf2x + this.ee.VF[2].y = (this.ee.VF[2].y + this.ee.VF[2].x); + // @0012BAB8 VADDx.z vf3, vf3, vf3x + this.ee.VF[3].z = (this.ee.VF[3].z + this.ee.VF[3].x); + // @0012BABC VADDz.x vf8, vf8, vf8z + this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].z); + // @0012BAC0 VADDz.x vf4, vf1, vf1z + this.ee.VF[4].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @0012BAC4 VADDz.y vf4, vf2, vf2z + this.ee.VF[4].y = (this.ee.VF[2].y + this.ee.VF[2].z); + // @0012BAC8 VADDy.z vf4, vf3, vf3y + this.ee.VF[4].z = (this.ee.VF[3].z + this.ee.VF[3].y); + // @0012BACC VDIV Q, vf0w, vf8x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[8].x); + // @0012BAD0 QMFC2 t0, vf5 + MobUt.QMFC2(this.ee.t0, this.ee.VF[5]); + // @0012BAD4 QMFC2 t1, vf6 + MobUt.QMFC2(this.ee.t1, this.ee.VF[6]); + // @0012BAD8 QMFC2 t2, vf7 + MobUt.QMFC2(this.ee.t2, this.ee.VF[7]); + // @0012BADC QMFC2 t3, vf0 + MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); + // @0012BAE0 PEXTLW t4, t1, t0 + this.ee.t4.UL[0] = this.ee.t0.UL[0]; + this.ee.t4.UL[1] = this.ee.t1.UL[0]; + this.ee.t4.UL[2] = this.ee.t0.UL[1]; + this.ee.t4.UL[3] = this.ee.t1.UL[1]; + // @0012BAE4 PEXTUW t5, t1, t0 + this.ee.t5.UL[0] = this.ee.t0.UL[2]; + this.ee.t5.UL[1] = this.ee.t1.UL[2]; + this.ee.t5.UL[2] = this.ee.t0.UL[3]; + this.ee.t5.UL[3] = this.ee.t1.UL[3]; + // @0012BAE8 PEXTLW t6, t3, t2 + this.ee.t6.UL[0] = this.ee.t2.UL[0]; + this.ee.t6.UL[1] = this.ee.t3.UL[0]; + this.ee.t6.UL[2] = this.ee.t2.UL[1]; + this.ee.t6.UL[3] = this.ee.t3.UL[1]; + // @0012BAEC PEXTUW t7, t3, t2 + this.ee.t7.UL[0] = this.ee.t2.UL[2]; + this.ee.t7.UL[1] = this.ee.t3.UL[2]; + this.ee.t7.UL[2] = this.ee.t2.UL[3]; + this.ee.t7.UL[3] = this.ee.t3.UL[3]; + // @0012BAF0 PCPYLD t0, t6, t4 + this.ee.t0.UD1 = this.ee.t6.UD0; + this.ee.t0.UD0 = this.ee.t4.UD0; + // @0012BAF4 PCPYUD t1, t4, t6 + this.ee.t1.UD0 = this.ee.t4.UD1; + this.ee.t1.UD1 = this.ee.t6.UD1; + // @0012BAF8 PCPYLD t2, t7, t5 + this.ee.t2.UD1 = this.ee.t7.UD0; + this.ee.t2.UD0 = this.ee.t5.UD0; + // @0012BAFC QMTC2 t0, vf1 + MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); + // @0012BB00 QMTC2 t1, vf2 + MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); + // @0012BB04 QMTC2 t2, vf3 + MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); + // @0012BB08 VSUB.xyz vf4, vf0, vf4 + this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); + this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); + this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); + // @0012BB0C VWAITQ + MobUt.Latency(); + // @0012BB10 VMULq.xyzw vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + this.ee.VF[1].w = (this.ee.VF[1].w * this.ee.Vq.f); + // @0012BB14 VMULq.xyzw vf2, vf2, Q + this.ee.VF[2].x = (this.ee.VF[2].x * this.ee.Vq.f); + this.ee.VF[2].y = (this.ee.VF[2].y * this.ee.Vq.f); + this.ee.VF[2].z = (this.ee.VF[2].z * this.ee.Vq.f); + this.ee.VF[2].w = (this.ee.VF[2].w * this.ee.Vq.f); + // @0012BB18 VMULq.xyzw vf3, vf3, Q + this.ee.VF[3].x = (this.ee.VF[3].x * this.ee.Vq.f); + this.ee.VF[3].y = (this.ee.VF[3].y * this.ee.Vq.f); + this.ee.VF[3].z = (this.ee.VF[3].z * this.ee.Vq.f); + this.ee.VF[3].w = (this.ee.VF[3].w * this.ee.Vq.f); + // @0012BB1C VMULq.xyz vf4, vf4, Q + this.ee.VF[4].x = (this.ee.VF[4].x * this.ee.Vq.f); + this.ee.VF[4].y = (this.ee.VF[4].y * this.ee.Vq.f); + this.ee.VF[4].z = (this.ee.VF[4].z * this.ee.Vq.f); + // @0012BB20 SQC2 vf1, $0000(a1) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @0012BB24 SQC2 vf2, $0010(a1) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); + // @0012BB28 SQC2 vf3, $0020(a1) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); + // @0012BB2C SQC2 vf4, $0030(a1) + MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BB30 LUI t7, $0004 + this.ee.t7.SD0 = 262144; + // @0012BB34 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012BB38 BEQ t7, zero, $0012c738 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230648u; + } + // @0012BB3C ADDIU t7, zero, $ffff + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); + } + + public virtual void funct0012ba74() + { + this.ee.pc = 1227584u; + // @0012BA74 LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @0012BA78 LQC2 vf2, $0010(a1) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); + // @0012BA7C LQC2 vf3, $0020(a1) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); + // @0012BA80 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BA84 VOPMULA.xyz ACC, vf2, vf3 + this.ee.Vacc.x = (this.ee.VF[2].y * this.ee.VF[3].z); + this.ee.Vacc.y = (this.ee.VF[2].z * this.ee.VF[3].x); + this.ee.Vacc.z = (this.ee.VF[2].x * this.ee.VF[3].y); + // @0012BA88 VOPMSUB.xyz vf5, vf3, vf2 + this.ee.VF[5].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[3].y, this.ee.VF[2].z); + this.ee.VF[5].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[3].z, this.ee.VF[2].x); + this.ee.VF[5].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[3].x, this.ee.VF[2].y); + // @0012BA8C VOPMULA.xyz ACC, vf3, vf1 + this.ee.Vacc.x = (this.ee.VF[3].y * this.ee.VF[1].z); + this.ee.Vacc.y = (this.ee.VF[3].z * this.ee.VF[1].x); + this.ee.Vacc.z = (this.ee.VF[3].x * this.ee.VF[1].y); + // @0012BA90 VOPMSUB.xyz vf6, vf1, vf3 + this.ee.VF[6].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[1].y, this.ee.VF[3].z); + this.ee.VF[6].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[1].z, this.ee.VF[3].x); + this.ee.VF[6].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[1].x, this.ee.VF[3].y); + // @0012BA94 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @0012BA98 VOPMSUB.xyz vf7, vf2, vf1 + this.ee.VF[7].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[7].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[7].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @0012BA9C VMUL.xyz vf8, vf1, vf5 + this.ee.VF[8].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[5].x); + this.ee.VF[8].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[5].y); + this.ee.VF[8].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[5].z); + // @0012BAA0 VMUL.xyz vf1, vf4, vf5 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[5].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[5].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[5].z); + // @0012BAA4 VMUL.xyz vf2, vf4, vf6 + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[6].x); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[6].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[6].z); + // @0012BAA8 VMUL.xyz vf3, vf4, vf7 + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[7].x); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[7].y); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[7].z); + // @0012BAAC VADDy.x vf8, vf8, vf8y + this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].y); + // @0012BAB0 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @0012BAB4 VADDx.y vf2, vf2, vf2x + this.ee.VF[2].y = (this.ee.VF[2].y + this.ee.VF[2].x); + // @0012BAB8 VADDx.z vf3, vf3, vf3x + this.ee.VF[3].z = (this.ee.VF[3].z + this.ee.VF[3].x); + // @0012BABC VADDz.x vf8, vf8, vf8z + this.ee.VF[8].x = (this.ee.VF[8].x + this.ee.VF[8].z); + // @0012BAC0 VADDz.x vf4, vf1, vf1z + this.ee.VF[4].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @0012BAC4 VADDz.y vf4, vf2, vf2z + this.ee.VF[4].y = (this.ee.VF[2].y + this.ee.VF[2].z); + // @0012BAC8 VADDy.z vf4, vf3, vf3y + this.ee.VF[4].z = (this.ee.VF[3].z + this.ee.VF[3].y); + // @0012BACC VDIV Q, vf0w, vf8x + this.ee.Vq.f = (this.ee.VF[0].w / this.ee.VF[8].x); + // @0012BAD0 QMFC2 t0, vf5 + MobUt.QMFC2(this.ee.t0, this.ee.VF[5]); + // @0012BAD4 QMFC2 t1, vf6 + MobUt.QMFC2(this.ee.t1, this.ee.VF[6]); + // @0012BAD8 QMFC2 t2, vf7 + MobUt.QMFC2(this.ee.t2, this.ee.VF[7]); + // @0012BADC QMFC2 t3, vf0 + MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); + // @0012BAE0 PEXTLW t4, t1, t0 + this.ee.t4.UL[0] = this.ee.t0.UL[0]; + this.ee.t4.UL[1] = this.ee.t1.UL[0]; + this.ee.t4.UL[2] = this.ee.t0.UL[1]; + this.ee.t4.UL[3] = this.ee.t1.UL[1]; + // @0012BAE4 PEXTUW t5, t1, t0 + this.ee.t5.UL[0] = this.ee.t0.UL[2]; + this.ee.t5.UL[1] = this.ee.t1.UL[2]; + this.ee.t5.UL[2] = this.ee.t0.UL[3]; + this.ee.t5.UL[3] = this.ee.t1.UL[3]; + // @0012BAE8 PEXTLW t6, t3, t2 + this.ee.t6.UL[0] = this.ee.t2.UL[0]; + this.ee.t6.UL[1] = this.ee.t3.UL[0]; + this.ee.t6.UL[2] = this.ee.t2.UL[1]; + this.ee.t6.UL[3] = this.ee.t3.UL[1]; + // @0012BAEC PEXTUW t7, t3, t2 + this.ee.t7.UL[0] = this.ee.t2.UL[2]; + this.ee.t7.UL[1] = this.ee.t3.UL[2]; + this.ee.t7.UL[2] = this.ee.t2.UL[3]; + this.ee.t7.UL[3] = this.ee.t3.UL[3]; + // @0012BAF0 PCPYLD t0, t6, t4 + this.ee.t0.UD1 = this.ee.t6.UD0; + this.ee.t0.UD0 = this.ee.t4.UD0; + // @0012BAF4 PCPYUD t1, t4, t6 + this.ee.t1.UD0 = this.ee.t4.UD1; + this.ee.t1.UD1 = this.ee.t6.UD1; + // @0012BAF8 PCPYLD t2, t7, t5 + this.ee.t2.UD1 = this.ee.t7.UD0; + this.ee.t2.UD0 = this.ee.t5.UD0; + // @0012BAFC QMTC2 t0, vf1 + MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); + // @0012BB00 QMTC2 t1, vf2 + MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); + // @0012BB04 QMTC2 t2, vf3 + MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); + // @0012BB08 VSUB.xyz vf4, vf0, vf4 + this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); + this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); + this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); + // @0012BB0C VWAITQ + MobUt.Latency(); + // @0012BB10 VMULq.xyzw vf1, vf1, Q + this.ee.VF[1].x = (this.ee.VF[1].x * this.ee.Vq.f); + this.ee.VF[1].y = (this.ee.VF[1].y * this.ee.Vq.f); + this.ee.VF[1].z = (this.ee.VF[1].z * this.ee.Vq.f); + this.ee.VF[1].w = (this.ee.VF[1].w * this.ee.Vq.f); + // @0012BB14 VMULq.xyzw vf2, vf2, Q + this.ee.VF[2].x = (this.ee.VF[2].x * this.ee.Vq.f); + this.ee.VF[2].y = (this.ee.VF[2].y * this.ee.Vq.f); + this.ee.VF[2].z = (this.ee.VF[2].z * this.ee.Vq.f); + this.ee.VF[2].w = (this.ee.VF[2].w * this.ee.Vq.f); + // @0012BB18 VMULq.xyzw vf3, vf3, Q + this.ee.VF[3].x = (this.ee.VF[3].x * this.ee.Vq.f); + this.ee.VF[3].y = (this.ee.VF[3].y * this.ee.Vq.f); + this.ee.VF[3].z = (this.ee.VF[3].z * this.ee.Vq.f); + this.ee.VF[3].w = (this.ee.VF[3].w * this.ee.Vq.f); + // @0012BB1C VMULq.xyz vf4, vf4, Q + this.ee.VF[4].x = (this.ee.VF[4].x * this.ee.Vq.f); + this.ee.VF[4].y = (this.ee.VF[4].y * this.ee.Vq.f); + this.ee.VF[4].z = (this.ee.VF[4].z * this.ee.Vq.f); + // @0012BB20 SQC2 vf1, $0000(a1) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @0012BB24 SQC2 vf2, $0010(a1) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); + // @0012BB28 SQC2 vf3, $0020(a1) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); + // @0012BB2C SQC2 vf4, $0030(a1) + MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BB30 LUI t7, $0004 + this.ee.t7.SD0 = 262144; + // @0012BB34 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012BB38 BEQ t7, zero, $0012c738 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230648u; + } + // @0012BB3C ADDIU t7, zero, $ffff + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); + } + + public virtual void funct0012bb34() + { + this.ee.pc = 1227584u; + // @0012BB34 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012BB38 BEQ t7, zero, $0012c738 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230648u; + } + // @0012BB3C ADDIU t7, zero, $ffff + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); + } + + public virtual void funct0012bb40() + { + this.ee.pc = 1227604u; + // @0012BB40 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + // @0012BB44 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012BB48 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BB4C BEQ t7, zero, $0012c720 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230624u; + } + // @0012BB50 ADDIU t5, sp, $0080 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); + } + + public virtual void funct0012bb54() + { + this.ee.pc = 1227628u; + // @0012BB54 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012BB58 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012BB5C ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BB60 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012BB64 BEQL t5, t6, $0012bb78 + if ((this.ee.t5.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1227640u; + // @0012BB68 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + } + + public virtual void funct0012bb60() + { + this.ee.pc = 1227628u; + // @0012BB60 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012BB64 BEQL t5, t6, $0012bb78 + if ((this.ee.t5.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1227640u; + // @0012BB68 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + } + + public virtual void funct0012bb6c() + { + this.ee.pc = 1227712u; + // @0012BB6C LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012BB70 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012BB74 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @0012BB78 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012BB7C ADDIU t6, t6, $8364 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31900))); + // @0012BB80 ADDIU t4, sp, $0090 + this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012BB84 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @0012BB88 ADDIU t7, sp, $0040 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012BB8C SWC1 $f0, $008c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); + // @0012BB90 LQC2 vf5, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); + // @0012BB94 LQC2 vf1, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t7.UL0)); + // @0012BB98 LQC2 vf2, $0010(t7) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t7.UL0)); + // @0012BB9C LQC2 vf3, $0020(t7) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t7.UL0)); + // @0012BBA0 LQC2 vf4, $0030(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t7.UL0)); + // @0012BBA4 VMULAx.xyzw ACC, vf1, vf5x + // @0012BBA8 VMADDAy.xyzw ACC, vf2, vf5y + // @0012BBAC VMADDAz.xyzw ACC, vf3, vf5z + // @0012BBB0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012BBB4 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012BBB8 BEQL t4, t8, $0012bbcc + if ((this.ee.t4.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1227724u; + // @0012BBBC SWC1 $f0, $009c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); + } + } + + public virtual void funct0012bbc0() + { + this.ee.pc = 1227736u; + // @0012BBC0 LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012BBC4 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012BBC8 SWC1 $f0, $009c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); + // @0012BBCC LW t5, $0218(sp) + MobUt.LW(this.ee, this.ee.t5, (536u + this.ee.sp.UL0)); + // @0012BBD0 BEQ t5, zero, $0012c3e4 + if ((this.ee.t5.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229796u; + } + // @0012BBD4 ADDIU t7, zero, $0003 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); + } + + public virtual void funct0012bbcc() + { + this.ee.pc = 1227736u; + // @0012BBCC LW t5, $0218(sp) + MobUt.LW(this.ee, this.ee.t5, (536u + this.ee.sp.UL0)); + // @0012BBD0 BEQ t5, zero, $0012c3e4 + if ((this.ee.t5.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229796u; + } + // @0012BBD4 ADDIU t7, zero, $0003 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); + } + + public virtual void funct0012bbd8() + { + this.ee.pc = 1227752u; + // @0012BBD8 LBU t6, $0000(t5) + MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.t5.UL0)); + // @0012BBDC ANDI t5, t6, $00ff + this.ee.t5.UD0 = ((ushort)((this.ee.t6.US0 & 255))); + // @0012BBE0 BEQ t5, t7, $0012bf98 + if ((this.ee.t5.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1228696u; + } + // @0012BBE4 SLTI t7, t5, $0004 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < 4)); + } + + public virtual void funct0012bbe8() + { + this.ee.pc = 1227760u; + // @0012BBE8 BEQ t7, zero, $0012bf8c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228684u; + } + // @0012BBEC ADDIU t7, zero, $0002 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); + } + + public virtual void funct0012bbf0() + { + this.ee.pc = 1227768u; + // @0012BBF0 BEQ t5, t7, $0012bf48 + if ((this.ee.t5.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1228616u; + } + // @0012BBF4 LW t6, $0218(sp) + MobUt.LW(this.ee, this.ee.t6, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012bbfc() + { + this.ee.pc = 1227792u; + // @0012BBFC LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012BC00 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012BC04 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BC08 BEQ t7, zero, $0012bf38 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228600u; + } + // @0012BC0C SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012bc10() + { + this.ee.pc = 1227812u; + // @0012BC10 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012BC14 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BC18 ADDU t5, t5, s3 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); + // @0012BC1C BEQL t6, t5, $0012bc4c + if ((this.ee.t6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1227852u; + // @0012BC20 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012bc18() + { + this.ee.pc = 1227812u; + // @0012BC18 ADDU t5, t5, s3 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); + // @0012BC1C BEQL t6, t5, $0012bc4c + if ((this.ee.t6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1227852u; + // @0012BC20 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012bc24() + { + this.ee.pc = 1227864u; + // @0012BC24 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012BC28 LQ t1, $0010(t5) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); + // @0012BC2C LQ t2, $0020(t5) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); + // @0012BC30 LQ t3, $0030(t5) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); + // @0012BC34 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012BC38 SQ t1, $0010(t6) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012BC3C SQ t2, $0020(t6) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012BC40 SQ t3, $0030(t6) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012BC44 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012BC48 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012BC4C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BC50 BEQ t7, zero, $0012bf28 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228584u; + } + // @0012BC54 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012bc58() + { + this.ee.pc = 1227940u; + // @0012BC58 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012BC5C ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BC60 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012BC64 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012BC68 LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012BC6C LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012BC70 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012BC74 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012BC78 VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012BC7C VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012BC80 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012BC84 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012BC88 SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012BC8C SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012BC90 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + // @0012BC94 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012BC98 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BC9C BEQ t7, zero, $0012bf18 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228568u; + } + // @0012BCA0 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012bc60() + { + this.ee.pc = 1227940u; + // @0012BC60 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012BC64 ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012BC68 LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012BC6C LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012BC70 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012BC74 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012BC78 VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012BC7C VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012BC80 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012BC84 SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012BC88 SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012BC8C SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012BC90 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + // @0012BC94 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012BC98 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BC9C BEQ t7, zero, $0012bf18 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228568u; + } + // @0012BCA0 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012bca4() + { + this.ee.pc = 1227964u; + // @0012BCA4 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012BCA8 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BCAC ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012BCB0 ADDIU t7, sp, $0080 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012BCB4 BEQ t6, t7, $0012bcc8 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1227976u; + } + // @0012BCB8 LW t3, $0218(sp) + MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012bcac() + { + this.ee.pc = 1227964u; + // @0012BCAC ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012BCB0 ADDIU t7, sp, $0080 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012BCB4 BEQ t6, t7, $0012bcc8 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1227976u; + } + // @0012BCB8 LW t3, $0218(sp) + MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012bcbc() + { + this.ee.pc = 1227984u; + // @0012BCBC LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012BCC0 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012BCC4 LW t3, $0218(sp) + MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); + // @0012BCC8 BNE t3, zero, $0012bce0 + if ((this.ee.t3.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1228000u; + } + // @0012BCCC LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012bcd0() + { + this.ee.pc = 1228000u; + // @0012BCD0 LUI t7, $0008 + this.ee.t7.SD0 = 524288; + // @0012BCD4 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012BCD8 BEQ t7, zero, $00129e60 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220192u; + } + // @0012BCDC LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + } + + public virtual void funct0012bce0() + { + this.ee.pc = 1228008u; + // @0012BCE0 BGEZ t4, $0012bed8 + if ((this.ee.t4.SD0 >= 0)) + { + this.ee.pc = 1228504u; + } + // @0012BCE4 LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012bce8() + { + this.ee.pc = 1228020u; + // @0012BCE8 ADDIU a1, sp, $0040 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012BCEC BEQ a1, sp, $0012bd14 + if ((this.ee.a1.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1228052u; + } + // @0012BCF0 NOP + MobUt.Latency(); + } + + public virtual void funct0012bcf4() + { + this.ee.pc = 1228164u; + // @0012BCF4 LQ t0, $0000(sp) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @0012BCF8 LQ t1, $0010(sp) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.sp.UL[0])); + // @0012BCFC LQ t2, $0020(sp) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.sp.UL[0])); + // @0012BD00 LQ t3, $0030(sp) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.sp.UL[0])); + // @0012BD04 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012BD08 SQ t1, $0010(a1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012BD0C SQ t2, $0020(a1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012BD10 SQ t3, $0030(a1) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); + // @0012BD14 LQ t0, $0000(a1) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012BD18 LQ t1, $0010(a1) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012BD1C LQ t2, $0020(a1) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012BD20 QMFC2 t3, vf0 + MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); + // @0012BD24 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BD28 PEXTLW t4, t1, t0 + this.ee.t4.UL[0] = this.ee.t0.UL[0]; + this.ee.t4.UL[1] = this.ee.t1.UL[0]; + this.ee.t4.UL[2] = this.ee.t0.UL[1]; + this.ee.t4.UL[3] = this.ee.t1.UL[1]; + // @0012BD2C PEXTUW t5, t1, t0 + this.ee.t5.UL[0] = this.ee.t0.UL[2]; + this.ee.t5.UL[1] = this.ee.t1.UL[2]; + this.ee.t5.UL[2] = this.ee.t0.UL[3]; + this.ee.t5.UL[3] = this.ee.t1.UL[3]; + // @0012BD30 PEXTLW t6, t3, t2 + this.ee.t6.UL[0] = this.ee.t2.UL[0]; + this.ee.t6.UL[1] = this.ee.t3.UL[0]; + this.ee.t6.UL[2] = this.ee.t2.UL[1]; + this.ee.t6.UL[3] = this.ee.t3.UL[1]; + // @0012BD34 PEXTUW t7, t3, t2 + this.ee.t7.UL[0] = this.ee.t2.UL[2]; + this.ee.t7.UL[1] = this.ee.t3.UL[2]; + this.ee.t7.UL[2] = this.ee.t2.UL[3]; + this.ee.t7.UL[3] = this.ee.t3.UL[3]; + // @0012BD38 PCPYLD t0, t6, t4 + this.ee.t0.UD1 = this.ee.t6.UD0; + this.ee.t0.UD0 = this.ee.t4.UD0; + // @0012BD3C PCPYUD t1, t4, t6 + this.ee.t1.UD0 = this.ee.t4.UD1; + this.ee.t1.UD1 = this.ee.t6.UD1; + // @0012BD40 PCPYLD t2, t7, t5 + this.ee.t2.UD1 = this.ee.t7.UD0; + this.ee.t2.UD0 = this.ee.t5.UD0; + // @0012BD44 QMTC2 t0, vf1 + MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); + // @0012BD48 QMTC2 t1, vf2 + MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); + // @0012BD4C QMTC2 t2, vf3 + MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); + // @0012BD50 VMULAx.xyz ACC, vf1, vf4x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); + // @0012BD54 VMADDAy.xyz ACC, vf2, vf4y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); + // @0012BD58 VMADDz.xyz vf4, vf3, vf4z + this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); + // @0012BD5C VSUB.xyz vf4, vf0, vf4 + this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); + this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); + this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); + // @0012BD60 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012BD64 SQ t1, $0010(a1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012BD68 SQ t2, $0020(a1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012BD6C SQC2 vf4, $0030(a1) + MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BD70 LW a3, $0004(s0) + MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.s0.UL0)); + // @0012BD74 LHU t6, $0010(a3) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.a3.UL0)); + // @0012BD78 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BD7C BEQ t7, zero, $0012bec8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228488u; + } + // @0012BD80 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012bd14() + { + this.ee.pc = 1228164u; + // @0012BD14 LQ t0, $0000(a1) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012BD18 LQ t1, $0010(a1) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012BD1C LQ t2, $0020(a1) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012BD20 QMFC2 t3, vf0 + MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); + // @0012BD24 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BD28 PEXTLW t4, t1, t0 + this.ee.t4.UL[0] = this.ee.t0.UL[0]; + this.ee.t4.UL[1] = this.ee.t1.UL[0]; + this.ee.t4.UL[2] = this.ee.t0.UL[1]; + this.ee.t4.UL[3] = this.ee.t1.UL[1]; + // @0012BD2C PEXTUW t5, t1, t0 + this.ee.t5.UL[0] = this.ee.t0.UL[2]; + this.ee.t5.UL[1] = this.ee.t1.UL[2]; + this.ee.t5.UL[2] = this.ee.t0.UL[3]; + this.ee.t5.UL[3] = this.ee.t1.UL[3]; + // @0012BD30 PEXTLW t6, t3, t2 + this.ee.t6.UL[0] = this.ee.t2.UL[0]; + this.ee.t6.UL[1] = this.ee.t3.UL[0]; + this.ee.t6.UL[2] = this.ee.t2.UL[1]; + this.ee.t6.UL[3] = this.ee.t3.UL[1]; + // @0012BD34 PEXTUW t7, t3, t2 + this.ee.t7.UL[0] = this.ee.t2.UL[2]; + this.ee.t7.UL[1] = this.ee.t3.UL[2]; + this.ee.t7.UL[2] = this.ee.t2.UL[3]; + this.ee.t7.UL[3] = this.ee.t3.UL[3]; + // @0012BD38 PCPYLD t0, t6, t4 + this.ee.t0.UD1 = this.ee.t6.UD0; + this.ee.t0.UD0 = this.ee.t4.UD0; + // @0012BD3C PCPYUD t1, t4, t6 + this.ee.t1.UD0 = this.ee.t4.UD1; + this.ee.t1.UD1 = this.ee.t6.UD1; + // @0012BD40 PCPYLD t2, t7, t5 + this.ee.t2.UD1 = this.ee.t7.UD0; + this.ee.t2.UD0 = this.ee.t5.UD0; + // @0012BD44 QMTC2 t0, vf1 + MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); + // @0012BD48 QMTC2 t1, vf2 + MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); + // @0012BD4C QMTC2 t2, vf3 + MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); + // @0012BD50 VMULAx.xyz ACC, vf1, vf4x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); + // @0012BD54 VMADDAy.xyz ACC, vf2, vf4y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); + // @0012BD58 VMADDz.xyz vf4, vf3, vf4z + this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); + // @0012BD5C VSUB.xyz vf4, vf0, vf4 + this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); + this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); + this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); + // @0012BD60 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012BD64 SQ t1, $0010(a1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012BD68 SQ t2, $0020(a1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012BD6C SQC2 vf4, $0030(a1) + MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BD70 LW a3, $0004(s0) + MobUt.LW(this.ee, this.ee.a3, (4u + this.ee.s0.UL0)); + // @0012BD74 LHU t6, $0010(a3) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.a3.UL0)); + // @0012BD78 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BD7C BEQ t7, zero, $0012bec8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228488u; + } + // @0012BD80 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012bd84() + { + this.ee.pc = 1228304u; + // @0012BD84 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012BD88 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BD8C LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012BD90 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012BD94 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BD98 LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @0012BD9C LQC2 vf2, $0010(a1) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); + // @0012BDA0 LQC2 vf3, $0020(a1) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); + // @0012BDA4 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BDA8 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012BDAC LQC2 vf6, $0010(t7) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012BDB0 LQC2 vf7, $0020(t7) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012BDB4 LQC2 vf8, $0030(t7) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012BDB8 VMULAx.xyzw ACC, vf1, vf5x + // @0012BDBC VMADDAy.xyzw ACC, vf2, vf5y + // @0012BDC0 VMADDAz.xyzw ACC, vf3, vf5z + // @0012BDC4 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012BDC8 VMULAx.xyzw ACC, vf1, vf6x + // @0012BDCC VMADDAy.xyzw ACC, vf2, vf6y + // @0012BDD0 VMADDAz.xyzw ACC, vf3, vf6z + // @0012BDD4 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012BDD8 VMULAx.xyzw ACC, vf1, vf7x + // @0012BDDC VMADDAy.xyzw ACC, vf2, vf7y + // @0012BDE0 VMADDAz.xyzw ACC, vf3, vf7z + // @0012BDE4 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012BDE8 VMULAx.xyzw ACC, vf1, vf8x + // @0012BDEC VMADDAy.xyzw ACC, vf2, vf8y + // @0012BDF0 VMADDAz.xyzw ACC, vf3, vf8z + // @0012BDF4 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012BDF8 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012BDFC SQC2 vf6, $0010(t8) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); + // @0012BE00 SQC2 vf7, $0020(t8) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); + // @0012BE04 SQC2 vf8, $0030(t8) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); + // @0012BE08 BEQL t6, t8, $0012be34 + if ((this.ee.t6.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1228340u; + // @0012BE0C LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012bd8c() + { + this.ee.pc = 1228304u; + // @0012BD8C LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012BD90 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012BD94 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BD98 LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @0012BD9C LQC2 vf2, $0010(a1) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.a1.UL0)); + // @0012BDA0 LQC2 vf3, $0020(a1) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.a1.UL0)); + // @0012BDA4 LQC2 vf4, $0030(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.a1.UL0)); + // @0012BDA8 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012BDAC LQC2 vf6, $0010(t7) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012BDB0 LQC2 vf7, $0020(t7) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012BDB4 LQC2 vf8, $0030(t7) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012BDB8 VMULAx.xyzw ACC, vf1, vf5x + // @0012BDBC VMADDAy.xyzw ACC, vf2, vf5y + // @0012BDC0 VMADDAz.xyzw ACC, vf3, vf5z + // @0012BDC4 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012BDC8 VMULAx.xyzw ACC, vf1, vf6x + // @0012BDCC VMADDAy.xyzw ACC, vf2, vf6y + // @0012BDD0 VMADDAz.xyzw ACC, vf3, vf6z + // @0012BDD4 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012BDD8 VMULAx.xyzw ACC, vf1, vf7x + // @0012BDDC VMADDAy.xyzw ACC, vf2, vf7y + // @0012BDE0 VMADDAz.xyzw ACC, vf3, vf7z + // @0012BDE4 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012BDE8 VMULAx.xyzw ACC, vf1, vf8x + // @0012BDEC VMADDAy.xyzw ACC, vf2, vf8y + // @0012BDF0 VMADDAz.xyzw ACC, vf3, vf8z + // @0012BDF4 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012BDF8 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012BDFC SQC2 vf6, $0010(t8) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); + // @0012BE00 SQC2 vf7, $0020(t8) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); + // @0012BE04 SQC2 vf8, $0030(t8) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); + // @0012BE08 BEQL t6, t8, $0012be34 + if ((this.ee.t6.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1228340u; + // @0012BE0C LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012be10() + { + this.ee.pc = 1228356u; + // @0012BE10 LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012BE14 LQ t1, $0010(t8) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t8.UL[0])); + // @0012BE18 LQ t2, $0020(t8) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t8.UL[0])); + // @0012BE1C LQ t3, $0030(t8) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t8.UL[0])); + // @0012BE20 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012BE24 SQ t1, $0010(t6) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012BE28 SQ t2, $0020(t6) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012BE2C SQ t3, $0030(t6) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012BE30 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012BE34 LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012BE38 SLT t6, s2, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); + // @0012BE3C BEQ t6, zero, $0012beb8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228472u; + } + // @0012BE40 SUBU t7, s2, t7 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); + } + + public virtual void funct0012be44() + { + this.ee.pc = 1228380u; + // @0012BE44 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012BE48 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BE4C ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012BE50 ADDIU t7, sp, $0090 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012BE54 BEQL t6, t7, $0012be68 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1228392u; + // @0012BE58 LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + } + } + + public virtual void funct0012be4c() + { + this.ee.pc = 1228380u; + // @0012BE4C ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012BE50 ADDIU t7, sp, $0090 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012BE54 BEQL t6, t7, $0012be68 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1228392u; + // @0012BE58 LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + } + } + + public virtual void funct0012be5c() + { + this.ee.pc = 1228404u; + // @0012BE5C LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012BE60 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012BE64 LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + // @0012BE68 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012BE6C BEQ t7, zero, $00129e60 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220192u; + } + // @0012BE70 LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + } + + public virtual void funct0012be74() + { + this.ee.pc = 1228424u; + // @0012BE74 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012BE78 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012BE7C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012BE80 BEQ t7, zero, $0012bea8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228456u; + } + // @0012BE84 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012be88() + { + this.ee.pc = 1228448u; + // @0012BE88 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012BE8C ADDU a0, t7, s3 + this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012BE90 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012BE94 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012BE98 BEQL t7, zero, $00129e40 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220160u; + // @0012BE9C LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012be90() + { + this.ee.pc = 1228448u; + // @0012BE90 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012BE94 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012BE98 BEQL t7, zero, $00129e40 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220160u; + // @0012BE9C LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012bea0() + { + this.ee.pc = 1228456u; + // @0012BEA0 BEQ zero, zero, $0012a9b4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1223092u; + } + // @0012BEA4 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + } + + public virtual void funct0012bea8() + { + this.ee.pc = 1228472u; + // @0012BEA8 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012BEAC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012BEB0 BEQ zero, zero, $0012be90 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228432u; + } + // @0012BEB4 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012beb8() + { + this.ee.pc = 1228488u; + // @0012BEB8 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012BEBC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012BEC0 BEQ zero, zero, $0012be4c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228364u; + } + // @0012BEC4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012bec8() + { + this.ee.pc = 1228504u; + // @0012BEC8 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012BECC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012BED0 BEQ zero, zero, $0012bd8c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228172u; + } + // @0012BED4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012bed8() + { + this.ee.pc = 1228528u; + // @0012BED8 ADDIU a1, sp, $0040 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012BEDC LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012BEE0 SLL t7, t5, 6 + MobUt.SLL(this.ee.t7, this.ee.t5, 6); + // @0012BEE4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012BEE8 BEQ a1, t6, $0012bd14 + if ((this.ee.a1.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1228052u; + } + // @0012BEEC NOP + MobUt.Latency(); + } + + public virtual void funct0012bef0() + { + this.ee.pc = 1228568u; + // @0012BEF0 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012BEF4 LQ t1, $0010(t6) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012BEF8 LQ t2, $0020(t6) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012BEFC LQ t3, $0030(t6) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012BF00 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @0012BF04 SQ t1, $0010(a1) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.a1.UL[0])); + // @0012BF08 SQ t2, $0020(a1) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.a1.UL[0])); + // @0012BF0C SQ t3, $0030(a1) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.a1.UL[0])); + // @0012BF10 BEQ zero, zero, $0012bd14 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228052u; + } + // @0012BF14 NOP + MobUt.Latency(); + } + + public virtual void funct0012bf18() + { + this.ee.pc = 1228584u; + // @0012BF18 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012BF1C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012BF20 BEQ zero, zero, $0012bcac + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227948u; + } + // @0012BF24 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012bf28() + { + this.ee.pc = 1228600u; + // @0012BF28 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012BF2C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012BF30 BEQ zero, zero, $0012bc60 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227872u; + } + // @0012BF34 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012bf38() + { + this.ee.pc = 1228616u; + // @0012BF38 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012BF3C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012BF40 BEQ zero, zero, $0012bc18 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227800u; + } + // @0012BF44 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012bf48() + { + this.ee.pc = 1228644u; + // @0012BF48 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + // @0012BF4C LHU t7, $0004(t6) + MobUt.LHU(this.ee, this.ee.t7, (4u + this.ee.t6.UL0)); + // @0012BF50 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012BF54 ADDU t6, t5, t7 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); + // @0012BF58 ADDU t7, t5, s3 + this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.s3.SD0))); + // @0012BF5C BEQL t7, t6, $0012bc00 + if ((this.ee.t7.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1227776u; + // @0012BF60 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012bf64() + { + this.ee.pc = 1228684u; + // @0012BF64 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012BF68 LQ t1, $0010(t6) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012BF6C LQ t2, $0020(t6) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012BF70 LQ t3, $0030(t6) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012BF74 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012BF78 SQ t1, $0010(t7) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0012BF7C SQ t2, $0020(t7) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0012BF80 SQ t3, $0030(t7) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0012BF84 BEQ zero, zero, $0012bbfc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227772u; + } + // @0012BF88 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + + public virtual void funct0012bf8c() + { + this.ee.pc = 1228696u; + // @0012BF8C ADDIU t7, zero, $0005 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 5))); + // @0012BF90 BNEL t5, t7, $0012bbfc + if ((this.ee.t5.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1227772u; + // @0012BF94 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012bf98() + { + this.ee.pc = 1228712u; + // @0012BF98 ANDI t6, t6, $00ff + this.ee.t6.UD0 = ((ushort)((this.ee.t6.US0 & 255))); + // @0012BF9C ADDIU t7, zero, $0003 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); + // @0012BFA0 BNE t6, t7, $0012c3dc + if ((this.ee.t6.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1229788u; + } + // @0012BFA4 LW t3, $0218(sp) + MobUt.LW(this.ee, this.ee.t3, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012bfa8() + { + this.ee.pc = 1228744u; + // @0012BFA8 LW t7, $0218(sp) + MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); + // @0012BFAC LHU t5, $0004(t7) + MobUt.LHU(this.ee, this.ee.t5, (4u + this.ee.t7.UL0)); + // @0012BFB0 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + // @0012BFB4 ADDIU t4, sp, $00b0 + this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @0012BFB8 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012BFBC SLT t7, t5, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); + // @0012BFC0 BEQ t7, zero, $0012c3cc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229772u; + } + // @0012BFC4 ADDIU t3, sp, $0040 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 64))); + } + + public virtual void funct0012bfd0() + { + this.ee.pc = 1228812u; + // @0012BFD0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012BFD4 ADDIU s7, sp, $0180 + this.ee.s7.SD0 = ((int)((this.ee.sp.SD0 + 384))); + // @0012BFD8 ADDIU t7, t6, $0030 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012BFDC LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012BFE0 LQC2 vf1, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); + // @0012BFE4 LQC2 vf2, $0010(t3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); + // @0012BFE8 LQC2 vf3, $0020(t3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); + // @0012BFEC LQC2 vf4, $0030(t3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); + // @0012BFF0 VMULAx.xyzw ACC, vf1, vf5x + // @0012BFF4 VMADDAy.xyzw ACC, vf2, vf5y + // @0012BFF8 VMADDAz.xyzw ACC, vf3, vf5z + // @0012BFFC VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C000 SQC2 vf5, $0000(s7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); + // @0012C004 BEQ t4, s7, $0012c018 + if ((this.ee.t4.UD0 == this.ee.s7.UD0)) + { + this.ee.pc = 1228824u; + } + // @0012C008 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + } + + public virtual void funct0012c00c() + { + this.ee.pc = 1228856u; + // @0012C00C LQ t0, $0000(s7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); + // @0012C010 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012C014 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012C018 ADDIU t5, sp, $0090 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012C01C DADDU a0, t8, zero + this.ee.a0.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); + // @0012C020 LQC2 vf1, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t4.UL0)); + // @0012C024 LQC2 vf2, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); + // @0012C028 VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @0012C02C SQC2 vf1, $0000(s7) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s7.UL0)); + // @0012C030 BEQ t8, s7, $0012c044 + if ((this.ee.t8.UD0 == this.ee.s7.UD0)) + { + this.ee.pc = 1228868u; + } + // @0012C034 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + + public virtual void funct0012c038() + { + this.ee.pc = 1228908u; + // @0012C038 LQ t0, $0000(s7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); + // @0012C03C SQ t0, $0000(t8) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012C040 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @0012C044 SW zero, $0130(sp) + MobUt.SW(this.ee, this.ee.r0, (304u + this.ee.sp.UL0)); + // @0012C048 ADDIU t6, t6, $8364 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31900))); + // @0012C04C SW zero, $0138(sp) + MobUt.SW(this.ee, this.ee.r0, (312u + this.ee.sp.UL0)); + // @0012C050 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @0012C054 SWC1 $f0, $0134(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (308u + this.ee.sp.UL0)); + // @0012C058 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012C05C LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012C060 SLT t6, s2, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); + // @0012C064 BEQ t6, zero, $0012c3bc + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229756u; + } + // @0012C068 SUBU t7, s2, t7 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); + } + + public virtual void funct0012c06c() + { + this.ee.pc = 1228924u; + // @0012C06C LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C070 ADDU a2, t7, s3 + this.ee.a2.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C074 JAL $00128b20 + this.ee.ra.UL0 = 1228924u; + this.ee.pc = 1215264u; + // @0012C078 ADDIU a1, sp, $0130 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 304))); + } + + public virtual void funct0012c074() + { + this.ee.pc = 1228924u; + // @0012C074 JAL $00128b20 + this.ee.ra.UL0 = 1228924u; + this.ee.pc = 1215264u; + // @0012C078 ADDIU a1, sp, $0130 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 304))); + } + + public virtual void funct0012c07c() + { + this.ee.pc = 1228932u; + // @0012C07C JAL $0011b420 + this.ee.ra.UL0 = 1228932u; + this.ee.pc = 1160224u; + // @0012C080 ADDIU a0, sp, $0140 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 320))); + } + + public virtual void funct0012c084() + { + this.ee.pc = 1228952u; + // @0012C084 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012C088 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @0012C08C SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012C090 BEQL t7, zero, $0012c3a4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229732u; + // @0012C094 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct0012c098() + { + this.ee.pc = 1228972u; + // @0012C098 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012C09C ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012C0A0 LWC1 $f12, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.t6.UL0)); + // @0012C0A4 JAL $0011b450 + this.ee.ra.UL0 = 1228972u; + this.ee.pc = 1160272u; + // @0012C0A8 ADDIU a0, sp, $0140 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 320))); + } + + public virtual void funct0012c0a0() + { + this.ee.pc = 1228972u; + // @0012C0A0 LWC1 $f12, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[12], (0u + this.ee.t6.UL0)); + // @0012C0A4 JAL $0011b450 + this.ee.ra.UL0 = 1228972u; + this.ee.pc = 1160272u; + // @0012C0A8 ADDIU a0, sp, $0140 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 320))); + } + + public virtual void funct0012c0ac() + { + this.ee.pc = 1228992u; + // @0012C0AC LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012C0B0 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012C0B4 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012C0B8 BEQ t7, zero, $0012c390 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229712u; + } + // @0012C0BC DADDU t5, t4, zero + this.ee.t5.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012c0c0() + { + this.ee.pc = 1229016u; + // @0012C0C0 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C0C4 ADDU t4, t7, s3 + this.ee.t4.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C0C8 LHU t6, $0010(t5) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t5.UL0)); + // @0012C0CC SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012C0D0 BEQ t7, zero, $0012c380 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229696u; + } + // @0012C0D4 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012c0c8() + { + this.ee.pc = 1229016u; + // @0012C0C8 LHU t6, $0010(t5) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t5.UL0)); + // @0012C0CC SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012C0D0 BEQ t7, zero, $0012c380 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229696u; + } + // @0012C0D4 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012c0d8() + { + this.ee.pc = 1229152u; + // @0012C0D8 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C0DC ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C0E0 ADDIU t5, sp, $01b0 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 432))); + // @0012C0E4 ADDIU t7, sp, $0140 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 320))); + // @0012C0E8 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012C0EC LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012C0F0 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012C0F4 LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012C0F8 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012C0FC LQC2 vf6, $0010(t7) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012C100 LQC2 vf7, $0020(t7) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012C104 LQC2 vf8, $0030(t7) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012C108 VMULAx.xyzw ACC, vf1, vf5x + // @0012C10C VMADDAy.xyzw ACC, vf2, vf5y + // @0012C110 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C114 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C118 VMULAx.xyzw ACC, vf1, vf6x + // @0012C11C VMADDAy.xyzw ACC, vf2, vf6y + // @0012C120 VMADDAz.xyzw ACC, vf3, vf6z + // @0012C124 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C128 VMULAx.xyzw ACC, vf1, vf7x + // @0012C12C VMADDAy.xyzw ACC, vf2, vf7y + // @0012C130 VMADDAz.xyzw ACC, vf3, vf7z + // @0012C134 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C138 VMULAx.xyzw ACC, vf1, vf8x + // @0012C13C VMADDAy.xyzw ACC, vf2, vf8y + // @0012C140 VMADDAz.xyzw ACC, vf3, vf8z + // @0012C144 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C148 SQC2 vf5, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); + // @0012C14C SQC2 vf6, $0010(t5) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); + // @0012C150 SQC2 vf7, $0020(t5) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); + // @0012C154 SQC2 vf8, $0030(t5) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); + // @0012C158 BEQL t4, t5, $0012c184 + if ((this.ee.t4.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1229188u; + // @0012C15C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c0e0() + { + this.ee.pc = 1229152u; + // @0012C0E0 ADDIU t5, sp, $01b0 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 432))); + // @0012C0E4 ADDIU t7, sp, $0140 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 320))); + // @0012C0E8 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012C0EC LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012C0F0 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012C0F4 LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012C0F8 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012C0FC LQC2 vf6, $0010(t7) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t7.UL0)); + // @0012C100 LQC2 vf7, $0020(t7) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t7.UL0)); + // @0012C104 LQC2 vf8, $0030(t7) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t7.UL0)); + // @0012C108 VMULAx.xyzw ACC, vf1, vf5x + // @0012C10C VMADDAy.xyzw ACC, vf2, vf5y + // @0012C110 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C114 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C118 VMULAx.xyzw ACC, vf1, vf6x + // @0012C11C VMADDAy.xyzw ACC, vf2, vf6y + // @0012C120 VMADDAz.xyzw ACC, vf3, vf6z + // @0012C124 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C128 VMULAx.xyzw ACC, vf1, vf7x + // @0012C12C VMADDAy.xyzw ACC, vf2, vf7y + // @0012C130 VMADDAz.xyzw ACC, vf3, vf7z + // @0012C134 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C138 VMULAx.xyzw ACC, vf1, vf8x + // @0012C13C VMADDAy.xyzw ACC, vf2, vf8y + // @0012C140 VMADDAz.xyzw ACC, vf3, vf8z + // @0012C144 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C148 SQC2 vf5, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); + // @0012C14C SQC2 vf6, $0010(t5) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); + // @0012C150 SQC2 vf7, $0020(t5) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); + // @0012C154 SQC2 vf8, $0030(t5) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); + // @0012C158 BEQL t4, t5, $0012c184 + if ((this.ee.t4.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1229188u; + // @0012C15C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c160() + { + this.ee.pc = 1229204u; + // @0012C160 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012C164 LQ t1, $0010(t5) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); + // @0012C168 LQ t2, $0020(t5) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); + // @0012C16C LQ t3, $0030(t5) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); + // @0012C170 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012C174 SQ t1, $0010(t4) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); + // @0012C178 SQ t2, $0020(t4) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); + // @0012C17C SQ t3, $0030(t4) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); + // @0012C180 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012C184 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012C188 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012C18C BEQ t7, zero, $0012c370 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229680u; + } + // @0012C190 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012c194() + { + this.ee.pc = 1229228u; + // @0012C194 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C198 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C19C ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012C1A0 ADDIU t3, sp, $0090 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012C1A4 BEQ t6, t3, $0012c1bc + if ((this.ee.t6.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1229244u; + } + // @0012C1A8 LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012c19c() + { + this.ee.pc = 1229228u; + // @0012C19C ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012C1A0 ADDIU t3, sp, $0090 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012C1A4 BEQ t6, t3, $0012c1bc + if ((this.ee.t6.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1229244u; + } + // @0012C1A8 LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012c1ac() + { + this.ee.pc = 1229252u; + // @0012C1AC LQ t0, $0000(t3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @0012C1B0 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012C1B4 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012C1B8 LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + // @0012C1BC BGEZ t5, $0012c298 + if ((this.ee.t5.SD0 >= 0)) + { + this.ee.pc = 1229464u; + } + // @0012C1C0 LW t6, $0214(sp) + MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012c298() + { + this.ee.pc = 1229492u; + // @0012C298 LHU t3, $0010(t4) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t4.UL0)); + // @0012C29C SLL t7, t6, 6 + MobUt.SLL(this.ee.t7, this.ee.t6, 6); + // @0012C2A0 LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012C2A4 SLT t5, s2, t3 + this.ee.t5.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); + // @0012C2A8 ADDU t2, t6, t7 + this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C2AC BEQ t5, zero, $0012c35c + if ((this.ee.t5.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229660u; + } + // @0012C2B0 ADDU t4, t6, s3 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + } + + public virtual void funct0012c2b4() + { + this.ee.pc = 1229620u; + // @0012C2B4 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C2B8 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C2BC LQC2 vf1, $0000(t2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); + // @0012C2C0 LQC2 vf2, $0010(t2) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); + // @0012C2C4 LQC2 vf3, $0020(t2) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); + // @0012C2C8 LQC2 vf4, $0030(t2) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); + // @0012C2CC LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012C2D0 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012C2D4 LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012C2D8 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012C2DC VMULAx.xyzw ACC, vf1, vf5x + // @0012C2E0 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C2E4 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C2E8 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C2EC VMULAx.xyzw ACC, vf1, vf6x + // @0012C2F0 VMADDAy.xyzw ACC, vf2, vf6y + // @0012C2F4 VMADDAz.xyzw ACC, vf3, vf6z + // @0012C2F8 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C2FC VMULAx.xyzw ACC, vf1, vf7x + // @0012C300 VMADDAy.xyzw ACC, vf2, vf7y + // @0012C304 VMADDAz.xyzw ACC, vf3, vf7z + // @0012C308 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C30C VMULAx.xyzw ACC, vf1, vf8x + // @0012C310 VMADDAy.xyzw ACC, vf2, vf8y + // @0012C314 VMADDAz.xyzw ACC, vf3, vf8z + // @0012C318 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C31C SQC2 vf5, $0000(s7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); + // @0012C320 SQC2 vf6, $0010(s7) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s7.UL0)); + // @0012C324 SQC2 vf7, $0020(s7) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s7.UL0)); + // @0012C328 SQC2 vf8, $0030(s7) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s7.UL0)); + // @0012C32C BEQL t4, s7, $0012bbfc + if ((this.ee.t4.UD0 == this.ee.s7.UD0)) + { + this.ee.pc = 1227772u; + // @0012C330 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c2bc() + { + this.ee.pc = 1229620u; + // @0012C2BC LQC2 vf1, $0000(t2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); + // @0012C2C0 LQC2 vf2, $0010(t2) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); + // @0012C2C4 LQC2 vf3, $0020(t2) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); + // @0012C2C8 LQC2 vf4, $0030(t2) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); + // @0012C2CC LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012C2D0 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012C2D4 LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012C2D8 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012C2DC VMULAx.xyzw ACC, vf1, vf5x + // @0012C2E0 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C2E4 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C2E8 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C2EC VMULAx.xyzw ACC, vf1, vf6x + // @0012C2F0 VMADDAy.xyzw ACC, vf2, vf6y + // @0012C2F4 VMADDAz.xyzw ACC, vf3, vf6z + // @0012C2F8 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C2FC VMULAx.xyzw ACC, vf1, vf7x + // @0012C300 VMADDAy.xyzw ACC, vf2, vf7y + // @0012C304 VMADDAz.xyzw ACC, vf3, vf7z + // @0012C308 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C30C VMULAx.xyzw ACC, vf1, vf8x + // @0012C310 VMADDAy.xyzw ACC, vf2, vf8y + // @0012C314 VMADDAz.xyzw ACC, vf3, vf8z + // @0012C318 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C31C SQC2 vf5, $0000(s7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); + // @0012C320 SQC2 vf6, $0010(s7) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.s7.UL0)); + // @0012C324 SQC2 vf7, $0020(s7) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.s7.UL0)); + // @0012C328 SQC2 vf8, $0030(s7) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.s7.UL0)); + // @0012C32C BEQL t4, s7, $0012bbfc + if ((this.ee.t4.UD0 == this.ee.s7.UD0)) + { + this.ee.pc = 1227772u; + // @0012C330 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c334() + { + this.ee.pc = 1229660u; + // @0012C334 LQ t0, $0000(s7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); + // @0012C338 LQ t1, $0010(s7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s7.UL[0])); + // @0012C33C LQ t2, $0020(s7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s7.UL[0])); + // @0012C340 LQ t3, $0030(s7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.s7.UL[0])); + // @0012C344 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012C348 SQ t1, $0010(t4) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); + // @0012C34C SQ t2, $0020(t4) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); + // @0012C350 SQ t3, $0030(t4) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); + // @0012C354 BEQ zero, zero, $0012bbfc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227772u; + } + // @0012C358 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + + public virtual void funct0012c35c() + { + this.ee.pc = 1229680u; + // @0012C35C SUBU t7, s2, t3 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); + // @0012C360 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C364 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C368 BEQ zero, zero, $0012c2bc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229500u; + } + // @0012C36C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c370() + { + this.ee.pc = 1229696u; + // @0012C370 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C374 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C378 BEQ zero, zero, $0012c19c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229212u; + } + // @0012C37C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c380() + { + this.ee.pc = 1229712u; + // @0012C380 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C384 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C388 BEQ zero, zero, $0012c0e0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229024u; + } + // @0012C38C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c390() + { + this.ee.pc = 1229732u; + // @0012C390 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + // @0012C394 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C398 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C39C BEQ zero, zero, $0012c0c8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229000u; + } + // @0012C3A0 ADDU t4, t6, t7 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c3a4() + { + this.ee.pc = 1229756u; + // @0012C3A4 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012C3A8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C3AC ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012C3B0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C3B4 BEQ zero, zero, $0012c0a0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228960u; + } + // @0012C3B8 ADDIU t6, t6, $0020 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012c3bc() + { + this.ee.pc = 1229772u; + // @0012C3BC LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C3C0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C3C4 BEQ zero, zero, $0012c074 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228916u; + } + // @0012C3C8 ADDU a2, t6, t7 + this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c3cc() + { + this.ee.pc = 1229788u; + // @0012C3CC SUBU t7, t5, t6 + this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); + // @0012C3D0 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012C3D4 BEQ zero, zero, $0012bfd0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1228752u; + } + // @0012C3D8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012c3e4() + { + this.ee.pc = 1229816u; + // @0012C3E4 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012C3E8 LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012C3EC SLT t6, s2, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); + // @0012C3F0 BEQ t6, zero, $0012c710 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230608u; + } + // @0012C3F4 SUBU t7, s2, t7 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); + } + + public virtual void funct0012c3f8() + { + this.ee.pc = 1229832u; + // @0012C3F8 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C3FC ADDU a0, t7, s3 + this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C400 JAL $0011b420 + this.ee.ra.UL0 = 1229832u; + this.ee.pc = 1160224u; + // @0012C404 NOP + MobUt.Latency(); + } + + public virtual void funct0012c400() + { + this.ee.pc = 1229832u; + // @0012C400 JAL $0011b420 + this.ee.ra.UL0 = 1229832u; + this.ee.pc = 1160224u; + // @0012C404 NOP + MobUt.Latency(); + } + + public virtual void funct0012c408() + { + this.ee.pc = 1229844u; + // @0012C408 LW t7, $021c(sp) + MobUt.LW(this.ee, this.ee.t7, (540u + this.ee.sp.UL0)); + // @0012C40C BEQ t7, zero, $0012c468 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229928u; + } + // @0012C410 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + } + + public virtual void funct0012c414() + { + this.ee.pc = 1229864u; + // @0012C414 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012C418 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @0012C41C SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012C420 BEQ t7, zero, $0012c6f4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230580u; + } + // @0012C424 DADDU a2, t8, zero + this.ee.a2.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012c428() + { + this.ee.pc = 1229900u; + // @0012C428 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012C42C ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012C430 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012C434 SQ t0, $0000(a2) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); + // @0012C438 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012C43C LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @0012C440 SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012C444 BEQL t7, zero, $0012c6dc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230556u; + // @0012C448 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct0012c430() + { + this.ee.pc = 1229900u; + // @0012C430 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012C434 SQ t0, $0000(a2) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); + // @0012C438 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012C43C LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @0012C440 SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012C444 BEQL t7, zero, $0012c6dc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230556u; + // @0012C448 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct0012c44c() + { + this.ee.pc = 1229924u; + // @0012C44C LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012C450 ADDU a3, t7, s8 + this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012C454 SQ t8, $0290(sp) + MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + // @0012C458 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0012C45C JAL $00127e20 + this.ee.ra.UL0 = 1229924u; + this.ee.pc = 1211936u; + // @0012C460 LW a1, $021c(sp) + MobUt.LW(this.ee, this.ee.a1, (540u + this.ee.sp.UL0)); + } + + public virtual void funct0012c454() + { + this.ee.pc = 1229924u; + // @0012C454 SQ t8, $0290(sp) + MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + // @0012C458 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0012C45C JAL $00127e20 + this.ee.ra.UL0 = 1229924u; + this.ee.pc = 1211936u; + // @0012C460 LW a1, $021c(sp) + MobUt.LW(this.ee, this.ee.a1, (540u + this.ee.sp.UL0)); + } + + public virtual void funct0012c464() + { + this.ee.pc = 1229948u; + // @0012C464 LQ t8, $0290(sp) + MobUt.LQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + // @0012C468 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012C46C LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012C470 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012C474 BEQ t7, zero, $0012c6cc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230540u; + } + // @0012C478 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012c468() + { + this.ee.pc = 1229948u; + // @0012C468 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012C46C LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012C470 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012C474 BEQ t7, zero, $0012c6cc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230540u; + } + // @0012C478 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012c47c() + { + this.ee.pc = 1229972u; + // @0012C47C LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C480 ADDU a0, t7, s3 + this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C484 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012C488 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012C48C BEQL t7, zero, $0012c6b4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230516u; + // @0012C490 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012c484() + { + this.ee.pc = 1229972u; + // @0012C484 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012C488 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012C48C BEQL t7, zero, $0012c6b4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230516u; + // @0012C490 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012c494() + { + this.ee.pc = 1229988u; + // @0012C494 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012C498 ADDU a1, t7, s8 + this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012C49C JAL $0011b528 + this.ee.ra.UL0 = 1229988u; + this.ee.pc = 1160488u; + // @0012C4A0 SQ t8, $0290(sp) + MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + } + + public virtual void funct0012c49c() + { + this.ee.pc = 1229988u; + // @0012C49C JAL $0011b528 + this.ee.ra.UL0 = 1229988u; + this.ee.pc = 1160488u; + // @0012C4A0 SQ t8, $0290(sp) + MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + } + + public virtual void funct0012c4a4() + { + this.ee.pc = 1230008u; + // @0012C4A4 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012C4A8 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012C4AC SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012C4B0 BEQ t7, zero, $0012c6a0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230496u; + } + // @0012C4B4 LQ t8, $0290(sp) + MobUt.LQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + } + + public virtual void funct0012c4b8() + { + this.ee.pc = 1230032u; + // @0012C4B8 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C4BC ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C4C0 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012C4C4 ADDIU t3, sp, $0090 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012C4C8 BEQ t6, t3, $0012c4e0 + if ((this.ee.t6.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1230048u; + } + // @0012C4CC LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012c4c0() + { + this.ee.pc = 1230032u; + // @0012C4C0 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012C4C4 ADDIU t3, sp, $0090 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012C4C8 BEQ t6, t3, $0012c4e0 + if ((this.ee.t6.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1230048u; + } + // @0012C4CC LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012c4d0() + { + this.ee.pc = 1230056u; + // @0012C4D0 LQ t0, $0000(t3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @0012C4D4 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012C4D8 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012C4DC LW t5, $0214(sp) + MobUt.LW(this.ee, this.ee.t5, (532u + this.ee.sp.UL0)); + // @0012C4E0 BLTZ t5, $0012c4f4 + if ((this.ee.t5.SD0 < 0)) + { + this.ee.pc = 1230068u; + } + // @0012C4E4 LUI t7, $0008 + this.ee.t7.SD0 = 524288; + } + + public virtual void funct0012c4e8() + { + this.ee.pc = 1230068u; + // @0012C4E8 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012C4EC BEQ t7, zero, $0012c5c8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230280u; + } + // @0012C4F0 LW t6, $0214(sp) + MobUt.LW(this.ee, this.ee.t6, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012c4f4() + { + this.ee.pc = 1230092u; + // @0012C4F4 LHU t4, $0010(t4) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t4.UL0)); + // @0012C4F8 DADDU t3, sp, zero + this.ee.t3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @0012C4FC LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012C500 SLT t6, s2, t4 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012C504 BEQ t6, zero, $0012c5b4 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230260u; + } + // @0012C508 ADDU t5, t7, s3 + this.ee.t5.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + } + + public virtual void funct0012c50c() + { + this.ee.pc = 1230220u; + // @0012C50C LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C510 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C514 LQC2 vf1, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); + // @0012C518 LQC2 vf2, $0010(t3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); + // @0012C51C LQC2 vf3, $0020(t3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); + // @0012C520 LQC2 vf4, $0030(t3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); + // @0012C524 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012C528 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012C52C LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012C530 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012C534 VMULAx.xyzw ACC, vf1, vf5x + // @0012C538 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C53C VMADDAz.xyzw ACC, vf3, vf5z + // @0012C540 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C544 VMULAx.xyzw ACC, vf1, vf6x + // @0012C548 VMADDAy.xyzw ACC, vf2, vf6y + // @0012C54C VMADDAz.xyzw ACC, vf3, vf6z + // @0012C550 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C554 VMULAx.xyzw ACC, vf1, vf7x + // @0012C558 VMADDAy.xyzw ACC, vf2, vf7y + // @0012C55C VMADDAz.xyzw ACC, vf3, vf7z + // @0012C560 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C564 VMULAx.xyzw ACC, vf1, vf8x + // @0012C568 VMADDAy.xyzw ACC, vf2, vf8y + // @0012C56C VMADDAz.xyzw ACC, vf3, vf8z + // @0012C570 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C574 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012C578 SQC2 vf6, $0010(t8) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); + // @0012C57C SQC2 vf7, $0020(t8) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); + // @0012C580 SQC2 vf8, $0030(t8) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); + // @0012C584 BEQL t5, t8, $0012bbfc + if ((this.ee.t5.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1227772u; + // @0012C588 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c514() + { + this.ee.pc = 1230220u; + // @0012C514 LQC2 vf1, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); + // @0012C518 LQC2 vf2, $0010(t3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); + // @0012C51C LQC2 vf3, $0020(t3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); + // @0012C520 LQC2 vf4, $0030(t3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); + // @0012C524 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012C528 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012C52C LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012C530 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012C534 VMULAx.xyzw ACC, vf1, vf5x + // @0012C538 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C53C VMADDAz.xyzw ACC, vf3, vf5z + // @0012C540 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C544 VMULAx.xyzw ACC, vf1, vf6x + // @0012C548 VMADDAy.xyzw ACC, vf2, vf6y + // @0012C54C VMADDAz.xyzw ACC, vf3, vf6z + // @0012C550 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C554 VMULAx.xyzw ACC, vf1, vf7x + // @0012C558 VMADDAy.xyzw ACC, vf2, vf7y + // @0012C55C VMADDAz.xyzw ACC, vf3, vf7z + // @0012C560 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C564 VMULAx.xyzw ACC, vf1, vf8x + // @0012C568 VMADDAy.xyzw ACC, vf2, vf8y + // @0012C56C VMADDAz.xyzw ACC, vf3, vf8z + // @0012C570 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C574 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012C578 SQC2 vf6, $0010(t8) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); + // @0012C57C SQC2 vf7, $0020(t8) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); + // @0012C580 SQC2 vf8, $0030(t8) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); + // @0012C584 BEQL t5, t8, $0012bbfc + if ((this.ee.t5.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1227772u; + // @0012C588 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c58c() + { + this.ee.pc = 1230260u; + // @0012C58C LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012C590 LQ t1, $0010(t8) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t8.UL[0])); + // @0012C594 LQ t2, $0020(t8) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t8.UL[0])); + // @0012C598 LQ t3, $0030(t8) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t8.UL[0])); + // @0012C59C SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012C5A0 SQ t1, $0010(t5) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); + // @0012C5A4 SQ t2, $0020(t5) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); + // @0012C5A8 SQ t3, $0030(t5) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); + // @0012C5AC BEQ zero, zero, $0012bbfc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227772u; + } + // @0012C5B0 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + + public virtual void funct0012c5b4() + { + this.ee.pc = 1230280u; + // @0012C5B4 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012C5B8 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C5BC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C5C0 BEQ zero, zero, $0012c514 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230100u; + } + // @0012C5C4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c5c8() + { + this.ee.pc = 1230308u; + // @0012C5C8 LHU t3, $0010(t4) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t4.UL0)); + // @0012C5CC SLL t7, t6, 6 + MobUt.SLL(this.ee.t7, this.ee.t6, 6); + // @0012C5D0 LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012C5D4 SLT t5, s2, t3 + this.ee.t5.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); + // @0012C5D8 ADDU t2, t6, t7 + this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C5DC BEQ t5, zero, $0012c68c + if ((this.ee.t5.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230476u; + } + // @0012C5E0 ADDU t4, t6, s3 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + } + + public virtual void funct0012c5e4() + { + this.ee.pc = 1230436u; + // @0012C5E4 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012C5E8 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012C5EC LQC2 vf1, $0000(t2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); + // @0012C5F0 LQC2 vf2, $0010(t2) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); + // @0012C5F4 LQC2 vf3, $0020(t2) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); + // @0012C5F8 LQC2 vf4, $0030(t2) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); + // @0012C5FC LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012C600 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012C604 LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012C608 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012C60C VMULAx.xyzw ACC, vf1, vf5x + // @0012C610 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C614 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C618 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C61C VMULAx.xyzw ACC, vf1, vf6x + // @0012C620 VMADDAy.xyzw ACC, vf2, vf6y + // @0012C624 VMADDAz.xyzw ACC, vf3, vf6z + // @0012C628 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C62C VMULAx.xyzw ACC, vf1, vf7x + // @0012C630 VMADDAy.xyzw ACC, vf2, vf7y + // @0012C634 VMADDAz.xyzw ACC, vf3, vf7z + // @0012C638 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C63C VMULAx.xyzw ACC, vf1, vf8x + // @0012C640 VMADDAy.xyzw ACC, vf2, vf8y + // @0012C644 VMADDAz.xyzw ACC, vf3, vf8z + // @0012C648 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C64C SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012C650 SQC2 vf6, $0010(t8) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); + // @0012C654 SQC2 vf7, $0020(t8) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); + // @0012C658 SQC2 vf8, $0030(t8) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); + // @0012C65C BEQL t4, t8, $0012bbfc + if ((this.ee.t4.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1227772u; + // @0012C660 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c5ec() + { + this.ee.pc = 1230436u; + // @0012C5EC LQC2 vf1, $0000(t2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); + // @0012C5F0 LQC2 vf2, $0010(t2) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t2.UL0)); + // @0012C5F4 LQC2 vf3, $0020(t2) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t2.UL0)); + // @0012C5F8 LQC2 vf4, $0030(t2) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t2.UL0)); + // @0012C5FC LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012C600 LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012C604 LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012C608 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012C60C VMULAx.xyzw ACC, vf1, vf5x + // @0012C610 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C614 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C618 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C61C VMULAx.xyzw ACC, vf1, vf6x + // @0012C620 VMADDAy.xyzw ACC, vf2, vf6y + // @0012C624 VMADDAz.xyzw ACC, vf3, vf6z + // @0012C628 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012C62C VMULAx.xyzw ACC, vf1, vf7x + // @0012C630 VMADDAy.xyzw ACC, vf2, vf7y + // @0012C634 VMADDAz.xyzw ACC, vf3, vf7z + // @0012C638 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012C63C VMULAx.xyzw ACC, vf1, vf8x + // @0012C640 VMADDAy.xyzw ACC, vf2, vf8y + // @0012C644 VMADDAz.xyzw ACC, vf3, vf8z + // @0012C648 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012C64C SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012C650 SQC2 vf6, $0010(t8) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t8.UL0)); + // @0012C654 SQC2 vf7, $0020(t8) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t8.UL0)); + // @0012C658 SQC2 vf8, $0030(t8) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t8.UL0)); + // @0012C65C BEQL t4, t8, $0012bbfc + if ((this.ee.t4.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1227772u; + // @0012C660 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c664() + { + this.ee.pc = 1230476u; + // @0012C664 LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012C668 LQ t1, $0010(t8) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t8.UL[0])); + // @0012C66C LQ t2, $0020(t8) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t8.UL[0])); + // @0012C670 LQ t3, $0030(t8) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t8.UL[0])); + // @0012C674 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012C678 SQ t1, $0010(t4) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); + // @0012C67C SQ t2, $0020(t4) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); + // @0012C680 SQ t3, $0030(t4) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); + // @0012C684 BEQ zero, zero, $0012bbfc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227772u; + } + // @0012C688 LW t5, $0008(s0) + MobUt.LW(this.ee, this.ee.t5, (8u + this.ee.s0.UL0)); + } + + public virtual void funct0012c68c() + { + this.ee.pc = 1230496u; + // @0012C68C SUBU t7, s2, t3 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); + // @0012C690 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C694 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C698 BEQ zero, zero, $0012c5ec + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230316u; + } + // @0012C69C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c6a0() + { + this.ee.pc = 1230516u; + // @0012C6A0 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + // @0012C6A4 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C6A8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C6AC BEQ zero, zero, $0012c4c0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230016u; + } + // @0012C6B0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c6b4() + { + this.ee.pc = 1230540u; + // @0012C6B4 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012C6B8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C6BC ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012C6C0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C6C4 BEQ zero, zero, $0012c49c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229980u; + } + // @0012C6C8 ADDIU a1, t6, $0020 + this.ee.a1.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012c6cc() + { + this.ee.pc = 1230556u; + // @0012C6CC LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C6D0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C6D4 BEQ zero, zero, $0012c484 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229956u; + } + // @0012C6D8 ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c6dc() + { + this.ee.pc = 1230580u; + // @0012C6DC SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012C6E0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C6E4 ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012C6E8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C6EC BEQ zero, zero, $0012c454 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229908u; + } + // @0012C6F0 ADDIU a3, t6, $0020 + this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012c6f4() + { + this.ee.pc = 1230608u; + // @0012C6F4 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + // @0012C6F8 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012C6FC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C700 ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012C704 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C708 BEQ zero, zero, $0012c430 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229872u; + } + // @0012C70C ADDIU t6, t6, $0020 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012c710() + { + this.ee.pc = 1230624u; + // @0012C710 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012C714 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C718 BEQ zero, zero, $0012c400 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1229824u; + } + // @0012C71C ADDU a0, t6, t7 + this.ee.a0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c720() + { + this.ee.pc = 1230648u; + // @0012C720 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + // @0012C724 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012C728 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012C72C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012C730 BEQ zero, zero, $0012bb60 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227616u; + } + // @0012C734 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012c738() + { + this.ee.pc = 1230656u; + // @0012C738 BNEL a2, t7, $0012c74c + if ((this.ee.a2.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1230668u; + // @0012C73C SQ v0, $0260(sp) + MobUt.SQ(this.ee, this.ee.v0, (608u + this.ee.sp.UL[0])); + } + } + + public virtual void funct0012c740() + { + this.ee.pc = 1230664u; + // @0012C740 BEQL a3, a2, $0012c8d0 + if ((this.ee.a3.UD0 == this.ee.a2.UD0)) + { + this.ee.pc = 1231056u; + // @0012C744 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c74c() + { + this.ee.pc = 1230700u; + // @0012C74C ADDIU s3, sp, $0040 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012C750 SQ v1, $0270(sp) + MobUt.SQ(this.ee, this.ee.v1, (624u + this.ee.sp.UL[0])); + // @0012C754 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0012C758 DADDU a1, s5, zero + this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + // @0012C75C ADDIU t0, sp, $0080 + this.ee.t0.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012C760 DADDU t1, s3, zero + this.ee.t1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + // @0012C764 JAL $00128c78 + this.ee.ra.UL0 = 1230700u; + this.ee.pc = 1215608u; + // @0012C768 ADDIU t2, sp, $0090 + this.ee.t2.SD0 = ((int)((this.ee.sp.SD0 + 144))); + } + + public virtual void funct0012c76c() + { + this.ee.pc = 1230736u; + // @0012C76C ADDIU s7, sp, $0090 + this.ee.s7.SD0 = ((int)((this.ee.sp.SD0 + 144))); + // @0012C770 LUI t3, $0038 + this.ee.t3.SD0 = 3670016; + // @0012C774 LQ v0, $0260(sp) + MobUt.LQ(this.ee, this.ee.v0, (608u + this.ee.sp.UL[0])); + // @0012C778 ADDIU t3, t3, $8364 + this.ee.t3.SD0 = ((int)((this.ee.t3.SD0 + -31900))); + // @0012C77C LQ v1, $0270(sp) + MobUt.LQ(this.ee, this.ee.v1, (624u + this.ee.sp.UL[0])); + // @0012C780 LWC1 $f0, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t3.UL0)); + // @0012C784 ADDIU t5, sp, $0080 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012C788 BEQ v0, zero, $0012c848 + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230920u; + } + // @0012C78C SWC1 $f0, $009c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); + } + + public virtual void funct0012c790() + { + this.ee.pc = 1230756u; + // @0012C790 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012C794 LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012C798 SLT t6, v1, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.v1.SD0 < this.ee.t7.SD0)); + // @0012C79C BEQ t6, zero, $0012c8c4 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231044u; + } + // @0012C7A0 SUBU t7, v1, t7 + this.ee.t7.SD0 = ((int)((this.ee.v1.UD0 - this.ee.t7.UD0))); + } + + public virtual void funct0012c7ac() + { + this.ee.pc = 1230852u; + // @0012C7AC ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C7B0 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012C7B4 ADDIU t7, t6, $0030 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012C7B8 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012C7BC LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @0012C7C0 LQC2 vf2, $0010(s3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); + // @0012C7C4 LQC2 vf3, $0020(s3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); + // @0012C7C8 LQC2 vf4, $0030(s3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @0012C7CC VMULAx.xyzw ACC, vf1, vf5x + // @0012C7D0 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C7D4 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C7D8 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C7DC SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012C7E0 ADDIU s3, sp, $0130 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 304))); + // @0012C7E4 LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012C7E8 SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @0012C7EC SQ t5, $0280(sp) + MobUt.SQ(this.ee, this.ee.t5, (640u + this.ee.sp.UL[0])); + // @0012C7F0 DADDU a1, v0, zero + this.ee.a1.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); + // @0012C7F4 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0012C7F8 DADDU a2, s3, zero + this.ee.a2.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + // @0012C7FC JAL $00127e20 + this.ee.ra.UL0 = 1230852u; + this.ee.pc = 1211936u; + // @0012C800 DADDU a3, s7, zero + this.ee.a3.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012c804() + { + this.ee.pc = 1230864u; + // @0012C804 LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + // @0012C808 BGEZ t4, $0012c860 + if ((this.ee.t4.SD0 >= 0)) + { + this.ee.pc = 1230944u; + } + // @0012C80C LQ t5, $0280(sp) + MobUt.LQ(this.ee, this.ee.t5, (640u + this.ee.sp.UL[0])); + } + + public virtual void funct0012c838() + { + this.ee.pc = 1230912u; + // @0012C838 BEQL t5, s3, $0012c84c + if ((this.ee.t5.UD0 == this.ee.s3.UD0)) + { + this.ee.pc = 1230924u; + // @0012C83C LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + } + } + + public virtual void funct0012c840() + { + this.ee.pc = 1230944u; + // @0012C840 LQ t0, $0000(s3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @0012C844 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012C848 LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + // @0012C84C SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012C850 ADDIU t5, t5, $8364 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); + // @0012C854 LWC1 $f0, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + // @0012C858 BEQ zero, zero, $0012bbcc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227724u; + } + // @0012C85C SWC1 $f0, $008c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); + } + + public virtual void funct0012c848() + { + this.ee.pc = 1230944u; + // @0012C848 LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + // @0012C84C SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012C850 ADDIU t5, t5, $8364 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); + // @0012C854 LWC1 $f0, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + // @0012C858 BEQ zero, zero, $0012bbcc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227724u; + } + // @0012C85C SWC1 $f0, $008c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); + } + + public virtual void funct0012c858() + { + this.ee.pc = 1230944u; + // @0012C858 BEQ zero, zero, $0012bbcc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227724u; + } + // @0012C85C SWC1 $f0, $008c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (140u + this.ee.sp.UL0)); + } + + public virtual void funct0012c860() + { + this.ee.pc = 1230968u; + // @0012C860 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012C864 LW t3, $0214(sp) + MobUt.LW(this.ee, this.ee.t3, (532u + this.ee.sp.UL0)); + // @0012C868 LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012C86C SLT t6, t3, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t3.SD0 < this.ee.t7.SD0)); + // @0012C870 BEQ t6, zero, $0012c8b4 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231028u; + } + // @0012C874 LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + } + + public virtual void funct0012c880() + { + this.ee.pc = 1231028u; + // @0012C880 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C884 LQC2 vf5, $0000(s7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); + // @0012C888 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012C88C LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012C890 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012C894 LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012C898 VMULAx.xyzw ACC, vf1, vf5x + // @0012C89C VMADDAy.xyzw ACC, vf2, vf5y + // @0012C8A0 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C8A4 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C8A8 SQC2 vf5, $0000(s3) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); + // @0012C8AC BEQ zero, zero, $0012c838 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230904u; + } + // @0012C8B0 NOP + MobUt.Latency(); + } + + public virtual void funct0012c8b4() + { + this.ee.pc = 1231044u; + // @0012C8B4 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012C8B8 SUBU t7, t4, t7 + this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t7.UD0))); + // @0012C8BC BEQ zero, zero, $0012c880 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230976u; + } + // @0012C8C0 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012c8c4() + { + this.ee.pc = 1231056u; + // @0012C8C4 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012C8C8 BEQ zero, zero, $0012c7ac + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230764u; + } + // @0012C8CC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012c8d0() + { + this.ee.pc = 1231072u; + // @0012C8D0 LHU t4, $0010(t5) + MobUt.LHU(this.ee, this.ee.t4, (16u + this.ee.t5.UL0)); + // @0012C8D4 SLT t7, s2, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t4.SD0)); + // @0012C8D8 BEQ t7, zero, $0012ca68 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231464u; + } + // @0012C8DC ADDIU s3, sp, $0090 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 144))); + } + + public virtual void funct0012c8e0() + { + this.ee.pc = 1231088u; + // @0012C8E0 LW t7, $0024(s5) + MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); + // @0012C8E4 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012C8E8 BEQL s3, t6, $0012c8fc + if ((this.ee.s3.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1231100u; + // @0012C8EC LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + } + + public virtual void funct0012c8e8() + { + this.ee.pc = 1231088u; + // @0012C8E8 BEQL s3, t6, $0012c8fc + if ((this.ee.s3.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1231100u; + // @0012C8EC LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + } + + public virtual void funct0012c8f0() + { + this.ee.pc = 1231116u; + // @0012C8F0 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012C8F4 SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @0012C8F8 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @0012C8FC ADDIU t6, t6, $8364 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -31900))); + // @0012C900 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @0012C904 BEQ v0, zero, $0012ca60 + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231456u; + } + // @0012C908 SWC1 $f0, $009c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); + } + + public virtual void funct0012c90c() + { + this.ee.pc = 1231136u; + // @0012C90C LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + // @0012C910 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012C914 SLT t7, v1, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.v1.SD0 < this.ee.t6.SD0)); + // @0012C918 BEQ t7, zero, $0012ca50 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231440u; + } + // @0012C91C ADDIU t5, sp, $0040 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 64))); + } + + public virtual void funct0012c928() + { + this.ee.pc = 1231228u; + // @0012C928 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C92C ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012C930 ADDIU t7, t6, $0030 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012C934 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012C938 LQC2 vf1, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @0012C93C LQC2 vf2, $0010(t5) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t5.UL0)); + // @0012C940 LQC2 vf3, $0020(t5) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t5.UL0)); + // @0012C944 LQC2 vf4, $0030(t5) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t5.UL0)); + // @0012C948 VMULAx.xyzw ACC, vf1, vf5x + // @0012C94C VMADDAy.xyzw ACC, vf2, vf5y + // @0012C950 VMADDAz.xyzw ACC, vf3, vf5z + // @0012C954 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C958 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012C95C ADDIU a2, sp, $0130 + this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 304))); + // @0012C960 LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012C964 SQ t0, $0000(a2) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a2.UL[0])); + // @0012C968 SQ t8, $0290(sp) + MobUt.SQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + // @0012C96C DADDU a1, v0, zero + this.ee.a1.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); + // @0012C970 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0012C974 JAL $00127e20 + this.ee.ra.UL0 = 1231228u; + this.ee.pc = 1211936u; + // @0012C978 DADDU a3, s3, zero + this.ee.a3.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012c97c() + { + this.ee.pc = 1231244u; + // @0012C97C LQ t8, $0290(sp) + MobUt.LQ(this.ee, this.ee.t8, (656u + this.ee.sp.UL[0])); + // @0012C980 LW t7, $0214(sp) + MobUt.LW(this.ee, this.ee.t7, (532u + this.ee.sp.UL0)); + // @0012C984 BGEZL t7, $0012c9dc + if ((this.ee.t7.SD0 >= 0)) + { + this.ee.pc = 1231324u; + // @0012C988 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c980() + { + this.ee.pc = 1231244u; + // @0012C980 LW t7, $0214(sp) + MobUt.LW(this.ee, this.ee.t7, (532u + this.ee.sp.UL0)); + // @0012C984 BGEZL t7, $0012c9dc + if ((this.ee.t7.SD0 >= 0)) + { + this.ee.pc = 1231324u; + // @0012C988 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012c98c() + { + this.ee.pc = 1231296u; + // @0012C98C ADDIU t7, sp, $0080 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012C990 LQC2 vf5, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); + // @0012C994 LQC2 vf1, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @0012C998 LQC2 vf2, $0010(sp) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.sp.UL0)); + // @0012C99C LQC2 vf3, $0020(sp) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.sp.UL0)); + // @0012C9A0 LQC2 vf4, $0030(sp) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.sp.UL0)); + // @0012C9A4 VMULAx.xyzw ACC, vf1, vf5x + // @0012C9A8 VMADDAy.xyzw ACC, vf2, vf5y + // @0012C9AC VMADDAz.xyzw ACC, vf3, vf5z + // @0012C9B0 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012C9B4 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012C9B8 BEQ t7, t8, $0012c9cc + if ((this.ee.t7.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1231308u; + } + // @0012C9BC LUI t4, $0038 + this.ee.t4.SD0 = 3670016; + } + + public virtual void funct0012c9c0() + { + this.ee.pc = 1231324u; + // @0012C9C0 LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012C9C4 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012C9C8 LUI t4, $0038 + this.ee.t4.SD0 = 3670016; + // @0012C9CC SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012C9D0 ADDIU t4, t4, $8364 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31900))); + // @0012C9D4 BEQ zero, zero, $0012c858 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230936u; + } + // @0012C9D8 LWC1 $f0, $0000(t4) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); + } + + public virtual void funct0012c9cc() + { + this.ee.pc = 1231324u; + // @0012C9CC SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012C9D0 ADDIU t4, t4, $8364 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31900))); + // @0012C9D4 BEQ zero, zero, $0012c858 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1230936u; + } + // @0012C9D8 LWC1 $f0, $0000(t4) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); + } + + public virtual void funct0012c9dc() + { + this.ee.pc = 1231344u; + // @0012C9DC LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + // @0012C9E0 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012C9E4 SLT t7, t4, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t6.SD0)); + // @0012C9E8 BEQ t7, zero, $0012ca3c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231420u; + } + // @0012C9EC ADDIU t5, sp, $0080 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); + } + + public virtual void funct0012c9f0() + { + this.ee.pc = 1231404u; + // @0012C9F0 LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012C9F4 SLL t7, t4, 6 + MobUt.SLL(this.ee.t7, this.ee.t4, 6); + // @0012C9F8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C9FC LQC2 vf5, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); + // @0012CA00 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CA04 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CA08 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CA0C LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012CA10 VMULAx.xyzw ACC, vf1, vf5x + // @0012CA14 VMADDAy.xyzw ACC, vf2, vf5y + // @0012CA18 VMADDAz.xyzw ACC, vf3, vf5z + // @0012CA1C VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012CA20 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012CA24 BEQL t5, t8, $0012c9cc + if ((this.ee.t5.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1231308u; + // @0012CA28 LUI t4, $0038 + this.ee.t4.SD0 = 3670016; + } + } + + public virtual void funct0012c9f8() + { + this.ee.pc = 1231404u; + // @0012C9F8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012C9FC LQC2 vf5, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.s3.UL0)); + // @0012CA00 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CA04 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CA08 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CA0C LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012CA10 VMULAx.xyzw ACC, vf1, vf5x + // @0012CA14 VMADDAy.xyzw ACC, vf2, vf5y + // @0012CA18 VMADDAz.xyzw ACC, vf3, vf5z + // @0012CA1C VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012CA20 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012CA24 BEQL t5, t8, $0012c9cc + if ((this.ee.t5.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1231308u; + // @0012CA28 LUI t4, $0038 + this.ee.t4.SD0 = 3670016; + } + } + + public virtual void funct0012ca2c() + { + this.ee.pc = 1231420u; + // @0012CA2C LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012CA30 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012CA34 BEQ zero, zero, $0012c9cc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231308u; + } + // @0012CA38 LUI t4, $0038 + this.ee.t4.SD0 = 3670016; + } + + public virtual void funct0012ca3c() + { + this.ee.pc = 1231440u; + // @0012CA3C LW t3, $0214(sp) + MobUt.LW(this.ee, this.ee.t3, (532u + this.ee.sp.UL0)); + // @0012CA40 SUBU t7, t3, t6 + this.ee.t7.SD0 = ((int)((this.ee.t3.UD0 - this.ee.t6.UD0))); + // @0012CA44 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012CA48 BEQ zero, zero, $0012c9f8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231352u; + } + // @0012CA4C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012ca50() + { + this.ee.pc = 1231456u; + // @0012CA50 SUBU t7, v1, t6 + this.ee.t7.SD0 = ((int)((this.ee.v1.UD0 - this.ee.t6.UD0))); + // @0012CA54 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012CA58 BEQ zero, zero, $0012c928 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231144u; + } + // @0012CA5C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012ca60() + { + this.ee.pc = 1231464u; + // @0012CA60 BEQ zero, zero, $0012c980 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231232u; + } + // @0012CA64 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + } + + public virtual void funct0012ca68() + { + this.ee.pc = 1231492u; + // @0012CA68 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + // @0012CA6C SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012CA70 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012CA74 ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012CA78 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012CA7C BEQ zero, zero, $0012c8e8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231080u; + } + // @0012CA80 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012ca88() + { + this.ee.pc = 1231520u; + // @0012CA88 ADDIU a1, sp, $0040 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012CA8C LW t3, $0214(sp) + MobUt.LW(this.ee, this.ee.t3, (532u + this.ee.sp.UL0)); + // @0012CA90 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012CA94 SLT t7, t3, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t3.SD0 < this.ee.t6.SD0)); + // @0012CA98 BEQ t7, zero, $0012cadc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231580u; + } + // @0012CA9C DADDU t5, a1, zero + this.ee.t5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012caa0() + { + this.ee.pc = 1231540u; + // @0012CAA0 LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012CAA4 SLL t7, t3, 6 + MobUt.SLL(this.ee.t7, this.ee.t3, 6); + // @0012CAA8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012CAAC BEQ t5, t6, $0012ba74 + if ((this.ee.t5.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1227380u; + } + // @0012CAB0 NOP + MobUt.Latency(); + } + + public virtual void funct0012caa8() + { + this.ee.pc = 1231540u; + // @0012CAA8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012CAAC BEQ t5, t6, $0012ba74 + if ((this.ee.t5.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1227380u; + } + // @0012CAB0 NOP + MobUt.Latency(); + } + + public virtual void funct0012cab4() + { + this.ee.pc = 1231580u; + // @0012CAB4 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012CAB8 LQ t1, $0010(t6) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012CABC LQ t2, $0020(t6) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012CAC0 LQ t3, $0030(t6) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012CAC4 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012CAC8 SQ t1, $0010(t5) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); + // @0012CACC SQ t2, $0020(t5) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); + // @0012CAD0 SQ t3, $0030(t5) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); + // @0012CAD4 BEQ zero, zero, $0012ba74 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1227380u; + } + // @0012CAD8 NOP + MobUt.Latency(); + } + + public virtual void funct0012cadc() + { + this.ee.pc = 1231600u; + // @0012CADC LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + // @0012CAE0 SUBU t7, t4, t6 + this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t6.UD0))); + // @0012CAE4 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012CAE8 BEQ zero, zero, $0012caa8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231528u; + } + // @0012CAEC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012caf0() + { + this.ee.pc = 1231620u; + // @0012CAF0 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CAF4 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CAF8 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CAFC BEQ t7, zero, $0012d218 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233432u; + } + // @0012CB00 ADDIU t3, sp, $0090 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 144))); + } + + public virtual void funct0012cb04() + { + this.ee.pc = 1231636u; + // @0012CB04 LW t7, $0024(s5) + MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); + // @0012CB08 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012CB0C BEQ t3, t6, $0012cb24 + if ((this.ee.t3.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1231652u; + } + // @0012CB10 LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + } + + public virtual void funct0012cb0c() + { + this.ee.pc = 1231636u; + // @0012CB0C BEQ t3, t6, $0012cb24 + if ((this.ee.t3.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1231652u; + } + // @0012CB10 LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + } + + public virtual void funct0012cb14() + { + this.ee.pc = 1231684u; + // @0012CB14 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012CB18 SQ t0, $0000(t3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @0012CB1C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CB20 LUI t5, $0038 + this.ee.t5.SD0 = 3670016; + // @0012CB24 ADDIU t5, t5, $8364 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + -31900))); + // @0012CB28 LWC1 $f0, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t5.UL0)); + // @0012CB2C SWC1 $f0, $009c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (156u + this.ee.sp.UL0)); + // @0012CB30 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CB34 LW t4, $0214(sp) + MobUt.LW(this.ee, this.ee.t4, (532u + this.ee.sp.UL0)); + // @0012CB38 SLT t7, t4, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.SD0 < this.ee.t6.SD0)); + // @0012CB3C BEQ t7, zero, $0012d200 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233408u; + } + // @0012CB40 SLL t5, t4, 6 + MobUt.SLL(this.ee.t5, this.ee.t4, 6); + } + + public virtual void funct0012cb44() + { + this.ee.pc = 1231756u; + // @0012CB44 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012CB48 SW t5, $0250(sp) + MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); + // @0012CB4C ADDU t6, t7, t5 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @0012CB50 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012CB54 DADDU s7, t8, zero + this.ee.s7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); + // @0012CB58 LQC2 vf5, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012CB5C LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CB60 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CB64 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CB68 LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012CB6C VMULAx.xyzw ACC, vf1, vf5x + // @0012CB70 VMADDAy.xyzw ACC, vf2, vf5y + // @0012CB74 VMADDAz.xyzw ACC, vf3, vf5z + // @0012CB78 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012CB7C SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012CB80 ADDIU t6, sp, $0080 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012CB84 BEQL t6, t8, $0012cb98 + if ((this.ee.t6.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1231768u; + // @0012CB88 LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012cb50() + { + this.ee.pc = 1231756u; + // @0012CB50 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012CB54 DADDU s7, t8, zero + this.ee.s7.UD0 = (this.ee.t8.UD0 + this.ee.r0.UD0); + // @0012CB58 LQC2 vf5, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012CB5C LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CB60 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CB64 LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CB68 LQC2 vf4, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t6.UL0)); + // @0012CB6C VMULAx.xyzw ACC, vf1, vf5x + // @0012CB70 VMADDAy.xyzw ACC, vf2, vf5y + // @0012CB74 VMADDAz.xyzw ACC, vf3, vf5z + // @0012CB78 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012CB7C SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012CB80 ADDIU t6, sp, $0080 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012CB84 BEQL t6, t8, $0012cb98 + if ((this.ee.t6.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1231768u; + // @0012CB88 LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012cb8c() + { + this.ee.pc = 1231788u; + // @0012CB8C LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012CB90 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012CB94 LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012CB98 ADDIU s3, sp, $0040 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @0012CB9C LW t3, $0250(sp) + MobUt.LW(this.ee, this.ee.t3, (592u + this.ee.sp.UL0)); + // @0012CBA0 ADDU t7, t7, t3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t3.SD0))); + // @0012CBA4 BEQ s3, t7, $0012cbcc + if ((this.ee.s3.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1231820u; + } + // @0012CBA8 NOP + MobUt.Latency(); + } + + public virtual void funct0012cbac() + { + this.ee.pc = 1231968u; + // @0012CBAC LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012CBB0 LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0012CBB4 LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0012CBB8 LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0012CBBC SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @0012CBC0 SQ t1, $0010(s3) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); + // @0012CBC4 SQ t2, $0020(s3) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); + // @0012CBC8 SQ t3, $0030(s3) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.s3.UL[0])); + // @0012CBCC LQ t0, $0000(s3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @0012CBD0 LQ t1, $0010(s3) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); + // @0012CBD4 LQ t2, $0020(s3) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); + // @0012CBD8 QMFC2 t3, vf0 + MobUt.QMFC2(this.ee.t3, this.ee.VF[0]); + // @0012CBDC LQC2 vf4, $0030(s3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @0012CBE0 PEXTLW t4, t1, t0 + this.ee.t4.UL[0] = this.ee.t0.UL[0]; + this.ee.t4.UL[1] = this.ee.t1.UL[0]; + this.ee.t4.UL[2] = this.ee.t0.UL[1]; + this.ee.t4.UL[3] = this.ee.t1.UL[1]; + // @0012CBE4 PEXTUW t5, t1, t0 + this.ee.t5.UL[0] = this.ee.t0.UL[2]; + this.ee.t5.UL[1] = this.ee.t1.UL[2]; + this.ee.t5.UL[2] = this.ee.t0.UL[3]; + this.ee.t5.UL[3] = this.ee.t1.UL[3]; + // @0012CBE8 PEXTLW t6, t3, t2 + this.ee.t6.UL[0] = this.ee.t2.UL[0]; + this.ee.t6.UL[1] = this.ee.t3.UL[0]; + this.ee.t6.UL[2] = this.ee.t2.UL[1]; + this.ee.t6.UL[3] = this.ee.t3.UL[1]; + // @0012CBEC PEXTUW t7, t3, t2 + this.ee.t7.UL[0] = this.ee.t2.UL[2]; + this.ee.t7.UL[1] = this.ee.t3.UL[2]; + this.ee.t7.UL[2] = this.ee.t2.UL[3]; + this.ee.t7.UL[3] = this.ee.t3.UL[3]; + // @0012CBF0 PCPYLD t0, t6, t4 + this.ee.t0.UD1 = this.ee.t6.UD0; + this.ee.t0.UD0 = this.ee.t4.UD0; + // @0012CBF4 PCPYUD t1, t4, t6 + this.ee.t1.UD0 = this.ee.t4.UD1; + this.ee.t1.UD1 = this.ee.t6.UD1; + // @0012CBF8 PCPYLD t2, t7, t5 + this.ee.t2.UD1 = this.ee.t7.UD0; + this.ee.t2.UD0 = this.ee.t5.UD0; + // @0012CBFC QMTC2 t0, vf1 + MobUt.QMTC2(this.ee.t0, this.ee.VF[1]); + // @0012CC00 QMTC2 t1, vf2 + MobUt.QMTC2(this.ee.t1, this.ee.VF[2]); + // @0012CC04 QMTC2 t2, vf3 + MobUt.QMTC2(this.ee.t2, this.ee.VF[3]); + // @0012CC08 VMULAx.xyz ACC, vf1, vf4x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[4].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[4].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[4].x); + // @0012CC0C VMADDAy.xyz ACC, vf2, vf4y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[4].y); + // @0012CC10 VMADDz.xyz vf4, vf3, vf4z + this.ee.VF[4].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[4].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[4].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[4].z); + // @0012CC14 VSUB.xyz vf4, vf0, vf4 + this.ee.VF[4].x = (this.ee.VF[0].x - this.ee.VF[4].x); + this.ee.VF[4].y = (this.ee.VF[0].y - this.ee.VF[4].y); + this.ee.VF[4].z = (this.ee.VF[0].z - this.ee.VF[4].z); + // @0012CC18 SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @0012CC1C SQ t1, $0010(s3) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.s3.UL[0])); + // @0012CC20 SQ t2, $0020(s3) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.s3.UL[0])); + // @0012CC24 SQC2 vf4, $0030(s3) + MobUt.SQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @0012CC28 ADDIU t4, sp, $0080 + this.ee.t4.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012CC2C LQC2 vf5, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t4.UL0)); + // @0012CC30 LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @0012CC34 LQC2 vf2, $0010(s3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); + // @0012CC38 LQC2 vf3, $0020(s3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); + // @0012CC3C LQC2 vf4, $0030(s3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @0012CC40 VMULAx.xyzw ACC, vf1, vf5x + // @0012CC44 VMADDAy.xyzw ACC, vf2, vf5y + // @0012CC48 VMADDAz.xyzw ACC, vf3, vf5z + // @0012CC4C VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012CC50 SQC2 vf5, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t8.UL0)); + // @0012CC54 ADDIU t5, sp, $00a0 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012CC58 BEQ t5, t8, $0012cc6c + if ((this.ee.t5.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1231980u; + } + // @0012CC5C LW a2, $0220(sp) + MobUt.LW(this.ee, this.ee.a2, (544u + this.ee.sp.UL0)); + } + + public virtual void funct0012cc60() + { + this.ee.pc = 1232004u; + // @0012CC60 LQ t0, $0000(s7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s7.UL[0])); + // @0012CC64 SQ t0, $0000(t5) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012CC68 LW a2, $0220(sp) + MobUt.LW(this.ee, this.ee.a2, (544u + this.ee.sp.UL0)); + // @0012CC6C ADDIU a3, sp, $0110 + this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 272))); + // @0012CC70 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @0012CC74 DADDU a1, s5, zero + this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + // @0012CC78 DADDU t0, s3, zero + this.ee.t0.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + // @0012CC7C JAL $00128de8 + this.ee.ra.UL0 = 1232004u; + this.ee.pc = 1215976u; + // @0012CC80 ADDIU t1, sp, $00b0 + this.ee.t1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + } + + public virtual void funct0012cc84() + { + this.ee.pc = 1232016u; + // @0012CC84 LW t6, $0218(sp) + MobUt.LW(this.ee, this.ee.t6, (536u + this.ee.sp.UL0)); + // @0012CC88 BEQ t6, zero, $0012d12c + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233196u; + } + // @0012CC8C ADDIU t7, zero, $0004 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 4))); + } + + public virtual void funct0012cc90() + { + this.ee.pc = 1232028u; + // @0012CC90 LBU t6, $0000(t6) + MobUt.LBU(this.ee, this.ee.t6, (0u + this.ee.t6.UL0)); + // @0012CC94 BNEL t6, t7, $0012d130 + if ((this.ee.t6.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1233200u; + // @0012CC98 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012cc9c() + { + this.ee.pc = 1232056u; + // @0012CC9C LW t7, $0218(sp) + MobUt.LW(this.ee, this.ee.t7, (536u + this.ee.sp.UL0)); + // @0012CCA0 LW t6, $0004(s0) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.s0.UL0)); + // @0012CCA4 LHU t5, $0004(t7) + MobUt.LHU(this.ee, this.ee.t5, (4u + this.ee.t7.UL0)); + // @0012CCA8 LHU t6, $0010(t6) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t6.UL0)); + // @0012CCAC SLT t7, t5, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); + // @0012CCB0 BEQ t7, zero, $0012d120 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233184u; + } + // @0012CCB4 SUBU t7, t5, t6 + this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012ccc0() + { + this.ee.pc = 1232144u; + // @0012CCC0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012CCC4 ADDIU t7, t6, $0030 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012CCC8 LQC2 vf5, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t7.UL0)); + // @0012CCCC LQC2 vf1, $0000(s3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s3.UL0)); + // @0012CCD0 LQC2 vf2, $0010(s3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.s3.UL0)); + // @0012CCD4 LQC2 vf3, $0020(s3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.s3.UL0)); + // @0012CCD8 LQC2 vf4, $0030(s3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.s3.UL0)); + // @0012CCDC VMULAx.xyz ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + // @0012CCE0 VMADDAy.xyz ACC, vf2, vf5y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); + // @0012CCE4 VMADDAz.xyz ACC, vf3, vf5z + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); + // @0012CCE8 VMADDw.xyz vf5, vf4, vf0w + this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); + this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); + this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); + // @0012CCEC VMOVE.w vf5, vf0 + this.ee.VF[5].w = this.ee.VF[0].w; + // @0012CCF0 SQC2 vf5, $0000(s7) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.s7.UL0)); + // @0012CCF4 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CCF8 LW t6, $0014(s0) + MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); + // @0012CCFC LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CD00 ADDU t6, t6, s8 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); + // @0012CD04 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CD08 BEQ t7, zero, $0012d104 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233156u; + } + // @0012CD0C SW t6, $0230(sp) + MobUt.SW(this.ee, this.ee.t6, (560u + this.ee.sp.UL0)); + } + + public virtual void funct0012cd10() + { + this.ee.pc = 1232164u; + // @0012CD10 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @0012CD14 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012CD18 LW v0, $0020(t7) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); + // @0012CD1C JALR ra, v0 + this.ee.ra.UD0 = 1232164u; + this.ee.pc = this.ee.v0.UL0; + // @0012CD20 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + } + + public virtual void funct0012cd24() + { + this.ee.pc = 1232200u; + // @0012CD24 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CD28 ADDU v0, v0, s3 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); + // @0012CD2C LW t3, $0230(sp) + MobUt.LW(this.ee, this.ee.t3, (560u + this.ee.sp.UL0)); + // @0012CD30 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012CD34 LWC1 $f1, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); + // @0012CD38 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CD3C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012CD40 BEQ t7, zero, $0012d0f0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233136u; + } + // @0012CD44 MUL.S $f12, $f1, $f0 + this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012cd2c() + { + this.ee.pc = 1232200u; + // @0012CD2C LW t3, $0230(sp) + MobUt.LW(this.ee, this.ee.t3, (560u + this.ee.sp.UL0)); + // @0012CD30 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012CD34 LWC1 $f1, $0000(t3) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t3.UL0)); + // @0012CD38 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CD3C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012CD40 BEQ t7, zero, $0012d0f0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233136u; + } + // @0012CD44 MUL.S $f12, $f1, $f0 + this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012cd48() + { + this.ee.pc = 1232224u; + // @0012CD48 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012CD4C ADDU a3, t7, s3 + this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CD50 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CD54 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CD58 BEQL t7, zero, $0012d0d8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233112u; + // @0012CD5C LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012cd50() + { + this.ee.pc = 1232224u; + // @0012CD50 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CD54 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CD58 BEQL t7, zero, $0012d0d8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233112u; + // @0012CD5C LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012cd60() + { + this.ee.pc = 1232268u; + // @0012CD60 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012CD64 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012CD68 LWC1 $f14, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); + // @0012CD6C ADDIU a0, sp, $00a0 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012CD70 MTC1 zero, $f13 + this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0012CD74 ADDIU a1, sp, $00b0 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @0012CD78 DADDU t1, s7, zero + this.ee.t1.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); + // @0012CD7C DADDU a2, zero, zero + this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012CD80 DADDU t0, zero, zero + this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012CD84 JAL $00124a88 + this.ee.ra.UL0 = 1232268u; + this.ee.pc = 1198728u; + // @0012CD88 MOV.S $f15, $f13 + this.ee.fpr[15].f = this.ee.fpr[13].f; + } + + public virtual void funct0012cd68() + { + this.ee.pc = 1232268u; + // @0012CD68 LWC1 $f14, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); + // @0012CD6C ADDIU a0, sp, $00a0 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012CD70 MTC1 zero, $f13 + this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0012CD74 ADDIU a1, sp, $00b0 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @0012CD78 DADDU t1, s7, zero + this.ee.t1.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); + // @0012CD7C DADDU a2, zero, zero + this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012CD80 DADDU t0, zero, zero + this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012CD84 JAL $00124a88 + this.ee.ra.UL0 = 1232268u; + this.ee.pc = 1198728u; + // @0012CD88 MOV.S $f15, $f13 + this.ee.fpr[15].f = this.ee.fpr[13].f; + } + + public virtual void funct0012cd84() + { + this.ee.pc = 1232268u; + // @0012CD84 JAL $00124a88 + this.ee.ra.UL0 = 1232268u; + this.ee.pc = 1198728u; + // @0012CD88 MOV.S $f15, $f13 + this.ee.fpr[15].f = this.ee.fpr[13].f; + } + + public virtual void funct0012cd8c() + { + this.ee.pc = 1232284u; + // @0012CD8C LUI t7, $0040 + this.ee.t7.SD0 = 4194304; + // @0012CD90 AND t7, s4, t7 + this.ee.t7.UD0 = (this.ee.s4.UD0 & this.ee.t7.UD0); + // @0012CD94 BEQL t7, zero, $0012cddc + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232348u; + // @0012CD98 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012cd9c() + { + this.ee.pc = 1232304u; + // @0012CD9C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CDA0 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CDA4 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012CDA8 BEQ t7, zero, $0012d0c8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233096u; + } + // @0012CDAC SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012cdb0() + { + this.ee.pc = 1232328u; + // @0012CDB0 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012CDB4 ADDU a0, t7, s3 + this.ee.a0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CDB8 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CDBC SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CDC0 BEQL t7, zero, $0012d0b0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233072u; + // @0012CDC4 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012cdc8() + { + this.ee.pc = 1232344u; + // @0012CDC8 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012CDCC ADDU a1, t7, s8 + this.ee.a1.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012CDD0 JAL $0011b840 + this.ee.ra.UL0 = 1232344u; + this.ee.pc = 1161280u; + // @0012CDD4 NOP + MobUt.Latency(); + } + + public virtual void funct0012cdd8() + { + this.ee.pc = 1232364u; + // @0012CDD8 LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012CDDC LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012CDE0 SLT t6, s2, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); + // @0012CDE4 BEQ t6, zero, $0012d0a0 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233056u; + } + // @0012CDE8 SUBU t7, s2, t7 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); + } + + public virtual void funct0012cddc() + { + this.ee.pc = 1232364u; + // @0012CDDC LHU t7, $0010(t7) + MobUt.LHU(this.ee, this.ee.t7, (16u + this.ee.t7.UL0)); + // @0012CDE0 SLT t6, s2, t7 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t7.SD0)); + // @0012CDE4 BEQ t6, zero, $0012d0a0 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233056u; + } + // @0012CDE8 SUBU t7, s2, t7 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t7.UD0))); + } + + public virtual void funct0012cdec() + { + this.ee.pc = 1232412u; + // @0012CDEC LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012CDF0 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CDF4 LWC1 $f0, $0090(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); + // @0012CDF8 SWC1 $f0, $0030(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); + // @0012CDFC LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012CE00 LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012CE04 LW t4, $0250(sp) + MobUt.LW(this.ee, this.ee.t4, (592u + this.ee.sp.UL0)); + // @0012CE08 LHU t5, $0010(t7) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); + // @0012CE0C ADDU t3, t6, t4 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t4.SD0))); + // @0012CE10 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CE14 BEQ t7, zero, $0012d08c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233036u; + } + // @0012CE18 ADDU t4, t6, s3 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + } + + public virtual void funct0012cdf4() + { + this.ee.pc = 1232412u; + // @0012CDF4 LWC1 $f0, $0090(sp) + MobUt.LWC1(this.ee, this.ee.fpr[0], (144u + this.ee.sp.UL0)); + // @0012CDF8 SWC1 $f0, $0030(t6) + MobUt.SWC1(this.ee, this.ee.fpr[0], (48u + this.ee.t6.UL0)); + // @0012CDFC LW t7, $0004(s0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.s0.UL0)); + // @0012CE00 LW t6, $0008(s0) + MobUt.LW(this.ee, this.ee.t6, (8u + this.ee.s0.UL0)); + // @0012CE04 LW t4, $0250(sp) + MobUt.LW(this.ee, this.ee.t4, (592u + this.ee.sp.UL0)); + // @0012CE08 LHU t5, $0010(t7) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t7.UL0)); + // @0012CE0C ADDU t3, t6, t4 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t4.SD0))); + // @0012CE10 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CE14 BEQ t7, zero, $0012d08c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233036u; + } + // @0012CE18 ADDU t4, t6, s3 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s3.SD0))); + } + + public virtual void funct0012ce1c() + { + this.ee.pc = 1232544u; + // @0012CE1C LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012CE20 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CE24 ADDIU t5, sp, $0130 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 304))); + // @0012CE28 LQC2 vf1, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); + // @0012CE2C LQC2 vf2, $0010(t3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); + // @0012CE30 LQC2 vf3, $0020(t3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); + // @0012CE34 LQC2 vf4, $0030(t3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); + // @0012CE38 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012CE3C LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012CE40 LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012CE44 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012CE48 VMULAx.xyzw ACC, vf1, vf5x + // @0012CE4C VMADDAy.xyzw ACC, vf2, vf5y + // @0012CE50 VMADDAz.xyzw ACC, vf3, vf5z + // @0012CE54 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012CE58 VMULAx.xyzw ACC, vf1, vf6x + // @0012CE5C VMADDAy.xyzw ACC, vf2, vf6y + // @0012CE60 VMADDAz.xyzw ACC, vf3, vf6z + // @0012CE64 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012CE68 VMULAx.xyzw ACC, vf1, vf7x + // @0012CE6C VMADDAy.xyzw ACC, vf2, vf7y + // @0012CE70 VMADDAz.xyzw ACC, vf3, vf7z + // @0012CE74 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012CE78 VMULAx.xyzw ACC, vf1, vf8x + // @0012CE7C VMADDAy.xyzw ACC, vf2, vf8y + // @0012CE80 VMADDAz.xyzw ACC, vf3, vf8z + // @0012CE84 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012CE88 SQC2 vf5, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); + // @0012CE8C SQC2 vf6, $0010(t5) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); + // @0012CE90 SQC2 vf7, $0020(t5) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); + // @0012CE94 SQC2 vf8, $0030(t5) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); + // @0012CE98 BEQL t4, t5, $0012cec4 + if ((this.ee.t4.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1232580u; + // @0012CE9C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012ce24() + { + this.ee.pc = 1232544u; + // @0012CE24 ADDIU t5, sp, $0130 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 304))); + // @0012CE28 LQC2 vf1, $0000(t3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t3.UL0)); + // @0012CE2C LQC2 vf2, $0010(t3) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t3.UL0)); + // @0012CE30 LQC2 vf3, $0020(t3) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t3.UL0)); + // @0012CE34 LQC2 vf4, $0030(t3) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.t3.UL0)); + // @0012CE38 LQC2 vf5, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t6.UL0)); + // @0012CE3C LQC2 vf6, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[6], (16u + this.ee.t6.UL0)); + // @0012CE40 LQC2 vf7, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[7], (32u + this.ee.t6.UL0)); + // @0012CE44 LQC2 vf8, $0030(t6) + MobUt.LQC2(this.ee, this.ee.VF[8], (48u + this.ee.t6.UL0)); + // @0012CE48 VMULAx.xyzw ACC, vf1, vf5x + // @0012CE4C VMADDAy.xyzw ACC, vf2, vf5y + // @0012CE50 VMADDAz.xyzw ACC, vf3, vf5z + // @0012CE54 VMADDw.xyzw vf5, vf4, vf5w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[5].x, this.ee.VF[2], this.ee.VF[5].y, this.ee.VF[3], this.ee.VF[5].z, this.ee.VF[4], this.ee.VF[5].w, this.ee.VF[5]); + // @0012CE58 VMULAx.xyzw ACC, vf1, vf6x + // @0012CE5C VMADDAy.xyzw ACC, vf2, vf6y + // @0012CE60 VMADDAz.xyzw ACC, vf3, vf6z + // @0012CE64 VMADDw.xyzw vf6, vf4, vf6w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[6].x, this.ee.VF[2], this.ee.VF[6].y, this.ee.VF[3], this.ee.VF[6].z, this.ee.VF[4], this.ee.VF[6].w, this.ee.VF[6]); + // @0012CE68 VMULAx.xyzw ACC, vf1, vf7x + // @0012CE6C VMADDAy.xyzw ACC, vf2, vf7y + // @0012CE70 VMADDAz.xyzw ACC, vf3, vf7z + // @0012CE74 VMADDw.xyzw vf7, vf4, vf7w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[7].x, this.ee.VF[2], this.ee.VF[7].y, this.ee.VF[3], this.ee.VF[7].z, this.ee.VF[4], this.ee.VF[7].w, this.ee.VF[7]); + // @0012CE78 VMULAx.xyzw ACC, vf1, vf8x + // @0012CE7C VMADDAy.xyzw ACC, vf2, vf8y + // @0012CE80 VMADDAz.xyzw ACC, vf3, vf8z + // @0012CE84 VMADDw.xyzw vf8, vf4, vf8w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[1], this.ee.VF[8].x, this.ee.VF[2], this.ee.VF[8].y, this.ee.VF[3], this.ee.VF[8].z, this.ee.VF[4], this.ee.VF[8].w, this.ee.VF[8]); + // @0012CE88 SQC2 vf5, $0000(t5) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t5.UL0)); + // @0012CE8C SQC2 vf6, $0010(t5) + MobUt.SQC2(this.ee, this.ee.VF[6], (16u + this.ee.t5.UL0)); + // @0012CE90 SQC2 vf7, $0020(t5) + MobUt.SQC2(this.ee, this.ee.VF[7], (32u + this.ee.t5.UL0)); + // @0012CE94 SQC2 vf8, $0030(t5) + MobUt.SQC2(this.ee, this.ee.VF[8], (48u + this.ee.t5.UL0)); + // @0012CE98 BEQL t4, t5, $0012cec4 + if ((this.ee.t4.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1232580u; + // @0012CE9C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + } + } + + public virtual void funct0012cea0() + { + this.ee.pc = 1232596u; + // @0012CEA0 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012CEA4 LQ t1, $0010(t5) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t5.UL[0])); + // @0012CEA8 LQ t2, $0020(t5) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t5.UL[0])); + // @0012CEAC LQ t3, $0030(t5) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t5.UL[0])); + // @0012CEB0 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012CEB4 SQ t1, $0010(t4) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t4.UL[0])); + // @0012CEB8 SQ t2, $0020(t4) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t4.UL[0])); + // @0012CEBC SQ t3, $0030(t4) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t4.UL[0])); + // @0012CEC0 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CEC4 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CEC8 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012CECC BEQ t7, zero, $0012d07c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233020u; + } + // @0012CED0 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012ced4() + { + this.ee.pc = 1232620u; + // @0012CED4 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012CED8 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CEDC LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012CEE0 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CEE4 BEQL t6, t7, $0012cf14 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1232660u; + // @0012CEE8 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012cedc() + { + this.ee.pc = 1232620u; + // @0012CEDC LW t7, $0008(s0) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s0.UL0)); + // @0012CEE0 ADDU t7, t7, s3 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CEE4 BEQL t6, t7, $0012cf14 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1232660u; + // @0012CEE8 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012ceec() + { + this.ee.pc = 1232672u; + // @0012CEEC LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0012CEF0 LQ t1, $0010(t7) + MobUt.LQ(this.ee, this.ee.t1, (16u + this.ee.t7.UL[0])); + // @0012CEF4 LQ t2, $0020(t7) + MobUt.LQ(this.ee, this.ee.t2, (32u + this.ee.t7.UL[0])); + // @0012CEF8 LQ t3, $0030(t7) + MobUt.LQ(this.ee, this.ee.t3, (48u + this.ee.t7.UL[0])); + // @0012CEFC SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012CF00 SQ t1, $0010(t6) + MobUt.SQ(this.ee, this.ee.t1, (16u + this.ee.t6.UL[0])); + // @0012CF04 SQ t2, $0020(t6) + MobUt.SQ(this.ee, this.ee.t2, (32u + this.ee.t6.UL[0])); + // @0012CF08 SQ t3, $0030(t6) + MobUt.SQ(this.ee, this.ee.t3, (48u + this.ee.t6.UL[0])); + // @0012CF0C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CF10 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CF14 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012CF18 BEQ t7, zero, $0012d06c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233004u; + } + // @0012CF1C SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012cf20() + { + this.ee.pc = 1232748u; + // @0012CF20 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012CF24 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CF28 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012CF2C ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012CF30 LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012CF34 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CF38 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CF3C LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CF40 VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012CF44 VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012CF48 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012CF4C SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CF50 SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CF54 SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CF58 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CF5C LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CF60 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012CF64 BEQ t7, zero, $0012d05c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232988u; + } + // @0012CF68 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012cf28() + { + this.ee.pc = 1232748u; + // @0012CF28 LW t7, $0014(s0) + MobUt.LW(this.ee, this.ee.t7, (20u + this.ee.s0.UL0)); + // @0012CF2C ADDU t7, t7, s8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012CF30 LQC2 vf4, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.t7.UL0)); + // @0012CF34 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CF38 LQC2 vf2, $0010(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CF3C LQC2 vf3, $0020(t6) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CF40 VMULx.xyzw vf1, vf1, vf4x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[4].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[4].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[4].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[4].x); + // @0012CF44 VMULy.xyzw vf2, vf2, vf4y + this.ee.VF[2].x = MobUt.MUL(this.ee.VF[2].x, this.ee.VF[4].y); + this.ee.VF[2].y = MobUt.MUL(this.ee.VF[2].y, this.ee.VF[4].y); + this.ee.VF[2].z = MobUt.MUL(this.ee.VF[2].z, this.ee.VF[4].y); + this.ee.VF[2].w = MobUt.MUL(this.ee.VF[2].w, this.ee.VF[4].y); + // @0012CF48 VMULz.xyzw vf3, vf3, vf4z + this.ee.VF[3].x = MobUt.MUL(this.ee.VF[3].x, this.ee.VF[4].z); + this.ee.VF[3].y = MobUt.MUL(this.ee.VF[3].y, this.ee.VF[4].z); + this.ee.VF[3].z = MobUt.MUL(this.ee.VF[3].z, this.ee.VF[4].z); + this.ee.VF[3].w = MobUt.MUL(this.ee.VF[3].w, this.ee.VF[4].z); + // @0012CF4C SQC2 vf1, $0000(t6) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0012CF50 SQC2 vf2, $0010(t6) + MobUt.SQC2(this.ee, this.ee.VF[2], (16u + this.ee.t6.UL0)); + // @0012CF54 SQC2 vf3, $0020(t6) + MobUt.SQC2(this.ee, this.ee.VF[3], (32u + this.ee.t6.UL0)); + // @0012CF58 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CF5C LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CF60 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012CF64 BEQ t7, zero, $0012d05c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232988u; + } + // @0012CF68 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012cf6c() + { + this.ee.pc = 1232772u; + // @0012CF6C LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012CF70 ADDU t6, t7, s3 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CF74 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012CF78 ADDIU t5, sp, $0080 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012CF7C BEQL t6, t5, $0012cf94 + if ((this.ee.t6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1232788u; + // @0012CF80 LW t6, $0220(sp) + MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); + } + } + + public virtual void funct0012cf74() + { + this.ee.pc = 1232772u; + // @0012CF74 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + // @0012CF78 ADDIU t5, sp, $0080 + this.ee.t5.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @0012CF7C BEQL t6, t5, $0012cf94 + if ((this.ee.t6.UD0 == this.ee.t5.UD0)) + { + this.ee.pc = 1232788u; + // @0012CF80 LW t6, $0220(sp) + MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); + } + } + + public virtual void funct0012cf84() + { + this.ee.pc = 1232812u; + // @0012CF84 LQ t0, $0000(t5) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t5.UL[0])); + // @0012CF88 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012CF8C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012CF90 LW t6, $0220(sp) + MobUt.LW(this.ee, this.ee.t6, (544u + this.ee.sp.UL0)); + // @0012CF94 LHU a2, $0002(t6) + MobUt.LHU(this.ee, this.ee.a2, (2u + this.ee.t6.UL0)); + // @0012CF98 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012CF9C ANDI t5, a2, $ffff + this.ee.t5.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @0012CFA0 SLT t7, t5, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t5.SD0 < this.ee.t6.SD0)); + // @0012CFA4 BEQ t7, zero, $0012d050 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232976u; + } + // @0012CFA8 SUBU t7, t5, t6 + this.ee.t7.SD0 = ((int)((this.ee.t5.UD0 - this.ee.t6.UD0))); + } + + public virtual void funct0012cfac() + { + this.ee.pc = 1232840u; + // @0012CFAC LW t6, $002c(s5) + MobUt.LW(this.ee, this.ee.t6, (44u + this.ee.s5.UL0)); + // @0012CFB0 SLL t7, t5, 6 + MobUt.SLL(this.ee.t7, this.ee.t5, 6); + // @0012CFB4 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CFB8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012CFBC SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CFC0 BEQ t7, zero, $0012d03c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232956u; + } + // @0012CFC4 ADDIU t3, t6, $0030 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012cfb4() + { + this.ee.pc = 1232840u; + // @0012CFB4 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CFB8 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012CFBC SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012CFC0 BEQ t7, zero, $0012d03c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232956u; + } + // @0012CFC4 ADDIU t3, t6, $0030 + this.ee.t3.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012cfc8() + { + this.ee.pc = 1232868u; + // @0012CFC8 LW t7, $002c(s5) + MobUt.LW(this.ee, this.ee.t7, (44u + this.ee.s5.UL0)); + // @0012CFCC ADDU v0, t7, s3 + this.ee.v0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012CFD0 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CFD4 ANDI a2, a2, $ffff + this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @0012CFD8 SLT t7, a2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); + // @0012CFDC BEQ t7, zero, $0012d020 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232928u; + } + // @0012CFE0 SLL t7, a2, 4 + MobUt.SLL(this.ee.t7, this.ee.a2, 4); + } + + public virtual void funct0012cfd0() + { + this.ee.pc = 1232868u; + // @0012CFD0 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012CFD4 ANDI a2, a2, $ffff + this.ee.a2.UD0 = ((ushort)((this.ee.a2.US0 & 65535))); + // @0012CFD8 SLT t7, a2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a2.SD0 < this.ee.t5.SD0)); + // @0012CFDC BEQ t7, zero, $0012d020 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232928u; + } + // @0012CFE0 SLL t7, a2, 4 + MobUt.SLL(this.ee.t7, this.ee.a2, 4); + } + + public virtual void funct0012cfe4() + { + this.ee.pc = 1232928u; + // @0012CFE4 LW t6, $0024(s5) + MobUt.LW(this.ee, this.ee.t6, (36u + this.ee.s5.UL0)); + // @0012CFE8 ADDU a2, t6, t7 + this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012CFEC LQC2 vf5, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); + // @0012CFF0 LQC2 vf1, $0000(v0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); + // @0012CFF4 LQC2 vf2, $0010(v0) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); + // @0012CFF8 LQC2 vf3, $0020(v0) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); + // @0012CFFC LQC2 vf4, $0030(v0) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); + // @0012D000 VMULAx.xyz ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + // @0012D004 VMADDAy.xyz ACC, vf2, vf5y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); + // @0012D008 VMADDAz.xyz ACC, vf3, vf5z + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); + // @0012D00C VMADDw.xyz vf5, vf4, vf0w + this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); + this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); + this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); + // @0012D010 VMOVE.w vf5, vf0 + this.ee.VF[5].w = this.ee.VF[0].w; + // @0012D014 SQC2 vf5, $0000(t3) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012D018 BEQ zero, zero, $00129e60 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220192u; + } + // @0012D01C LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + } + + public virtual void funct0012cfec() + { + this.ee.pc = 1232928u; + // @0012CFEC LQC2 vf5, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.a2.UL0)); + // @0012CFF0 LQC2 vf1, $0000(v0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.v0.UL0)); + // @0012CFF4 LQC2 vf2, $0010(v0) + MobUt.LQC2(this.ee, this.ee.VF[2], (16u + this.ee.v0.UL0)); + // @0012CFF8 LQC2 vf3, $0020(v0) + MobUt.LQC2(this.ee, this.ee.VF[3], (32u + this.ee.v0.UL0)); + // @0012CFFC LQC2 vf4, $0030(v0) + MobUt.LQC2(this.ee, this.ee.VF[4], (48u + this.ee.v0.UL0)); + // @0012D000 VMULAx.xyz ACC, vf1, vf5x + this.ee.Vacc.x = (this.ee.VF[1].x * this.ee.VF[5].x); + this.ee.Vacc.y = (this.ee.VF[1].y * this.ee.VF[5].x); + this.ee.Vacc.z = (this.ee.VF[1].z * this.ee.VF[5].x); + // @0012D004 VMADDAy.xyz ACC, vf2, vf5y + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[2].x, this.ee.VF[5].y); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[2].y, this.ee.VF[5].y); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[2].z, this.ee.VF[5].y); + // @0012D008 VMADDAz.xyz ACC, vf3, vf5z + this.ee.Vacc.x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[3].x, this.ee.VF[5].z); + this.ee.Vacc.y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[3].y, this.ee.VF[5].z); + this.ee.Vacc.z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[3].z, this.ee.VF[5].z); + // @0012D00C VMADDw.xyz vf5, vf4, vf0w + this.ee.VF[5].x = MobUt.MADD(this.ee.Vacc.x, this.ee.VF[4].x, this.ee.VF[0].w); + this.ee.VF[5].y = MobUt.MADD(this.ee.Vacc.y, this.ee.VF[4].y, this.ee.VF[0].w); + this.ee.VF[5].z = MobUt.MADD(this.ee.Vacc.z, this.ee.VF[4].z, this.ee.VF[0].w); + // @0012D010 VMOVE.w vf5, vf0 + this.ee.VF[5].w = this.ee.VF[0].w; + // @0012D014 SQC2 vf5, $0000(t3) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.t3.UL0)); + // @0012D018 BEQ zero, zero, $00129e60 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220192u; + } + // @0012D01C LW t3, $01f4(sp) + MobUt.LW(this.ee, this.ee.t3, (500u + this.ee.sp.UL0)); + } + + public virtual void funct0012d020() + { + this.ee.pc = 1232956u; + // @0012D020 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012D024 SUBU t7, a2, t5 + this.ee.t7.SD0 = ((int)((this.ee.a2.UD0 - this.ee.t5.UD0))); + // @0012D028 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D02C ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012D030 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D034 BEQ zero, zero, $0012cfec + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232876u; + } + // @0012D038 ADDIU a2, t6, $0030 + this.ee.a2.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012d03c() + { + this.ee.pc = 1232976u; + // @0012D03C SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012D040 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012D044 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D048 BEQ zero, zero, $0012cfd0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232848u; + } + // @0012D04C ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d050() + { + this.ee.pc = 1232988u; + // @0012D050 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012D054 BEQ zero, zero, $0012cfb4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232820u; + } + // @0012D058 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012d05c() + { + this.ee.pc = 1233004u; + // @0012D05C LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012D060 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D064 BEQ zero, zero, $0012cf74 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232756u; + } + // @0012D068 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d06c() + { + this.ee.pc = 1233020u; + // @0012D06C LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012D070 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D074 BEQ zero, zero, $0012cf28 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232680u; + } + // @0012D078 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d07c() + { + this.ee.pc = 1233036u; + // @0012D07C LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012D080 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D084 BEQ zero, zero, $0012cedc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232604u; + } + // @0012D088 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d08c() + { + this.ee.pc = 1233056u; + // @0012D08C SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012D090 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012D094 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D098 BEQ zero, zero, $0012ce24 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232420u; + } + // @0012D09C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d0a0() + { + this.ee.pc = 1233072u; + // @0012D0A0 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012D0A4 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D0A8 BEQ zero, zero, $0012cdf4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232372u; + } + // @0012D0AC ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d0d8() + { + this.ee.pc = 1233136u; + // @0012D0D8 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012D0DC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D0E0 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012D0E4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D0E8 BEQ zero, zero, $0012cd68 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232232u; + } + // @0012D0EC ADDIU t6, t6, $0020 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012d0f0() + { + this.ee.pc = 1233156u; + // @0012D0F0 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + // @0012D0F4 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012D0F8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D0FC BEQ zero, zero, $0012cd50 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232208u; + } + // @0012D100 ADDU a3, t6, t7 + this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d104() + { + this.ee.pc = 1233184u; + // @0012D104 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012D108 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012D10C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D110 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012D114 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012D118 BEQ zero, zero, $0012cd2c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232172u; + } + // @0012D11C ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d120() + { + this.ee.pc = 1233196u; + // @0012D120 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012D124 BEQ zero, zero, $0012ccc0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232064u; + } + // @0012D128 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + } + + public virtual void funct0012d12c() + { + this.ee.pc = 1233220u; + // @0012D12C LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012D130 LW t6, $0014(s0) + MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); + // @0012D134 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012D138 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012D13C BEQ t7, zero, $0012d1e4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233380u; + } + // @0012D140 ADDU s7, t6, s8 + this.ee.s7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); + } + + public virtual void funct0012d144() + { + this.ee.pc = 1233240u; + // @0012D144 LW a0, $0014(s5) + MobUt.LW(this.ee, this.ee.a0, (20u + this.ee.s5.UL0)); + // @0012D148 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0012D14C LW v0, $0020(t7) + MobUt.LW(this.ee, this.ee.v0, (32u + this.ee.t7.UL0)); + // @0012D150 JALR ra, v0 + this.ee.ra.UD0 = 1233240u; + this.ee.pc = this.ee.v0.UL0; + // @0012D154 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + } + + public virtual void funct0012d158() + { + this.ee.pc = 1233272u; + // @0012D158 LW t4, $0004(s0) + MobUt.LW(this.ee, this.ee.t4, (4u + this.ee.s0.UL0)); + // @0012D15C ADDU v0, v0, s3 + this.ee.v0.SD0 = ((int)((this.ee.v0.SD0 + this.ee.s3.SD0))); + // @0012D160 LWC1 $f1, $0000(s7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s7.UL0)); + // @0012D164 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012D168 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012D16C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012D170 BEQ t7, zero, $0012d1d0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233360u; + } + // @0012D174 MUL.S $f12, $f1, $f0 + this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012d160() + { + this.ee.pc = 1233272u; + // @0012D160 LWC1 $f1, $0000(s7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.s7.UL0)); + // @0012D164 LWC1 $f0, $001c(v0) + MobUt.LWC1(this.ee, this.ee.fpr[0], (28u + this.ee.v0.UL0)); + // @0012D168 LHU t6, $0010(t4) + MobUt.LHU(this.ee, this.ee.t6, (16u + this.ee.t4.UL0)); + // @0012D16C SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @0012D170 BEQ t7, zero, $0012d1d0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233360u; + } + // @0012D174 MUL.S $f12, $f1, $f0 + this.ee.fpr[12].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct0012d178() + { + this.ee.pc = 1233296u; + // @0012D178 LW t7, $0028(s5) + MobUt.LW(this.ee, this.ee.t7, (40u + this.ee.s5.UL0)); + // @0012D17C ADDU a3, t7, s3 + this.ee.a3.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s3.SD0))); + // @0012D180 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012D184 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012D188 BEQL t7, zero, $0012d1b8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233336u; + // @0012D18C LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012d180() + { + this.ee.pc = 1233296u; + // @0012D180 LHU t5, $0010(t4) + MobUt.LHU(this.ee, this.ee.t5, (16u + this.ee.t4.UL0)); + // @0012D184 SLT t7, s2, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t5.SD0)); + // @0012D188 BEQL t7, zero, $0012d1b8 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233336u; + // @0012D18C LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + } + } + + public virtual void funct0012d190() + { + this.ee.pc = 1233336u; + // @0012D190 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012D194 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012D198 LWC1 $f14, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); + // @0012D19C ADDIU a0, sp, $00a0 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012D1A0 MTC1 zero, $f13 + this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0012D1A4 ADDIU a1, sp, $00b0 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @0012D1A8 DADDU a2, zero, zero + this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012D1AC DADDU t0, zero, zero + this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012D1B0 BEQ zero, zero, $0012cd84 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232260u; + } + // @0012D1B4 DADDU t1, zero, zero + this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012d198() + { + this.ee.pc = 1233336u; + // @0012D198 LWC1 $f14, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[14], (0u + this.ee.t6.UL0)); + // @0012D19C ADDIU a0, sp, $00a0 + this.ee.a0.SD0 = ((int)((this.ee.sp.SD0 + 160))); + // @0012D1A0 MTC1 zero, $f13 + this.ee.fpr[13].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @0012D1A4 ADDIU a1, sp, $00b0 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 176))); + // @0012D1A8 DADDU a2, zero, zero + this.ee.a2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012D1AC DADDU t0, zero, zero + this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0012D1B0 BEQ zero, zero, $0012cd84 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1232260u; + } + // @0012D1B4 DADDU t1, zero, zero + this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012d1b8() + { + this.ee.pc = 1233360u; + // @0012D1B8 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012D1BC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D1C0 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012D1C4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D1C8 BEQ zero, zero, $0012d198 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233304u; + } + // @0012D1CC ADDIU t6, t6, $0020 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012d1d0() + { + this.ee.pc = 1233380u; + // @0012D1D0 SUBU t7, s2, t6 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t6.UD0))); + // @0012D1D4 LW t6, $000c(s0) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @0012D1D8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D1DC BEQ zero, zero, $0012d180 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233280u; + } + // @0012D1E0 ADDU a3, t6, t7 + this.ee.a3.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d1e4() + { + this.ee.pc = 1233408u; + // @0012D1E4 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012D1E8 SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012D1EC SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D1F0 SLL s3, s2, 6 + MobUt.SLL(this.ee.s3, this.ee.s2, 6); + // @0012D1F4 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012D1F8 BEQ zero, zero, $0012d160 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233248u; + } + // @0012D1FC ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d200() + { + this.ee.pc = 1233432u; + // @0012D200 SUBU t7, t4, t6 + this.ee.t7.SD0 = ((int)((this.ee.t4.UD0 - this.ee.t6.UD0))); + // @0012D204 LW t6, $0010(s0) + MobUt.LW(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @0012D208 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D20C SW t5, $0250(sp) + MobUt.SW(this.ee, this.ee.t5, (592u + this.ee.sp.UL0)); + // @0012D210 BEQ zero, zero, $0012cb50 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231696u; + } + // @0012D214 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0012d218() + { + this.ee.pc = 1233460u; + // @0012D218 LW t6, $0018(t4) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t4.UL0)); + // @0012D21C SUBU t7, s2, t5 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t5.UD0))); + // @0012D220 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D224 ADDU t6, t4, t6 + this.ee.t6.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t6.SD0))); + // @0012D228 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D22C BEQ zero, zero, $0012cb0c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1231628u; + } + // @0012D230 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012d234() + { + this.ee.pc = 1233484u; + // @0012D234 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012D238 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D23C ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D240 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D244 BEQ zero, zero, $00129dd0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220048u; + } + // @0012D248 ADDIU t5, t6, $0010 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct0012d24c() + { + this.ee.pc = 1233508u; + // @0012D24C SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012D250 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D254 ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D258 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D25C BEQ zero, zero, $00129d90 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219984u; + } + // @0012D260 ADDIU t5, t6, $0010 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct0012d264() + { + this.ee.pc = 1233532u; + // @0012D264 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012D268 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D26C ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D270 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D274 BEQ zero, zero, $00129d4c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219916u; + } + // @0012D278 ADDIU t5, t6, $0010 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct0012d2c8() + { + this.ee.pc = 1233616u; + // @0012D2C8 BLTZ t7, $0012d33c + if ((this.ee.t7.SD0 < 0)) + { + this.ee.pc = 1233724u; + } + // @0012D2CC SLL t7, t7, 4 + MobUt.SLL(this.ee.t7, this.ee.t7, 4); + } + + public virtual void funct0012d2d0() + { + this.ee.pc = 1233644u; + // @0012D2D0 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012D2D4 LW t6, $0014(s0) + MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); + // @0012D2D8 LHU t3, $0010(t5) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); + // @0012D2DC ADDU t2, t6, t7 + this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D2E0 SLT t7, s2, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); + // @0012D2E4 BEQ t7, zero, $0012d320 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233696u; + } + // @0012D2E8 ADDU t4, t6, s8 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); + } + + public virtual void funct0012d2ec() + { + this.ee.pc = 1233680u; + // @0012D2EC LW t7, $001c(s5) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); + // @0012D2F0 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012D2F4 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012D2F8 LQC2 vf1, $0000(t2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); + // @0012D2FC LQC2 vf2, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); + // @0012D300 VMUL.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); + // @0012D304 SQC2 vf1, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t8.UL0)); + // @0012D308 BEQL t4, t8, $00129df8 + if ((this.ee.t4.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1220088u; + // @0012D30C LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + } + } + + public virtual void funct0012d2f4() + { + this.ee.pc = 1233680u; + // @0012D2F4 ADDIU t8, sp, $0120 + this.ee.t8.SD0 = ((int)((this.ee.sp.SD0 + 288))); + // @0012D2F8 LQC2 vf1, $0000(t2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t2.UL0)); + // @0012D2FC LQC2 vf2, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t6.UL0)); + // @0012D300 VMUL.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].w); + // @0012D304 SQC2 vf1, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.t8.UL0)); + // @0012D308 BEQL t4, t8, $00129df8 + if ((this.ee.t4.UD0 == this.ee.t8.UD0)) + { + this.ee.pc = 1220088u; + // @0012D30C LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + } + } + + public virtual void funct0012d310() + { + this.ee.pc = 1233696u; + // @0012D310 LQ t0, $0000(t8) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t8.UL[0])); + // @0012D314 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012D318 BEQ zero, zero, $00129df8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220088u; + } + // @0012D31C LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + } + + public virtual void funct0012d320() + { + this.ee.pc = 1233724u; + // @0012D320 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + // @0012D324 SUBU t7, s2, t3 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); + // @0012D328 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D32C ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D330 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D334 BEQ zero, zero, $0012d2f4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233652u; + } + // @0012D338 ADDIU t6, t6, $0010 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct0012d33c() + { + this.ee.pc = 1233748u; + // @0012D33C LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012D340 LW t6, $0014(s0) + MobUt.LW(this.ee, this.ee.t6, (20u + this.ee.s0.UL0)); + // @0012D344 LHU t3, $0010(t5) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); + // @0012D348 SLT t7, s2, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); + // @0012D34C BEQ t7, zero, $0012d374 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233780u; + } + // @0012D350 ADDU t4, t6, s8 + this.ee.t4.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s8.SD0))); + } + + public virtual void funct0012d354() + { + this.ee.pc = 1233764u; + // @0012D354 LW t7, $001c(s5) + MobUt.LW(this.ee, this.ee.t7, (28u + this.ee.s5.UL0)); + // @0012D358 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012D35C BEQL t4, t6, $00129df8 + if ((this.ee.t4.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1220088u; + // @0012D360 LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + } + } + + public virtual void funct0012d35c() + { + this.ee.pc = 1233764u; + // @0012D35C BEQL t4, t6, $00129df8 + if ((this.ee.t4.UD0 == this.ee.t6.UD0)) + { + this.ee.pc = 1220088u; + // @0012D360 LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + } + } + + public virtual void funct0012d364() + { + this.ee.pc = 1233780u; + // @0012D364 LQ t0, $0000(t6) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0012D368 SQ t0, $0000(t4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t4.UL[0])); + // @0012D36C BEQ zero, zero, $00129df8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1220088u; + } + // @0012D370 LUI t7, $0020 + this.ee.t7.SD0 = 2097152; + } + + public virtual void funct0012d374() + { + this.ee.pc = 1233808u; + // @0012D374 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + // @0012D378 SUBU t7, s2, t3 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); + // @0012D37C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D380 ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D384 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D388 BEQ zero, zero, $0012d35c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1233756u; + } + // @0012D38C ADDIU t6, t6, $0010 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct0012d390() + { + this.ee.pc = 1233820u; + // @0012D390 SW s1, $0220(sp) + MobUt.SW(this.ee, this.ee.s1, (544u + this.ee.sp.UL0)); + // @0012D394 BEQ zero, zero, $00129ce4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219812u; + } + // @0012D398 ADDIU s1, s1, $000c + this.ee.s1.SD0 = ((int)((this.ee.s1.SD0 + 12))); + } + + public virtual void funct0012d39c() + { + this.ee.pc = 1233844u; + // @0012D39C LUI t7, $0001 + this.ee.t7.SD0 = 65536; + // @0012D3A0 ADDIU t5, s2, $0001 + this.ee.t5.SD0 = ((int)((this.ee.s2.SD0 + 1))); + // @0012D3A4 XOR t7, t6, t7 + MobUt.XOR(this.ee.t7, this.ee.t6, this.ee.t7); + // @0012D3A8 ADDIU t6, s2, $0002 + this.ee.t6.SD0 = ((int)((this.ee.s2.SD0 + 2))); + // @0012D3AC BEQ zero, zero, $00129c84 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219716u; + } + // @0012D3B0 MOVN t5, t6, t7 + if ((this.ee.t7.UD0 != 0)) + { + this.ee.t5.UD0 = this.ee.t6.UD0; + } + } + + public virtual void funct0012d3b4() + { + this.ee.pc = 1233852u; + // @0012D3B4 BEQL a3, t7, $00129c3c + if ((this.ee.a3.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1219644u; + // @0012D3B8 LHU a3, $0004(s1) + MobUt.LHU(this.ee, this.ee.a3, (4u + this.ee.s1.UL0)); + } + } + + public virtual void funct0012d3c8() + { + this.ee.pc = 1233872u; + // @0012D3C8 BEQ zero, zero, $00129c3c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219644u; + } + // @0012D3CC SW s1, $0218(sp) + MobUt.SW(this.ee, this.ee.s1, (536u + this.ee.sp.UL0)); + } + + public virtual void funct0012d3e0() + { + this.ee.pc = 1233896u; + // @0012D3E0 BEQ zero, zero, $00129c3c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219644u; + } + // @0012D3E4 DADDU t3, s1, zero + this.ee.t3.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0012d3e8() + { + this.ee.pc = 1233936u; + // @0012D3E8 LW t7, $01fc(sp) + MobUt.LW(this.ee, this.ee.t7, (508u + this.ee.sp.UL0)); + // @0012D3EC LHU t5, $0006(s1) + MobUt.LHU(this.ee, this.ee.t5, (6u + this.ee.s1.UL0)); + // @0012D3F0 LW t6, $005c(t7) + MobUt.LW(this.ee, this.ee.t6, (92u + this.ee.t7.UL0)); + // @0012D3F4 LHU v1, $0004(s1) + MobUt.LHU(this.ee, this.ee.v1, (4u + this.ee.s1.UL0)); + // @0012D3F8 ADDIU t7, zero, $0030 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 48))); + // @0012D3FC MULT t5, t5, t7 + this.ee.t5.SD0 = (((long)(this.ee.t5.SL0)) * ((long)(this.ee.t7.SL0))); + // @0012D400 LW t7, $01fc(sp) + MobUt.LW(this.ee, this.ee.t7, (508u + this.ee.sp.UL0)); + // @0012D404 ADDU t6, t7, t6 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @0012D408 BEQ zero, zero, $00129c3c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219644u; + } + // @0012D40C ADDU v0, t6, t5 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + } + + public virtual void funct0012d410() + { + this.ee.pc = 1233976u; + // @0012D410 LW t6, $01fc(sp) + MobUt.LW(this.ee, this.ee.t6, (508u + this.ee.sp.UL0)); + // @0012D414 LHU t5, $0006(s1) + MobUt.LHU(this.ee, this.ee.t5, (6u + this.ee.s1.UL0)); + // @0012D418 LW t7, $005c(t6) + MobUt.LW(this.ee, this.ee.t7, (92u + this.ee.t6.UL0)); + // @0012D41C ADDIU t6, zero, $0030 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 48))); + // @0012D420 MULT t5, t5, t6 + this.ee.t5.SD0 = (((long)(this.ee.t5.SL0)) * ((long)(this.ee.t6.SL0))); + // @0012D424 LW t6, $01fc(sp) + MobUt.LW(this.ee, this.ee.t6, (508u + this.ee.sp.UL0)); + // @0012D428 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D42C ADDU t7, t7, t5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @0012D430 BEQ zero, zero, $00129c3c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219644u; + } + // @0012D434 SW t7, $021c(sp) + MobUt.SW(this.ee, this.ee.t7, (540u + this.ee.sp.UL0)); + } + + public virtual void funct0012d438() + { + this.ee.pc = 1234000u; + // @0012D438 SUBU t7, s2, t3 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); + // @0012D43C SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D440 ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D444 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D448 BEQ zero, zero, $00129b90 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219472u; + } + // @0012D44C ADDIU t6, t6, $0010 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 16))); + } + + public virtual void funct0012d450() + { + this.ee.pc = 1234020u; + // @0012D450 LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012D454 LHU t3, $0010(t5) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); + // @0012D458 SLT t7, s2, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); + // @0012D45C BEQL t7, zero, $0012d494 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1234068u; + // @0012D460 LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct0012d464() + { + this.ee.pc = 1234068u; + // @0012D464 LW t7, $0020(s5) + MobUt.LW(this.ee, this.ee.t7, (32u + this.ee.s5.UL0)); + // @0012D468 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012D46C ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @0012D470 LUI t4, $0038 + this.ee.t4.SD0 = 3670016; + // @0012D474 ADDIU t7, t7, $fffd + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -3))); + // @0012D478 ADDIU t4, t4, $8360 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31904))); + // @0012D47C SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @0012D480 LWC1 $f0, $0000(t4) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); + // @0012D484 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D488 MUL.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + // @0012D48C BEQ zero, zero, $00129ba0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219488u; + } + // @0012D490 SWC1 $f0, $0000(t7) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + } + + public virtual void funct0012d46c() + { + this.ee.pc = 1234068u; + // @0012D46C ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @0012D470 LUI t4, $0038 + this.ee.t4.SD0 = 3670016; + // @0012D474 ADDIU t7, t7, $fffd + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -3))); + // @0012D478 ADDIU t4, t4, $8360 + this.ee.t4.SD0 = ((int)((this.ee.t4.SD0 + -31904))); + // @0012D47C SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @0012D480 LWC1 $f0, $0000(t4) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t4.UL0)); + // @0012D484 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D488 MUL.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + // @0012D48C BEQ zero, zero, $00129ba0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219488u; + } + // @0012D490 SWC1 $f0, $0000(t7) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + } + + public virtual void funct0012d494() + { + this.ee.pc = 1234092u; + // @0012D494 SUBU t7, s2, t3 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); + // @0012D498 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D49C ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D4A0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D4A4 BEQ zero, zero, $0012d46c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1234028u; + } + // @0012D4A8 ADDIU t6, t6, $0020 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 32))); + } + + public virtual void funct0012d4ac() + { + this.ee.pc = 1234112u; + // @0012D4AC LW t5, $0004(s0) + MobUt.LW(this.ee, this.ee.t5, (4u + this.ee.s0.UL0)); + // @0012D4B0 LHU t3, $0010(t5) + MobUt.LHU(this.ee, this.ee.t3, (16u + this.ee.t5.UL0)); + // @0012D4B4 SLT t7, s2, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t3.SD0)); + // @0012D4B8 BEQL t7, zero, $0012d4d4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1234132u; + // @0012D4BC LW t6, $0018(t5) + MobUt.LW(this.ee, this.ee.t6, (24u + this.ee.t5.UL0)); + } + } + + public virtual void funct0012d4c0() + { + this.ee.pc = 1234132u; + // @0012D4C0 LW t7, $0024(s5) + MobUt.LW(this.ee, this.ee.t7, (36u + this.ee.s5.UL0)); + // @0012D4C4 ADDU t6, t7, s8 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s8.SD0))); + // @0012D4C8 ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @0012D4CC BEQ zero, zero, $00129b94 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219476u; + } + // @0012D4D0 ADDIU t7, t7, $fffa + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -6))); + } + + public virtual void funct0012d4c8() + { + this.ee.pc = 1234132u; + // @0012D4C8 ANDI t7, t4, $ffff + this.ee.t7.UD0 = ((ushort)((this.ee.t4.US0 & 65535))); + // @0012D4CC BEQ zero, zero, $00129b94 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219476u; + } + // @0012D4D0 ADDIU t7, t7, $fffa + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -6))); + } + + public virtual void funct0012d4d4() + { + this.ee.pc = 1234156u; + // @0012D4D4 SUBU t7, s2, t3 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t3.UD0))); + // @0012D4D8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D4DC ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D4E0 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @0012D4E4 BEQ zero, zero, $0012d4c8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1234120u; + } + // @0012D4E8 ADDIU t6, t6, $0030 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 48))); + } + + public virtual void funct0012d4ec() + { + this.ee.pc = 1234164u; + // @0012D4EC BEQ zero, zero, $00129bc4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219524u; + } + // @0012D4F0 SLL s8, s2, 4 + MobUt.SLL(this.ee.s8, this.ee.s2, 4); + } + + public virtual void funct0012d4f4() + { + this.ee.pc = 1234184u; + // @0012D4F4 SUBU t7, s2, t4 + this.ee.t7.SD0 = ((int)((this.ee.s2.UD0 - this.ee.t4.UD0))); + // @0012D4F8 SLL t7, t7, 6 + MobUt.SLL(this.ee.t7, this.ee.t7, 6); + // @0012D4FC ADDU t6, t5, t6 + this.ee.t6.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0012D500 BEQ zero, zero, $00129b10 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1219344u; + } + // @0012D504 ADDU v0, t6, t7 + this.ee.v0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct00141bd0() + { + this.ee.pc = 1317852u; + // @00141BD0 LW t7, $0000(a0) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @00141BD4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00141BD8 LW v0, $000c(t7) + MobUt.LW(this.ee, this.ee.v0, (12u + this.ee.t7.UL0)); + } + + public virtual void funct00141be0() + { + this.ee.pc = 1317864u; + // @00141BE0 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00141BE4 SW a1, $003c(a0) + MobUt.SW(this.ee, this.ee.a1, (60u + this.ee.a0.UL0)); + } + + public virtual void funct00141be8() + { + this.ee.pc = 1317940u; + // @00141BE8 LHU t6, $0002(a1) + MobUt.LHU(this.ee, this.ee.t6, (2u + this.ee.a1.UL0)); + // @00141BEC LW t7, $0010(a0) + MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); + // @00141BF0 SLL t6, t6, 4 + MobUt.SLL(this.ee.t6, this.ee.t6, 4); + // @00141BF4 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00141BF8 SW t7, $0000(a2) + MobUt.SW(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); + // @00141BFC LHU t6, $0004(a1) + MobUt.LHU(this.ee, this.ee.t6, (4u + this.ee.a1.UL0)); + // @00141C00 LW t7, $0010(a0) + MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); + // @00141C04 SLL t6, t6, 4 + MobUt.SLL(this.ee.t6, this.ee.t6, 4); + // @00141C08 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00141C0C SW t7, $0004(a2) + MobUt.SW(this.ee, this.ee.t7, (4u + this.ee.a2.UL0)); + // @00141C10 LHU t6, $0006(a1) + MobUt.LHU(this.ee, this.ee.t6, (6u + this.ee.a1.UL0)); + // @00141C14 LW t7, $0010(a0) + MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); + // @00141C18 SLL t6, t6, 4 + MobUt.SLL(this.ee.t6, this.ee.t6, 4); + // @00141C1C ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00141C20 SW t7, $0008(a2) + MobUt.SW(this.ee, this.ee.t7, (8u + this.ee.a2.UL0)); + // @00141C24 LHU t6, $0008(a1) + MobUt.LHU(this.ee, this.ee.t6, (8u + this.ee.a1.UL0)); + // @00141C28 ORI t7, zero, $ffff + this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); + // @00141C2C BEQ t6, t7, $00141c4c + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1317964u; + } + // @00141C30 SLL t5, t6, 4 + MobUt.SLL(this.ee.t5, this.ee.t6, 4); + } + + public virtual void funct00141c34() + { + this.ee.pc = 1317964u; + // @00141C34 LW t7, $0010(a0) + MobUt.LW(this.ee, this.ee.t7, (16u + this.ee.a0.UL0)); + // @00141C38 ADDIU t6, zero, $0004 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 4))); + // @00141C3C ADDU t7, t7, t5 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t5.SD0))); + // @00141C40 SW t6, $0010(a2) + MobUt.SW(this.ee, this.ee.t6, (16u + this.ee.a2.UL0)); + // @00141C44 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00141C48 SW t7, $000c(a2) + MobUt.SW(this.ee, this.ee.t7, (12u + this.ee.a2.UL0)); + } + + public virtual void funct00141e78() + { + this.ee.pc = 1318548u; + // @00141E78 ANDI a3, a3, $00ff + this.ee.a3.UD0 = ((ushort)((this.ee.a3.US0 & 255))); + // @00141E7C SW a1, $0040(a0) + MobUt.SW(this.ee, this.ee.a1, (64u + this.ee.a0.UL0)); + // @00141E80 ANDI t0, t0, $00ff + this.ee.t0.UD0 = ((ushort)((this.ee.t0.US0 & 255))); + // @00141E84 SW a2, $0044(a0) + MobUt.SW(this.ee, this.ee.a2, (68u + this.ee.a0.UL0)); + // @00141E88 SB t0, $00d3(a0) + MobUt.SB(this.ee, this.ee.t0, (211u + this.ee.a0.UL0)); + // @00141E8C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00141E90 SB a3, $00d0(a0) + MobUt.SB(this.ee, this.ee.a3, (208u + this.ee.a0.UL0)); + } + + public virtual void funct00141e98() + { + this.ee.pc = 1318636u; + // @00141E98 ADDIU sp, sp, $ffa0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -96))); + // @00141E9C SLL a1, a1, 5 + MobUt.SLL(this.ee.a1, this.ee.a1, 5); + // @00141EA0 SD s1, $0018(sp) + MobUt.SD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @00141EA4 SD s5, $0038(sp) + MobUt.SD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @00141EA8 SD s6, $0040(sp) + MobUt.SD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); + // @00141EAC DADDU s1, a0, zero + this.ee.s1.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @00141EB0 SD s7, $0048(sp) + MobUt.SD(this.ee, this.ee.s7, (72u + this.ee.sp.UL0)); + // @00141EB4 DADDU s5, a2, zero + this.ee.s5.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @00141EB8 SD s0, $0010(sp) + MobUt.SD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + // @00141EBC DADDU s6, a3, zero + this.ee.s6.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @00141EC0 SD s2, $0020(sp) + MobUt.SD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @00141EC4 SD s3, $0028(sp) + MobUt.SD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @00141EC8 SD s4, $0030(sp) + MobUt.SD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @00141ECC SD s8, $0050(sp) + MobUt.SD(this.ee, this.ee.s8, (80u + this.ee.sp.UL0)); + // @00141ED0 SD ra, $0058(sp) + MobUt.SD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); + // @00141ED4 LW t7, $0004(a0) + MobUt.LW(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); + // @00141ED8 SW t0, $0000(sp) + MobUt.SW(this.ee, this.ee.t0, (0u + this.ee.sp.UL0)); + // @00141EDC ADDU s7, t7, a1 + this.ee.s7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.a1.SD0))); + // @00141EE0 ADDIU a0, s7, $0010 + this.ee.a0.SD0 = ((int)((this.ee.s7.SD0 + 16))); + // @00141EE4 JAL $001457e0 + this.ee.ra.UL0 = 1318636u; + this.ee.pc = 1333216u; + // @00141EE8 DADDU a1, a2, zero + this.ee.a1.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00141eec() + { + this.ee.pc = 1318644u; + // @00141EEC BEQ v0, zero, $00142090 + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1319056u; + } + // @00141EF0 LD s0, $0010(sp) + MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + } + + public virtual void funct00141ef4() + { + this.ee.pc = 1318664u; + // @00141EF4 LHU s8, $001e(s7) + MobUt.LHU(this.ee, this.ee.s8, (30u + this.ee.s7.UL0)); + // @00141EF8 LHU s3, $001c(s7) + MobUt.LHU(this.ee, this.ee.s3, (28u + this.ee.s7.UL0)); + // @00141EFC SLT t7, s3, s8 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s8.SD0)); + // @00141F00 BEQ t7, zero, $0014204c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318988u; + } + // @00141F04 ADDIU t7, zero, $0014 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 20))); + } + + public virtual void funct00141f08() + { + this.ee.pc = 1318688u; + // @00141F08 MULT s4, s3, t7 + this.ee.s4.SD0 = (((long)(this.ee.s3.SL0)) * ((long)(this.ee.t7.SL0))); + // @00141F0C LW t7, $0008(s1) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s1.UL0)); + // @00141F10 ADDU s0, t7, s4 + this.ee.s0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s4.SD0))); + // @00141F14 LBU t6, $0010(s0) + MobUt.LBU(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @00141F18 BEQL t6, zero, $00142040 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318976u; + // @00141F1C ADDIU s3, s3, $0001 + this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); + } + } + + public virtual void funct00141f0c() + { + this.ee.pc = 1318688u; + // @00141F0C LW t7, $0008(s1) + MobUt.LW(this.ee, this.ee.t7, (8u + this.ee.s1.UL0)); + // @00141F10 ADDU s0, t7, s4 + this.ee.s0.SD0 = ((int)((this.ee.t7.SD0 + this.ee.s4.SD0))); + // @00141F14 LBU t6, $0010(s0) + MobUt.LBU(this.ee, this.ee.t6, (16u + this.ee.s0.UL0)); + // @00141F18 BEQL t6, zero, $00142040 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318976u; + // @00141F1C ADDIU s3, s3, $0001 + this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); + } + } + + public virtual void funct00141f20() + { + this.ee.pc = 1318700u; + // @00141F20 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @00141F24 JAL $001457e0 + this.ee.ra.UL0 = 1318700u; + this.ee.pc = 1333216u; + // @00141F28 DADDU a1, s5, zero + this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00141f2c() + { + this.ee.pc = 1318708u; + // @00141F2C BEQL v0, zero, $00142040 + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318976u; + // @00141F30 ADDIU s3, s3, $0001 + this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); + } + } + + public virtual void funct00141f34() + { + this.ee.pc = 1318728u; + // @00141F34 LHU s2, $000c(s0) + MobUt.LHU(this.ee, this.ee.s2, (12u + this.ee.s0.UL0)); + // @00141F38 LHU s0, $000e(s0) + MobUt.LHU(this.ee, this.ee.s0, (14u + this.ee.s0.UL0)); + // @00141F3C SLT t7, s2, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.s0.SD0)); + // @00141F40 BEQ t7, zero, $0014203c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318972u; + } + // @00141F44 SW s0, $0004(sp) + MobUt.SW(this.ee, this.ee.s0, (4u + this.ee.sp.UL0)); + } + + public virtual void funct00141f48() + { + this.ee.pc = 1318768u; + // @00141F48 LW t6, $000c(s1) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s1.UL0)); + // @00141F4C SLL t7, s2, 4 + MobUt.SLL(this.ee.t7, this.ee.s2, 4); + // @00141F50 LW t4, $0014(s1) + MobUt.LW(this.ee, this.ee.t4, (20u + this.ee.s1.UL0)); + // @00141F54 ADDU s0, t6, t7 + this.ee.s0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00141F58 LBU t5, $00d0(s1) + MobUt.LBU(this.ee, this.ee.t5, (208u + this.ee.s1.UL0)); + // @00141F5C LHU t7, $000e(s0) + MobUt.LHU(this.ee, this.ee.t7, (14u + this.ee.s0.UL0)); + // @00141F60 ADDIU t6, zero, $0001 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @00141F64 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00141F68 BNE t5, t6, $001420bc + if ((this.ee.t5.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 1319100u; + } + // @00141F6C ADDU a2, t4, t7 + this.ee.a2.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct00141f4c() + { + this.ee.pc = 1318768u; + // @00141F4C SLL t7, s2, 4 + MobUt.SLL(this.ee.t7, this.ee.s2, 4); + // @00141F50 LW t4, $0014(s1) + MobUt.LW(this.ee, this.ee.t4, (20u + this.ee.s1.UL0)); + // @00141F54 ADDU s0, t6, t7 + this.ee.s0.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00141F58 LBU t5, $00d0(s1) + MobUt.LBU(this.ee, this.ee.t5, (208u + this.ee.s1.UL0)); + // @00141F5C LHU t7, $000e(s0) + MobUt.LHU(this.ee, this.ee.t7, (14u + this.ee.s0.UL0)); + // @00141F60 ADDIU t6, zero, $0001 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @00141F64 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00141F68 BNE t5, t6, $001420bc + if ((this.ee.t5.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 1319100u; + } + // @00141F6C ADDU a2, t4, t7 + this.ee.a2.SD0 = ((int)((this.ee.t4.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct00141f88() + { + this.ee.pc = 1318804u; + // @00141F88 ANDI t7, t7, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 255))); + // @00141F8C BEQ t7, zero, $0014202c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318956u; + } + // @00141F90 LW t6, $0004(sp) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); + } + + public virtual void funct00141f94() + { + this.ee.pc = 1318816u; + // @00141F94 LBU t7, $00d3(s1) + MobUt.LBU(this.ee, this.ee.t7, (211u + this.ee.s1.UL0)); + // @00141F98 BEQ t7, zero, $00141fb4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318836u; + } + // @00141F9C DADDU t6, zero, zero + this.ee.t6.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00141fb4() + { + this.ee.pc = 1318848u; + // @00141FB4 ANDI t7, t6, $00ff + this.ee.t7.UD0 = ((ushort)((this.ee.t6.US0 & 255))); + // @00141FB8 BNEL t7, zero, $00141fd8 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1318872u; + // @00141FBC LHU t6, $000c(s0) + MobUt.LHU(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + } + } + + public virtual void funct00141fc0() + { + this.ee.pc = 1318860u; + // @00141FC0 LW a1, $0000(sp) + MobUt.LW(this.ee, this.ee.a1, (0u + this.ee.sp.UL0)); + // @00141FC4 JAL $0032d8d0 + this.ee.ra.UL0 = 1318860u; + this.ee.pc = 3332304u; + // @00141FC8 DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00141fcc() + { + this.ee.pc = 1318868u; + // @00141FCC BEQ v0, zero, $0014202c + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318956u; + } + // @00141FD0 LW t6, $0004(sp) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); + } + + public virtual void funct00141fd4() + { + this.ee.pc = 1318884u; + // @00141FD4 LHU t6, $000c(s0) + MobUt.LHU(this.ee, this.ee.t6, (12u + this.ee.s0.UL0)); + // @00141FD8 ORI t7, zero, $ffff + this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); + // @00141FDC BEQ t6, t7, $00142000 + if ((this.ee.t6.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1318912u; + } + // @00141FE0 ADDIU t5, zero, $000c + this.ee.t5.SD0 = ((int)((this.ee.r0.SD0 + 12))); + } + + public virtual void funct00141fe4() + { + this.ee.pc = 1318904u; + // @00141FE4 LW a0, $001c(s1) + MobUt.LW(this.ee, this.ee.a0, (28u + this.ee.s1.UL0)); + // @00141FE8 MULT t7, t6, t5 + this.ee.t7.SD0 = (((long)(this.ee.t6.SL0)) * ((long)(this.ee.t5.SL0))); + // @00141FEC DADDU a1, s5, zero + this.ee.a1.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + // @00141FF0 JAL $001457e0 + this.ee.ra.UL0 = 1318904u; + this.ee.pc = 1333216u; + // @00141FF4 ADDU a0, a0, t7 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct00141ff8() + { + this.ee.pc = 1318912u; + // @00141FF8 BEQ v0, zero, $0014202c + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318956u; + } + // @00141FFC LW t6, $0004(sp) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); + } + + public virtual void funct00142000() + { + this.ee.pc = 1318928u; + // @00142000 LHU t6, $0000(s6) + MobUt.LHU(this.ee, this.ee.t6, (0u + this.ee.s6.UL0)); + // @00142004 SLTIU t7, t6, $03ff + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.UD0 < 1023ul)); + // @00142008 BEQ t7, zero, $0014208c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1319052u; + } + // @0014200C SLL t6, t6, 1 + MobUt.SLL(this.ee.t6, this.ee.t6, 1); + } + + public virtual void funct00142010() + { + this.ee.pc = 1318972u; + // @00142010 LW t7, $003c(s1) + MobUt.LW(this.ee, this.ee.t7, (60u + this.ee.s1.UL0)); + // @00142014 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00142018 SH s2, $0000(t6) + MobUt.SH(this.ee, this.ee.s2, (0u + this.ee.t6.UL0)); + // @0014201C LHU t7, $0000(s6) + MobUt.LHU(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); + // @00142020 ADDIU t7, t7, $0001 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 1))); + // @00142024 SH t7, $0000(s6) + MobUt.SH(this.ee, this.ee.t7, (0u + this.ee.s6.UL0)); + // @00142028 LW t6, $0004(sp) + MobUt.LW(this.ee, this.ee.t6, (4u + this.ee.sp.UL0)); + // @0014202C ADDIU s2, s2, $0001 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); + // @00142030 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @00142034 BNEL t7, zero, $00141f4c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1318732u; + // @00142038 LW t6, $000c(s1) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s1.UL0)); + } + } + + public virtual void funct0014202c() + { + this.ee.pc = 1318972u; + // @0014202C ADDIU s2, s2, $0001 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); + // @00142030 SLT t7, s2, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < this.ee.t6.SD0)); + // @00142034 BNEL t7, zero, $00141f4c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1318732u; + // @00142038 LW t6, $000c(s1) + MobUt.LW(this.ee, this.ee.t6, (12u + this.ee.s1.UL0)); + } + } + + public virtual void funct0014203c() + { + this.ee.pc = 1318988u; + // @0014203C ADDIU s3, s3, $0001 + this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); + // @00142040 SLT t7, s3, s8 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s8.SD0)); + // @00142044 BNE t7, zero, $00141f0c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1318668u; + } + // @00142048 ADDIU s4, s4, $0014 + this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 20))); + } + + public virtual void funct00142040() + { + this.ee.pc = 1318988u; + // @00142040 SLT t7, s3, s8 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s8.SD0)); + // @00142044 BNE t7, zero, $00141f0c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1318668u; + } + // @00142048 ADDIU s4, s4, $0014 + this.ee.s4.SD0 = ((int)((this.ee.s4.SD0 + 20))); + } + + public virtual void funct0014204c() + { + this.ee.pc = 1319016u; + // @0014204C DADDU s0, s7, zero + this.ee.s0.UD0 = (this.ee.s7.UD0 + this.ee.r0.UD0); + // @00142050 DADDU s2, zero, zero + this.ee.s2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00142054 ADDIU s3, zero, $ffff + this.ee.s3.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00142058 LH t7, $0000(s0) + MobUt.LH(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + // @0014205C ADDIU s0, s0, $0002 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 2))); + // @00142060 BEQ t7, s3, $0014208c + if ((this.ee.t7.UD0 == this.ee.s3.UD0)) + { + this.ee.pc = 1319052u; + } + // @00142064 DADDU a1, t7, zero + this.ee.a1.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0014205c() + { + this.ee.pc = 1319016u; + // @0014205C ADDIU s0, s0, $0002 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + 2))); + // @00142060 BEQ t7, s3, $0014208c + if ((this.ee.t7.UD0 == this.ee.s3.UD0)) + { + this.ee.pc = 1319052u; + } + // @00142064 DADDU a1, t7, zero + this.ee.a1.UD0 = (this.ee.t7.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00142068() + { + this.ee.pc = 1319040u; + // @00142068 LW t0, $0000(sp) + MobUt.LW(this.ee, this.ee.t0, (0u + this.ee.sp.UL0)); + // @0014206C DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + // @00142070 DADDU a2, s5, zero + this.ee.a2.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + // @00142074 DADDU a3, s6, zero + this.ee.a3.UD0 = (this.ee.s6.UD0 + this.ee.r0.UD0); + // @00142078 JAL $00141e98 + this.ee.ra.UL0 = 1319040u; + this.ee.pc = 1318552u; + // @0014207C ADDIU s2, s2, $0001 + this.ee.s2.SD0 = ((int)((this.ee.s2.SD0 + 1))); + } + + public virtual void funct00142080() + { + this.ee.pc = 1319052u; + // @00142080 SLTI t7, s2, $0008 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s2.SD0 < 8)); + // @00142084 BNEL t7, zero, $0014205c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1319004u; + // @00142088 LH t7, $0000(s0) + MobUt.LH(this.ee, this.ee.t7, (0u + this.ee.s0.UL0)); + } + } + + public virtual void funct0014208c() + { + this.ee.pc = 1319100u; + // @0014208C LD s0, $0010(sp) + MobUt.LD(this.ee, this.ee.s0, (16u + this.ee.sp.UL0)); + // @00142090 LD s1, $0018(sp) + MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @00142094 LD s2, $0020(sp) + MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @00142098 LD s3, $0028(sp) + MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @0014209C LD s4, $0030(sp) + MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @001420A0 LD s5, $0038(sp) + MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @001420A4 LD s6, $0040(sp) + MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); + // @001420A8 LD s7, $0048(sp) + MobUt.LD(this.ee, this.ee.s7, (72u + this.ee.sp.UL0)); + // @001420AC LD s8, $0050(sp) + MobUt.LD(this.ee, this.ee.s8, (80u + this.ee.sp.UL0)); + // @001420B0 LD ra, $0058(sp) + MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); + // @001420B4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @001420B8 ADDIU sp, sp, $0060 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); + } + + public virtual void funct00142090() + { + this.ee.pc = 1319100u; + // @00142090 LD s1, $0018(sp) + MobUt.LD(this.ee, this.ee.s1, (24u + this.ee.sp.UL0)); + // @00142094 LD s2, $0020(sp) + MobUt.LD(this.ee, this.ee.s2, (32u + this.ee.sp.UL0)); + // @00142098 LD s3, $0028(sp) + MobUt.LD(this.ee, this.ee.s3, (40u + this.ee.sp.UL0)); + // @0014209C LD s4, $0030(sp) + MobUt.LD(this.ee, this.ee.s4, (48u + this.ee.sp.UL0)); + // @001420A0 LD s5, $0038(sp) + MobUt.LD(this.ee, this.ee.s5, (56u + this.ee.sp.UL0)); + // @001420A4 LD s6, $0040(sp) + MobUt.LD(this.ee, this.ee.s6, (64u + this.ee.sp.UL0)); + // @001420A8 LD s7, $0048(sp) + MobUt.LD(this.ee, this.ee.s7, (72u + this.ee.sp.UL0)); + // @001420AC LD s8, $0050(sp) + MobUt.LD(this.ee, this.ee.s8, (80u + this.ee.sp.UL0)); + // @001420B0 LD ra, $0058(sp) + MobUt.LD(this.ee, this.ee.ra, (88u + this.ee.sp.UL0)); + // @001420B4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @001420B8 ADDIU sp, sp, $0060 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 96))); + } + + public virtual void funct001420bc() + { + this.ee.pc = 1319128u; + // @001420BC LW t5, $0000(a2) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.a2.UL0)); + // @001420C0 LW t7, $0040(s1) + MobUt.LW(this.ee, this.ee.t7, (64u + this.ee.s1.UL0)); + // @001420C4 LW t6, $0044(s1) + MobUt.LW(this.ee, this.ee.t6, (68u + this.ee.s1.UL0)); + // @001420C8 AND t7, t5, t7 + this.ee.t7.UD0 = (this.ee.t5.UD0 & this.ee.t7.UD0); + // @001420CC XOR t7, t7, t6 + MobUt.XOR(this.ee.t7, this.ee.t7, this.ee.t6); + // @001420D0 BEQ zero, zero, $00141f88 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1318792u; + } + // @001420D4 SLTIU t7, t7, $0001 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 1ul)); + } + + public virtual void funct001420d8() + { + this.ee.pc = 1319220u; + // @001420D8 ADDIU sp, sp, $ff30 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -208))); + // @001420DC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @001420E0 SD s1, $0078(sp) + MobUt.SD(this.ee, this.ee.s1, (120u + this.ee.sp.UL0)); + // @001420E4 ADDIU t7, t7, $873c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30916))); + // @001420E8 SD s2, $0080(sp) + MobUt.SD(this.ee, this.ee.s2, (128u + this.ee.sp.UL0)); + // @001420EC SD s3, $0088(sp) + MobUt.SD(this.ee, this.ee.s3, (136u + this.ee.sp.UL0)); + // @001420F0 DADDU s1, a0, zero + this.ee.s1.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @001420F4 SD s6, $00a0(sp) + MobUt.SD(this.ee, this.ee.s6, (160u + this.ee.sp.UL0)); + // @001420F8 DADDU s2, a1, zero + this.ee.s2.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @001420FC SD s7, $00a8(sp) + MobUt.SD(this.ee, this.ee.s7, (168u + this.ee.sp.UL0)); + // @00142100 DADDU s3, zero, zero + this.ee.s3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00142104 SD s0, $0070(sp) + MobUt.SD(this.ee, this.ee.s0, (112u + this.ee.sp.UL0)); + // @00142108 DADDU s6, a3, zero + this.ee.s6.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @0014210C SD s4, $0090(sp) + MobUt.SD(this.ee, this.ee.s4, (144u + this.ee.sp.UL0)); + // @00142110 DADDU s7, a2, zero + this.ee.s7.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @00142114 SD s5, $0098(sp) + MobUt.SD(this.ee, this.ee.s5, (152u + this.ee.sp.UL0)); + // @00142118 SD s8, $00b0(sp) + MobUt.SD(this.ee, this.ee.s8, (176u + this.ee.sp.UL0)); + // @0014211C SD ra, $00b8(sp) + MobUt.SD(this.ee, this.ee.ra, (184u + this.ee.sp.UL0)); + // @00142120 SWC1 $f20, $00c0(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (192u + this.ee.sp.UL0)); + // @00142124 LWC1 $f20, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[20], (0u + this.ee.t7.UL0)); + // @00142128 ORI t7, zero, $ffff + this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); + // @0014212C BLEZ a2, $00142218 + if ((this.ee.a2.SD0 <= 0)) + { + this.ee.pc = 1319448u; + } + // @00142130 SW t7, $0060(sp) + MobUt.SW(this.ee, this.ee.t7, (96u + this.ee.sp.UL0)); + } + + public virtual void funct00142134() + { + this.ee.pc = 1319272u; + // @00142134 ADDIU s8, sp, $0010 + this.ee.s8.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00142138 ADDIU s4, sp, $0030 + this.ee.s4.SD0 = ((int)((this.ee.sp.SD0 + 48))); + // @0014213C LW t7, $003c(s1) + MobUt.LW(this.ee, this.ee.t7, (60u + this.ee.s1.UL0)); + // @00142140 SLL t6, s3, 1 + MobUt.SLL(this.ee.t6, this.ee.s3, 1); + // @00142144 LW s0, $000c(s1) + MobUt.LW(this.ee, this.ee.s0, (12u + this.ee.s1.UL0)); + // @00142148 DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + // @0014214C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00142150 DADDU a2, s8, zero + this.ee.a2.UD0 = (this.ee.s8.UD0 + this.ee.r0.UD0); + // @00142154 LHU s5, $0000(t6) + MobUt.LHU(this.ee, this.ee.s5, (0u + this.ee.t6.UL0)); + // @00142158 SLL t7, s5, 4 + MobUt.SLL(this.ee.t7, this.ee.s5, 4); + // @0014215C ADDU s0, s0, t7 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); + // @00142160 JAL $00141be8 + this.ee.ra.UL0 = 1319272u; + this.ee.pc = 1317864u; + // @00142164 DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00142140() + { + this.ee.pc = 1319272u; + // @00142140 SLL t6, s3, 1 + MobUt.SLL(this.ee.t6, this.ee.s3, 1); + // @00142144 LW s0, $000c(s1) + MobUt.LW(this.ee, this.ee.s0, (12u + this.ee.s1.UL0)); + // @00142148 DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + // @0014214C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @00142150 DADDU a2, s8, zero + this.ee.a2.UD0 = (this.ee.s8.UD0 + this.ee.r0.UD0); + // @00142154 LHU s5, $0000(t6) + MobUt.LHU(this.ee, this.ee.s5, (0u + this.ee.t6.UL0)); + // @00142158 SLL t7, s5, 4 + MobUt.SLL(this.ee.t7, this.ee.s5, 4); + // @0014215C ADDU s0, s0, t7 + this.ee.s0.SD0 = ((int)((this.ee.s0.SD0 + this.ee.t7.SD0))); + // @00142160 JAL $00141be8 + this.ee.ra.UL0 = 1319272u; + this.ee.pc = 1317864u; + // @00142164 DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00142168() + { + this.ee.pc = 1319316u; + // @00142168 LHU t6, $000a(s0) + MobUt.LHU(this.ee, this.ee.t6, (10u + this.ee.s0.UL0)); + // @0014216C LW t7, $0018(s1) + MobUt.LW(this.ee, this.ee.t7, (24u + this.ee.s1.UL0)); + // @00142170 SLL t6, t6, 4 + MobUt.SLL(this.ee.t6, this.ee.t6, 4); + // @00142174 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @00142178 LQ t0, $0000(t7) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @0014217C SQ t0, $0000(s4) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s4.UL[0])); + // @00142180 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00142184 DADDU a1, s8, zero + this.ee.a1.UD0 = (this.ee.s8.UD0 + this.ee.r0.UD0); + // @00142188 DADDU a2, s4, zero + this.ee.a2.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + // @0014218C JAL $00162670 + this.ee.ra.UL0 = 1319316u; + this.ee.pc = 1451632u; + // @00142190 DADDU a3, sp, zero + this.ee.a3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00142194() + { + this.ee.pc = 1319324u; + // @00142194 BEQ v0, zero, $00142208 + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1319432u; + } + // @00142198 ADDIU t6, sp, $0040 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 64))); + } + + public virtual void funct00142208() + { + this.ee.pc = 1319448u; + // @00142208 ADDIU s3, s3, $0001 + this.ee.s3.SD0 = ((int)((this.ee.s3.SD0 + 1))); + // @0014220C SLT t7, s3, s7 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s3.SD0 < this.ee.s7.SD0)); + // @00142210 BNEL t7, zero, $00142140 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1319232u; + // @00142214 LW t7, $003c(s1) + MobUt.LW(this.ee, this.ee.t7, (60u + this.ee.s1.UL0)); + } + } + + public virtual void funct00142218() + { + this.ee.pc = 1319504u; + // @00142218 LW v0, $0060(sp) + MobUt.LW(this.ee, this.ee.v0, (96u + this.ee.sp.UL0)); + // @0014221C LD s0, $0070(sp) + MobUt.LD(this.ee, this.ee.s0, (112u + this.ee.sp.UL0)); + // @00142220 LD s1, $0078(sp) + MobUt.LD(this.ee, this.ee.s1, (120u + this.ee.sp.UL0)); + // @00142224 LD s2, $0080(sp) + MobUt.LD(this.ee, this.ee.s2, (128u + this.ee.sp.UL0)); + // @00142228 LD s3, $0088(sp) + MobUt.LD(this.ee, this.ee.s3, (136u + this.ee.sp.UL0)); + // @0014222C LD s4, $0090(sp) + MobUt.LD(this.ee, this.ee.s4, (144u + this.ee.sp.UL0)); + // @00142230 LD s5, $0098(sp) + MobUt.LD(this.ee, this.ee.s5, (152u + this.ee.sp.UL0)); + // @00142234 LD s6, $00a0(sp) + MobUt.LD(this.ee, this.ee.s6, (160u + this.ee.sp.UL0)); + // @00142238 LD s7, $00a8(sp) + MobUt.LD(this.ee, this.ee.s7, (168u + this.ee.sp.UL0)); + // @0014223C LD s8, $00b0(sp) + MobUt.LD(this.ee, this.ee.s8, (176u + this.ee.sp.UL0)); + // @00142240 LD ra, $00b8(sp) + MobUt.LD(this.ee, this.ee.ra, (184u + this.ee.sp.UL0)); + // @00142244 LWC1 $f20, $00c0(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (192u + this.ee.sp.UL0)); + // @00142248 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0014224C ADDIU sp, sp, $00d0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 208))); + } + + public virtual void funct00142250() + { + this.ee.pc = 1319592u; + // @00142250 ADDIU sp, sp, $f730 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -2256))); + // @00142254 SD s1, $0898(sp) + MobUt.SD(this.ee, this.ee.s1, (2200u + this.ee.sp.UL0)); + // @00142258 SD s4, $08b0(sp) + MobUt.SD(this.ee, this.ee.s4, (2224u + this.ee.sp.UL0)); + // @0014225C SD s5, $08b8(sp) + MobUt.SD(this.ee, this.ee.s5, (2232u + this.ee.sp.UL0)); + // @00142260 DADDU s1, a0, zero + this.ee.s1.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @00142264 SD s6, $08c0(sp) + MobUt.SD(this.ee, this.ee.s6, (2240u + this.ee.sp.UL0)); + // @00142268 DADDU s4, a2, zero + this.ee.s4.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @0014226C SD s0, $0890(sp) + MobUt.SD(this.ee, this.ee.s0, (2192u + this.ee.sp.UL0)); + // @00142270 DADDU s5, t0, zero + this.ee.s5.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); + // @00142274 SD s2, $08a0(sp) + MobUt.SD(this.ee, this.ee.s2, (2208u + this.ee.sp.UL0)); + // @00142278 DADDU s6, a3, zero + this.ee.s6.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @0014227C SD s3, $08a8(sp) + MobUt.SD(this.ee, this.ee.s3, (2216u + this.ee.sp.UL0)); + // @00142280 SD ra, $08c8(sp) + MobUt.SD(this.ee, this.ee.ra, (2248u + this.ee.sp.UL0)); + // @00142284 LQ t0, $0000(a1) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @00142288 SQ t0, $0000(sp) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @0014228C ADDIU a1, a1, $0010 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @00142290 ADDIU t6, sp, $0010 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00142294 LQ t0, $0000(a1) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @00142298 SQ t0, $0000(t6) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t6.UL[0])); + // @0014229C LBU t7, $00d1(a0) + MobUt.LBU(this.ee, this.ee.t7, (209u + this.ee.a0.UL0)); + // @001422A0 BNE t7, zero, $00142320 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1319712u; + } + // @001422A4 ADDIU s2, sp, $0020 + this.ee.s2.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct00142320() + { + this.ee.pc = 1319724u; + // @00142320 ADDIU s3, sp, $0030 + this.ee.s3.SD0 = ((int)((this.ee.sp.SD0 + 48))); + // @00142324 BEQ s3, sp, $00142338 + if ((this.ee.s3.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1319736u; + } + // @00142328 ADDIU t7, sp, $0040 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); + } + + public virtual void funct0014232c() + { + this.ee.pc = 1319760u; + // @0014232C LQ t0, $0000(sp) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00142330 SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @00142334 ADDIU t7, sp, $0040 + this.ee.t7.SD0 = ((int)((this.ee.sp.SD0 + 64))); + // @00142338 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @0014233C LQC2 vf2, $0000(sp) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.sp.UL0)); + // @00142340 VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @00142344 SQC2 vf1, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00142348 BEQL t7, s2, $0014235c + if ((this.ee.t7.UD0 == this.ee.s2.UD0)) + { + this.ee.pc = 1319772u; + // @0014234C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + } + + public virtual void funct00142350() + { + this.ee.pc = 1319804u; + // @00142350 LQ t0, $0000(s2) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.s2.UL[0])); + // @00142354 SQ t0, $0000(t7) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.t7.UL[0])); + // @00142358 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @0014235C ADDIU s0, sp, $0050 + this.ee.s0.SD0 = ((int)((this.ee.sp.SD0 + 80))); + // @00142360 ADDIU t7, t7, $8740 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30912))); + // @00142364 DADDU a1, sp, zero + this.ee.a1.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @00142368 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0014236C DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @00142370 SWC1 $f0, $003c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (60u + this.ee.sp.UL0)); + // @00142374 JAL $00144878 + this.ee.ra.UL0 = 1319804u; + this.ee.pc = 1329272u; + // @00142378 SWC1 $f0, $004c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[0], (76u + this.ee.sp.UL0)); + } + + public virtual void funct0014237c() + { + this.ee.pc = 1319812u; + // @0014237C JAL $00145090 + this.ee.ra.UL0 = 1319812u; + this.ee.pc = 1331344u; + // @00142380 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00142384() + { + this.ee.pc = 1319820u; + // @00142384 JAL $00141bd0 + this.ee.ra.UL0 = 1319820u; + this.ee.pc = 1317840u; + // @00142388 DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0014238c() + { + this.ee.pc = 1319836u; + // @0014238C DADDU a2, v0, zero + this.ee.a2.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); + // @00142390 DADDU a0, s2, zero + this.ee.a0.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00142394 JAL $001450b0 + this.ee.ra.UL0 = 1319836u; + this.ee.pc = 1331376u; + // @00142398 DADDU a1, s0, zero + this.ee.a1.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0014239c() + { + this.ee.pc = 1319852u; + // @0014239C SH zero, $0070(sp) + MobUt.SH(this.ee, this.ee.r0, (112u + this.ee.sp.UL0)); + // @001423A0 ADDIU a1, sp, $0080 + this.ee.a1.SD0 = ((int)((this.ee.sp.SD0 + 128))); + // @001423A4 JAL $00141be0 + this.ee.ra.UL0 = 1319852u; + this.ee.pc = 1317856u; + // @001423A8 DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001423ac() + { + this.ee.pc = 1319876u; + // @001423AC DADDU a2, s2, zero + this.ee.a2.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @001423B0 ADDIU a3, sp, $0070 + this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 112))); + // @001423B4 DADDU t0, s5, zero + this.ee.t0.UD0 = (this.ee.s5.UD0 + this.ee.r0.UD0); + // @001423B8 DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + // @001423BC JAL $00141e98 + this.ee.ra.UL0 = 1319876u; + this.ee.pc = 1318552u; + // @001423C0 DADDU a1, zero, zero + this.ee.a1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001423c4() + { + this.ee.pc = 1319896u; + // @001423C4 LHU a2, $0070(sp) + MobUt.LHU(this.ee, this.ee.a2, (112u + this.ee.sp.UL0)); + // @001423C8 DADDU a1, s3, zero + this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + // @001423CC DADDU a0, s1, zero + this.ee.a0.UD0 = (this.ee.s1.UD0 + this.ee.r0.UD0); + // @001423D0 JAL $001420d8 + this.ee.ra.UL0 = 1319896u; + this.ee.pc = 1319128u; + // @001423D4 DADDU a3, s4, zero + this.ee.a3.UD0 = (this.ee.s4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001423d8() + { + this.ee.pc = 1319912u; + // @001423D8 SH v0, $0000(s6) + MobUt.SH(this.ee, this.ee.v0, (0u + this.ee.s6.UL0)); + // @001423DC ORI t7, zero, $ffff + this.ee.t7.UD0 = (this.ee.r0.UD0 | 65535); + // @001423E0 BEQ v0, t7, $00142438 + if ((this.ee.v0.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1319992u; + } + // @001423E4 DADDU t6, zero, zero + this.ee.t6.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00142438() + { + this.ee.pc = 1320036u; + // @00142438 LD s0, $0890(sp) + MobUt.LD(this.ee, this.ee.s0, (2192u + this.ee.sp.UL0)); + // @0014243C DADDU v0, t6, zero + this.ee.v0.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); + // @00142440 LD s1, $0898(sp) + MobUt.LD(this.ee, this.ee.s1, (2200u + this.ee.sp.UL0)); + // @00142444 LD s2, $08a0(sp) + MobUt.LD(this.ee, this.ee.s2, (2208u + this.ee.sp.UL0)); + // @00142448 LD s3, $08a8(sp) + MobUt.LD(this.ee, this.ee.s3, (2216u + this.ee.sp.UL0)); + // @0014244C LD s4, $08b0(sp) + MobUt.LD(this.ee, this.ee.s4, (2224u + this.ee.sp.UL0)); + // @00142450 LD s5, $08b8(sp) + MobUt.LD(this.ee, this.ee.s5, (2232u + this.ee.sp.UL0)); + // @00142454 LD s6, $08c0(sp) + MobUt.LD(this.ee, this.ee.s6, (2240u + this.ee.sp.UL0)); + // @00142458 LD ra, $08c8(sp) + MobUt.LD(this.ee, this.ee.ra, (2248u + this.ee.sp.UL0)); + // @0014245C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00142460 ADDIU sp, sp, $08d0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 2256))); + } + + public virtual void funct00143ec8() + { + this.ee.pc = 1326864u; + // @00143EC8 ADDIU sp, sp, $ffb0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -80))); + // @00143ECC DADDU t1, zero, zero + this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00143ED0 SD s2, $0030(sp) + MobUt.SD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); + // @00143ED4 ADDIU t2, sp, $0014 + this.ee.t2.SD0 = ((int)((this.ee.sp.SD0 + 20))); + // @00143ED8 SD s3, $0038(sp) + MobUt.SD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); + // @00143EDC ADDIU t3, zero, $000f + this.ee.t3.SD0 = ((int)((this.ee.r0.SD0 + 15))); + // @00143EE0 SD ra, $0040(sp) + MobUt.SD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); + // @00143EE4 DADDU s2, a1, zero + this.ee.s2.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00143EE8 SD s0, $0020(sp) + MobUt.SD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + // @00143EEC DADDU s3, a0, zero + this.ee.s3.UD0 = (this.ee.a0.UD0 + this.ee.r0.UD0); + // @00143EF0 SD s1, $0028(sp) + MobUt.SD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); + // @00143EF4 ADDIU a2, sp, $0010 + this.ee.a2.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00143EF8 SW zero, $0014(sp) + MobUt.SW(this.ee, this.ee.r0, (20u + this.ee.sp.UL0)); + // @00143EFC ADDIU a3, zero, $0200 + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 512))); + // @00143F00 SW zero, $0000(sp) + MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.sp.UL0)); + // @00143F04 ADDIU t0, zero, $0200 + this.ee.t0.SD0 = ((int)((this.ee.r0.SD0 + 512))); + // @00143F08 JAL $00165aa8 + this.ee.ra.UL0 = 1326864u; + this.ee.pc = 1465000u; + // @00143F0C LUI s1, $0035 + this.ee.s1.SD0 = 3473408; + } + + public virtual void funct00143f10() + { + this.ee.pc = 1326892u; + // @00143F10 LW a0, $5134(s1) + MobUt.LW(this.ee, this.ee.a0, (20788u + this.ee.s1.UL0)); + // @00143F14 DADDU s0, v0, zero + this.ee.s0.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); + // @00143F18 ADDIU a1, zero, $0200 + this.ee.a1.SD0 = ((int)((this.ee.r0.SD0 + 512))); + // @00143F1C ADDIU a2, zero, $0200 + this.ee.a2.SD0 = ((int)((this.ee.r0.SD0 + 512))); + // @00143F20 DADDU a3, zero, zero + this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00143F24 JAL $00141e78 + this.ee.ra.UL0 = 1326892u; + this.ee.pc = 1318520u; + // @00143F28 DADDU t0, zero, zero + this.ee.t0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00143f2c() + { + this.ee.pc = 1326916u; + // @00143F2C LW a0, $5134(s1) + MobUt.LW(this.ee, this.ee.a0, (20788u + this.ee.s1.UL0)); + // @00143F30 DADDU a1, s3, zero + this.ee.a1.UD0 = (this.ee.s3.UD0 + this.ee.r0.UD0); + // @00143F34 DADDU a2, s2, zero + this.ee.a2.UD0 = (this.ee.s2.UD0 + this.ee.r0.UD0); + // @00143F38 ADDIU a3, sp, $0010 + this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00143F3C JAL $00142250 + this.ee.ra.UL0 = 1326916u; + this.ee.pc = 1319504u; + // @00143F40 ADDIU t0, zero, $000f + this.ee.t0.SD0 = ((int)((this.ee.r0.SD0 + 15))); + } + + public virtual void funct00143f44() + { + this.ee.pc = 1326956u; + // @00143F44 OR s0, s0, v0 + this.ee.s0.UD0 = (this.ee.s0.UD0 | this.ee.v0.UD0); + // @00143F48 LD s1, $0028(sp) + MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); + // @00143F4C SLTU s0, zero, s0 + this.ee.s0.UD0 = System.Convert.ToByte((this.ee.r0.UD0 < this.ee.s0.UD0)); + // @00143F50 LD s2, $0030(sp) + MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); + // @00143F54 DADDU v0, s0, zero + this.ee.v0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + // @00143F58 LD s3, $0038(sp) + MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); + // @00143F5C LD s0, $0020(sp) + MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + // @00143F60 LD ra, $0040(sp) + MobUt.LD(this.ee, this.ee.ra, (64u + this.ee.sp.UL0)); + // @00143F64 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00143F68 ADDIU sp, sp, $0050 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 80))); + } + + public virtual void funct00144878() + { + this.ee.pc = 1329296u; + // @00144878 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @0014487C ADDIU a2, a1, $0010 + this.ee.a2.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @00144880 SD ra, $0000(sp) + MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @00144884 LD ra, $0000(sp) + MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @00144888 J $00144a40 + this.ee.pc = 1329728u; + // @0014488C ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00144a40() + { + this.ee.pc = 1329748u; + // @00144A40 LWC1 $f1, $0000(a1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.a1.UL0)); + // @00144A44 LWC1 $f0, $0000(a2) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a2.UL0)); + // @00144A48 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @00144A4C BC1FL $00144ab4 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1329844u; + // @00144A50 SWC1 $f0, $0000(a0) + MobUt.SWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a0.UL0)); + } + } + + public virtual void funct00144a5c() + { + this.ee.pc = 1329780u; + // @00144A5C SWC1 $f0, $000c(a0) + MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a0.UL0)); + // @00144A60 LWC1 $f1, $0004(a1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (4u + this.ee.a1.UL0)); + // @00144A64 LWC1 $f0, $0004(a2) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a2.UL0)); + // @00144A68 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @00144A6C BC1FL $00144aac + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1329836u; + // @00144A70 SWC1 $f0, $0004(a0) + MobUt.SWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a0.UL0)); + } + } + + public virtual void funct00144a74() + { + this.ee.pc = 1329812u; + // @00144A74 SWC1 $f1, $0004(a0) + MobUt.SWC1(this.ee, this.ee.fpr[1], (4u + this.ee.a0.UL0)); + // @00144A78 LWC1 $f0, $0004(a2) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a2.UL0)); + // @00144A7C SWC1 $f0, $0010(a0) + MobUt.SWC1(this.ee, this.ee.fpr[0], (16u + this.ee.a0.UL0)); + // @00144A80 LWC1 $f1, $0008(a1) + MobUt.LWC1(this.ee, this.ee.fpr[1], (8u + this.ee.a1.UL0)); + // @00144A84 LWC1 $f0, $0008(a2) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a2.UL0)); + // @00144A88 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @00144A8C BC1FL $00144aa4 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1329828u; + // @00144A90 SWC1 $f0, $0008(a0) + MobUt.SWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a0.UL0)); + } + } + + public virtual void funct00144a9c() + { + this.ee.pc = 1329828u; + // @00144A9C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00144AA0 SWC1 $f0, $0014(a0) + MobUt.SWC1(this.ee, this.ee.fpr[0], (20u + this.ee.a0.UL0)); + } + + public virtual void funct00144aa4() + { + this.ee.pc = 1329836u; + // @00144AA4 BEQ zero, zero, $00144a9c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1329820u; + } + // @00144AA8 LWC1 $f0, $0008(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a1.UL0)); + } + + public virtual void funct00144ab4() + { + this.ee.pc = 1329852u; + // @00144AB4 BEQ zero, zero, $00144a5c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1329756u; + } + // @00144AB8 LWC1 $f0, $0000(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a1.UL0)); + } + + public virtual void funct00145090() + { + this.ee.pc = 1331372u; + // @00145090 SH zero, $0000(a0) + MobUt.SH(this.ee, this.ee.r0, (0u + this.ee.a0.UL0)); + // @00145094 SH zero, $000a(a0) + MobUt.SH(this.ee, this.ee.r0, (10u + this.ee.a0.UL0)); + // @00145098 SH zero, $0008(a0) + MobUt.SH(this.ee, this.ee.r0, (8u + this.ee.a0.UL0)); + // @0014509C SH zero, $0006(a0) + MobUt.SH(this.ee, this.ee.r0, (6u + this.ee.a0.UL0)); + // @001450A0 SH zero, $0004(a0) + MobUt.SH(this.ee, this.ee.r0, (4u + this.ee.a0.UL0)); + // @001450A4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @001450A8 SH zero, $0002(a0) + MobUt.SH(this.ee, this.ee.r0, (2u + this.ee.a0.UL0)); + } + + public virtual void funct001450b0() + { + this.ee.pc = 1331424u; + // @001450B0 LUI t7, $0035 + this.ee.t7.SD0 = 3473408; + // @001450B4 LWC1 $f0, $0000(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.a1.UL0)); + // @001450B8 SLL t6, a2, 2 + MobUt.SLL(this.ee.t6, this.ee.a2, 2); + // @001450BC ADDIU t7, t7, $5660 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 22112))); + // @001450C0 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001450C4 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @001450C8 LUI t7, $0035 + this.ee.t7.SD0 = 3473408; + // @001450CC SUB.S $f1, $f0, $f2 + this.ee.fpr[1].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); + // @001450D0 ADDIU t7, t7, $5670 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 22128))); + // @001450D4 ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @001450D8 BEQ a2, zero, $001450e4 + if ((this.ee.a2.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1331428u; + } + // @001450DC LWC1 $f3, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t6.UL0)); + } + + public virtual void funct001450e4() + { + this.ee.pc = 1331452u; + // @001450E4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @001450E8 ADDIU t7, t7, $87d4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30764))); + // @001450EC LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001450F0 C.LT.S $f0, $f1 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); + // @001450F4 BC1TL $00145134 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1331508u; + // @001450F8 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + } + } + + public virtual void funct00145134() + { + this.ee.pc = 1331528u; + // @00145134 MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + // @00145138 SH t7, $0000(a0) + MobUt.SH(this.ee, this.ee.t7, (0u + this.ee.a0.UL0)); + // @0014513C LWC1 $f0, $0004(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (4u + this.ee.a1.UL0)); + // @00145140 BEQ a2, zero, $0014514c + if ((this.ee.a2.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1331532u; + } + // @00145144 SUB.S $f1, $f0, $f2 + this.ee.fpr[1].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); + } + + public virtual void funct0014514c() + { + this.ee.pc = 1331556u; + // @0014514C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00145150 ADDIU t7, t7, $87d4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30764))); + // @00145154 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00145158 C.LT.S $f0, $f1 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); + // @0014515C BC1TL $0014519c + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1331612u; + // @00145160 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + } + } + + public virtual void funct0014519c() + { + this.ee.pc = 1331632u; + // @0014519C MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + // @001451A0 SH t7, $0002(a0) + MobUt.SH(this.ee, this.ee.t7, (2u + this.ee.a0.UL0)); + // @001451A4 LWC1 $f0, $0008(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (8u + this.ee.a1.UL0)); + // @001451A8 BEQ a2, zero, $001451b4 + if ((this.ee.a2.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1331636u; + } + // @001451AC SUB.S $f1, $f0, $f2 + this.ee.fpr[1].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); + } + + public virtual void funct001451b4() + { + this.ee.pc = 1331660u; + // @001451B4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @001451B8 ADDIU t7, t7, $87d4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30764))); + // @001451BC LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001451C0 C.LT.S $f0, $f1 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); + // @001451C4 BC1TL $00145204 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1331716u; + // @001451C8 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + } + } + + public virtual void funct00145204() + { + this.ee.pc = 1331736u; + // @00145204 MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + // @00145208 SH t7, $0004(a0) + MobUt.SH(this.ee, this.ee.t7, (4u + this.ee.a0.UL0)); + // @0014520C LWC1 $f0, $000c(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a1.UL0)); + // @00145210 BEQ a2, zero, $0014521c + if ((this.ee.a2.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1331740u; + } + // @00145214 ADD.S $f1, $f0, $f2 + this.ee.fpr[1].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + } + + public virtual void funct0014521c() + { + this.ee.pc = 1331764u; + // @0014521C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00145220 ADDIU t7, t7, $87e0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30752))); + // @00145224 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00145228 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @0014522C BC1TL $0014526c + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1331820u; + // @00145230 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + } + } + + public virtual void funct0014526c() + { + this.ee.pc = 1331840u; + // @0014526C MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + // @00145270 SH t7, $0006(a0) + MobUt.SH(this.ee, this.ee.t7, (6u + this.ee.a0.UL0)); + // @00145274 LWC1 $f0, $0010(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (16u + this.ee.a1.UL0)); + // @00145278 BEQ a2, zero, $00145284 + if ((this.ee.a2.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1331844u; + } + // @0014527C ADD.S $f1, $f0, $f2 + this.ee.fpr[1].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + } + + public virtual void funct00145284() + { + this.ee.pc = 1331868u; + // @00145284 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00145288 ADDIU t7, t7, $87e0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30752))); + // @0014528C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00145290 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @00145294 BC1TL $001452d4 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1331924u; + // @00145298 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + } + } + + public virtual void funct001452d4() + { + this.ee.pc = 1331944u; + // @001452D4 MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + // @001452D8 SH t7, $0008(a0) + MobUt.SH(this.ee, this.ee.t7, (8u + this.ee.a0.UL0)); + // @001452DC LWC1 $f0, $0014(a1) + MobUt.LWC1(this.ee, this.ee.fpr[0], (20u + this.ee.a1.UL0)); + // @001452E0 BEQ a2, zero, $001452ec + if ((this.ee.a2.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1331948u; + } + // @001452E4 ADD.S $f1, $f0, $f2 + this.ee.fpr[1].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + } + + public virtual void funct001452ec() + { + this.ee.pc = 1331972u; + // @001452EC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @001452F0 ADDIU t7, t7, $87e0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -30752))); + // @001452F4 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @001452F8 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @001452FC BC1TL $0014533c + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1332028u; + // @00145300 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + } + } + + public virtual void funct0014533c() + { + this.ee.pc = 1332040u; + // @0014533C MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + // @00145340 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00145344 SH t7, $000a(a0) + MobUt.SH(this.ee, this.ee.t7, (10u + this.ee.a0.UL0)); + } + + public virtual void funct001457e0() + { + this.ee.pc = 1333236u; + // @001457E0 LH t7, $0006(a0) + MobUt.LH(this.ee, this.ee.t7, (6u + this.ee.a0.UL0)); + // @001457E4 LH t6, $0000(a1) + MobUt.LH(this.ee, this.ee.t6, (0u + this.ee.a1.UL0)); + // @001457E8 SLT t7, t7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); + // @001457EC BNE t7, zero, $00145854 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1333332u; + } + // @001457F0 DADDU v0, zero, zero + this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001457f4() + { + this.ee.pc = 1333256u; + // @001457F4 LH t6, $0000(a0) + MobUt.LH(this.ee, this.ee.t6, (0u + this.ee.a0.UL0)); + // @001457F8 LH t7, $0006(a1) + MobUt.LH(this.ee, this.ee.t7, (6u + this.ee.a1.UL0)); + // @001457FC SLT t7, t7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); + // @00145800 BNE t7, zero, $00145854 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1333332u; + } + // @00145804 NOP + MobUt.Latency(); + } + + public virtual void funct00145808() + { + this.ee.pc = 1333276u; + // @00145808 LH t7, $0008(a0) + MobUt.LH(this.ee, this.ee.t7, (8u + this.ee.a0.UL0)); + // @0014580C LH t6, $0002(a1) + MobUt.LH(this.ee, this.ee.t6, (2u + this.ee.a1.UL0)); + // @00145810 SLT t7, t7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); + // @00145814 BNE t7, zero, $00145854 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1333332u; + } + // @00145818 NOP + MobUt.Latency(); + } + + public virtual void funct0014581c() + { + this.ee.pc = 1333296u; + // @0014581C LH t6, $0002(a0) + MobUt.LH(this.ee, this.ee.t6, (2u + this.ee.a0.UL0)); + // @00145820 LH t7, $0008(a1) + MobUt.LH(this.ee, this.ee.t7, (8u + this.ee.a1.UL0)); + // @00145824 SLT t7, t7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); + // @00145828 BNE t7, zero, $00145854 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1333332u; + } + // @0014582C NOP + MobUt.Latency(); + } + + public virtual void funct00145830() + { + this.ee.pc = 1333316u; + // @00145830 LH t7, $000a(a0) + MobUt.LH(this.ee, this.ee.t7, (10u + this.ee.a0.UL0)); + // @00145834 LH t6, $0004(a1) + MobUt.LH(this.ee, this.ee.t6, (4u + this.ee.a1.UL0)); + // @00145838 SLT t7, t7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); + // @0014583C BNE t7, zero, $00145854 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1333332u; + } + // @00145840 NOP + MobUt.Latency(); + } + + public virtual void funct00145844() + { + this.ee.pc = 1333340u; + // @00145844 LH t6, $0004(a0) + MobUt.LH(this.ee, this.ee.t6, (4u + this.ee.a0.UL0)); + // @00145848 LH t7, $000a(a1) + MobUt.LH(this.ee, this.ee.t7, (10u + this.ee.a1.UL0)); + // @0014584C SLT t7, t7, t6 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t6.SD0)); + // @00145850 SLTIU v0, t7, $0001 + this.ee.v0.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < 1ul)); + // @00145854 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00145858 NOP + MobUt.Latency(); + } + + public virtual void funct00145854() + { + this.ee.pc = 1333340u; + // @00145854 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00145858 NOP + MobUt.Latency(); + } + + public virtual void funct001622f8() + { + this.ee.pc = 1450784u; + // @001622F8 ADDIU sp, sp, $ff90 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -112))); + // @001622FC LW v0, $0010(a0) + MobUt.LW(this.ee, this.ee.v0, (16u + this.ee.a0.UL0)); + // @00162300 SD s0, $0040(sp) + MobUt.SD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); + // @00162304 ADDIU t7, zero, $0003 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 3))); + // @00162308 SD s1, $0048(sp) + MobUt.SD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); + // @0016230C SD s2, $0050(sp) + MobUt.SD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); + // @00162310 SD s3, $0058(sp) + MobUt.SD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); + // @00162314 SD s4, $0060(sp) + MobUt.SD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); + // @00162318 BNE v0, t7, $0016246c + if ((this.ee.v0.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 1451116u; + } + // @0016231C LUI t7, $0036 + this.ee.t7.SD0 = 3538944; + } + + public virtual void funct00162328() + { + this.ee.pc = 1450800u; + // @00162328 BLEZ v0, $00162464 + if ((this.ee.v0.SD0 <= 0)) + { + this.ee.pc = 1451108u; + } + // @0016232C DADDU t1, zero, zero + this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00162330() + { + this.ee.pc = 1450904u; + // @00162330 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00162334 ADDIU t3, sp, $0030 + this.ee.t3.SD0 = ((int)((this.ee.sp.SD0 + 48))); + // @00162338 ADDIU t7, t7, $8ce0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -29472))); + // @0016233C ADDIU v1, sp, $0010 + this.ee.v1.SD0 = ((int)((this.ee.sp.SD0 + 16))); + // @00162340 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00162344 ADDIU a3, sp, $0020 + this.ee.a3.SD0 = ((int)((this.ee.sp.SD0 + 32))); + // @00162348 DADDU s3, sp, zero + this.ee.s3.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @0016234C DADDU s2, t3, zero + this.ee.s2.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @00162350 DADDU s1, t3, zero + this.ee.s1.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @00162354 DADDU s0, v1, zero + this.ee.s0.UD0 = (this.ee.v1.UD0 + this.ee.r0.UD0); + // @00162358 DADDU t9, sp, zero + this.ee.t9.UD0 = (this.ee.sp.UD0 + this.ee.r0.UD0); + // @0016235C DADDU t8, t3, zero + this.ee.t8.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @00162360 SLL t6, t1, 2 + MobUt.SLL(this.ee.t6, this.ee.t1, 2); + // @00162364 ADDU t5, t6, s4 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.s4.SD0))); + // @00162368 ADDU t2, t6, a0 + this.ee.t2.SD0 = ((int)((this.ee.t6.SD0 + this.ee.a0.SD0))); + // @0016236C LW t7, $0000(t5) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t5.UL0)); + // @00162370 LW t4, $0000(t2) + MobUt.LW(this.ee, this.ee.t4, (0u + this.ee.t2.UL0)); + // @00162374 SLL t7, t7, 2 + MobUt.SLL(this.ee.t7, this.ee.t7, 2); + // @00162378 ADDU t7, t7, a0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.a0.SD0))); + // @0016237C LW t6, $0000(t7) + MobUt.LW(this.ee, this.ee.t6, (0u + this.ee.t7.UL0)); + // @00162380 LQC2 vf1, $0000(t6) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t6.UL0)); + // @00162384 LQC2 vf2, $0000(t4) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t4.UL0)); + // @00162388 VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @0016238C SQC2 vf1, $0000(s2) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s2.UL0)); + // @00162390 BEQL sp, t3, $001623a4 + if ((this.ee.sp.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1450916u; + // @00162394 LW t7, $0000(t2) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t2.UL0)); + } + } + + public virtual void funct00162398() + { + this.ee.pc = 1450940u; + // @00162398 LQ t0, $0000(t3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @0016239C SQ t0, $0000(s3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.s3.UL[0])); + // @001623A0 LW t7, $0000(t2) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t2.UL0)); + // @001623A4 LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @001623A8 LQC2 vf2, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t7.UL0)); + // @001623AC VSUB.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x - this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y - this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z - this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w - this.ee.VF[2].w); + // @001623B0 SQC2 vf1, $0000(s1) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.s1.UL0)); + // @001623B4 BEQ v1, t3, $001623c4 + if ((this.ee.v1.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1450948u; + } + // @001623B8 NOP + MobUt.Latency(); + } + + public virtual void funct001623bc() + { + this.ee.pc = 1450980u; + // @001623BC LQ t0, $0000(t3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @001623C0 SQ t0, $0000(v1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.v1.UL[0])); + // @001623C4 LQC2 vf1, $0000(s0) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.s0.UL0)); + // @001623C8 LQC2 vf2, $0000(t9) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t9.UL0)); + // @001623CC VSUB.xyzw vf3, vf0, vf0 + this.ee.VF[3].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[3].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[3].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[3].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @001623D0 VOPMULA.xyz ACC, vf1, vf2 + this.ee.Vacc.x = (this.ee.VF[1].y * this.ee.VF[2].z); + this.ee.Vacc.y = (this.ee.VF[1].z * this.ee.VF[2].x); + this.ee.Vacc.z = (this.ee.VF[1].x * this.ee.VF[2].y); + // @001623D4 VOPMSUB.xyz vf3, vf2, vf1 + this.ee.VF[3].x = MobUt.OPMSUB(this.ee.Vacc.x, this.ee.VF[2].y, this.ee.VF[1].z); + this.ee.VF[3].y = MobUt.OPMSUB(this.ee.Vacc.y, this.ee.VF[2].z, this.ee.VF[1].x); + this.ee.VF[3].z = MobUt.OPMSUB(this.ee.Vacc.z, this.ee.VF[2].x, this.ee.VF[1].y); + // @001623D8 SQC2 vf3, $0000(t8) + MobUt.SQC2(this.ee, this.ee.VF[3], (0u + this.ee.t8.UL0)); + // @001623DC BEQ a3, t3, $001623ec + if ((this.ee.a3.UD0 == this.ee.t3.UD0)) + { + this.ee.pc = 1450988u; + } + // @001623E0 NOP + MobUt.Latency(); + } + + public virtual void funct001623e4() + { + this.ee.pc = 1451032u; + // @001623E4 LQ t0, $0000(t3) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.t3.UL[0])); + // @001623E8 SQ t0, $0000(a3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); + // @001623EC LQC2 vf1, $0000(a3) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a3.UL0)); + // @001623F0 LQC2 vf2, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a2.UL0)); + // @001623F4 VMUL.xyz vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + // @001623F8 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @001623FC VADDz.x vf1, vf1, vf1z + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @00162400 QMFC2 t0, vf1 + MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); + // @00162404 MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @00162408 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @0016240C ADDIU t1, t1, $0001 + this.ee.t1.SD0 = ((int)((this.ee.t1.SD0 + 1))); + // @00162410 BC1F $00162448 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 1451080u; + } + // @00162414 SLT t7, t1, v0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t1.SD0 < this.ee.v0.SD0)); + } + + public virtual void funct00162418() + { + this.ee.pc = 1451044u; + // @00162418 DADDU t7, a3, zero + this.ee.t7.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @0016241C BEQ sp, t7, $0016242c + if ((this.ee.sp.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1451052u; + } + // @00162420 DADDU v0, zero, zero + this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct0016241c() + { + this.ee.pc = 1451044u; + // @0016241C BEQ sp, t7, $0016242c + if ((this.ee.sp.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 1451052u; + } + // @00162420 DADDU v0, zero, zero + this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00162424() + { + this.ee.pc = 1451052u; + // @00162424 BEQ zero, zero, $0016241c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1451036u; + } + // @00162428 ADDIU t7, t7, $fff0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -16))); + } + + public virtual void funct0016242c() + { + this.ee.pc = 1451080u; + // @0016242C LD s0, $0040(sp) + MobUt.LD(this.ee, this.ee.s0, (64u + this.ee.sp.UL0)); + // @00162430 LD s1, $0048(sp) + MobUt.LD(this.ee, this.ee.s1, (72u + this.ee.sp.UL0)); + // @00162434 LD s2, $0050(sp) + MobUt.LD(this.ee, this.ee.s2, (80u + this.ee.sp.UL0)); + // @00162438 LD s3, $0058(sp) + MobUt.LD(this.ee, this.ee.s3, (88u + this.ee.sp.UL0)); + // @0016243C LD s4, $0060(sp) + MobUt.LD(this.ee, this.ee.s4, (96u + this.ee.sp.UL0)); + // @00162440 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00162444 ADDIU sp, sp, $0070 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); + } + + public virtual void funct0016246c() + { + this.ee.pc = 1451124u; + // @0016246C BEQ zero, zero, $00162328 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1450792u; + } + // @00162470 ADDIU s4, t7, $a090 + this.ee.s4.SD0 = ((int)((this.ee.t7.SD0 + -24432))); + } + + public virtual void funct00162670() + { + this.ee.pc = 1451696u; + // @00162670 ADDIU sp, sp, $ffe0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); + // @00162674 DADDU t4, a1, zero + this.ee.t4.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00162678 SD ra, $0010(sp) + MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @0016267C DADDU a1, a3, zero + this.ee.a1.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @00162680 ADDIU t5, a0, $0010 + this.ee.t5.SD0 = ((int)((this.ee.a0.SD0 + 16))); + // @00162684 LQC2 vf1, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); + // @00162688 LQC2 vf2, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t5.UL0)); + // @0016268C VMUL.xyz vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + // @00162690 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @00162694 VADDz.x vf1, vf1, vf1z + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @00162698 QMFC2 t0, vf1 + MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); + // @0016269C MTC1 t0, $f2 + this.ee.fpr[2].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @001626A0 MTC1 zero, $f3 + this.ee.fpr[3].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @001626A4 C.LE.S $f3, $f2 + this.ee.fcr31_23 = (this.ee.fpr[3].f <= this.ee.fpr[2].f); + // @001626A8 BC1T $00162774 + if (this.ee.fcr31_23) + { + this.ee.pc = 1451892u; + } + // @001626AC DADDU v0, zero, zero + this.ee.v0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct001626b0() + { + this.ee.pc = 1451796u; + // @001626B0 LW t7, $0000(t4) + MobUt.LW(this.ee, this.ee.t7, (0u + this.ee.t4.UL0)); + // @001626B4 LQC2 vf1, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); + // @001626B8 LQC2 vf2, $0000(t7) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.t7.UL0)); + // @001626BC VMUL.xyz vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + // @001626C0 VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @001626C4 VADDz.x vf1, vf1, vf1z + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @001626C8 QMFC2 t0, vf1 + MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); + // @001626CC MTC1 t0, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @001626D0 LQC2 vf1, $0000(a2) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a2.UL0)); + // @001626D4 LQC2 vf2, $0000(a0) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); + // @001626D8 VMUL.xyz vf1, vf1, vf2 + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].y); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].z); + // @001626DC VADDy.x vf1, vf1, vf1y + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].y); + // @001626E0 VADDz.x vf1, vf1, vf1z + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[1].z); + // @001626E4 QMFC2 t0, vf1 + MobUt.QMFC2(this.ee.t0, this.ee.VF[1]); + // @001626E8 MTC1 t0, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t0.UL[0]); + // @001626EC SUB.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + // @001626F0 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @001626F4 ADDIU t7, t7, $8ce8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + -29464))); + // @001626F8 NOP + MobUt.Latency(); + // @001626FC NOP + MobUt.Latency(); + // @00162700 DIV.S $f1, $f1, $f2 + this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[2].f); + // @00162704 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00162708 C.LT.S $f0, $f1 + this.ee.fcr31_23 = (this.ee.fpr[0].f < this.ee.fpr[1].f); + // @0016270C BC1TL $00162778 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1451896u; + // @00162710 LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + } + } + + public virtual void funct00162714() + { + this.ee.pc = 1451808u; + // @00162714 C.LT.S $f1, $f3 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[3].f); + // @00162718 BC1TL $00162778 + if ((this.ee.fcr31_23 == true)) + { + this.ee.pc = 1451896u; + // @0016271C LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + } + } + + public virtual void funct00162720() + { + this.ee.pc = 1451836u; + // @00162720 LQC2 vf1, $0000(t5) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.t5.UL0)); + // @00162724 MFC1 t0, $f1 + MobUt.MFC1(this.ee.t0, this.ee.fpr[1]); + // @00162728 QMTC2 t0, vf2 + MobUt.QMTC2(this.ee.t0, this.ee.VF[2]); + // @0016272C VMULx.xyzw vf1, vf1, vf2x + this.ee.VF[1].x = MobUt.MUL(this.ee.VF[1].x, this.ee.VF[2].x); + this.ee.VF[1].y = MobUt.MUL(this.ee.VF[1].y, this.ee.VF[2].x); + this.ee.VF[1].z = MobUt.MUL(this.ee.VF[1].z, this.ee.VF[2].x); + this.ee.VF[1].w = MobUt.MUL(this.ee.VF[1].w, this.ee.VF[2].x); + // @00162730 SQC2 vf1, $0000(sp) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00162734 BEQ a3, sp, $00162744 + if ((this.ee.a3.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1451844u; + } + // @00162738 NOP + MobUt.Latency(); + } + + public virtual void funct0016273c() + { + this.ee.pc = 1451868u; + // @0016273C LQ t0, $0000(sp) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00162740 SQ t0, $0000(a3) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a3.UL[0])); + // @00162744 LQC2 vf1, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[1], (0u + this.ee.a1.UL0)); + // @00162748 LQC2 vf2, $0000(a0) + MobUt.LQC2(this.ee, this.ee.VF[2], (0u + this.ee.a0.UL0)); + // @0016274C VADD.xyzw vf1, vf1, vf2 + this.ee.VF[1].x = (this.ee.VF[1].x + this.ee.VF[2].x); + this.ee.VF[1].y = (this.ee.VF[1].y + this.ee.VF[2].y); + this.ee.VF[1].z = (this.ee.VF[1].z + this.ee.VF[2].z); + this.ee.VF[1].w = (this.ee.VF[1].w + this.ee.VF[2].w); + // @00162750 SQC2 vf1, $0000(sp) + MobUt.SQC2(this.ee, this.ee.VF[1], (0u + this.ee.sp.UL0)); + // @00162754 BEQL a1, sp, $00162768 + if ((this.ee.a1.UD0 == this.ee.sp.UD0)) + { + this.ee.pc = 1451880u; + // @00162758 SWC1 $f0, $000c(a1) + MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a1.UL0)); + } + } + + public virtual void funct0016275c() + { + this.ee.pc = 1451888u; + // @0016275C LQ t0, $0000(sp) + MobUt.LQ(this.ee, this.ee.t0, (0u + this.ee.sp.UL[0])); + // @00162760 SQ t0, $0000(a1) + MobUt.SQ(this.ee, this.ee.t0, (0u + this.ee.a1.UL[0])); + // @00162764 SWC1 $f0, $000c(a1) + MobUt.SWC1(this.ee, this.ee.fpr[0], (12u + this.ee.a1.UL0)); + // @00162768 JAL $001622f8 + this.ee.ra.UL0 = 1451888u; + this.ee.pc = 1450744u; + // @0016276C DADDU a0, t4, zero + this.ee.a0.UD0 = (this.ee.t4.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00162770() + { + this.ee.pc = 1451904u; + // @00162770 SLTU v0, zero, v0 + this.ee.v0.UD0 = System.Convert.ToByte((this.ee.r0.UD0 < this.ee.v0.UD0)); + // @00162774 LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @00162778 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0016277C ADDIU sp, sp, $0020 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct00162778() + { + this.ee.pc = 1451904u; + // @00162778 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0016277C ADDIU sp, sp, $0020 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct00165aa8() + { + this.ee.pc = 1465116u; + // @00165AA8 ADDIU sp, sp, $ff90 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -112))); + // @00165AAC SW zero, $0000(t2) + MobUt.SW(this.ee, this.ee.r0, (0u + this.ee.t2.UL0)); + // @00165AB0 ADDIU t7, zero, $ffff + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -1))); + // @00165AB4 SD s0, $0020(sp) + MobUt.SD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + // @00165AB8 SH t7, $0010(sp) + MobUt.SH(this.ee, this.ee.t7, (16u + this.ee.sp.UL0)); + // @00165ABC ADDIU t6, sp, $0070 + this.ee.t6.SD0 = ((int)((this.ee.sp.SD0 + 112))); + // @00165AC0 SD s2, $0030(sp) + MobUt.SD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); + // @00165AC4 DADDU s0, zero, zero + this.ee.s0.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00165AC8 SD s3, $0038(sp) + MobUt.SD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); + // @00165ACC SD s4, $0040(sp) + MobUt.SD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); + // @00165AD0 ANDI s2, t1, $00ff + this.ee.s2.UD0 = ((ushort)((this.ee.t1.US0 & 255))); + // @00165AD4 SD s5, $0048(sp) + MobUt.SD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); + // @00165AD8 DADDU s3, t0, zero + this.ee.s3.UD0 = (this.ee.t0.UD0 + this.ee.r0.UD0); + // @00165ADC SD s6, $0050(sp) + MobUt.SD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); + // @00165AE0 DADDU s4, a3, zero + this.ee.s4.UD0 = (this.ee.a3.UD0 + this.ee.r0.UD0); + // @00165AE4 SD s7, $0058(sp) + MobUt.SD(this.ee, this.ee.s7, (88u + this.ee.sp.UL0)); + // @00165AE8 DADDU s5, a1, zero + this.ee.s5.UD0 = (this.ee.a1.UD0 + this.ee.r0.UD0); + // @00165AEC SD s8, $0060(sp) + MobUt.SD(this.ee, this.ee.s8, (96u + this.ee.sp.UL0)); + // @00165AF0 DADDU s6, a2, zero + this.ee.s6.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @00165AF4 SH t7, $0000(a2) + MobUt.SH(this.ee, this.ee.t7, (0u + this.ee.a2.UL0)); + // @00165AF8 DADDU s7, t2, zero + this.ee.s7.UD0 = (this.ee.t2.UD0 + this.ee.r0.UD0); + // @00165AFC SD s1, $0028(sp) + MobUt.SD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); + // @00165B00 DADDU s8, t3, zero + this.ee.s8.UD0 = (this.ee.t3.UD0 + this.ee.r0.UD0); + // @00165B04 SD ra, $0068(sp) + MobUt.SD(this.ee, this.ee.ra, (104u + this.ee.sp.UL0)); + // @00165B08 SW a0, $0014(sp) + MobUt.SW(this.ee, this.ee.a0, (20u + this.ee.sp.UL0)); + // @00165B0C LW s1, $0000(t6) + MobUt.LW(this.ee, this.ee.s1, (0u + this.ee.t6.UL0)); + // @00165B10 SW zero, $0018(sp) + MobUt.SW(this.ee, this.ee.r0, (24u + this.ee.sp.UL0)); + // @00165B14 JAL $00165be0 + this.ee.ra.UL0 = 1465116u; + this.ee.pc = 1465312u; + // @00165B18 DADDU a0, s0, zero + this.ee.a0.UD0 = (this.ee.s0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00165b1c() + { + this.ee.pc = 1465124u; + // @00165B1C BNE v0, zero, $00165b58 + if ((this.ee.v0.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 1465176u; + } + // @00165B20 DADDU s0, v0, zero + this.ee.s0.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00165b24() + { + this.ee.pc = 1465176u; + // @00165B24 LW v0, $0018(sp) + MobUt.LW(this.ee, this.ee.v0, (24u + this.ee.sp.UL0)); + // @00165B28 LD s0, $0020(sp) + MobUt.LD(this.ee, this.ee.s0, (32u + this.ee.sp.UL0)); + // @00165B2C LD s1, $0028(sp) + MobUt.LD(this.ee, this.ee.s1, (40u + this.ee.sp.UL0)); + // @00165B30 LD s2, $0030(sp) + MobUt.LD(this.ee, this.ee.s2, (48u + this.ee.sp.UL0)); + // @00165B34 LD s3, $0038(sp) + MobUt.LD(this.ee, this.ee.s3, (56u + this.ee.sp.UL0)); + // @00165B38 LD s4, $0040(sp) + MobUt.LD(this.ee, this.ee.s4, (64u + this.ee.sp.UL0)); + // @00165B3C LD s5, $0048(sp) + MobUt.LD(this.ee, this.ee.s5, (72u + this.ee.sp.UL0)); + // @00165B40 LD s6, $0050(sp) + MobUt.LD(this.ee, this.ee.s6, (80u + this.ee.sp.UL0)); + // @00165B44 LD s7, $0058(sp) + MobUt.LD(this.ee, this.ee.s7, (88u + this.ee.sp.UL0)); + // @00165B48 LD s8, $0060(sp) + MobUt.LD(this.ee, this.ee.s8, (96u + this.ee.sp.UL0)); + // @00165B4C LD ra, $0068(sp) + MobUt.LD(this.ee, this.ee.ra, (104u + this.ee.sp.UL0)); + // @00165B50 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00165B54 ADDIU sp, sp, $0070 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 112))); + } + + public virtual void funct00165be0() + { + this.ee.pc = 1465328u; + // @00165BE0 LUI t7, $0052 + this.ee.t7.SD0 = 5373952; + // @00165BE4 LW t6, $e8c0(t7) + MobUt.LW(this.ee, this.ee.t6, (4294961344u + this.ee.t7.UL0)); + // @00165BE8 BEQ a0, zero, $00165bf4 + if ((this.ee.a0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1465332u; + } + // @00165BEC DADDU v0, t6, zero + this.ee.v0.UD0 = (this.ee.t6.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00165bf4() + { + this.ee.pc = 1465340u; + // @00165BF4 BEQ v0, zero, $00165c0c + if ((this.ee.v0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 1465356u; + } + // @00165BF8 DADDU a0, v0, zero + this.ee.a0.UD0 = (this.ee.v0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00165c0c() + { + this.ee.pc = 1465364u; + // @00165C0C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00165C10 NOP + MobUt.Latency(); + } + + public virtual void funct002fa938() + { + this.ee.pc = 3123608u; + // @002FA938 LUI t0, $0037 + this.ee.t0.SD0 = 3604480; + // @002FA93C ADDIU t0, t0, $12e0 + this.ee.t0.SD0 = ((int)((this.ee.t0.SD0 + 4832))); + // @002FA940 LQC2 vf5, $0000(t0) + MobUt.LQC2(this.ee, this.ee.VF[5], (0u + this.ee.t0.UL0)); + // @002FA944 VMR32.w vf6, vf6 + this.ee.VF[6].w = this.ee.VF[6].x; + // @002FA948 VADDx.x vf4, vf0, vf6x + this.ee.VF[4].x = (this.ee.VF[0].x + this.ee.VF[6].x); + // @002FA94C VMUL.x vf6, vf6, vf6 + this.ee.VF[6].x = MobUt.MUL(this.ee.VF[6].x, this.ee.VF[6].x); + // @002FA950 VMULx.yzw vf4, vf4, vf0x + this.ee.VF[4].y = MobUt.MUL(this.ee.VF[4].y, this.ee.VF[0].x); + this.ee.VF[4].z = MobUt.MUL(this.ee.VF[4].z, this.ee.VF[0].x); + this.ee.VF[4].w = MobUt.MUL(this.ee.VF[4].w, this.ee.VF[0].x); + // @002FA954 VMULw.xyzw vf8, vf5, vf6w + this.ee.VF[8].x = MobUt.MUL(this.ee.VF[5].x, this.ee.VF[6].w); + this.ee.VF[8].y = MobUt.MUL(this.ee.VF[5].y, this.ee.VF[6].w); + this.ee.VF[8].z = MobUt.MUL(this.ee.VF[5].z, this.ee.VF[6].w); + this.ee.VF[8].w = MobUt.MUL(this.ee.VF[5].w, this.ee.VF[6].w); + // @002FA958 VSUB.xyzw vf5, vf0, vf0 + this.ee.VF[5].x = (this.ee.VF[0].x - this.ee.VF[0].x); + this.ee.VF[5].y = (this.ee.VF[0].y - this.ee.VF[0].y); + this.ee.VF[5].z = (this.ee.VF[0].z - this.ee.VF[0].z); + this.ee.VF[5].w = (this.ee.VF[0].w - this.ee.VF[0].w); + // @002FA95C VMULx.xyzw vf8, vf8, vf6x + this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); + this.ee.VF[8].y = MobUt.MUL(this.ee.VF[8].y, this.ee.VF[6].x); + this.ee.VF[8].z = MobUt.MUL(this.ee.VF[8].z, this.ee.VF[6].x); + this.ee.VF[8].w = MobUt.MUL(this.ee.VF[8].w, this.ee.VF[6].x); + // @002FA960 VMULx.xyz vf8, vf8, vf6x + this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); + this.ee.VF[8].y = MobUt.MUL(this.ee.VF[8].y, this.ee.VF[6].x); + this.ee.VF[8].z = MobUt.MUL(this.ee.VF[8].z, this.ee.VF[6].x); + // @002FA964 VADDw.x vf4, vf4, vf8w + this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].w); + // @002FA968 VMULx.xy vf8, vf8, vf6x + this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); + this.ee.VF[8].y = MobUt.MUL(this.ee.VF[8].y, this.ee.VF[6].x); + // @002FA96C VADDz.x vf4, vf4, vf8z + this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].z); + // @002FA970 VMULx.x vf8, vf8, vf6x + this.ee.VF[8].x = MobUt.MUL(this.ee.VF[8].x, this.ee.VF[6].x); + // @002FA974 VADDy.x vf4, vf4, vf8y + this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].y); + // @002FA978 VADDx.x vf4, vf4, vf8x + this.ee.VF[4].x = (this.ee.VF[4].x + this.ee.VF[8].x); + // @002FA97C VADDx.xy vf4, vf5, vf4x + this.ee.VF[4].x = (this.ee.VF[5].x + this.ee.VF[4].x); + this.ee.VF[4].y = (this.ee.VF[5].y + this.ee.VF[4].x); + // @002FA980 VMUL.x vf7, vf4, vf4 + this.ee.VF[7].x = MobUt.MUL(this.ee.VF[4].x, this.ee.VF[4].x); + // @002FA984 VSUBx.w vf7, vf0, vf7x + this.ee.VF[7].w = (this.ee.VF[0].w - this.ee.VF[7].x); + // @002FA988 VSQRT Q, vf7w + this.ee.Vq.f = ((float)(System.Math.Sqrt(System.Math.Abs(this.ee.VF[7].w)))); + // @002FA98C VWAITQ + MobUt.Latency(); + // @002FA990 BNE a3, zero, $002fa9a0 + if ((this.ee.a3.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3123616u; + } + // @002FA994 VADDq.x vf7, vf0, Q + this.ee.VF[7].x = (this.ee.VF[0].x + this.ee.Vq.f); + } + + public virtual void funct002fa998() + { + this.ee.pc = 3123616u; + // @002FA998 BEQ zero, zero, $002fa9a4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3123620u; + } + // @002FA99C VADDx.x vf4, vf5, vf7x + this.ee.VF[4].x = (this.ee.VF[5].x + this.ee.VF[7].x); + } + + public virtual void funct002fa9a0() + { + this.ee.pc = 3123628u; + // @002FA9A0 VSUBx.x vf4, vf5, vf7x + this.ee.VF[4].x = (this.ee.VF[5].x - this.ee.VF[7].x); + // @002FA9A4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @002FA9A8 NOP + MobUt.Latency(); + } + + public virtual void funct002fa9a4() + { + this.ee.pc = 3123628u; + // @002FA9A4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @002FA9A8 NOP + MobUt.Latency(); + } + + public virtual void funct002fa9b0() + { + this.ee.pc = 3123660u; + // @002FA9B0 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @002FA9B4 C.LT.S $f12, $f0 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); + // @002FA9B8 LUI at, $3fc9 + this.ee.at.SD0 = 1070137344; + // @002FA9BC ORI at, at, $0fdb + this.ee.at.UD0 = (this.ee.at.UD0 | 4059); + // @002FA9C0 MTC1 at, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.at.UL[0]); + // @002FA9C4 BC1F $002fa9d8 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 3123672u; + } + // @002FA9C8 NOP + MobUt.Latency(); + } + + public virtual void funct002fa9cc() + { + this.ee.pc = 3123672u; + // @002FA9CC ADD.S $f12, $f0, $f12 + this.ee.fpr[12].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); + // @002FA9D0 J $002fa9e0 + this.ee.pc = 3123680u; + // @002FA9D4 ADDIU a3, zero, $0001 + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 1))); + } + + public virtual void funct002fa9d8() + { + this.ee.pc = 3123700u; + // @002FA9D8 SUB.S $f12, $f0, $f12 + this.ee.fpr[12].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); + // @002FA9DC DADDU a3, zero, zero + this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @002FA9E0 MFC1 t0, $f12 + MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); + // @002FA9E4 QMTC2 t0, vf6 + MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); + // @002FA9E8 DADDU a2, ra, zero + this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); + // @002FA9EC JAL $002fa938 + this.ee.ra.UL0 = 3123700u; + this.ee.pc = 3123512u; + // @002FA9F0 NOP + MobUt.Latency(); + } + + public virtual void funct002fa9e0() + { + this.ee.pc = 3123700u; + // @002FA9E0 MFC1 t0, $f12 + MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); + // @002FA9E4 QMTC2 t0, vf6 + MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); + // @002FA9E8 DADDU a2, ra, zero + this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); + // @002FA9EC JAL $002fa938 + this.ee.ra.UL0 = 3123700u; + this.ee.pc = 3123512u; + // @002FA9F0 NOP + MobUt.Latency(); + } + + public virtual void funct002fa9f4() + { + this.ee.pc = 3123788u; + // @002FA9F4 DADDU ra, a2, zero + this.ee.ra.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @002FA9F8 VMOVE.xyzw vf6, vf5 + this.ee.VF[6].x = this.ee.VF[5].x; + this.ee.VF[6].y = this.ee.VF[5].y; + this.ee.VF[6].z = this.ee.VF[5].z; + this.ee.VF[6].w = this.ee.VF[5].w; + // @002FA9FC VMOVE.xyzw vf7, vf5 + this.ee.VF[7].x = this.ee.VF[5].x; + this.ee.VF[7].y = this.ee.VF[5].y; + this.ee.VF[7].z = this.ee.VF[5].z; + this.ee.VF[7].w = this.ee.VF[5].w; + // @002FAA00 VMOVE.xyzw vf9, vf0 + this.ee.VF[9].x = this.ee.VF[0].x; + this.ee.VF[9].y = this.ee.VF[0].y; + this.ee.VF[9].z = this.ee.VF[0].z; + this.ee.VF[9].w = this.ee.VF[0].w; + // @002FAA04 VSUB.xyz vf9, vf9, vf9 + this.ee.VF[9].x = (this.ee.VF[9].x - this.ee.VF[9].x); + this.ee.VF[9].y = (this.ee.VF[9].y - this.ee.VF[9].y); + this.ee.VF[9].z = (this.ee.VF[9].z - this.ee.VF[9].z); + // @002FAA08 VMR32.xyzw vf8, vf9 + this.ee.VF[8].x = this.ee.VF[9].y; + this.ee.VF[8].y = this.ee.VF[9].z; + this.ee.VF[8].z = this.ee.VF[9].w; + this.ee.VF[8].w = this.ee.VF[9].x; + // @002FAA0C VSUB.zw vf4, vf4, vf4 + this.ee.VF[4].z = (this.ee.VF[4].z - this.ee.VF[4].z); + this.ee.VF[4].w = (this.ee.VF[4].w - this.ee.VF[4].w); + // @002FAA10 VADDx.y vf6, vf5, vf4x + this.ee.VF[6].y = (this.ee.VF[5].y + this.ee.VF[4].x); + // @002FAA14 VADDy.x vf6, vf5, vf4y + this.ee.VF[6].x = (this.ee.VF[5].x + this.ee.VF[4].y); + // @002FAA18 VSUBx.x vf7, vf5, vf4x + this.ee.VF[7].x = (this.ee.VF[5].x - this.ee.VF[4].x); + // @002FAA1C VADDy.y vf7, vf5, vf4y + this.ee.VF[7].y = (this.ee.VF[5].y + this.ee.VF[4].y); + // @002FAA20 ADDIU a3, zero, $0004 + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 4))); + // @002FAA24 LQC2 vf4, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); + // @002FAA28 VMULAx.xyzw ACC, vf6, vf4x + // @002FAA2C VMADDAy.xyzw ACC, vf7, vf4y + // @002FAA30 VMADDAz.xyzw ACC, vf8, vf4z + // @002FAA34 VMADDw.xyzw vf5, vf9, vf4w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); + // @002FAA38 SQC2 vf5, $0000(a0) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); + // @002FAA3C ADDI a3, a3, $ffff + this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); + // @002FAA40 ADDI a1, a1, $0010 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @002FAA44 BNE zero, a3, $002faa24 + if ((this.ee.r0.UD0 != this.ee.a3.UD0)) + { + this.ee.pc = 3123748u; + } + // @002FAA48 ADDI a0, a0, $0010 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); + } + + public virtual void funct002faa24() + { + this.ee.pc = 3123788u; + // @002FAA24 LQC2 vf4, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); + // @002FAA28 VMULAx.xyzw ACC, vf6, vf4x + // @002FAA2C VMADDAy.xyzw ACC, vf7, vf4y + // @002FAA30 VMADDAz.xyzw ACC, vf8, vf4z + // @002FAA34 VMADDw.xyzw vf5, vf9, vf4w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); + // @002FAA38 SQC2 vf5, $0000(a0) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); + // @002FAA3C ADDI a3, a3, $ffff + this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); + // @002FAA40 ADDI a1, a1, $0010 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @002FAA44 BNE zero, a3, $002faa24 + if ((this.ee.r0.UD0 != this.ee.a3.UD0)) + { + this.ee.pc = 3123748u; + } + // @002FAA48 ADDI a0, a0, $0010 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); + } + + public virtual void funct002faa4c() + { + this.ee.pc = 3123796u; + // @002FAA4C JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @002FAA50 NOP + MobUt.Latency(); + } + + public virtual void funct002faa58() + { + this.ee.pc = 3123828u; + // @002FAA58 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @002FAA5C C.LT.S $f12, $f0 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); + // @002FAA60 LUI at, $3fc9 + this.ee.at.SD0 = 1070137344; + // @002FAA64 ORI at, at, $0fdb + this.ee.at.UD0 = (this.ee.at.UD0 | 4059); + // @002FAA68 MTC1 at, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.at.UL[0]); + // @002FAA6C BC1F $002faa80 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 3123840u; + } + // @002FAA70 NOP + MobUt.Latency(); + } + + public virtual void funct002faa74() + { + this.ee.pc = 3123840u; + // @002FAA74 ADD.S $f12, $f0, $f12 + this.ee.fpr[12].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); + // @002FAA78 J $002faa88 + this.ee.pc = 3123848u; + // @002FAA7C ADDIU a3, zero, $0001 + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 1))); + } + + public virtual void funct002faa80() + { + this.ee.pc = 3123868u; + // @002FAA80 SUB.S $f12, $f0, $f12 + this.ee.fpr[12].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); + // @002FAA84 DADDU a3, zero, zero + this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @002FAA88 MFC1 t0, $f12 + MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); + // @002FAA8C QMTC2 t0, vf6 + MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); + // @002FAA90 DADDU a2, ra, zero + this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); + // @002FAA94 JAL $002fa938 + this.ee.ra.UL0 = 3123868u; + this.ee.pc = 3123512u; + // @002FAA98 NOP + MobUt.Latency(); + } + + public virtual void funct002faa88() + { + this.ee.pc = 3123868u; + // @002FAA88 MFC1 t0, $f12 + MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); + // @002FAA8C QMTC2 t0, vf6 + MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); + // @002FAA90 DADDU a2, ra, zero + this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); + // @002FAA94 JAL $002fa938 + this.ee.ra.UL0 = 3123868u; + this.ee.pc = 3123512u; + // @002FAA98 NOP + MobUt.Latency(); + } + + public virtual void funct002faa9c() + { + this.ee.pc = 3123960u; + // @002FAA9C DADDU ra, a2, zero + this.ee.ra.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @002FAAA0 VMOVE.xyzw vf6, vf5 + this.ee.VF[6].x = this.ee.VF[5].x; + this.ee.VF[6].y = this.ee.VF[5].y; + this.ee.VF[6].z = this.ee.VF[5].z; + this.ee.VF[6].w = this.ee.VF[5].w; + // @002FAAA4 VMOVE.xyzw vf7, vf5 + this.ee.VF[7].x = this.ee.VF[5].x; + this.ee.VF[7].y = this.ee.VF[5].y; + this.ee.VF[7].z = this.ee.VF[5].z; + this.ee.VF[7].w = this.ee.VF[5].w; + // @002FAAA8 VMOVE.xyzw vf8, vf5 + this.ee.VF[8].x = this.ee.VF[5].x; + this.ee.VF[8].y = this.ee.VF[5].y; + this.ee.VF[8].z = this.ee.VF[5].z; + this.ee.VF[8].w = this.ee.VF[5].w; + // @002FAAAC VMOVE.xyzw vf9, vf5 + this.ee.VF[9].x = this.ee.VF[5].x; + this.ee.VF[9].y = this.ee.VF[5].y; + this.ee.VF[9].z = this.ee.VF[5].z; + this.ee.VF[9].w = this.ee.VF[5].w; + // @002FAAB0 VADDw.x vf6, vf5, vf0w + this.ee.VF[6].x = (this.ee.VF[5].x + this.ee.VF[0].w); + // @002FAAB4 VADDw.w vf9, vf5, vf0w + this.ee.VF[9].w = (this.ee.VF[5].w + this.ee.VF[0].w); + // @002FAAB8 VSUB.zw vf4, vf4, vf4 + this.ee.VF[4].z = (this.ee.VF[4].z - this.ee.VF[4].z); + this.ee.VF[4].w = (this.ee.VF[4].w - this.ee.VF[4].w); + // @002FAABC VADDx.z vf7, vf5, vf4x + this.ee.VF[7].z = (this.ee.VF[5].z + this.ee.VF[4].x); + // @002FAAC0 VADDy.y vf7, vf5, vf4y + this.ee.VF[7].y = (this.ee.VF[5].y + this.ee.VF[4].y); + // @002FAAC4 VSUBx.y vf8, vf5, vf4x + this.ee.VF[8].y = (this.ee.VF[5].y - this.ee.VF[4].x); + // @002FAAC8 VADDy.z vf8, vf5, vf4y + this.ee.VF[8].z = (this.ee.VF[5].z + this.ee.VF[4].y); + // @002FAACC ADDIU a3, zero, $0004 + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 4))); + // @002FAAD0 LQC2 vf4, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); + // @002FAAD4 VMULAx.xyzw ACC, vf6, vf4x + // @002FAAD8 VMADDAy.xyzw ACC, vf7, vf4y + // @002FAADC VMADDAz.xyzw ACC, vf8, vf4z + // @002FAAE0 VMADDw.xyzw vf5, vf9, vf4w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); + // @002FAAE4 SQC2 vf5, $0000(a0) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); + // @002FAAE8 ADDI a3, a3, $ffff + this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); + // @002FAAEC ADDI a1, a1, $0010 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @002FAAF0 BNE zero, a3, $002faad0 + if ((this.ee.r0.UD0 != this.ee.a3.UD0)) + { + this.ee.pc = 3123920u; + } + // @002FAAF4 ADDI a0, a0, $0010 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); + } + + public virtual void funct002faad0() + { + this.ee.pc = 3123960u; + // @002FAAD0 LQC2 vf4, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); + // @002FAAD4 VMULAx.xyzw ACC, vf6, vf4x + // @002FAAD8 VMADDAy.xyzw ACC, vf7, vf4y + // @002FAADC VMADDAz.xyzw ACC, vf8, vf4z + // @002FAAE0 VMADDw.xyzw vf5, vf9, vf4w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); + // @002FAAE4 SQC2 vf5, $0000(a0) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); + // @002FAAE8 ADDI a3, a3, $ffff + this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); + // @002FAAEC ADDI a1, a1, $0010 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @002FAAF0 BNE zero, a3, $002faad0 + if ((this.ee.r0.UD0 != this.ee.a3.UD0)) + { + this.ee.pc = 3123920u; + } + // @002FAAF4 ADDI a0, a0, $0010 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); + } + + public virtual void funct002faaf8() + { + this.ee.pc = 3123968u; + // @002FAAF8 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @002FAAFC NOP + MobUt.Latency(); + } + + public virtual void funct002fab00() + { + this.ee.pc = 3123996u; + // @002FAB00 MTC1 zero, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.r0.UL[0]); + // @002FAB04 C.LT.S $f12, $f0 + this.ee.fcr31_23 = (this.ee.fpr[12].f < this.ee.fpr[0].f); + // @002FAB08 LUI at, $3fc9 + this.ee.at.SD0 = 1070137344; + // @002FAB0C ORI at, at, $0fdb + this.ee.at.UD0 = (this.ee.at.UD0 | 4059); + // @002FAB10 MTC1 at, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.at.UL[0]); + // @002FAB14 BC1F $002fab28 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 3124008u; + } + // @002FAB18 NOP + MobUt.Latency(); + } + + public virtual void funct002fab1c() + { + this.ee.pc = 3124008u; + // @002FAB1C ADD.S $f12, $f0, $f12 + this.ee.fpr[12].f = (this.ee.fpr[0].f + this.ee.fpr[12].f); + // @002FAB20 J $002fab30 + this.ee.pc = 3124016u; + // @002FAB24 ADDIU a3, zero, $0001 + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 1))); + } + + public virtual void funct002fab28() + { + this.ee.pc = 3124036u; + // @002FAB28 SUB.S $f12, $f0, $f12 + this.ee.fpr[12].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); + // @002FAB2C DADDU a3, zero, zero + this.ee.a3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @002FAB30 MFC1 t0, $f12 + MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); + // @002FAB34 QMTC2 t0, vf6 + MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); + // @002FAB38 DADDU a2, ra, zero + this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); + // @002FAB3C JAL $002fa938 + this.ee.ra.UL0 = 3124036u; + this.ee.pc = 3123512u; + // @002FAB40 NOP + MobUt.Latency(); + } + + public virtual void funct002fab30() + { + this.ee.pc = 3124036u; + // @002FAB30 MFC1 t0, $f12 + MobUt.MFC1(this.ee.t0, this.ee.fpr[12]); + // @002FAB34 QMTC2 t0, vf6 + MobUt.QMTC2(this.ee.t0, this.ee.VF[6]); + // @002FAB38 DADDU a2, ra, zero + this.ee.a2.UD0 = (this.ee.ra.UD0 + this.ee.r0.UD0); + // @002FAB3C JAL $002fa938 + this.ee.ra.UL0 = 3124036u; + this.ee.pc = 3123512u; + // @002FAB40 NOP + MobUt.Latency(); + } + + public virtual void funct002fab44() + { + this.ee.pc = 3124128u; + // @002FAB44 DADDU ra, a2, zero + this.ee.ra.UD0 = (this.ee.a2.UD0 + this.ee.r0.UD0); + // @002FAB48 VMOVE.xyzw vf6, vf5 + this.ee.VF[6].x = this.ee.VF[5].x; + this.ee.VF[6].y = this.ee.VF[5].y; + this.ee.VF[6].z = this.ee.VF[5].z; + this.ee.VF[6].w = this.ee.VF[5].w; + // @002FAB4C VMOVE.xyzw vf7, vf5 + this.ee.VF[7].x = this.ee.VF[5].x; + this.ee.VF[7].y = this.ee.VF[5].y; + this.ee.VF[7].z = this.ee.VF[5].z; + this.ee.VF[7].w = this.ee.VF[5].w; + // @002FAB50 VMOVE.xyzw vf8, vf5 + this.ee.VF[8].x = this.ee.VF[5].x; + this.ee.VF[8].y = this.ee.VF[5].y; + this.ee.VF[8].z = this.ee.VF[5].z; + this.ee.VF[8].w = this.ee.VF[5].w; + // @002FAB54 VMOVE.xyzw vf9, vf5 + this.ee.VF[9].x = this.ee.VF[5].x; + this.ee.VF[9].y = this.ee.VF[5].y; + this.ee.VF[9].z = this.ee.VF[5].z; + this.ee.VF[9].w = this.ee.VF[5].w; + // @002FAB58 VADDw.y vf7, vf5, vf0w + this.ee.VF[7].y = (this.ee.VF[5].y + this.ee.VF[0].w); + // @002FAB5C VADDw.w vf9, vf5, vf0w + this.ee.VF[9].w = (this.ee.VF[5].w + this.ee.VF[0].w); + // @002FAB60 VSUB.zw vf4, vf4, vf4 + this.ee.VF[4].z = (this.ee.VF[4].z - this.ee.VF[4].z); + this.ee.VF[4].w = (this.ee.VF[4].w - this.ee.VF[4].w); + // @002FAB64 VSUBx.z vf6, vf5, vf4x + this.ee.VF[6].z = (this.ee.VF[5].z - this.ee.VF[4].x); + // @002FAB68 VADDy.x vf6, vf5, vf4y + this.ee.VF[6].x = (this.ee.VF[5].x + this.ee.VF[4].y); + // @002FAB6C VADDx.x vf8, vf5, vf4x + this.ee.VF[8].x = (this.ee.VF[5].x + this.ee.VF[4].x); + // @002FAB70 VADDy.z vf8, vf5, vf4y + this.ee.VF[8].z = (this.ee.VF[5].z + this.ee.VF[4].y); + // @002FAB74 ADDIU a3, zero, $0004 + this.ee.a3.SD0 = ((int)((this.ee.r0.SD0 + 4))); + // @002FAB78 LQC2 vf4, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); + // @002FAB7C VMULAx.xyzw ACC, vf6, vf4x + // @002FAB80 VMADDAy.xyzw ACC, vf7, vf4y + // @002FAB84 VMADDAz.xyzw ACC, vf8, vf4z + // @002FAB88 VMADDw.xyzw vf5, vf9, vf4w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); + // @002FAB8C SQC2 vf5, $0000(a0) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); + // @002FAB90 ADDI a3, a3, $ffff + this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); + // @002FAB94 ADDI a1, a1, $0010 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @002FAB98 BNE zero, a3, $002fab78 + if ((this.ee.r0.UD0 != this.ee.a3.UD0)) + { + this.ee.pc = 3124088u; + } + // @002FAB9C ADDI a0, a0, $0010 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); + } + + public virtual void funct002fab78() + { + this.ee.pc = 3124128u; + // @002FAB78 LQC2 vf4, $0000(a1) + MobUt.LQC2(this.ee, this.ee.VF[4], (0u + this.ee.a1.UL0)); + // @002FAB7C VMULAx.xyzw ACC, vf6, vf4x + // @002FAB80 VMADDAy.xyzw ACC, vf7, vf4y + // @002FAB84 VMADDAz.xyzw ACC, vf8, vf4z + // @002FAB88 VMADDw.xyzw vf5, vf9, vf4w + MobUt.VMx16(this.ee.Vacc, this.ee.VF[6], this.ee.VF[4].x, this.ee.VF[7], this.ee.VF[4].y, this.ee.VF[8], this.ee.VF[4].z, this.ee.VF[9], this.ee.VF[4].w, this.ee.VF[5]); + // @002FAB8C SQC2 vf5, $0000(a0) + MobUt.SQC2(this.ee, this.ee.VF[5], (0u + this.ee.a0.UL0)); + // @002FAB90 ADDI a3, a3, $ffff + this.ee.a3.SD0 = ((int)((this.ee.a3.SD0 + -1))); + // @002FAB94 ADDI a1, a1, $0010 + this.ee.a1.SD0 = ((int)((this.ee.a1.SD0 + 16))); + // @002FAB98 BNE zero, a3, $002fab78 + if ((this.ee.r0.UD0 != this.ee.a3.UD0)) + { + this.ee.pc = 3124088u; + } + // @002FAB9C ADDI a0, a0, $0010 + this.ee.a0.SD0 = ((int)((this.ee.a0.SD0 + 16))); + } + + public virtual void funct002faba0() + { + this.ee.pc = 3124136u; + // @002FABA0 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @002FABA4 NOP + MobUt.Latency(); + } + + public virtual void funct002ff210() + { + this.ee.pc = 3142212u; + // @002FF210 ADDIU sp, sp, $ffe0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -32))); + // @002FF214 SD s1, $0008(sp) + MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @002FF218 LUI t6, $7fff + this.ee.t6.SD0 = 2147418112; + // @002FF21C SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @002FF220 ORI t6, t6, $ffff + this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); + // @002FF224 MFC1 s1, $f12 + MobUt.MFC1(this.ee.s1, this.ee.fpr[12]); + // @002FF228 LUI t7, $507f + this.ee.t7.SD0 = 1350500352; + // @002FF22C ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @002FF230 SD ra, $0010(sp) + MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @002FF234 AND s0, s1, t6 + this.ee.s0.UD0 = (this.ee.s1.UD0 & this.ee.t6.UD0); + // @002FF238 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @002FF23C BEQ t7, zero, $002ff278 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142264u; + } + // @002FF240 MOV.S $f6, $f12 + this.ee.fpr[6].f = this.ee.fpr[12].f; + } + + public virtual void funct002ff260() + { + this.ee.pc = 3142264u; + // @002FF260 MOV.S $f0, $f4 + this.ee.fpr[0].f = this.ee.fpr[4].f; + // @002FF264 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @002FF268 LD s1, $0008(sp) + MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @002FF26C LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @002FF270 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @002FF274 ADDIU sp, sp, $0020 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 32))); + } + + public virtual void funct002ff278() + { + this.ee.pc = 3142284u; + // @002FF278 LUI t7, $3edf + this.ee.t7.SD0 = 1054801920; + // @002FF27C ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @002FF280 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @002FF284 BNE t7, zero, $002ff400 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3142656u; + } + // @002FF288 LUI t7, $30ff + this.ee.t7.SD0 = 822018048; + } + + public virtual void funct002ff28c() + { + this.ee.pc = 3142300u; + // @002FF28C ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @002FF290 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @002FF294 BNE t7, zero, $002ff2c8 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3142344u; + } + // @002FF298 ADDIU t6, zero, $ffff + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + -1))); + } + + public virtual void funct002ff29c() + { + this.ee.pc = 3142340u; + // @002FF29C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2A0 ADDIU t7, t7, $4794 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18324))); + // @002FF2A4 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @002FF2A8 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2AC ADD.S $f0, $f12, $f0 + this.ee.fpr[0].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + // @002FF2B0 ADDIU t7, t7, $4798 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); + // @002FF2B4 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @002FF2B8 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @002FF2BC BC1T $002ff260 + if (this.ee.fcr31_23) + { + this.ee.pc = 3142240u; + } + // @002FF2C0 MOV.S $f4, $f12 + this.ee.fpr[4].f = this.ee.fpr[12].f; + } + + public virtual void funct002ff2c8() + { + this.ee.pc = 3142568u; + // @002FF2C8 MUL.S $f5, $f6, $f6 + this.ee.fpr[5].f = (this.ee.fpr[6].f * this.ee.fpr[6].f); + // @002FF2CC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2D0 ADDIU t7, t7, $47a8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18344))); + // @002FF2D4 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @002FF2D8 MUL.S $f4, $f5, $f5 + this.ee.fpr[4].f = (this.ee.fpr[5].f * this.ee.fpr[5].f); + // @002FF2DC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2E0 ADDIU t7, t7, $47ac + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18348))); + // @002FF2E4 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @002FF2E8 MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF2EC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2F0 ADDIU t7, t7, $47b0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18352))); + // @002FF2F4 MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF2F8 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF2FC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF300 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF304 ADDIU t7, t7, $47b4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18356))); + // @002FF308 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF30C MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF310 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF314 ADDIU t7, t7, $47b8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18360))); + // @002FF318 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF31C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF320 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF324 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF328 ADDIU t7, t7, $47bc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18364))); + // @002FF32C MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF330 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF334 MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF338 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF33C ADDIU t7, t7, $47c0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18368))); + // @002FF340 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF344 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF348 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF34C ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF350 ADDIU t7, t7, $47c4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18372))); + // @002FF354 MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF358 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF35C MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF360 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF364 ADDIU t7, t7, $47c8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18376))); + // @002FF368 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF36C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF370 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF374 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF378 ADDIU t7, t7, $47cc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18380))); + // @002FF37C MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF380 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF384 MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF388 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF38C ADDIU t7, t7, $47d0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18384))); + // @002FF390 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF394 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF398 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF39C MUL.S $f4, $f4, $f1 + this.ee.fpr[4].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF3A0 BGEZ t6, $002ff3b8 + if ((this.ee.t6.SD0 >= 0)) + { + this.ee.pc = 3142584u; + } + // @002FF3A4 MUL.S $f0, $f5, $f0 + this.ee.fpr[0].f = (this.ee.fpr[5].f * this.ee.fpr[0].f); + } + + public virtual void funct002ff2cc() + { + this.ee.pc = 3142568u; + // @002FF2CC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2D0 ADDIU t7, t7, $47a8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18344))); + // @002FF2D4 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @002FF2D8 MUL.S $f4, $f5, $f5 + this.ee.fpr[4].f = (this.ee.fpr[5].f * this.ee.fpr[5].f); + // @002FF2DC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2E0 ADDIU t7, t7, $47ac + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18348))); + // @002FF2E4 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @002FF2E8 MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF2EC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF2F0 ADDIU t7, t7, $47b0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18352))); + // @002FF2F4 MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF2F8 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF2FC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF300 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF304 ADDIU t7, t7, $47b4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18356))); + // @002FF308 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF30C MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF310 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF314 ADDIU t7, t7, $47b8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18360))); + // @002FF318 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF31C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF320 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF324 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF328 ADDIU t7, t7, $47bc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18364))); + // @002FF32C MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF330 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF334 MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF338 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF33C ADDIU t7, t7, $47c0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18368))); + // @002FF340 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF344 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF348 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF34C ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF350 ADDIU t7, t7, $47c4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18372))); + // @002FF354 MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF358 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF35C MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF360 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF364 ADDIU t7, t7, $47c8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18376))); + // @002FF368 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF36C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF370 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF374 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF378 ADDIU t7, t7, $47cc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18380))); + // @002FF37C MUL.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF380 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @002FF384 MUL.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f * this.ee.fpr[0].f); + // @002FF388 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF38C ADDIU t7, t7, $47d0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18384))); + // @002FF390 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @002FF394 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF398 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @002FF39C MUL.S $f4, $f4, $f1 + this.ee.fpr[4].f = (this.ee.fpr[4].f * this.ee.fpr[1].f); + // @002FF3A0 BGEZ t6, $002ff3b8 + if ((this.ee.t6.SD0 >= 0)) + { + this.ee.pc = 3142584u; + } + // @002FF3A4 MUL.S $f0, $f5, $f0 + this.ee.fpr[0].f = (this.ee.fpr[5].f * this.ee.fpr[0].f); + } + + public virtual void funct002ff3a8() + { + this.ee.pc = 3142584u; + // @002FF3A8 ADD.S $f0, $f0, $f4 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); + // @002FF3AC MUL.S $f0, $f6, $f0 + this.ee.fpr[0].f = (this.ee.fpr[6].f * this.ee.fpr[0].f); + // @002FF3B0 BEQ zero, zero, $002ff260 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142240u; + } + // @002FF3B4 SUB.S $f4, $f6, $f0 + this.ee.fpr[4].f = (this.ee.fpr[6].f - this.ee.fpr[0].f); + } + + public virtual void funct002ff3b8() + { + this.ee.pc = 3142644u; + // @002FF3B8 ADD.S $f0, $f0, $f4 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[4].f); + // @002FF3BC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF3C0 SLL t6, t6, 2 + MobUt.SLL(this.ee.t6, this.ee.t6, 2); + // @002FF3C4 ADDIU t7, t7, $4748 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18248))); + // @002FF3C8 ADDU t7, t6, t7 + this.ee.t7.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @002FF3CC LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF3D0 MUL.S $f0, $f6, $f0 + this.ee.fpr[0].f = (this.ee.fpr[6].f * this.ee.fpr[0].f); + // @002FF3D4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF3D8 ADDIU t7, t7, $4738 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18232))); + // @002FF3DC ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @002FF3E0 SUB.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); + // @002FF3E4 LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @002FF3E8 SUB.S $f0, $f0, $f6 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[6].f); + // @002FF3EC BGEZ s1, $002ff3f8 + if ((this.ee.s1.SD0 >= 0)) + { + this.ee.pc = 3142648u; + } + // @002FF3F0 SUB.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + } + + public virtual void funct002ff3f8() + { + this.ee.pc = 3142656u; + // @002FF3F8 BEQ zero, zero, $002ff260 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142240u; + } + // @002FF3FC MOV.S $f4, $f0 + this.ee.fpr[4].f = this.ee.fpr[0].f; + } + + public virtual void funct002ff400() + { + this.ee.pc = 3142664u; + // @002FF400 JAL $002ff660 + this.ee.ra.UL0 = 3142664u; + this.ee.pc = 3143264u; + // @002FF404 NOP + MobUt.Latency(); + } + + public virtual void funct002ff408() + { + this.ee.pc = 3142684u; + // @002FF408 LUI t7, $3f97 + this.ee.t7.SD0 = 1066860544; + // @002FF40C ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @002FF410 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @002FF414 BNE t7, zero, $002ff484 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3142788u; + } + // @002FF418 MOV.S $f6, $f0 + this.ee.fpr[6].f = this.ee.fpr[0].f; + } + + public virtual void funct002ff41c() + { + this.ee.pc = 3142704u; + // @002FF41C LUI t7, $3f2f + this.ee.t7.SD0 = 1060044800; + // @002FF420 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @002FF424 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @002FF428 BNE t7, zero, $002ff46c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3142764u; + } + // @002FF42C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct002ff430() + { + this.ee.pc = 3142764u; + // @002FF430 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF434 ADD.S $f0, $f0, $f0 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[0].f); + // @002FF438 ADDIU t7, t7, $479c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18332))); + // @002FF43C DADDU t6, zero, zero + this.ee.t6.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @002FF440 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @002FF444 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF448 ADD.S $f1, $f6, $f1 + this.ee.fpr[1].f = (this.ee.fpr[6].f + this.ee.fpr[1].f); + // @002FF44C ADDIU t7, t7, $4798 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); + // @002FF450 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF454 SUB.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); + // @002FF458 NOP + MobUt.Latency(); + // @002FF45C NOP + MobUt.Latency(); + // @002FF460 DIV.S $f6, $f0, $f1 + this.ee.fpr[6].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @002FF464 BEQ zero, zero, $002ff2cc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142348u; + } + // @002FF468 MUL.S $f5, $f6, $f6 + this.ee.fpr[5].f = (this.ee.fpr[6].f * this.ee.fpr[6].f); + } + + public virtual void funct002ff458() + { + this.ee.pc = 3142764u; + // @002FF458 NOP + MobUt.Latency(); + // @002FF45C NOP + MobUt.Latency(); + // @002FF460 DIV.S $f6, $f0, $f1 + this.ee.fpr[6].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @002FF464 BEQ zero, zero, $002ff2cc + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142348u; + } + // @002FF468 MUL.S $f5, $f6, $f6 + this.ee.fpr[5].f = (this.ee.fpr[6].f * this.ee.fpr[6].f); + } + + public virtual void funct002ff46c() + { + this.ee.pc = 3142788u; + // @002FF46C ADDIU t6, zero, $0001 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @002FF470 ADDIU t7, t7, $4798 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); + // @002FF474 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @002FF478 ADD.S $f1, $f6, $f0 + this.ee.fpr[1].f = (this.ee.fpr[6].f + this.ee.fpr[0].f); + // @002FF47C BEQ zero, zero, $002ff458 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142744u; + } + // @002FF480 SUB.S $f0, $f6, $f0 + this.ee.fpr[0].f = (this.ee.fpr[6].f - this.ee.fpr[0].f); + } + + public virtual void funct002ff484() + { + this.ee.pc = 3142808u; + // @002FF484 LUI t7, $401b + this.ee.t7.SD0 = 1075511296; + // @002FF488 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @002FF48C SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @002FF490 BNE t7, zero, $002ff4c4 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3142852u; + } + // @002FF494 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct002ff498() + { + this.ee.pc = 3142852u; + // @002FF498 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF49C ADDIU t6, zero, $0002 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 2))); + // @002FF4A0 ADDIU t7, t7, $47a0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18336))); + // @002FF4A4 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @002FF4A8 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @002FF4AC MUL.S $f1, $f6, $f0 + this.ee.fpr[1].f = (this.ee.fpr[6].f * this.ee.fpr[0].f); + // @002FF4B0 ADDIU t7, t7, $4798 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18328))); + // @002FF4B4 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @002FF4B8 SUB.S $f0, $f6, $f0 + this.ee.fpr[0].f = (this.ee.fpr[6].f - this.ee.fpr[0].f); + // @002FF4BC BEQ zero, zero, $002ff458 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142744u; + } + // @002FF4C0 ADD.S $f1, $f1, $f2 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[2].f); + } + + public virtual void funct002ff4c4() + { + this.ee.pc = 3142880u; + // @002FF4C4 ADDIU t7, t7, $47a4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18340))); + // @002FF4C8 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @002FF4CC NOP + MobUt.Latency(); + // @002FF4D0 NOP + MobUt.Latency(); + // @002FF4D4 DIV.S $f6, $f0, $f6 + this.ee.fpr[6].f = (this.ee.fpr[0].f / this.ee.fpr[6].f); + // @002FF4D8 BEQ zero, zero, $002ff2c8 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3142344u; + } + // @002FF4DC ADDIU t6, zero, $0003 + this.ee.t6.SD0 = ((int)((this.ee.r0.SD0 + 3))); + } + + public virtual void funct002ff660() + { + this.ee.pc = 3143288u; + // @002FF660 MFC1 t6, $f12 + MobUt.MFC1(this.ee.t6, this.ee.fpr[12]); + // @002FF664 LUI t7, $7fff + this.ee.t7.SD0 = 2147418112; + // @002FF668 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @002FF66C AND t6, t6, t7 + this.ee.t6.UD0 = (this.ee.t6.UD0 & this.ee.t7.UD0); + // @002FF670 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @002FF674 MTC1 t6, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); + } + + public virtual void funct002ff8a8() + { + this.ee.pc = 3143868u; + // @002FF8A8 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @002FF8AC SD ra, $0000(sp) + MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @002FF8B0 LD ra, $0000(sp) + MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @002FF8B4 J $00300058 + this.ee.pc = 3145816u; + // @002FF8B8 ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct002ff8c0() + { + this.ee.pc = 3143892u; + // @002FF8C0 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @002FF8C4 SD ra, $0000(sp) + MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @002FF8C8 LD ra, $0000(sp) + MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @002FF8CC J $003003f0 + this.ee.pc = 3146736u; + // @002FF8D0 ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct002ff8d8() + { + this.ee.pc = 3143916u; + // @002FF8D8 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @002FF8DC SD ra, $0000(sp) + MobUt.SD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @002FF8E0 LD ra, $0000(sp) + MobUt.LD(this.ee, this.ee.ra, (0u + this.ee.sp.UL0)); + // @002FF8E4 J $003005b8 + this.ee.pc = 3147192u; + // @002FF8E8 ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00300058() + { + this.ee.pc = 3145872u; + // @00300058 ADDIU sp, sp, $ffd0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -48))); + // @0030005C LUI t7, $7fff + this.ee.t7.SD0 = 2147418112; + // @00300060 SD s1, $0008(sp) + MobUt.SD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @00300064 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @00300068 SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @0030006C LUI t6, $3f80 + this.ee.t6.SD0 = 1065353216; + // @00300070 MFC1 s1, $f12 + MobUt.MFC1(this.ee.s1, this.ee.fpr[12]); + // @00300074 SD ra, $0010(sp) + MobUt.SD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @00300078 SWC1 $f22, $0020(sp) + MobUt.SWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); + // @0030007C AND s0, s1, t7 + this.ee.s0.UD0 = (this.ee.s1.UD0 & this.ee.t7.UD0); + // @00300080 SWC1 $f21, $001c(sp) + MobUt.SWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); + // @00300084 SWC1 $f20, $0018(sp) + MobUt.SWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); + // @00300088 BNE s0, t6, $003000d4 + if ((this.ee.s0.UD0 != this.ee.t6.UD0)) + { + this.ee.pc = 3145940u; + } + // @0030008C SLT t7, t6, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.s0.SD0)); + } + + public virtual void funct00300090() + { + this.ee.pc = 3145940u; + // @00300090 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300094 ADDIU t7, t7, $48b8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18616))); + // @00300098 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0030009C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003000A0 MULA.S $f12, $f0 + this.ee.fpracc.f = (this.ee.fpr[12].f * this.ee.fpr[0].f); + // @003000A4 ADDIU t7, t7, $48bc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18620))); + // @003000A8 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003000AC MADD.S $f4, $f12, $f1 + this.ee.fpr[4].f = MobUt.MADD(this.ee.fpracc.f, this.ee.fpr[12].f, this.ee.fpr[1].f); + // @003000B0 MOV.S $f0, $f4 + this.ee.fpr[0].f = this.ee.fpr[4].f; + // @003000B4 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @003000B8 LD s1, $0008(sp) + MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @003000BC LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @003000C0 LWC1 $f22, $0020(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); + // @003000C4 LWC1 $f21, $001c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); + // @003000C8 LWC1 $f20, $0018(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); + // @003000CC JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @003000D0 ADDIU sp, sp, $0030 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 48))); + } + + public virtual void funct003000b0() + { + this.ee.pc = 3145940u; + // @003000B0 MOV.S $f0, $f4 + this.ee.fpr[0].f = this.ee.fpr[4].f; + // @003000B4 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @003000B8 LD s1, $0008(sp) + MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @003000BC LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @003000C0 LWC1 $f22, $0020(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); + // @003000C4 LWC1 $f21, $001c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); + // @003000C8 LWC1 $f20, $0018(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); + // @003000CC JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @003000D0 ADDIU sp, sp, $0030 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 48))); + } + + public virtual void funct003000b4() + { + this.ee.pc = 3145940u; + // @003000B4 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @003000B8 LD s1, $0008(sp) + MobUt.LD(this.ee, this.ee.s1, (8u + this.ee.sp.UL0)); + // @003000BC LD ra, $0010(sp) + MobUt.LD(this.ee, this.ee.ra, (16u + this.ee.sp.UL0)); + // @003000C0 LWC1 $f22, $0020(sp) + MobUt.LWC1(this.ee, this.ee.fpr[22], (32u + this.ee.sp.UL0)); + // @003000C4 LWC1 $f21, $001c(sp) + MobUt.LWC1(this.ee, this.ee.fpr[21], (28u + this.ee.sp.UL0)); + // @003000C8 LWC1 $f20, $0018(sp) + MobUt.LWC1(this.ee, this.ee.fpr[20], (24u + this.ee.sp.UL0)); + // @003000CC JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @003000D0 ADDIU sp, sp, $0030 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 48))); + } + + public virtual void funct003000d4() + { + this.ee.pc = 3145948u; + // @003000D4 BEQ t7, zero, $003000f4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3145972u; + } + // @003000D8 LUI t7, $3eff + this.ee.t7.SD0 = 1056899072; + } + + public virtual void funct003000dc() + { + this.ee.pc = 3145972u; + // @003000DC SUB.S $f0, $f12, $f12 + this.ee.fpr[0].f = (this.ee.fpr[12].f - this.ee.fpr[12].f); + // @003000E0 NOP + MobUt.Latency(); + // @003000E4 NOP + MobUt.Latency(); + // @003000E8 DIV.S $f4, $f0, $f0 + this.ee.fpr[4].f = (this.ee.fpr[0].f / this.ee.fpr[0].f); + // @003000EC BEQ zero, zero, $003000b4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3145908u; + } + // @003000F0 MOV.S $f0, $f4 + this.ee.fpr[0].f = this.ee.fpr[4].f; + } + + public virtual void funct003000f4() + { + this.ee.pc = 3145988u; + // @003000F4 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @003000F8 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @003000FC BNE t7, zero, $0030013c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3146044u; + } + // @00300100 LUI t7, $31ff + this.ee.t7.SD0 = 838795264; + } + + public virtual void funct00300104() + { + this.ee.pc = 3146004u; + // @00300104 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @00300108 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @0030010C BNE t7, zero, $00300308 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3146504u; + } + // @00300110 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct00300114() + { + this.ee.pc = 3146044u; + // @00300114 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300118 ADDIU t7, t7, $48c0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18624))); + // @0030011C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00300120 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300124 ADD.S $f0, $f12, $f0 + this.ee.fpr[0].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + // @00300128 ADDIU t7, t7, $48c4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18628))); + // @0030012C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300130 C.LT.S $f1, $f0 + this.ee.fcr31_23 = (this.ee.fpr[1].f < this.ee.fpr[0].f); + // @00300134 BC1T $003000b0 + if (this.ee.fcr31_23) + { + this.ee.pc = 3145904u; + } + // @00300138 MOV.S $f4, $f12 + this.ee.fpr[4].f = this.ee.fpr[12].f; + } + + public virtual void funct0030013c() + { + this.ee.pc = 3146052u; + // @0030013C JAL $002ff660 + this.ee.ra.UL0 = 3146052u; + this.ee.pc = 3143264u; + // @00300140 NOP + MobUt.Latency(); + } + + public virtual void funct00300144() + { + this.ee.pc = 3146288u; + // @00300144 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300148 ADDIU t7, t7, $48c4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18628))); + // @0030014C LWC1 $f4, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[4], (0u + this.ee.t7.UL0)); + // @00300150 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300154 SUB.S $f0, $f4, $f0 + this.ee.fpr[0].f = (this.ee.fpr[4].f - this.ee.fpr[0].f); + // @00300158 ADDIU t7, t7, $48f0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18672))); + // @0030015C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300160 MUL.S $f20, $f0, $f1 + this.ee.fpr[20].f = (this.ee.fpr[0].f * this.ee.fpr[1].f); + // @00300164 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300168 ADDIU t7, t7, $48c8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18632))); + // @0030016C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00300170 MOV.S $f12, $f20 + this.ee.fpr[12].f = this.ee.fpr[20].f; + // @00300174 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300178 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @0030017C ADDIU t7, t7, $48cc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18636))); + // @00300180 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300184 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300188 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @0030018C ADDIU t7, t7, $48d0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18640))); + // @00300190 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00300194 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300198 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @0030019C ADDIU t7, t7, $48d4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18644))); + // @003001A0 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @003001A4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003001A8 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @003001AC ADDIU t7, t7, $48d8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18648))); + // @003001B0 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @003001B4 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @003001B8 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @003001BC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003001C0 ADDIU t7, t7, $48dc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18652))); + // @003001C4 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @003001C8 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @003001CC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003001D0 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @003001D4 ADDIU t7, t7, $48e0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18656))); + // @003001D8 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @003001DC LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @003001E0 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @003001E4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003001E8 ADDIU t7, t7, $48e4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18660))); + // @003001EC ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @003001F0 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @003001F4 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @003001F8 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003001FC MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @00300200 ADDIU t7, t7, $48e8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18664))); + // @00300204 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00300208 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @0030020C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300210 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @00300214 ADDIU t7, t7, $48ec + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18668))); + // @00300218 ADD.S $f22, $f1, $f4 + this.ee.fpr[22].f = (this.ee.fpr[1].f + this.ee.fpr[4].f); + // @0030021C MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @00300220 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300224 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @00300228 JAL $00301800 + this.ee.ra.UL0 = 3146288u; + this.ee.pc = 3151872u; + // @0030022C MUL.S $f21, $f20, $f0 + this.ee.fpr[21].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + } + + public virtual void funct00300230() + { + this.ee.pc = 3146308u; + // @00300230 LUI t7, $3f79 + this.ee.t7.SD0 = 1064894464; + // @00300234 ORI t7, t7, $9999 + this.ee.t7.UD0 = (this.ee.t7.UD0 | 39321); + // @00300238 SLT t7, t7, s0 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.s0.SD0)); + // @0030023C BEQ t7, zero, $00300290 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3146384u; + } + // @00300240 MFC1 t5, $f0 + MobUt.MFC1(this.ee.t5, this.ee.fpr[0]); + } + + public virtual void funct00300244() + { + this.ee.pc = 3146376u; + // @00300244 NOP + MobUt.Latency(); + // @00300248 NOP + MobUt.Latency(); + // @0030024C DIV.S $f21, $f21, $f22 + this.ee.fpr[21].f = (this.ee.fpr[21].f / this.ee.fpr[22].f); + // @00300250 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300254 MTC1 t5, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.t5.UL[0]); + // @00300258 ADDIU t7, t7, $48bc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18620))); + // @0030025C MUL.S $f0, $f0, $f21 + this.ee.fpr[0].f = (this.ee.fpr[0].f * this.ee.fpr[21].f); + // @00300260 ADD.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); + // @00300264 ADD.S $f0, $f0, $f0 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[0].f); + // @00300268 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @0030026C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300270 SUB.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + // @00300274 ADDIU t7, t7, $48b8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18616))); + // @00300278 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @0030027C SUB.S $f20, $f2, $f0 + this.ee.fpr[20].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); + // @00300280 BGTZ s1, $003000b0 + if ((this.ee.s1.SD0 > 0)) + { + this.ee.pc = 3145904u; + } + // @00300284 MOV.S $f4, $f20 + this.ee.fpr[4].f = this.ee.fpr[20].f; + } + + public virtual void funct00300280() + { + this.ee.pc = 3146376u; + // @00300280 BGTZ s1, $003000b0 + if ((this.ee.s1.SD0 > 0)) + { + this.ee.pc = 3145904u; + } + // @00300284 MOV.S $f4, $f20 + this.ee.fpr[4].f = this.ee.fpr[20].f; + } + + public virtual void funct00300288() + { + this.ee.pc = 3146384u; + // @00300288 BEQ zero, zero, $003000b0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3145904u; + } + // @0030028C NEG.S $f4, $f20 + this.ee.fpr[4].f = (0 - this.ee.fpr[20].f); + } + + public virtual void funct00300290() + { + this.ee.pc = 3146504u; + // @00300290 ADDIU t7, zero, $f000 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + -4096))); + // @00300294 MTC1 t5, $f2 + this.ee.fpr[2].f = MobUt.UL2F(this.ee.t5.UL[0]); + // @00300298 AND t6, t5, t7 + this.ee.t6.UD0 = (this.ee.t5.UD0 & this.ee.t7.UD0); + // @0030029C NOP + MobUt.Latency(); + // @003002A0 NOP + MobUt.Latency(); + // @003002A4 DIV.S $f4, $f21, $f22 + this.ee.fpr[4].f = (this.ee.fpr[21].f / this.ee.fpr[22].f); + // @003002A8 MTC1 t6, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); + // @003002AC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003002B0 MTC1 t6, $f6 + this.ee.fpr[6].f = MobUt.UL2F(this.ee.t6.UL[0]); + // @003002B4 ADDIU t7, t7, $48f4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18676))); + // @003002B8 MUL.S $f1, $f0, $f0 + this.ee.fpr[1].f = (this.ee.fpr[0].f * this.ee.fpr[0].f); + // @003002BC ADD.S $f3, $f2, $f0 + this.ee.fpr[3].f = (this.ee.fpr[2].f + this.ee.fpr[0].f); + // @003002C0 LWC1 $f5, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[5], (0u + this.ee.t7.UL0)); + // @003002C4 SUB.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f - this.ee.fpr[1].f); + // @003002C8 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003002CC ADD.S $f0, $f6, $f6 + this.ee.fpr[0].f = (this.ee.fpr[6].f + this.ee.fpr[6].f); + // @003002D0 ADDIU t7, t7, $48bc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18620))); + // @003002D4 ADD.S $f2, $f2, $f2 + this.ee.fpr[2].f = (this.ee.fpr[2].f + this.ee.fpr[2].f); + // @003002D8 NOP + MobUt.Latency(); + // @003002DC NOP + MobUt.Latency(); + // @003002E0 DIV.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[3].f); + // @003002E4 SUB.S $f22, $f5, $f0 + this.ee.fpr[22].f = (this.ee.fpr[5].f - this.ee.fpr[0].f); + // @003002E8 MUL.S $f2, $f2, $f4 + this.ee.fpr[2].f = (this.ee.fpr[2].f * this.ee.fpr[4].f); + // @003002EC LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @003002F0 ADD.S $f1, $f1, $f1 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[1].f); + // @003002F4 SUB.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + // @003002F8 SUB.S $f21, $f2, $f0 + this.ee.fpr[21].f = (this.ee.fpr[2].f - this.ee.fpr[0].f); + // @003002FC SUB.S $f1, $f21, $f22 + this.ee.fpr[1].f = (this.ee.fpr[21].f - this.ee.fpr[22].f); + // @00300300 BEQ zero, zero, $00300280 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3146368u; + } + // @00300304 SUB.S $f20, $f5, $f1 + this.ee.fpr[20].f = (this.ee.fpr[5].f - this.ee.fpr[1].f); + } + + public virtual void funct00300308() + { + this.ee.pc = 3146736u; + // @00300308 MUL.S $f20, $f12, $f12 + this.ee.fpr[20].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); + // @0030030C ADDIU t7, t7, $48c8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18632))); + // @00300310 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00300314 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300318 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @0030031C ADDIU t7, t7, $48cc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18636))); + // @00300320 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300324 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300328 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @0030032C ADDIU t7, t7, $48d0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18640))); + // @00300330 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00300334 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300338 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @0030033C ADDIU t7, t7, $48d4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18644))); + // @00300340 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @00300344 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300348 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @0030034C ADDIU t7, t7, $48d8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18648))); + // @00300350 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @00300354 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00300358 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @0030035C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300360 ADDIU t7, t7, $48dc + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18652))); + // @00300364 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @00300368 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @0030036C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300370 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @00300374 ADDIU t7, t7, $48e0 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18656))); + // @00300378 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @0030037C LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @00300380 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @00300384 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300388 ADDIU t7, t7, $48e4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18660))); + // @0030038C ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @00300390 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @00300394 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300398 ADD.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @0030039C ADDIU t7, t7, $48e8 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18664))); + // @003003A0 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @003003A4 LWC1 $f2, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[2], (0u + this.ee.t7.UL0)); + // @003003A8 MUL.S $f1, $f20, $f1 + this.ee.fpr[1].f = (this.ee.fpr[20].f * this.ee.fpr[1].f); + // @003003AC LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003003B0 ADDIU t7, t7, $48c4 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18628))); + // @003003B4 ADD.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[2].f); + // @003003B8 LWC1 $f3, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[3], (0u + this.ee.t7.UL0)); + // @003003BC ADD.S $f22, $f1, $f3 + this.ee.fpr[22].f = (this.ee.fpr[1].f + this.ee.fpr[3].f); + // @003003C0 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003003C4 MUL.S $f0, $f20, $f0 + this.ee.fpr[0].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @003003C8 ADDIU t7, t7, $48ec + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18668))); + // @003003CC LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003003D0 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003003D4 MUL.S $f21, $f20, $f0 + this.ee.fpr[21].f = (this.ee.fpr[20].f * this.ee.fpr[0].f); + // @003003D8 NOP + MobUt.Latency(); + // @003003DC NOP + MobUt.Latency(); + // @003003E0 DIV.S $f21, $f21, $f22 + this.ee.fpr[21].f = (this.ee.fpr[21].f / this.ee.fpr[22].f); + // @003003E4 MUL.S $f0, $f12, $f21 + this.ee.fpr[0].f = (this.ee.fpr[12].f * this.ee.fpr[21].f); + // @003003E8 BEQ zero, zero, $003000b0 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3145904u; + } + // @003003EC ADD.S $f4, $f12, $f0 + this.ee.fpr[4].f = (this.ee.fpr[12].f + this.ee.fpr[0].f); + } + + public virtual void funct003003f0() + { + this.ee.pc = 3146784u; + // @003003F0 MOV.S $f0, $f12 + this.ee.fpr[0].f = this.ee.fpr[12].f; + // @003003F4 ADDIU sp, sp, $fff0 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + -16))); + // @003003F8 LUI t6, $7fff + this.ee.t6.SD0 = 2147418112; + // @003003FC MFC1 t4, $f13 + MobUt.MFC1(this.ee.t4, this.ee.fpr[13]); + // @00300400 MFC1 t3, $f12 + MobUt.MFC1(this.ee.t3, this.ee.fpr[12]); + // @00300404 ORI t6, t6, $ffff + this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); + // @00300408 SD s0, $0000(sp) + MobUt.SD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @0030040C AND t1, t4, t6 + this.ee.t1.UD0 = (this.ee.t4.UD0 & this.ee.t6.UD0); + // @00300410 SD ra, $0008(sp) + MobUt.SD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @00300414 LUI t7, $3f80 + this.ee.t7.SD0 = 1065353216; + // @00300418 BNE t4, t7, $00300430 + if ((this.ee.t4.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 3146800u; + } + // @0030041C AND t2, t3, t6 + this.ee.t2.UD0 = (this.ee.t3.UD0 & this.ee.t6.UD0); + } + + public virtual void funct00300420() + { + this.ee.pc = 3146800u; + // @00300420 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @00300424 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @00300428 J $002ff210 + this.ee.pc = 3142160u; + // @0030042C ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00300430() + { + this.ee.pc = 3146832u; + // @00300430 SRA t7, t4, 30 + MobUt.SRA(this.ee.t7, this.ee.t4, 30); + // @00300434 LUI t6, $007f + this.ee.t6.SD0 = 8323072; + // @00300438 ANDI t7, t7, $0002 + this.ee.t7.UD0 = ((ushort)((this.ee.t7.US0 & 2))); + // @0030043C SRL t5, t3, 31 + MobUt.SRL(this.ee.t5, this.ee.t3, 31); + // @00300440 ORI t6, t6, $ffff + this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); + // @00300444 SLT t6, t6, t2 + this.ee.t6.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.t2.SD0)); + // @00300448 BNE t6, zero, $00300490 + if ((this.ee.t6.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3146896u; + } + // @0030044C OR s0, t5, t7 + this.ee.s0.UD0 = (this.ee.t5.UD0 | this.ee.t7.UD0); + } + + public virtual void funct00300450() + { + this.ee.pc = 3146848u; + // @00300450 LUI t6, $4049 + this.ee.t6.SD0 = 1078525952; + // @00300454 ADDIU t7, zero, $0002 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); + // @00300458 BEQ s0, t7, $0030047c + if ((this.ee.s0.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 3146876u; + } + // @0030045C ORI t6, t6, $0fda + this.ee.t6.UD0 = (this.ee.t6.UD0 | 4058); + } + + public virtual void funct00300460() + { + this.ee.pc = 3146860u; + // @00300460 SLTI t7, s0, $0003 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 3)); + // @00300464 BEQL t7, zero, $003005a4 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147172u; + // @00300468 LUI t6, $c049 + this.ee.t6.SD0 = -1068957696; + } + } + + public virtual void funct0030046c() + { + this.ee.pc = 3146868u; + // @0030046C BLTZ s0, $00300494 + if ((this.ee.s0.SD0 < 0)) + { + this.ee.pc = 3146900u; + } + // @00300470 LUI t7, $007f + this.ee.t7.SD0 = 8323072; + } + + public virtual void funct00300474() + { + this.ee.pc = 3146896u; + // @00300474 NOP + MobUt.Latency(); + // @00300478 MFC1 t6, $f0 + MobUt.MFC1(this.ee.t6, this.ee.fpr[0]); + // @0030047C MTC1 t6, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); + // @00300480 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @00300484 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @00300488 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0030048C ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00300478() + { + this.ee.pc = 3146896u; + // @00300478 MFC1 t6, $f0 + MobUt.MFC1(this.ee.t6, this.ee.fpr[0]); + // @0030047C MTC1 t6, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); + // @00300480 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @00300484 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @00300488 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0030048C ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct0030047c() + { + this.ee.pc = 3146896u; + // @0030047C MTC1 t6, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); + // @00300480 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @00300484 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @00300488 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0030048C ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00300480() + { + this.ee.pc = 3146896u; + // @00300480 LD s0, $0000(sp) + MobUt.LD(this.ee, this.ee.s0, (0u + this.ee.sp.UL0)); + // @00300484 LD ra, $0008(sp) + MobUt.LD(this.ee, this.ee.ra, (8u + this.ee.sp.UL0)); + // @00300488 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0030048C ADDIU sp, sp, $0010 + this.ee.sp.SD0 = ((int)((this.ee.sp.SD0 + 16))); + } + + public virtual void funct00300490() + { + this.ee.pc = 3146916u; + // @00300490 LUI t7, $007f + this.ee.t7.SD0 = 8323072; + // @00300494 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @00300498 SLT t7, t7, t1 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t1.SD0)); + // @0030049C BNE t7, zero, $003004dc + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3146972u; + } + // @003004A0 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct003004a4() + { + this.ee.pc = 3146940u; + // @003004A4 LUI t7, $bfc9 + this.ee.t7.SD0 = -1077346304; + // @003004A8 ORI t7, t7, $0fda + this.ee.t7.UD0 = (this.ee.t7.UD0 | 4058); + // @003004AC CTC2 t7, $vi22 + // @003004B0 VNOP + MobUt.Latency(); + // @003004B4 BLTZ t3, $003004c8 + if ((this.ee.t3.SD0 < 0)) + { + this.ee.pc = 3146952u; + } + // @003004B8 LUI t7, $3fc9 + this.ee.t7.SD0 = 1070137344; + } + + public virtual void funct003004c8() + { + this.ee.pc = 3146972u; + // @003004C8 VWAITQ + MobUt.Latency(); + // @003004CC CFC2 t6, $vi22 + MobUt.CFC2(this.ee.t6, this.ee.VI[22]); + // @003004D0 VNOP + MobUt.Latency(); + // @003004D4 BEQ zero, zero, $00300480 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3146880u; + } + // @003004D8 MTC1 t6, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t6.UL[0]); + } + + public virtual void funct003004dc() + { + this.ee.pc = 3147000u; + // @003004DC SUBU t6, t2, t1 + this.ee.t6.SD0 = ((int)((this.ee.t2.UD0 - this.ee.t1.UD0))); + // @003004E0 ADDIU t7, t7, $4910 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18704))); + // @003004E4 SRA t6, t6, 23 + MobUt.SRA(this.ee.t6, this.ee.t6, 23); + // @003004E8 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003004EC SLTI t7, t6, $003d + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < 61)); + // @003004F0 BEQ t7, zero, $0030052c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147052u; + } + // @003004F4 ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + } + + public virtual void funct003004f8() + { + this.ee.pc = 3147008u; + // @003004F8 BGEZ t4, $00300508 + if ((this.ee.t4.SD0 >= 0)) + { + this.ee.pc = 3147016u; + } + // @003004FC SLTI t7, t6, $ffc4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < -60)); + } + + public virtual void funct00300500() + { + this.ee.pc = 3147016u; + // @00300500 BNE t7, zero, $00300528 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147048u; + } + // @00300504 MTC1 zero, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.r0.UL[0]); + } + + public virtual void funct00300508() + { + this.ee.pc = 3147036u; + // @00300508 NOP + MobUt.Latency(); + // @0030050C NOP + MobUt.Latency(); + // @00300510 DIV.S $f12, $f0, $f13 + this.ee.fpr[12].f = (this.ee.fpr[0].f / this.ee.fpr[13].f); + // @00300514 JAL $002ff660 + this.ee.ra.UL0 = 3147036u; + this.ee.pc = 3143264u; + // @00300518 NOP + MobUt.Latency(); + } + + public virtual void funct0030051c() + { + this.ee.pc = 3147044u; + // @0030051C JAL $002ff210 + this.ee.ra.UL0 = 3147044u; + this.ee.pc = 3142160u; + // @00300520 MOV.S $f12, $f0 + this.ee.fpr[12].f = this.ee.fpr[0].f; + } + + public virtual void funct00300524() + { + this.ee.pc = 3147060u; + // @00300524 MOV.S $f1, $f0 + this.ee.fpr[1].f = this.ee.fpr[0].f; + // @00300528 ADDIU t7, zero, $0001 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 1))); + // @0030052C BEQ s0, t7, $00300594 + if ((this.ee.s0.UD0 == this.ee.t7.UD0)) + { + this.ee.pc = 3147156u; + } + // @00300530 SLTI t7, s0, $0002 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.s0.SD0 < 2)); + } + + public virtual void funct00300534() + { + this.ee.pc = 3147068u; + // @00300534 BEQ t7, zero, $00300568 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147112u; + } + // @00300538 ADDIU t7, zero, $0002 + this.ee.t7.SD0 = ((int)((this.ee.r0.SD0 + 2))); + } + + public virtual void funct0030053c() + { + this.ee.pc = 3147076u; + // @0030053C BEQ s0, zero, $0030047c + if ((this.ee.s0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3146876u; + } + // @00300540 MFC1 t6, $f1 + MobUt.MFC1(this.ee.t6, this.ee.fpr[1]); + } + + public virtual void funct00300548() + { + this.ee.pc = 3147112u; + // @00300548 ADDIU t7, t7, $4914 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18708))); + // @0030054C LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00300550 SUB.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + // @00300554 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300558 ADDIU t7, t7, $4918 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18712))); + // @0030055C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300560 BEQ zero, zero, $00300478 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3146872u; + } + // @00300564 SUB.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + } + + public virtual void funct00300568() + { + this.ee.pc = 3147120u; + // @00300568 BNE s0, t7, $00300548 + if ((this.ee.s0.UD0 != this.ee.t7.UD0)) + { + this.ee.pc = 3147080u; + } + // @0030056C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct00300570() + { + this.ee.pc = 3147156u; + // @00300570 ADDIU t7, t7, $4914 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18708))); + // @00300574 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00300578 SUB.S $f0, $f1, $f0 + this.ee.fpr[0].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + // @0030057C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300580 ADDIU t7, t7, $4918 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18712))); + // @00300584 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300588 SUB.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + // @0030058C BEQ zero, zero, $0030047c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3146876u; + } + // @00300590 MFC1 t6, $f1 + MobUt.MFC1(this.ee.t6, this.ee.fpr[1]); + } + + public virtual void funct00300594() + { + this.ee.pc = 3147172u; + // @00300594 MFC1 t6, $f1 + MobUt.MFC1(this.ee.t6, this.ee.fpr[1]); + // @00300598 LUI t7, $8000 + this.ee.t7.SD0 = -2147483648; + // @0030059C BEQ zero, zero, $0030047c + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3146876u; + } + // @003005A0 XOR t6, t6, t7 + MobUt.XOR(this.ee.t6, this.ee.t6, this.ee.t7); + } + + public virtual void funct003005b8() + { + this.ee.pc = 3147228u; + // @003005B8 MFC1 t4, $f12 + MobUt.MFC1(this.ee.t4, this.ee.fpr[12]); + // @003005BC LUI t6, $7fff + this.ee.t6.SD0 = 2147418112; + // @003005C0 LUI t7, $42b2 + this.ee.t7.SD0 = 1118961664; + // @003005C4 ORI t6, t6, $ffff + this.ee.t6.UD0 = (this.ee.t6.UD0 | 65535); + // @003005C8 ORI t7, t7, $d4fc + this.ee.t7.UD0 = (this.ee.t7.UD0 | 54524); + // @003005CC AND t3, t4, t6 + this.ee.t3.UD0 = (this.ee.t4.UD0 & this.ee.t6.UD0); + // @003005D0 SLT t7, t7, t4 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.SD0 < this.ee.t4.SD0)); + // @003005D4 BEQ t7, zero, $003005ec + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147244u; + } + // @003005D8 SRL t2, t4, 31 + MobUt.SRL(this.ee.t2, this.ee.t4, 31); + } + + public virtual void funct003005e4() + { + this.ee.pc = 3147244u; + // @003005E4 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @003005E8 MTC1 t5, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t5.UL[0]); + } + + public virtual void funct003005ec() + { + this.ee.pc = 3147252u; + // @003005EC BGEZ t4, $0030060c + if ((this.ee.t4.SD0 >= 0)) + { + this.ee.pc = 3147276u; + } + // @003005F0 LUI t7, $3eb1 + this.ee.t7.SD0 = 1051787264; + } + + public virtual void funct003005f4() + { + this.ee.pc = 3147272u; + // @003005F4 LUI t7, $42ae + this.ee.t7.SD0 = 1118699520; + // @003005F8 ORI t7, t7, $ac50 + this.ee.t7.UD0 = (this.ee.t7.UD0 | 44112); + // @003005FC SLTU t7, t7, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); + // @00300600 BNE t7, zero, $003005e4 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147236u; + } + // @00300604 DADDU t5, zero, zero + this.ee.t5.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + + public virtual void funct00300608() + { + this.ee.pc = 3147292u; + // @00300608 LUI t7, $3eb1 + this.ee.t7.SD0 = 1051787264; + // @0030060C ORI t7, t7, $7218 + this.ee.t7.UD0 = (this.ee.t7.UD0 | 29208); + // @00300610 SLTU t7, t7, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); + // @00300614 BEQ t7, zero, $003007e0 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147744u; + } + // @00300618 LUI t7, $3f85 + this.ee.t7.SD0 = 1065680896; + } + + public virtual void funct0030061c() + { + this.ee.pc = 3147308u; + // @0030061C ORI t7, t7, $1591 + this.ee.t7.UD0 = (this.ee.t7.UD0 | 5521); + // @00300620 SLTU t7, t7, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); + // @00300624 BNE t7, zero, $00300784 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147652u; + } + // @00300628 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + } + + public virtual void funct0030062c() + { + this.ee.pc = 3147472u; + // @0030062C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300630 SLL t5, t2, 2 + MobUt.SLL(this.ee.t5, this.ee.t2, 2); + // @00300634 ADDIU t7, t7, $4938 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18744))); + // @00300638 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @0030063C ADDU t7, t5, t7 + this.ee.t7.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t7.SD0))); + // @00300640 ADDIU t6, t6, $4940 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18752))); + // @00300644 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @00300648 ADDU t5, t5, t6 + this.ee.t5.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t6.SD0))); + // @0030064C LWC1 $f4, $0000(t5) + MobUt.LWC1(this.ee, this.ee.fpr[4], (0u + this.ee.t5.UL0)); + // @00300650 SUB.S $f3, $f12, $f0 + this.ee.fpr[3].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + // @00300654 SUBU t7, zero, t2 + this.ee.t7.SD0 = ((int)((this.ee.r0.UD0 - this.ee.t2.UD0))); + // @00300658 SUBU t7, t7, t2 + this.ee.t7.SD0 = ((int)((this.ee.t7.UD0 - this.ee.t2.UD0))); + // @0030065C ADDIU t1, t7, $0001 + this.ee.t1.SD0 = ((int)((this.ee.t7.SD0 + 1))); + // @00300660 SUB.S $f12, $f3, $f4 + this.ee.fpr[12].f = (this.ee.fpr[3].f - this.ee.fpr[4].f); + // @00300664 MUL.S $f2, $f12, $f12 + this.ee.fpr[2].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); + // @00300668 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @0030066C ADDIU t6, t6, $4978 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18808))); + // @00300670 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300674 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @00300678 ADDIU t7, t7, $497c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18812))); + // @0030067C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300680 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @00300684 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00300688 ADDIU t6, t6, $4980 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18816))); + // @0030068C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300690 ADDIU t7, t7, $4984 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18820))); + // @00300694 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @00300698 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @0030069C LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @003006A0 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @003006A4 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006A8 ADDIU t6, t6, $4988 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18824))); + // @003006AC MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006B0 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003006B4 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006B8 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006BC LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @003006C0 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006C4 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006C8 BNE t1, zero, $0030070c + if ((this.ee.t1.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147532u; + } + // @003006CC SUB.S $f2, $f12, $f0 + this.ee.fpr[2].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + + public virtual void funct00300660() + { + this.ee.pc = 3147472u; + // @00300660 SUB.S $f12, $f3, $f4 + this.ee.fpr[12].f = (this.ee.fpr[3].f - this.ee.fpr[4].f); + // @00300664 MUL.S $f2, $f12, $f12 + this.ee.fpr[2].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); + // @00300668 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @0030066C ADDIU t6, t6, $4978 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18808))); + // @00300670 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300674 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @00300678 ADDIU t7, t7, $497c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18812))); + // @0030067C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300680 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @00300684 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00300688 ADDIU t6, t6, $4980 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18816))); + // @0030068C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300690 ADDIU t7, t7, $4984 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18820))); + // @00300694 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @00300698 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @0030069C LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @003006A0 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @003006A4 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006A8 ADDIU t6, t6, $4988 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18824))); + // @003006AC MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006B0 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003006B4 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006B8 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006BC LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @003006C0 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006C4 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006C8 BNE t1, zero, $0030070c + if ((this.ee.t1.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147532u; + } + // @003006CC SUB.S $f2, $f12, $f0 + this.ee.fpr[2].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + + public virtual void funct00300664() + { + this.ee.pc = 3147472u; + // @00300664 MUL.S $f2, $f12, $f12 + this.ee.fpr[2].f = (this.ee.fpr[12].f * this.ee.fpr[12].f); + // @00300668 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @0030066C ADDIU t6, t6, $4978 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18808))); + // @00300670 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300674 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @00300678 ADDIU t7, t7, $497c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18812))); + // @0030067C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300680 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @00300684 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00300688 ADDIU t6, t6, $4980 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18816))); + // @0030068C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300690 ADDIU t7, t7, $4984 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18820))); + // @00300694 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @00300698 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @0030069C LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @003006A0 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @003006A4 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006A8 ADDIU t6, t6, $4988 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18824))); + // @003006AC MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006B0 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003006B4 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006B8 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006BC LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @003006C0 ADD.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f + this.ee.fpr[1].f); + // @003006C4 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003006C8 BNE t1, zero, $0030070c + if ((this.ee.t1.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147532u; + } + // @003006CC SUB.S $f2, $f12, $f0 + this.ee.fpr[2].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + + public virtual void funct003006d0() + { + this.ee.pc = 3147532u; + // @003006D0 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003006D4 MUL.S $f0, $f12, $f2 + this.ee.fpr[0].f = (this.ee.fpr[12].f * this.ee.fpr[2].f); + // @003006D8 ADDIU t7, t7, $498c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18828))); + // @003006DC LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @003006E0 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003006E4 ADDIU t6, t6, $4970 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18800))); + // @003006E8 SUB.S $f1, $f2, $f1 + this.ee.fpr[1].f = (this.ee.fpr[2].f - this.ee.fpr[1].f); + // @003006EC NOP + MobUt.Latency(); + // @003006F0 NOP + MobUt.Latency(); + // @003006F4 DIV.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f / this.ee.fpr[1].f); + // @003006F8 SUB.S $f0, $f0, $f12 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[12].f); + // @003006FC LWC1 $f1, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t6.UL0)); + // @00300700 SUB.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[0].f); + // @00300704 BEQ zero, zero, $003005e4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147236u; + } + // @00300708 MFC1 t5, $f1 + MobUt.MFC1(this.ee.t5, this.ee.fpr[1]); + } + + public virtual void funct00300704() + { + this.ee.pc = 3147532u; + // @00300704 BEQ zero, zero, $003005e4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147236u; + } + // @00300708 MFC1 t5, $f1 + MobUt.MFC1(this.ee.t5, this.ee.fpr[1]); + } + + public virtual void funct0030070c() + { + this.ee.pc = 3147600u; + // @0030070C LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00300710 MUL.S $f1, $f12, $f2 + this.ee.fpr[1].f = (this.ee.fpr[12].f * this.ee.fpr[2].f); + // @00300714 ADDIU t6, t6, $498c + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18828))); + // @00300718 SLTI t7, t1, $ff83 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t1.SD0 < -125)); + // @0030071C LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @00300720 SUB.S $f0, $f0, $f2 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[2].f); + // @00300724 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @00300728 ADDIU t6, t6, $4970 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18800))); + // @0030072C NOP + MobUt.Latency(); + // @00300730 NOP + MobUt.Latency(); + // @00300734 DIV.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f / this.ee.fpr[0].f); + // @00300738 SUB.S $f1, $f4, $f1 + this.ee.fpr[1].f = (this.ee.fpr[4].f - this.ee.fpr[1].f); + // @0030073C LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @00300740 SUB.S $f1, $f1, $f3 + this.ee.fpr[1].f = (this.ee.fpr[1].f - this.ee.fpr[3].f); + // @00300744 SUB.S $f0, $f0, $f1 + this.ee.fpr[0].f = (this.ee.fpr[0].f - this.ee.fpr[1].f); + // @00300748 BNE t7, zero, $0030075c + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147612u; + } + // @0030074C MFC1 t6, $f0 + MobUt.MFC1(this.ee.t6, this.ee.fpr[0]); + } + + public virtual void funct00300750() + { + this.ee.pc = 3147612u; + // @00300750 SLL t7, t1, 23 + MobUt.SLL(this.ee.t7, this.ee.t1, 23); + // @00300754 BEQ zero, zero, $003005e4 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147236u; + } + // @00300758 ADDU t5, t6, t7 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + } + + public virtual void funct0030075c() + { + this.ee.pc = 3147652u; + // @0030075C MFC1 t7, $f0 + MobUt.MFC1(this.ee.t7, this.ee.fpr[0]); + // @00300760 ADDIU t6, t1, $0064 + this.ee.t6.SD0 = ((int)((this.ee.t1.SD0 + 100))); + // @00300764 SLL t6, t6, 23 + MobUt.SLL(this.ee.t6, this.ee.t6, 23); + // @00300768 ADDU t6, t7, t6 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @0030076C LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300770 MTC1 t6, $f1 + this.ee.fpr[1].f = MobUt.UL2F(this.ee.t6.UL[0]); + // @00300774 ADDIU t7, t7, $4990 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18832))); + // @00300778 LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @0030077C BEQ zero, zero, $00300704 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147524u; + } + // @00300780 MUL.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f * this.ee.fpr[0].f); + } + + public virtual void funct00300784() + { + this.ee.pc = 3147744u; + // @00300784 SLL t6, t2, 2 + MobUt.SLL(this.ee.t6, this.ee.t2, 2); + // @00300788 ADDIU t7, t7, $4964 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18788))); + // @0030078C LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @00300790 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @00300794 MUL.S $f1, $f12, $f1 + this.ee.fpr[1].f = (this.ee.fpr[12].f * this.ee.fpr[1].f); + // @00300798 ADDIU t7, t7, $4928 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18728))); + // @0030079C ADDU t6, t6, t7 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t7.SD0))); + // @003007A0 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @003007A4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003007A8 ADDIU t7, t7, $496c + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 18796))); + // @003007AC ADD.S $f1, $f1, $f0 + this.ee.fpr[1].f = (this.ee.fpr[1].f + this.ee.fpr[0].f); + // @003007B0 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + // @003007B4 ADDIU t6, t6, $4968 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + 18792))); + // @003007B8 CVT.W.S $f0, $f1 + MobUt.CVT_W(this.ee.fpr[0], this.ee.fpr[1]); + // @003007BC MFC1 t1, $f0 + MobUt.MFC1(this.ee.t1, this.ee.fpr[0]); + // @003007C0 LWC1 $f1, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[1], (0u + this.ee.t7.UL0)); + // @003007C4 MTC1 t1, $f2 + this.ee.fpr[2].f = MobUt.UL2F(this.ee.t1.UL[0]); + // @003007C8 LWC1 $f0, $0000(t6) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t6.UL0)); + // @003007CC CVT.S.W $f2, $f2 + MobUt.CVT_S(this.ee.fpr[2], this.ee.fpr[2]); + // @003007D0 MUL.S $f0, $f2, $f0 + this.ee.fpr[0].f = (this.ee.fpr[2].f * this.ee.fpr[0].f); + // @003007D4 MUL.S $f4, $f2, $f1 + this.ee.fpr[4].f = (this.ee.fpr[2].f * this.ee.fpr[1].f); + // @003007D8 BEQ zero, zero, $00300660 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3147360u; + } + // @003007DC SUB.S $f3, $f12, $f0 + this.ee.fpr[3].f = (this.ee.fpr[12].f - this.ee.fpr[0].f); + } + + public virtual void funct003007e0() + { + this.ee.pc = 3147764u; + // @003007E0 LUI t7, $317f + this.ee.t7.SD0 = 830406656; + // @003007E4 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @003007E8 SLTU t7, t7, t3 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t7.UD0 < this.ee.t3.UD0)); + // @003007EC BNEL t7, zero, $00300664 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3147364u; + // @003007F0 DADDU t1, zero, zero + this.ee.t1.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + } + } + + public virtual void funct00301800() + { + this.ee.pc = 3151908u; + // @00301800 LUI t7, $7fff + this.ee.t7.SD0 = 2147418112; + // @00301804 MFC1 t6, $f12 + MobUt.MFC1(this.ee.t6, this.ee.fpr[12]); + // @00301808 ORI t7, t7, $ffff + this.ee.t7.UD0 = (this.ee.t7.UD0 | 65535); + // @0030180C LUI t4, $007f + this.ee.t4.SD0 = 8323072; + // @00301810 AND t7, t6, t7 + this.ee.t7.UD0 = (this.ee.t6.UD0 & this.ee.t7.UD0); + // @00301814 ORI t4, t4, $ffff + this.ee.t4.UD0 = (this.ee.t4.UD0 | 65535); + // @00301818 SLTU t7, t4, t7 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t4.UD0 < this.ee.t7.UD0)); + // @0030181C BEQ t7, zero, $00301840 + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3151936u; + } + // @00301820 MFC1 t5, $f12 + MobUt.MFC1(this.ee.t5, this.ee.fpr[12]); + } + + public virtual void funct00301824() + { + this.ee.pc = 3151916u; + // @00301824 BGEZL t6, $00301848 + if ((this.ee.t6.SD0 >= 0)) + { + this.ee.pc = 3151944u; + // @00301828 SRA t1, t6, 23 + MobUt.SRA(this.ee.t1, this.ee.t6, 23); + } + } + + public virtual void funct00301840() + { + this.ee.pc = 3151944u; + // @00301840 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @00301844 MTC1 t5, $f0 + this.ee.fpr[0].f = MobUt.UL2F(this.ee.t5.UL[0]); + } + + public virtual void funct00301848() + { + this.ee.pc = 3152004u; + // @00301848 ADDIU t1, t1, $ff81 + this.ee.t1.SD0 = ((int)((this.ee.t1.SD0 + -127))); + // @0030184C AND t7, t6, t4 + this.ee.t7.UD0 = (this.ee.t6.UD0 & this.ee.t4.UD0); + // @00301850 ANDI t5, t1, $0001 + this.ee.t5.UD0 = ((ushort)((this.ee.t1.US0 & 1))); + // @00301854 LUI t6, $0080 + this.ee.t6.SD0 = 8388608; + // @00301858 SRA t1, t1, 1 + MobUt.SRA(this.ee.t1, this.ee.t1, 1); + // @0030185C OR t6, t7, t6 + this.ee.t6.UD0 = (this.ee.t7.UD0 | this.ee.t6.UD0); + // @00301860 DADDU t3, zero, zero + this.ee.t3.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @00301864 SLLV t6, t6, t5 + MobUt.SLLV(this.ee.t6, this.ee.t6, this.ee.t5); + // @00301868 DADDU t2, zero, zero + this.ee.t2.UD0 = (this.ee.r0.UD0 + this.ee.r0.UD0); + // @0030186C SLL t6, t6, 1 + MobUt.SLL(this.ee.t6, this.ee.t6, 1); + // @00301870 LUI t4, $0100 + this.ee.t4.SD0 = 16777216; + // @00301874 ADDU t5, t3, t4 + this.ee.t5.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t4.SD0))); + // @00301878 SLT t7, t6, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.t5.SD0)); + // @0030187C BNEL t7, zero, $00301894 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3152020u; + // @00301880 SRL t4, t4, 1 + MobUt.SRL(this.ee.t4, this.ee.t4, 1); + } + } + + public virtual void funct00301874() + { + this.ee.pc = 3152004u; + // @00301874 ADDU t5, t3, t4 + this.ee.t5.SD0 = ((int)((this.ee.t3.SD0 + this.ee.t4.SD0))); + // @00301878 SLT t7, t6, t5 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.t6.SD0 < this.ee.t5.SD0)); + // @0030187C BNEL t7, zero, $00301894 + if ((this.ee.t7.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3152020u; + // @00301880 SRL t4, t4, 1 + MobUt.SRL(this.ee.t4, this.ee.t4, 1); + } + } + + public virtual void funct00301884() + { + this.ee.pc = 3152028u; + // @00301884 SUBU t6, t6, t5 + this.ee.t6.SD0 = ((int)((this.ee.t6.UD0 - this.ee.t5.UD0))); + // @00301888 ADDU t3, t5, t4 + this.ee.t3.SD0 = ((int)((this.ee.t5.SD0 + this.ee.t4.SD0))); + // @0030188C ADDU t2, t2, t4 + this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + this.ee.t4.SD0))); + // @00301890 SRL t4, t4, 1 + MobUt.SRL(this.ee.t4, this.ee.t4, 1); + // @00301894 BNE t4, zero, $00301874 + if ((this.ee.t4.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3151988u; + } + // @00301898 SLL t6, t6, 1 + MobUt.SLL(this.ee.t6, this.ee.t6, 1); + } + + public virtual void funct00301894() + { + this.ee.pc = 3152028u; + // @00301894 BNE t4, zero, $00301874 + if ((this.ee.t4.UD0 != this.ee.r0.UD0)) + { + this.ee.pc = 3151988u; + } + // @00301898 SLL t6, t6, 1 + MobUt.SLL(this.ee.t6, this.ee.t6, 1); + } + + public virtual void funct0030189c() + { + this.ee.pc = 3152036u; + // @0030189C BEQ t6, zero, $003018c8 + if ((this.ee.t6.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3152072u; + } + // @003018A0 SRA t7, t2, 1 + MobUt.SRA(this.ee.t7, this.ee.t2, 1); + } + + public virtual void funct003018a4() + { + this.ee.pc = 3152060u; + // @003018A4 LUI t7, $0038 + this.ee.t7.SD0 = 3670016; + // @003018A8 ADDIU t7, t7, $4f00 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + 20224))); + // @003018AC LWC1 $f0, $0000(t7) + MobUt.LWC1(this.ee, this.ee.fpr[0], (0u + this.ee.t7.UL0)); + // @003018B0 C.LE.S $f0, $f0 + this.ee.fcr31_23 = (this.ee.fpr[0].f <= this.ee.fpr[0].f); + // @003018B4 BC1FL $003018c8 + if ((this.ee.fcr31_23 == false)) + { + this.ee.pc = 3152072u; + // @003018B8 SRA t7, t2, 1 + MobUt.SRA(this.ee.t7, this.ee.t2, 1); + } + } + + public virtual void funct003018bc() + { + this.ee.pc = 3152092u; + // @003018BC ANDI t7, t2, $0001 + this.ee.t7.UD0 = ((ushort)((this.ee.t2.US0 & 1))); + // @003018C0 ADDU t2, t2, t7 + this.ee.t2.SD0 = ((int)((this.ee.t2.SD0 + this.ee.t7.SD0))); + // @003018C4 SRA t7, t2, 1 + MobUt.SRA(this.ee.t7, this.ee.t2, 1); + // @003018C8 LUI t6, $3f00 + this.ee.t6.SD0 = 1056964608; + // @003018CC ADDU t6, t7, t6 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @003018D0 SLL t5, t1, 23 + MobUt.SLL(this.ee.t5, this.ee.t1, 23); + // @003018D4 BEQ zero, zero, $00301840 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3151936u; + } + // @003018D8 ADDU t5, t6, t5 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + } + + public virtual void funct003018c8() + { + this.ee.pc = 3152092u; + // @003018C8 LUI t6, $3f00 + this.ee.t6.SD0 = 1056964608; + // @003018CC ADDU t6, t7, t6 + this.ee.t6.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @003018D0 SLL t5, t1, 23 + MobUt.SLL(this.ee.t5, this.ee.t1, 23); + // @003018D4 BEQ zero, zero, $00301840 + if ((this.ee.r0.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3151936u; + } + // @003018D8 ADDU t5, t6, t5 + this.ee.t5.SD0 = ((int)((this.ee.t6.SD0 + this.ee.t5.SD0))); + } + + public virtual void funct0032d8d0() + { + this.ee.pc = 3332316u; + // @0032D8D0 SLTIU t7, a1, $0010 + this.ee.t7.UD0 = System.Convert.ToByte((this.ee.a1.UD0 < 16ul)); + // @0032D8D4 BEQ t7, zero, $0032d95c + if ((this.ee.t7.UD0 == this.ee.r0.UD0)) + { + this.ee.pc = 3332444u; + } + // @0032D8D8 LUI t6, $0038 + this.ee.t6.SD0 = 3670016; + } + + public virtual void funct0032d8dc() + { + this.ee.pc = 3332340u; + // @0032D8DC SLL t7, a1, 2 + MobUt.SLL(this.ee.t7, this.ee.a1, 2); + // @0032D8E0 ADDIU t6, t6, $8764 + this.ee.t6.SD0 = ((int)((this.ee.t6.SD0 + -30876))); + // @0032D8E4 ADDU t7, t7, t6 + this.ee.t7.SD0 = ((int)((this.ee.t7.SD0 + this.ee.t6.SD0))); + // @0032D8E8 LW t5, $0000(t7) + MobUt.LW(this.ee, this.ee.t5, (0u + this.ee.t7.UL0)); + // @0032D8EC JR t5 + this.ee.pc = this.ee.t5.UL[0]; + // @0032D8F0 NOP + MobUt.Latency(); + } + + public virtual void funct0032d964() + { + this.ee.pc = 3332460u; + // @0032D964 JR ra + this.ee.pc = this.ee.ra.UL[0]; + // @0032D968 ADDIU v0, zero, $0001 + this.ee.v0.SD0 = ((int)((this.ee.r0.SD0 + 1))); + } + + private void initstate() + { + this.initregs(); + this.initfns(); + } + + private void initregs() + { + this.ee.r0.UD0 = 0ul; + this.ee.r0.UD1 = 0ul; + this.ee.at.UD0 = 1070141403ul; + this.ee.at.UD1 = 0ul; + this.ee.v0.UD0 = 229ul; + this.ee.v0.UD1 = 0ul; + this.ee.v1.UD0 = 3728656ul; + this.ee.v1.UD1 = 11678ul; + this.ee.a0.UD0 = 10454288ul; + this.ee.a0.UD1 = 11633ul; + this.ee.a1.UD0 = 28030352ul; + this.ee.a1.UD1 = 0ul; + this.ee.a2.UD0 = 3730592ul; + this.ee.a2.UD1 = 0ul; + this.ee.a3.UD0 = 0ul; + this.ee.a3.UD1 = 0ul; + this.ee.t0.UD0 = 3730800ul; + this.ee.t0.UD1 = 1059810839ul; + this.ee.t1.UD0 = 4575657221408423936ul; + this.ee.t1.UD1 = 0ul; + this.ee.t2.UD0 = 3207294487ul; + this.ee.t2.UD1 = 1061036071ul; + this.ee.t3.UD0 = 3306101109ul; + this.ee.t3.UD1 = 4575657224709998879ul; + this.ee.t4.UD0 = 8ul; + this.ee.t4.UD1 = 4575657221408423936ul; + this.ee.t5.UD0 = 10454432ul; + this.ee.t5.UD1 = 0ul; + this.ee.t6.UD0 = 0ul; + this.ee.t6.UD1 = 6660591616ul; + this.ee.t7.UD0 = 1ul; + this.ee.t7.UD1 = 78ul; + this.ee.s0.UD0 = 10454432ul; + this.ee.s0.UD1 = 0ul; + this.ee.s1.UD0 = 10454288ul; + this.ee.s1.UD1 = 0ul; + this.ee.s2.UD0 = 28030352ul; + this.ee.s2.UD1 = 0ul; + this.ee.s3.UD0 = 3730800ul; + this.ee.s3.UD1 = 0ul; + this.ee.s4.UD0 = 28029104ul; + this.ee.s4.UD1 = 0ul; + this.ee.s5.UD0 = 0ul; + this.ee.s5.UD1 = 0ul; + this.ee.s6.UD0 = 3730800ul; + this.ee.s6.UD1 = 0ul; + this.ee.s7.UD0 = 0ul; + this.ee.s7.UD1 = 0ul; + this.ee.t8.UD0 = 3728624ul; + this.ee.t8.UD1 = 0ul; + this.ee.t9.UD0 = 3728640ul; + this.ee.t9.UD1 = 0ul; + this.ee.k0.UD0 = 1879247891ul; + this.ee.k0.UD1 = 0ul; + this.ee.k1.UD0 = 0ul; + this.ee.k1.UD1 = 0ul; + this.ee.gp.UD0 = 3704508ul; + this.ee.gp.UD1 = 0ul; + this.ee.sp.UD0 = 3730592ul; + this.ee.sp.UD1 = 0ul; + this.ee.s8.UD0 = 0ul; + this.ee.s8.UD1 = 0ul; + this.ee.ra.UD0 = 1248400ul; + this.ee.ra.UD1 = 0ul; + this.ee.fpr[0].f = MobUt.UL2F(3212836864u); + this.ee.fpr[1].f = MobUt.UL2F(1065211454u); + this.ee.fpr[2].f = MobUt.UL2F(1088754307u); + this.ee.fpr[3].f = MobUt.UL2F(1007317092u); + this.ee.fpr[4].f = MobUt.UL2F(967154684u); + this.ee.fpr[5].f = MobUt.UL2F(3201396739u); + this.ee.fpr[6].f = MobUt.UL2F(1063086025u); + this.ee.fpr[7].f = MobUt.UL2F(1065353216u); + this.ee.fpr[8].f = MobUt.UL2F(1147806946u); + this.ee.fpr[9].f = MobUt.UL2F(1124209790u); + this.ee.fpr[10].f = MobUt.UL2F(1108805435u); + this.ee.fpr[11].f = MobUt.UL2F(0u); + this.ee.fpr[12].f = MobUt.UL2F(1090519040u); + this.ee.fpr[13].f = MobUt.UL2F(0u); + this.ee.fpr[14].f = MobUt.UL2F(3241277924u); + this.ee.fpr[15].f = MobUt.UL2F(3160289907u); + this.ee.fpr[16].f = MobUt.UL2F(1004365769u); + this.ee.fpr[17].f = MobUt.UL2F(3240795268u); + this.ee.fpr[18].f = MobUt.UL2F(3165876745u); + this.ee.fpr[19].f = MobUt.UL2F(1065353216u); + this.ee.fpr[20].f = MobUt.UL2F(1090519040u); + this.ee.fpr[21].f = MobUt.UL2F(0u); + this.ee.fpr[22].f = MobUt.UL2F(0u); + this.ee.fpr[23].f = MobUt.UL2F(0u); + this.ee.fpr[24].f = MobUt.UL2F(0u); + this.ee.fpr[25].f = MobUt.UL2F(0u); + this.ee.fpr[26].f = MobUt.UL2F(0u); + this.ee.fpr[27].f = MobUt.UL2F(0u); + this.ee.fpr[28].f = MobUt.UL2F(0u); + this.ee.fpr[29].f = MobUt.UL2F(0u); + this.ee.fpr[30].f = MobUt.UL2F(0u); + this.ee.fpr[31].f = MobUt.UL2F(0u); + this.ee.fpracc.f = MobUt.UL2F(3241375643u); + this.ee.VF[0].x = MobUt.UL2F(0u); + this.ee.VF[0].y = MobUt.UL2F(0u); + this.ee.VF[0].z = MobUt.UL2F(0u); + this.ee.VF[0].w = MobUt.UL2F(1065353216u); + this.ee.VF[1].x = MobUt.UL2F(1059810839u); + this.ee.VF[1].y = MobUt.UL2F(2147483648u); + this.ee.VF[1].z = MobUt.UL2F(3208519719u); + this.ee.VF[1].w = MobUt.UL2F(2147483648u); + this.ee.VF[2].x = MobUt.UL2F(3212836864u); + this.ee.VF[2].y = MobUt.UL2F(4294967295u); + this.ee.VF[2].z = MobUt.UL2F(1059810839u); + this.ee.VF[2].w = MobUt.UL2F(0u); + this.ee.VF[3].x = MobUt.UL2F(3207294487u); + this.ee.VF[3].y = MobUt.UL2F(2147483648u); + this.ee.VF[3].z = MobUt.UL2F(1061036071u); + this.ee.VF[3].w = MobUt.UL2F(0u); + this.ee.VF[4].x = MobUt.UL2F(3306101109u); + this.ee.VF[4].y = MobUt.UL2F(0u); + this.ee.VF[4].z = MobUt.UL2F(3301574943u); + this.ee.VF[4].w = MobUt.UL2F(1065353216u); + this.ee.VF[5].x = MobUt.UL2F(1061036071u); + this.ee.VF[5].y = MobUt.UL2F(0u); + this.ee.VF[5].z = MobUt.UL2F(1059810839u); + this.ee.VF[5].w = MobUt.UL2F(0u); + this.ee.VF[6].x = MobUt.UL2F(0u); + this.ee.VF[6].y = MobUt.UL2F(1065353216u); + this.ee.VF[6].z = MobUt.UL2F(0u); + this.ee.VF[6].w = MobUt.UL2F(0u); + this.ee.VF[7].x = MobUt.UL2F(3207294487u); + this.ee.VF[7].y = MobUt.UL2F(0u); + this.ee.VF[7].z = MobUt.UL2F(1061036071u); + this.ee.VF[7].w = MobUt.UL2F(0u); + this.ee.VF[8].x = MobUt.UL2F(3306101109u); + this.ee.VF[8].y = MobUt.UL2F(0u); + this.ee.VF[8].z = MobUt.UL2F(3301574943u); + this.ee.VF[8].w = MobUt.UL2F(1065353216u); + this.ee.VF[9].x = MobUt.UL2F(0u); + this.ee.VF[9].y = MobUt.UL2F(0u); + this.ee.VF[9].z = MobUt.UL2F(0u); + this.ee.VF[9].w = MobUt.UL2F(1065353216u); + this.ee.VF[10].x = MobUt.UL2F(1221302671u); + this.ee.VF[10].y = MobUt.UL2F(1221302671u); + this.ee.VF[10].z = MobUt.UL2F(3290595208u); + this.ee.VF[10].w = MobUt.UL2F(1129027983u); + this.ee.VF[11].x = MobUt.UL2F(1278239296u); + this.ee.VF[11].y = MobUt.UL2F(1277754648u); + this.ee.VF[11].z = MobUt.UL2F(1266599817u); + this.ee.VF[11].w = MobUt.UL2F(1186077023u); + this.ee.VF[12].x = MobUt.UL2F(1157627904u); + this.ee.VF[12].y = MobUt.UL2F(1157627904u); + this.ee.VF[12].z = MobUt.UL2F(1249902592u); + this.ee.VF[12].w = MobUt.UL2F(1249902592u); + this.ee.VF[13].x = MobUt.UL2F(0u); + this.ee.VF[13].y = MobUt.UL2F(0u); + this.ee.VF[13].z = MobUt.UL2F(0u); + this.ee.VF[13].w = MobUt.UL2F(1132462080u); + this.ee.VF[14].x = MobUt.UL2F(0u); + this.ee.VF[14].y = MobUt.UL2F(0u); + this.ee.VF[14].z = MobUt.UL2F(0u); + this.ee.VF[14].w = MobUt.UL2F(1153433600u); + this.ee.VF[15].x = MobUt.UL2F(1068826624u); + this.ee.VF[15].y = MobUt.UL2F(1065746432u); + this.ee.VF[15].z = MobUt.UL2F(1060896768u); + this.ee.VF[15].w = MobUt.UL2F(1068761088u); + this.ee.VF[16].x = MobUt.UL2F(32435u); + this.ee.VF[16].y = MobUt.UL2F(31091u); + this.ee.VF[16].z = MobUt.UL2F(11678u); + this.ee.VF[16].w = MobUt.UL2F(943151540u); + this.ee.VF[17].x = MobUt.UL2F(3301739238u); + this.ee.VF[17].y = MobUt.UL2F(3321541486u); + this.ee.VF[17].z = MobUt.UL2F(1186077023u); + this.ee.VF[17].w = MobUt.UL2F(1065353216u); + this.ee.VF[18].x = MobUt.UL2F(1154255590u); + this.ee.VF[18].y = MobUt.UL2F(1174057838u); + this.ee.VF[18].z = MobUt.UL2F(3333560671u); + this.ee.VF[18].w = MobUt.UL2F(3221225472u); + this.ee.VF[19].x = MobUt.UL2F(0u); + this.ee.VF[19].y = MobUt.UL2F(0u); + this.ee.VF[19].z = MobUt.UL2F(0u); + this.ee.VF[19].w = MobUt.UL2F(1065353216u); + this.ee.VF[20].x = MobUt.UL2F(32224u); + this.ee.VF[20].y = MobUt.UL2F(30845u); + this.ee.VF[20].z = MobUt.UL2F(11719u); + this.ee.VF[20].w = MobUt.UL2F(364746u); + this.ee.VF[21].x = MobUt.UL2F(1158017723u); + this.ee.VF[21].y = MobUt.UL2F(1159360723u); + this.ee.VF[21].z = MobUt.UL2F(1144462391u); + this.ee.VF[21].w = MobUt.UL2F(1186077023u); + this.ee.VF[22].x = MobUt.UL2F(1157913735u); + this.ee.VF[22].y = MobUt.UL2F(1159493858u); + this.ee.VF[22].z = MobUt.UL2F(1144462391u); + this.ee.VF[22].w = MobUt.UL2F(1186077023u); + this.ee.VF[23].x = MobUt.UL2F(32688u); + this.ee.VF[23].y = MobUt.UL2F(31347u); + this.ee.VF[23].z = MobUt.UL2F(11719u); + this.ee.VF[23].w = MobUt.UL2F(364746u); + this.ee.VF[24].x = MobUt.UL2F(1278158170u); + this.ee.VF[24].y = MobUt.UL2F(1277666762u); + this.ee.VF[24].z = MobUt.UL2F(1144462391u); + this.ee.VF[24].w = MobUt.UL2F(1186077023u); + this.ee.VF[25].x = MobUt.UL2F(3293934063u); + this.ee.VF[25].y = MobUt.UL2F(3292049472u); + this.ee.VF[25].z = MobUt.UL2F(1066904244u); + this.ee.VF[25].w = MobUt.UL2F(3200124770u); + this.ee.VF[26].x = MobUt.UL2F(1174396132u); + this.ee.VF[26].y = MobUt.UL2F(1282769649u); + this.ee.VF[26].z = MobUt.UL2F(1044218678u); + this.ee.VF[26].w = MobUt.UL2F(3178066551u); + this.ee.VF[27].x = MobUt.UL2F(1157627904u); + this.ee.VF[27].y = MobUt.UL2F(1157627904u); + this.ee.VF[27].z = MobUt.UL2F(1249902592u); + this.ee.VF[27].w = MobUt.UL2F(1249902592u); + this.ee.VF[28].x = MobUt.UL2F(1177474794u); + this.ee.VF[28].y = MobUt.UL2F(0u); + this.ee.VF[28].z = MobUt.UL2F(0u); + this.ee.VF[28].w = MobUt.UL2F(0u); + this.ee.VF[29].x = MobUt.UL2F(0u); + this.ee.VF[29].y = MobUt.UL2F(1178429652u); + this.ee.VF[29].z = MobUt.UL2F(0u); + this.ee.VF[29].w = MobUt.UL2F(0u); + this.ee.VF[30].x = MobUt.UL2F(1221302671u); + this.ee.VF[30].y = MobUt.UL2F(1221302671u); + this.ee.VF[30].z = MobUt.UL2F(3290595208u); + this.ee.VF[30].w = MobUt.UL2F(1129027983u); + this.ee.VF[31].x = MobUt.UL2F(1278239296u); + this.ee.VF[31].y = MobUt.UL2F(1277754648u); + this.ee.VF[31].z = MobUt.UL2F(1266599817u); + this.ee.VF[31].w = MobUt.UL2F(1186077023u); + } + + private void initfns() + { + this.dicti2a[1160224u] = new MobUt.Tx8(this.funct0011b420); + this.dicti2a[1160272u] = new MobUt.Tx8(this.funct0011b450); + this.dicti2a[1160300u] = new MobUt.Tx8(this.funct0011b46c); + this.dicti2a[1160308u] = new MobUt.Tx8(this.funct0011b474); + this.dicti2a[1160324u] = new MobUt.Tx8(this.funct0011b484); + this.dicti2a[1160488u] = new MobUt.Tx8(this.funct0011b528); + this.dicti2a[1160536u] = new MobUt.Tx8(this.funct0011b558); + this.dicti2a[1160544u] = new MobUt.Tx8(this.funct0011b560); + this.dicti2a[1160560u] = new MobUt.Tx8(this.funct0011b570); + this.dicti2a[1160576u] = new MobUt.Tx8(this.funct0011b580); + this.dicti2a[1160584u] = new MobUt.Tx8(this.funct0011b588); + this.dicti2a[1160600u] = new MobUt.Tx8(this.funct0011b598); + this.dicti2a[1160616u] = new MobUt.Tx8(this.funct0011b5a8); + this.dicti2a[1160624u] = new MobUt.Tx8(this.funct0011b5b0); + this.dicti2a[1160640u] = new MobUt.Tx8(this.funct0011b5c0); + this.dicti2a[1161280u] = new MobUt.Tx8(this.funct0011b840); + this.dicti2a[1161332u] = new MobUt.Tx8(this.funct0011b874); + this.dicti2a[1161356u] = new MobUt.Tx8(this.funct0011b88c); + this.dicti2a[1161364u] = new MobUt.Tx8(this.funct0011b894); + this.dicti2a[1161412u] = new MobUt.Tx8(this.funct0011b8c4); + this.dicti2a[1161420u] = new MobUt.Tx8(this.funct0011b8cc); + this.dicti2a[1161432u] = new MobUt.Tx8(this.funct0011b8d8); + this.dicti2a[1161448u] = new MobUt.Tx8(this.funct0011b8e8); + this.dicti2a[1161456u] = new MobUt.Tx8(this.funct0011b8f0); + this.dicti2a[1161472u] = new MobUt.Tx8(this.funct0011b900); + this.dicti2a[1161492u] = new MobUt.Tx8(this.funct0011b914); + this.dicti2a[1161512u] = new MobUt.Tx8(this.funct0011b928); + this.dicti2a[1161576u] = new MobUt.Tx8(this.funct0011b968); + this.dicti2a[1161596u] = new MobUt.Tx8(this.funct0011b97c); + this.dicti2a[1161616u] = new MobUt.Tx8(this.funct0011b990); + this.dicti2a[1161692u] = new MobUt.Tx8(this.funct0011b9dc); + this.dicti2a[1161736u] = new MobUt.Tx8(this.funct0011ba08); + this.dicti2a[1161760u] = new MobUt.Tx8(this.funct0011ba20); + this.dicti2a[1161808u] = new MobUt.Tx8(this.funct0011ba50); + this.dicti2a[1161820u] = new MobUt.Tx8(this.funct0011ba5c); + this.dicti2a[1161832u] = new MobUt.Tx8(this.funct0011ba68); + this.dicti2a[1161860u] = new MobUt.Tx8(this.funct0011ba84); + this.dicti2a[1161888u] = new MobUt.Tx8(this.funct0011baa0); + this.dicti2a[1162696u] = new MobUt.Tx8(this.funct0011bdc8); + this.dicti2a[1162712u] = new MobUt.Tx8(this.funct0011bdd8); + this.dicti2a[1162732u] = new MobUt.Tx8(this.funct0011bdec); + this.dicti2a[1162752u] = new MobUt.Tx8(this.funct0011be00); + this.dicti2a[1162780u] = new MobUt.Tx8(this.funct0011be1c); + this.dicti2a[1162788u] = new MobUt.Tx8(this.funct0011be24); + this.dicti2a[1162812u] = new MobUt.Tx8(this.funct0011be3c); + this.dicti2a[1162828u] = new MobUt.Tx8(this.funct0011be4c); + this.dicti2a[1162840u] = new MobUt.Tx8(this.funct0011be58); + this.dicti2a[1181264u] = new MobUt.Tx8(this.funct00120650); + this.dicti2a[1181296u] = new MobUt.Tx8(this.funct00120670); + this.dicti2a[1181328u] = new MobUt.Tx8(this.funct00120690); + this.dicti2a[1181344u] = new MobUt.Tx8(this.funct001206a0); + this.dicti2a[1181372u] = new MobUt.Tx8(this.funct001206bc); + this.dicti2a[1181380u] = new MobUt.Tx8(this.funct001206c4); + this.dicti2a[1198728u] = new MobUt.Tx8(this.funct00124a88); + this.dicti2a[1198900u] = new MobUt.Tx8(this.funct00124b34); + this.dicti2a[1198972u] = new MobUt.Tx8(this.funct00124b7c); + this.dicti2a[1198996u] = new MobUt.Tx8(this.funct00124b94); + this.dicti2a[1199092u] = new MobUt.Tx8(this.funct00124bf4); + this.dicti2a[1199188u] = new MobUt.Tx8(this.funct00124c54); + this.dicti2a[1199256u] = new MobUt.Tx8(this.funct00124c98); + this.dicti2a[1199264u] = new MobUt.Tx8(this.funct00124ca0); + this.dicti2a[1199284u] = new MobUt.Tx8(this.funct00124cb4); + this.dicti2a[1199304u] = new MobUt.Tx8(this.funct00124cc8); + this.dicti2a[1199336u] = new MobUt.Tx8(this.funct00124ce8); + this.dicti2a[1199344u] = new MobUt.Tx8(this.funct00124cf0); + this.dicti2a[1199356u] = new MobUt.Tx8(this.funct00124cfc); + this.dicti2a[1199480u] = new MobUt.Tx8(this.funct00124d78); + this.dicti2a[1199512u] = new MobUt.Tx8(this.funct00124d98); + this.dicti2a[1199520u] = new MobUt.Tx8(this.funct00124da0); + this.dicti2a[1199528u] = new MobUt.Tx8(this.funct00124da8); + this.dicti2a[1199564u] = new MobUt.Tx8(this.funct00124dcc); + this.dicti2a[1199620u] = new MobUt.Tx8(this.funct00124e04); + this.dicti2a[1199672u] = new MobUt.Tx8(this.funct00124e38); + this.dicti2a[1199676u] = new MobUt.Tx8(this.funct00124e3c); + this.dicti2a[1199680u] = new MobUt.Tx8(this.funct00124e40); + this.dicti2a[1199712u] = new MobUt.Tx8(this.funct00124e60); + this.dicti2a[1199720u] = new MobUt.Tx8(this.funct00124e68); + this.dicti2a[1199740u] = new MobUt.Tx8(this.funct00124e7c); + this.dicti2a[1199828u] = new MobUt.Tx8(this.funct00124ed4); + this.dicti2a[1199840u] = new MobUt.Tx8(this.funct00124ee0); + this.dicti2a[1199852u] = new MobUt.Tx8(this.funct00124eec); + this.dicti2a[1199972u] = new MobUt.Tx8(this.funct00124f64); + this.dicti2a[1200004u] = new MobUt.Tx8(this.funct00124f84); + this.dicti2a[1200276u] = new MobUt.Tx8(this.funct00125094); + this.dicti2a[1200316u] = new MobUt.Tx8(this.funct001250bc); + this.dicti2a[1200336u] = new MobUt.Tx8(this.funct001250d0); + this.dicti2a[1200356u] = new MobUt.Tx8(this.funct001250e4); + this.dicti2a[1200364u] = new MobUt.Tx8(this.funct001250ec); + this.dicti2a[1200472u] = new MobUt.Tx8(this.funct00125158); + this.dicti2a[1211936u] = new MobUt.Tx8(this.funct00127e20); + this.dicti2a[1212020u] = new MobUt.Tx8(this.funct00127e74); + this.dicti2a[1212032u] = new MobUt.Tx8(this.funct00127e80); + this.dicti2a[1212040u] = new MobUt.Tx8(this.funct00127e88); + this.dicti2a[1212052u] = new MobUt.Tx8(this.funct00127e94); + this.dicti2a[1212080u] = new MobUt.Tx8(this.funct00127eb0); + this.dicti2a[1212108u] = new MobUt.Tx8(this.funct00127ecc); + this.dicti2a[1212164u] = new MobUt.Tx8(this.funct00127f04); + this.dicti2a[1212176u] = new MobUt.Tx8(this.funct00127f10); + this.dicti2a[1212276u] = new MobUt.Tx8(this.funct00127f74); + this.dicti2a[1212288u] = new MobUt.Tx8(this.funct00127f80); + this.dicti2a[1212292u] = new MobUt.Tx8(this.funct00127f84); + this.dicti2a[1212368u] = new MobUt.Tx8(this.funct00127fd0); + this.dicti2a[1212392u] = new MobUt.Tx8(this.funct00127fe8); + this.dicti2a[1212424u] = new MobUt.Tx8(this.funct00128008); + this.dicti2a[1212448u] = new MobUt.Tx8(this.funct00128020); + this.dicti2a[1212556u] = new MobUt.Tx8(this.funct0012808c); + this.dicti2a[1212572u] = new MobUt.Tx8(this.funct0012809c); + this.dicti2a[1212592u] = new MobUt.Tx8(this.funct001280b0); + this.dicti2a[1212612u] = new MobUt.Tx8(this.funct001280c4); + this.dicti2a[1212616u] = new MobUt.Tx8(this.funct001280c8); + this.dicti2a[1212624u] = new MobUt.Tx8(this.funct001280d0); + this.dicti2a[1212644u] = new MobUt.Tx8(this.funct001280e4); + this.dicti2a[1212664u] = new MobUt.Tx8(this.funct001280f8); + this.dicti2a[1212668u] = new MobUt.Tx8(this.funct001280fc); + this.dicti2a[1212688u] = new MobUt.Tx8(this.funct00128110); + this.dicti2a[1212696u] = new MobUt.Tx8(this.funct00128118); + this.dicti2a[1212756u] = new MobUt.Tx8(this.funct00128154); + this.dicti2a[1212768u] = new MobUt.Tx8(this.funct00128160); + this.dicti2a[1212804u] = new MobUt.Tx8(this.funct00128184); + this.dicti2a[1212832u] = new MobUt.Tx8(this.funct001281a0); + this.dicti2a[1212852u] = new MobUt.Tx8(this.funct001281b4); + this.dicti2a[1212872u] = new MobUt.Tx8(this.funct001281c8); + this.dicti2a[1212876u] = new MobUt.Tx8(this.funct001281cc); + this.dicti2a[1212904u] = new MobUt.Tx8(this.funct001281e8); + this.dicti2a[1212912u] = new MobUt.Tx8(this.funct001281f0); + this.dicti2a[1212916u] = new MobUt.Tx8(this.funct001281f4); + this.dicti2a[1212924u] = new MobUt.Tx8(this.funct001281fc); + this.dicti2a[1212960u] = new MobUt.Tx8(this.funct00128220); + this.dicti2a[1212988u] = new MobUt.Tx8(this.funct0012823c); + this.dicti2a[1213012u] = new MobUt.Tx8(this.funct00128254); + this.dicti2a[1213024u] = new MobUt.Tx8(this.funct00128260); + this.dicti2a[1213076u] = new MobUt.Tx8(this.funct00128294); + this.dicti2a[1213084u] = new MobUt.Tx8(this.funct0012829c); + this.dicti2a[1213108u] = new MobUt.Tx8(this.funct001282b4); + this.dicti2a[1213136u] = new MobUt.Tx8(this.funct001282d0); + this.dicti2a[1213164u] = new MobUt.Tx8(this.funct001282ec); + this.dicti2a[1213188u] = new MobUt.Tx8(this.funct00128304); + this.dicti2a[1213200u] = new MobUt.Tx8(this.funct00128310); + this.dicti2a[1213216u] = new MobUt.Tx8(this.funct00128320); + this.dicti2a[1213236u] = new MobUt.Tx8(this.funct00128334); + this.dicti2a[1213260u] = new MobUt.Tx8(this.funct0012834c); + this.dicti2a[1213296u] = new MobUt.Tx8(this.funct00128370); + this.dicti2a[1213312u] = new MobUt.Tx8(this.funct00128380); + this.dicti2a[1213316u] = new MobUt.Tx8(this.funct00128384); + this.dicti2a[1213336u] = new MobUt.Tx8(this.funct00128398); + this.dicti2a[1213352u] = new MobUt.Tx8(this.funct001283a8); + this.dicti2a[1213380u] = new MobUt.Tx8(this.funct001283c4); + this.dicti2a[1213400u] = new MobUt.Tx8(this.funct001283d8); + this.dicti2a[1213440u] = new MobUt.Tx8(this.funct00128400); + this.dicti2a[1213460u] = new MobUt.Tx8(this.funct00128414); + this.dicti2a[1213472u] = new MobUt.Tx8(this.funct00128420); + this.dicti2a[1213488u] = new MobUt.Tx8(this.funct00128430); + this.dicti2a[1213520u] = new MobUt.Tx8(this.funct00128450); + this.dicti2a[1213556u] = new MobUt.Tx8(this.funct00128474); + this.dicti2a[1213560u] = new MobUt.Tx8(this.funct00128478); + this.dicti2a[1213584u] = new MobUt.Tx8(this.funct00128490); + this.dicti2a[1213592u] = new MobUt.Tx8(this.funct00128498); + this.dicti2a[1213600u] = new MobUt.Tx8(this.funct001284a0); + this.dicti2a[1213608u] = new MobUt.Tx8(this.funct001284a8); + this.dicti2a[1213616u] = new MobUt.Tx8(this.funct001284b0); + this.dicti2a[1213744u] = new MobUt.Tx8(this.funct00128530); + this.dicti2a[1213892u] = new MobUt.Tx8(this.funct001285c4); + this.dicti2a[1213916u] = new MobUt.Tx8(this.funct001285dc); + this.dicti2a[1213924u] = new MobUt.Tx8(this.funct001285e4); + this.dicti2a[1213936u] = new MobUt.Tx8(this.funct001285f0); + this.dicti2a[1213940u] = new MobUt.Tx8(this.funct001285f4); + this.dicti2a[1213980u] = new MobUt.Tx8(this.funct0012861c); + this.dicti2a[1213996u] = new MobUt.Tx8(this.funct0012862c); + this.dicti2a[1214004u] = new MobUt.Tx8(this.funct00128634); + this.dicti2a[1214044u] = new MobUt.Tx8(this.funct0012865c); + this.dicti2a[1214048u] = new MobUt.Tx8(this.funct00128660); + this.dicti2a[1214060u] = new MobUt.Tx8(this.funct0012866c); + this.dicti2a[1214064u] = new MobUt.Tx8(this.funct00128670); + this.dicti2a[1214080u] = new MobUt.Tx8(this.funct00128680); + this.dicti2a[1214092u] = new MobUt.Tx8(this.funct0012868c); + this.dicti2a[1214120u] = new MobUt.Tx8(this.funct001286a8); + this.dicti2a[1214124u] = new MobUt.Tx8(this.funct001286ac); + this.dicti2a[1214176u] = new MobUt.Tx8(this.funct001286e0); + this.dicti2a[1214188u] = new MobUt.Tx8(this.funct001286ec); + this.dicti2a[1214196u] = new MobUt.Tx8(this.funct001286f4); + this.dicti2a[1214212u] = new MobUt.Tx8(this.funct00128704); + this.dicti2a[1214216u] = new MobUt.Tx8(this.funct00128708); + this.dicti2a[1214232u] = new MobUt.Tx8(this.funct00128718); + this.dicti2a[1214336u] = new MobUt.Tx8(this.funct00128780); + this.dicti2a[1214348u] = new MobUt.Tx8(this.funct0012878c); + this.dicti2a[1214356u] = new MobUt.Tx8(this.funct00128794); + this.dicti2a[1214364u] = new MobUt.Tx8(this.funct0012879c); + this.dicti2a[1214400u] = new MobUt.Tx8(this.funct001287c0); + this.dicti2a[1214412u] = new MobUt.Tx8(this.funct001287cc); + this.dicti2a[1214424u] = new MobUt.Tx8(this.funct001287d8); + this.dicti2a[1214432u] = new MobUt.Tx8(this.funct001287e0); + this.dicti2a[1214440u] = new MobUt.Tx8(this.funct001287e8); + this.dicti2a[1214452u] = new MobUt.Tx8(this.funct001287f4); + this.dicti2a[1214460u] = new MobUt.Tx8(this.funct001287fc); + this.dicti2a[1214468u] = new MobUt.Tx8(this.funct00128804); + this.dicti2a[1214528u] = new MobUt.Tx8(this.funct00128840); + this.dicti2a[1214548u] = new MobUt.Tx8(this.funct00128854); + this.dicti2a[1214572u] = new MobUt.Tx8(this.funct0012886c); + this.dicti2a[1214580u] = new MobUt.Tx8(this.funct00128874); + this.dicti2a[1214588u] = new MobUt.Tx8(this.funct0012887c); + this.dicti2a[1214596u] = new MobUt.Tx8(this.funct00128884); + this.dicti2a[1214604u] = new MobUt.Tx8(this.funct0012888c); + this.dicti2a[1214640u] = new MobUt.Tx8(this.funct001288b0); + this.dicti2a[1214644u] = new MobUt.Tx8(this.funct001288b4); + this.dicti2a[1214672u] = new MobUt.Tx8(this.funct001288d0); + this.dicti2a[1214680u] = new MobUt.Tx8(this.funct001288d8); + this.dicti2a[1214744u] = new MobUt.Tx8(this.funct00128918); + this.dicti2a[1214808u] = new MobUt.Tx8(this.funct00128958); + this.dicti2a[1214828u] = new MobUt.Tx8(this.funct0012896c); + this.dicti2a[1214852u] = new MobUt.Tx8(this.funct00128984); + this.dicti2a[1214876u] = new MobUt.Tx8(this.funct0012899c); + this.dicti2a[1214900u] = new MobUt.Tx8(this.funct001289b4); + this.dicti2a[1214932u] = new MobUt.Tx8(this.funct001289d4); + this.dicti2a[1214948u] = new MobUt.Tx8(this.funct001289e4); + this.dicti2a[1214976u] = new MobUt.Tx8(this.funct00128a00); + this.dicti2a[1215000u] = new MobUt.Tx8(this.funct00128a18); + this.dicti2a[1215024u] = new MobUt.Tx8(this.funct00128a30); + this.dicti2a[1215048u] = new MobUt.Tx8(this.funct00128a48); + this.dicti2a[1215076u] = new MobUt.Tx8(this.funct00128a64); + this.dicti2a[1215092u] = new MobUt.Tx8(this.funct00128a74); + this.dicti2a[1215132u] = new MobUt.Tx8(this.funct00128a9c); + this.dicti2a[1215168u] = new MobUt.Tx8(this.funct00128ac0); + this.dicti2a[1215204u] = new MobUt.Tx8(this.funct00128ae4); + this.dicti2a[1215220u] = new MobUt.Tx8(this.funct00128af4); + this.dicti2a[1215244u] = new MobUt.Tx8(this.funct00128b0c); + this.dicti2a[1215264u] = new MobUt.Tx8(this.funct00128b20); + this.dicti2a[1215276u] = new MobUt.Tx8(this.funct00128b2c); + this.dicti2a[1215376u] = new MobUt.Tx8(this.funct00128b90); + this.dicti2a[1215420u] = new MobUt.Tx8(this.funct00128bbc); + this.dicti2a[1215520u] = new MobUt.Tx8(this.funct00128c20); + this.dicti2a[1215608u] = new MobUt.Tx8(this.funct00128c78); + this.dicti2a[1215628u] = new MobUt.Tx8(this.funct00128c8c); + this.dicti2a[1215648u] = new MobUt.Tx8(this.funct00128ca0); + this.dicti2a[1215656u] = new MobUt.Tx8(this.funct00128ca8); + this.dicti2a[1215692u] = new MobUt.Tx8(this.funct00128ccc); + this.dicti2a[1215700u] = new MobUt.Tx8(this.funct00128cd4); + this.dicti2a[1215780u] = new MobUt.Tx8(this.funct00128d24); + this.dicti2a[1215788u] = new MobUt.Tx8(this.funct00128d2c); + this.dicti2a[1215796u] = new MobUt.Tx8(this.funct00128d34); + this.dicti2a[1215804u] = new MobUt.Tx8(this.funct00128d3c); + this.dicti2a[1215852u] = new MobUt.Tx8(this.funct00128d6c); + this.dicti2a[1215868u] = new MobUt.Tx8(this.funct00128d7c); + this.dicti2a[1215884u] = new MobUt.Tx8(this.funct00128d8c); + this.dicti2a[1215900u] = new MobUt.Tx8(this.funct00128d9c); + this.dicti2a[1215920u] = new MobUt.Tx8(this.funct00128db0); + this.dicti2a[1215928u] = new MobUt.Tx8(this.funct00128db8); + this.dicti2a[1215944u] = new MobUt.Tx8(this.funct00128dc8); + this.dicti2a[1215960u] = new MobUt.Tx8(this.funct00128dd8); + this.dicti2a[1215976u] = new MobUt.Tx8(this.funct00128de8); + this.dicti2a[1216032u] = new MobUt.Tx8(this.funct00128e20); + this.dicti2a[1216044u] = new MobUt.Tx8(this.funct00128e2c); + this.dicti2a[1216064u] = new MobUt.Tx8(this.funct00128e40); + this.dicti2a[1216136u] = new MobUt.Tx8(this.funct00128e88); + this.dicti2a[1216176u] = new MobUt.Tx8(this.funct00128eb0); + this.dicti2a[1216232u] = new MobUt.Tx8(this.funct00128ee8); + this.dicti2a[1216236u] = new MobUt.Tx8(this.funct00128eec); + this.dicti2a[1216356u] = new MobUt.Tx8(this.funct00128f64); + this.dicti2a[1216364u] = new MobUt.Tx8(this.funct00128f6c); + this.dicti2a[1216372u] = new MobUt.Tx8(this.funct00128f74); + this.dicti2a[1216384u] = new MobUt.Tx8(this.funct00128f80); + this.dicti2a[1216588u] = new MobUt.Tx8(this.funct0012904c); + this.dicti2a[1216596u] = new MobUt.Tx8(this.funct00129054); + this.dicti2a[1216616u] = new MobUt.Tx8(this.funct00129068); + this.dicti2a[1216628u] = new MobUt.Tx8(this.funct00129074); + this.dicti2a[1216636u] = new MobUt.Tx8(this.funct0012907c); + this.dicti2a[1216644u] = new MobUt.Tx8(this.funct00129084); + this.dicti2a[1216652u] = new MobUt.Tx8(this.funct0012908c); + this.dicti2a[1216672u] = new MobUt.Tx8(this.funct001290a0); + this.dicti2a[1216792u] = new MobUt.Tx8(this.funct00129118); + this.dicti2a[1216812u] = new MobUt.Tx8(this.funct0012912c); + this.dicti2a[1216836u] = new MobUt.Tx8(this.funct00129144); + this.dicti2a[1216852u] = new MobUt.Tx8(this.funct00129154); + this.dicti2a[1216884u] = new MobUt.Tx8(this.funct00129174); + this.dicti2a[1216892u] = new MobUt.Tx8(this.funct0012917c); + this.dicti2a[1216900u] = new MobUt.Tx8(this.funct00129184); + this.dicti2a[1217148u] = new MobUt.Tx8(this.funct0012927c); + this.dicti2a[1217156u] = new MobUt.Tx8(this.funct00129284); + this.dicti2a[1217176u] = new MobUt.Tx8(this.funct00129298); + this.dicti2a[1217184u] = new MobUt.Tx8(this.funct001292a0); + this.dicti2a[1217192u] = new MobUt.Tx8(this.funct001292a8); + this.dicti2a[1217212u] = new MobUt.Tx8(this.funct001292bc); + this.dicti2a[1217220u] = new MobUt.Tx8(this.funct001292c4); + this.dicti2a[1217228u] = new MobUt.Tx8(this.funct001292cc); + this.dicti2a[1217248u] = new MobUt.Tx8(this.funct001292e0); + this.dicti2a[1217256u] = new MobUt.Tx8(this.funct001292e8); + this.dicti2a[1217264u] = new MobUt.Tx8(this.funct001292f0); + this.dicti2a[1217284u] = new MobUt.Tx8(this.funct00129304); + this.dicti2a[1217392u] = new MobUt.Tx8(this.funct00129370); + this.dicti2a[1217408u] = new MobUt.Tx8(this.funct00129380); + this.dicti2a[1217416u] = new MobUt.Tx8(this.funct00129388); + this.dicti2a[1217424u] = new MobUt.Tx8(this.funct00129390); + this.dicti2a[1217444u] = new MobUt.Tx8(this.funct001293a4); + this.dicti2a[1217488u] = new MobUt.Tx8(this.funct001293d0); + this.dicti2a[1217496u] = new MobUt.Tx8(this.funct001293d8); + this.dicti2a[1217516u] = new MobUt.Tx8(this.funct001293ec); + this.dicti2a[1217692u] = new MobUt.Tx8(this.funct0012949c); + this.dicti2a[1217704u] = new MobUt.Tx8(this.funct001294a8); + this.dicti2a[1217712u] = new MobUt.Tx8(this.funct001294b0); + this.dicti2a[1217748u] = new MobUt.Tx8(this.funct001294d4); + this.dicti2a[1217752u] = new MobUt.Tx8(this.funct001294d8); + this.dicti2a[1217784u] = new MobUt.Tx8(this.funct001294f8); + this.dicti2a[1217796u] = new MobUt.Tx8(this.funct00129504); + this.dicti2a[1217812u] = new MobUt.Tx8(this.funct00129514); + this.dicti2a[1217820u] = new MobUt.Tx8(this.funct0012951c); + this.dicti2a[1217920u] = new MobUt.Tx8(this.funct00129580); + this.dicti2a[1217964u] = new MobUt.Tx8(this.funct001295ac); + this.dicti2a[1217980u] = new MobUt.Tx8(this.funct001295bc); + this.dicti2a[1217988u] = new MobUt.Tx8(this.funct001295c4); + this.dicti2a[1218016u] = new MobUt.Tx8(this.funct001295e0); + this.dicti2a[1218044u] = new MobUt.Tx8(this.funct001295fc); + this.dicti2a[1218100u] = new MobUt.Tx8(this.funct00129634); + this.dicti2a[1218120u] = new MobUt.Tx8(this.funct00129648); + this.dicti2a[1218128u] = new MobUt.Tx8(this.funct00129650); + this.dicti2a[1218156u] = new MobUt.Tx8(this.funct0012966c); + this.dicti2a[1218184u] = new MobUt.Tx8(this.funct00129688); + this.dicti2a[1218192u] = new MobUt.Tx8(this.funct00129690); + this.dicti2a[1218244u] = new MobUt.Tx8(this.funct001296c4); + this.dicti2a[1218264u] = new MobUt.Tx8(this.funct001296d8); + this.dicti2a[1218308u] = new MobUt.Tx8(this.funct00129704); + this.dicti2a[1218324u] = new MobUt.Tx8(this.funct00129714); + this.dicti2a[1219096u] = new MobUt.Tx8(this.funct00129a18); + this.dicti2a[1219268u] = new MobUt.Tx8(this.funct00129ac4); + this.dicti2a[1219288u] = new MobUt.Tx8(this.funct00129ad8); + this.dicti2a[1219320u] = new MobUt.Tx8(this.funct00129af8); + this.dicti2a[1219340u] = new MobUt.Tx8(this.funct00129b0c); + this.dicti2a[1219344u] = new MobUt.Tx8(this.funct00129b10); + this.dicti2a[1219360u] = new MobUt.Tx8(this.funct00129b20); + this.dicti2a[1219380u] = new MobUt.Tx8(this.funct00129b34); + this.dicti2a[1219384u] = new MobUt.Tx8(this.funct00129b38); + this.dicti2a[1219396u] = new MobUt.Tx8(this.funct00129b44); + this.dicti2a[1219416u] = new MobUt.Tx8(this.funct00129b58); + this.dicti2a[1219444u] = new MobUt.Tx8(this.funct00129b74); + this.dicti2a[1219464u] = new MobUt.Tx8(this.funct00129b88); + this.dicti2a[1219472u] = new MobUt.Tx8(this.funct00129b90); + this.dicti2a[1219476u] = new MobUt.Tx8(this.funct00129b94); + this.dicti2a[1219488u] = new MobUt.Tx8(this.funct00129ba0); + this.dicti2a[1219512u] = new MobUt.Tx8(this.funct00129bb8); + this.dicti2a[1219524u] = new MobUt.Tx8(this.funct00129bc4); + this.dicti2a[1219560u] = new MobUt.Tx8(this.funct00129be8); + this.dicti2a[1219576u] = new MobUt.Tx8(this.funct00129bf8); + this.dicti2a[1219580u] = new MobUt.Tx8(this.funct00129bfc); + this.dicti2a[1219588u] = new MobUt.Tx8(this.funct00129c04); + this.dicti2a[1219604u] = new MobUt.Tx8(this.funct00129c14); + this.dicti2a[1219628u] = new MobUt.Tx8(this.funct00129c2c); + this.dicti2a[1219640u] = new MobUt.Tx8(this.funct00129c38); + this.dicti2a[1219644u] = new MobUt.Tx8(this.funct00129c3c); + this.dicti2a[1219660u] = new MobUt.Tx8(this.funct00129c4c); + this.dicti2a[1219672u] = new MobUt.Tx8(this.funct00129c58); + this.dicti2a[1219676u] = new MobUt.Tx8(this.funct00129c5c); + this.dicti2a[1219688u] = new MobUt.Tx8(this.funct00129c68); + this.dicti2a[1219704u] = new MobUt.Tx8(this.funct00129c78); + this.dicti2a[1219716u] = new MobUt.Tx8(this.funct00129c84); + this.dicti2a[1219728u] = new MobUt.Tx8(this.funct00129c90); + this.dicti2a[1219732u] = new MobUt.Tx8(this.funct00129c94); + this.dicti2a[1219740u] = new MobUt.Tx8(this.funct00129c9c); + this.dicti2a[1219752u] = new MobUt.Tx8(this.funct00129ca8); + this.dicti2a[1219764u] = new MobUt.Tx8(this.funct00129cb4); + this.dicti2a[1219788u] = new MobUt.Tx8(this.funct00129ccc); + this.dicti2a[1219800u] = new MobUt.Tx8(this.funct00129cd8); + this.dicti2a[1219812u] = new MobUt.Tx8(this.funct00129ce4); + this.dicti2a[1219832u] = new MobUt.Tx8(this.funct00129cf8); + this.dicti2a[1219840u] = new MobUt.Tx8(this.funct00129d00); + this.dicti2a[1219868u] = new MobUt.Tx8(this.funct00129d1c); + this.dicti2a[1219892u] = new MobUt.Tx8(this.funct00129d34); + this.dicti2a[1219908u] = new MobUt.Tx8(this.funct00129d44); + this.dicti2a[1219916u] = new MobUt.Tx8(this.funct00129d4c); + this.dicti2a[1219976u] = new MobUt.Tx8(this.funct00129d88); + this.dicti2a[1219984u] = new MobUt.Tx8(this.funct00129d90); + this.dicti2a[1220040u] = new MobUt.Tx8(this.funct00129dc8); + this.dicti2a[1220048u] = new MobUt.Tx8(this.funct00129dd0); + this.dicti2a[1220088u] = new MobUt.Tx8(this.funct00129df8); + this.dicti2a[1220100u] = new MobUt.Tx8(this.funct00129e04); + this.dicti2a[1220112u] = new MobUt.Tx8(this.funct00129e10); + this.dicti2a[1220140u] = new MobUt.Tx8(this.funct00129e2c); + this.dicti2a[1220156u] = new MobUt.Tx8(this.funct00129e3c); + this.dicti2a[1220160u] = new MobUt.Tx8(this.funct00129e40); + this.dicti2a[1220180u] = new MobUt.Tx8(this.funct00129e54); + this.dicti2a[1220188u] = new MobUt.Tx8(this.funct00129e5c); + this.dicti2a[1220192u] = new MobUt.Tx8(this.funct00129e60); + this.dicti2a[1221784u] = new MobUt.Tx8(this.funct0012a498); + this.dicti2a[1221820u] = new MobUt.Tx8(this.funct0012a4bc); + this.dicti2a[1221824u] = new MobUt.Tx8(this.funct0012a4c0); + this.dicti2a[1223092u] = new MobUt.Tx8(this.funct0012a9b4); + this.dicti2a[1223100u] = new MobUt.Tx8(this.funct0012a9bc); + this.dicti2a[1223120u] = new MobUt.Tx8(this.funct0012a9d0); + this.dicti2a[1223156u] = new MobUt.Tx8(this.funct0012a9f4); + this.dicti2a[1223164u] = new MobUt.Tx8(this.funct0012a9fc); + this.dicti2a[1223172u] = new MobUt.Tx8(this.funct0012aa04); + this.dicti2a[1223196u] = new MobUt.Tx8(this.funct0012aa1c); + this.dicti2a[1223216u] = new MobUt.Tx8(this.funct0012aa30); + this.dicti2a[1223224u] = new MobUt.Tx8(this.funct0012aa38); + this.dicti2a[1223232u] = new MobUt.Tx8(this.funct0012aa40); + this.dicti2a[1223280u] = new MobUt.Tx8(this.funct0012aa70); + this.dicti2a[1223292u] = new MobUt.Tx8(this.funct0012aa7c); + this.dicti2a[1223348u] = new MobUt.Tx8(this.funct0012aab4); + this.dicti2a[1223380u] = new MobUt.Tx8(this.funct0012aad4); + this.dicti2a[1223560u] = new MobUt.Tx8(this.funct0012ab88); + this.dicti2a[1223580u] = new MobUt.Tx8(this.funct0012ab9c); + this.dicti2a[1223624u] = new MobUt.Tx8(this.funct0012abc8); + this.dicti2a[1223628u] = new MobUt.Tx8(this.funct0012abcc); + this.dicti2a[1223652u] = new MobUt.Tx8(this.funct0012abe4); + this.dicti2a[1223664u] = new MobUt.Tx8(this.funct0012abf0); + this.dicti2a[1223692u] = new MobUt.Tx8(this.funct0012ac0c); + this.dicti2a[1223728u] = new MobUt.Tx8(this.funct0012ac30); + this.dicti2a[1223740u] = new MobUt.Tx8(this.funct0012ac3c); + this.dicti2a[1223768u] = new MobUt.Tx8(this.funct0012ac58); + this.dicti2a[1223784u] = new MobUt.Tx8(this.funct0012ac68); + this.dicti2a[1223796u] = new MobUt.Tx8(this.funct0012ac74); + this.dicti2a[1223824u] = new MobUt.Tx8(this.funct0012ac90); + this.dicti2a[1223840u] = new MobUt.Tx8(this.funct0012aca0); + this.dicti2a[1223848u] = new MobUt.Tx8(this.funct0012aca8); + this.dicti2a[1223864u] = new MobUt.Tx8(this.funct0012acb8); + this.dicti2a[1223892u] = new MobUt.Tx8(this.funct0012acd4); + this.dicti2a[1223896u] = new MobUt.Tx8(this.funct0012acd8); + this.dicti2a[1223904u] = new MobUt.Tx8(this.funct0012ace0); + this.dicti2a[1223964u] = new MobUt.Tx8(this.funct0012ad1c); + this.dicti2a[1223992u] = new MobUt.Tx8(this.funct0012ad38); + this.dicti2a[1224032u] = new MobUt.Tx8(this.funct0012ad60); + this.dicti2a[1224052u] = new MobUt.Tx8(this.funct0012ad74); + this.dicti2a[1224192u] = new MobUt.Tx8(this.funct0012ae00); + this.dicti2a[1224204u] = new MobUt.Tx8(this.funct0012ae0c); + this.dicti2a[1224576u] = new MobUt.Tx8(this.funct0012af80); + this.dicti2a[1224960u] = new MobUt.Tx8(this.funct0012b100); + this.dicti2a[1224968u] = new MobUt.Tx8(this.funct0012b108); + this.dicti2a[1225048u] = new MobUt.Tx8(this.funct0012b158); + this.dicti2a[1225064u] = new MobUt.Tx8(this.funct0012b168); + this.dicti2a[1225072u] = new MobUt.Tx8(this.funct0012b170); + this.dicti2a[1225112u] = new MobUt.Tx8(this.funct0012b198); + this.dicti2a[1225120u] = new MobUt.Tx8(this.funct0012b1a0); + this.dicti2a[1225244u] = new MobUt.Tx8(this.funct0012b21c); + this.dicti2a[1225296u] = new MobUt.Tx8(this.funct0012b250); + this.dicti2a[1225304u] = new MobUt.Tx8(this.funct0012b258); + this.dicti2a[1225320u] = new MobUt.Tx8(this.funct0012b268); + this.dicti2a[1225372u] = new MobUt.Tx8(this.funct0012b29c); + this.dicti2a[1225380u] = new MobUt.Tx8(this.funct0012b2a4); + this.dicti2a[1225448u] = new MobUt.Tx8(this.funct0012b2e8); + this.dicti2a[1225456u] = new MobUt.Tx8(this.funct0012b2f0); + this.dicti2a[1225472u] = new MobUt.Tx8(this.funct0012b300); + this.dicti2a[1225500u] = new MobUt.Tx8(this.funct0012b31c); + this.dicti2a[1225508u] = new MobUt.Tx8(this.funct0012b324); + this.dicti2a[1225528u] = new MobUt.Tx8(this.funct0012b338); + this.dicti2a[1225548u] = new MobUt.Tx8(this.funct0012b34c); + this.dicti2a[1225552u] = new MobUt.Tx8(this.funct0012b350); + this.dicti2a[1225588u] = new MobUt.Tx8(this.funct0012b374); + this.dicti2a[1225596u] = new MobUt.Tx8(this.funct0012b37c); + this.dicti2a[1225724u] = new MobUt.Tx8(this.funct0012b3fc); + this.dicti2a[1225780u] = new MobUt.Tx8(this.funct0012b434); + this.dicti2a[1225788u] = new MobUt.Tx8(this.funct0012b43c); + this.dicti2a[1225812u] = new MobUt.Tx8(this.funct0012b454); + this.dicti2a[1225864u] = new MobUt.Tx8(this.funct0012b488); + this.dicti2a[1225872u] = new MobUt.Tx8(this.funct0012b490); + this.dicti2a[1225948u] = new MobUt.Tx8(this.funct0012b4dc); + this.dicti2a[1225956u] = new MobUt.Tx8(this.funct0012b4e4); + this.dicti2a[1225976u] = new MobUt.Tx8(this.funct0012b4f8); + this.dicti2a[1225984u] = new MobUt.Tx8(this.funct0012b500); + this.dicti2a[1226000u] = new MobUt.Tx8(this.funct0012b510); + this.dicti2a[1226008u] = new MobUt.Tx8(this.funct0012b518); + this.dicti2a[1226092u] = new MobUt.Tx8(this.funct0012b56c); + this.dicti2a[1226100u] = new MobUt.Tx8(this.funct0012b574); + this.dicti2a[1226124u] = new MobUt.Tx8(this.funct0012b58c); + this.dicti2a[1226132u] = new MobUt.Tx8(this.funct0012b594); + this.dicti2a[1226156u] = new MobUt.Tx8(this.funct0012b5ac); + this.dicti2a[1226164u] = new MobUt.Tx8(this.funct0012b5b4); + this.dicti2a[1226216u] = new MobUt.Tx8(this.funct0012b5e8); + this.dicti2a[1226244u] = new MobUt.Tx8(this.funct0012b604); + this.dicti2a[1226256u] = new MobUt.Tx8(this.funct0012b610); + this.dicti2a[1226272u] = new MobUt.Tx8(this.funct0012b620); + this.dicti2a[1226284u] = new MobUt.Tx8(this.funct0012b62c); + this.dicti2a[1226304u] = new MobUt.Tx8(this.funct0012b640); + this.dicti2a[1226316u] = new MobUt.Tx8(this.funct0012b64c); + this.dicti2a[1226328u] = new MobUt.Tx8(this.funct0012b658); + this.dicti2a[1226340u] = new MobUt.Tx8(this.funct0012b664); + this.dicti2a[1226356u] = new MobUt.Tx8(this.funct0012b674); + this.dicti2a[1226380u] = new MobUt.Tx8(this.funct0012b68c); + this.dicti2a[1226392u] = new MobUt.Tx8(this.funct0012b698); + this.dicti2a[1226408u] = new MobUt.Tx8(this.funct0012b6a8); + this.dicti2a[1226424u] = new MobUt.Tx8(this.funct0012b6b8); + this.dicti2a[1226440u] = new MobUt.Tx8(this.funct0012b6c8); + this.dicti2a[1226460u] = new MobUt.Tx8(this.funct0012b6dc); + this.dicti2a[1226664u] = new MobUt.Tx8(this.funct0012b7a8); + this.dicti2a[1226692u] = new MobUt.Tx8(this.funct0012b7c4); + this.dicti2a[1226712u] = new MobUt.Tx8(this.funct0012b7d8); + this.dicti2a[1226724u] = new MobUt.Tx8(this.funct0012b7e4); + this.dicti2a[1226764u] = new MobUt.Tx8(this.funct0012b80c); + this.dicti2a[1226784u] = new MobUt.Tx8(this.funct0012b820); + this.dicti2a[1226796u] = new MobUt.Tx8(this.funct0012b82c); + this.dicti2a[1226824u] = new MobUt.Tx8(this.funct0012b848); + this.dicti2a[1226832u] = new MobUt.Tx8(this.funct0012b850); + this.dicti2a[1226848u] = new MobUt.Tx8(this.funct0012b860); + this.dicti2a[1226856u] = new MobUt.Tx8(this.funct0012b868); + this.dicti2a[1226876u] = new MobUt.Tx8(this.funct0012b87c); + this.dicti2a[1226884u] = new MobUt.Tx8(this.funct0012b884); + this.dicti2a[1226900u] = new MobUt.Tx8(this.funct0012b894); + this.dicti2a[1226908u] = new MobUt.Tx8(this.funct0012b89c); + this.dicti2a[1226948u] = new MobUt.Tx8(this.funct0012b8c4); + this.dicti2a[1226976u] = new MobUt.Tx8(this.funct0012b8e0); + this.dicti2a[1227000u] = new MobUt.Tx8(this.funct0012b8f8); + this.dicti2a[1227012u] = new MobUt.Tx8(this.funct0012b904); + this.dicti2a[1227032u] = new MobUt.Tx8(this.funct0012b918); + this.dicti2a[1227056u] = new MobUt.Tx8(this.funct0012b930); + this.dicti2a[1227132u] = new MobUt.Tx8(this.funct0012b97c); + this.dicti2a[1227148u] = new MobUt.Tx8(this.funct0012b98c); + this.dicti2a[1227160u] = new MobUt.Tx8(this.funct0012b998); + this.dicti2a[1227184u] = new MobUt.Tx8(this.funct0012b9b0); + this.dicti2a[1227192u] = new MobUt.Tx8(this.funct0012b9b8); + this.dicti2a[1227220u] = new MobUt.Tx8(this.funct0012b9d4); + this.dicti2a[1227244u] = new MobUt.Tx8(this.funct0012b9ec); + this.dicti2a[1227272u] = new MobUt.Tx8(this.funct0012ba08); + this.dicti2a[1227284u] = new MobUt.Tx8(this.funct0012ba14); + this.dicti2a[1227292u] = new MobUt.Tx8(this.funct0012ba1c); + this.dicti2a[1227300u] = new MobUt.Tx8(this.funct0012ba24); + this.dicti2a[1227312u] = new MobUt.Tx8(this.funct0012ba30); + this.dicti2a[1227320u] = new MobUt.Tx8(this.funct0012ba38); + this.dicti2a[1227328u] = new MobUt.Tx8(this.funct0012ba40); + this.dicti2a[1227336u] = new MobUt.Tx8(this.funct0012ba48); + this.dicti2a[1227348u] = new MobUt.Tx8(this.funct0012ba54); + this.dicti2a[1227380u] = new MobUt.Tx8(this.funct0012ba74); + this.dicti2a[1227572u] = new MobUt.Tx8(this.funct0012bb34); + this.dicti2a[1227584u] = new MobUt.Tx8(this.funct0012bb40); + this.dicti2a[1227604u] = new MobUt.Tx8(this.funct0012bb54); + this.dicti2a[1227616u] = new MobUt.Tx8(this.funct0012bb60); + this.dicti2a[1227628u] = new MobUt.Tx8(this.funct0012bb6c); + this.dicti2a[1227712u] = new MobUt.Tx8(this.funct0012bbc0); + this.dicti2a[1227724u] = new MobUt.Tx8(this.funct0012bbcc); + this.dicti2a[1227736u] = new MobUt.Tx8(this.funct0012bbd8); + this.dicti2a[1227752u] = new MobUt.Tx8(this.funct0012bbe8); + this.dicti2a[1227760u] = new MobUt.Tx8(this.funct0012bbf0); + this.dicti2a[1227772u] = new MobUt.Tx8(this.funct0012bbfc); + this.dicti2a[1227792u] = new MobUt.Tx8(this.funct0012bc10); + this.dicti2a[1227800u] = new MobUt.Tx8(this.funct0012bc18); + this.dicti2a[1227812u] = new MobUt.Tx8(this.funct0012bc24); + this.dicti2a[1227864u] = new MobUt.Tx8(this.funct0012bc58); + this.dicti2a[1227872u] = new MobUt.Tx8(this.funct0012bc60); + this.dicti2a[1227940u] = new MobUt.Tx8(this.funct0012bca4); + this.dicti2a[1227948u] = new MobUt.Tx8(this.funct0012bcac); + this.dicti2a[1227964u] = new MobUt.Tx8(this.funct0012bcbc); + this.dicti2a[1227984u] = new MobUt.Tx8(this.funct0012bcd0); + this.dicti2a[1228000u] = new MobUt.Tx8(this.funct0012bce0); + this.dicti2a[1228008u] = new MobUt.Tx8(this.funct0012bce8); + this.dicti2a[1228020u] = new MobUt.Tx8(this.funct0012bcf4); + this.dicti2a[1228052u] = new MobUt.Tx8(this.funct0012bd14); + this.dicti2a[1228164u] = new MobUt.Tx8(this.funct0012bd84); + this.dicti2a[1228172u] = new MobUt.Tx8(this.funct0012bd8c); + this.dicti2a[1228304u] = new MobUt.Tx8(this.funct0012be10); + this.dicti2a[1228356u] = new MobUt.Tx8(this.funct0012be44); + this.dicti2a[1228364u] = new MobUt.Tx8(this.funct0012be4c); + this.dicti2a[1228380u] = new MobUt.Tx8(this.funct0012be5c); + this.dicti2a[1228404u] = new MobUt.Tx8(this.funct0012be74); + this.dicti2a[1228424u] = new MobUt.Tx8(this.funct0012be88); + this.dicti2a[1228432u] = new MobUt.Tx8(this.funct0012be90); + this.dicti2a[1228448u] = new MobUt.Tx8(this.funct0012bea0); + this.dicti2a[1228456u] = new MobUt.Tx8(this.funct0012bea8); + this.dicti2a[1228472u] = new MobUt.Tx8(this.funct0012beb8); + this.dicti2a[1228488u] = new MobUt.Tx8(this.funct0012bec8); + this.dicti2a[1228504u] = new MobUt.Tx8(this.funct0012bed8); + this.dicti2a[1228528u] = new MobUt.Tx8(this.funct0012bef0); + this.dicti2a[1228568u] = new MobUt.Tx8(this.funct0012bf18); + this.dicti2a[1228584u] = new MobUt.Tx8(this.funct0012bf28); + this.dicti2a[1228600u] = new MobUt.Tx8(this.funct0012bf38); + this.dicti2a[1228616u] = new MobUt.Tx8(this.funct0012bf48); + this.dicti2a[1228644u] = new MobUt.Tx8(this.funct0012bf64); + this.dicti2a[1228684u] = new MobUt.Tx8(this.funct0012bf8c); + this.dicti2a[1228696u] = new MobUt.Tx8(this.funct0012bf98); + this.dicti2a[1228712u] = new MobUt.Tx8(this.funct0012bfa8); + this.dicti2a[1228752u] = new MobUt.Tx8(this.funct0012bfd0); + this.dicti2a[1228812u] = new MobUt.Tx8(this.funct0012c00c); + this.dicti2a[1228856u] = new MobUt.Tx8(this.funct0012c038); + this.dicti2a[1228908u] = new MobUt.Tx8(this.funct0012c06c); + this.dicti2a[1228916u] = new MobUt.Tx8(this.funct0012c074); + this.dicti2a[1228924u] = new MobUt.Tx8(this.funct0012c07c); + this.dicti2a[1228932u] = new MobUt.Tx8(this.funct0012c084); + this.dicti2a[1228952u] = new MobUt.Tx8(this.funct0012c098); + this.dicti2a[1228960u] = new MobUt.Tx8(this.funct0012c0a0); + this.dicti2a[1228972u] = new MobUt.Tx8(this.funct0012c0ac); + this.dicti2a[1228992u] = new MobUt.Tx8(this.funct0012c0c0); + this.dicti2a[1229000u] = new MobUt.Tx8(this.funct0012c0c8); + this.dicti2a[1229016u] = new MobUt.Tx8(this.funct0012c0d8); + this.dicti2a[1229024u] = new MobUt.Tx8(this.funct0012c0e0); + this.dicti2a[1229152u] = new MobUt.Tx8(this.funct0012c160); + this.dicti2a[1229204u] = new MobUt.Tx8(this.funct0012c194); + this.dicti2a[1229212u] = new MobUt.Tx8(this.funct0012c19c); + this.dicti2a[1229228u] = new MobUt.Tx8(this.funct0012c1ac); + this.dicti2a[1229464u] = new MobUt.Tx8(this.funct0012c298); + this.dicti2a[1229492u] = new MobUt.Tx8(this.funct0012c2b4); + this.dicti2a[1229500u] = new MobUt.Tx8(this.funct0012c2bc); + this.dicti2a[1229620u] = new MobUt.Tx8(this.funct0012c334); + this.dicti2a[1229660u] = new MobUt.Tx8(this.funct0012c35c); + this.dicti2a[1229680u] = new MobUt.Tx8(this.funct0012c370); + this.dicti2a[1229696u] = new MobUt.Tx8(this.funct0012c380); + this.dicti2a[1229712u] = new MobUt.Tx8(this.funct0012c390); + this.dicti2a[1229732u] = new MobUt.Tx8(this.funct0012c3a4); + this.dicti2a[1229756u] = new MobUt.Tx8(this.funct0012c3bc); + this.dicti2a[1229772u] = new MobUt.Tx8(this.funct0012c3cc); + this.dicti2a[1229796u] = new MobUt.Tx8(this.funct0012c3e4); + this.dicti2a[1229816u] = new MobUt.Tx8(this.funct0012c3f8); + this.dicti2a[1229824u] = new MobUt.Tx8(this.funct0012c400); + this.dicti2a[1229832u] = new MobUt.Tx8(this.funct0012c408); + this.dicti2a[1229844u] = new MobUt.Tx8(this.funct0012c414); + this.dicti2a[1229864u] = new MobUt.Tx8(this.funct0012c428); + this.dicti2a[1229872u] = new MobUt.Tx8(this.funct0012c430); + this.dicti2a[1229900u] = new MobUt.Tx8(this.funct0012c44c); + this.dicti2a[1229908u] = new MobUt.Tx8(this.funct0012c454); + this.dicti2a[1229924u] = new MobUt.Tx8(this.funct0012c464); + this.dicti2a[1229928u] = new MobUt.Tx8(this.funct0012c468); + this.dicti2a[1229948u] = new MobUt.Tx8(this.funct0012c47c); + this.dicti2a[1229956u] = new MobUt.Tx8(this.funct0012c484); + this.dicti2a[1229972u] = new MobUt.Tx8(this.funct0012c494); + this.dicti2a[1229980u] = new MobUt.Tx8(this.funct0012c49c); + this.dicti2a[1229988u] = new MobUt.Tx8(this.funct0012c4a4); + this.dicti2a[1230008u] = new MobUt.Tx8(this.funct0012c4b8); + this.dicti2a[1230016u] = new MobUt.Tx8(this.funct0012c4c0); + this.dicti2a[1230032u] = new MobUt.Tx8(this.funct0012c4d0); + this.dicti2a[1230056u] = new MobUt.Tx8(this.funct0012c4e8); + this.dicti2a[1230068u] = new MobUt.Tx8(this.funct0012c4f4); + this.dicti2a[1230092u] = new MobUt.Tx8(this.funct0012c50c); + this.dicti2a[1230100u] = new MobUt.Tx8(this.funct0012c514); + this.dicti2a[1230220u] = new MobUt.Tx8(this.funct0012c58c); + this.dicti2a[1230260u] = new MobUt.Tx8(this.funct0012c5b4); + this.dicti2a[1230280u] = new MobUt.Tx8(this.funct0012c5c8); + this.dicti2a[1230308u] = new MobUt.Tx8(this.funct0012c5e4); + this.dicti2a[1230316u] = new MobUt.Tx8(this.funct0012c5ec); + this.dicti2a[1230436u] = new MobUt.Tx8(this.funct0012c664); + this.dicti2a[1230476u] = new MobUt.Tx8(this.funct0012c68c); + this.dicti2a[1230496u] = new MobUt.Tx8(this.funct0012c6a0); + this.dicti2a[1230516u] = new MobUt.Tx8(this.funct0012c6b4); + this.dicti2a[1230540u] = new MobUt.Tx8(this.funct0012c6cc); + this.dicti2a[1230556u] = new MobUt.Tx8(this.funct0012c6dc); + this.dicti2a[1230580u] = new MobUt.Tx8(this.funct0012c6f4); + this.dicti2a[1230608u] = new MobUt.Tx8(this.funct0012c710); + this.dicti2a[1230624u] = new MobUt.Tx8(this.funct0012c720); + this.dicti2a[1230648u] = new MobUt.Tx8(this.funct0012c738); + this.dicti2a[1230656u] = new MobUt.Tx8(this.funct0012c740); + this.dicti2a[1230668u] = new MobUt.Tx8(this.funct0012c74c); + this.dicti2a[1230700u] = new MobUt.Tx8(this.funct0012c76c); + this.dicti2a[1230736u] = new MobUt.Tx8(this.funct0012c790); + this.dicti2a[1230764u] = new MobUt.Tx8(this.funct0012c7ac); + this.dicti2a[1230852u] = new MobUt.Tx8(this.funct0012c804); + this.dicti2a[1230904u] = new MobUt.Tx8(this.funct0012c838); + this.dicti2a[1230912u] = new MobUt.Tx8(this.funct0012c840); + this.dicti2a[1230920u] = new MobUt.Tx8(this.funct0012c848); + this.dicti2a[1230936u] = new MobUt.Tx8(this.funct0012c858); + this.dicti2a[1230944u] = new MobUt.Tx8(this.funct0012c860); + this.dicti2a[1230976u] = new MobUt.Tx8(this.funct0012c880); + this.dicti2a[1231028u] = new MobUt.Tx8(this.funct0012c8b4); + this.dicti2a[1231044u] = new MobUt.Tx8(this.funct0012c8c4); + this.dicti2a[1231056u] = new MobUt.Tx8(this.funct0012c8d0); + this.dicti2a[1231072u] = new MobUt.Tx8(this.funct0012c8e0); + this.dicti2a[1231080u] = new MobUt.Tx8(this.funct0012c8e8); + this.dicti2a[1231088u] = new MobUt.Tx8(this.funct0012c8f0); + this.dicti2a[1231116u] = new MobUt.Tx8(this.funct0012c90c); + this.dicti2a[1231144u] = new MobUt.Tx8(this.funct0012c928); + this.dicti2a[1231228u] = new MobUt.Tx8(this.funct0012c97c); + this.dicti2a[1231232u] = new MobUt.Tx8(this.funct0012c980); + this.dicti2a[1231244u] = new MobUt.Tx8(this.funct0012c98c); + this.dicti2a[1231296u] = new MobUt.Tx8(this.funct0012c9c0); + this.dicti2a[1231308u] = new MobUt.Tx8(this.funct0012c9cc); + this.dicti2a[1231324u] = new MobUt.Tx8(this.funct0012c9dc); + this.dicti2a[1231344u] = new MobUt.Tx8(this.funct0012c9f0); + this.dicti2a[1231352u] = new MobUt.Tx8(this.funct0012c9f8); + this.dicti2a[1231404u] = new MobUt.Tx8(this.funct0012ca2c); + this.dicti2a[1231420u] = new MobUt.Tx8(this.funct0012ca3c); + this.dicti2a[1231440u] = new MobUt.Tx8(this.funct0012ca50); + this.dicti2a[1231456u] = new MobUt.Tx8(this.funct0012ca60); + this.dicti2a[1231464u] = new MobUt.Tx8(this.funct0012ca68); + this.dicti2a[1231496u] = new MobUt.Tx8(this.funct0012ca88); + this.dicti2a[1231520u] = new MobUt.Tx8(this.funct0012caa0); + this.dicti2a[1231528u] = new MobUt.Tx8(this.funct0012caa8); + this.dicti2a[1231540u] = new MobUt.Tx8(this.funct0012cab4); + this.dicti2a[1231580u] = new MobUt.Tx8(this.funct0012cadc); + this.dicti2a[1231600u] = new MobUt.Tx8(this.funct0012caf0); + this.dicti2a[1231620u] = new MobUt.Tx8(this.funct0012cb04); + this.dicti2a[1231628u] = new MobUt.Tx8(this.funct0012cb0c); + this.dicti2a[1231636u] = new MobUt.Tx8(this.funct0012cb14); + this.dicti2a[1231684u] = new MobUt.Tx8(this.funct0012cb44); + this.dicti2a[1231696u] = new MobUt.Tx8(this.funct0012cb50); + this.dicti2a[1231756u] = new MobUt.Tx8(this.funct0012cb8c); + this.dicti2a[1231788u] = new MobUt.Tx8(this.funct0012cbac); + this.dicti2a[1231968u] = new MobUt.Tx8(this.funct0012cc60); + this.dicti2a[1232004u] = new MobUt.Tx8(this.funct0012cc84); + this.dicti2a[1232016u] = new MobUt.Tx8(this.funct0012cc90); + this.dicti2a[1232028u] = new MobUt.Tx8(this.funct0012cc9c); + this.dicti2a[1232064u] = new MobUt.Tx8(this.funct0012ccc0); + this.dicti2a[1232144u] = new MobUt.Tx8(this.funct0012cd10); + this.dicti2a[1232164u] = new MobUt.Tx8(this.funct0012cd24); + this.dicti2a[1232172u] = new MobUt.Tx8(this.funct0012cd2c); + this.dicti2a[1232200u] = new MobUt.Tx8(this.funct0012cd48); + this.dicti2a[1232208u] = new MobUt.Tx8(this.funct0012cd50); + this.dicti2a[1232224u] = new MobUt.Tx8(this.funct0012cd60); + this.dicti2a[1232232u] = new MobUt.Tx8(this.funct0012cd68); + this.dicti2a[1232260u] = new MobUt.Tx8(this.funct0012cd84); + this.dicti2a[1232268u] = new MobUt.Tx8(this.funct0012cd8c); + this.dicti2a[1232284u] = new MobUt.Tx8(this.funct0012cd9c); + this.dicti2a[1232304u] = new MobUt.Tx8(this.funct0012cdb0); + this.dicti2a[1232328u] = new MobUt.Tx8(this.funct0012cdc8); + this.dicti2a[1232344u] = new MobUt.Tx8(this.funct0012cdd8); + this.dicti2a[1232348u] = new MobUt.Tx8(this.funct0012cddc); + this.dicti2a[1232364u] = new MobUt.Tx8(this.funct0012cdec); + this.dicti2a[1232372u] = new MobUt.Tx8(this.funct0012cdf4); + this.dicti2a[1232412u] = new MobUt.Tx8(this.funct0012ce1c); + this.dicti2a[1232420u] = new MobUt.Tx8(this.funct0012ce24); + this.dicti2a[1232544u] = new MobUt.Tx8(this.funct0012cea0); + this.dicti2a[1232596u] = new MobUt.Tx8(this.funct0012ced4); + this.dicti2a[1232604u] = new MobUt.Tx8(this.funct0012cedc); + this.dicti2a[1232620u] = new MobUt.Tx8(this.funct0012ceec); + this.dicti2a[1232672u] = new MobUt.Tx8(this.funct0012cf20); + this.dicti2a[1232680u] = new MobUt.Tx8(this.funct0012cf28); + this.dicti2a[1232748u] = new MobUt.Tx8(this.funct0012cf6c); + this.dicti2a[1232756u] = new MobUt.Tx8(this.funct0012cf74); + this.dicti2a[1232772u] = new MobUt.Tx8(this.funct0012cf84); + this.dicti2a[1232812u] = new MobUt.Tx8(this.funct0012cfac); + this.dicti2a[1232820u] = new MobUt.Tx8(this.funct0012cfb4); + this.dicti2a[1232840u] = new MobUt.Tx8(this.funct0012cfc8); + this.dicti2a[1232848u] = new MobUt.Tx8(this.funct0012cfd0); + this.dicti2a[1232868u] = new MobUt.Tx8(this.funct0012cfe4); + this.dicti2a[1232876u] = new MobUt.Tx8(this.funct0012cfec); + this.dicti2a[1232928u] = new MobUt.Tx8(this.funct0012d020); + this.dicti2a[1232956u] = new MobUt.Tx8(this.funct0012d03c); + this.dicti2a[1232976u] = new MobUt.Tx8(this.funct0012d050); + this.dicti2a[1232988u] = new MobUt.Tx8(this.funct0012d05c); + this.dicti2a[1233004u] = new MobUt.Tx8(this.funct0012d06c); + this.dicti2a[1233020u] = new MobUt.Tx8(this.funct0012d07c); + this.dicti2a[1233036u] = new MobUt.Tx8(this.funct0012d08c); + this.dicti2a[1233056u] = new MobUt.Tx8(this.funct0012d0a0); + this.dicti2a[1233112u] = new MobUt.Tx8(this.funct0012d0d8); + this.dicti2a[1233136u] = new MobUt.Tx8(this.funct0012d0f0); + this.dicti2a[1233156u] = new MobUt.Tx8(this.funct0012d104); + this.dicti2a[1233184u] = new MobUt.Tx8(this.funct0012d120); + this.dicti2a[1233196u] = new MobUt.Tx8(this.funct0012d12c); + this.dicti2a[1233220u] = new MobUt.Tx8(this.funct0012d144); + this.dicti2a[1233240u] = new MobUt.Tx8(this.funct0012d158); + this.dicti2a[1233248u] = new MobUt.Tx8(this.funct0012d160); + this.dicti2a[1233272u] = new MobUt.Tx8(this.funct0012d178); + this.dicti2a[1233280u] = new MobUt.Tx8(this.funct0012d180); + this.dicti2a[1233296u] = new MobUt.Tx8(this.funct0012d190); + this.dicti2a[1233304u] = new MobUt.Tx8(this.funct0012d198); + this.dicti2a[1233336u] = new MobUt.Tx8(this.funct0012d1b8); + this.dicti2a[1233360u] = new MobUt.Tx8(this.funct0012d1d0); + this.dicti2a[1233380u] = new MobUt.Tx8(this.funct0012d1e4); + this.dicti2a[1233408u] = new MobUt.Tx8(this.funct0012d200); + this.dicti2a[1233432u] = new MobUt.Tx8(this.funct0012d218); + this.dicti2a[1233460u] = new MobUt.Tx8(this.funct0012d234); + this.dicti2a[1233484u] = new MobUt.Tx8(this.funct0012d24c); + this.dicti2a[1233508u] = new MobUt.Tx8(this.funct0012d264); + this.dicti2a[1233608u] = new MobUt.Tx8(this.funct0012d2c8); + this.dicti2a[1233616u] = new MobUt.Tx8(this.funct0012d2d0); + this.dicti2a[1233644u] = new MobUt.Tx8(this.funct0012d2ec); + this.dicti2a[1233652u] = new MobUt.Tx8(this.funct0012d2f4); + this.dicti2a[1233680u] = new MobUt.Tx8(this.funct0012d310); + this.dicti2a[1233696u] = new MobUt.Tx8(this.funct0012d320); + this.dicti2a[1233724u] = new MobUt.Tx8(this.funct0012d33c); + this.dicti2a[1233748u] = new MobUt.Tx8(this.funct0012d354); + this.dicti2a[1233756u] = new MobUt.Tx8(this.funct0012d35c); + this.dicti2a[1233764u] = new MobUt.Tx8(this.funct0012d364); + this.dicti2a[1233780u] = new MobUt.Tx8(this.funct0012d374); + this.dicti2a[1233808u] = new MobUt.Tx8(this.funct0012d390); + this.dicti2a[1233820u] = new MobUt.Tx8(this.funct0012d39c); + this.dicti2a[1233844u] = new MobUt.Tx8(this.funct0012d3b4); + this.dicti2a[1233864u] = new MobUt.Tx8(this.funct0012d3c8); + this.dicti2a[1233888u] = new MobUt.Tx8(this.funct0012d3e0); + this.dicti2a[1233896u] = new MobUt.Tx8(this.funct0012d3e8); + this.dicti2a[1233936u] = new MobUt.Tx8(this.funct0012d410); + this.dicti2a[1233976u] = new MobUt.Tx8(this.funct0012d438); + this.dicti2a[1234000u] = new MobUt.Tx8(this.funct0012d450); + this.dicti2a[1234020u] = new MobUt.Tx8(this.funct0012d464); + this.dicti2a[1234028u] = new MobUt.Tx8(this.funct0012d46c); + this.dicti2a[1234068u] = new MobUt.Tx8(this.funct0012d494); + this.dicti2a[1234092u] = new MobUt.Tx8(this.funct0012d4ac); + this.dicti2a[1234112u] = new MobUt.Tx8(this.funct0012d4c0); + this.dicti2a[1234120u] = new MobUt.Tx8(this.funct0012d4c8); + this.dicti2a[1234132u] = new MobUt.Tx8(this.funct0012d4d4); + this.dicti2a[1234156u] = new MobUt.Tx8(this.funct0012d4ec); + this.dicti2a[1234164u] = new MobUt.Tx8(this.funct0012d4f4); + this.dicti2a[1317840u] = new MobUt.Tx8(this.funct00141bd0); + this.dicti2a[1317856u] = new MobUt.Tx8(this.funct00141be0); + this.dicti2a[1317864u] = new MobUt.Tx8(this.funct00141be8); + this.dicti2a[1317940u] = new MobUt.Tx8(this.funct00141c34); + this.dicti2a[1318520u] = new MobUt.Tx8(this.funct00141e78); + this.dicti2a[1318552u] = new MobUt.Tx8(this.funct00141e98); + this.dicti2a[1318636u] = new MobUt.Tx8(this.funct00141eec); + this.dicti2a[1318644u] = new MobUt.Tx8(this.funct00141ef4); + this.dicti2a[1318664u] = new MobUt.Tx8(this.funct00141f08); + this.dicti2a[1318668u] = new MobUt.Tx8(this.funct00141f0c); + this.dicti2a[1318688u] = new MobUt.Tx8(this.funct00141f20); + this.dicti2a[1318700u] = new MobUt.Tx8(this.funct00141f2c); + this.dicti2a[1318708u] = new MobUt.Tx8(this.funct00141f34); + this.dicti2a[1318728u] = new MobUt.Tx8(this.funct00141f48); + this.dicti2a[1318732u] = new MobUt.Tx8(this.funct00141f4c); + this.dicti2a[1318792u] = new MobUt.Tx8(this.funct00141f88); + this.dicti2a[1318804u] = new MobUt.Tx8(this.funct00141f94); + this.dicti2a[1318836u] = new MobUt.Tx8(this.funct00141fb4); + this.dicti2a[1318848u] = new MobUt.Tx8(this.funct00141fc0); + this.dicti2a[1318860u] = new MobUt.Tx8(this.funct00141fcc); + this.dicti2a[1318868u] = new MobUt.Tx8(this.funct00141fd4); + this.dicti2a[1318884u] = new MobUt.Tx8(this.funct00141fe4); + this.dicti2a[1318904u] = new MobUt.Tx8(this.funct00141ff8); + this.dicti2a[1318912u] = new MobUt.Tx8(this.funct00142000); + this.dicti2a[1318928u] = new MobUt.Tx8(this.funct00142010); + this.dicti2a[1318956u] = new MobUt.Tx8(this.funct0014202c); + this.dicti2a[1318972u] = new MobUt.Tx8(this.funct0014203c); + this.dicti2a[1318976u] = new MobUt.Tx8(this.funct00142040); + this.dicti2a[1318988u] = new MobUt.Tx8(this.funct0014204c); + this.dicti2a[1319004u] = new MobUt.Tx8(this.funct0014205c); + this.dicti2a[1319016u] = new MobUt.Tx8(this.funct00142068); + this.dicti2a[1319040u] = new MobUt.Tx8(this.funct00142080); + this.dicti2a[1319052u] = new MobUt.Tx8(this.funct0014208c); + this.dicti2a[1319056u] = new MobUt.Tx8(this.funct00142090); + this.dicti2a[1319100u] = new MobUt.Tx8(this.funct001420bc); + this.dicti2a[1319128u] = new MobUt.Tx8(this.funct001420d8); + this.dicti2a[1319220u] = new MobUt.Tx8(this.funct00142134); + this.dicti2a[1319232u] = new MobUt.Tx8(this.funct00142140); + this.dicti2a[1319272u] = new MobUt.Tx8(this.funct00142168); + this.dicti2a[1319316u] = new MobUt.Tx8(this.funct00142194); + this.dicti2a[1319432u] = new MobUt.Tx8(this.funct00142208); + this.dicti2a[1319448u] = new MobUt.Tx8(this.funct00142218); + this.dicti2a[1319504u] = new MobUt.Tx8(this.funct00142250); + this.dicti2a[1319712u] = new MobUt.Tx8(this.funct00142320); + this.dicti2a[1319724u] = new MobUt.Tx8(this.funct0014232c); + this.dicti2a[1319760u] = new MobUt.Tx8(this.funct00142350); + this.dicti2a[1319804u] = new MobUt.Tx8(this.funct0014237c); + this.dicti2a[1319812u] = new MobUt.Tx8(this.funct00142384); + this.dicti2a[1319820u] = new MobUt.Tx8(this.funct0014238c); + this.dicti2a[1319836u] = new MobUt.Tx8(this.funct0014239c); + this.dicti2a[1319852u] = new MobUt.Tx8(this.funct001423ac); + this.dicti2a[1319876u] = new MobUt.Tx8(this.funct001423c4); + this.dicti2a[1319896u] = new MobUt.Tx8(this.funct001423d8); + this.dicti2a[1319992u] = new MobUt.Tx8(this.funct00142438); + this.dicti2a[1326792u] = new MobUt.Tx8(this.funct00143ec8); + this.dicti2a[1326864u] = new MobUt.Tx8(this.funct00143f10); + this.dicti2a[1326892u] = new MobUt.Tx8(this.funct00143f2c); + this.dicti2a[1326916u] = new MobUt.Tx8(this.funct00143f44); + this.dicti2a[1329272u] = new MobUt.Tx8(this.funct00144878); + this.dicti2a[1329728u] = new MobUt.Tx8(this.funct00144a40); + this.dicti2a[1329756u] = new MobUt.Tx8(this.funct00144a5c); + this.dicti2a[1329780u] = new MobUt.Tx8(this.funct00144a74); + this.dicti2a[1329820u] = new MobUt.Tx8(this.funct00144a9c); + this.dicti2a[1329828u] = new MobUt.Tx8(this.funct00144aa4); + this.dicti2a[1329844u] = new MobUt.Tx8(this.funct00144ab4); + this.dicti2a[1331344u] = new MobUt.Tx8(this.funct00145090); + this.dicti2a[1331376u] = new MobUt.Tx8(this.funct001450b0); + this.dicti2a[1331428u] = new MobUt.Tx8(this.funct001450e4); + this.dicti2a[1331508u] = new MobUt.Tx8(this.funct00145134); + this.dicti2a[1331532u] = new MobUt.Tx8(this.funct0014514c); + this.dicti2a[1331612u] = new MobUt.Tx8(this.funct0014519c); + this.dicti2a[1331636u] = new MobUt.Tx8(this.funct001451b4); + this.dicti2a[1331716u] = new MobUt.Tx8(this.funct00145204); + this.dicti2a[1331740u] = new MobUt.Tx8(this.funct0014521c); + this.dicti2a[1331820u] = new MobUt.Tx8(this.funct0014526c); + this.dicti2a[1331844u] = new MobUt.Tx8(this.funct00145284); + this.dicti2a[1331924u] = new MobUt.Tx8(this.funct001452d4); + this.dicti2a[1331948u] = new MobUt.Tx8(this.funct001452ec); + this.dicti2a[1332028u] = new MobUt.Tx8(this.funct0014533c); + this.dicti2a[1333216u] = new MobUt.Tx8(this.funct001457e0); + this.dicti2a[1333236u] = new MobUt.Tx8(this.funct001457f4); + this.dicti2a[1333256u] = new MobUt.Tx8(this.funct00145808); + this.dicti2a[1333276u] = new MobUt.Tx8(this.funct0014581c); + this.dicti2a[1333296u] = new MobUt.Tx8(this.funct00145830); + this.dicti2a[1333316u] = new MobUt.Tx8(this.funct00145844); + this.dicti2a[1333332u] = new MobUt.Tx8(this.funct00145854); + this.dicti2a[1450744u] = new MobUt.Tx8(this.funct001622f8); + this.dicti2a[1450792u] = new MobUt.Tx8(this.funct00162328); + this.dicti2a[1450800u] = new MobUt.Tx8(this.funct00162330); + this.dicti2a[1450904u] = new MobUt.Tx8(this.funct00162398); + this.dicti2a[1450940u] = new MobUt.Tx8(this.funct001623bc); + this.dicti2a[1450980u] = new MobUt.Tx8(this.funct001623e4); + this.dicti2a[1451032u] = new MobUt.Tx8(this.funct00162418); + this.dicti2a[1451036u] = new MobUt.Tx8(this.funct0016241c); + this.dicti2a[1451044u] = new MobUt.Tx8(this.funct00162424); + this.dicti2a[1451052u] = new MobUt.Tx8(this.funct0016242c); + this.dicti2a[1451116u] = new MobUt.Tx8(this.funct0016246c); + this.dicti2a[1451632u] = new MobUt.Tx8(this.funct00162670); + this.dicti2a[1451696u] = new MobUt.Tx8(this.funct001626b0); + this.dicti2a[1451796u] = new MobUt.Tx8(this.funct00162714); + this.dicti2a[1451808u] = new MobUt.Tx8(this.funct00162720); + this.dicti2a[1451836u] = new MobUt.Tx8(this.funct0016273c); + this.dicti2a[1451868u] = new MobUt.Tx8(this.funct0016275c); + this.dicti2a[1451888u] = new MobUt.Tx8(this.funct00162770); + this.dicti2a[1451896u] = new MobUt.Tx8(this.funct00162778); + this.dicti2a[1465000u] = new MobUt.Tx8(this.funct00165aa8); + this.dicti2a[1465116u] = new MobUt.Tx8(this.funct00165b1c); + this.dicti2a[1465124u] = new MobUt.Tx8(this.funct00165b24); + this.dicti2a[1465312u] = new MobUt.Tx8(this.funct00165be0); + this.dicti2a[1465332u] = new MobUt.Tx8(this.funct00165bf4); + this.dicti2a[1465356u] = new MobUt.Tx8(this.funct00165c0c); + this.dicti2a[3123512u] = new MobUt.Tx8(this.funct002fa938); + this.dicti2a[3123608u] = new MobUt.Tx8(this.funct002fa998); + this.dicti2a[3123616u] = new MobUt.Tx8(this.funct002fa9a0); + this.dicti2a[3123620u] = new MobUt.Tx8(this.funct002fa9a4); + this.dicti2a[3123632u] = new MobUt.Tx8(this.funct002fa9b0); + this.dicti2a[3123660u] = new MobUt.Tx8(this.funct002fa9cc); + this.dicti2a[3123672u] = new MobUt.Tx8(this.funct002fa9d8); + this.dicti2a[3123680u] = new MobUt.Tx8(this.funct002fa9e0); + this.dicti2a[3123700u] = new MobUt.Tx8(this.funct002fa9f4); + this.dicti2a[3123748u] = new MobUt.Tx8(this.funct002faa24); + this.dicti2a[3123788u] = new MobUt.Tx8(this.funct002faa4c); + this.dicti2a[3123800u] = new MobUt.Tx8(this.funct002faa58); + this.dicti2a[3123828u] = new MobUt.Tx8(this.funct002faa74); + this.dicti2a[3123840u] = new MobUt.Tx8(this.funct002faa80); + this.dicti2a[3123848u] = new MobUt.Tx8(this.funct002faa88); + this.dicti2a[3123868u] = new MobUt.Tx8(this.funct002faa9c); + this.dicti2a[3123920u] = new MobUt.Tx8(this.funct002faad0); + this.dicti2a[3123960u] = new MobUt.Tx8(this.funct002faaf8); + this.dicti2a[3123968u] = new MobUt.Tx8(this.funct002fab00); + this.dicti2a[3123996u] = new MobUt.Tx8(this.funct002fab1c); + this.dicti2a[3124008u] = new MobUt.Tx8(this.funct002fab28); + this.dicti2a[3124016u] = new MobUt.Tx8(this.funct002fab30); + this.dicti2a[3124036u] = new MobUt.Tx8(this.funct002fab44); + this.dicti2a[3124088u] = new MobUt.Tx8(this.funct002fab78); + this.dicti2a[3124128u] = new MobUt.Tx8(this.funct002faba0); + this.dicti2a[3142160u] = new MobUt.Tx8(this.funct002ff210); + this.dicti2a[3142240u] = new MobUt.Tx8(this.funct002ff260); + this.dicti2a[3142264u] = new MobUt.Tx8(this.funct002ff278); + this.dicti2a[3142284u] = new MobUt.Tx8(this.funct002ff28c); + this.dicti2a[3142300u] = new MobUt.Tx8(this.funct002ff29c); + this.dicti2a[3142344u] = new MobUt.Tx8(this.funct002ff2c8); + this.dicti2a[3142348u] = new MobUt.Tx8(this.funct002ff2cc); + this.dicti2a[3142568u] = new MobUt.Tx8(this.funct002ff3a8); + this.dicti2a[3142584u] = new MobUt.Tx8(this.funct002ff3b8); + this.dicti2a[3142648u] = new MobUt.Tx8(this.funct002ff3f8); + this.dicti2a[3142656u] = new MobUt.Tx8(this.funct002ff400); + this.dicti2a[3142664u] = new MobUt.Tx8(this.funct002ff408); + this.dicti2a[3142684u] = new MobUt.Tx8(this.funct002ff41c); + this.dicti2a[3142704u] = new MobUt.Tx8(this.funct002ff430); + this.dicti2a[3142744u] = new MobUt.Tx8(this.funct002ff458); + this.dicti2a[3142764u] = new MobUt.Tx8(this.funct002ff46c); + this.dicti2a[3142788u] = new MobUt.Tx8(this.funct002ff484); + this.dicti2a[3142808u] = new MobUt.Tx8(this.funct002ff498); + this.dicti2a[3142852u] = new MobUt.Tx8(this.funct002ff4c4); + this.dicti2a[3143264u] = new MobUt.Tx8(this.funct002ff660); + this.dicti2a[3143848u] = new MobUt.Tx8(this.funct002ff8a8); + this.dicti2a[3143872u] = new MobUt.Tx8(this.funct002ff8c0); + this.dicti2a[3143896u] = new MobUt.Tx8(this.funct002ff8d8); + this.dicti2a[3145816u] = new MobUt.Tx8(this.funct00300058); + this.dicti2a[3145872u] = new MobUt.Tx8(this.funct00300090); + this.dicti2a[3145904u] = new MobUt.Tx8(this.funct003000b0); + this.dicti2a[3145908u] = new MobUt.Tx8(this.funct003000b4); + this.dicti2a[3145940u] = new MobUt.Tx8(this.funct003000d4); + this.dicti2a[3145948u] = new MobUt.Tx8(this.funct003000dc); + this.dicti2a[3145972u] = new MobUt.Tx8(this.funct003000f4); + this.dicti2a[3145988u] = new MobUt.Tx8(this.funct00300104); + this.dicti2a[3146004u] = new MobUt.Tx8(this.funct00300114); + this.dicti2a[3146044u] = new MobUt.Tx8(this.funct0030013c); + this.dicti2a[3146052u] = new MobUt.Tx8(this.funct00300144); + this.dicti2a[3146288u] = new MobUt.Tx8(this.funct00300230); + this.dicti2a[3146308u] = new MobUt.Tx8(this.funct00300244); + this.dicti2a[3146368u] = new MobUt.Tx8(this.funct00300280); + this.dicti2a[3146376u] = new MobUt.Tx8(this.funct00300288); + this.dicti2a[3146384u] = new MobUt.Tx8(this.funct00300290); + this.dicti2a[3146504u] = new MobUt.Tx8(this.funct00300308); + this.dicti2a[3146736u] = new MobUt.Tx8(this.funct003003f0); + this.dicti2a[3146784u] = new MobUt.Tx8(this.funct00300420); + this.dicti2a[3146800u] = new MobUt.Tx8(this.funct00300430); + this.dicti2a[3146832u] = new MobUt.Tx8(this.funct00300450); + this.dicti2a[3146848u] = new MobUt.Tx8(this.funct00300460); + this.dicti2a[3146860u] = new MobUt.Tx8(this.funct0030046c); + this.dicti2a[3146868u] = new MobUt.Tx8(this.funct00300474); + this.dicti2a[3146872u] = new MobUt.Tx8(this.funct00300478); + this.dicti2a[3146876u] = new MobUt.Tx8(this.funct0030047c); + this.dicti2a[3146880u] = new MobUt.Tx8(this.funct00300480); + this.dicti2a[3146896u] = new MobUt.Tx8(this.funct00300490); + this.dicti2a[3146916u] = new MobUt.Tx8(this.funct003004a4); + this.dicti2a[3146952u] = new MobUt.Tx8(this.funct003004c8); + this.dicti2a[3146972u] = new MobUt.Tx8(this.funct003004dc); + this.dicti2a[3147000u] = new MobUt.Tx8(this.funct003004f8); + this.dicti2a[3147008u] = new MobUt.Tx8(this.funct00300500); + this.dicti2a[3147016u] = new MobUt.Tx8(this.funct00300508); + this.dicti2a[3147036u] = new MobUt.Tx8(this.funct0030051c); + this.dicti2a[3147044u] = new MobUt.Tx8(this.funct00300524); + this.dicti2a[3147060u] = new MobUt.Tx8(this.funct00300534); + this.dicti2a[3147068u] = new MobUt.Tx8(this.funct0030053c); + this.dicti2a[3147080u] = new MobUt.Tx8(this.funct00300548); + this.dicti2a[3147112u] = new MobUt.Tx8(this.funct00300568); + this.dicti2a[3147120u] = new MobUt.Tx8(this.funct00300570); + this.dicti2a[3147156u] = new MobUt.Tx8(this.funct00300594); + this.dicti2a[3147192u] = new MobUt.Tx8(this.funct003005b8); + this.dicti2a[3147236u] = new MobUt.Tx8(this.funct003005e4); + this.dicti2a[3147244u] = new MobUt.Tx8(this.funct003005ec); + this.dicti2a[3147252u] = new MobUt.Tx8(this.funct003005f4); + this.dicti2a[3147272u] = new MobUt.Tx8(this.funct00300608); + this.dicti2a[3147292u] = new MobUt.Tx8(this.funct0030061c); + this.dicti2a[3147308u] = new MobUt.Tx8(this.funct0030062c); + this.dicti2a[3147360u] = new MobUt.Tx8(this.funct00300660); + this.dicti2a[3147364u] = new MobUt.Tx8(this.funct00300664); + this.dicti2a[3147472u] = new MobUt.Tx8(this.funct003006d0); + this.dicti2a[3147524u] = new MobUt.Tx8(this.funct00300704); + this.dicti2a[3147532u] = new MobUt.Tx8(this.funct0030070c); + this.dicti2a[3147600u] = new MobUt.Tx8(this.funct00300750); + this.dicti2a[3147612u] = new MobUt.Tx8(this.funct0030075c); + this.dicti2a[3147652u] = new MobUt.Tx8(this.funct00300784); + this.dicti2a[3147744u] = new MobUt.Tx8(this.funct003007e0); + this.dicti2a[3151872u] = new MobUt.Tx8(this.funct00301800); + this.dicti2a[3151908u] = new MobUt.Tx8(this.funct00301824); + this.dicti2a[3151936u] = new MobUt.Tx8(this.funct00301840); + this.dicti2a[3151944u] = new MobUt.Tx8(this.funct00301848); + this.dicti2a[3151988u] = new MobUt.Tx8(this.funct00301874); + this.dicti2a[3152004u] = new MobUt.Tx8(this.funct00301884); + this.dicti2a[3152020u] = new MobUt.Tx8(this.funct00301894); + this.dicti2a[3152028u] = new MobUt.Tx8(this.funct0030189c); + this.dicti2a[3152036u] = new MobUt.Tx8(this.funct003018a4); + this.dicti2a[3152060u] = new MobUt.Tx8(this.funct003018bc); + this.dicti2a[3152072u] = new MobUt.Tx8(this.funct003018c8); + this.dicti2a[3332304u] = new MobUt.Tx8(this.funct0032d8d0); + this.dicti2a[3332316u] = new MobUt.Tx8(this.funct0032d8dc); + this.dicti2a[3332452u] = new MobUt.Tx8(this.funct0032d964); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/RelocMdlx.cs b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/RelocMdlx.cs index 9b9a7b8f4..3dc38d5b5 100644 --- a/OpenKh.Kh2AnimEmu/Mset/EmuRunner/RelocMdlx.cs +++ b/OpenKh.Kh2AnimEmu/Mset/EmuRunner/RelocMdlx.cs @@ -1,241 +1,242 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; -using System.Diagnostics; - -namespace OpenKh.Kh2Anim.Mset.EmuRunner -{ - class RelocMset - { - MemoryStream os; - uint off; - uint reloc; - BinaryReader br; - BinaryWriter wr; - uint[] ps; - - public RelocMset(byte[] bin, uint off, uint reloc, uint[] ps) - { - os = new MemoryStream(bin, true); - this.off = off; - this.reloc = reloc; - br = new BinaryReader(os); - wr = new BinaryWriter(os); - this.ps = ps; - } - public void Run() - { - relocateAnimData(off); - } - - void relocateAnimData(uint off2) - { - os.Position = off2; - wr.Write(ps[0]); - wr.Write((uint)(off2 - off + reloc + 0x90U)); - wr.Write(ps[2]); - wr.Write(ps[3]); - wr.Write(ps[4]); - wr.Write(ps[5]); - - os.Position = off2 + 0x90U + 0x10U; - int c0 = br.ReadUInt16(); - int c1 = br.ReadUInt16(); - os.Position = off2 + 0x90U + 0x18U; - uint pos = br.ReadUInt32(); - - int ct = c1 - c0; - - uint off3 = off2 + 0x90U + pos; - - if (off3 < (uint)os.Length) - { - BSReloc.Run(os, off3, ct, c0); - } - } - } - class RelocMdlx - { - byte[] bin; - uint off; - uint reloc; - uint pos0, pos1, pos2, pos3; - MemoryStream os; - BinaryReader br; - BinaryWriter wr; - - public RelocMdlx(byte[] bin, int off, int reloc, uint pos0, uint pos1, uint pos2, uint pos3) - { - // pos0: 0x354398 --> ? - // pos1: P_EX +0x90 - // pos2: st - // pos3: 1 - this.bin = bin; - this.off = (uint)off; - this.reloc = (uint)reloc; - os = new MemoryStream(bin, true); - br = new BinaryReader(os); - wr = new BinaryWriter(os); - this.pos0 = pos0; - this.pos1 = pos1; - this.pos2 = pos2; - this.pos3 = pos3; - } - - public uint Run() - { - os.Position = off + 4; - int cnt = br.ReadInt32(); - UtReloc.Rel4(os, off + 8, reloc); - uint r = 0; - for (int c = 0; c < cnt; c++) - { - os.Position = off + 16 * (1 + c); - uint c00 = br.ReadUInt32(); - uint pos = UtReloc.Rel4(os, (uint)(off + 16 * (1 + c) + 8), reloc).oldVal; - if (c00 == 0x04) r = ty04(pos); - } - return r; - } - - uint ty04(uint pos) - { - os.Position = off + pos; - wr.Write(pos0); - wr.Write(reloc + pos + 0x90U); - wr.Write(pos2); - wr.Write(pos3); - - os.Position = off + pos + 0x90U + 0x10U; - uint c10 = br.ReadUInt16(); - uint c12 = br.ReadUInt16(); - uint c14 = br.ReadUInt32(); - -#if true - BSReloc.Run(os, off + pos + 0x90U + c14, (int)c10, 0); -#else - List alc = new List(); - for (int t = 0; t < (int)c10; t++) { - os.Position = off + pos + 0x90U + c14 + 64 * t; - Corner o = new Corner(); - o.bi = br.ReadInt32(); - o.pi = br.ReadInt32(); - if (o.pi != -1) { - if (alc[o.pi].x3 == -1) { // no children yet - alc[o.pi].x3 = t; - } - else { // having children - int myx3 = alc[o.pi].x3; - alc[o.pi].x3 = t; - o.x1 = myx3; - } - } - alc.Add(o); - } - for (int t = 0; t < (int)c10; t++) - Debug.WriteLine(alc[t]); - for (int t = 0; t < (int)c10; t++) { - os.Position = off + pos + 0x90U + c14 + 64 * t; - Corner o = alc[t]; - os.Seek(+2, SeekOrigin.Current); - wr.Write((ushort)o.x1); - os.Seek(+2, SeekOrigin.Current); - wr.Write((ushort)o.x3); - } -#endif - - return reloc + pos; - } - -#if false - class Corner { - public int bi, pi; - public int x1 = -1, x3 = -1; - - public override string ToString() { - return base.ToString(); - //return string.Format("{0:X4} {1:X4} {2:X4} {3:X4}", (short)bi, (short)x1, (short)pi, (short)x3); - } - } -#endif - } - class BSReloc - { - class Corner - { - public int bi, pi; - public int x1 = -1, x3 = -1; - - public override string ToString() - { - return string.Format("{0:X4} {1:X4} {2:X4} {3:X4}", (short)bi, (short)x1, (short)pi, (short)x3); - } - } - - public static void Run(MemoryStream os, uint off, int ct, int delta) - { - BinaryReader br = new BinaryReader(os); - BinaryWriter wr = new BinaryWriter(os); - - List alc = new List(); - for (int t = 0; t < ct; t++) - { - os.Position = off + 64 * t; - Corner o = new Corner(); - o.bi = br.ReadInt32(); - o.pi = br.ReadInt32(); - if (o.pi != -1 && o.pi - delta >= 0) - { - if (alc[o.pi - delta].x3 == -1) - { // no children yet - alc[o.pi - delta].x3 = t + delta; - } - else - { // having children - int myx3 = alc[o.pi - delta].x3; - alc[o.pi - delta].x3 = t + delta; - o.x1 = myx3; - } - } - alc.Add(o); - } -#if false - for (int t = 0; t < ct; t++) - Debug.WriteLine(alc[t]); -#endif - for (int t = 0; t < ct; t++) - { - os.Position = off + 64 * t; - Corner o = alc[t]; - os.Seek(+2, SeekOrigin.Current); - wr.Write((ushort)o.x1); - os.Seek(+2, SeekOrigin.Current); - wr.Write((ushort)o.x3); - } - - } - } - class RelRes - { - public uint oldVal, newVal; - - public RelRes(uint oldVal, uint newVal) - { - this.oldVal = oldVal; - this.newVal = newVal; - } - } - class UtReloc - { - public static RelRes Rel4(MemoryStream os, uint off, uint reloc) - { - os.Position = off; - uint oldVal = new BinaryReader(os).ReadUInt32(); - uint newVal = oldVal + reloc; - os.Position = off; - new BinaryWriter(os).Write(newVal); - return new RelRes(oldVal, newVal); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; +using System.Diagnostics; + +namespace OpenKh.Kh2Anim.Mset.EmuRunner +{ + class RelocMset + { + MemoryStream os; + uint off; + uint reloc; + BinaryReader br; + BinaryWriter wr; + uint[] ps; + + public RelocMset(byte[] bin, uint off, uint reloc, uint[] ps) + { + os = new MemoryStream(bin, true); + this.off = off; + this.reloc = reloc; + br = new BinaryReader(os); + wr = new BinaryWriter(os); + this.ps = ps; + } + public void Run() + { + relocateAnimData(off); + } + + void relocateAnimData(uint off2) + { + os.Position = off2; + wr.Write(ps[0]); + wr.Write((uint)(off2 - off + reloc + 0x90U)); + wr.Write(ps[2]); + wr.Write(ps[3]); + wr.Write(ps[4]); + wr.Write(ps[5]); + + os.Position = off2 + 0x90U + 0x10U; + int c0 = br.ReadUInt16(); + int c1 = br.ReadUInt16(); + os.Position = off2 + 0x90U + 0x18U; + uint pos = br.ReadUInt32(); + + int ct = c1 - c0; + + uint off3 = off2 + 0x90U + pos; + + if (off3 < (uint)os.Length) + { + BSReloc.Run(os, off3, ct, c0); + } + } + } + class RelocMdlx + { + byte[] bin; + uint off; + uint reloc; + uint pos0, pos1, pos2, pos3; + MemoryStream os; + BinaryReader br; + BinaryWriter wr; + + public RelocMdlx(byte[] bin, int off, int reloc, uint pos0, uint pos1, uint pos2, uint pos3) + { + // pos0: 0x354398 --> ? + // pos1: P_EX +0x90 + // pos2: st + // pos3: 1 + this.bin = bin; + this.off = (uint)off; + this.reloc = (uint)reloc; + os = new MemoryStream(bin, true); + br = new BinaryReader(os); + wr = new BinaryWriter(os); + this.pos0 = pos0; + this.pos1 = pos1; + this.pos2 = pos2; + this.pos3 = pos3; + } + + public uint Run() + { + os.Position = off + 4; + int cnt = br.ReadInt32(); + UtReloc.Rel4(os, off + 8, reloc); + uint r = 0; + for (int c = 0; c < cnt; c++) + { + os.Position = off + 16 * (1 + c); + uint c00 = br.ReadUInt32(); + uint pos = UtReloc.Rel4(os, (uint)(off + 16 * (1 + c) + 8), reloc).oldVal; + if (c00 == 0x04) + r = ty04(pos); + } + return r; + } + + uint ty04(uint pos) + { + os.Position = off + pos; + wr.Write(pos0); + wr.Write(reloc + pos + 0x90U); + wr.Write(pos2); + wr.Write(pos3); + + os.Position = off + pos + 0x90U + 0x10U; + uint c10 = br.ReadUInt16(); + uint c12 = br.ReadUInt16(); + uint c14 = br.ReadUInt32(); + +#if true + BSReloc.Run(os, off + pos + 0x90U + c14, (int)c10, 0); +#else + List alc = new List(); + for (int t = 0; t < (int)c10; t++) { + os.Position = off + pos + 0x90U + c14 + 64 * t; + Corner o = new Corner(); + o.bi = br.ReadInt32(); + o.pi = br.ReadInt32(); + if (o.pi != -1) { + if (alc[o.pi].x3 == -1) { // no children yet + alc[o.pi].x3 = t; + } + else { // having children + int myx3 = alc[o.pi].x3; + alc[o.pi].x3 = t; + o.x1 = myx3; + } + } + alc.Add(o); + } + for (int t = 0; t < (int)c10; t++) + Debug.WriteLine(alc[t]); + for (int t = 0; t < (int)c10; t++) { + os.Position = off + pos + 0x90U + c14 + 64 * t; + Corner o = alc[t]; + os.Seek(+2, SeekOrigin.Current); + wr.Write((ushort)o.x1); + os.Seek(+2, SeekOrigin.Current); + wr.Write((ushort)o.x3); + } +#endif + + return reloc + pos; + } + +#if false + class Corner { + public int bi, pi; + public int x1 = -1, x3 = -1; + + public override string ToString() { + return base.ToString(); + //return string.Format("{0:X4} {1:X4} {2:X4} {3:X4}", (short)bi, (short)x1, (short)pi, (short)x3); + } + } +#endif + } + class BSReloc + { + class Corner + { + public int bi, pi; + public int x1 = -1, x3 = -1; + + public override string ToString() + { + return string.Format("{0:X4} {1:X4} {2:X4} {3:X4}", (short)bi, (short)x1, (short)pi, (short)x3); + } + } + + public static void Run(MemoryStream os, uint off, int ct, int delta) + { + BinaryReader br = new BinaryReader(os); + BinaryWriter wr = new BinaryWriter(os); + + List alc = new List(); + for (int t = 0; t < ct; t++) + { + os.Position = off + 64 * t; + Corner o = new Corner(); + o.bi = br.ReadInt32(); + o.pi = br.ReadInt32(); + if (o.pi != -1 && o.pi - delta >= 0) + { + if (alc[o.pi - delta].x3 == -1) + { // no children yet + alc[o.pi - delta].x3 = t + delta; + } + else + { // having children + int myx3 = alc[o.pi - delta].x3; + alc[o.pi - delta].x3 = t + delta; + o.x1 = myx3; + } + } + alc.Add(o); + } +#if false + for (int t = 0; t < ct; t++) + Debug.WriteLine(alc[t]); +#endif + for (int t = 0; t < ct; t++) + { + os.Position = off + 64 * t; + Corner o = alc[t]; + os.Seek(+2, SeekOrigin.Current); + wr.Write((ushort)o.x1); + os.Seek(+2, SeekOrigin.Current); + wr.Write((ushort)o.x3); + } + + } + } + class RelRes + { + public uint oldVal, newVal; + + public RelRes(uint oldVal, uint newVal) + { + this.oldVal = oldVal; + this.newVal = newVal; + } + } + class UtReloc + { + public static RelRes Rel4(MemoryStream os, uint off, uint reloc) + { + os.Position = off; + uint oldVal = new BinaryReader(os).ReadUInt32(); + uint newVal = oldVal + reloc; + os.Position = off; + new BinaryWriter(os).Write(newVal); + return new RelRes(oldVal, newVal); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/Interfaces/IAnimMatricesProvider.cs b/OpenKh.Kh2AnimEmu/Mset/Interfaces/IAnimMatricesProvider.cs index 69f5a63e9..2182ce304 100644 --- a/OpenKh.Kh2AnimEmu/Mset/Interfaces/IAnimMatricesProvider.cs +++ b/OpenKh.Kh2AnimEmu/Mset/Interfaces/IAnimMatricesProvider.cs @@ -1,18 +1,18 @@ -using System; -using System.Collections.Generic; -using System.Numerics; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset.Interfaces -{ - public interface IAnimMatricesProvider - { - Matrix4x4[] ProvideMatrices(double gameTimeDelta); - - float FrameLoop { get; } - float FrameEnd { get; } - float FramePerSecond { get; } - float FrameCount { get; } - int MatrixCount { get; } - } -} +using System; +using System.Collections.Generic; +using System.Numerics; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset.Interfaces +{ + public interface IAnimMatricesProvider + { + Matrix4x4[] ProvideMatrices(double gameTimeDelta); + + float FrameLoop { get; } + float FrameEnd { get; } + float FramePerSecond { get; } + float FrameCount { get; } + int MatrixCount { get; } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/MsetIndir.cs b/OpenKh.Kh2AnimEmu/Mset/MsetIndir.cs index fabdf4efe..768c1c1ea 100644 --- a/OpenKh.Kh2AnimEmu/Mset/MsetIndir.cs +++ b/OpenKh.Kh2AnimEmu/Mset/MsetIndir.cs @@ -1,31 +1,31 @@ -using OpenKh.Kh2; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - /// - /// mset indirection - /// - public class MsetIndir - { - private readonly IList entries; - - public MsetIndir(IList entries) - { - this.entries = entries; - } - - public AnbIndir GetAnb(int barEntryIndex) - { - var anbBar = entries - .Skip(barEntryIndex) - .First(it => it.Type == Bar.EntryType.Anb); - - return new AnbIndir(Bar.Read(anbBar.Stream)); - } - } -} +using OpenKh.Kh2; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + /// + /// mset indirection + /// + public class MsetIndir + { + private readonly IList entries; + + public MsetIndir(IList entries) + { + this.entries = entries; + } + + public AnbIndir GetAnb(int barEntryIndex) + { + var anbBar = entries + .Skip(barEntryIndex) + .First(it => it.Type == Bar.EntryType.Anb); + + return new AnbIndir(Bar.Read(anbBar.Stream)); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/PosTbl.cs b/OpenKh.Kh2AnimEmu/Mset/PosTbl.cs index dc63f5921..36d39ec23 100644 --- a/OpenKh.Kh2AnimEmu/Mset/PosTbl.cs +++ b/OpenKh.Kh2AnimEmu/Mset/PosTbl.cs @@ -1,76 +1,76 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class PosTbl - { - public int tbloff = 0x90; - - public int va0; - public int va2; // cnt t4 - public int va8; // off t5 (each 64 bytes) { cnt_t5 = va2 -va0 } - public int vac; // off t4 (each 4 bytes) - public int vb0; // cnt t11 - public int vb4; // off t1 (each 8 bytes) - public int vb8; // cnt t1 - public int vc0; // off t2 (each 6 bytes) - public int vc4; // cnt t2 - public int vc8; // off t2` (each 6 bytes) - public int vcc; // cnt t2` - public int vd0; // off t9 (each 8 bytes) - public int vd4; // off t11 (each 4 bytes) - public int vd8; // off t10 (each 4 bytes) - public int vdc; // off t12 (each 4 bytes) - public int ve0; // off t3 (each 12 bytes) - public int ve4; // cnt t3 - public int ve8; - public int vec; // off t8 (each 48 bytes) { cnt_t8 = cnt_t2` } - public int vf0; // off t7 (each 8 bytes) - public int vf4; // cnt t7 - public int vf8; // off t6 (each 12 bytes) - public int vfc; // cnt t6 - - public PosTbl(Stream si) - { - BinaryReader br = new BinaryReader(si); - int off = tbloff - 0x90; - - // Clone→ - si.Position = off + 0xA0; - va0 = br.ReadUInt16(); - va2 = br.ReadUInt16(); // cnt t4 - si.Position = off + 0xA8; - va8 = br.ReadInt32(); // off t5 (each 64 bytes) { cnt_t5 = va2 -va0 } - vac = br.ReadInt32(); // off t4 (each 4 bytes) - - si.Position = off + 0xB0; - vb0 = br.ReadInt32(); // cnt t11 - vb4 = br.ReadInt32(); // off t1 (each 8 bytes) - vb8 = br.ReadInt32(); // cnt t1 - si.Position = off + 0xC0; - vc0 = br.ReadInt32(); // off t2 (each 6 bytes) - vc4 = br.ReadInt32(); // cnt t2 - vc8 = br.ReadInt32(); // off t2` (each 6 bytes) - vcc = br.ReadInt32(); // cnt t2` - si.Position = off + 0xD0; - vd0 = br.ReadInt32(); // off t9 (each 8 bytes) - vd4 = br.ReadInt32(); // off t11 (each 4 bytes) - vd8 = br.ReadInt32(); // off t10 (each 4 bytes) - vdc = br.ReadInt32(); // off t12 (each 4 bytes) - si.Position = off + 0xE0; - ve0 = br.ReadInt32(); // off t3 (each 12 bytes) - ve4 = br.ReadInt32(); // cnt t3 - ve8 = br.ReadInt32(); - vec = br.ReadInt32(); // off t8 (each 48 bytes) { cnt_t8 = cnt_t2` } - si.Position = off + 0xF0; - vf0 = br.ReadInt32(); // off t7 (each 8 bytes) - vf4 = br.ReadInt32(); // cnt t7 - vf8 = br.ReadInt32(); // off t6 (each 12 bytes) - vfc = br.ReadInt32(); // cnt t6 - // ←Clone - } - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class PosTbl + { + public int tbloff = 0x90; + + public int va0; + public int va2; // cnt t4 + public int va8; // off t5 (each 64 bytes) { cnt_t5 = va2 -va0 } + public int vac; // off t4 (each 4 bytes) + public int vb0; // cnt t11 + public int vb4; // off t1 (each 8 bytes) + public int vb8; // cnt t1 + public int vc0; // off t2 (each 6 bytes) + public int vc4; // cnt t2 + public int vc8; // off t2` (each 6 bytes) + public int vcc; // cnt t2` + public int vd0; // off t9 (each 8 bytes) + public int vd4; // off t11 (each 4 bytes) + public int vd8; // off t10 (each 4 bytes) + public int vdc; // off t12 (each 4 bytes) + public int ve0; // off t3 (each 12 bytes) + public int ve4; // cnt t3 + public int ve8; + public int vec; // off t8 (each 48 bytes) { cnt_t8 = cnt_t2` } + public int vf0; // off t7 (each 8 bytes) + public int vf4; // cnt t7 + public int vf8; // off t6 (each 12 bytes) + public int vfc; // cnt t6 + + public PosTbl(Stream si) + { + BinaryReader br = new BinaryReader(si); + int off = tbloff - 0x90; + + // Clone→ + si.Position = off + 0xA0; + va0 = br.ReadUInt16(); + va2 = br.ReadUInt16(); // cnt t4 + si.Position = off + 0xA8; + va8 = br.ReadInt32(); // off t5 (each 64 bytes) { cnt_t5 = va2 -va0 } + vac = br.ReadInt32(); // off t4 (each 4 bytes) + + si.Position = off + 0xB0; + vb0 = br.ReadInt32(); // cnt t11 + vb4 = br.ReadInt32(); // off t1 (each 8 bytes) + vb8 = br.ReadInt32(); // cnt t1 + si.Position = off + 0xC0; + vc0 = br.ReadInt32(); // off t2 (each 6 bytes) + vc4 = br.ReadInt32(); // cnt t2 + vc8 = br.ReadInt32(); // off t2` (each 6 bytes) + vcc = br.ReadInt32(); // cnt t2` + si.Position = off + 0xD0; + vd0 = br.ReadInt32(); // off t9 (each 8 bytes) + vd4 = br.ReadInt32(); // off t11 (each 4 bytes) + vd8 = br.ReadInt32(); // off t10 (each 4 bytes) + vdc = br.ReadInt32(); // off t12 (each 4 bytes) + si.Position = off + 0xE0; + ve0 = br.ReadInt32(); // off t3 (each 12 bytes) + ve4 = br.ReadInt32(); // cnt t3 + ve8 = br.ReadInt32(); + vec = br.ReadInt32(); // off t8 (each 48 bytes) { cnt_t8 = cnt_t2` } + si.Position = off + 0xF0; + vf0 = br.ReadInt32(); // off t7 (each 8 bytes) + vf4 = br.ReadInt32(); // cnt t7 + vf8 = br.ReadInt32(); // off t6 (each 12 bytes) + vfc = br.ReadInt32(); // cnt t6 + // ←Clone + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/T1.cs b/OpenKh.Kh2AnimEmu/Mset/T1.cs index 512090250..7c10f2fea 100644 --- a/OpenKh.Kh2AnimEmu/Mset/T1.cs +++ b/OpenKh.Kh2AnimEmu/Mset/T1.cs @@ -1,24 +1,24 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class T1 - { - public int c00, c02; - public float c04; - - public T1(int c00, int c02, float c04) - { - this.c00 = c00; - this.c02 = c02; - this.c04 = c04; - } - - public override string ToString() - { - return string.Format("{0:X4} {1:X4} {2}", c00, c02, c04); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class T1 + { + public int c00, c02; + public float c04; + + public T1(int c00, int c02, float c04) + { + this.c00 = c00; + this.c02 = c02; + this.c04 = c04; + } + + public override string ToString() + { + return string.Format("{0:X4} {1:X4} {2}", c00, c02, c04); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/T2.cs b/OpenKh.Kh2AnimEmu/Mset/T2.cs index a767c8648..9280ce20e 100644 --- a/OpenKh.Kh2AnimEmu/Mset/T2.cs +++ b/OpenKh.Kh2AnimEmu/Mset/T2.cs @@ -1,26 +1,26 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class T2 - { - public int c00, c01, c02, c03, c04; - public List al9f = new List(); - - public T2(int c00, int c01, int c02, int c03, int c04) - { - this.c00 = c00; - this.c01 = c01; - this.c02 = c02; - this.c03 = c03; - this.c04 = c04; - } - - public override string ToString() - { - return string.Format("{0:X2} {1:X2} {2:X2} {3:X2} {4:X4}", c00, c01, c02, c03, c04); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class T2 + { + public int c00, c01, c02, c03, c04; + public List al9f = new List(); + + public T2(int c00, int c01, int c02, int c03, int c04) + { + this.c00 = c00; + this.c01 = c01; + this.c02 = c02; + this.c03 = c03; + this.c04 = c04; + } + + public override string ToString() + { + return string.Format("{0:X2} {1:X2} {2:X2} {3:X2} {4:X4}", c00, c01, c02, c03, c04); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/T3.cs b/OpenKh.Kh2AnimEmu/Mset/T3.cs index a95caaff7..919798344 100644 --- a/OpenKh.Kh2AnimEmu/Mset/T3.cs +++ b/OpenKh.Kh2AnimEmu/Mset/T3.cs @@ -1,27 +1,27 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class T3 - { - public int c00, c01, c02, c04, c06; - public uint c08; - - public T3(int c00, int c01, int c02, int c04, int c06, uint c08) - { - this.c00 = c00; - this.c01 = c01; - this.c02 = c02; - this.c04 = c04; - this.c06 = c06; - this.c08 = c08; - } - - public override string ToString() - { - return string.Format("{0:X2} {1:X2} {2:X4} {3:X4} {4:X4} {5:X8}", c00, c01, c02, c04, c06, c08); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class T3 + { + public int c00, c01, c02, c04, c06; + public uint c08; + + public T3(int c00, int c01, int c02, int c04, int c06, uint c08) + { + this.c00 = c00; + this.c01 = c01; + this.c02 = c02; + this.c04 = c04; + this.c06 = c06; + this.c08 = c08; + } + + public override string ToString() + { + return string.Format("{0:X2} {1:X2} {2:X4} {3:X4} {4:X4} {5:X8}", c00, c01, c02, c04, c06, c08); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/T4.cs b/OpenKh.Kh2AnimEmu/Mset/T4.cs index a422014ac..d62e619be 100644 --- a/OpenKh.Kh2AnimEmu/Mset/T4.cs +++ b/OpenKh.Kh2AnimEmu/Mset/T4.cs @@ -1,23 +1,23 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class T4 - { - public int c00; - public int c02; - - public T4(int c00, int c02) - { - this.c00 = c00; - this.c02 = c02; - } - - public override string ToString() - { - return string.Format("{0:X4} {1:X4}", c00, c02); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class T4 + { + public int c00; + public int c02; + + public T4(int c00, int c02) + { + this.c00 = c00; + this.c02 = c02; + } + + public override string ToString() + { + return string.Format("{0:X4} {1:X4}", c00, c02); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/T9.cs b/OpenKh.Kh2AnimEmu/Mset/T9.cs index eec936bd6..1cfb606ca 100644 --- a/OpenKh.Kh2AnimEmu/Mset/T9.cs +++ b/OpenKh.Kh2AnimEmu/Mset/T9.cs @@ -1,24 +1,24 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class T9 - { - public int c00, c02, c04, c06; - - public T9(int c00, int c02, int c04, int c06) - { - this.c00 = c00; - this.c02 = c02; - this.c04 = c04; - this.c06 = c06; - } - - public override string ToString() - { - return string.Format("{0:X4} {1:X4} {2:X4} {3:X4}", c00, c02, c04, c06); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class T9 + { + public int c00, c02, c04, c06; + + public T9(int c00, int c02, int c04, int c06) + { + this.c00 = c00; + this.c02 = c02; + this.c04 = c04; + this.c06 = c06; + } + + public override string ToString() + { + return string.Format("{0:X4} {1:X4} {2:X4} {3:X4}", c00, c02, c04, c06); + } + } +} diff --git a/OpenKh.Kh2AnimEmu/Mset/T9f.cs b/OpenKh.Kh2AnimEmu/Mset/T9f.cs index 22f013dc5..0c0b9fa07 100644 --- a/OpenKh.Kh2AnimEmu/Mset/T9f.cs +++ b/OpenKh.Kh2AnimEmu/Mset/T9f.cs @@ -1,21 +1,21 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenKh.Kh2Anim.Mset -{ - public class T9f - { - public int c00; - public float v0, v1, v2, v3; - - public T9f(int c00, float v0, float v1, float v2, float v3) - { - this.c00 = c00; - this.v0 = v0; - this.v1 = v1; - this.v2 = v2; - this.v3 = v3; - } - } -} +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenKh.Kh2Anim.Mset +{ + public class T9f + { + public int c00; + public float v0, v1, v2, v3; + + public T9f(int c00, float v0, float v1, float v2, float v3) + { + this.c00 = c00; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + } + } +} diff --git a/OpenKh.Tools.BarEditor/App.xaml.cs b/OpenKh.Tools.BarEditor/App.xaml.cs index aec0ac831..cbcad895f 100644 --- a/OpenKh.Tools.BarEditor/App.xaml.cs +++ b/OpenKh.Tools.BarEditor/App.xaml.cs @@ -1,12 +1,12 @@ -using System.Windows; +using System.Windows; namespace OpenKh.Tools.BarEditor { - /// - /// Interaction logic for App.xaml - /// - public partial class App : Application - { + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { - } + } } diff --git a/OpenKh.Tools.BarEditor/Models/BarEntryModel.cs b/OpenKh.Tools.BarEditor/Models/BarEntryModel.cs index a201245bf..06f4dec16 100644 --- a/OpenKh.Tools.BarEditor/Models/BarEntryModel.cs +++ b/OpenKh.Tools.BarEditor/Models/BarEntryModel.cs @@ -15,23 +15,23 @@ public class BarEntryModel : BaseNotifyPropertyChanged }; private readonly IViewSettings _viewSettings; - public BarEntryModel(Entry entry, IViewSettings viewSettings) - { + public BarEntryModel(Entry entry, IViewSettings viewSettings) + { Entry = entry; _viewSettings = viewSettings; - } + } - public Entry Entry { get; } + public Entry Entry { get; } public EntryType Type - { - get => Entry.Type; - set - { - Entry.Type = value; - OnPropertyChanged(nameof(DisplayName)); - } - } + { + get => Entry.Type; + set + { + Entry.Type = value; + OnPropertyChanged(nameof(DisplayName)); + } + } public string DisplayName { @@ -65,52 +65,52 @@ public string DisplayName } public short Index - { - get => (short)Entry.Index; - set - { - Entry.Index = value; - OnPropertyChanged(nameof(DisplayName)); - } - } + { + get => (short)Entry.Index; + set + { + Entry.Index = value; + OnPropertyChanged(nameof(DisplayName)); + } + } - [Required] - [StringLength(4, MinimumLength = 4, ErrorMessage = "Must be 4 characters long.")] - public string Tag - { - get => Entry.Name; - set - { - Entry.Name = value; - OnPropertyChanged(nameof(DisplayName)); - } - } + [Required] + [StringLength(4, MinimumLength = 4, ErrorMessage = "Must be 4 characters long.")] + public string Tag + { + get => Entry.Name; + set + { + Entry.Name = value; + OnPropertyChanged(nameof(DisplayName)); + } + } - public string Size - { - get - { - string unit = "byte"; - int divisor; + public string Size + { + get + { + string unit = "byte"; + int divisor; - if (Entry.Stream.Length >= 1024 * 1024) - { - unit = "MB"; - divisor = 1024 * 1024; - } - else if (Entry.Stream.Length >= 1024) - { - unit = "KB"; - divisor = 1024; - } - else - { - return $"{Entry.Stream.Length} {unit}"; - } + if (Entry.Stream.Length >= 1024 * 1024) + { + unit = "MB"; + divisor = 1024 * 1024; + } + else if (Entry.Stream.Length >= 1024) + { + unit = "KB"; + divisor = 1024; + } + else + { + return $"{Entry.Stream.Length} {unit}"; + } - return $"{(float)Entry.Stream.Length / divisor:0.00} {unit}"; - } - } + return $"{(float)Entry.Stream.Length / divisor:0.00} {unit}"; + } + } internal void InvalidateTag() => OnPropertyChanged(nameof(DisplayName)); } diff --git a/OpenKh.Tools.BarEditor/Properties/AssemblyInfo.cs b/OpenKh.Tools.BarEditor/Properties/AssemblyInfo.cs index 992bb34d2..df263cb44 100644 --- a/OpenKh.Tools.BarEditor/Properties/AssemblyInfo.cs +++ b/OpenKh.Tools.BarEditor/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -20,10 +20,10 @@ [assembly: ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) )] diff --git a/OpenKh.Tools.BarEditor/Services/ToolsLoaderService.cs b/OpenKh.Tools.BarEditor/Services/ToolsLoaderService.cs index d477f6610..7ef534edd 100644 --- a/OpenKh.Tools.BarEditor/Services/ToolsLoaderService.cs +++ b/OpenKh.Tools.BarEditor/Services/ToolsLoaderService.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.Common; using System; using System.IO; @@ -8,32 +8,32 @@ namespace OpenKh.Tools.BarEditor.Services { - public static class ToolsLoaderService - { - public static ToolInvokeDesc.ContentChangeInfo? OpenTool(string fileName, string temporaryFileName, Bar.Entry entry) - { - string name; - - switch (entry.Type) - { - // Disabling it, since it is veeeeeery buggy at the moment. - //case Bar.EntryType.Bar: - // name = "OpenKh.Tools.BarEditor"; - // break; - case Bar.EntryType.Imgd: - case Bar.EntryType.Imgz: - name = "OpenKh.Tools.ImageViewer"; - break; + public static class ToolsLoaderService + { + public static ToolInvokeDesc.ContentChangeInfo? OpenTool(string fileName, string temporaryFileName, Bar.Entry entry) + { + string name; + + switch (entry.Type) + { + // Disabling it, since it is veeeeeery buggy at the moment. + //case Bar.EntryType.Bar: + // name = "OpenKh.Tools.BarEditor"; + // break; + case Bar.EntryType.Imgd: + case Bar.EntryType.Imgz: + name = "OpenKh.Tools.ImageViewer"; + break; case Bar.EntryType.Layout: name = "OpenKh.Tools.LayoutViewer"; break; - default: - throw new NotImplementedException($"Unable to find a tool for \"{entry.Type}\" files."); - } + default: + throw new NotImplementedException($"Unable to find a tool for \"{entry.Type}\" files."); + } - var toolModule = Plugins - .GetModules>(null, x => x.Contains(name) && Path.GetExtension(x) == ".dll") - .FirstOrDefault(); + var toolModule = Plugins + .GetModules>(null, x => x.Contains(name) && Path.GetExtension(x) == ".dll") + .FirstOrDefault(); if (toolModule.Item1 == null || toolModule.Item2 == null) { @@ -41,21 +41,21 @@ public static class ToolsLoaderService return null; } - var tool = Activator.CreateInstance(toolModule.Item2) as IToolModule; + var tool = Activator.CreateInstance(toolModule.Item2) as IToolModule; - entry.Stream.Position = 0; - var toolInvokeDesc = new ToolInvokeDesc - { - Title = $"{entry.Name}@{Path.GetFileName(fileName)}", - ActualFileName = temporaryFileName, - SelectedEntry = entry, - ContentChange = ToolInvokeDesc.ContentChangeInfo.None + entry.Stream.Position = 0; + var toolInvokeDesc = new ToolInvokeDesc + { + Title = $"{entry.Name}@{Path.GetFileName(fileName)}", + ActualFileName = temporaryFileName, + SelectedEntry = entry, + ContentChange = ToolInvokeDesc.ContentChangeInfo.None }; tool?.ShowDialog(toolInvokeDesc); - return toolInvokeDesc.ContentChange; - } + return toolInvokeDesc.ContentChange; + } - } + } } diff --git a/OpenKh.Tools.BarEditor/ToolModule.cs b/OpenKh.Tools.BarEditor/ToolModule.cs index 3cfe3665f..3733a7884 100644 --- a/OpenKh.Tools.BarEditor/ToolModule.cs +++ b/OpenKh.Tools.BarEditor/ToolModule.cs @@ -1,10 +1,10 @@ -using OpenKh.Tools.BarEditor.Views; +using OpenKh.Tools.BarEditor.Views; using OpenKh.Tools.Common; using Xe.Tools; namespace OpenKh.Tools.BarEditor { - public class ToolModule : IToolModule + public class ToolModule : IToolModule { public bool? ShowDialog(ToolInvokeDesc args) => new BarView(args).ShowDialog(); } diff --git a/OpenKh.Tools.BarEditor/Views/BarView.xaml.cs b/OpenKh.Tools.BarEditor/Views/BarView.xaml.cs index d5f27b466..b870ea01a 100644 --- a/OpenKh.Tools.BarEditor/Views/BarView.xaml.cs +++ b/OpenKh.Tools.BarEditor/Views/BarView.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.BarEditor.ViewModels; using OpenKh.Tools.Common; using System.Linq; @@ -8,14 +8,14 @@ namespace OpenKh.Tools.BarEditor.Views { - /// - /// Interaction logic for BarView.xaml - /// - public partial class BarView : Window - { - public BarView() - { - InitializeComponent(); + /// + /// Interaction logic for BarView.xaml + /// + public partial class BarView : Window + { + public BarView() + { + InitializeComponent(); DataContext = new BarViewModel(); } @@ -26,11 +26,11 @@ public BarView(ToolInvokeDesc desc) : DataContext = new BarViewModel(desc); } - private void ListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) - { - var vm = DataContext as BarViewModel; - vm.OpenItemCommand.Execute(vm.SelectedItem); - } + private void ListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) + { + var vm = DataContext as BarViewModel; + vm.OpenItemCommand.Execute(vm.SelectedItem); + } private void Window_Drop(object sender, DragEventArgs e) { diff --git a/OpenKh.Tools.BbsEventTableEditor/App.xaml.cs b/OpenKh.Tools.BbsEventTableEditor/App.xaml.cs index b67e7d280..bde7278ef 100644 --- a/OpenKh.Tools.BbsEventTableEditor/App.xaml.cs +++ b/OpenKh.Tools.BbsEventTableEditor/App.xaml.cs @@ -1,4 +1,4 @@ -using System.Windows; +using System.Windows; namespace OpenKh.Tools.BbsEventTableEditor { diff --git a/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventViewModel.cs b/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventViewModel.cs index 45dc6dac2..b9fc4e8f8 100644 --- a/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventViewModel.cs +++ b/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using System; using System.Collections.Generic; using System.Linq; diff --git a/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventsViewModel.cs b/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventsViewModel.cs index 86a9282bc..ae6a12488 100644 --- a/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventsViewModel.cs +++ b/OpenKh.Tools.BbsEventTableEditor/ViewModels/EventsViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using System.Collections.Generic; using System.Linq; using System.Windows; diff --git a/OpenKh.Tools.BbsEventTableEditor/ViewModels/MainViewModel.cs b/OpenKh.Tools.BbsEventTableEditor/ViewModels/MainViewModel.cs index 60001669e..d9a70c78b 100644 --- a/OpenKh.Tools.BbsEventTableEditor/ViewModels/MainViewModel.cs +++ b/OpenKh.Tools.BbsEventTableEditor/ViewModels/MainViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using OpenKh.Common; using OpenKh.Tools.Common; using System.Collections.Generic; diff --git a/OpenKh.Tools.BbsEventTableEditor/Views/EventsView.xaml.cs b/OpenKh.Tools.BbsEventTableEditor/Views/EventsView.xaml.cs index e8325ecff..483ba8886 100644 --- a/OpenKh.Tools.BbsEventTableEditor/Views/EventsView.xaml.cs +++ b/OpenKh.Tools.BbsEventTableEditor/Views/EventsView.xaml.cs @@ -1,4 +1,4 @@ -using System.Windows.Controls; +using System.Windows.Controls; namespace OpenKh.Tools.BbsEventTableEditor.Views { diff --git a/OpenKh.Tools.BbsEventTableEditor/Views/MainWindow.xaml.cs b/OpenKh.Tools.BbsEventTableEditor/Views/MainWindow.xaml.cs index 800663997..84bc85597 100644 --- a/OpenKh.Tools.BbsEventTableEditor/Views/MainWindow.xaml.cs +++ b/OpenKh.Tools.BbsEventTableEditor/Views/MainWindow.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.BbsEventTableEditor.ViewModels; +using OpenKh.Tools.BbsEventTableEditor.ViewModels; using System.Windows; namespace OpenKh.Tools.BbsEventTableEditor.Views diff --git a/OpenKh.Tools.Common.CustomImGui/IImGuiRenderer.cs b/OpenKh.Tools.Common.CustomImGui/IImGuiRenderer.cs index 6c77eb76d..0a3226354 100644 --- a/OpenKh.Tools.Common.CustomImGui/IImGuiRenderer.cs +++ b/OpenKh.Tools.Common.CustomImGui/IImGuiRenderer.cs @@ -1,4 +1,4 @@ -namespace OpenKh.Tools.Common.CustomImGui +namespace OpenKh.Tools.Common.CustomImGui { public interface IImGuiRenderer { diff --git a/OpenKh.Tools.Common.CustomImGui/ImGuiEx.cs b/OpenKh.Tools.Common.CustomImGui/ImGuiEx.cs index 25f7b5546..40004d5f0 100644 --- a/OpenKh.Tools.Common.CustomImGui/ImGuiEx.cs +++ b/OpenKh.Tools.Common.CustomImGui/ImGuiEx.cs @@ -25,7 +25,7 @@ public GridElement(string name, float size, float maxSize, bool gridVisible, Act Action = action; } } - + public const float FontSizeMultiplier = 96f / 72f; public unsafe static void SetWpfStyle() @@ -151,7 +151,8 @@ public static bool MainWindow(Action action, bool noBackground = false) => public static bool ForControl(Func begin, Action end, Action action) { - if (!begin()) return false; + if (!begin()) + return false; action(); end(); @@ -160,7 +161,8 @@ public static bool ForControl(Func begin, Action end, Action action) public static bool ForControl(Func begin, Action action) { - if (!begin()) return false; + if (!begin()) + return false; action(); return true; diff --git a/OpenKh.Tools.Common.CustomImGui/MonoGameImGui.cs b/OpenKh.Tools.Common.CustomImGui/MonoGameImGui.cs index 8f9a8893e..19c0739e9 100644 --- a/OpenKh.Tools.Common.CustomImGui/MonoGameImGui.cs +++ b/OpenKh.Tools.Common.CustomImGui/MonoGameImGui.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; @@ -19,7 +19,8 @@ public static class DrawVertDeclaration static DrawVertDeclaration() { - unsafe { Size = sizeof(ImDrawVert); } + unsafe + { Size = sizeof(ImDrawVert); } Declaration = new VertexDeclaration( Size, @@ -117,14 +118,16 @@ public virtual unsafe void RebuildFontAtlas() // Copy the data to a managed array var pixels = new byte[width * height * bytesPerPixel]; - unsafe { Marshal.Copy(new IntPtr(pixelData), pixels, 0, pixels.Length); } + unsafe + { Marshal.Copy(new IntPtr(pixelData), pixels, 0, pixels.Length); } // Create and register the texture as an XNA texture var tex2d = new Texture2D(_graphicsDevice, width, height, false, SurfaceFormat.Color); tex2d.SetData(pixels); // Should a texture already have been build previously, unbind it first so it can be deallocated - if (_fontTextureId.HasValue) UnbindTexture(_fontTextureId.Value); + if (_fontTextureId.HasValue) + UnbindTexture(_fontTextureId.Value); // Bind the new texture to an ImGui-friendly id _fontTextureId = BindTexture(tex2d); @@ -179,7 +182,8 @@ public virtual void AfterLayout() { ImGui.Render(); - unsafe { RenderDrawData(ImGui.GetDrawData()); } + unsafe + { RenderDrawData(ImGui.GetDrawData()); } } #endregion ImGuiRenderer @@ -216,7 +220,8 @@ protected virtual void SetupInput() // MonoGame-specific ////////////////////// _game.Window.TextInput += (s, a) => { - if (a.Character == '\t') return; + if (a.Character == '\t') + return; io.AddInputCharacter(a.Character); }; diff --git a/OpenKh.Tools.Common.CustomImGui/MonoGameImGuiBootstrap.cs b/OpenKh.Tools.Common.CustomImGui/MonoGameImGuiBootstrap.cs index 939509539..c4f82ab62 100644 --- a/OpenKh.Tools.Common.CustomImGui/MonoGameImGuiBootstrap.cs +++ b/OpenKh.Tools.Common.CustomImGui/MonoGameImGuiBootstrap.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using System; diff --git a/OpenKh.Tools.CtdEditor/App.xaml.cs b/OpenKh.Tools.CtdEditor/App.xaml.cs index 3f6836835..ab2e4e280 100644 --- a/OpenKh.Tools.CtdEditor/App.xaml.cs +++ b/OpenKh.Tools.CtdEditor/App.xaml.cs @@ -1,4 +1,4 @@ -using System.Windows; +using System.Windows; namespace OpenKh.Tools.CtdEditor { diff --git a/OpenKh.Tools.CtdEditor/Interfaces/CtdDrawHandler.cs b/OpenKh.Tools.CtdEditor/Interfaces/CtdDrawHandler.cs index 47782d3d5..6ac09ac24 100644 --- a/OpenKh.Tools.CtdEditor/Interfaces/CtdDrawHandler.cs +++ b/OpenKh.Tools.CtdEditor/Interfaces/CtdDrawHandler.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using OpenKh.Bbs.Messages; using OpenKh.Engine.Extensions; using OpenKh.Engine.Renders; @@ -46,7 +46,8 @@ public void DrawHandler( x += fontContext.Info.CharacterWidth / 2; continue; } - if (chInfo.Palette >= 2) continue; + if (chInfo.Palette >= 2) + continue; var texture = chInfo.Palette == 0 ? texture1 : texture2; var source = new Rectangle diff --git a/OpenKh.Tools.CtdEditor/Interfaces/IDrawHandler.cs b/OpenKh.Tools.CtdEditor/Interfaces/IDrawHandler.cs index 6469796c1..b68d76cd7 100644 --- a/OpenKh.Tools.CtdEditor/Interfaces/IDrawHandler.cs +++ b/OpenKh.Tools.CtdEditor/Interfaces/IDrawHandler.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using OpenKh.Bbs.Messages; using OpenKh.Engine.Renders; diff --git a/OpenKh.Tools.CtdEditor/ViewModels/CharacterViewModel.cs b/OpenKh.Tools.CtdEditor/ViewModels/CharacterViewModel.cs index 7e2dcd8ac..92e64d5bf 100644 --- a/OpenKh.Tools.CtdEditor/ViewModels/CharacterViewModel.cs +++ b/OpenKh.Tools.CtdEditor/ViewModels/CharacterViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using System.Globalization; using System.Linq; using Xe.Tools; diff --git a/OpenKh.Tools.CtdEditor/ViewModels/CtdViewModel.cs b/OpenKh.Tools.CtdEditor/ViewModels/CtdViewModel.cs index 36e9e8a54..39d08858a 100644 --- a/OpenKh.Tools.CtdEditor/ViewModels/CtdViewModel.cs +++ b/OpenKh.Tools.CtdEditor/ViewModels/CtdViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using OpenKh.Tools.CtdEditor.Interfaces; using System; using System.Collections.Generic; diff --git a/OpenKh.Tools.CtdEditor/ViewModels/FontEditorViewModel.cs b/OpenKh.Tools.CtdEditor/ViewModels/FontEditorViewModel.cs index 08a434d2a..72a4888e2 100644 --- a/OpenKh.Tools.CtdEditor/ViewModels/FontEditorViewModel.cs +++ b/OpenKh.Tools.CtdEditor/ViewModels/FontEditorViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using OpenKh.Engine.Renders; using OpenKh.Tools.Common.Rendering; using System; diff --git a/OpenKh.Tools.CtdEditor/ViewModels/FontEntryViewModel.cs b/OpenKh.Tools.CtdEditor/ViewModels/FontEntryViewModel.cs index 623a75863..5bab4df73 100644 --- a/OpenKh.Tools.CtdEditor/ViewModels/FontEntryViewModel.cs +++ b/OpenKh.Tools.CtdEditor/ViewModels/FontEntryViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using OpenKh.Imaging; namespace OpenKh.Tools.CtdEditor.ViewModels diff --git a/OpenKh.Tools.CtdEditor/ViewModels/MessageViewModel.cs b/OpenKh.Tools.CtdEditor/ViewModels/MessageViewModel.cs index e05a9d803..93fad8688 100644 --- a/OpenKh.Tools.CtdEditor/ViewModels/MessageViewModel.cs +++ b/OpenKh.Tools.CtdEditor/ViewModels/MessageViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Bbs; +using OpenKh.Bbs; using OpenKh.Bbs.Messages; using OpenKh.Engine.Renders; using OpenKh.Tools.CtdEditor.Interfaces; diff --git a/OpenKh.Tools.CtdEditor/Views/CtdView.xaml.cs b/OpenKh.Tools.CtdEditor/Views/CtdView.xaml.cs index 5c3e577ed..3654d98b5 100644 --- a/OpenKh.Tools.CtdEditor/Views/CtdView.xaml.cs +++ b/OpenKh.Tools.CtdEditor/Views/CtdView.xaml.cs @@ -1,4 +1,4 @@ -using System.Windows.Controls; +using System.Windows.Controls; namespace OpenKh.Tools.CtdEditor.Views { diff --git a/OpenKh.Tools.CtdEditor/Views/FontWindow.xaml.cs b/OpenKh.Tools.CtdEditor/Views/FontWindow.xaml.cs index 9728d3603..addfe54c2 100644 --- a/OpenKh.Tools.CtdEditor/Views/FontWindow.xaml.cs +++ b/OpenKh.Tools.CtdEditor/Views/FontWindow.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; diff --git a/OpenKh.Tools.CtdEditor/Views/MainWindow.xaml.cs b/OpenKh.Tools.CtdEditor/Views/MainWindow.xaml.cs index 0a45abd36..6bb792371 100644 --- a/OpenKh.Tools.CtdEditor/Views/MainWindow.xaml.cs +++ b/OpenKh.Tools.CtdEditor/Views/MainWindow.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.CtdEditor.ViewModels; +using OpenKh.Tools.CtdEditor.ViewModels; using System.Windows; namespace OpenKh.Tools.CtdEditor.Views diff --git a/OpenKh.Tools.DpdViewer/App.xaml.cs b/OpenKh.Tools.DpdViewer/App.xaml.cs index a80163a1c..9db5f3c07 100644 --- a/OpenKh.Tools.DpdViewer/App.xaml.cs +++ b/OpenKh.Tools.DpdViewer/App.xaml.cs @@ -1,11 +1,11 @@ -using System.Windows; +using System.Windows; namespace OpenKh.Tools.DpdViewer { - /// - /// Interaction logic for App.xaml - /// - public partial class App : Application - { - } + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } } diff --git a/OpenKh.Tools.DpdViewer/Models/TexturesModel.cs b/OpenKh.Tools.DpdViewer/Models/TexturesModel.cs index aabb67a94..104013806 100644 --- a/OpenKh.Tools.DpdViewer/Models/TexturesModel.cs +++ b/OpenKh.Tools.DpdViewer/Models/TexturesModel.cs @@ -1,22 +1,22 @@ -using OpenKh.Imaging; +using OpenKh.Imaging; using System.Windows.Media; using System.Windows.Media.Imaging; using Xe.Tools; namespace OpenKh.Tools.DpdViewer.Models { - public class TextureModel : BaseNotifyPropertyChanged - { - public TextureModel(IImageRead image) - { - MasterImage = image; - } + public class TextureModel : BaseNotifyPropertyChanged + { + public TextureModel(IImageRead image) + { + MasterImage = image; + } - public IImageRead MasterImage { get; } + public IImageRead MasterImage { get; } - public string DisplayName => $"{MasterImage.Size.Width}x{MasterImage.Size.Height}"; + public string DisplayName => $"{MasterImage.Size.Width}x{MasterImage.Size.Height}"; - public BitmapSource Image => BitmapSource.Create(MasterImage.Size.Width, MasterImage.Size.Height, - 96.0, 96.0, PixelFormats.Bgra32, null, MasterImage.ToBgra32(), MasterImage.Size.Width * 4); - } + public BitmapSource Image => BitmapSource.Create(MasterImage.Size.Width, MasterImage.Size.Height, + 96.0, 96.0, PixelFormats.Bgra32, null, MasterImage.ToBgra32(), MasterImage.Size.Width * 4); + } } diff --git a/OpenKh.Tools.DpdViewer/Properties/AssemblyInfo.cs b/OpenKh.Tools.DpdViewer/Properties/AssemblyInfo.cs index 992bb34d2..df263cb44 100644 --- a/OpenKh.Tools.DpdViewer/Properties/AssemblyInfo.cs +++ b/OpenKh.Tools.DpdViewer/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -20,10 +20,10 @@ [assembly: ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) )] diff --git a/OpenKh.Tools.DpdViewer/ViewModels/DpdViewModel.cs b/OpenKh.Tools.DpdViewer/ViewModels/DpdViewModel.cs index 433eda907..a0ac314d7 100644 --- a/OpenKh.Tools.DpdViewer/ViewModels/DpdViewModel.cs +++ b/OpenKh.Tools.DpdViewer/ViewModels/DpdViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using System; using System.Collections.Generic; using System.IO; @@ -11,91 +11,91 @@ namespace OpenKh.Tools.DpdViewer.ViewModels { - public class DpdViewModel : BaseNotifyPropertyChanged - { - private Dpd dpd; - - private static readonly List Filters = FileDialogFilterComposer.Compose().AddExtensions("DPD effect", "dpd"); - - public DpdViewModel() - { - OpenCommand = new RelayCommand(x => - { - FileDialog.OnOpen(fileName => - { - using (var stream = File.OpenRead(fileName)) - { - FileName = fileName; - Dpd = new Dpd(stream); - - OnPropertyChanged(nameof(SaveCommand)); - OnPropertyChanged(nameof(SaveAsCommand)); - } - }, Filters); - }, x => true); - - SaveCommand = new RelayCommand(x => - { - if (!string.IsNullOrEmpty(FileName)) - { - using (var stream = File.Open(FileName, FileMode.Create)) - { - throw new NotImplementedException(); - } - } - else - { - SaveAsCommand.Execute(x); - } - }, x => true); - - SaveAsCommand = new RelayCommand(x => - { - FileDialog.OnSave(fileName => - { - using (var stream = File.Open(fileName, FileMode.Create)) - { - throw new NotImplementedException(); - } - }, Filters); - }, x => true); - - ExitCommand = new RelayCommand(x => - { - Window.Close(); - }, x => true); - - AboutCommand = new RelayCommand(x => - { - new AboutDialog(Assembly.GetExecutingAssembly()).ShowDialog(); - }, x => true); - } - - private Window Window => Application.Current.Windows.OfType().FirstOrDefault(x => x.IsActive); - - public string FileName { get; set; } - - public RelayCommand OpenCommand { get; set; } - - public RelayCommand SaveCommand { get; set; } - - public RelayCommand SaveAsCommand { get; set; } - - public RelayCommand ExitCommand { get; set; } - - public RelayCommand AboutCommand { get; set; } - - public Dpd Dpd - { - get => dpd; - set - { - dpd = value; - Textures = new TexturesViewModel(dpd.Textures); - OnPropertyChanged(nameof(Textures)); - } - } - - public TexturesViewModel Textures { get; private set; } - } + public class DpdViewModel : BaseNotifyPropertyChanged + { + private Dpd dpd; + + private static readonly List Filters = FileDialogFilterComposer.Compose().AddExtensions("DPD effect", "dpd"); + + public DpdViewModel() + { + OpenCommand = new RelayCommand(x => + { + FileDialog.OnOpen(fileName => + { + using (var stream = File.OpenRead(fileName)) + { + FileName = fileName; + Dpd = new Dpd(stream); + + OnPropertyChanged(nameof(SaveCommand)); + OnPropertyChanged(nameof(SaveAsCommand)); + } + }, Filters); + }, x => true); + + SaveCommand = new RelayCommand(x => + { + if (!string.IsNullOrEmpty(FileName)) + { + using (var stream = File.Open(FileName, FileMode.Create)) + { + throw new NotImplementedException(); + } + } + else + { + SaveAsCommand.Execute(x); + } + }, x => true); + + SaveAsCommand = new RelayCommand(x => + { + FileDialog.OnSave(fileName => + { + using (var stream = File.Open(fileName, FileMode.Create)) + { + throw new NotImplementedException(); + } + }, Filters); + }, x => true); + + ExitCommand = new RelayCommand(x => + { + Window.Close(); + }, x => true); + + AboutCommand = new RelayCommand(x => + { + new AboutDialog(Assembly.GetExecutingAssembly()).ShowDialog(); + }, x => true); + } + + private Window Window => Application.Current.Windows.OfType().FirstOrDefault(x => x.IsActive); + + public string FileName { get; set; } + + public RelayCommand OpenCommand { get; set; } + + public RelayCommand SaveCommand { get; set; } + + public RelayCommand SaveAsCommand { get; set; } + + public RelayCommand ExitCommand { get; set; } + + public RelayCommand AboutCommand { get; set; } + + public Dpd Dpd + { + get => dpd; + set + { + dpd = value; + Textures = new TexturesViewModel(dpd.Textures); + OnPropertyChanged(nameof(Textures)); + } + } + + public TexturesViewModel Textures { get; private set; } + } } diff --git a/OpenKh.Tools.DpdViewer/ViewModels/TexturesViewModel.cs b/OpenKh.Tools.DpdViewer/ViewModels/TexturesViewModel.cs index 76064ced0..420301977 100644 --- a/OpenKh.Tools.DpdViewer/ViewModels/TexturesViewModel.cs +++ b/OpenKh.Tools.DpdViewer/ViewModels/TexturesViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.DpdViewer.Models; using System.Collections.Generic; using System.Linq; @@ -6,22 +6,22 @@ namespace OpenKh.Tools.DpdViewer.ViewModels { - public class TexturesViewModel : GenericListModel - { - public TexturesViewModel() : - this(null) - { } + public class TexturesViewModel : GenericListModel + { + public TexturesViewModel() : + this(null) + { } - public TexturesViewModel(IEnumerable textures) : - //base(textures.Select(x => new TextureModel(x))) + public TexturesViewModel(IEnumerable textures) : + //base(textures.Select(x => new TextureModel(x))) base(null) - { + { - } + } - protected override TextureModel OnNewItem() - { - throw new System.NotImplementedException(); - } - } + protected override TextureModel OnNewItem() + { + throw new System.NotImplementedException(); + } + } } diff --git a/OpenKh.Tools.DpdViewer/Views/DpdView.xaml.cs b/OpenKh.Tools.DpdViewer/Views/DpdView.xaml.cs index 6f67e6751..13c540c7d 100644 --- a/OpenKh.Tools.DpdViewer/Views/DpdView.xaml.cs +++ b/OpenKh.Tools.DpdViewer/Views/DpdView.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.DpdViewer.ViewModels; +using OpenKh.Tools.DpdViewer.ViewModels; using System; using System.Collections.Generic; using System.Linq; @@ -15,15 +15,15 @@ namespace OpenKh.Tools.DpdViewer.Views { - /// - /// Interaction logic for DpdView.xaml - /// - public partial class DpdView : Window - { - public DpdView() - { - InitializeComponent(); - DataContext = new DpdViewModel(); - } - } + /// + /// Interaction logic for DpdView.xaml + /// + public partial class DpdView : Window + { + public DpdView() + { + InitializeComponent(); + DataContext = new DpdViewModel(); + } + } } diff --git a/OpenKh.Tools.DpdViewer/Views/TexturesView.xaml.cs b/OpenKh.Tools.DpdViewer/Views/TexturesView.xaml.cs index 1e147e698..4adee17e7 100644 --- a/OpenKh.Tools.DpdViewer/Views/TexturesView.xaml.cs +++ b/OpenKh.Tools.DpdViewer/Views/TexturesView.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -15,14 +15,14 @@ namespace OpenKh.Tools.DpdViewer.Views { - /// - /// Interaction logic for TexturesView.xaml - /// - public partial class TexturesView : UserControl - { - public TexturesView() - { - InitializeComponent(); - } - } + /// + /// Interaction logic for TexturesView.xaml + /// + public partial class TexturesView : UserControl + { + public TexturesView() + { + InitializeComponent(); + } + } } diff --git a/OpenKh.Tools.IdxImg/App.xaml.cs b/OpenKh.Tools.IdxImg/App.xaml.cs index 5dc0a4543..fa2e6a1fe 100644 --- a/OpenKh.Tools.IdxImg/App.xaml.cs +++ b/OpenKh.Tools.IdxImg/App.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; diff --git a/OpenKh.Tools.IdxImg/Extensions.cs b/OpenKh.Tools.IdxImg/Extensions.cs index 4d971ec7b..97fc5192b 100644 --- a/OpenKh.Tools.IdxImg/Extensions.cs +++ b/OpenKh.Tools.IdxImg/Extensions.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; namespace OpenKh.Tools.IdxImg { diff --git a/OpenKh.Tools.IdxImg/Interfaces/IIdxManager.cs b/OpenKh.Tools.IdxImg/Interfaces/IIdxManager.cs index c7a0a66a3..9093116d4 100644 --- a/OpenKh.Tools.IdxImg/Interfaces/IIdxManager.cs +++ b/OpenKh.Tools.IdxImg/Interfaces/IIdxManager.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using System.IO; namespace OpenKh.Tools.IdxImg.Interfaces diff --git a/OpenKh.Tools.IdxImg/Interfaces/ITreeSelectedItem.cs b/OpenKh.Tools.IdxImg/Interfaces/ITreeSelectedItem.cs index 51c543b0b..c8f86ab09 100644 --- a/OpenKh.Tools.IdxImg/Interfaces/ITreeSelectedItem.cs +++ b/OpenKh.Tools.IdxImg/Interfaces/ITreeSelectedItem.cs @@ -1,4 +1,4 @@ -namespace OpenKh.Tools.IdxImg.Interfaces +namespace OpenKh.Tools.IdxImg.Interfaces { public interface ITreeSelectedItem { diff --git a/OpenKh.Tools.IdxImg/MainWindow.xaml.cs b/OpenKh.Tools.IdxImg/MainWindow.xaml.cs index c89c23364..f8ac46c3f 100644 --- a/OpenKh.Tools.IdxImg/MainWindow.xaml.cs +++ b/OpenKh.Tools.IdxImg/MainWindow.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.IdxImg.ViewModels; +using OpenKh.Tools.IdxImg.ViewModels; using System.Windows; namespace OpenKh.Tools.IdxImg diff --git a/OpenKh.Tools.IdxImg/ViewModels/EntryParserModel.cs b/OpenKh.Tools.IdxImg/ViewModels/EntryParserModel.cs index a3ebb654b..f6e6404a0 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/EntryParserModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/EntryParserModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.IdxImg.Interfaces; using System.Collections.Generic; using System.Linq; @@ -34,7 +34,7 @@ public static IEnumerable GetEntries( entries .Where(x => x.IsLeaf(depth) && !x.IsIdx) .Select(x => new FileViewModel(x, idxManager)); - + var tree = dirs.Cast().Concat(files); if (depth == 0) tree = entries diff --git a/OpenKh.Tools.IdxImg/ViewModels/EntryViewModel.cs b/OpenKh.Tools.IdxImg/ViewModels/EntryViewModel.cs index 5bb0b8883..d9177ebd1 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/EntryViewModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/EntryViewModel.cs @@ -1,4 +1,4 @@ -namespace OpenKh.Tools.IdxImg.ViewModels +namespace OpenKh.Tools.IdxImg.ViewModels { public abstract class EntryViewModel { diff --git a/OpenKh.Tools.IdxImg/ViewModels/FileViewModel.cs b/OpenKh.Tools.IdxImg/ViewModels/FileViewModel.cs index c144ba8c4..98a68c9a5 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/FileViewModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/FileViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Common; +using OpenKh.Common; using OpenKh.Kh2; using OpenKh.Tools.IdxImg.Interfaces; using System.IO; diff --git a/OpenKh.Tools.IdxImg/ViewModels/FolderViewModel.cs b/OpenKh.Tools.IdxImg/ViewModels/FolderViewModel.cs index f41c4d363..41fad20cd 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/FolderViewModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/FolderViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.IdxImg.Interfaces; +using OpenKh.Tools.IdxImg.Interfaces; using System.Collections.Generic; using System.IO; using System.Linq; diff --git a/OpenKh.Tools.IdxImg/ViewModels/IdxImgViewModel.cs b/OpenKh.Tools.IdxImg/ViewModels/IdxImgViewModel.cs index 43c4adc31..cc35dc4b0 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/IdxImgViewModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/IdxImgViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.IdxImg.Interfaces; using OpenKh.Tools.IdxImg.Views; using System; diff --git a/OpenKh.Tools.IdxImg/ViewModels/IdxViewModel.cs b/OpenKh.Tools.IdxImg/ViewModels/IdxViewModel.cs index 66c2fd804..8ff7bd637 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/IdxViewModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/IdxViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.IdxImg.Interfaces; using System.Collections.Generic; using System.IO; diff --git a/OpenKh.Tools.IdxImg/ViewModels/NodeViewModel.cs b/OpenKh.Tools.IdxImg/ViewModels/NodeViewModel.cs index e05d8bec2..8ef14b5a2 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/NodeViewModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/NodeViewModel.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Collections.ObjectModel; namespace OpenKh.Tools.IdxImg.ViewModels diff --git a/OpenKh.Tools.IdxImg/ViewModels/RootViewModel.cs b/OpenKh.Tools.IdxImg/ViewModels/RootViewModel.cs index 3a5f9fc18..428867e53 100644 --- a/OpenKh.Tools.IdxImg/ViewModels/RootViewModel.cs +++ b/OpenKh.Tools.IdxImg/ViewModels/RootViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.IdxImg.Interfaces; using System.Collections.Generic; using System.IO; diff --git a/OpenKh.Tools.IdxImg/Views/FilePropertyView.xaml.cs b/OpenKh.Tools.IdxImg/Views/FilePropertyView.xaml.cs index 825101d9b..6ebcd4cae 100644 --- a/OpenKh.Tools.IdxImg/Views/FilePropertyView.xaml.cs +++ b/OpenKh.Tools.IdxImg/Views/FilePropertyView.xaml.cs @@ -1,4 +1,4 @@ -using System.Windows.Controls; +using System.Windows.Controls; namespace OpenKh.Tools.IdxImg.Views { diff --git a/OpenKh.Tools.IdxImg/Views/IdxTreeView.xaml.cs b/OpenKh.Tools.IdxImg/Views/IdxTreeView.xaml.cs index fa594eaec..3fd7d01c4 100644 --- a/OpenKh.Tools.IdxImg/Views/IdxTreeView.xaml.cs +++ b/OpenKh.Tools.IdxImg/Views/IdxTreeView.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.IdxImg.Interfaces; +using OpenKh.Tools.IdxImg.Interfaces; using System.Windows; using System.Windows.Controls; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/App.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/App.xaml.cs index c5c82c386..df605f6ad 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/App.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/App.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Services/Camera.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Services/Camera.cs index 1a76a6624..e81ce2540 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Services/Camera.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Services/Camera.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework; namespace OpenKh.Tools.Kh2MapCollisionEditor.Services { diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Services/CameraExtensions.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Services/CameraExtensions.cs index 4c2dc6b22..b32159610 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Services/CameraExtensions.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Services/CameraExtensions.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework; namespace OpenKh.Tools.Kh2MapCollisionEditor.Services { diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Services/CollisionMapDrawHandler.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Services/CollisionMapDrawHandler.cs index a9416e941..2a898bc51 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Services/CollisionMapDrawHandler.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Services/CollisionMapDrawHandler.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using OpenKh.Kh2; using System.Collections.Generic; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Services/MonoDrawing.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Services/MonoDrawing.cs index 37b5c50c1..ed0a0d409 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Services/MonoDrawing.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Services/MonoDrawing.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Graphics; using System; using System.Drawing; using System.Runtime.InteropServices; @@ -101,7 +101,7 @@ public void Clear(Color color) public ISurface CreateSurface(int width, int height, PixelFormat pixelFormat, SurfaceType type = SurfaceType.Input, DataResource dataResource = null) { Texture2D texture; - + switch (type) { case SurfaceType.Input: diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Services/ProcessService.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Services/ProcessService.cs index 97f80a643..f2440cf61 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Services/ProcessService.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Services/ProcessService.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.Common; +using OpenKh.Tools.Common; using System; using System.Collections.Generic; using System.Diagnostics; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/CollisionEditorViewModel.cs b/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/CollisionEditorViewModel.cs index 35c1b9bd7..25d412ac8 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/CollisionEditorViewModel.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/CollisionEditorViewModel.cs @@ -40,15 +40,19 @@ public CoctLogical Coct public List C1 => _coct?.CollisionMeshGroupList; public IEnumerable C2 => !AllC2 ? C1Item?.Meshes : C1.SelectMany(c1 => c1.Meshes); public IEnumerable C3 => !AllC3 ? C2Item?.Items : C1.SelectMany(c1 => c1.Meshes.SelectMany(c2 => c2.Items)); - public IEnumerable C4 { get + public IEnumerable C4 + { + get { - if (C3Item == null) yield break; + if (C3Item == null) + yield break; yield return _coct?.VertexList[C3Item.Vertex1]; yield return _coct?.VertexList[C3Item.Vertex2]; yield return _coct?.VertexList[C3Item.Vertex3]; if (C3Item.Vertex4 >= 0) yield return _coct?.VertexList[C3Item.Vertex4]; - } } + } + } public CoctLogical.CoctCollisionMeshGroup C1Item { get => c1Item; set { c1Item = value; OnPropertyChanged(); OnPropertyChanged(nameof(C2)); } } public CoctLogical.CoctCollisionMesh C2Item { get => c2Item; set { c2Item = value; OnPropertyChanged(); OnPropertyChanged(nameof(C3)); } } diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/MainViewModel.cs b/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/MainViewModel.cs index 1a1bcf7e9..f010e9e95 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/MainViewModel.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/MainViewModel.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Graphics; using OpenKh.Common; using OpenKh.Kh2; using OpenKh.Tools.Common; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/OpenProcessViewModel.cs b/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/OpenProcessViewModel.cs index 57e6f6ae0..f8a3be2b8 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/OpenProcessViewModel.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/ViewModels/OpenProcessViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Tools.Common; using OpenKh.Tools.Kh2MapCollisionEditor.Services; using System.Collections.Generic; @@ -61,7 +61,7 @@ public Process SelectedProcess _processStream?.Dispose(); _processStream = ProcessService.OpenPcsx2ProcessStream(value); - + OnPropertyChanged(nameof(SelectedProcess)); OnPropertyChanged(nameof(IsProcessSelected)); } diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision1View.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision1View.xaml.cs index 17a4c9b86..fa971da93 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision1View.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision1View.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision2View.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision2View.xaml.cs index 74d8549d6..0c2525921 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision2View.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision2View.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision3View.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision3View.xaml.cs index 2d8e78e86..38a54b5f6 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision3View.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Views/Collision3View.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Views/CollisionEditorView.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Views/CollisionEditorView.xaml.cs index d3ad0e21d..cea128dba 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Views/CollisionEditorView.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Views/CollisionEditorView.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Views/MainWindow.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Views/MainWindow.xaml.cs index f948cc956..03ae51709 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Views/MainWindow.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Views/MainWindow.xaml.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Graphics; using OpenKh.Tools.Kh2MapCollisionEditor.Services; using OpenKh.Tools.Kh2MapCollisionEditor.ViewModels; using System; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Views/OpenProcessDialog.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Views/OpenProcessDialog.xaml.cs index fab050ae7..159eed2c4 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Views/OpenProcessDialog.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Views/OpenProcessDialog.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.Common; +using OpenKh.Tools.Common; using OpenKh.Tools.Kh2MapCollisionEditor.Services; using OpenKh.Tools.Kh2MapCollisionEditor.ViewModels; using System.IO; diff --git a/OpenKh.Tools.Kh2MapCollisionEditor/Views/VertexView.xaml.cs b/OpenKh.Tools.Kh2MapCollisionEditor/Views/VertexView.xaml.cs index 9149cb05b..c773a1ee1 100644 --- a/OpenKh.Tools.Kh2MapCollisionEditor/Views/VertexView.xaml.cs +++ b/OpenKh.Tools.Kh2MapCollisionEditor/Views/VertexView.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; diff --git a/OpenKh.Tools.Kh2MapStudio/App.cs b/OpenKh.Tools.Kh2MapStudio/App.cs index a0a7d3bc1..d9ecb826f 100644 --- a/OpenKh.Tools.Kh2MapStudio/App.cs +++ b/OpenKh.Tools.Kh2MapStudio/App.cs @@ -121,8 +121,10 @@ public bool MainLoop() { _bootstrap.GraphicsDevice.Clear(xna.Color.CornflowerBlue); ProcessKeyMapping(); - if (!_bootstrap.ImGuiWantTextInput) ProcessKeyboardInput(Keyboard.GetState(), 1f / 60); - if (!_bootstrap.ImGuiWantCaptureMouse) ProcessMouseInput(Mouse.GetState()); + if (!_bootstrap.ImGuiWantTextInput) + ProcessKeyboardInput(Keyboard.GetState(), 1f / 60); + if (!_bootstrap.ImGuiWantCaptureMouse) + ProcessMouseInput(Mouse.GetState()); ImGui.PushStyleColor(ImGuiCol.WindowBg, BgUiColor); ForControl(ImGui.BeginMainMenuBar, ImGui.EndMainMenuBar, MainMenu); @@ -131,14 +133,22 @@ public bool MainLoop() ForWindow("Tools", () => { - if (EditorSettings.ViewCamera) CameraWindow.Run(_mapRenderer.Camera); - if (EditorSettings.ViewLayerControl) LayerControllerWindow.Run(_mapRenderer); - if (EditorSettings.ViewSpawnPoint) SpawnPointWindow.Run(_mapRenderer); - if (EditorSettings.ViewMeshGroup) MeshGroupWindow.Run(_mapRenderer.MapMeshGroups); - if (EditorSettings.ViewBobDescriptor) BobDescriptorWindow.Run(_mapRenderer.BobDescriptors, _mapRenderer.BobMeshGroups.Count); - if (EditorSettings.ViewSpawnScriptMap) SpawnScriptWindow.Run("map", _mapRenderer.SpawnScriptMap); - if (EditorSettings.ViewSpawnScriptBattle) SpawnScriptWindow.Run("btl", _mapRenderer.SpawnScriptBattle); - if (EditorSettings.ViewSpawnScriptEvent) SpawnScriptWindow.Run("evt", _mapRenderer.SpawnScriptEvent); + if (EditorSettings.ViewCamera) + CameraWindow.Run(_mapRenderer.Camera); + if (EditorSettings.ViewLayerControl) + LayerControllerWindow.Run(_mapRenderer); + if (EditorSettings.ViewSpawnPoint) + SpawnPointWindow.Run(_mapRenderer); + if (EditorSettings.ViewMeshGroup) + MeshGroupWindow.Run(_mapRenderer.MapMeshGroups); + if (EditorSettings.ViewBobDescriptor) + BobDescriptorWindow.Run(_mapRenderer.BobDescriptors, _mapRenderer.BobMeshGroups.Count); + if (EditorSettings.ViewSpawnScriptMap) + SpawnScriptWindow.Run("map", _mapRenderer.SpawnScriptMap); + if (EditorSettings.ViewSpawnScriptBattle) + SpawnScriptWindow.Run("btl", _mapRenderer.SpawnScriptBattle); + if (EditorSettings.ViewSpawnScriptEvent) + SpawnScriptWindow.Run("evt", _mapRenderer.SpawnScriptEvent); }); ImGui.PopStyleColor(); @@ -355,17 +365,27 @@ private void ProcessKeyboardInput(KeyboardState keyboard, float deltaTime) moveSpeed = (float)(deltaTime * EditorSettings.MoveSpeedShift); var camera = _mapRenderer.Camera; - if (keyboard.IsKeyDown(Keys.W)) camera.CameraPosition += xna.Vector3.Multiply(camera.CameraLookAtX, moveSpeed * 5); - if (keyboard.IsKeyDown(Keys.S)) camera.CameraPosition -= xna.Vector3.Multiply(camera.CameraLookAtX, moveSpeed * 5); - if (keyboard.IsKeyDown(Keys.A)) camera.CameraPosition -= xna.Vector3.Multiply(camera.CameraLookAtY, moveSpeed * 5); - if (keyboard.IsKeyDown(Keys.D)) camera.CameraPosition += xna.Vector3.Multiply(camera.CameraLookAtY, moveSpeed * 5); - if (keyboard.IsKeyDown(Keys.Q)) camera.CameraPosition += xna.Vector3.Multiply(camera.CameraLookAtZ, moveSpeed * 5); - if (keyboard.IsKeyDown(Keys.E)) camera.CameraPosition -= xna.Vector3.Multiply(camera.CameraLookAtZ, moveSpeed * 5); - - if (keyboard.IsKeyDown(Keys.Up)) camera.CameraRotationYawPitchRoll += new xna.Vector3(0, 0, 1 * speed); - if (keyboard.IsKeyDown(Keys.Down)) camera.CameraRotationYawPitchRoll -= new xna.Vector3(0, 0, 1 * speed); - if (keyboard.IsKeyDown(Keys.Left)) camera.CameraRotationYawPitchRoll += new xna.Vector3(1 * speed, 0, 0); - if (keyboard.IsKeyDown(Keys.Right)) camera.CameraRotationYawPitchRoll -= new xna.Vector3(1 * speed, 0, 0); + if (keyboard.IsKeyDown(Keys.W)) + camera.CameraPosition += xna.Vector3.Multiply(camera.CameraLookAtX, moveSpeed * 5); + if (keyboard.IsKeyDown(Keys.S)) + camera.CameraPosition -= xna.Vector3.Multiply(camera.CameraLookAtX, moveSpeed * 5); + if (keyboard.IsKeyDown(Keys.A)) + camera.CameraPosition -= xna.Vector3.Multiply(camera.CameraLookAtY, moveSpeed * 5); + if (keyboard.IsKeyDown(Keys.D)) + camera.CameraPosition += xna.Vector3.Multiply(camera.CameraLookAtY, moveSpeed * 5); + if (keyboard.IsKeyDown(Keys.Q)) + camera.CameraPosition += xna.Vector3.Multiply(camera.CameraLookAtZ, moveSpeed * 5); + if (keyboard.IsKeyDown(Keys.E)) + camera.CameraPosition -= xna.Vector3.Multiply(camera.CameraLookAtZ, moveSpeed * 5); + + if (keyboard.IsKeyDown(Keys.Up)) + camera.CameraRotationYawPitchRoll += new xna.Vector3(0, 0, 1 * speed); + if (keyboard.IsKeyDown(Keys.Down)) + camera.CameraRotationYawPitchRoll -= new xna.Vector3(0, 0, 1 * speed); + if (keyboard.IsKeyDown(Keys.Left)) + camera.CameraRotationYawPitchRoll += new xna.Vector3(1 * speed, 0, 0); + if (keyboard.IsKeyDown(Keys.Right)) + camera.CameraRotationYawPitchRoll -= new xna.Vector3(1 * speed, 0, 0); } private void ProcessMouseInput(MouseState mouse) diff --git a/OpenKh.Tools.Kh2MapStudio/EditorSettings.cs b/OpenKh.Tools.Kh2MapStudio/EditorSettings.cs index 067318659..b387d331a 100644 --- a/OpenKh.Tools.Kh2MapStudio/EditorSettings.cs +++ b/OpenKh.Tools.Kh2MapStudio/EditorSettings.cs @@ -1,4 +1,4 @@ -namespace OpenKh.Tools.Kh2MapStudio +namespace OpenKh.Tools.Kh2MapStudio { static class EditorSettings { diff --git a/OpenKh.Tools.Kh2MapStudio/ImGuiExHelpers.cs b/OpenKh.Tools.Kh2MapStudio/ImGuiExHelpers.cs index 32e9ca2b9..1379625fc 100644 --- a/OpenKh.Tools.Kh2MapStudio/ImGuiExHelpers.cs +++ b/OpenKh.Tools.Kh2MapStudio/ImGuiExHelpers.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.Common.CustomImGui; +using OpenKh.Tools.Common.CustomImGui; using System; using System.Numerics; using xna = Microsoft.Xna.Framework; diff --git a/OpenKh.Tools.Kh2MapStudio/Interfaces/ILayerController.cs b/OpenKh.Tools.Kh2MapStudio/Interfaces/ILayerController.cs index d46cc40e7..8ca2339ea 100644 --- a/OpenKh.Tools.Kh2MapStudio/Interfaces/ILayerController.cs +++ b/OpenKh.Tools.Kh2MapStudio/Interfaces/ILayerController.cs @@ -1,4 +1,4 @@ -namespace OpenKh.Tools.Kh2MapStudio.Interfaces +namespace OpenKh.Tools.Kh2MapStudio.Interfaces { interface ILayerController { diff --git a/OpenKh.Tools.Kh2MapStudio/Interfaces/IObjEntryController.cs b/OpenKh.Tools.Kh2MapStudio/Interfaces/IObjEntryController.cs index 40d1deee3..403ad9e19 100644 --- a/OpenKh.Tools.Kh2MapStudio/Interfaces/IObjEntryController.cs +++ b/OpenKh.Tools.Kh2MapStudio/Interfaces/IObjEntryController.cs @@ -1,4 +1,4 @@ -using OpenKh.Engine.MonoGame; +using OpenKh.Engine.MonoGame; using OpenKh.Kh2; using System.Collections.Generic; diff --git a/OpenKh.Tools.Kh2MapStudio/Interfaces/ISpawnPointController.cs b/OpenKh.Tools.Kh2MapStudio/Interfaces/ISpawnPointController.cs index 927230427..4019be4a1 100644 --- a/OpenKh.Tools.Kh2MapStudio/Interfaces/ISpawnPointController.cs +++ b/OpenKh.Tools.Kh2MapStudio/Interfaces/ISpawnPointController.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.Kh2MapStudio.Models; +using OpenKh.Tools.Kh2MapStudio.Models; using System.Collections.Generic; namespace OpenKh.Tools.Kh2MapStudio.Interfaces diff --git a/OpenKh.Tools.Kh2MapStudio/Models/CollisionModel.cs b/OpenKh.Tools.Kh2MapStudio/Models/CollisionModel.cs index e78504c17..9dbe74f4d 100644 --- a/OpenKh.Tools.Kh2MapStudio/Models/CollisionModel.cs +++ b/OpenKh.Tools.Kh2MapStudio/Models/CollisionModel.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using OpenKh.Kh2; using System; @@ -54,7 +54,8 @@ public void Dispose() public void Draw(GraphicsDevice graphics) { - if (!IsVisible) return; + if (!IsVisible) + return; _vertexBuffer?.Dispose(); _vertexBuffer = null; diff --git a/OpenKh.Tools.Kh2MapStudio/Models/SpawnPointModel.cs b/OpenKh.Tools.Kh2MapStudio/Models/SpawnPointModel.cs index cb564cadd..27981a50c 100644 --- a/OpenKh.Tools.Kh2MapStudio/Models/SpawnPointModel.cs +++ b/OpenKh.Tools.Kh2MapStudio/Models/SpawnPointModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2.Ard; +using OpenKh.Kh2.Ard; using OpenKh.Tools.Kh2MapStudio.Interfaces; using System.Collections.Generic; diff --git a/OpenKh.Tools.Kh2MapStudio/Program.cs b/OpenKh.Tools.Kh2MapStudio/Program.cs index 36ae84ed5..4c5d975ea 100644 --- a/OpenKh.Tools.Kh2MapStudio/Program.cs +++ b/OpenKh.Tools.Kh2MapStudio/Program.cs @@ -1,8 +1,8 @@ -using McMaster.Extensions.CommandLineUtils; +using McMaster.Extensions.CommandLineUtils; using OpenKh.Tools.Common.CustomImGui; using System; -using System.Reflection; - +using System.Reflection; + namespace OpenKh.Tools.Kh2MapStudio { [Command("OpenKh.Tools.Kh2MapStudio")] @@ -11,24 +11,24 @@ class Program : IDisposable { [STAThread] static int Main(string[] args) - { - return CommandLineApplication.Execute(args); + { + return CommandLineApplication.Execute(args); + } + + protected int OnExecute(CommandLineApplication app) + { + Run(); + return 0; } - - protected int OnExecute(CommandLineApplication app) - { - Run(); - return 0; - } - - #region CommandLine + + #region CommandLine private static string GetVersion() => typeof(Program).Assembly.GetCustomAttribute().InformationalVersion; - + [Argument(0, "KH2 GamePath")] - public string GamePath { get; } + public string GamePath { get; } #endregion - + const int InitialWindowWidth = 1000; const int InitialWindowHeight = 800; private readonly MonoGameImGuiBootstrap _bootstrap; @@ -40,8 +40,8 @@ public Program() InitialWindowWidth, InitialWindowHeight, Initialize); - _bootstrap.MainLoop = MainLoop; - + _bootstrap.MainLoop = MainLoop; + } diff --git a/OpenKh.Tools.Kh2MapStudio/Windows/BobDescriptorWindow.cs b/OpenKh.Tools.Kh2MapStudio/Windows/BobDescriptorWindow.cs index f98b85eeb..3d321c0f8 100644 --- a/OpenKh.Tools.Kh2MapStudio/Windows/BobDescriptorWindow.cs +++ b/OpenKh.Tools.Kh2MapStudio/Windows/BobDescriptorWindow.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using Microsoft.Xna.Framework; using OpenKh.Kh2.Models; using System; diff --git a/OpenKh.Tools.Kh2MapStudio/Windows/CollisionWindow.cs b/OpenKh.Tools.Kh2MapStudio/Windows/CollisionWindow.cs index cd1820bea..336d3261f 100644 --- a/OpenKh.Tools.Kh2MapStudio/Windows/CollisionWindow.cs +++ b/OpenKh.Tools.Kh2MapStudio/Windows/CollisionWindow.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Kh2; using static OpenKh.Tools.Common.CustomImGui.ImGuiEx; @@ -13,7 +13,8 @@ public static void Run(Coct coct) => ForHeader("Collision", () => private static void Node(Coct coct, int index) { - if (index == -1) return; + if (index == -1) + return; ForTreeNode($"Node {index}", () => { var node = coct.CollisionMeshGroupList[index]; diff --git a/OpenKh.Tools.Kh2MapStudio/Windows/LayerControllerWindow.cs b/OpenKh.Tools.Kh2MapStudio/Windows/LayerControllerWindow.cs index c684ac1bf..761606bb3 100644 --- a/OpenKh.Tools.Kh2MapStudio/Windows/LayerControllerWindow.cs +++ b/OpenKh.Tools.Kh2MapStudio/Windows/LayerControllerWindow.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.Kh2MapStudio.Interfaces; +using OpenKh.Tools.Kh2MapStudio.Interfaces; using static OpenKh.Tools.Common.CustomImGui.ImGuiEx; namespace OpenKh.Tools.Kh2MapStudio.Windows diff --git a/OpenKh.Tools.Kh2MapStudio/Windows/MeshGroupWindow.cs b/OpenKh.Tools.Kh2MapStudio/Windows/MeshGroupWindow.cs index 2f3e0ad82..e75af87a9 100644 --- a/OpenKh.Tools.Kh2MapStudio/Windows/MeshGroupWindow.cs +++ b/OpenKh.Tools.Kh2MapStudio/Windows/MeshGroupWindow.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Tools.Kh2MapStudio.Models; using System; using System.Collections.Generic; diff --git a/OpenKh.Tools.Kh2MapStudio/Windows/SpawnScriptWindow.cs b/OpenKh.Tools.Kh2MapStudio/Windows/SpawnScriptWindow.cs index 1fa98cce6..1949d4f93 100644 --- a/OpenKh.Tools.Kh2MapStudio/Windows/SpawnScriptWindow.cs +++ b/OpenKh.Tools.Kh2MapStudio/Windows/SpawnScriptWindow.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Tools.Kh2MapStudio.Models; using System.Numerics; using static OpenKh.Tools.Common.CustomImGui.ImGuiEx; diff --git a/OpenKh.Tools.Kh2PlaceEditor/App.xaml.cs b/OpenKh.Tools.Kh2PlaceEditor/App.xaml.cs index 751e4b916..fa19854df 100644 --- a/OpenKh.Tools.Kh2PlaceEditor/App.xaml.cs +++ b/OpenKh.Tools.Kh2PlaceEditor/App.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; diff --git a/OpenKh.Tools.Kh2PlaceEditor/Converters/EnumMatchToBooleanConverter.cs b/OpenKh.Tools.Kh2PlaceEditor/Converters/EnumMatchToBooleanConverter.cs index 3da522e66..d2021bf8f 100644 --- a/OpenKh.Tools.Kh2PlaceEditor/Converters/EnumMatchToBooleanConverter.cs +++ b/OpenKh.Tools.Kh2PlaceEditor/Converters/EnumMatchToBooleanConverter.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Globalization; using System.Windows.Data; diff --git a/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceEditorViewModel.cs b/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceEditorViewModel.cs index 87a550e36..fe18b81f6 100644 --- a/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceEditorViewModel.cs +++ b/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceEditorViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Common; +using OpenKh.Common; using OpenKh.Engine; using OpenKh.Kh2; using OpenKh.Kh2.Messages; diff --git a/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceViewModel.cs b/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceViewModel.cs index 288eba024..f2616200e 100644 --- a/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceViewModel.cs +++ b/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlaceViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Engine; +using OpenKh.Engine; using OpenKh.Kh2; using System.Text; using Xe.Tools; @@ -32,7 +32,7 @@ public PlaceViewModel(IMessageProvider messageProvider, public Place Place { get; } public string Map => $"{World}{_index:D02}"; - + public short MessageId { get => (short)(Place.MessageId & 0x7fff); @@ -43,7 +43,7 @@ public short MessageId OnPropertyChanged(nameof(Message)); } } - + public string Name { get => Encoding.GetString(Place.Name); diff --git a/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlacesViewModel.cs b/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlacesViewModel.cs index 0f87a7b2b..781359ee8 100644 --- a/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlacesViewModel.cs +++ b/OpenKh.Tools.Kh2PlaceEditor/ViewModels/PlacesViewModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Engine; +using OpenKh.Engine; using OpenKh.Kh2; using OpenKh.Kh2.Messages; using System.Collections.Generic; diff --git a/OpenKh.Tools.Kh2PlaceEditor/Views/PlaceEditorWindow.xaml.cs b/OpenKh.Tools.Kh2PlaceEditor/Views/PlaceEditorWindow.xaml.cs index 31078fff8..d6af38736 100644 --- a/OpenKh.Tools.Kh2PlaceEditor/Views/PlaceEditorWindow.xaml.cs +++ b/OpenKh.Tools.Kh2PlaceEditor/Views/PlaceEditorWindow.xaml.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.Kh2PlaceEditor.ViewModels; +using OpenKh.Tools.Kh2PlaceEditor.ViewModels; using System.Windows; namespace OpenKh.Tools.Kh2PlaceEditor.Views diff --git a/OpenKh.Tools.Kh2PlaceEditor/Views/PlacesView.xaml.cs b/OpenKh.Tools.Kh2PlaceEditor/Views/PlacesView.xaml.cs index ac7157622..62fa6aeb7 100644 --- a/OpenKh.Tools.Kh2PlaceEditor/Views/PlacesView.xaml.cs +++ b/OpenKh.Tools.Kh2PlaceEditor/Views/PlacesView.xaml.cs @@ -1,4 +1,4 @@ -using System.Windows.Controls; +using System.Windows.Controls; namespace OpenKh.Tools.Kh2PlaceEditor.Views { diff --git a/OpenKh.Tools.Kh2TextEditor/App.xaml.cs b/OpenKh.Tools.Kh2TextEditor/App.xaml.cs index fdc251133..87a298136 100644 --- a/OpenKh.Tools.Kh2TextEditor/App.xaml.cs +++ b/OpenKh.Tools.Kh2TextEditor/App.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; diff --git a/OpenKh.Tools.Kh2TextEditor/Converters/EnumMatchToBooleanConverter.cs b/OpenKh.Tools.Kh2TextEditor/Converters/EnumMatchToBooleanConverter.cs index 126e99111..6a60b5981 100644 --- a/OpenKh.Tools.Kh2TextEditor/Converters/EnumMatchToBooleanConverter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Converters/EnumMatchToBooleanConverter.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Globalization; using System.Windows.Data; diff --git a/OpenKh.Tools.Kh2TextEditor/Interfaces/ICurrentMessageEncoder.cs b/OpenKh.Tools.Kh2TextEditor/Interfaces/ICurrentMessageEncoder.cs index 3fa7767bb..baab490bc 100644 --- a/OpenKh.Tools.Kh2TextEditor/Interfaces/ICurrentMessageEncoder.cs +++ b/OpenKh.Tools.Kh2TextEditor/Interfaces/ICurrentMessageEncoder.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2.Messages; +using OpenKh.Kh2.Messages; namespace OpenKh.Tools.Kh2TextEditor.Interfaces { diff --git a/OpenKh.Tools.Kh2TextEditor/Interfaces/IInvalidateErrorCount.cs b/OpenKh.Tools.Kh2TextEditor/Interfaces/IInvalidateErrorCount.cs index acc26047b..8f471b4ca 100644 --- a/OpenKh.Tools.Kh2TextEditor/Interfaces/IInvalidateErrorCount.cs +++ b/OpenKh.Tools.Kh2TextEditor/Interfaces/IInvalidateErrorCount.cs @@ -1,4 +1,4 @@ -namespace OpenKh.Tools.Kh2TextEditor.Interfaces +namespace OpenKh.Tools.Kh2TextEditor.Interfaces { public interface IInvalidateErrorCount { diff --git a/OpenKh.Tools.Kh2TextEditor/Models/MessageModel.cs b/OpenKh.Tools.Kh2TextEditor/Models/MessageModel.cs index 190a0654c..32e7e3d17 100644 --- a/OpenKh.Tools.Kh2TextEditor/Models/MessageModel.cs +++ b/OpenKh.Tools.Kh2TextEditor/Models/MessageModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Kh2.Messages; using OpenKh.Tools.Kh2TextEditor.Interfaces; using System; diff --git a/OpenKh.Tools.Kh2TextEditor/Models/MessagesModel.cs b/OpenKh.Tools.Kh2TextEditor/Models/MessagesModel.cs index d58d6ed7d..a60793dc7 100644 --- a/OpenKh.Tools.Kh2TextEditor/Models/MessagesModel.cs +++ b/OpenKh.Tools.Kh2TextEditor/Models/MessagesModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using OpenKh.Kh2.Messages; using OpenKh.Tools.Kh2TextEditor.Interfaces; using System; diff --git a/OpenKh.Tools.Kh2TextEditor/Models/TextAreaModel.cs b/OpenKh.Tools.Kh2TextEditor/Models/TextAreaModel.cs index d760d5e65..f5f418412 100644 --- a/OpenKh.Tools.Kh2TextEditor/Models/TextAreaModel.cs +++ b/OpenKh.Tools.Kh2TextEditor/Models/TextAreaModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2.Messages; +using OpenKh.Kh2.Messages; using System.Collections.Generic; using Xe.Tools; diff --git a/OpenKh.Tools.Kh2TextEditor/Services/CsvTextExporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/CsvTextExporter.cs index f6ef5749b..c72ce77bb 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/CsvTextExporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/CsvTextExporter.cs @@ -1,27 +1,27 @@ -using CsvHelper; -using CsvHelper.Configuration; -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - class CsvTextExporter : ITextExporter - { - void ITextExporter.Export(IEnumerable messages, TextWriter writer) - { - new CsvWriter(writer, new CsvConfiguration(CultureInfo.InvariantCulture) - { - Delimiter = "," - }) - .WriteRecords(messages); - } - - (string, string[]) ITextExporter.Filter() => ("CSV", "csv".Split(';')); - } -} +using CsvHelper; +using CsvHelper.Configuration; +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + class CsvTextExporter : ITextExporter + { + void ITextExporter.Export(IEnumerable messages, TextWriter writer) + { + new CsvWriter(writer, new CsvConfiguration(CultureInfo.InvariantCulture) + { + Delimiter = "," + }) + .WriteRecords(messages); + } + + (string, string[]) ITextExporter.Filter() => ("CSV", "csv".Split(';')); + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/CsvTextImporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/CsvTextImporter.cs index 5e04be073..07673cc1c 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/CsvTextImporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/CsvTextImporter.cs @@ -1,27 +1,27 @@ -using CsvHelper; -using CsvHelper.Configuration; -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - class CsvTextImporter : ITextImporter - { - (string, string[]) ITextImporter.Filter() => ("CSV", "csv".Split(';')); - - IEnumerable ITextImporter.Import(TextReader reader) - { - return new CsvReader(reader, new CsvConfiguration(CultureInfo.InvariantCulture) - { - Delimiter = ",", - }) - .GetRecords(); - } - } -} +using CsvHelper; +using CsvHelper.Configuration; +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + class CsvTextImporter : ITextImporter + { + (string, string[]) ITextImporter.Filter() => ("CSV", "csv".Split(';')); + + IEnumerable ITextImporter.Import(TextReader reader) + { + return new CsvReader(reader, new CsvConfiguration(CultureInfo.InvariantCulture) + { + Delimiter = ",", + }) + .GetRecords(); + } + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/ExchangeableMessage.cs b/OpenKh.Tools.Kh2TextEditor/Services/ExchangeableMessage.cs index f28ec2848..3c1aa6891 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/ExchangeableMessage.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/ExchangeableMessage.cs @@ -1,17 +1,17 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Serialization; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - public class ExchangeableMessage - { - [XmlElement] - public int Id { get; set; } - [XmlElement] - public string Text { get; set; } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + public class ExchangeableMessage + { + [XmlElement] + public int Id { get; set; } + [XmlElement] + public string Text { get; set; } + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/ITextExporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/ITextExporter.cs index e9f3c13d7..eb5efe600 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/ITextExporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/ITextExporter.cs @@ -1,16 +1,16 @@ -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - public interface ITextExporter - { - void Export(IEnumerable messages, TextWriter writer); - (string, string[]) Filter(); - } -} +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + public interface ITextExporter + { + void Export(IEnumerable messages, TextWriter writer); + (string, string[]) Filter(); + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/ITextImporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/ITextImporter.cs index 7a113c737..904ae8b74 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/ITextImporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/ITextImporter.cs @@ -1,16 +1,16 @@ -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - public interface ITextImporter - { - IEnumerable Import(TextReader reader); - (string, string[]) Filter(); - } -} +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + public interface ITextImporter + { + IEnumerable Import(TextReader reader); + (string, string[]) Filter(); + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/PlainTextExporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/PlainTextExporter.cs index 43475ae5c..f4993ab61 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/PlainTextExporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/PlainTextExporter.cs @@ -1,24 +1,24 @@ -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - class PlainTextExporter : ITextExporter - { - void ITextExporter.Export(IEnumerable messages, TextWriter writer) - { - foreach (var one in messages) - { - writer.WriteLine($"{one.Id}: {one.Text}"); - writer.WriteLine("---"); - } - } - - (string, string[]) ITextExporter.Filter() => ("Plain text", "txt".Split(';')); - } -} +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + class PlainTextExporter : ITextExporter + { + void ITextExporter.Export(IEnumerable messages, TextWriter writer) + { + foreach (var one in messages) + { + writer.WriteLine($"{one.Id}: {one.Text}"); + writer.WriteLine("---"); + } + } + + (string, string[]) ITextExporter.Filter() => ("Plain text", "txt".Split(';')); + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/TextExporters.cs b/OpenKh.Tools.Kh2TextEditor/Services/TextExporters.cs index 2ee173bc4..b9fbc55f2 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/TextExporters.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/TextExporters.cs @@ -1,35 +1,35 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - public class TextExporters - { - public static IEnumerable GetAll() => new ITextExporter[] - { - new PlainTextExporter(), - new CsvTextExporter(), - new XmlTextExporter(), - new YamlTextExporter(), - }; - - public static ITextExporter FindFromFile(string fileName) - { - var selectedExtension = Path.GetExtension(fileName).TrimStart('.'); - var textExporters = GetAll(); - - return textExporters - .Where( - exporter => exporter.Filter().Item2 - .Any( - it => string.Compare(it, selectedExtension, true) == 0 - ) - ) - .FirstOrDefault() ?? textExporters.First(); // fallback - } - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + public class TextExporters + { + public static IEnumerable GetAll() => new ITextExporter[] + { + new PlainTextExporter(), + new CsvTextExporter(), + new XmlTextExporter(), + new YamlTextExporter(), + }; + + public static ITextExporter FindFromFile(string fileName) + { + var selectedExtension = Path.GetExtension(fileName).TrimStart('.'); + var textExporters = GetAll(); + + return textExporters + .Where( + exporter => exporter.Filter().Item2 + .Any( + it => string.Compare(it, selectedExtension, true) == 0 + ) + ) + .FirstOrDefault() ?? textExporters.First(); // fallback + } + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/TextImporters.cs b/OpenKh.Tools.Kh2TextEditor/Services/TextImporters.cs index 874d00dce..647cf3f27 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/TextImporters.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/TextImporters.cs @@ -1,34 +1,34 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - public class TextImporters - { - public static IEnumerable GetAll() => new ITextImporter[] - { - new CsvTextImporter(), - new XmlTextImporter(), - new YamlTextImporter(), - }; - - public static ITextImporter FindFromFile(string fileName) - { - var selectedExtension = Path.GetExtension(fileName).TrimStart('.'); - var textExporters = GetAll(); - - return textExporters - .Where( - exporter => exporter.Filter().Item2 - .Any( - it => string.Compare(it, selectedExtension, true) == 0 - ) - ) - .FirstOrDefault(); - } - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + public class TextImporters + { + public static IEnumerable GetAll() => new ITextImporter[] + { + new CsvTextImporter(), + new XmlTextImporter(), + new YamlTextImporter(), + }; + + public static ITextImporter FindFromFile(string fileName) + { + var selectedExtension = Path.GetExtension(fileName).TrimStart('.'); + var textExporters = GetAll(); + + return textExporters + .Where( + exporter => exporter.Filter().Item2 + .Any( + it => string.Compare(it, selectedExtension, true) == 0 + ) + ) + .FirstOrDefault(); + } + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/XmlTextExporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/XmlTextExporter.cs index 5e2189bb9..798f204a6 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/XmlTextExporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/XmlTextExporter.cs @@ -1,34 +1,34 @@ -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Serialization; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - public class XmlTextExporter : ITextExporter - { - void ITextExporter.Export(IEnumerable messages, TextWriter writer) - { - new XmlSerializer(typeof(RootModel)).Serialize( - writer, - new RootModel - { - Message = messages.ToArray() - } - ); - } - - (string, string[]) ITextExporter.Filter() => ("XML", "xml".Split(';')); - - [XmlRoot("Messages")] - public class RootModel - { - [XmlElement] - public ExchangeableMessage[] Message { get; set; } - } - } -} +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + public class XmlTextExporter : ITextExporter + { + void ITextExporter.Export(IEnumerable messages, TextWriter writer) + { + new XmlSerializer(typeof(RootModel)).Serialize( + writer, + new RootModel + { + Message = messages.ToArray() + } + ); + } + + (string, string[]) ITextExporter.Filter() => ("XML", "xml".Split(';')); + + [XmlRoot("Messages")] + public class RootModel + { + [XmlElement] + public ExchangeableMessage[] Message { get; set; } + } + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/XmlTextImporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/XmlTextImporter.cs index 236ceb8bf..a749d308f 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/XmlTextImporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/XmlTextImporter.cs @@ -1,29 +1,29 @@ -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Serialization; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - public class XmlTextImporter : ITextImporter - { - (string, string[]) ITextImporter.Filter() => ("XML", "xml".Split(';')); - - IEnumerable ITextImporter.Import(TextReader reader) - { - var model = (RootModel)new XmlSerializer(typeof(RootModel)).Deserialize(reader); - return model.Message; - } - - [XmlRoot("Messages")] - public class RootModel - { - [XmlElement] - public ExchangeableMessage[] Message { get; set; } - } - } -} +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + public class XmlTextImporter : ITextImporter + { + (string, string[]) ITextImporter.Filter() => ("XML", "xml".Split(';')); + + IEnumerable ITextImporter.Import(TextReader reader) + { + var model = (RootModel)new XmlSerializer(typeof(RootModel)).Deserialize(reader); + return model.Message; + } + + [XmlRoot("Messages")] + public class RootModel + { + [XmlElement] + public ExchangeableMessage[] Message { get; set; } + } + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/YamlTextExporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/YamlTextExporter.cs index 11ac79b00..f87ec0f3f 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/YamlTextExporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/YamlTextExporter.cs @@ -1,28 +1,28 @@ -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - class YamlTextExporter : ITextExporter - { - void ITextExporter.Export(IEnumerable messages, TextWriter writer) - { - new YamlDotNet.Serialization.SerializerBuilder() - .Build() - .Serialize( - writer, - new - { - Messages = messages - } - ); - } - - (string, string[]) ITextExporter.Filter() => ("YAML", "yml".Split(';')); - } -} +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + class YamlTextExporter : ITextExporter + { + void ITextExporter.Export(IEnumerable messages, TextWriter writer) + { + new YamlDotNet.Serialization.SerializerBuilder() + .Build() + .Serialize( + writer, + new + { + Messages = messages + } + ); + } + + (string, string[]) ITextExporter.Filter() => ("YAML", "yml".Split(';')); + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Services/YamlTextImporter.cs b/OpenKh.Tools.Kh2TextEditor/Services/YamlTextImporter.cs index 862fef399..3ef7a429c 100644 --- a/OpenKh.Tools.Kh2TextEditor/Services/YamlTextImporter.cs +++ b/OpenKh.Tools.Kh2TextEditor/Services/YamlTextImporter.cs @@ -1,29 +1,29 @@ -using OpenKh.Tools.Kh2TextEditor.Models; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenKh.Tools.Kh2TextEditor.Services -{ - class YamlTextImporter : ITextImporter - { - (string, string[]) ITextImporter.Filter() => ("YAML", "yml".Split(';')); - - IEnumerable ITextImporter.Import(TextReader reader) - { - var model = new YamlDotNet.Serialization.DeserializerBuilder() - .Build() - .Deserialize(reader); - - return model.Messages; - } - - public class RootModel - { - public ExchangeableMessage[] Messages { get; set; } - } - } -} +using OpenKh.Tools.Kh2TextEditor.Models; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OpenKh.Tools.Kh2TextEditor.Services +{ + class YamlTextImporter : ITextImporter + { + (string, string[]) ITextImporter.Filter() => ("YAML", "yml".Split(';')); + + IEnumerable ITextImporter.Import(TextReader reader) + { + var model = new YamlDotNet.Serialization.DeserializerBuilder() + .Build() + .Deserialize(reader); + + return model.Messages; + } + + public class RootModel + { + public ExchangeableMessage[] Messages { get; set; } + } + } +} diff --git a/OpenKh.Tools.Kh2TextEditor/Types/FontType.cs b/OpenKh.Tools.Kh2TextEditor/Types/FontType.cs index c6af68c00..545d0336c 100644 --- a/OpenKh.Tools.Kh2TextEditor/Types/FontType.cs +++ b/OpenKh.Tools.Kh2TextEditor/Types/FontType.cs @@ -1,4 +1,4 @@ -namespace OpenKh.Tools.Kh2TextEditor.Types +namespace OpenKh.Tools.Kh2TextEditor.Types { public enum FontType { diff --git a/OpenKh.Tools.Kh2TextEditor/ViewModels/TextEditorViewModel.cs b/OpenKh.Tools.Kh2TextEditor/ViewModels/TextEditorViewModel.cs index e6416d66e..77b082a47 100644 --- a/OpenKh.Tools.Kh2TextEditor/ViewModels/TextEditorViewModel.cs +++ b/OpenKh.Tools.Kh2TextEditor/ViewModels/TextEditorViewModel.cs @@ -170,7 +170,7 @@ public TextEditorViewModel() if (_ok) Text += "{:color " + string.Format("#{0}{1}{2}{3}", _color.R.ToString("X2"), _color.G.ToString("X2"), _color.B.ToString("X2"), _color.A.ToString("X2")) + "}"; } - break; + break; case 2: Text += "{:scale 16}"; break; diff --git a/OpenKh.Tools.Kh2TextEditor/Views/TextEditorView.xaml.cs b/OpenKh.Tools.Kh2TextEditor/Views/TextEditorView.xaml.cs index 9259b82d5..414a24c91 100644 --- a/OpenKh.Tools.Kh2TextEditor/Views/TextEditorView.xaml.cs +++ b/OpenKh.Tools.Kh2TextEditor/Views/TextEditorView.xaml.cs @@ -20,7 +20,7 @@ namespace OpenKh.Tools.Kh2TextEditor.Views /// public partial class TextEditorView : UserControl { - public TextEditorView() + public TextEditorView() { InitializeComponent(); } diff --git a/OpenKh.Tools.LayoutEditor/AppElementSelection.cs b/OpenKh.Tools.LayoutEditor/AppElementSelection.cs index b240afad0..b600d201b 100644 --- a/OpenKh.Tools.LayoutEditor/AppElementSelection.cs +++ b/OpenKh.Tools.LayoutEditor/AppElementSelection.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; using System.Collections.Generic; namespace OpenKh.Tools.LayoutEditor diff --git a/OpenKh.Tools.LayoutEditor/AppLayoutEditor.cs b/OpenKh.Tools.LayoutEditor/AppLayoutEditor.cs index ff0f5c3ca..73864613b 100644 --- a/OpenKh.Tools.LayoutEditor/AppLayoutEditor.cs +++ b/OpenKh.Tools.LayoutEditor/AppLayoutEditor.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Tools.LayoutEditor.Interfaces; using System; using OpenKh.Kh2; @@ -70,7 +70,7 @@ public AppLayoutEditor( _drawing = new MonoSpriteDrawing(_graphics, _shader); _destinationTexture = _drawing.CreateSpriteTexture(1024, 1024); _destinationTextureId = this.BindTexture(_destinationTexture); - + _debugRender = new DefaultDebugLayoutRenderer(); _spriteTextures = images.Select(x => _drawing.CreateSpriteTexture(x)).ToList(); _renderer = new LayoutRenderer(_layout, _drawing, _spriteTextures); @@ -114,7 +114,7 @@ public bool Run() ForMenuBar(_sequenceEditor.Menu); _sequenceEditor.Run(); - + ImGui.EndPopup(); } } diff --git a/OpenKh.Tools.LayoutEditor/AppSequenceEditor.cs b/OpenKh.Tools.LayoutEditor/AppSequenceEditor.cs index 91691d9b3..1a439288e 100644 --- a/OpenKh.Tools.LayoutEditor/AppSequenceEditor.cs +++ b/OpenKh.Tools.LayoutEditor/AppSequenceEditor.cs @@ -69,7 +69,7 @@ public int SelectedAnimGroup _selectedAnimGroup = value; _animationFrameCurrent = 0; _sequencerSelectedAnimation = 0; - + var animationGroup = _sequence.AnimationGroups[_selectedAnimGroup]; _animationFrameCount = SequenceExtensions.GetFrameLength(animationGroup); _debugSequenceRenderer.AnimationGroup = animationGroup; @@ -407,7 +407,7 @@ private void AnimationEdit(Sequence.Animation animation, int index) int spriteGroupIndex = animation.SpriteGroupIndex; if (ImGui.InputInt($"Sprite group##{index}", ref spriteGroupIndex)) animation.SpriteGroupIndex = Math.Min(Math.Max(spriteGroupIndex, 0), _sequence.SpriteGroups.Count - 1); - + if (ImGuiFlagBox(animation, $"Enable translation animation##{index}", Sequence.PivotDisableFlag)) { var xaPair = new int[] { animation.TranslateXStart, animation.TranslateXEnd }; @@ -511,7 +511,7 @@ private void AnimationEdit(Sequence.Animation animation, int index) } } - if (ImGuiFlagBox(animation, $"Enable scaling##{index}", Sequence.ScalingDisableFlag)) + if (ImGuiFlagBox(animation, $"Enable scaling##{index}", Sequence.ScalingDisableFlag)) { if (ImGuiFlagBox(animation, $"Scaling interpolation##{index}", Sequence.ScalingInterpolationFlag)) { diff --git a/OpenKh.Tools.LayoutEditor/Controls/ImSequencer.cs b/OpenKh.Tools.LayoutEditor/Controls/ImSequencer.cs index bec21cf48..5a4594c14 100644 --- a/OpenKh.Tools.LayoutEditor/Controls/ImSequencer.cs +++ b/OpenKh.Tools.LayoutEditor/Controls/ImSequencer.cs @@ -1,4 +1,4 @@ -// The MIT License(MIT) +// The MIT License(MIT) // // Copyright(c) 2016 Cedric Guillemet // @@ -366,7 +366,8 @@ public static bool Sequencer(SequenceInterface sequence, ref int currentFrame, r int halfModFrameCount = modFrameCount / 2; - Action drawLine = (int i, int regionHeight) => { + Action drawLine = (int i, int regionHeight) => + { const uint TextColor = 0xFFBBBBBB; bool baseIndex = ((i % modFrameCount) == 0) || (i == sequence.FrameMax || i == sequence.FrameMin); @@ -481,7 +482,8 @@ public static bool Sequencer(SequenceInterface sequence, ref int currentFrame, r draw_list.PushClipRect(childFramePos + new Vector2((float)(legendWidth), 0f), childFramePos + childFrameSize); // vertical frame lines in content area - Action drawLineContent = (int i, int regionHeight) => { + Action drawLineContent = (int i, int regionHeight) => + { int px = (int)canvas_pos.X + (int)(i * framePixelWidth) + legendWidth - (int)(firstFrameUsed * framePixelWidth); int tiretStart = (int)(contentMin.Y); int tiretEnd = (int)(contentMax.Y); @@ -507,7 +509,8 @@ public static bool Sequencer(SequenceInterface sequence, ref int currentFrame, r // draw background differently if selected var customHeight = 0; for (int i = 0; i < selectedEntry; i++) - customHeight += sequence.GetCustomHeight(i); ; + customHeight += sequence.GetCustomHeight(i); + ; draw_list.AddRectFilled( new Vector2(contentMin.X, contentMin.Y + ItemHeight * selectedEntry + customHeight), new Vector2(contentMin.X + canvas_size.X, contentMin.Y + ItemHeight * (selectedEntry + 1) + customHeight), diff --git a/OpenKh.Tools.LayoutEditor/Controls/MySequencer.cs b/OpenKh.Tools.LayoutEditor/Controls/MySequencer.cs index cda2c4c7e..5865f9ef2 100644 --- a/OpenKh.Tools.LayoutEditor/Controls/MySequencer.cs +++ b/OpenKh.Tools.LayoutEditor/Controls/MySequencer.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Kh2; using OpenKh.Kh2.Extensions; using System; diff --git a/OpenKh.Tools.LayoutEditor/DebugSequenceRenderer.cs b/OpenKh.Tools.LayoutEditor/DebugSequenceRenderer.cs index 34d50a161..8ad4f5770 100644 --- a/OpenKh.Tools.LayoutEditor/DebugSequenceRenderer.cs +++ b/OpenKh.Tools.LayoutEditor/DebugSequenceRenderer.cs @@ -1,4 +1,4 @@ -using OpenKh.Engine.Renders; +using OpenKh.Engine.Renders; using OpenKh.Kh2; using System; using System.Collections.Generic; @@ -24,7 +24,7 @@ private enum State private Sequence.AnimationGroup _animationGroup; private State[] _animationStates = new State[0]; - + public int FocusOnAnimation { get; set; } = -1; public Sequence.AnimationGroup AnimationGroup diff --git a/OpenKh.Tools.LayoutEditor/Dialogs/ResourceSelectionDialog.cs b/OpenKh.Tools.LayoutEditor/Dialogs/ResourceSelectionDialog.cs index db6c85b71..28b8f80e2 100644 --- a/OpenKh.Tools.LayoutEditor/Dialogs/ResourceSelectionDialog.cs +++ b/OpenKh.Tools.LayoutEditor/Dialogs/ResourceSelectionDialog.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Kh2; using System; using System.Collections.Generic; @@ -14,7 +14,7 @@ public class ResourceSelectionDialog : IDisposable private int _selectedTextureIndex; public bool HasResourceBeenSelected { get; private set; } - public Bar.Entry SelectedAnimation{ get; private set; } + public Bar.Entry SelectedAnimation { get; private set; } public Bar.Entry SelectedTexture { get; private set; } public ResourceSelectionDialog( diff --git a/OpenKh.Tools.LayoutEditor/Dialogs/SpriteEditDialog.cs b/OpenKh.Tools.LayoutEditor/Dialogs/SpriteEditDialog.cs index cf512c70b..67cb1c9d1 100644 --- a/OpenKh.Tools.LayoutEditor/Dialogs/SpriteEditDialog.cs +++ b/OpenKh.Tools.LayoutEditor/Dialogs/SpriteEditDialog.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Engine.Extensions; using OpenKh.Engine.Renders; using OpenKh.Tools.LayoutEditor.Interfaces; @@ -18,7 +18,7 @@ class SpriteEditDialog : IDisposable private readonly IEditorSettings _settings; private readonly ISpriteTexture _cropAtlasTexture; private readonly IntPtr _cropAtlasTextureId; - + private int _selectedSpriteModel; private SpriteModel SpriteModel => _spriteModels[_selectedSpriteModel]; @@ -67,9 +67,12 @@ public void Run() }; ImGui.Columns(4, "ltrb", false); - bool sourceChanged = ImGui.DragInt("UA", ref source[0]); ImGui.NextColumn(); - sourceChanged |= ImGui.DragInt("VA", ref source[1]); ImGui.NextColumn(); - sourceChanged |= ImGui.DragInt("UB", ref source[2]); ImGui.NextColumn(); + bool sourceChanged = ImGui.DragInt("UA", ref source[0]); + ImGui.NextColumn(); + sourceChanged |= ImGui.DragInt("VA", ref source[1]); + ImGui.NextColumn(); + sourceChanged |= ImGui.DragInt("UB", ref source[2]); + ImGui.NextColumn(); sourceChanged |= ImGui.DragInt("VB", ref source[3]); if (sourceChanged) { diff --git a/OpenKh.Tools.LayoutEditor/Dialogs/SpriteGroupEditDialog.cs b/OpenKh.Tools.LayoutEditor/Dialogs/SpriteGroupEditDialog.cs index 9c3a852db..68fb392a8 100644 --- a/OpenKh.Tools.LayoutEditor/Dialogs/SpriteGroupEditDialog.cs +++ b/OpenKh.Tools.LayoutEditor/Dialogs/SpriteGroupEditDialog.cs @@ -1,4 +1,4 @@ -using ImGuiNET; +using ImGuiNET; using OpenKh.Engine.Extensions; using OpenKh.Engine.Renders; using static OpenKh.Tools.Common.CustomImGui.ImGuiEx; diff --git a/OpenKh.Tools.LayoutEditor/Interfaces/IApp.cs b/OpenKh.Tools.LayoutEditor/Interfaces/IApp.cs index 6676a9b5b..83f8c2f8a 100644 --- a/OpenKh.Tools.LayoutEditor/Interfaces/IApp.cs +++ b/OpenKh.Tools.LayoutEditor/Interfaces/IApp.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace OpenKh.Tools.LayoutEditor.Interfaces { diff --git a/OpenKh.Tools.LayoutEditor/Interfaces/IEditorSettings.cs b/OpenKh.Tools.LayoutEditor/Interfaces/IEditorSettings.cs index d96d2844b..9661f1e17 100644 --- a/OpenKh.Tools.LayoutEditor/Interfaces/IEditorSettings.cs +++ b/OpenKh.Tools.LayoutEditor/Interfaces/IEditorSettings.cs @@ -1,4 +1,4 @@ -using OpenKh.Engine.Renders; +using OpenKh.Engine.Renders; namespace OpenKh.Tools.LayoutEditor.Interfaces { diff --git a/OpenKh.Tools.LayoutEditor/Interfaces/ISaveBar.cs b/OpenKh.Tools.LayoutEditor/Interfaces/ISaveBar.cs index 7b38ad090..b6b243543 100644 --- a/OpenKh.Tools.LayoutEditor/Interfaces/ISaveBar.cs +++ b/OpenKh.Tools.LayoutEditor/Interfaces/ISaveBar.cs @@ -1,4 +1,4 @@ -using OpenKh.Kh2; +using OpenKh.Kh2; namespace OpenKh.Tools.LayoutEditor.Interfaces { diff --git a/OpenKh.Tools.LayoutEditor/Interfaces/ITextureBinder.cs b/OpenKh.Tools.LayoutEditor/Interfaces/ITextureBinder.cs index aed5e6548..37f77cba7 100644 --- a/OpenKh.Tools.LayoutEditor/Interfaces/ITextureBinder.cs +++ b/OpenKh.Tools.LayoutEditor/Interfaces/ITextureBinder.cs @@ -1,4 +1,4 @@ -using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Graphics; using OpenKh.Engine.MonoGame; using OpenKh.Engine.Renders; using System; diff --git a/OpenKh.Tools.LayoutEditor/Models/SpriteGroupModel.cs b/OpenKh.Tools.LayoutEditor/Models/SpriteGroupModel.cs index bfc9f794d..a3cb71a1e 100644 --- a/OpenKh.Tools.LayoutEditor/Models/SpriteGroupModel.cs +++ b/OpenKh.Tools.LayoutEditor/Models/SpriteGroupModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Engine.Renderers; +using OpenKh.Engine.Renderers; using OpenKh.Engine.Renders; using OpenKh.Kh2; using OpenKh.Kh2.Extensions; diff --git a/OpenKh.Tools.LayoutEditor/Models/SpriteModel.cs b/OpenKh.Tools.LayoutEditor/Models/SpriteModel.cs index b4d5b39ba..6d5c1139f 100644 --- a/OpenKh.Tools.LayoutEditor/Models/SpriteModel.cs +++ b/OpenKh.Tools.LayoutEditor/Models/SpriteModel.cs @@ -1,4 +1,4 @@ -using OpenKh.Engine.Renderers; +using OpenKh.Engine.Renderers; using OpenKh.Engine.Renders; using OpenKh.Kh2; using OpenKh.Tools.LayoutEditor.Interfaces; diff --git a/OpenKh.Tools.LayoutEditor/Program.cs b/OpenKh.Tools.LayoutEditor/Program.cs index 2cd943386..d8cce34e0 100644 --- a/OpenKh.Tools.LayoutEditor/Program.cs +++ b/OpenKh.Tools.LayoutEditor/Program.cs @@ -1,4 +1,4 @@ -using OpenKh.Tools.Common.CustomImGui; +using OpenKh.Tools.Common.CustomImGui; using System; namespace OpenKh.Tools.LayoutEditor diff --git a/OpenKh.Tools.LayoutEditor/Utilities.cs b/OpenKh.Tools.LayoutEditor/Utilities.cs index f132d30bb..a5c8f332b 100644 --- a/OpenKh.Tools.LayoutEditor/Utilities.cs +++ b/OpenKh.Tools.LayoutEditor/Utilities.cs @@ -1,4 +1,4 @@ -using System.Numerics; +using System.Numerics; namespace OpenKh.Tools.LayoutEditor { diff --git a/OpenKh.WinShell.IMDUtilities/MarshalBitmap.cs b/OpenKh.WinShell.IMDUtilities/MarshalBitmap.cs index 6f687e360..ee8cb1bb0 100644 --- a/OpenKh.WinShell.IMDUtilities/MarshalBitmap.cs +++ b/OpenKh.WinShell.IMDUtilities/MarshalBitmap.cs @@ -27,7 +27,7 @@ public MarshalBitmap(int width, int height, byte[] bits) { Width = width; Height = height; - + Bits = new int[width * height]; for (int i = 0; i < bits.Length; i += 4) diff --git a/OpenKh.WinShell.IMZUtilities/MarshalBitmap.cs b/OpenKh.WinShell.IMZUtilities/MarshalBitmap.cs index 397304f7b..dfcedc93f 100644 --- a/OpenKh.WinShell.IMZUtilities/MarshalBitmap.cs +++ b/OpenKh.WinShell.IMZUtilities/MarshalBitmap.cs @@ -27,7 +27,7 @@ public MarshalBitmap(int width, int height, byte[] bits) { Width = width; Height = height; - + Bits = new int[width * height]; for (int i = 0; i < bits.Length; i += 4)