diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-01-13 23:04:30 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-01-13 23:04:50 +0100 |
| commit | a2edbedb520f2ada936c00308cc6dfd75717b0d8 (patch) | |
| tree | 65a387b92abaa3105a7090e59c562fd15ef3b636 /src/main.mm | |
| parent | 02f963a4bab95b3a328b6a792c9a7e027ade0e26 (diff) | |
read cartridges
Diffstat (limited to 'src/main.mm')
| -rw-r--r-- | src/main.mm | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/src/main.mm b/src/main.mm index 5207e62..5ca7c5c 100644 --- a/src/main.mm +++ b/src/main.mm @@ -1,44 +1,52 @@ #import "scene.hh" +#import <iostream> #import <Cocoa/Cocoa.h> #import <SpriteKit/SpriteKit.h> int main(int argc, char** argv) { - NSApplication* app = [NSApplication sharedApplication]; + if (argc != 2) + { + std::cerr << "Usage: " << argv[0] << " <rom-path>" << std::endl; + return 1; + } + + auto filePath = [NSString stringWithUTF8String:argv[1]]; + + auto app = [NSApplication sharedApplication]; [app setActivationPolicy:NSApplicationActivationPolicyRegular]; - NSMenuItem* quitItem = [[NSMenuItem alloc] init]; + auto quitItem = [[NSMenuItem alloc] init]; [quitItem setTitle:@"Quit NES"]; [quitItem setKeyEquivalent:@"q"]; [quitItem setKeyEquivalentModifierMask:NSEventModifierFlagCommand]; [quitItem setTarget:app]; [quitItem setAction:@selector(terminate:)]; - NSMenu* menu = [[NSMenu alloc] init]; + auto menu = [[NSMenu alloc] init]; [menu addItem:quitItem]; - NSMenuItem* item = [[NSMenuItem alloc] init]; + auto item = [[NSMenuItem alloc] init]; [item setSubmenu:menu]; - NSMenu* mainMenu = [[NSMenu alloc] init]; + auto mainMenu = [[NSMenu alloc] init]; [mainMenu addItem:item]; [app setMainMenu:mainMenu]; - Scene* scene = [[Scene alloc] init]; - CGSize minSize = [scene size]; - + auto scene = [[Scene alloc] initWithFilePath:filePath]; + auto minSize = [scene size]; - SKView* view = [[SKView alloc] init]; + auto view = [[SKView alloc] init]; [view setIgnoresSiblingOrder:YES]; [view setShowsFPS:YES]; [view presentScene:scene]; - NSWindow* window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0., 0., minSize.width * 2, minSize.height * 2) - styleMask:(NSWindowStyleMaskTitled | NSWindowStyleMaskClosable | - NSWindowMiniaturizeButton | NSWindowStyleMaskResizable) - backing:NSBackingStoreBuffered - defer:false]; + auto window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0., 0., minSize.width * 2, minSize.height * 2) + styleMask:(NSWindowStyleMaskTitled | NSWindowStyleMaskClosable | + NSWindowMiniaturizeButton | NSWindowStyleMaskResizable) + backing:NSBackingStoreBuffered + defer:false]; [window setTitle:@"NES"]; [window setContentAspectRatio:minSize]; [window setContentMinSize:minSize]; |
