comparison system.h @ 2438:bed4d3db8a3f

More flexible loading of Pico storyware assets
author Michael Pavone <pavone@retrodev.com>
date Sun, 11 Feb 2024 11:04:39 -0800
parents 65c2e4d990cc
children cb62730d5c99
comparison
equal deleted inserted replaced
2437:79a8cccb6ac1 2438:bed4d3db8a3f
2 #define SYSTEM_H_ 2 #define SYSTEM_H_
3 #include <stddef.h> 3 #include <stddef.h>
4 #include <stdint.h> 4 #include <stdint.h>
5 #include <stdio.h> 5 #include <stdio.h>
6 #include "flac.h" 6 #include "flac.h"
7 #include "zip.h"
7 8
8 typedef struct system_header system_header; 9 typedef struct system_header system_header;
9 typedef struct system_media system_media; 10 typedef struct system_media system_media;
10 11
11 typedef enum { 12 typedef enum {
136 char *extension; 137 char *extension;
137 char *orig_path; //Full path before splitting and any extension manipulation 138 char *orig_path; //Full path before splitting and any extension manipulation
138 system_media *chain; 139 system_media *chain;
139 track_info *tracks; 140 track_info *tracks;
140 uint8_t *tmp_buffer; 141 uint8_t *tmp_buffer;
142 zip_file *zip;
141 seek_fun seek; 143 seek_fun seek;
142 read_fun read; 144 read_fun read;
143 read_fun read_subcodes; 145 read_fun read_subcodes;
144 uint32_t num_tracks; 146 uint32_t num_tracks;
145 uint32_t cur_track; 147 uint32_t cur_track;
155 157
156 system_type detect_system_type(system_media *media); 158 system_type detect_system_type(system_media *media);
157 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region); 159 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region);
158 system_header *alloc_config_player(system_type stype, event_reader *reader); 160 system_header *alloc_config_player(system_type stype, event_reader *reader);
159 void system_request_exit(system_header *system, uint8_t force_release); 161 void system_request_exit(system_header *system, uint8_t force_release);
162 void* load_media_subfile(const system_media *media, char *path, uint32_t *sizeout);
160 163
161 #endif //SYSTEM_H_ 164 #endif //SYSTEM_H_