Merge pull request 'master' (#110) from Alienjack/AxibugEmuOnline:master into master

Reviewed-on: sin365/AxibugEmuOnline#110
This commit is contained in:
sin365 2025-10-18 10:36:53 +08:00
commit f340888f30
7 changed files with 29 additions and 13 deletions

View File

@ -2507,7 +2507,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 1000, y: 0} m_AnchoredPosition: {x: -647, y: 406}
m_SizeDelta: {x: 72, y: 72} m_SizeDelta: {x: 72, y: 72}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &22223402 --- !u!222 &22223402

View File

@ -7810,6 +7810,14 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.x propertyPath: m_AnchoredPosition.x
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 2293945952282068648, guid: 3b211f31b55a35e44a8fa38666f63383, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2293945952282068648, guid: 3b211f31b55a35e44a8fa38666f63383, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2521876046310890063, guid: 3b211f31b55a35e44a8fa38666f63383, type: 3} - target: {fileID: 2521876046310890063, guid: 3b211f31b55a35e44a8fa38666f63383, type: 3}
propertyPath: m_AnchoredPosition.x propertyPath: m_AnchoredPosition.x
value: 30.929993 value: 30.929993

View File

@ -570,9 +570,6 @@ MonoBehaviour:
- {fileID: 4800000, guid: 57c38351364c92e45aef2dc17245b3ce, type: 3} - {fileID: 4800000, guid: 57c38351364c92e45aef2dc17245b3ce, type: 3}
- {fileID: 4800000, guid: bab7d8f2e62367743930d118a37e824a, type: 3} - {fileID: 4800000, guid: bab7d8f2e62367743930d118a37e824a, type: 3}
- {fileID: 4800000, guid: 5dd9160e7dde4dd4db07347ce4780217, type: 3} - {fileID: 4800000, guid: 5dd9160e7dde4dd4db07347ce4780217, type: 3}
- {fileID: 4800000, guid: d7b367e99136835468184ea471e79e02, type: 3}
- {fileID: 4800000, guid: f63497435389f8548ab973da8535e1b5, type: 3}
- {fileID: 4800000, guid: bef4d98671a3c524f9bfdba0d25e5991, type: 3}
- {fileID: 4800000, guid: fdf9f1937116ab84c97a58a4cf82fbf8, type: 3} - {fileID: 4800000, guid: fdf9f1937116ab84c97a58a4cf82fbf8, type: 3}
IMPORTENT: {fileID: 4747871931704546037, guid: e6f56a07c0ec38946a0257a1e0b8926d, type: 3} IMPORTENT: {fileID: 4747871931704546037, guid: e6f56a07c0ec38946a0257a1e0b8926d, type: 3}
debugger: {fileID: 408101312} debugger: {fileID: 408101312}

View File

@ -201,10 +201,13 @@ namespace AxibugEmuOnline.Client
public void Pop<T>(List<T> menus, int defaultIndex = 0, Action onClose = null) where T : InternalOptionMenu public void Pop<T>(List<T> menus, int defaultIndex = 0, Action onClose = null) where T : InternalOptionMenu
{ {
if (menus == null || menus.Count == 0) return;
if (m_hideTween != null) if (m_hideTween != null)
{ {
m_hideTween.Kill(true); m_hideTween.Kill(true);
} }
if (menus.Count == 0) return;
m_onClose = onClose; m_onClose = onClose;
ReleaseRuntimeMenus(); ReleaseRuntimeMenus();

View File

@ -46,8 +46,16 @@ namespace AxibugEmuOnline.Client
} }
private void SavFile_OnSavSuccessed() private void SavFile_OnSavSuccessed()
{
if (MenuData.SavFile.GetCurrentState() is SaveFile.SyncedState)
{
//如果原本就处于已经同步状态,那么此处将直接转换到上传本地文档的状态
MenuData.SavFile.FSM.ChangeState<SaveFile.UploadingState>();
}
else
{ {
MenuData.SavFile.TrySync(); MenuData.SavFile.TrySync();
}
RefreshUI(); RefreshUI();
} }

View File

