mirror of
https://github.com/mileswolfallen2/OmniEmu2.0.git
synced 2026-09-08 11:23:17 +00:00
update
This commit is contained in:
+1
-18
@@ -1,4 +1,4 @@
|
|||||||
# OmniEmu v0.3.2 Release Notes
|
# OmniEmu v0.3.3 Release Notes
|
||||||
|
|
||||||
> All your games. One place.
|
> All your games. One place.
|
||||||
|
|
||||||
@@ -23,23 +23,6 @@ Browse, back up, and delete game saves across all your emulators.
|
|||||||
- **Restore** — restore any previous backup with one click (new)
|
- **Restore** — restore any previous backup with one click (new)
|
||||||
- **Open Backup Folder** — jump straight to your backups on disk (new)
|
- **Open Backup Folder** — jump straight to your backups on disk (new)
|
||||||
|
|
||||||
### New Emulators
|
|
||||||
Five new emulators added to the library:
|
|
||||||
| Emulator | System | Platforms |
|
|
||||||
|---|---|---|
|
|
||||||
| **Cemu** | Wii U | Windows, macOS, Linux |
|
|
||||||
| **xemu** | Original Xbox | Windows, macOS, Linux |
|
|
||||||
| **Vita3K** | PS Vita | Windows, macOS, Linux |
|
|
||||||
| **Azahar** | Nintendo 3DS | Windows, macOS, Linux |
|
|
||||||
| **Mednafen** | Multi-system | Windows, macOS, Linux |
|
|
||||||
|
|
||||||
### Frontend Support
|
|
||||||
Launch alternative frontends directly from OmniEmu — toggle on in **Settings > Experimental > Frontend Support**:
|
|
||||||
- **ES-DE** — full integration with auto-configuration, scraping, themes, and more
|
|
||||||
- **NeoStation** — Flutter-based frontend with built-in ScreenScraper integration
|
|
||||||
- **Pegasus** — automatic collection file generation from your ROM library
|
|
||||||
- **EmuBuddy** — available to all users (not behind the toggle)
|
|
||||||
|
|
||||||
### Decompilations
|
### Decompilations
|
||||||
Native PC ports built from reverse-engineered source code — toggle on in **Settings > Experimental > Decomp Projects**:
|
Native PC ports built from reverse-engineered source code — toggle on in **Settings > Experimental > Decomp Projects**:
|
||||||
- **Ship of Harkinian** (OoT), **2 Ship 2 Harkinian** (MM), **SoH Demo** — Zelda
|
- **Ship of Harkinian** (OoT), **2 Ship 2 Harkinian** (MM), **SoH Demo** — Zelda
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
OmniEmu is a cross-platform desktop application for managing emulators, launching games, and organizing ROM libraries. Built with Electron, React, and TypeScript.
|
OmniEmu is a cross-platform desktop application for managing emulators, launching games, and organizing ROM libraries. Built with Electron, React, and TypeScript.
|
||||||
|
|
||||||
**Repository:** [github.com/mileswolfallen2/OmniEmu2.0](https://github.com/mileswolfallen2/OmniEmu2.0)
|
**Repository:** [github.com/mileswolfallen2/OmniEmu2.0](https://github.com/mileswolfallen2/OmniEmu2.0)
|
||||||
**Version:** 0.3.2
|
**Version:** 0.3.3
|
||||||
**License:** MIT (Copyright 2026 mileswa1q22)
|
**License:** MIT (Copyright 2026 mileswa1q22)
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -33,7 +33,7 @@ OmniEmu is a cross-platform desktop application for managing emulators, launchin
|
|||||||
|
|
||||||
| Technology | Version | Purpose | License |
|
| Technology | Version | Purpose | License |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| Electron | 43.2.0 | Desktop app shell | MIT |
|
| Electron | 43.3.0 | Desktop app shell | MIT |
|
||||||
| React | 19.2.7 | UI framework | MIT |
|
| React | 19.2.7 | UI framework | MIT |
|
||||||
| React DOM | 19.2.7 | DOM rendering | MIT |
|
| React DOM | 19.2.7 | DOM rendering | MIT |
|
||||||
| TypeScript | 5.9.3 | Type-safe language | Apache-2.0 |
|
| TypeScript | 5.9.3 | Type-safe language | Apache-2.0 |
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "omniemu2",
|
"name": "omniemu2",
|
||||||
"version": "0.3.2",
|
"version": "0.3.3",
|
||||||
"description": "Cross-platform emulator manager, game launcher and ROM manager",
|
"description": "Cross-platform emulator manager, game launcher and ROM manager",
|
||||||
"main": "dist/main/index.js",
|
"main": "dist/main/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"allowScripts": {
|
"allowScripts": {
|
||||||
"electron@43.2.0": true,
|
"electron@43.3.0": true,
|
||||||
"[email protected]": true,
|
"[email protected]": true,
|
||||||
"[email protected]": true
|
"[email protected]": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -306,7 +306,7 @@ async function fetchRemotePresets(): Promise<Record<string, ConfigPreset[]> | nu
|
|||||||
const { get } = await import('https');
|
const { get } = await import('https');
|
||||||
const data = await new Promise<string>((resolve, reject) => {
|
const data = await new Promise<string>((resolve, reject) => {
|
||||||
get(presetSourceUrl, {
|
get(presetSourceUrl, {
|
||||||
headers: { 'User-Agent': 'OmniEmu/0.3.2' },
|
headers: { 'User-Agent': 'OmniEmu/0.3.3' },
|
||||||
timeout: 10000,
|
timeout: 10000,
|
||||||
}, (res) => {
|
}, (res) => {
|
||||||
if (res.statusCode !== 200) { reject(new Error(`HTTP ${res.statusCode}`)); return; }
|
if (res.statusCode !== 200) { reject(new Error(`HTTP ${res.statusCode}`)); return; }
|
||||||
|
|||||||
+1
-1
@@ -67,7 +67,7 @@ function writeRetroarchCfg(cfgPath: string, lines: string[]): void {
|
|||||||
function httpsGetBuffer(url: string): Promise<Buffer> {
|
function httpsGetBuffer(url: string): Promise<Buffer> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const req = httpsGet(url, {
|
const req = httpsGet(url, {
|
||||||
headers: { 'User-Agent': 'OmniEmu/0.3.2' },
|
headers: { 'User-Agent': 'OmniEmu/0.3.3' },
|
||||||
timeout: 15000,
|
timeout: 15000,
|
||||||
}, (res) => {
|
}, (res) => {
|
||||||
if (res.statusCode === 301 || res.statusCode === 302) {
|
if (res.statusCode === 301 || res.statusCode === 302) {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ function downloadFile(url: string, dest: string, onProgress: (pct: number) => vo
|
|||||||
if (redirects > 10) { reject(new Error('Too many redirects')); return; }
|
if (redirects > 10) { reject(new Error('Too many redirects')); return; }
|
||||||
const protocol = currentUrl.startsWith('https') ? httpsGet : httpGet;
|
const protocol = currentUrl.startsWith('https') ? httpsGet : httpGet;
|
||||||
const opts: RequestOptions = {
|
const opts: RequestOptions = {
|
||||||
headers: { 'User-Agent': 'OmniEmu/0.3.2' },
|
headers: { 'User-Agent': 'OmniEmu/0.3.3' },
|
||||||
timeout: 30000,
|
timeout: 30000,
|
||||||
};
|
};
|
||||||
protocol(currentUrl, opts, (response) => {
|
protocol(currentUrl, opts, (response) => {
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@ const raConsoleIds: Record<string, number> = {
|
|||||||
/** Platforms where RetroAchievements is actually supported and has a decent game count */
|
/** Platforms where RetroAchievements is actually supported and has a decent game count */
|
||||||
export const raSupportedPlatforms = new Set(Object.keys(raConsoleIds));
|
export const raSupportedPlatforms = new Set(Object.keys(raConsoleIds));
|
||||||
|
|
||||||
const userAgent = 'OmniEmu/0.3.2';
|
const userAgent = 'OmniEmu/0.3.3';
|
||||||
|
|
||||||
function fetchText(url: string): Promise<string> {
|
function fetchText(url: string): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export function Sidebar({ currentPage, onNavigate }: TopBarProps) {
|
|||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</nav>
|
</nav>
|
||||||
<div className="topbar-version">v0.3.2</div>
|
<div className="topbar-version">v0.3.3</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -396,7 +396,7 @@ export function SettingsPage() {
|
|||||||
<div className="settings-section">
|
<div className="settings-section">
|
||||||
<h3>About</h3>
|
<h3>About</h3>
|
||||||
<p className="text-sm text-muted">
|
<p className="text-sm text-muted">
|
||||||
OmniEmu v{updateInfo?.version || '0.3.2'} · Cross-platform emulator manager
|
OmniEmu v{updateInfo?.version || '0.3.3'} · Cross-platform emulator manager
|
||||||
<br />
|
<br />
|
||||||
Built with Electron + React + TypeScript
|
Built with Electron + React + TypeScript
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* ═══════════════════════════════════════════════════
|
/* ═══════════════════════════════════════════════════
|
||||||
OmniEmu v0.3.2 — Website-matched design system
|
OmniEmu v0.3.3 — Website-matched design system
|
||||||
═══════════════════════════════════════════════════ */
|
═══════════════════════════════════════════════════ */
|
||||||
|
|
||||||
*, *::before, *::after {
|
*, *::before, *::after {
|
||||||
|
|||||||
Reference in New Issue
Block a user