forked from sin365/AxibugEmuOnline
Compare commits
3 Commits
3bbb347e84
...
ef1c43d3fc
Author | SHA1 | Date | |
---|---|---|---|
ef1c43d3fc | |||
ef0ab9ccb1 | |||
cd49086ddf |
@ -13,7 +13,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
void Pause();
|
void Pause();
|
||||||
void Resume();
|
void Resume();
|
||||||
void SetupScheme();
|
void SetupScheme();
|
||||||
void StartGame(RomFile romFile);
|
MsgBool StartGame(RomFile romFile);
|
||||||
void DoReset();
|
void DoReset();
|
||||||
IControllerSetuper GetControllerSetuper();
|
IControllerSetuper GetControllerSetuper();
|
||||||
|
|
||||||
|
@ -56,19 +56,27 @@ namespace AxibugEmuOnline.Client.Manager
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_emuCore.StartGame(romFile);
|
var result = m_emuCore.StartGame(romFile);
|
||||||
LaunchUI.Instance.HideMainMenu();
|
if (result)
|
||||||
InGameUI.Instance.Show(romFile, m_emuCore);
|
{
|
||||||
|
LaunchUI.Instance.HideMainMenu();
|
||||||
m_emuCore.SetupScheme();
|
InGameUI.Instance.Show(romFile, m_emuCore);
|
||||||
|
|
||||||
m_controllerSetuper = m_emuCore.GetControllerSetuper();
|
|
||||||
|
|
||||||
//自动分配0号手柄到0号手柄位
|
m_emuCore.SetupScheme();
|
||||||
m_controllerSetuper.SetConnect(con0ToSlot: 0);
|
|
||||||
Eventer.Instance.PostEvent(EEvent.OnControllerConnectChanged);
|
m_controllerSetuper = m_emuCore.GetControllerSetuper();
|
||||||
|
|
||||||
Eventer.Instance.RegisterEvent(EEvent.OnRoomSlotDataChanged, OnSlotDataChanged);
|
//自动分配0号手柄到0号手柄位
|
||||||
|
m_controllerSetuper.SetConnect(con0ToSlot: 0);
|
||||||
|
Eventer.Instance.PostEvent(EEvent.OnControllerConnectChanged);
|
||||||
|
|
||||||
|
Eventer.Instance.RegisterEvent(EEvent.OnRoomSlotDataChanged, OnSlotDataChanged);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
StopGame();
|
||||||
|
OverlayManager.PopTip(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSlotDataChanged()
|
private void OnSlotDataChanged()
|
||||||
|
@ -95,12 +95,13 @@ namespace AxibugEmuOnline.Client
|
|||||||
var bytes = File.ReadAllBytes(LocalFilePath);
|
var bytes = File.ReadAllBytes(LocalFilePath);
|
||||||
if (Path.GetExtension(LocalFilePath).ToLower() == ".zip")
|
if (Path.GetExtension(LocalFilePath).ToLower() == ".zip")
|
||||||
{
|
{
|
||||||
var zip = new ZipInputStream(new MemoryStream(bytes));
|
var zip = new ZipInputStream(new MemoryStream(bytes));
|
||||||
var entry = zip.GetNextEntry() as ZipEntry;
|
while (true)
|
||||||
|
|
||||||
while (entry != null)
|
|
||||||
{
|
{
|
||||||
if (!entry.Name.ToLower().EndsWith(".nes")) continue;
|
var currentEntry = zip.GetNextEntry();
|
||||||
|
if (currentEntry == null) break;
|
||||||
|
|
||||||
|
if (!currentEntry.Name.ToLower().EndsWith(".nes")) continue;
|
||||||
|
|
||||||
var buffer = new byte[1024];
|
var buffer = new byte[1024];
|
||||||
MemoryStream output = new MemoryStream();
|
MemoryStream output = new MemoryStream();
|
||||||
@ -124,38 +125,38 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
private IEnumerator DownloadRemoteRom(Action<byte[]> callback)
|
private IEnumerator DownloadRemoteRom(Action<byte[]> callback)
|
||||||
{
|
{
|
||||||
downloadRequest = AxiHttpProxy.GetDownLoad($"{App.httpAPI.WebHost}/{webData.url}");
|
downloadRequest = AxiHttpProxy.GetDownLoad($"{App.httpAPI.WebHost}/{webData.url}");
|
||||||
|
|
||||||
while (!downloadRequest.downloadHandler.isDone)
|
while (!downloadRequest.downloadHandler.isDone)
|
||||||
{
|
{
|
||||||
yield return null;
|
yield return null;
|
||||||
Debug.Log($"下载进度:{downloadRequest.downloadHandler.DownLoadPr} ->{downloadRequest.downloadHandler.loadedLenght}/{downloadRequest.downloadHandler.NeedloadedLenght}");
|
Debug.Log($"下载进度:{downloadRequest.downloadHandler.DownLoadPr} ->{downloadRequest.downloadHandler.loadedLenght}/{downloadRequest.downloadHandler.NeedloadedLenght}");
|
||||||
}
|
}
|
||||||
AxiHttpProxy.ShowAxiHttpDebugInfo(downloadRequest.downloadHandler);
|
AxiHttpProxy.ShowAxiHttpDebugInfo(downloadRequest.downloadHandler);
|
||||||
|
|
||||||
var request = downloadRequest;
|
var request = downloadRequest;
|
||||||
downloadRequest = null;
|
downloadRequest = null;
|
||||||
|
|
||||||
if (!request.downloadHandler.bHadErr)
|
if (!request.downloadHandler.bHadErr)
|
||||||
callback(request.downloadHandler.data);
|
callback(request.downloadHandler.data);
|
||||||
else
|
else
|
||||||
callback(null);
|
callback(null);
|
||||||
|
|
||||||
//downloadRequest = UnityWebRequest.Get($"{App.httpAPI.WebHost}/{webData.url}");
|
//downloadRequest = UnityWebRequest.Get($"{App.httpAPI.WebHost}/{webData.url}");
|
||||||
//yield return downloadRequest.SendWebRequest();
|
//yield return downloadRequest.SendWebRequest();
|
||||||
|
|
||||||
//var request = downloadRequest;
|
//var request = downloadRequest;
|
||||||
//downloadRequest = null;
|
//downloadRequest = null;
|
||||||
|
|
||||||
//if (request.result != UnityWebRequest.Result.Success)
|
//if (request.result != UnityWebRequest.Result.Success)
|
||||||
//{
|
//{
|
||||||
// callback(null);
|
// callback(null);
|
||||||
//}
|
//}
|
||||||
//else
|
//else
|
||||||
//{
|
//{
|
||||||
// callback(request.downloadHandler.data);
|
// callback(request.downloadHandler.data);
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetWebData(HttpAPI.Resp_RomInfo resp_RomInfo)
|
public void SetWebData(HttpAPI.Resp_RomInfo resp_RomInfo)
|
||||||
{
|
{
|
||||||
|
@ -63,7 +63,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 指定ROM开始游戏
|
/// 指定ROM开始游戏
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void StartGame(RomFile rom)
|
public MsgBool StartGame(RomFile rom)
|
||||||
{
|
{
|
||||||
StopGame();
|
StopGame();
|
||||||
|
|
||||||
@ -76,11 +76,13 @@ namespace AxibugEmuOnline.Client
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
NesCore = new NES(rom.FileName);
|
NesCore = new NES(rom.FileName);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
NesCore = null;
|
NesCore = null;
|
||||||
App.log.Error(ex.ToString());
|
App.log.Error(ex.ToString());
|
||||||
|
return ex.Message;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,7 +207,7 @@ namespace VirtualNes
|
|||||||
{
|
{
|
||||||
for (byte i = 0; i < 8; i++)
|
for (byte i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
SetCRAM_1K_Bank(i, bank * 8 + 1);
|
SetCRAM_1K_Bank(i, bank * 8 + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ namespace VirtualNes.Core
|
|||||||
irq_latch = 0;
|
irq_latch = 0;
|
||||||
irq_clock = 0;
|
irq_clock = 0;
|
||||||
|
|
||||||
reg[9] = 1;
|
//reg[9] = 1;
|
||||||
|
|
||||||
SetPROM_32K_Bank(0, 1, PROM_8K_SIZE - 2, PROM_8K_SIZE - 1);
|
SetPROM_32K_Bank(0, 1, PROM_8K_SIZE - 2, PROM_8K_SIZE - 1);
|
||||||
SetVROM_8K_Bank(0);
|
SetVROM_8K_Bank(0);
|
||||||
|
@ -19,7 +19,7 @@ namespace VirtualNes.Core
|
|||||||
raw3 = (uint)states[3];
|
raw3 = (uint)states[3];
|
||||||
valid = true;
|
valid = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool HasButton(int player, EnumButtonType button)
|
public bool HasButton(int player, EnumButtonType button)
|
||||||
{
|
{
|
||||||
uint raw = player switch
|
uint raw = player switch
|
||||||
|
Loading…
Reference in New Issue
Block a user