@ -5,11 +5,11 @@ namespace VirtualNes
public static class MMU public static class MMU
{ {
// CPU 儊儌儕僶儞僋 // CPU 儊儌儕僶儞僋
public static ArrayRef<byte>[] CPU_MEM_BANK = new ArrayRef<byte>[8]; // 8K扨埵 public static ArrayRef<byte>[] CPU_MEM_BANK = new ArrayRef<byte>[8] { new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>() }; // 8K扨埵
public static byte[] CPU_MEM_TYPE = new byte[8]; public static byte[] CPU_MEM_TYPE = new byte[8];
public static int[] CPU_MEM_PAGE = new int[8]; // 僗僥乕僩僙乕僽梡 public static int[] CPU_MEM_PAGE = new int[8]; // 僗僥乕僩僙乕僽梡
// PPU 儊儌儕僶儞僋 // PPU 儊儌儕僶儞僋
public static ArrayRef<byte>[] PPU_MEM_BANK = new ArrayRef<byte>[12]; // 1K扨埵 public static ArrayRef<byte>[] PPU_MEM_BANK = new ArrayRef<byte>[12] { new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), new ArrayRef<byte>(), }; // 1K扨埵
public static byte[] PPU_MEM_TYPE = new byte[12]; public static byte[] PPU_MEM_TYPE = new byte[12];
public static int[] PPU_MEM_PAGE = new int[12]; // 僗僥乕僩僙乕僽梡 public static int[] PPU_MEM_PAGE = new int[12]; // 僗僥乕僩僙乕僽梡
public static byte[] CRAM_USED = new byte[16]; // 僗僥乕僩僙乕僽梡 public static byte[] CRAM_USED = new byte[16]; // 僗僥乕僩僙乕僽梡
@ -72,7 +72,7 @@ namespace VirtualNes
internal static void SetPROM_Bank(byte page, byte[] ptr, byte type) internal static void SetPROM_Bank(byte page, byte[] ptr, byte type)
{ {
CPU_MEM_BANK[page] = new ArrayRef<byte>(ptr, 0, ptr.Length); CPU_MEM_BANK[page].SetArray(ptr, 0, ptr.Length);
CPU_MEM_TYPE[page] = type; CPU_MEM_TYPE[page] = type;
CPU_MEM_PAGE[page] = 0; CPU_MEM_PAGE[page] = 0;
} }
@ -101,7 +101,7 @@ namespace VirtualNes
internal static void SetPROM_8K_Bank(byte page, int bank) internal static void SetPROM_8K_Bank(byte page, int bank)
{ {
bank %= PROM_8K_SIZE; bank %= PROM_8K_SIZE;
CPU_MEM_BANK[page] = new ArrayRef<byte>(MMU.PROM, 0x2000 * bank, MMU.PROM.Length - 0x2000 * bank); CPU_MEM_BANK[page].SetArray(MMU.PROM, 0x2000 * bank, MMU.PROM.Length - 0x2000 * bank);
CPU_MEM_TYPE[page] = BANKTYPE_ROM; CPU_MEM_TYPE[page] = BANKTYPE_ROM;
CPU_MEM_PAGE[page] = bank; CPU_MEM_PAGE[page] = bank;
} }
@ -139,7 +139,7 @@ namespace VirtualNes
internal static void SetVROM_1K_Bank(byte page, int bank) internal static void SetVROM_1K_Bank(byte page, int bank)
{ {
bank %= VROM_1K_SIZE; bank %= VROM_1K_SIZE;
PPU_MEM_BANK[page] = new ArrayRef<byte>(VROM, 0x0400 * bank, VROM.Length - (0x0400 * bank)); PPU_MEM_BANK[page].SetArray(VROM, 0x0400 * bank, VROM.Length - (0x0400 * bank));
PPU_MEM_TYPE[page] = BANKTYPE_VROM; PPU_MEM_TYPE[page] = BANKTYPE_VROM;
PPU_MEM_PAGE[page] = bank; PPU_MEM_PAGE[page] = bank;
} }
@ -182,7 +182,7 @@ namespace VirtualNes
internal static void SetCRAM_1K_Bank(byte page, int bank) internal static void SetCRAM_1K_Bank(byte page, int bank)
{ {
bank &= 0x1F; bank &= 0x1F;
PPU_MEM_BANK[page] = new ArrayRef<byte>(MMU.CRAM, 0x0400 * bank, MMU.CRAM.Length - 0x0400 * bank); PPU_MEM_BANK[page].SetArray(MMU.CRAM, 0x0400 * bank, MMU.CRAM.Length - 0x0400 * bank);
PPU_MEM_TYPE[page] = BANKTYPE_CRAM; PPU_MEM_TYPE[page] = BANKTYPE_CRAM;
PPU_MEM_PAGE[page] = bank; PPU_MEM_PAGE[page] = bank;
@ -214,7 +214,7 @@ namespace VirtualNes
internal static void SetVRAM_1K_Bank(byte page, int bank) internal static void SetVRAM_1K_Bank(byte page, int bank)
{ {
bank &= 3; bank &= 3;
PPU_MEM_BANK[page] = new ArrayRef<byte>(VRAM, 0x0400 * bank, VRAM.Length - 0x0400 * bank); PPU_MEM_BANK[page].SetArray(VRAM, 0x0400 * bank, VRAM.Length - 0x0400 * bank);
PPU_MEM_TYPE[page] = BANKTYPE_VRAM; PPU_MEM_TYPE[page] = BANKTYPE_VRAM;
PPU_MEM_PAGE[page] = bank; PPU_MEM_PAGE[page] = bank;
} }

View File

@ -426,7 +426,7 @@ namespace VirtualNes.Core
// 僨僼僅儖僩僶儞僋愝掕 // 僨僼僅儖僩僶儞僋愝掕
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
MMU.CPU_MEM_BANK[i] = null; MMU.CPU_MEM_BANK[i] = new ArrayRef<byte>();
MMU.CPU_MEM_TYPE[i] = MMU.BANKTYPE_ROM; MMU.CPU_MEM_TYPE[i] = MMU.BANKTYPE_ROM;
MMU.CPU_MEM_PAGE[i] = 0; MMU.CPU_MEM_PAGE[i] = 0;
} }