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_
 |