Skip to content

Storage #13

@magnetardev

Description

@magnetardev

Psudeo-code of some of the tables/general storage stuff we'll need:

table Game {
    id:         @unique(u64)
    name:       string
    system:     GameSystem
    boxart:     ImageRef?   // this should be a URL of some kind, ideally local (but NSCache exists so that may not be an issue)
    sha1:        data
    dateAdded:  date
    datePlayed: date?
}

table Cheat {
    id:         @unique(u64)
    game:       @foreign(Game.id)
    name:       string      // user-picked display name
    enabled:    bool
    format:     string
    code:       string
}

table SaveState {
    game:       u64
    name:       string
    date:       date
    preview:    url?
    path:       url?
}
 
 table ControlBindings {
    id:         @unique(u64)
    auxId:      string      // auxiliary identifier, this is really just used for the controller id
    kind:       ControlBindingKind
    touch:      @foreign(TouchControlBindings.id)?
    gamepad:    @foreign(GamepadControlBindings.id)?
    keyboard:   @foreign(KeyboardControlBindings.id)?
}
 
table TouchControlBindings {
    // TODO: this is a pretty complex storage type...
    id:         @unique(u64)
}

table GamepadControlBindings {
    // TODO: this is a pretty complex storage type...
    id:         @unique(u64)
}

table KeyboardControlBindings {
    // TODO: this is a pretty complex storage type...
    id:         @unique(u64)
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions