summaryrefslogtreecommitdiff
path: root/src/main.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.mm')
-rw-r--r--src/main.mm36
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];