actioncompiler.cpp

来自「这是一个用VC++开发的flashsource端的程序」· C++ 代码 · 共 61 行

CPP
61
字号
#include <iostream>
#include <sstream>

#include "../fbase.h"
#include "../faction.h"
#include "action.h"

#include "actioncompiler.h"

CompiledActions::CompiledActions(char *data, int len)
{
	this->data = (char*)malloc(len);
	memcpy(this->data, data, len);
	this->len = len;
}

void CompiledActions::Write(std::ostream &out)
{
	out.write(data,len);
}
void CompiledActions::Read(std::istream &in)
{	
}


ActionCompiler::ActionCompiler(int version)
{
	this->version = version;		
}	

void ActionCompiler::Compile(char *script, std::ostream &outputStream)
{
	Buffer outputBuffer;

	int success = 0;

	if(version == 4)
	{
		swf4ParseInit(script,0);
		success = swf4parse(&outputBuffer);
	}
	else if(version == 5)
	{	
		swf5ParseInit(script,0);
		success = swf5parse(&outputBuffer);
	}
	else
	{
		//throw Exception("Unsupported flash version");
	}

	if(success != 0)
	{
		//throw Exception("Output buffer is empty");
		return;
	}

	outputStream.write(outputBuffer->buffer, bufferLength(outputBuffer));	        
	destroyBuffer(outputBuffer);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?