"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Photo = void 0;
const JSONTemplate_1 = require("modloader64_api/JSONTemplate");
class Photo extends JSONTemplate_1.JSONTemplate {
    emulator;
    pictograph_photo_addr = 0x801F0750; //0x2BC0
    pictograph_spec_addr = 0x801F04EA; //0x1
    pictograph_quality_addr = 0x801F04EB; //0x1
    pictograph_unk_addr = 0x801F04EC; //0x1
    save;
    jsonFields = [
        'pictograph_photoChunk',
        'pictograph_spec',
        'pictograph_quality',
        'pictograph_unk'
    ];
    constructor(emulator, save) {
        super();
        this.emulator = emulator;
        this.save = save;
    }
    get pictograph_photoChunk() {
        return this.emulator.rdramReadBuffer(this.pictograph_photo_addr, 0x2BC0);
    }
    set pictograph_photoChunk(buf) {
        this.emulator.rdramWriteBuffer(this.pictograph_photo_addr, buf);
    }
    get pictograph_spec() {
        return this.emulator.rdramRead8(this.pictograph_spec_addr);
    }
    set pictograph_spec(flag) {
        this.emulator.rdramWrite8(this.pictograph_spec_addr, flag);
    }
    get pictograph_quality() {
        return this.emulator.rdramRead8(this.pictograph_quality_addr);
    }
    set pictograph_quality(flag) {
        this.emulator.rdramWrite8(this.pictograph_quality_addr, flag);
    }
    get pictograph_unk() {
        return this.emulator.rdramRead8(this.pictograph_unk_addr);
    }
    set pictograph_unk(flag) {
        this.emulator.rdramWrite8(this.pictograph_unk_addr, flag);
    }
    get pictograph_used() {
        return this.save.pictoboxUsed;
    }
    set pictograph_used(b) {
        this.save.pictoboxUsed = b;
    }
}
exports.Photo = Photo;
//# sourceMappingURL=Photo.js.map