This commit is contained in:
mkwong98 2018-02-07 22:59:45 +08:00
parent ced7a6b15c
commit 40738292fe
12 changed files with 425 additions and 328 deletions

View file

@ -23,3 +23,10 @@ bool condition::compareEqual(condition c){
if(checkLayer && (layer != c.layer)) return false;
return true;
}
void condition::load(fstream& file){
}
void condition::save(fstream& file){
}

View file

@ -27,6 +27,8 @@ class condition
int layer;
bool compareEqual(condition c);
void load(fstream& file);
void save(fstream& file);
protected:

View file

@ -162,6 +162,7 @@ void coreData::load(string path){
else if(lineHdr == "<packPath>"){
packPath = lineTail;
loadPackData();
images.clear();
}
else if(lineHdr == "<palette>"){
vector<string> lineTokens;
@ -172,6 +173,9 @@ void coreData::load(string path){
else if(lineHdr == "<gameObject>"){
main::mForm->loadGameObjs(fs);
}
else if(lineHdr == "<img>"){
addImage(lineTail);
}
}
}
fs.close();
@ -204,12 +208,13 @@ void coreData::save(){
convert.clear();
convert << palette[i].GetRGBA();
s = convert.str();
inifile << "," + s;
inifile << "\n";
inifile << "," + s << "\n";
}
main::mForm->saveGameObjs(inifile);
for(int i = 0; i < images.size(); ++i){
inifile << "<img>" << images[i]->fileName << "\n";
}
inifile.close();
main::mForm->dataSaved();

View file

@ -50,6 +50,7 @@ void gameObjNode::load(fstream& file, wxTreeItemId newItm){
string line;
string lineHdr;
string lineTail;
gameTile g;
getline(file, line);
while(line != "<endGameObject>"){
@ -57,15 +58,30 @@ void gameObjNode::load(fstream& file, wxTreeItemId newItm){
if(found!=string::npos){
lineHdr = line.substr(0, found + 1);
lineTail = line.substr(found + 1);
if(lineHdr == "<type>"){
nodeType = atoi(lineTail.c_str());
}
if(lineHdr == "<name>"){
else if(lineHdr == "<name>"){
nodeName = lineTail;
}
if(lineHdr == "<childObjects>"){
else if(lineHdr == "<bgColour>"){
bgColour = strtol(lineTail.c_str(), NULL, 16);
}
else if(lineHdr == "<isSprite>"){
isSprite = (lineTail == "Y");
}
else if(lineHdr == "<childObjects>"){
main::mForm->loadChildGameObjs(file, newItm);
}
else if(lineHdr == "<tiles>"){
getline(file, line);
while(line != "<endTiles>"){
g.load(file);
addTile(g);
getline(file, line);
}
}
}
getline(file, line);
}
@ -73,16 +89,20 @@ void gameObjNode::load(fstream& file, wxTreeItemId newItm){
void gameObjNode::save(fstream& file, wxTreeItemId newItm){
file << "<gameObject>\n";
file << "<type>" + main::intToStr(nodeType) + "\n";
file << "<type>" << (int)nodeType << "\n";
if(nodeType != GAME_OBJ_NODE_TYPE_ROOT){
file << "<name>" + nodeName + "\n";
file << "<name>" << nodeName << "\n";
}
if(nodeType == GAME_OBJ_NODE_TYPE_OBJECT){
/*
file << "<bgColour>" << main::intToHex(bgColour) << "\n";
file << "<isSprite>" << (isSprite ? "Y" : "N") << "\n";
file << "<tiles>\n";
for(int i = 0; i < tiles.size(); ++i){
tiles[i].save(file);
}
file << "<endTiles>\n";
*/
}
else{
file << "<childObjects>\n";

View file

@ -43,3 +43,71 @@ bool gameTile::compareEqual(gameTile t){
if(!id.compareEqual(t.id)) return false;
return true;
}
void gameTile::load(fstream& file){
string line;
string lineHdr;
string lineTail;
vector<string> tailStrs;
condition g;
getline(file, line);
while(line != "<endGameTile>"){
size_t found = line.find_first_of(">");
if(found!=string::npos){
lineHdr = line.substr(0, found + 1);
lineTail = line.substr(found + 1);
main::split(lineTail, ',', tailStrs);
if(lineHdr == "<tileReference>"){
id.load(file);
}
else if(lineHdr == "<objCoord>"){
objCoordX = atoi(tailStrs[0].c_str());
objCoordY = atoi(tailStrs[1].c_str());
}
else if(lineHdr == "<flip>"){
hFlip = (tailStrs[0] == "Y");
vFlip = (tailStrs[1] == "Y");
}
else if(lineHdr == "<replacement>"){
hasReplacement = (tailStrs[0] == "Y");
isDefault = (tailStrs[1] == "Y");
img = atoi(tailStrs[2].c_str());
x = atoi(tailStrs[3].c_str());
y = atoi(tailStrs[4].c_str());
brightness = atof(tailStrs[5].c_str());
}
else if(lineHdr == "<conditions>"){
getline(file, line);
while(line != "<endConditions>"){
g.load(file);
conditions.push_back(g);
getline(file, line);
}
}
}
getline(file, line);
}
}
void gameTile::save(fstream& file){
file << "<gameTile>\n";
id.save(file);
file << "<objCoord>" << objCoordX << "," << objCoordY << "\n";
file << "<flip>" << (hFlip ? "Y" : "N") << "," << (vFlip ? "Y" : "N") << "\n";
file << "<replacement>" << (hasReplacement ? "Y" : "N")
<< "," << (isDefault ? "Y" : "N")
<< "," << img
<< "," << x
<< "," << y
<< "," << brightness
<< "\n";
file << "<conditions>\n";
for(int i = 0; i < conditions.size(); ++i){
conditions[i].save(file);
}
file << "<endConditions>\n";
file << "<endGameTile>\n";
}

View file

@ -30,7 +30,8 @@ class gameTile
void readLine(string s);
bool compareEqual(gameTile t);
void load(fstream& file);
void save(fstream& file);
protected:
private:

View file

@ -2135,7 +2135,7 @@
"begin_code.h"
"close_code.h"
1517566596 source:c:\work\hdnesr\trunk\hdnespackeditor\hdnespackeditormainform.cpp
1517994036 source:c:\work\hdnesr\trunk\hdnespackeditor\hdnespackeditormainform.cpp
"hdnesPackEditormainForm.h"
"hdnesPackEditornewProjectDialog.h"
"hdnesPackEditorcolourSelectDialog.h"
@ -3465,15 +3465,15 @@
1515164614 c:\work\hdnes\trunk\hdnespackeditor\image.h
"common.h"
1515742600 source:c:\work\hdnesr\trunk\hdnespackeditor\condition.cpp
1517989439 source:c:\work\hdnesr\trunk\hdnespackeditor\condition.cpp
"condition.h"
1515741860 c:\work\hdnesr\trunk\hdnespackeditor\condition.h
1517989440 c:\work\hdnesr\trunk\hdnespackeditor\condition.h
"common.h"
"classList.h"
"tileReference.h"
1517565334 source:c:\work\hdnesr\trunk\hdnespackeditor\coredata.cpp
1517995390 source:c:\work\hdnesr\trunk\hdnespackeditor\coredata.cpp
"common.h"
"coreData.h"
"image.h"
@ -3665,7 +3665,7 @@
"wx/grid.h"
"wx/datetime.h"
1505786148 source:c:\work\hdnesr\trunk\hdnespackeditor\hdnespackeditorcolourselectdialog.cpp
1517994036 source:c:\work\hdnesr\trunk\hdnespackeditor\hdnespackeditorcolourselectdialog.cpp
"common.h"
"hdnesPackEditorcolourSelectDialog.h"
"coreData.h"
@ -3807,7 +3807,7 @@
"wx/window.h"
"wx/containr.h"
1517567026 source:c:\work\hdnesr\trunk\hdnespackeditor\gameobjnode.cpp
1517995083 source:c:\work\hdnesr\trunk\hdnespackeditor\gameobjnode.cpp
"gameObjNode.h"
"gameTile.h"
"main.h"
@ -3818,13 +3818,13 @@
"gameTile.h"
<wx/treebase.h>
1515746974 source:c:\work\hdnesr\trunk\hdnespackeditor\gametile.cpp
1517995083 source:c:\work\hdnesr\trunk\hdnespackeditor\gametile.cpp
"common.h"
"coreData.h"
"gameTile.h"
"main.h"
1515739327 c:\work\hdnesr\trunk\hdnespackeditor\gametile.h
1517978661 c:\work\hdnesr\trunk\hdnespackeditor\gametile.h
"common.h"
"classList.h"
"condition.h"
@ -3876,12 +3876,13 @@
"begin_code.h"
"close_code.h"
1515743453 c:\work\hdnesr\trunk\hdnespackeditor\tilereference.h
1517989440 c:\work\hdnesr\trunk\hdnespackeditor\tilereference.h
"common.h"
1515749509 source:c:\work\hdnesr\trunk\hdnespackeditor\tilereference.cpp
1517995083 source:c:\work\hdnesr\trunk\hdnespackeditor\tilereference.cpp
"tileReference.h"
"coreData.h"
"main.h"
1517543293 source:c:\work\hdnesr\trunk\hdnespackeditor\hdnespackeditorreplacementdialog.cpp
"hdnesPackEditorreplacementDialog.h"

View file

@ -2,67 +2,20 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="mainForm.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="condition.cpp" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11939" topLine="307" />
<Cursor1 position="782" topLine="0" />
</Cursor>
</File>
<File name="tileReference.cpp" open="0" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="hdnesPackEditormainForm.cpp" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="509" topLine="6" />
</Cursor>
</File>
<File name="image.cpp" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="166" topLine="0" />
</Cursor>
</File>
<File name="image.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="249" topLine="1" />
</Cursor>
</File>
<File name="tileReference.h" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="75" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorreplacementDialog.h" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1177" topLine="27" />
</Cursor>
</File>
<File name="main.cpp" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1679" topLine="63" />
</Cursor>
</File>
<File name="gameTile.cpp" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1048" topLine="24" />
</Cursor>
</File>
<File name="hdnesPackEditorcolourSelectDialog.cpp" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3677" topLine="75" />
</Cursor>
</File>
<File name="hdnesPackEditorcolourSelectDialog.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="382" topLine="9" />
</Cursor>
</File>
<File name="hdnesPackEditormainForm.cpp" open="1" top="1" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="60938" topLine="190" />
<Cursor1 position="75492" topLine="499" />
</Cursor>
<Folding>
<Collapse line="15" />
<Collapse line="30" />
<Collapse line="31" />
<Collapse line="33" />
<Collapse line="45" />
<Collapse line="55" />
<Collapse line="58" />
<Collapse line="68" />
<Collapse line="73" />
@ -83,20 +36,16 @@
<Collapse line="134" />
<Collapse line="139" />
<Collapse line="143" />
<Collapse line="147" />
<Collapse line="148" />
<Collapse line="178" />
<Collapse line="179" />
<Collapse line="187" />
<Collapse line="197" />
<Collapse line="180" />
<Collapse line="188" />
<Collapse line="198" />
<Collapse line="202" />
<Collapse line="206" />
<Collapse line="199" />
<Collapse line="203" />
<Collapse line="207" />
<Collapse line="210" />
<Collapse line="215" />
<Collapse line="223" />
<Collapse line="232" />
<Collapse line="208" />
<Collapse line="211" />
<Collapse line="216" />
<Collapse line="238" />
<Collapse line="252" />
<Collapse line="258" />
@ -174,14 +123,11 @@
<Collapse line="638" />
<Collapse line="639" />
<Collapse line="646" />
<Collapse line="665" />
<Collapse line="679" />
<Collapse line="680" />
<Collapse line="687" />
<Collapse line="690" />
<Collapse line="700" />
<Collapse line="703" />
<Collapse line="705" />
<Collapse line="712" />
<Collapse line="720" />
<Collapse line="724" />
<Collapse line="727" />
@ -189,10 +135,6 @@
<Collapse line="733" />
<Collapse line="736" />
<Collapse line="746" />
<Collapse line="754" />
<Collapse line="757" />
<Collapse line="810" />
<Collapse line="817" />
<Collapse line="824" />
<Collapse line="829" />
<Collapse line="835" />
@ -208,177 +150,225 @@
<Collapse line="879" />
<Collapse line="883" />
<Collapse line="888" />
<Collapse line="899" />
<Collapse line="902" />
<Collapse line="904" />
<Collapse line="914" />
<Collapse line="916" />
<Collapse line="917" />
<Collapse line="920" />
<Collapse line="926" />
<Collapse line="930" />
<Collapse line="943" />
<Collapse line="958" />
<Collapse line="959" />
<Collapse line="962" />
<Collapse line="965" />
<Collapse line="967" />
<Collapse line="981" />
<Collapse line="989" />
<Collapse line="994" />
<Collapse line="995" />
<Collapse line="998" />
<Collapse line="1008" />
<Collapse line="1016" />
<Collapse line="1026" />
<Collapse line="1037" />
<Collapse line="1043" />
<Collapse line="1056" />
<Collapse line="1059" />
<Collapse line="1062" />
<Collapse line="960" />
<Collapse line="963" />
<Collapse line="966" />
<Collapse line="968" />
<Collapse line="982" />
<Collapse line="1010" />
<Collapse line="1019" />
<Collapse line="1030" />
<Collapse line="1047" />
<Collapse line="1061" />
<Collapse line="1064" />
<Collapse line="1073" />
<Collapse line="1083" />
<Collapse line="1086" />
<Collapse line="1099" />
<Collapse line="1109" />
<Collapse line="1125" />
<Collapse line="1132" />
<Collapse line="1067" />
<Collapse line="1069" />
<Collapse line="1078" />
<Collapse line="1088" />
<Collapse line="1091" />
<Collapse line="1104" />
<Collapse line="1114" />
<Collapse line="1130" />
<Collapse line="1137" />
<Collapse line="1144" />
<Collapse line="1153" />
<Collapse line="1157" />
<Collapse line="1160" />
<Collapse line="1142" />
<Collapse line="1149" />
<Collapse line="1158" />
<Collapse line="1162" />
<Collapse line="1163" />
<Collapse line="1166" />
<Collapse line="1169" />
<Collapse line="1175" />
<Collapse line="1183" />
<Collapse line="1184" />
<Collapse line="1187" />
<Collapse line="1193" />
<Collapse line="1211" />
<Collapse line="1220" />
<Collapse line="1223" />
<Collapse line="1230" />
<Collapse line="1247" />
<Collapse line="1262" />
<Collapse line="1273" />
<Collapse line="1287" />
<Collapse line="1321" />
<Collapse line="1327" />
<Collapse line="1350" />
<Collapse line="1356" />
<Collapse line="1363" />
<Collapse line="1370" />
<Collapse line="1377" />
<Collapse line="1378" />
<Collapse line="1383" />
<Collapse line="1384" />
<Collapse line="1386" />
<Collapse line="1389" />
<Collapse line="1165" />
<Collapse line="1167" />
<Collapse line="1168" />
<Collapse line="1171" />
<Collapse line="1174" />
<Collapse line="1180" />
<Collapse line="1188" />
<Collapse line="1189" />
<Collapse line="1192" />
<Collapse line="1198" />
<Collapse line="1216" />
<Collapse line="1225" />
<Collapse line="1228" />
<Collapse line="1235" />
<Collapse line="1252" />
<Collapse line="1267" />
<Collapse line="1278" />
<Collapse line="1292" />
<Collapse line="1326" />
<Collapse line="1332" />
<Collapse line="1355" />
<Collapse line="1361" />
<Collapse line="1390" />
<Collapse line="1391" />
<Collapse line="1393" />
<Collapse line="1396" />
<Collapse line="1408" />
<Collapse line="1409" />
<Collapse line="1403" />
<Collapse line="1415" />
<Collapse line="1417" />
<Collapse line="1427" />
<Collapse line="1429" />
<Collapse line="1430" />
<Collapse line="1441" />
<Collapse line="1445" />
<Collapse line="1449" />
<Collapse line="1450" />
<Collapse line="1455" />
<Collapse line="1466" />
<Collapse line="1467" />
<Collapse line="1477" />
<Collapse line="1478" />
<Collapse line="1416" />
<Collapse line="1422" />
<Collapse line="1424" />
<Collapse line="1434" />
<Collapse line="1436" />
<Collapse line="1437" />
<Collapse line="1448" />
<Collapse line="1452" />
<Collapse line="1456" />
<Collapse line="1457" />
<Collapse line="1462" />
<Collapse line="1473" />
<Collapse line="1474" />
<Collapse line="1484" />
<Collapse line="1485" />
<Collapse line="1491" />
<Collapse line="1494" />
<Collapse line="1502" />
<Collapse line="1505" />
<Collapse line="1541" />
<Collapse line="1550" />
<Collapse line="1553" />
<Collapse line="1492" />
<Collapse line="1498" />
<Collapse line="1501" />
<Collapse line="1515" />
<Collapse line="1519" />
<Collapse line="1522" />
<Collapse line="1526" />
<Collapse line="1531" />
<Collapse line="1534" />
<Collapse line="1539" />
<Collapse line="1542" />
<Collapse line="1548" />
<Collapse line="1552" />
<Collapse line="1557" />
<Collapse line="1560" />
<Collapse line="1573" />
<Collapse line="1588" />
<Collapse line="1589" />
<Collapse line="1607" />
<Collapse line="1628" />
<Collapse line="1636" />
<Collapse line="1638" />
<Collapse line="1640" />
<Collapse line="1648" />
<Collapse line="1654" />
<Collapse line="1567" />
<Collapse line="1580" />
<Collapse line="1595" />
<Collapse line="1596" />
<Collapse line="1614" />
<Collapse line="1635" />
<Collapse line="1643" />
<Collapse line="1645" />
<Collapse line="1647" />
<Collapse line="1655" />
<Collapse line="1660" />
<Collapse line="1663" />
<Collapse line="1665" />
<Collapse line="1666" />
<Collapse line="1661" />
<Collapse line="1662" />
<Collapse line="1667" />
<Collapse line="1670" />
<Collapse line="1672" />
<Collapse line="1690" />
<Collapse line="1694" />
<Collapse line="1673" />
<Collapse line="1674" />
<Collapse line="1677" />
<Collapse line="1679" />
<Collapse line="1697" />
<Collapse line="1699" />
<Collapse line="1710" />
<Collapse line="1711" />
<Collapse line="1712" />
<Collapse line="1728" />
<Collapse line="1733" />
<Collapse line="1734" />
<Collapse line="1737" />
<Collapse line="1750" />
<Collapse line="1762" />
<Collapse line="1763" />
<Collapse line="1765" />
<Collapse line="1701" />
<Collapse line="1704" />
<Collapse line="1706" />
<Collapse line="1717" />
<Collapse line="1718" />
<Collapse line="1719" />
<Collapse line="1735" />
<Collapse line="1740" />
<Collapse line="1741" />
<Collapse line="1744" />
<Collapse line="1757" />
<Collapse line="1769" />
<Collapse line="1770" />
<Collapse line="1772" />
<Collapse line="1773" />
<Collapse line="1779" />
<Collapse line="1780" />
<Collapse line="1790" />
<Collapse line="1795" />
<Collapse line="1796" />
<Collapse line="1804" />
<Collapse line="1812" />
<Collapse line="1815" />
<Collapse line="1817" />
<Collapse line="1818" />
<Collapse line="1828" />
<Collapse line="1834" />
<Collapse line="1852" />
<Collapse line="1854" />
<Collapse line="1855" />
<Collapse line="1786" />
<Collapse line="1787" />
<Collapse line="1797" />
<Collapse line="1802" />
<Collapse line="1803" />
<Collapse line="1811" />
<Collapse line="1819" />
<Collapse line="1822" />
<Collapse line="1824" />
<Collapse line="1825" />
<Collapse line="1835" />
<Collapse line="1861" />
<Collapse line="1862" />
<Collapse line="1872" />
<Collapse line="1876" />
<Collapse line="1885" />
<Collapse line="1886" />
<Collapse line="1868" />
<Collapse line="1869" />
</Folding>
</File>
<File name="hdnesPackEditormainForm.h" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="main.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6929" topLine="184" />
<Cursor1 position="530" topLine="6" />
</Cursor>
</File>
<File name="condition.cpp" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="tileReference.h" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="691" topLine="4" />
<Cursor1 position="364" topLine="4" />
</Cursor>
</File>
<File name="common.h" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="image.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="226" topLine="0" />
<Cursor1 position="249" topLine="1" />
</Cursor>
</File>
<File name="hdnesPackEditorreplacementDialog.cpp" open="1" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="-1" zoom_2="0">
<File name="coreData.h" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="195" topLine="19" />
</Cursor>
</File>
<File name="classList.h" open="0" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="174" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditormainForm.h" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3490" topLine="89" />
</Cursor>
</File>
<File name="gameObjNode.cpp" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1896" topLine="96" />
</Cursor>
</File>
<File name="hdnesPackEditorcolourSelectDialog.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="382" topLine="9" />
</Cursor>
</File>
<File name="gameTile.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2310" topLine="74" />
</Cursor>
</File>
<File name="hdnesPackEditornewProjectDialog.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="229" topLine="7" />
</Cursor>
</File>
<File name="hdnesPackEditorreplacementDialog.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1177" topLine="27" />
</Cursor>
</File>
<File name="gameTile.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="255" topLine="13" />
</Cursor>
</File>
<File name="tileReference.cpp" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1149" topLine="37" />
</Cursor>
</File>
<File name="colourDialogClient.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="235" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorcolourSelectDialog.cpp" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3777" topLine="97" />
</Cursor>
</File>
<File name="hdnesPackEditorreplacementDialog.cpp" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="-1" zoom_2="0">
<Cursor>
<Cursor1 position="608" topLine="54" />
</Cursor>
@ -388,109 +378,55 @@
<Collapse line="47" />
</Folding>
</File>
<File name="gameObjNode.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1160" topLine="33" />
</Cursor>
</File>
<File name="image.cpp" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="187" topLine="2" />
</Cursor>
</File>
<File name="common.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="226" topLine="0" />
</Cursor>
</File>
<File name="mainForm.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11939" topLine="307" />
</Cursor>
</File>
<File name="condition.h" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="594" topLine="15" />
</Cursor>
</File>
<File name="main.cpp" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="731" topLine="24" />
</Cursor>
</File>
<File name="mainForm.cpp" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="34741" topLine="537" />
</Cursor>
</File>
<File name="hdnesPackEditornewProjectDialog.cpp" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="996" topLine="21" />
</Cursor>
</File>
<File name="hdnesPackEditornewProjectDialog.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="coreData.cpp" open="1" top="1" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="229" topLine="7" />
</Cursor>
</File>
<File name="gameObjNode.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1119" topLine="15" />
</Cursor>
</File>
<File name="mainForm.cpp" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="34741" topLine="537" />
</Cursor>
</File>
<File name="gameTile.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="276" topLine="15" />
</Cursor>
</File>
<File name="colourDialogClient.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="235" topLine="0" />
</Cursor>
</File>
<File name="classList.h" open="0" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="174" topLine="0" />
</Cursor>
</File>
<File name="coreData.cpp" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4998" topLine="31" />
<Cursor1 position="4330" topLine="139" />
</Cursor>
<Folding>
<Collapse line="10" />
<Collapse line="20" />
<Collapse line="22" />
<Collapse line="26" />
<Collapse line="32" />
<Collapse line="38" />
<Collapse line="43" />
<Collapse line="52" />
<Collapse line="53" />
<Collapse line="55" />
<Collapse line="58" />
<Collapse line="61" />
<Collapse line="64" />
<Collapse line="67" />
<Collapse line="72" />
<Collapse line="83" />
<Collapse line="91" />
<Collapse line="96" />
<Collapse line="103" />
<Collapse line="111" />
<Collapse line="123" />
<Collapse line="130" />
<Collapse line="133" />
<Collapse line="137" />
<Collapse line="157" />
<Collapse line="161" />
<Collapse line="165" />
<Collapse line="194" />
<Collapse line="217" />
<Collapse line="222" />
<Collapse line="227" />
<Collapse line="228" />
<Collapse line="231" />
<Collapse line="234" />
<Collapse line="241" />
<Collapse line="248" />
<Collapse line="251" />
<Collapse line="252" />
<Collapse line="253" />
<Collapse line="257" />
</Folding>
</File>
<File name="condition.h" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="339" topLine="15" />
</Cursor>
</File>
<File name="coreData.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1049" topLine="1" />
</Cursor>
</File>
<File name="gameObjNode.cpp" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1664" topLine="53" />
</Cursor>
<Folding>
<Collapse line="6" />
</Folding>
</File>
<File name="main.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="530" topLine="6" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View file

@ -104,8 +104,7 @@ void hdnesPackEditorcolourSelectDialog::colourRClick( wxMouseEvent& event ){
if(event.GetEventObject() == colourPanels[i]){
colourPanels[i]->SetBackgroundColour(col);
coreData::cData->palette[i] = col;
coreData::cData->notSaved = true;
main::mForm->dataChanged();
coreData::cData->dataChanged();
colourPanels[i]->Refresh();
}
}

View file

@ -172,6 +172,7 @@ void hdnesPackEditormainForm::colourSelected(Uint8 selectedColour){
gameObjNode* data = (gameObjNode*)(treeGameObjs->GetItemData(tID));
data->bgColour = selectedColour;
refreshGameObj();
coreData::cData->dataChanged();
break;
}
}
@ -233,7 +234,6 @@ void hdnesPackEditormainForm::dataChanged(){
void hdnesPackEditormainForm::dataSaved(){
lastDir = coreData::cData->projectPath;
m_menu3->FindItem(m_menu3->FindItem(wxString("Save Project")))->Enable(false);
notSaved = false;
}
void hdnesPackEditormainForm::initROMView(){
@ -715,7 +715,7 @@ void hdnesPackEditormainForm::gameObjTItemChangeName( wxTreeEvent& event ){
}
break;
}
notSaved = true;
coreData::cData->dataChanged();
}
void hdnesPackEditormainForm::gameObjTItemOpenMenu( wxTreeEvent& event ){
@ -763,7 +763,7 @@ void hdnesPackEditormainForm::gameObjsTreeMenu( wxCommandEvent& event ){
newItm = treeGameObjs->AppendItem(tItmGameObjMenu, wxString("Folder\\"), -1, -1, node);
treeGameObjs->Expand(tItmGameObjMenu);
treeGameObjs->EditLabel(newItm);
notSaved = true;
coreData::cData->dataChanged();
break;
case GAME_OBJ_NODE_MENU_ADD_OBJECT:
node = new gameObjNode();
@ -776,34 +776,34 @@ void hdnesPackEditormainForm::gameObjsTreeMenu( wxCommandEvent& event ){
tItmGameObjMenu = newItm;
gameObjSelectedTiles.clear();
refreshGameObj();
notSaved = true;
coreData::cData->dataChanged();
break;
case GAME_OBJ_NODE_MENU_DEL:
treeGameObjs->Delete(tItmGameObjMenu);
notSaved = true;
coreData::cData->dataChanged();
break;
case GAME_OBJ_NODE_MENU_MOVE_UP:
gameObjectTreeWillMove = false;
gameObjsMoveTreeItem(tItmGameObjMenu, treeGameObjs->GetItemParent(tItmGameObjMenu), treeGameObjs->GetPrevSibling(treeGameObjs->GetPrevSibling(tItmGameObjMenu)));
notSaved = true;
coreData::cData->dataChanged();
break;
case GAME_OBJ_NODE_MENU_MOVE_DOWN:
gameObjectTreeWillMove = false;
gameObjsMoveTreeItem(tItmGameObjMenu, treeGameObjs->GetItemParent(tItmGameObjMenu), treeGameObjs->GetNextSibling(tItmGameObjMenu));
notSaved = true;
coreData::cData->dataChanged();
break;
case GAME_OBJ_NODE_MENU_MOVE_TO_FOLDER:
gameObjectTreeWillMove = true;
gameObjsCancelWillMove(tItmGameObjRoot);
gameObjsSetWillMove(tItmGameObjMenu);
tItmGameObjMove = tItmGameObjMenu;
notSaved = true;
coreData::cData->dataChanged();
break;
case GAME_OBJ_NODE_MENU_MOVE_HERE:
gameObjectTreeWillMove = false;
gameObjsMoveTreeItem(tItmGameObjMove, tItmGameObjMenu, treeGameObjs->GetLastChild(tItmGameObjMenu));
gameObjsCancelWillMove(tItmGameObjRoot);
notSaved = true;
coreData::cData->dataChanged();
break;
}
}
@ -948,6 +948,7 @@ void hdnesPackEditormainForm::gameObjsRawMenu( wxCommandEvent& event ){
}
gameObjPasteData.clearAllTiles();
refreshGameObj();
coreData::cData->dataChanged();
break;
case GAME_OBJ_PNL_CANCEL_PASTE:
gameObjPasteData.clearAllTiles();
@ -1002,6 +1003,7 @@ void hdnesPackEditormainForm::gameObjsRawMenu( wxCommandEvent& event ){
}
gameObjSelectedTiles.clear();
refreshGameObj();
coreData::cData->dataChanged();
break;
case GAME_OBJ_PNL_HFLIP:
ndata = (gameObjNode*)(treeGameObjs->GetItemData(tItmGameObjMenu));
@ -1010,6 +1012,7 @@ void hdnesPackEditormainForm::gameObjsRawMenu( wxCommandEvent& event ){
ndata->tiles[gameObjSelectedTiles[k]].hFlip = !ndata->tiles[gameObjSelectedTiles[k]].hFlip;
}
refreshGameObj();
coreData::cData->dataChanged();
break;
case GAME_OBJ_PNL_VFLIP:
ndata = (gameObjNode*)(treeGameObjs->GetItemData(tItmGameObjMenu));
@ -1018,6 +1021,7 @@ void hdnesPackEditormainForm::gameObjsRawMenu( wxCommandEvent& event ){
ndata->tiles[gameObjSelectedTiles[k]].vFlip = !ndata->tiles[gameObjSelectedTiles[k]].vFlip;
}
refreshGameObj();
coreData::cData->dataChanged();
break;
case GAME_OBJ_PNL_REPLACE:
vector<gameTile> selectedTiles;
@ -1052,6 +1056,7 @@ void hdnesPackEditormainForm::setReplacement(int imageID, int x, int y){
ndata->tiles[gameObjSelectedTiles[k]] = t;
}
refreshGameObj();
coreData::cData->dataChanged();
}
bool hdnesPackEditormainForm::checkPasteValid(string content){
@ -1366,6 +1371,7 @@ void hdnesPackEditormainForm::gameObjSpriteClicked( wxCommandEvent& event ){
if(!ndata) return;
ndata->isSprite = rbnObjectSprite->GetValue();
coreData::cData->dataChanged();
}
void hdnesPackEditormainForm::gameObjBGClicked( wxCommandEvent& event ){
@ -1373,6 +1379,7 @@ void hdnesPackEditormainForm::gameObjBGClicked( wxCommandEvent& event ){
if(!ndata) return;
ndata->isSprite = !rbnObjectBG->GetValue();
coreData::cData->dataChanged();
}
void hdnesPackEditormainForm::gameObjBGColour( wxCommandEvent& event ){
@ -1877,7 +1884,7 @@ void hdnesPackEditormainForm::HDImgAdd( wxCommandEvent& event ){
else{
coreData::cData->images[existIndex]->reloadImg();
}
coreData::cData->dataChanged();
}
@ -1886,6 +1893,7 @@ void hdnesPackEditormainForm::HDImgAdd( wxCommandEvent& event ){
void hdnesPackEditormainForm::HDImgRemove( wxCommandEvent& event ){
if(selectedHDImg > -1 && coreData::cData){
coreData::cData->removeImage(selectedHDImg);
coreData::cData->dataChanged();
listOutHDImgImages();
lstHDImgTiles->DeleteAllItems();
selectedHDImg = -1;

View file

@ -1,5 +1,6 @@
#include "tileReference.h"
#include "coreData.h";
#include "coreData.h"
#include "main.h"
tileReference::tileReference()
{
@ -25,3 +26,49 @@ bool tileReference::compareEqual(tileReference t){
}
return true;
}
void tileReference::load(fstream& file){
string line;
string lineHdr;
string lineTail;
getline(file, line);
while(line != "<endTileReference>"){
size_t found = line.find_first_of(">");
if(found!=string::npos){
lineHdr = line.substr(0, found + 1);
lineTail = line.substr(found + 1);
if(lineHdr == "<id>"){
id = atoi(lineTail.c_str());
}
else if(lineHdr == "<rawData>"){
main::hexToByteArray(lineTail, (Uint8*)rawData);
}
else if(lineHdr == "<palette>"){
main::hexToByteArray(lineTail, (Uint8*)palette);
}
}
getline(file, line);
}
}
void tileReference::save(fstream& file){
file << "<tileReference>\n";
if(coreData::cData->isCHRROM){
file << "<id>" << id << "\n";
}
else{
file << "<rawData>";
for(int i = 0; i < 16; ++i){
file << main::intToHex(rawData[i]);
}
file << "\n";
}
file << "<palette>";
for(int i = 0; i < 4; ++i){
file << main::intToHex(palette[i]);
}
file << "\n";
file << "<endTileReference>\n";
}

View file

@ -14,6 +14,9 @@ class tileReference
Uint8 palette[4];
bool compareEqual(tileReference t);
void load(fstream& file);
void save(fstream& file);
protected:
private: