| author | Nicholas Hastings <skamonkey@gmail.com> |
| Sun Aug 25 11:01:55 2013 -0400 (2013-08-25) | |
| changeset 4061 | fffdcac63ac3 |
| parent 2325 | 7a24ee5557fb |
| permissions | -rw-r--r-- |
| dvander@2320 | 1 |
#ifndef _INCLUDE_SP_DECOMP_ENGINE_H_ |
| dvander@2320 | 2 |
#define _INCLUDE_SP_DECOMP_ENGINE_H_ |
| dvander@2320 | 3 |
|
| dvander@2320 | 4 |
#include <stdio.h> |
| dvander@2320 | 5 |
#include "file_format.h" |
| dvander@2320 | 6 |
#include "code_analyzer.h" |
| dvander@2320 | 7 |
|
| dvander@2320 | 8 |
class PrintBuffer |
| dvander@2320 | 9 |
{ |
| dvander@2320 | 10 |
public: |
| dvander@2320 | 11 |
PrintBuffer(); |
| dvander@2320 | 12 |
~PrintBuffer(); |
| dvander@2320 | 13 |
public: |
| dvander@2320 | 14 |
void Set(const char *fmt, ...); |
| dvander@2320 | 15 |
void Append(const char *fmt, ...); |
| dvander@2320 | 16 |
void Prepend(const char *fmt, ...); |
| dvander@2320 | 17 |
void Reset(); |
| dvander@2320 | 18 |
void Dump(FILE *fp); |
| dvander@2320 | 19 |
private: |
| dvander@2320 | 20 |
void Grow(size_t len); |
| dvander@2320 | 21 |
private: |
| dvander@2320 | 22 |
char *printbuf; |
| dvander@2320 | 23 |
size_t printbuf_alloc; |
| dvander@2320 | 24 |
size_t printbuf_pos; |
| dvander@2320 | 25 |
}; |
| dvander@2320 | 26 |
|
| dvander@2320 | 27 |
struct sp_decomp_t |
| dvander@2320 | 28 |
{ |
| dvander@2320 | 29 |
sp_file_t *plugin; |
| dvander@2320 | 30 |
sp_opdef_t opdef[OP_TOTAL+1]; |
| dvander@2320 | 31 |
FunctionInfo *funcs; |
| dvander@2320 | 32 |
cell_t *pcode_map; |
| dvander@2325 | 33 |
FunctionInfo *natives; |
| dvander@2320 | 34 |
}; |
| dvander@2320 | 35 |
|
| dvander@2320 | 36 |
sp_decomp_t *Sp_InitDecomp(const char *file, int *err); |
| dvander@2320 | 37 |
void Sp_FreeDecomp(sp_decomp_t *decomp); |
| dvander@2320 | 38 |
|
| dvander@2320 | 39 |
#endif //_INCLUDE_SP_DECOMP_ENGINE_H_ |