This commit is contained in:
ALIENJACK\alien 2024-07-04 10:41:48 +08:00
parent 63f65b89c9
commit 4a7b6c1458
6 changed files with 125 additions and 186 deletions

View File

@ -1,6 +1,6 @@
#define TRACE
using System;
using System.Diagnostics;
using UnityEngine;
namespace MyNes.Core
{
@ -11,25 +11,25 @@ namespace MyNes.Core
public static void WriteLine(string message)
{
Tracer.EventRaised?.Invoke(null, new TracerEventArgs(message, TracerStatus.Normal));
Trace.WriteLine(message);
Debug.Log(message);
}
public static void WriteLine(string message, string category)
{
Tracer.EventRaised?.Invoke(null, new TracerEventArgs($"{category}: {message}", TracerStatus.Normal));
Trace.WriteLine($"{category}: {message}");
Debug.Log(message);
}
public static void WriteLine(string message, TracerStatus status)
{
Tracer.EventRaised?.Invoke(null, new TracerEventArgs(message, status));
Trace.WriteLine(message);
Debug.Log(message);
}
public static void WriteLine(string message, string category, TracerStatus status)
{
Tracer.EventRaised?.Invoke(null, new TracerEventArgs($"{category}: {message}", status));
Trace.WriteLine($"{category}: {message}");
Debug.Log($"{category}:{message}");
}
public static void WriteError(string message)

View File

@ -122,6 +122,50 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &258485946
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 258485947}
- component: {fileID: 258485948}
m_Layer: 0
m_Name: NesCoreProxy
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &258485947
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 258485946}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &258485948
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 258485946}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac8cd27a180bf3e489b2ca27c821bffe, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &708549044
GameObject:
m_ObjectHideFlags: 0
@ -314,3 +358,4 @@ SceneRoots:
m_Roots:
- {fileID: 1232273654}
- {fileID: 708549046}
- {fileID: 258485947}

View File

@ -1,6 +1,6 @@
{
"name": "AxibugEmuOnline.Client",
"rootNamespace": "",
"rootNamespace": "AxibugEmuOnline.Client",
"references": [
"GUID:0c194730510bd1b4fad0398ccfe4235b"
],

View File

@ -11,146 +11,12 @@ namespace AxibugEmuOnline.Client.Manager
{
public class AppEmu
{
INes _nes;
public static WINSettings Settings { get; private set; }
private bool isMaxing;
private bool isMoving;
private bool pausedByMainWindow;
private bool isMouseVisible;
private int mouseHiderCounter;
private const int mouseHiderReload = 1;
private bool gameLoaded;
private IContainer components;
public AppEmu()
{
}
public void Init()
{
_nes = new INes();
}
internal void LoadGame(string filePath)
{
bool success = false;
switch (Path.GetExtension(filePath).ToLower())
{
case ".nes":
NesEmu.LoadGame(filePath, out success);
break;
case ".7z":
case ".zip":
case ".rar":
case ".gzip":
case ".tar":
case ".bzip2":
case ".xz":
{
string text = filePath;
string text2 = Path.GetTempPath() + "\\MYNES\\";
SevenZipExtractor sevenZipExtractor;
try
{
sevenZipExtractor = new SevenZipExtractor(text);
}
catch (Exception ex)
{
MessageBox.Show(Resources.Message35 + ": \n" + ex.Message);
return;
}
if (sevenZipExtractor.ArchiveFileData.Count == 1)
{
if (sevenZipExtractor.ArchiveFileData[0].FileName.Substring(sevenZipExtractor.ArchiveFileData[0].FileName.Length - 4, 4).ToLower() == ".nes")
{
sevenZipExtractor.ExtractArchive(text2);
text = text2 + sevenZipExtractor.ArchiveFileData[0].FileName;
MyNesMain.Initialize(setupRenderers: false);
MyNesMain.SetVideoProvider();
MyNesMain.SetAudioProvider();
MyNesMain.SetRenderingMethods();
}
}
else
{
List<string> list = new List<string>();
foreach (ArchiveFileInfo archiveFileDatum in sevenZipExtractor.ArchiveFileData)
{
list.Add(archiveFileDatum.FileName);
}
FormFilesList formFilesList = new FormFilesList(list.ToArray());
if (formFilesList.ShowDialog(this) != DialogResult.OK)
{
return;
}
string[] fileNames = new string[1] { formFilesList.SelectedRom };
sevenZipExtractor.ExtractFiles(text2, fileNames);
text = text2 + formFilesList.SelectedRom;
}
NesEmu.LoadGame(text, out success);
break;
}
}
if (success)
{
if (Settings.Misc_RecentFiles == null)
{
Settings.Misc_RecentFiles = new string[0];
}
List<string> list2 = new List<string>(Settings.Misc_RecentFiles);
if (list2.Contains(filePath))
{
list2.Remove(filePath);
}
list2.Insert(0, filePath);
if (list2.Count > 19)
{
list2.RemoveAt(list2.Count - 1);
}
Settings.Misc_RecentFiles = list2.ToArray();
gameLoaded = true;
if (Settings.Win_StartInFullscreen)
{
if (base.WindowState != FormWindowState.Maximized)
{
MyNesMain.VideoProvider.ResizeBegin();
Thread.Sleep(100);
MyNesMain.RendererSettings.Vid_Fullscreen = true;
base.FormBorderStyle = FormBorderStyle.None;
menuStrip1.Visible = false;
base.WindowState = FormWindowState.Maximized;
MyNesMain.VideoProvider.ResizeEnd();
}
}
else if (MyNesMain.RendererSettings.Vid_AutoStretch)
{
ApplyStretch(applyRegion: true);
}
}
ApplyWindowTitle();
}
#region Setting
internal void LoadSettings()
{
base.Location = new Point(Program.Settings.Win_Location_X, Program.Settings.Win_Location_Y);
base.Size = new Size(Program.Settings.Win_Size_W, Program.Settings.Win_Size_H);
for (int i = 0; i < Program.SupportedLanguages.Length / 3; i++)
{
ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem();
toolStripMenuItem.Text = Program.SupportedLanguages[i, 2];
toolStripMenuItem.Checked = Program.SupportedLanguages[i, 0] == Program.Settings.InterfaceLanguage;
interfaceLanguageToolStripMenuItem.DropDownItems.Add(toolStripMenuItem);
}
}
#endregion
}
}

View File

@ -0,0 +1,17 @@
using AxibugEmuOnline.Client.Manager;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client
{
public class NesCoreProxy : MonoBehaviour
{
private AppEmu m_appEnum = new AppEmu();
private void Start()
{
m_appEnum.Init();
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ac8cd27a180bf3e489b2ca27c821bffe
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: