40 lines
		
	
	
		
			785 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			785 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef _INCLUDE_SP_DECOMP_ENGINE_H_
 | |
| #define _INCLUDE_SP_DECOMP_ENGINE_H_
 | |
| 
 | |
| #include <stdio.h>
 | |
| #include "file_format.h"
 | |
| #include "code_analyzer.h"
 | |
| 
 | |
| class PrintBuffer
 | |
| {
 | |
| public:
 | |
| 	PrintBuffer();
 | |
| 	~PrintBuffer();
 | |
| public:
 | |
| 	void Set(const char *fmt, ...);
 | |
| 	void Append(const char *fmt, ...);
 | |
| 	void Prepend(const char *fmt, ...);
 | |
| 	void Reset();
 | |
| 	void Dump(FILE *fp);
 | |
| private:
 | |
| 	void Grow(size_t len);
 | |
| private:
 | |
| 	char *printbuf;
 | |
| 	size_t printbuf_alloc;
 | |
| 	size_t printbuf_pos;
 | |
| };
 | |
| 
 | |
| struct sp_decomp_t
 | |
| {
 | |
| 	sp_file_t *plugin;
 | |
| 	sp_opdef_t opdef[OP_TOTAL+1];
 | |
| 	FunctionInfo *funcs;
 | |
| 	cell_t *pcode_map;
 | |
| 	FunctionInfo *natives;
 | |
| };
 | |
| 
 | |
| sp_decomp_t *Sp_InitDecomp(const char *file, int *err);
 | |
| void Sp_FreeDecomp(sp_decomp_t *decomp);
 | |
| 
 | |
| #endif //_INCLUDE_SP_DECOMP_ENGINE_H_
 |