diff --git a/src/d_datawrap.c b/src/d_datawrap.c index ff80f726b26bf4c091b05906933f2e197114d934..c5de05dfd0ed1c9d7b2eecdf70f8a17c82d6a738 100644 --- a/src/d_datawrap.c +++ b/src/d_datawrap.c @@ -43,6 +43,18 @@ INT16 DW_ReadINT16(DataWrap dw) return READINT16(dw->p); } +INT32 DW_ReadINT32(DataWrap dw) +{ + CheckEOF(dw, 4); + return READINT32(dw->p); +} + +fixed_t DW_ReadFixed(DataWrap dw) +{ + CheckEOF(dw, 4); + return READFIXED(dw->p); +} + char *DW_ReadStringn(DataWrap dw, size_t n) { char *string = ZZ_Alloc(n+1); diff --git a/src/d_datawrap.h b/src/d_datawrap.h index 6bd9c32cd4e269ff517f9cc623ecc8f1bfe8af0e..55090ce64af64240b902e6559fad51b18ea21a57 100644 --- a/src/d_datawrap.h +++ b/src/d_datawrap.h @@ -7,13 +7,16 @@ typedef struct DataWrap_s { jmp_buf *eofjmp; } *DataWrap; -UINT8 DW_ReadUINT8(struct DataWrap_s *); -UINT16 DW_ReadUINT16(struct DataWrap_s *); -UINT32 DW_ReadUINT32(struct DataWrap_s *); +UINT8 DW_ReadUINT8(DataWrap); +UINT16 DW_ReadUINT16(DataWrap); +UINT32 DW_ReadUINT32(DataWrap); -SINT8 DW_ReadSINT8(struct DataWrap_s *); -INT16 DW_ReadINT16(struct DataWrap_s *); +SINT8 DW_ReadSINT8(DataWrap); +INT16 DW_ReadINT16(DataWrap); +INT32 DW_ReadINT32(DataWrap); -char *DW_ReadStringn(struct DataWrap_s *, size_t n); +fixed_t DW_ReadFixed(DataWrap); + +char *DW_ReadStringn(DataWrap, size_t n); DataWrap D_NewDataWrap(const void *data, size_t len, jmp_buf *eofjmp);