⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atflashimporter.cpp

📁 flash文件的解码程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include <stdafx.h>
#include "AtFlashImporter.h"
#include "AtError.h"
#include <iostream>

AtFlashImportHandler::~AtFlashImportHandler()
{
}

void AtFlashImportHandler::Import(FlashHeader &data)
{
#if 0
	std::cout << "\n<FLASH FILE HEADER>\n";
	std::cout << "File Version: "<< (int)data.GetVersion() << "\n";
	std::cout << "Frame Size (x): "  << (data.GetScreenSize().GetX2()) << "\n";
	std::cout << "Frame Size (y): "  << (data.GetScreenSize().GetY2()) << "\n";
	std::cout << "Frame Rate: "  << data.GetFrameRate().ConvertToDouble() << "\n";
	std::cout << "Frame Count: " << data.GetFrameCount() << "\n";
	std::cout << "File Length: " << data.GetFilesize() << "\n";
#endif
}

void AtFlashImportHandler::Import(FlashTagHeader &data)
{
#if 0
	std::cout << "\n<UNKNOWN TAG>\n";
	std::cout << "ID: "		<< data.GetTagID() << "\n";
	std::cout << "Length: " << data.GetTagLength() << "\n";
#endif
}

void AtFlashImportHandler::Import(FlashTagRemoveObject *data)
{
#if 0
	std::cout << "\n<RemoveObject>\n";
	std::cout << "Character ID: " << data.GetCharID() << "\n";
	std::cout << "Depth: "        << data.GetDepth() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagRemoveObject2 *data)
{
#if 0
	std::cout << "\n<RemoveObject2>\n";
	std::cout << "Depth: "        << data.GetDepth() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagPlaceObject *data)
{
#if 0
	std::cout << "\n<PlaceObject>\n";
	std::cout << "Character ID: " << data.GetCharID() << "\n";
	std::cout << "Depth: "		  << data.GetDepth() << "\n";
	std::cout << "Matrix: "		  << "\n";
	PrintMatrix(data.GetMatrix());
	if(data.HasColorTransform())  std::cout << "HasColorTransform: true"  << "\n"; 
	else						std::cout << "HasColorTransform: false" << "\n"; 
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagPlaceObject2 *data)
{
#if 0
	std::cout << "\n<PlaceObject2>\n";
	std::cout << "Depth: "		  << data.GetDepth() << "\n";
	
	if(data.HasCharID())		std::cout << "HasCharID: true [" << data.GetCharID() << "]\n"; 
	else						std::cout << "HasCharID: false" << "\n"; 
	if(data.HasMatrix())
	{
		std::cout << "HasMatrix: true"  << "\n"; 
		PrintMatrix(data.GetMatrix());
	}
	else						std::cout << "HasMatrix: false" << "\n"; 
	
	if(data.HasColorTransform())
	{
		std::cout << "HasColorTransform: true"  << "\n"; 
		PrintCFX(data.GetColorTransform());
	}
	else						std::cout << "HasColorTransform: false" << "\n"; 
	if(data.HasMove())			std::cout << "HasMove: true"  << "\n"; 
	else						std::cout << "HasMove: false" << "\n"; 
	if(data.HasRatio())			std::cout << "HasRatio: true ["  << data.GetRatio() << "]\n"; 
	else						std::cout << "HasRatio: false" << "\n"; 
	if(data.HasName())			std::cout << "HasName: true ["  << data.GetName() << "]\n"; 
	else						std::cout << "HasName: false" << "\n"; 
#endif
	if ( data->HasCharID() )
	{
		UWORD	oldId = data->GetCharID();
		UWORD	mappedId = mIdMap[ oldId ];
		data->SetCharID( mappedId );
	}

	mFlash->GetPlaceObjectList().push_back( data );
}

