How manic-emu/manicemu works
Manic EMU is an iOS retro-game emulator. The main user path is opening the app, importing or selecting a game, and launching gameplay; the app also provides library management, settings, skins and controls, saves, achievements, synchronization, and online play. The graph reflects documented capabilities and indexed source references. Several feature implementations were not sampled, so their connections are marked unverified rather than asserted as direct calls.
Main entry points: PlayViewController.swift Play Session · GamesViewController.swift Game Library · ImportViewController.swift Game Import · HomeViewController.swift Home Navigation
Components 19
App Navigation
- Scene Lifecycle
ManicEmu/ManicEmu/Sources/Base/ApplicationSceneDelegate.swift - Home Navigation
ManicEmu/ManicEmu/Sources/Business/Home/ViewControllers/HomeViewController.swift
Games and Import
- Game Library
ManicEmu/ManicEmu/Sources/Business/Games/ViewControllers/GamesViewController.swift - Game Records
ManicEmu/ManicEmu/Sources/Business/Play/Models/Game.swift - Game Import
ManicEmu/ManicEmu/Sources/Business/Import/ViewControllers/ImportViewController.swift - Import Providers
ManicEmu/ManicEmu/Sources/Business/Import/Models/ImportService.swift
Gameplay
- Play Session
ManicEmu/ManicEmu/Sources/Business/Play/VIewControllers/PlayViewController.swift - Emulator Cores
ManicEmu/ManicEmu/Sources/Tools/Cores - Controls and Skins
ManicEmu/ManicEmu/Sources/Business/Play/Models/Skin.swift - Cheat Codes
ManicEmu/ManicEmu/Sources/Business/CheatCode/Views/CheatCodeListView.swift - Play History
ManicEmu/ManicEmu/Sources/Business/History/Views/PlayHistoryView.swift
Data and Settings
- Local Database
ManicEmu/ManicEmu/Sources/Tools/Others/Database.swift - App Settings
ManicEmu/ManicEmu/Sources/Business/Settings/Models/Settings.swift - File Sync
ManicEmu/ManicEmu/Sources/Tools/Sync/FilesSyncEngine.swift
Connected Features
- Achievements
ManicEmu/ManicEmu/Sources/Business/RetroAchievements - Online Play
ManicEmu/ManicEmu/Sources/Business/OnlinePlay - AirPlay
ManicEmu/ManicEmu/Sources/Business/AirPlay/ViewController/AirPlayViewController.swift - Cloud Import
ManicEmu/ManicEmu/Sources/Business/Import/Models
Other components
- Player
Connections 22
- Player → Scene Lifecycle: opens app
README.md - Scene Lifecycle → Home Navigation: shows home
- Home Navigation → Game Library: navigates to
ManicEmu/ManicEmu/Sources/Business/Home/ViewControllers/HomeViewController.swift - Home Navigation → Game Import: navigates to
ManicEmu/ManicEmu/Sources/Business/Home/ViewControllers/HomeViewController.swift - Player → Game Import: selects files
README.md - Game Import → Import Providers: uses providers
- Player → Game Library: selects game
README.md - Game Library → Game Records: reads library
ManicEmu/ManicEmu/Sources/Business/Games/ViewControllers/GamesViewController.swift - Game Library → Local Database: queries records
ManicEmu/ManicEmu/Sources/Business/Games/ViewControllers/GamesViewController.swift - Game Records → Play Session: starts session
ManicEmu/ManicEmu/Sources/Business/Play/Models/Game.swift - Play Session → Emulator Cores: dispatches emulation
ManicEmu/ManicEmu/Sources/Business/Play/VIewControllers/PlayViewController.swift - Play Session → Controls and Skins: uses controls
ManicEmu/ManicEmu/Sources/Business/Play/VIewControllers/PlayViewController.swift - Play Session → App Settings: reads settings
ManicEmu/ManicEmu/Sources/Business/Play/VIewControllers/PlayViewController.swift - Play Session → Achievements: reports progress
ManicEmu/ManicEmu/Sources/Business/Play/VIewControllers/PlayViewController.swift - Play Session → Online Play: supports sessions
README.md - Play Session → AirPlay: mirrors display
ManicEmu/ManicEmu/Sources/Business/Play/VIewControllers/PlayViewController.swift - Play Session → Cheat Codes: supports cheats
README.md - Play Session → Play History: records activity
- App Settings → Local Database: persists preferences
ManicEmu/ManicEmu/Sources/Business/Settings/Models/Settings.swift - File Sync → Local Database: syncs game data
README.md - Player → Cloud Import: imports remotely
README.md - Cloud Import → Game Import: provides files