|
- #ifndef NESE_STATE_H_
- #define NESE_STATE_H_
-
- #include <stdint.h>
- #include <stdio.h>
- #include <stdlib.h>
-
- #include "input.h"
- #include "overlay.h"
- #include "render.h"
- #include "audio.h"
- #include "nes.h"
-
-
- // Persistent State
-
- typedef struct {
- char* filename;
- FILE* file;
- } cart_info;
-
- void cart_info_done(cart_info*);
-
-
- typedef enum {
- State_Bit_Fullscreen = 0,
- State_Bit_Integer_Scale = 1,
- State_Bit_CRT_Effect = 2,
- } nese_State_Flag_Bits;
-
- typedef struct {
- cart_info cart;
- uint32_t flags; // nese_State_Flag_Bits
- } nese_State;
-
-
- void nese_state_done(nese_State*);
-
-
- int load_prefs_file(nese_State*, FILE*);
- int save_prefs_file(const nese_State*, FILE*);
-
- int load_prefs_filename(nese_State*, const char*);
- int save_prefs_filename(const nese_State*, const char*);
-
-
- // Running State
-
- typedef struct nese_Components {
- nes_Renderer* rend;
- nes_Input_Reader* reader;
- nes_Audio_Stream* audio;
- nes* sys;
- nese_State* state;
- } nese_Components;
-
-
- #endif // NESE_STATE_H_
|