Assorted portability enhancements (#1800)

* Introduce some Platform calls for managing dynamic libraries

* Add Platform::WriteFATSectors

* Introduce some Platform calls for managing dynamic libraries

* Add Platform::WriteFATSectors

* Change includes of "../types.h" to "types.h"

- Makes it easier to directly include these headers in downstream projects

* Change an include of "../Wifi.h" to "Wifi.h"

* Allow CommonFuncs.cpp to compile on Android

* Tidy up some logging calls

- Use Platform::Log in LAN_Socket.cpp
- Soften some warnings to Debug logs (since they don't necessarily represent problems)

* Add Platform::EnterGBAMode

- Gracefully stop the emulator if trying to enter GBA mode

* Soften some logs that most players won't care about

* Soften some more logs

* Introduce Platform wrappers for file operations

* Fix pointer spacing

* Fix more style nits

* Log the errno when ftruncate fails

* Fix FileSeek offset argument

- With an s32 offset, we couldn't access files larger than 2GB

* Revise Platform::StopEmu to address feedback

- Remove Platform::EnterGBAMode in favor of adding a reason to Platform::StopEmu
- Also rename Platform::StopEmu to Platform::SignalStop
- Add an optional argument to NDS::Stop
- Use the new argument everywhere that the console stops itself

* Rename FileGetString to FileReadLine

- It conveys the meaning better

* Rename FileSeekOrigin::Set to Start

- It conveys the meaning better

* Change definition of FileGetString to FileReadLine

- Oops, almost forgot it

* Rename FlushFile to FileFlush

- To remain consistent with the other File functions

* Add a FileType usage

* Fix line break in FileSeekOrigin

* Document Platform::DeInit

* Clarify that StopReason::Unknown doesn't always mean an error

* Move and document FileType::HostFile

* Remove Platform::OpenDataFile

- Nothing currently uses it

* Refactor Platform::OpenFile and Platform::OpenLocalFile to accept a FileMode enum instead of a string

- The enum is converted to fopen flags under the hood
- The file type is used to decide whether to add the "b" flag
- Some helper functions are exposed for the benefit of consistent behavior among frontends
- Equivalent behavior is maintained

* Fix a tab that should be spaces

* Use Windows' 64-bit implementations of fseek/ftell

* Move Platform::IsBinaryFile to Platform.cpp

- It could vary by frontend

* Remove an unused FileType

* Rename an enum constant

* Document various Platform items

* Use Platform::DynamicLibrary to load libandroid

- And clean it up at the end

* Fix a typo

* Pass the correct filetype to FATStorage

- Since it can be used for DSI NAND images or for SD cards

* Remove Platform::FileType
This commit is contained in:
Jesse Talavera-Greenberg
2023-08-18 16:50:57 -04:00
committed by GitHub
parent f454eba3c3
commit ee55677086
36 changed files with 787 additions and 443 deletions

View File

@ -356,7 +356,7 @@ u8 DSi_NWifi::F0_Read(u32 addr)
return CIS1[addr & 0xFF];
}
Log(LogLevel::Warn, "NWIFI: unknown func0 read %05X\n", addr);
Log(LogLevel::Debug, "NWIFI: unknown func0 read %05X\n", addr);
return 0;
}
@ -370,7 +370,7 @@ void DSi_NWifi::F0_Write(u32 addr, u8 val)
return;
}
Log(LogLevel::Warn, "NWIFI: unknown func0 write %05X %02X\n", addr, val);
Log(LogLevel::Debug, "NWIFI: unknown func0 write %05X %02X\n", addr, val);
}
@ -582,7 +582,7 @@ void DSi_NWifi::F1_Write(u32 addr, u8 val)
return;
}
Log(LogLevel::Warn, "NWIFI: unknown func1 write %05X %02X\n", addr, val);
Log(LogLevel::Debug, "NWIFI: unknown func1 write %05X %02X\n", addr, val);
}
@ -594,7 +594,7 @@ u8 DSi_NWifi::SDIO_Read(u32 func, u32 addr)
case 1: return F1_Read(addr);
}
Log(LogLevel::Warn, "NWIFI: unknown SDIO read %d %05X\n", func, addr);
Log(LogLevel::Debug, "NWIFI: unknown SDIO read %d %05X\n", func, addr);
return 0;
}
@ -606,7 +606,7 @@ void DSi_NWifi::SDIO_Write(u32 func, u32 addr, u8 val)
case 1: return F1_Write(addr, val);
}
Log(LogLevel::Warn, "NWIFI: unknown SDIO write %d %05X %02X\n", func, addr, val);
Log(LogLevel::Debug, "NWIFI: unknown SDIO write %d %05X %02X\n", func, addr, val);
}
@ -874,7 +874,7 @@ void DSi_NWifi::HTC_Command()
{
u16 svc_id = MB_Read16(0);
u16 conn_flags = MB_Read16(0);
Log(LogLevel::Info, "service connect %04X %04X %04X\n", svc_id, conn_flags, MB_Read16(0));
Log(LogLevel::Debug, "service connect %04X %04X %04X\n", svc_id, conn_flags, MB_Read16(0));
u8 svc_resp[8];
// responses from hardware:
@ -952,7 +952,7 @@ void DSi_NWifi::WMI_Command()
if (ConnectionStatus != 1)
Log(LogLevel::Warn, "WMI: ?? trying to disconnect while not connected\n");
Log(LogLevel::Info, "WMI: disconnect\n");
Log(LogLevel::Debug, "WMI: disconnect\n");
ConnectionStatus = 0;
u8 reply[11];
@ -1218,7 +1218,7 @@ void DSi_NWifi::WMI_ConnectToNetwork()
return;
}
Log(LogLevel::Info, "WMI: connecting to network %s\n", ssid);
Log(LogLevel::Debug, "WMI: connecting to network %s\n", ssid);
u8 reply[20];