void AtFlashImportHandler::Import(FlashTagShowFrame *data) 
{
#if 0
	std::cout << "\n<FlashTagShowFrame>\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagBackgroundColor *data)
{
#if 0
	std::cout << "\n<FlashTagBackgroundColor>\n";
	std::cout << "RGB: " << data.GetRGB().GetR() << ", " << data.GetRGB().GetG() << ", " << data.GetRGB().GetB() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagLabelFrame *data)
{
#if 0
	std::cout << "\n<FlashTagLabelFrame>\n";
	std::cout << "Label: " << data.GetLabel() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagProtect *data)
{
#if 0
	std::cout << "\n<FlashTagProtect>\n";
	if(data.HasPassword())
	{
		std::cout << "Password (Encrypted): " << data.GetEncryptedPassword() << "\n";
	}
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagEnableDebugger *data)
{
#if 0
	std::cout << "\n<FlashTagEnableDebugger>\n";
	
	if(data.HasPassword())
	{
		std::cout << "Password: " << data.GetEncryptedPassword() << "\n";
	}
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDefineBitsPtr *data)
{
#if 0
	std::cout << "\n<FlashTagDefineBitsPtr>\n";
	std::cout << "Ptr: " << data.GetPtr() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagEnd *data)
{
#if 0
	std::cout << "\n<FlashTagEnd>\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagExportAssets *data)
{
#if 0
	std::cout << "\n<FlashTagExportAssets>\n";
	int num = data.GetAssetNum();
	for(int i=0; i < num; i++)
	{
		std::cout << "Asset " << i << " (name): " << data.GetAsset(i).first << "\n"; 
		std::cout << "Asset " << i << " (id):   " << data.GetAsset(i).second << "\n"; 
	}
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagImportAssets *data)
{
#if 0
	std::cout << "\n<FlashTagImportAssets>\n";
	std::cout << "SWF Url: " << data.GetSwfUrl() << "\n";
	int num = data.GetAssetNum();
	for(int i=0; i < num; i++)
	{
		std::cout << "Asset " << i << " (name): " << data.GetAsset(i).first << "\n"; 
		std::cout << "Asset " << i << " (id):   " << data.GetAsset(i).second << "\n"; 
	}
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDoAction *data)
{
#if 0
	std::cout << "\n<FlashTagDoAction>\n";
	std::cout << "Num Actions: " << data.GetNumActions() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDefineBitsJPEG1 *data)
{
#if 0
	std::cout << "\n<FlashTagDefineBitsJPEG1>\n";
	std::cout << "ID:" << data.GetID() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagJPEGTables *data)
{
#if 0
	std::cout << "\n<FlashTagJPEGTables>\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDefineBitsJPEG2 *data) 
{
#if 0
	std::cout << "\n<FlashTagDefineBitsJPEG2>\n";
	std::cout << "ID:" << data.GetID() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDefineBitsJPEG3 *data) 
{
#if 0
	std::cout << "\n<FlashTagDefineBitsJPEG3>\n";
	std::cout << "ID:" << data.GetID() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDefineBitsLossless *data) 
{
#if 0
	std::cout << "\n<FlashTagDefineBitsLossless>\n";
	std::cout << "ID:" << data.GetID() << "\n";
	std::cout << "Format: " << data.GetFormat() << "\n";
	std::cout << "Width: " << data.GetWidth() << " Height: " << data.GetHeight() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDefineBitsLossless2 *data) 
{
#if 0
	std::cout << "\n<FlashTagDefineBitsLossless2>\n";
	std::cout << "ID:" << data.GetID() << "\n";
	std::cout << "Format: " << data.GetFormat() << "\n";
	std::cout << "Width: " << data.GetWidth() << " Height: " << data.GetHeight() << "\n";
#endif
	delete data;
}

void AtFlashImportHandler::Import(FlashTagDefineShape1 *data)
{
#if 0
	std::cout << "\n<FlashTagDefineShape1>\n";
	std::cout << "ID:" << data.GetID() << "\n";
	PrintRect(data.GetShapes().GetBounds());
	PrintRect(data.rimport);
#endif

	// Update the shape's id into the character idspace
	FlashIDFactory	idFactory;
	UWORD	newid = idFactory.GetCharacterID();
	mIdMap[ data->GetID() ] = newid;
	data->SetID( newid );

	mFlash->GetShapeList().push_back( data );
}

void AtFlashImportHandler::Import(FlashTagDefineShape2 *data)
{
#if 0
	std::cout << "\n<FlashTagDefineShape2>\n";
	std::cout << "ID:" << data.GetID() << "\n";
	PrintRect(data.GetShapes().GetBounds());
	PrintRect(data.rimport);
#endif
	// Update the shape's id into the character idspace
	FlashIDFactory	idFactory;
	UWORD	newid = idFactory.GetCharacterID();
	mIdMap[ data->GetID() ] = newid;
	data->SetID( newid );

	mFlash->GetShapeList().push_back( data );
}

⌨️ 快捷键说明

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