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/scene.mm | |
| parent | 02f963a4bab95b3a328b6a792c9a7e027ade0e26 (diff) | |
read cartridges
Diffstat (limited to 'src/scene.mm')
| -rw-r--r-- | src/scene.mm | 8 |
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; } |
