summaryrefslogtreecommitdiff
path: root/src/scene.mm
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-01-13 23:04:30 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-01-13 23:04:50 +0100
commita2edbedb520f2ada936c00308cc6dfd75717b0d8 (patch)
tree65a387b92abaa3105a7090e59c562fd15ef3b636 /src/scene.mm
parent02f963a4bab95b3a328b6a792c9a7e027ade0e26 (diff)
read cartridges
Diffstat (limited to 'src/scene.mm')
-rw-r--r--src/scene.mm8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/scene.mm b/src/scene.mm
index 944d01a..1dbcecd 100644
--- a/src/scene.mm
+++ b/src/scene.mm
@@ -70,20 +70,22 @@ namespace
std::unique_ptr<nes::nes> nes_;
}
-- (instancetype)init
+- (instancetype)initWithFilePath:(NSString*)filePath
{
self = [super initWithSize:CGSizeMake(nes::display::width, nes::display::height)];
if (self)
{
- SKSpriteNode* node = [[SKSpriteNode alloc] init];
+ auto node = [[SKSpriteNode alloc] init];
[node setAnchorPoint:CGPointZero];
[node setSize:[self size]];
[self setScaleMode:SKSceneScaleModeAspectFit];
[self addChild:node];
+ auto cartridge = nes::cartridge::from_file([filePath UTF8String]);
+
self->display_ = std::make_unique<display_impl>(node);
- self->nes_ = std::make_unique<nes::nes>(*self->display_);
+ self->nes_ = std::make_unique<nes::nes>(std::move(cartridge), *self->display_);
}
return self;
}