1
0
mirror of https://github.com/ScrelliCopter/VGM-Tools synced 2025-02-21 04:09:25 +11:00

neotools: code fixup & vgz support

This commit is contained in:
2023-12-10 10:37:15 +11:00
parent 9c5e19264b
commit 353d4e5def
4 changed files with 87 additions and 57 deletions

View File

@@ -1,12 +1,38 @@
#ifndef __NEOADPCMEXTRACT_H__
#define __NEOADPCMEXTRACT_H__
#ifndef NEOADPCMEXTRACT_H
#define NEOADPCMEXTRACT_H
#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>
#if USE_ZLIB
#include <zlib.h>
typedef struct gzFile_s nfile;
# define nopen gzopen
# define nclose gzclose
# define nread gzfread
# define ngetc gzgetc
# define nseek gzseek
# define ntell gztell
# define neof gzeof
static inline int nerror(gzFile file) { int err; gzerror(file, &err); return err; }
#else
typedef FILE nfile;
# define nopen fopen
# define nclose fclose
# define nread fread
# define ngetc fgetc
# define nseek fseek
# define ntell ftell
# define neof feof
# define nerror ferror
#endif
typedef struct { uint8_t* data; size_t size, reserved; } Buffer;
int vgmReadSample(FILE* fin, Buffer* buf);
int vgmScanSample(FILE* file);
bool bufferResize(Buffer* buf, size_t size);
#endif//__NEOADPCMEXTRACT_H__
int vgmReadSample(nfile* restrict fin, Buffer* restrict buf);
int vgmScanSample(nfile* file);
#endif//NEOADPCMEXTRACT_H