data type support : char,int,define,structure,array[]
file support :
12Sky2 File format 005_00001.IMG - 005_00006.IMG & *.WREGION
for 12Sky1, edit something with load and save at function Compress and Uncompress in index.html file.
url :

How to use:
1.download 12SkyWebTool.rar and extract into web server folder, open browser with your server url
2. Click the Edit Structure button and paste the C ++ structure. Click Save when done.
3.Click the Choose File button, select a file and click Open.

4.Click the Save button when you're finished editing.

5.

6.V2 : CSV function

Credit :
pako.js for zlib compress/uncompress
webix.com for ui framework
and Me for coding
Code:
typedef struct
{
int mVALUE01;
int mVALUE02;
int mVALUE03;
int mVALUE04;
int mCENTER[3];
int mRADIUS;
}
WORLD_REGION_INFO;
//*.WREGION file format structure
typedef struct
{
int lIndex;
int lRangeInfo[3];
int lAttackPower;
int lDefensePower;
int lAttackSuccess;
int lAttackBlock;
int lElementAttack;
int lLife;
int lMana;
}
LEVEL_INFO;
//005_00001.IMG file format structure
#define ITEM_INFO_NAME_NUM 50
#define ITEM_INFO_DESC_NUM 6
#define ITEM_INFO_DESC_LENGTH 101
typedef struct
{
int iIndex;
char iName[ITEM_INFO_NAME_NUM];
char iDescription[ITEM_INFO_DESC_NUM][ITEM_INFO_DESC_LENGTH];
int iType;
int iSort;
int iDataNumber2D;
int iDataNumber3D;
int iAddDataNumber3D;
int iLevel;
int iMartialLevel;
int iEquipInfo[2];
int iBuyCost;
int iSellCost;
int iBuyCPCost;
int iLevelLimit;
int iMartialLevelLimit;
int iCheckMonsterDrop;
int iCheckNPCSell;
int iCheckNPCShop;
int iCheckAvatarDrop;
int iCheckAvatarTrade;
int iCheckAvatarShop;
int iCheckImprove;
int iCheckHighImprove;
int iCheckHighItem;
int iCheckLowItem;
int iCheckExchange;
int iCheckItemSet;
int iCheckExpire;
int iStrength;
int iWisdom;
int iVitality;
int iKi;
int iLuck;
int iAttackPower;
int iDefensePower;
int iAttackSucess;
int iAttackBlock;
int iElementAttackPower;
int iElementDefensePower;
int iCritical;
int iPotionType[2];
int iGainSkillNumber;
int iLastAttackBonusInfo[2];
int iCapeInfo[3];
int iBonusSkillInfo[8][2];
int iUnk[10];
int iBonusHP;
int iBonusMP;
int iunk115_8[8][2];
}
ITEM_INFO;
//005_00002.IMG file format structure
typedef struct
{
int sManaUse;
int sRecoverInfo[2];
int sStunAttack;
int sStunDefense;
int sFastRunSpeed;
int sAttackInfo[3];
int sRunTime;
int sChargingDamageUp;
int sAttackPowerUp;
int sDefensePowerUp;
int sAttackSuccessUp;
int sAttackBlockUp;
int sElementAttackUp;
int sElementDefenseUp;
int sAttackSpeedUp;
int sRunSpeedUp;
int sShieldLifeUp;
int sLuckUp;
int sCriticalUp;
int sReturnSuccessUp;
int sStunDefenseUp;
int sDestroySuccessUp;
}
GRADE_INFO_FOR_SKILL;
//structure for SKILL_INFO
typedef struct
{
int sIndex;
char sName[25];
char sDescription[10][51];
char padd;
int sType;
int sAttackType;
int sDataNumber2D;
int sTribeInfo[2];
int sLearnSkillPoint;
int sMaxUpgradePoint;
int sTotalHitNumber;
int sValidRadius;
GRADE_INFO_FOR_SKILL sGradeInfo[2];
}
SKILL_INFO;
//005_00003.IMG file format structure
#define MONSTER_INFO_NAME_NUM 50
#define MONSTER_INFO_CHAT_NUM 2
#define MONSTER_INFO_CHAT_LENGTH 101
typedef struct
{
int mIndex;
char mName[MONSTER_INFO_NAME_NUM];
char mChatInfo[MONSTER_INFO_CHAT_NUM][MONSTER_INFO_CHAT_LENGTH];
int mType;
int mSpecialType;
int mDamageType;
int mDataSortNumber;
int mSize[4];
int mSizeCategory;
int mCheckCollision;
int mFrameInfo[6];
int mTotalHitNum;
int mHitFrame[3];
int mTotalSkillHitNum;
int mSkillHitFrame[3];
int mBulletInfo[2];
int mSummonTime[2];
int mItemLevel;
int mMartialItemLevel;
int mRealLevel;
int mMartialRealLevel;
int mGeneralExperience;
int mPatExperience;
int mLife;
int mAttackType;
int mRadiusInfo[2];
int mWalkSpeed;
int mRunSpeed;
int mDeathSpeed;
int mAttackPower;
int mDefensePower;
int mAttackSuccess;
int mAttackBlock;
int mElementAttackPower;
int mElementDefensePower;
int mCritical;
int mFollowInfo[2];
int mDropMoneyInfo[3];
int mDropPotionInfo[5][2];
int mDropItemInfo[12];
int mDropQuestItemInfo[2];
int mDropExtraItemInfo[50][2];
int munk115_7[10];
}
MONSTER_INFO;
//005_00004.IMG file format structure
#define MAX_NPC_NAME_LENGTH 50
#define MAX_NPC_SPEECH_NUM 5
#define MAX_NPC_SPEECH_LENGTH 101
typedef struct
{
int nIndex;
char nName[MAX_NPC_NAME_LENGTH];
char nPadd2[2];
int nSpeechNum;
char nSpeech[MAX_NPC_SPEECH_NUM][MAX_NPC_SPEECH_NUM][MAX_NPC_SPEECH_LENGTH];
char nPadd3[3];
int nTribe;
int nType;
int nDataSortNumber2D;
int nDataSortNumber3D;
int nSize[3];
int nMenu[101];
int nShopInfo[3][28];
int nSkillInfo1[3][8];
int nSkillInfo2[3][3][3][8];
int nGambleCostInfo[145][15];
}
NPC_INFO;
//005_00005.IMG file format structure
typedef struct
{
}
QUEST_INFO;
//005_00006.IMG file format structure
typedef struct
{
}
HELP_INFO;
//005_00007.IMG file format structure
typedef struct
{
int a[10];
}
PET_INFO;
//005_00008.IMG file format structure
typedef struct
{
int a[23];
}
COSTUME_INFO;
//005_00009.IMG file format structure
typedef struct
{
int a[19];
}
TITLE_INFO;
//005_00010.IMG file format structure
typedef struct
{
int a[6];
}
CHANGE_TRIBE_INFO;
//005_00011.IMG file format structure






