📄 fcontrol.h
字号:
#ifndef FCONTROL_H_FILE
#define FCONTROL_H_FILE
#include "FBase.h"
#include "./md5/md5.h"
#include <vector>
#include <string>
class FlashImportHandler;
class FlashTagDefineBitsPtr : public FlashTag
{
DEFINE_RW_INTERFACE
public:
FlashTagDefineBitsPtr(){};
FlashTagDefineBitsPtr(UDWORD ptr) : ref(ptr){}
UDWORD GetPtr() { return ref; }
void SetPtr(UDWORD ptr) { ref = ptr; }
private:
UDWORD ref;
friend std::ostream &operator << (std::ostream &out, FlashTagDefineBitsPtr &data);
friend std::istream &operator >> (std::istream &in, FlashTagDefineBitsPtr &data);
};
class FlashTagProtect : public FlashTag
{
DEFINE_RW_INTERFACE
public:
friend class FlashImportHandler;
FlashTagProtect() : hasPass(false){}
FlashTagProtect(std::string& password) : hasPass(false)
{
hasPass = true;
md5Pass = crypt_md5(password.c_str(), "Aa");
}
std::string GetEncryptedPassword(){return md5Pass;}
void SetEncryptedPassword(std::string& encPassword){
hasPass = true;
md5Pass = encPassword;
}
void SetPassword(std::string& password)
{
hasPass = true;
md5Pass = crypt_md5(password.c_str(), "Aa");;
}
bool HasPassword() { return hasPass; }
private:
bool hasPass;
std::string md5Pass;
friend std::ostream &operator << (std::ostream &out, FlashTagProtect &data);
friend std::istream &operator >> (std::istream &in, FlashTagProtect &data);
};
class FlashTagEnableDebugger : public FlashTag
{
DEFINE_RW_INTERFACE
public:
friend class FlashImportHandler;
FlashTagEnableDebugger() : hasPass(false){}
FlashTagEnableDebugger(std::string& password) : hasPass(false)
{
hasPass = true;
md5Pass = crypt_md5(password.c_str(), "Aa");
}
std::string GetEncryptedPassword(){return md5Pass;}
void SetEncryptedPassword(std::string& encPassword){
hasPass = true;
md5Pass = encPassword;
}
void SetPassword(std::string& password)
{
hasPass = true;
md5Pass = crypt_md5(password.c_str(), "Aa");;
}
bool HasPassword() { return hasPass; }
private:
bool hasPass;
std::string md5Pass;
friend std::ostream &operator << (std::ostream &out, FlashTagEnableDebugger &data);
friend std::istream &operator >> (std::istream &in, FlashTagEnableDebugger &data);
};
class FlashTagBackgroundColor : public FlashTag
{
DEFINE_RW_INTERFACE
public:
FlashTagBackgroundColor() {}
FlashTagBackgroundColor(UBYTE _r, UBYTE _g, UBYTE _b) : r(_r), g(_g), b(_b) {}
FlashTagBackgroundColor(FlashRGB &c) { r = (UBYTE)c.GetR(); g= (UBYTE)c.GetG(); b = (UBYTE)c.GetB(); }
~FlashTagBackgroundColor() {}
FlashRGB GetRGB() { return FlashRGB(r,g,b); }
UBYTE r;
UBYTE g;
UBYTE b;
friend std::ostream &operator << (std::ostream &out, FlashTagBackgroundColor &data);
friend std::istream &operator >> (std::istream &in, FlashTagBackgroundColor &data);
};
class FlashTagLabelFrame : public FlashSpriteEnabled
{
DEFINE_RW_INTERFACE
public:
friend class FlashImportHandler;
FlashTagLabelFrame() {}
FlashTagLabelFrame(char *_str) : str(_str) {}
~FlashTagLabelFrame() { free(str); }
const char *GetLabel() { return str; }
friend class FlashImporter;
friend std::ostream &operator << (std::ostream &out, FlashTagLabelFrame &data);
friend std::istream &operator >> (std::istream &in, FlashTagLabelFrame &data);
private:
char *str;
gc_vector<char *> gc;
};
DECLARE_SIMPLE_TAG2(FlashTagEnd)
class FlashTagExportAssets : public FlashTag
{
DEFINE_RW_INTERFACE
public:
friend class FlashImportHandler;
FlashTagExportAssets() {}
~FlashTagExportAssets() {}
void AddAsset(char *str, UWORD id);
unsigned int GetAssetNum() { return (unsigned int)assets_str.size(); }
flash_pair<char*, UWORD> GetAsset(long num) { return(flash_pair<char*,UWORD>(assets_str[num],assets_id[num])); }
friend std::ostream &operator << (std::ostream &out, FlashTagExportAssets &data);
friend std::istream &operator >> (std::istream &in, FlashTagExportAssets &data);
private:
std::vector <char*> assets_str;
std::vector <UWORD> assets_id;
gc_vector<char *> gc;
};
class FlashTagImportAssets : public FlashTag
{
DEFINE_RW_INTERFACE
FlashTagImportAssets() {}
public:
friend class FlashImportHandler;
FlashTagImportAssets(char *_swfurl) : swfurl(_swfurl) {}
~FlashTagImportAssets() { }
void AddAsset(char *str, UWORD id);
const char *GetSwfUrl() { return swfurl; }
unsigned int GetAssetNum() { return (unsigned int)assets_str.size(); }
flash_pair<char*, UWORD> GetAsset(long num) { return(flash_pair<char*,UWORD>(assets_str[num],assets_id[num])); }
friend std::ostream &operator << (std::ostream &out, FlashTagImportAssets &data);
friend std::istream &operator >> (std::istream &in, FlashTagImportAssets &data);
private:
char *swfurl;
std::vector <char*> assets_str;
std::vector <UWORD> assets_id;
gc_vector<char *> gc;
};
class FlashTagFreeCharacter : public FlashTag
{
DEFINE_RW_INTERFACE
FlashTagFreeCharacter() {}
public:
FlashTagFreeCharacter(UWORD _id) { _id = id; }
UWORD GetID(void) const { return id; }
private:
friend std::ostream &operator << (std::ostream &out, FlashTagFreeCharacter &data);
friend std::istream &operator >> (std::istream &in, FlashTagFreeCharacter &data);
UWORD id;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -