mirror of https://github.com/mgba-emu/mgba.git
Add more rr tags, some implemented
This commit is contained in:
parent
35bf1f3990
commit
6845454969
|
@ -211,14 +211,34 @@ enum GBARRTag _readTag(struct GBARRContext* rr, struct VFile* vf) {
|
||||||
case TAG_INPUT:
|
case TAG_INPUT:
|
||||||
vf->read(vf, &rr->currentInput, sizeof(uint16_t));
|
vf->read(vf, &rr->currentInput, sizeof(uint16_t));
|
||||||
break;
|
break;
|
||||||
|
case TAG_PREVIOUSLY:
|
||||||
|
vf->read(vf, &rr->previously, sizeof(rr->previously));
|
||||||
|
break;
|
||||||
case TAG_NEXT_TIME:
|
case TAG_NEXT_TIME:
|
||||||
vf->read(vf, &rr->nextTime, sizeof(rr->nextTime));
|
vf->read(vf, &rr->nextTime, sizeof(rr->nextTime));
|
||||||
break;
|
break;
|
||||||
|
case TAG_MAX_STREAM:
|
||||||
|
vf->read(vf, &rr->maxStreamId, sizeof(rr->maxStreamId));
|
||||||
|
break;
|
||||||
|
case TAG_FRAME_COUNT:
|
||||||
|
vf->read(vf, &rr->frames, sizeof(rr->frames));
|
||||||
|
break;
|
||||||
|
case TAG_LAG_COUNT:
|
||||||
|
vf->read(vf, &rr->lagFrames, sizeof(rr->lagFrames));
|
||||||
|
break;
|
||||||
|
|
||||||
|
// To be spec'd
|
||||||
|
case TAG_RR_COUNT:
|
||||||
|
case TAG_INIT_TYPE:
|
||||||
|
case TAG_AUTHOR:
|
||||||
|
case TAG_COMMENT:
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Empty markers
|
||||||
case TAG_FRAME:
|
case TAG_FRAME:
|
||||||
case TAG_LAG:
|
case TAG_LAG:
|
||||||
case TAG_BEGIN:
|
case TAG_BEGIN:
|
||||||
case TAG_END:
|
case TAG_END:
|
||||||
case TAG_PREVIOUSLY:
|
|
||||||
case TAG_INVALID:
|
case TAG_INVALID:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,14 +8,28 @@ struct VDir;
|
||||||
struct VFile;
|
struct VFile;
|
||||||
|
|
||||||
enum GBARRTag {
|
enum GBARRTag {
|
||||||
|
// Playback tags
|
||||||
TAG_INVALID = 0x00,
|
TAG_INVALID = 0x00,
|
||||||
TAG_INPUT = 0x01,
|
TAG_INPUT = 0x01,
|
||||||
TAG_FRAME = 0x02,
|
TAG_FRAME = 0x02,
|
||||||
TAG_LAG = 0x03,
|
TAG_LAG = 0x03,
|
||||||
|
|
||||||
|
// Stream chunking tags
|
||||||
TAG_BEGIN = 0x10,
|
TAG_BEGIN = 0x10,
|
||||||
TAG_END = 0x11,
|
TAG_END = 0x11,
|
||||||
TAG_PREVIOUSLY = 0x12,
|
TAG_PREVIOUSLY = 0x12,
|
||||||
TAG_NEXT_TIME = 0x13
|
TAG_NEXT_TIME = 0x13,
|
||||||
|
TAG_MAX_STREAM = 0x14,
|
||||||
|
|
||||||
|
// Recording information tags
|
||||||
|
TAG_FRAME_COUNT = 0x20,
|
||||||
|
TAG_LAG_COUNT = 0x21,
|
||||||
|
TAG_RR_COUNT = 0x22,
|
||||||
|
TAG_INIT_TYPE = 0x23,
|
||||||
|
|
||||||
|
// User metadata tags
|
||||||
|
TAG_AUTHOR = 0x30,
|
||||||
|
TAG_COMMENT = 0x31
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GBARRContext {
|
struct GBARRContext {
|
||||||
|
@ -39,6 +53,7 @@ struct GBARRContext {
|
||||||
uint16_t currentInput;
|
uint16_t currentInput;
|
||||||
enum GBARRTag peekedTag;
|
enum GBARRTag peekedTag;
|
||||||
uint32_t nextTime;
|
uint32_t nextTime;
|
||||||
|
uint32_t previously;
|
||||||
};
|
};
|
||||||
|
|
||||||
void GBARRContextCreate(struct GBA*);
|
void GBARRContextCreate(struct GBA*);
|
||||||
|
|
Loading…
Reference in New Issue