Add looping to background

This commit is contained in:
mkwong98 2021-01-13 00:43:39 +08:00
parent 0b879bfc19
commit ad4f571cd1
10 changed files with 1540 additions and 388 deletions

View file

@ -264,10 +264,10 @@ void coreData::readScreen(string screenId){
isSprite = (token != "Background");
break;
case 1:
t.objCoordX = atoi(token.c_str());
t.objCoordX = atoi(token.c_str()) - 128;
break;
case 2:
t.objCoordY = atoi(token.c_str());
t.objCoordY = atoi(token.c_str()) - 120;
break;
case 3:
t.id.readID(token, true);

View file

@ -23,6 +23,12 @@ gameObjNode::gameObjNode()
vScrollRate = 0;
fileName = "";
showBehindBgSprites = false;
offsetX = 0;
offsetY = 0;
moveX = 0;
moveY = 0;
moveFreq = 0;
moveCount = 0;
frameRange f;
f.frameCnt = 1;
@ -121,6 +127,16 @@ void gameObjNode::load(fstream& file, wxTreeItemId newItm){
else if(lineHdr == "<showBehindBGSprites>"){
showBehindBgSprites = (lineTail == "Y");
}
else if(lineHdr == "<offset>"){
offsetX = atoi(tailStrs[0].c_str());
offsetY = atoi(tailStrs[1].c_str());
}
else if(lineHdr == "<move>"){
moveX = atoi(tailStrs[0].c_str());
moveY = atoi(tailStrs[1].c_str());
moveFreq = atoi(tailStrs[2].c_str());
moveCount = atoi(tailStrs[3].c_str());
}
else if(lineHdr == "<tiles>"){
getline(file, line);
while(line != "<endTiles>"){
@ -225,6 +241,8 @@ void gameObjNode::save(fstream& file, wxTreeItemId newItm){
file << "<fileName>" << fileName << "\n";
file << "<scrollRate>" << hScrollRate << "," << vScrollRate << "\n";
file << "<showBehindBGSprites>" << (showBehindBgSprites ? "Y" : "N") << "\n";
file << "<offset>" << offsetX << "," << offsetY << "\n";
file << "<move>" << moveX << "," << moveY << "," << moveFreq << "," << moveCount << "\n";
}
}
else{
@ -308,6 +326,13 @@ gameObjNode* gameObjNode::clone(){
n->fileName = fileName;
n->hScrollRate = hScrollRate;
n->vScrollRate = vScrollRate;
n->showBehindBgSprites = showBehindBgSprites;
n->offsetX = offsetY;
n->offsetY = offsetY;
n->moveX = moveX;
n->moveY = moveY;
n->moveFreq = moveFreq;
n->moveCount = moveCount;
n->updatePalettes();
n->updateImages();
return n;
@ -323,9 +348,9 @@ string gameObjNode::writeConditionNames(){
return stream.str();
}
string gameObjNode::writeLine(){
string gameObjNode::writeLine(int frameID){
stringstream stream;
stream << fileName << "," << brightness << "," << hScrollRate << "," << vScrollRate << "," << (coreData::cData->verNo >= 106 ? (showBehindBgSprites ? "0" : "10") : (showBehindBgSprites ? "Y" : "N")) ;
stream << fileName << "," << brightness << "," << hScrollRate << "," << vScrollRate << "," << (coreData::cData->verNo >= 106 ? (showBehindBgSprites ? "0" : "10") : (showBehindBgSprites ? "Y" : "N")) << "," << offsetX + (frameID * moveX) << "," << offsetY + (frameID * moveY);
return stream.str();
}

View file

@ -55,6 +55,12 @@ class gameObjNode : public wxTreeItemData
double vScrollRate;
string fileName;
bool showBehindBgSprites;
int offsetX;
int offsetY;
int moveX;
int moveY;
int moveFreq;
int moveCount;
vector<gameTile> tiles;
vector<paletteSwap> swaps;
@ -77,7 +83,7 @@ class gameObjNode : public wxTreeItemData
void updatePalettes();
void updateImages();
gameObjNode* clone();
string writeLine();
string writeLine(int frameID);
string writeConditionNames();
protected:

View file

@ -7245,7 +7245,7 @@
1561782682 d:\work\hdnes\trunk\hdnespackeditor\image.h
"common.h"
1608983034 d:\work\hdnes\trunk\hdnespackeditor\hdnespackeditormainform.h
1609862968 d:\work\hdnes\trunk\hdnespackeditor\hdnespackeditormainform.h
"common.h"
"mainForm.h"
"colourDialogClient.h"
@ -7254,7 +7254,7 @@
"gameObjNode.h"
"classList.h"
1606273669 d:\work\hdnes\trunk\hdnespackeditor\mainform.h
1609859670 d:\work\hdnes\trunk\hdnespackeditor\mainform.h
<wx/artprov.h>
<wx/xrc/xmlres.h>
<wx/string.h>
@ -7512,7 +7512,7 @@
1561782682 d:\work\hdnes\trunk\hdnespackeditor\colourdialogclient.h
1609229127 d:\work\hdnes\trunk\hdnespackeditor\gameobjnode.h
1610017787 d:\work\hdnes\trunk\hdnespackeditor\gameobjnode.h
"common.h"
"gameTile.h"
<wx/treebase.h>
@ -7520,7 +7520,7 @@
1561782682 d:\work\hdnes\trunk\hdnespackeditor\hdnespackeditornewprojectdialog.h
"mainForm.h"
1606278618 source:d:\work\hdnes\trunk\hdnespackeditor\gameobjnode.cpp
1610018956 source:d:\work\hdnes\trunk\hdnespackeditor\gameobjnode.cpp
"coreData.h"
"gameObjNode.h"
"gameTile.h"
@ -7575,7 +7575,7 @@
"wx/gdicmn.h"
"wx/dialog.h"
1609229868 source:d:\work\hdnes\trunk\hdnespackeditor\hdnespackeditormainform.cpp
1610022814 source:d:\work\hdnes\trunk\hdnespackeditor\hdnespackeditormainform.cpp
"hdnesPackEditormainForm.h"
"hdnesPackEditornewProjectDialog.h"
"hdnesPackEditorcolourSelectDialog.h"
@ -7666,7 +7666,7 @@
"hdnesPackEditormainForm.h"
"main.h"
1606273669 source:d:\work\hdnes\trunk\hdnespackeditor\mainform.cpp
1609859670 source:d:\work\hdnes\trunk\hdnespackeditor\mainform.cpp
"mainForm.h"
1604761296 source:d:\work\hdnes\trunk\hdnespackeditor\paletteswap.cpp

File diff suppressed because it is too large Load diff

View file

@ -1,325 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="coreData.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1465" topLine="0" />
</Cursor>
<Folding>
<Collapse line="8" />
</Folding>
</File>
<File name="classList.h" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="256" topLine="0" />
</Cursor>
</File>
<File name="colourDialogClient.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="64" topLine="0" />
</Cursor>
</File>
<File name="gameObjNode.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1805" topLine="57" />
</Cursor>
</File>
<File name="hdnesPackEditornewProjectDialog.cpp" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="742" topLine="0" />
</Cursor>
<Folding>
<Collapse line="10" />
<Collapse line="16" />
</Folding>
</File>
<File name="gameTile.cpp" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6095" topLine="1" />
</Cursor>
<Folding>
<Collapse line="22" />
<Collapse line="26" />
<Collapse line="42" />
<Collapse line="46" />
<Collapse line="56" />
<Collapse line="193" />
</Folding>
</File>
<File name="gameObjNode.cpp" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="785" topLine="13" />
</Cursor>
<Folding>
<Collapse line="35" />
<Collapse line="39" />
<Collapse line="56" />
<Collapse line="325" />
</Folding>
</File>
<File name="hdnesPackEditornewProjectDialog.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="254" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditormainForm.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="8156" topLine="28" />
</Cursor>
<Folding>
<Collapse line="34" />
</Folding>
</File>
<File name="mainForm.cpp" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="120372" topLine="8" />
</Cursor>
</File>
<File name="main.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="380" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorcolourSelectDialog.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="235" topLine="0" />
</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="37362" topLine="710" />
</Cursor>
<Folding>
<Collapse line="49" />
<Collapse line="72" />
<Collapse line="87" />
<Collapse line="90" />
<Collapse line="93" />
<Collapse line="104" />
<Collapse line="147" />
<Collapse line="155" />
<Collapse line="206" />
<Collapse line="215" />
<Collapse line="265" />
<Collapse line="311" />
<Collapse line="321" />
<Collapse line="329" />
<Collapse line="341" />
<Collapse line="353" />
<Collapse line="515" />
<Collapse line="614" />
<Collapse line="637" />
<Collapse line="656" />
<Collapse line="733" />
<Collapse line="824" />
<Collapse line="1095" />
<Collapse line="1199" />
<Collapse line="1523" />
<Collapse line="1539" />
<Collapse line="1616" />
<Collapse line="1654" />
<Collapse line="1671" />
<Collapse line="1712" />
<Collapse line="1726" />
<Collapse line="1756" />
<Collapse line="1794" />
<Collapse line="1806" />
<Collapse line="1820" />
<Collapse line="1825" />
<Collapse line="1838" />
<Collapse line="1858" />
<Collapse line="1870" />
<Collapse line="1882" />
<Collapse line="1896" />
<Collapse line="1910" />
<Collapse line="1916" />
<Collapse line="1934" />
<Collapse line="1951" />
<Collapse line="1965" />
<Collapse line="2025" />
<Collapse line="2035" />
<Collapse line="2104" />
<Collapse line="2144" />
<Collapse line="2178" />
<Collapse line="2220" />
<Collapse line="2228" />
<Collapse line="2236" />
<Collapse line="2247" />
<Collapse line="2260" />
<Collapse line="2272" />
<Collapse line="2279" />
<Collapse line="2291" />
<Collapse line="2343" />
<Collapse line="2354" />
<Collapse line="2361" />
<Collapse line="2368" />
<Collapse line="2379" />
<Collapse line="2387" />
<Collapse line="2395" />
<Collapse line="2398" />
<Collapse line="2401" />
<Collapse line="2430" />
<Collapse line="2439" />
<Collapse line="2443" />
<Collapse line="2448" />
<Collapse line="2470" />
<Collapse line="2475" />
<Collapse line="2480" />
<Collapse line="2489" />
<Collapse line="2499" />
<Collapse line="2503" />
<Collapse line="2512" />
<Collapse line="2527" />
<Collapse line="2541" />
<Collapse line="2548" />
<Collapse line="2557" />
<Collapse line="2589" />
<Collapse line="2593" />
<Collapse line="2602" />
<Collapse line="2635" />
<Collapse line="2753" />
<Collapse line="2770" />
<Collapse line="2773" />
<Collapse line="2778" />
<Collapse line="2827" />
<Collapse line="2832" />
<Collapse line="2853" />
<Collapse line="2858" />
<Collapse line="2862" />
<Collapse line="2866" />
<Collapse line="2870" />
<Collapse line="2874" />
<Collapse line="2885" />
<Collapse line="2895" />
<Collapse line="2905" />
<Collapse line="2944" />
<Collapse line="2955" />
<Collapse line="2980" />
<Collapse line="2985" />
<Collapse line="3014" />
<Collapse line="3018" />
<Collapse line="3029" />
<Collapse line="3041" />
<Collapse line="3052" />
<Collapse line="3073" />
<Collapse line="3097" />
<Collapse line="3144" />
<Collapse line="3152" />
<Collapse line="3160" />
<Collapse line="3168" />
<Collapse line="3177" />
<Collapse line="3190" />
<Collapse line="3256" />
<Collapse line="3268" />
<Collapse line="3274" />
<Collapse line="3280" />
<Collapse line="3310" />
<Collapse line="3314" />
<Collapse line="3330" />
<Collapse line="3370" />
<Collapse line="3382" />
<Collapse line="3392" />
<Collapse line="3399" />
<Collapse line="3432" />
<Collapse line="3454" />
<Collapse line="3503" />
</Folding>
</File>
<File name="common.h" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="218" topLine="0" />
</Cursor>
</File>
<File name="paletteSwap.h" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="230" topLine="0" />
</Cursor>
</File>
<File name="mainForm.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="18664" topLine="42" />
</Cursor>
</File>
<File name="coreData.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9454" topLine="25" />
</Cursor>
<Folding>
<Collapse line="11" />
<Collapse line="22" />
<Collapse line="38" />
<Collapse line="56" />
<Collapse line="84" />
<Collapse line="201" />
<Collapse line="230" />
<Collapse line="315" />
<Collapse line="355" />
<Collapse line="375" />
<Collapse line="404" />
<Collapse line="442" />
<Collapse line="478" />
<Collapse line="483" />
<Collapse line="488" />
<Collapse line="502" />
<Collapse line="509" />
<Collapse line="592" />
<Collapse line="598" />
</Folding>
</File>
<File name="gameTile.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="736" topLine="0" />
</Cursor>
</File>
<File name="image.h" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="158" topLine="0" />
</Cursor>
</File>
<File name="tileReference.h" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="234" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorpaletteDialog.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3375" topLine="2" />
</Cursor>
</File>
<File name="imageDialogClient.h" open="0" top="0" tabpos="28" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="157" topLine="0" />
</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="414" topLine="0" />
</Cursor>
<Folding>
<Collapse line="5" />
<Collapse line="10" />
<Collapse line="29" />
<Collapse line="73" />
</Folding>
</File>
<File name="main.cpp" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="565" topLine="6" />
</Cursor>
<Folding>
<Collapse line="10" />
<Collapse line="30" />
<Collapse line="50" />
<Collapse line="60" />
<Collapse line="66" />
<Collapse line="78" />
<Collapse line="95" />
<Collapse line="108" />
<Collapse line="112" />
<Collapse line="118" />
</Folding>
</File>
<ActiveTarget name="Release" />
<File name="hdnesPackEditorreplacementDialog.cpp" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="-1" zoom_2="0">
<Cursor>
<Cursor1 position="2002" topLine="0" />
@ -330,34 +12,45 @@
<Collapse line="43" />
</Folding>
</File>
<File name="condition.cpp" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="common.h" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="45" topLine="0" />
</Cursor>
<Folding>
<Collapse line="6" />
<Collapse line="11" />
<Collapse line="29" />
<Collapse line="138" />
</Folding>
</File>
<File name="condition.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="226" topLine="0" />
<Cursor1 position="218" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorimageDialog.cpp" open="0" top="0" tabpos="29" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="image.h" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="297" topLine="0" />
<Cursor1 position="158" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorreplacementDialog.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="hdnesPackEditorimageDialog.h" open="0" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="808" topLine="0" />
<Cursor1 position="625" topLine="0" />
</Cursor>
<Folding>
<Collapse line="3" />
<Collapse line="15" />
</Folding>
</File>
<File name="coreData.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1465" topLine="0" />
</Cursor>
</File>
<File name="gameTile.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="736" topLine="0" />
</Cursor>
<Folding>
<Collapse line="8" />
<Collapse line="18" />
</Folding>
</File>
<File name="gameObjNode.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1598" topLine="8" />
</Cursor>
<Folding>
<Collapse line="25" />
<Collapse line="32" />
</Folding>
</File>
<File name="image.cpp" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -371,24 +64,39 @@
<Collapse line="17" />
</Folding>
</File>
<File name="hdnesPackEditorpaletteDialog.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="hdnesPackEditormainForm.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="271" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorcolourSelectDialog.cpp" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3275" topLine="0" />
<Cursor1 position="1377" topLine="28" />
</Cursor>
<Folding>
<Collapse line="11" />
<Collapse line="82" />
<Collapse line="51" />
</Folding>
</File>
<File name="paletteDialogClient.h" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="main.cpp" open="1" top="1" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="140" topLine="0" />
<Cursor1 position="1434" topLine="23" />
</Cursor>
<Folding>
<Collapse line="10" />
<Collapse line="24" />
<Collapse line="30" />
<Collapse line="50" />
<Collapse line="66" />
<Collapse line="78" />
<Collapse line="95" />
<Collapse line="108" />
<Collapse line="112" />
<Collapse line="118" />
</Folding>
</File>
<File name="coreData.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="8805" topLine="27" />
</Cursor>
<Folding>
<Collapse line="230" />
<Collapse line="529" />
</Folding>
</File>
<File name="paletteSwap.cpp" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
@ -400,12 +108,282 @@
<Collapse line="75" />
</Folding>
</File>
<File name="hdnesPackEditorimageDialog.h" open="0" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="main.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="625" topLine="0" />
<Cursor1 position="380" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorimageDialog.cpp" open="0" top="0" tabpos="29" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="297" topLine="0" />
</Cursor>
</File>
<File name="condition.h" open="1" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="226" topLine="0" />
</Cursor>
<Folding>
<Collapse line="8" />
</Folding>
</File>
<File name="gameTile.cpp" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6095" topLine="1" />
</Cursor>
<Folding>
<Collapse line="7" />
<Collapse line="65" />
<Collapse line="135" />
<Collapse line="173" />
</Folding>
</File>
<File name="gameObjNode.cpp" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10981" topLine="15" />
</Cursor>
<Folding>
<Collapse line="8" />
<Collapse line="53" />
<Collapse line="57" />
<Collapse line="71" />
<Collapse line="81" />
<Collapse line="193" />
<Collapse line="255" />
<Collapse line="276" />
<Collapse line="296" />
<Collapse line="340" />
<Collapse line="350" />
</Folding>
</File>
<File name="hdnesPackEditorcolourSelectDialog.cpp" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3275" topLine="0" />
</Cursor>
<Folding>
<Collapse line="11" />
<Collapse line="82" />
</Folding>
</File>
<File name="imageDialogClient.h" open="0" top="0" tabpos="28" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="157" topLine="0" />
</Cursor>
</File>
<File name="paletteDialogClient.h" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="140" topLine="0" />
</Cursor>
</File>
<File name="classList.h" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="256" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorreplacementDialog.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="808" topLine="0" />
</Cursor>
<Folding>
<Collapse line="3" />
<Collapse line="15" />
</Folding>
</File>
<File name="colourDialogClient.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="64" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditorcolourSelectDialog.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="235" topLine="0" />
</Cursor>
</File>
<File name="hdnesPackEditormainForm.cpp" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="127630" topLine="1905" />
</Cursor>
<Folding>
<Collapse line="18" />
<Collapse line="77" />
<Collapse line="86" />
<Collapse line="87" />
<Collapse line="90" />
<Collapse line="93" />
<Collapse line="98" />
<Collapse line="113" />
<Collapse line="124" />
<Collapse line="138" />
<Collapse line="151" />
<Collapse line="251" />
<Collapse line="260" />
<Collapse line="279" />
<Collapse line="285" />
<Collapse line="304" />
<Collapse line="317" />
<Collapse line="333" />
<Collapse line="337" />
<Collapse line="347" />
<Collapse line="359" />
<Collapse line="364" />
<Collapse line="422" />
<Collapse line="458" />
<Collapse line="479" />
<Collapse line="525" />
<Collapse line="538" />
<Collapse line="580" />
<Collapse line="664" />
<Collapse line="748" />
<Collapse line="757" />
<Collapse line="770" />
<Collapse line="791" />
<Collapse line="824" />
<Collapse line="834" />
<Collapse line="1059" />
<Collapse line="1073" />
<Collapse line="1084" />
<Collapse line="1671" />
<Collapse line="1712" />
<Collapse line="1761" />
<Collapse line="2411" />
<Collapse line="2462" />
<Collapse line="2607" />
<Collapse line="2638" />
<Collapse line="2656" />
<Collapse line="2758" />
<Collapse line="2776" />
<Collapse line="2782" />
<Collapse line="2791" />
<Collapse line="2794" />
<Collapse line="2799" />
<Collapse line="2814" />
<Collapse line="2826" />
<Collapse line="2848" />
<Collapse line="2857" />
<Collapse line="2883" />
<Collapse line="2887" />
<Collapse line="2891" />
<Collapse line="2906" />
<Collapse line="2909" />
<Collapse line="2916" />
<Collapse line="2960" />
<Collapse line="2965" />
<Collapse line="3001" />
<Collapse line="3006" />
<Collapse line="3016" />
<Collapse line="3023" />
<Collapse line="3035" />
<Collapse line="3094" />
<Collapse line="3102" />
<Collapse line="3118" />
<Collapse line="3147" />
<Collapse line="3148" />
<Collapse line="3173" />
<Collapse line="3181" />
<Collapse line="3189" />
<Collapse line="3197" />
<Collapse line="3205" />
<Collapse line="3213" />
<Collapse line="3221" />
<Collapse line="3246" />
<Collapse line="3259" />
<Collapse line="3296" />
<Collapse line="3317" />
<Collapse line="3325" />
<Collapse line="3327" />
<Collapse line="3329" />
<Collapse line="3337" />
<Collapse line="3343" />
<Collapse line="3349" />
<Collapse line="3355" />
<Collapse line="3361" />
<Collapse line="3379" />
<Collapse line="3399" />
<Collapse line="3401" />
<Collapse line="3423" />
<Collapse line="3451" />
<Collapse line="3452" />
<Collapse line="3461" />
<Collapse line="3468" />
<Collapse line="3485" />
<Collapse line="3501" />
<Collapse line="3507" />
<Collapse line="3523" />
<Collapse line="3550" />
<Collapse line="3572" />
</Folding>
</File>
<File name="tileReference.h" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="234" topLine="0" />
</Cursor>
<Folding>
<Collapse line="6" />
</Folding>
</File>
<File name="hdnesPackEditornewProjectDialog.cpp" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="742" topLine="0" />
</Cursor>
<Folding>
<Collapse line="10" />
<Collapse line="16" />
</Folding>
</File>
<File name="hdnesPackEditornewProjectDialog.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="254" topLine="0" />
</Cursor>
</File>
<File name="mainForm.cpp" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="120372" topLine="8" />
</Cursor>
</File>
<File name="condition.cpp" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="45" topLine="0" />
</Cursor>
<Folding>
<Collapse line="6" />
<Collapse line="11" />
<Collapse line="29" />
<Collapse line="138" />
</Folding>
</File>
<File name="hdnesPackEditorpaletteDialog.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3375" topLine="2" />
</Cursor>
</File>
<File name="paletteSwap.h" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="230" topLine="0" />
</Cursor>
</File>
<File name="mainForm.h" open="1" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10953" topLine="56" />
</Cursor>
<Folding>
<Collapse line="47" />
</Folding>
</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="827" topLine="5" />
</Cursor>
<Folding>
<Collapse line="14" />
<Collapse line="43" />
<Collapse line="61" />
<Collapse line="65" />
<Collapse line="96" />
<Collapse line="103" />
</Folding>
</File>
<File name="hdnesPackEditorpaletteDialog.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="271" topLine="0" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View file

@ -1718,7 +1718,12 @@ void hdnesPackEditormainForm::refreshBGImage(){
spnBGHScrollRate->SetValue(ndata->hScrollRate * 100);
spnBGVScrollRate->SetValue(ndata->vScrollRate * 100);
chkBgShowBehind->SetValue(ndata->showBehindBgSprites);
txtBGOffsetX->SetValue(main::intToStr(ndata->offsetX));
txtBGOffsetY->SetValue(main::intToStr(ndata->offsetY));
txtBGMoveX->SetValue(main::intToStr(ndata->moveX));
txtBGMoveY->SetValue(main::intToStr(ndata->moveY));
txtBGMoveFreq->SetValue(main::intToStr(ndata->moveFreq));
txtBGMoveCount->SetValue(main::intToStr(ndata->moveCount));
loadConditions();
drawBGImage();
@ -2616,13 +2621,29 @@ void hdnesPackEditormainForm::genGameObjItemTilePack(fstream& file, wxTreeItemId
}
}
else if(node->nodeType == GAME_OBJ_NODE_TYPE_BGIMAGE && withCondition){
if(node->conditions.size() > 0){
file << "[";
file << node->writeConditionNames();
file << "]";
if(node->moveCount > 1 && node->moveFreq > 0 ){
for(int i = node->moveCount - 1; i >= 0; i--){
file << "<condition>" << node->nodeName << "ani" << i << ",frameRange," << node->moveCount * node->moveFreq << "," << i * node->moveFreq << "\n";
file << "[";
if(node->conditions.size() > 0){
file << node->writeConditionNames();
file << "&";
}
file << node->nodeName << "ani" << i ;
file << "]";
//write line
file << "<background>" << node->writeLine(i) << "\n";
}
}
else{
if(node->conditions.size() > 0){
file << "[";
file << node->writeConditionNames();
file << "]";
}
//write line
file << "<background>" << node->writeLine(0) << "\n";
}
//write line
file << "<background>" << node->writeLine() << "\n";
}
else{
genChildGameObjsTilePack(file, item, withCondition);
@ -3174,6 +3195,54 @@ void hdnesPackEditormainForm::BGImageShowBehindClicked( wxCommandEvent& event )
}
}
void hdnesPackEditormainForm::BGImageOffsetX( wxCommandEvent& event ){
gameObjNode* ndata = getGameObjsSelectedObjectTreeNode();
if(ndata){
ndata->offsetX = atoi(txtBGOffsetX->GetValue());
dataChanged();
}
}
void hdnesPackEditormainForm::BGImageOffsetY( wxCommandEvent& event ){
gameObjNode* ndata = getGameObjsSelectedObjectTreeNode();
if(ndata){
ndata->offsetY = atoi(txtBGOffsetY->GetValue());
dataChanged();
}
}
void hdnesPackEditormainForm::BGImageMoveX( wxCommandEvent& event ){
gameObjNode* ndata = getGameObjsSelectedObjectTreeNode();
if(ndata){
ndata->moveX = atoi(txtBGMoveX->GetValue());
dataChanged();
}
}
void hdnesPackEditormainForm::BGImageMoveY( wxCommandEvent& event ){
gameObjNode* ndata = getGameObjsSelectedObjectTreeNode();
if(ndata){
ndata->moveY = atoi(txtBGMoveY->GetValue());
dataChanged();
}
}
void hdnesPackEditormainForm::BGImageMoveFreq( wxCommandEvent& event ){
gameObjNode* ndata = getGameObjsSelectedObjectTreeNode();
if(ndata){
ndata->moveFreq = atoi(txtBGMoveFreq->GetValue());
dataChanged();
}
}
void hdnesPackEditormainForm::BGImageMoveCount( wxCommandEvent& event ){
gameObjNode* ndata = getGameObjsSelectedObjectTreeNode();
if(ndata){
ndata->moveCount = atoi(txtBGMoveCount->GetValue());
dataChanged();
}
}
void hdnesPackEditormainForm::initHDImg(){
lstHDImg->AppendColumn(wxString("Name"));

View file

@ -98,6 +98,12 @@ class hdnesPackEditormainForm : public mainForm, public colourDialogClient, publ
void BGImageHScrollRate( wxSpinEvent& event );
void BGImageVScrollRate( wxSpinEvent& event );
void BGImageShowBehindClicked( wxCommandEvent& event );
void BGImageOffsetX( wxCommandEvent& event );
void BGImageOffsetY( wxCommandEvent& event );
void BGImageMoveX( wxCommandEvent& event );
void BGImageMoveY( wxCommandEvent& event );
void BGImageMoveFreq( wxCommandEvent& event );
void BGImageMoveCount( wxCommandEvent& event );
void SwapSeleted( wxListEvent& event );

View file

@ -550,6 +550,80 @@ mainForm::mainForm( wxWindow* parent, wxWindowID id, const wxString& title, cons
bSizer59->Add( bSizer61, 0, wxEXPAND, 5 );
wxBoxSizer* bSizer721;
bSizer721 = new wxBoxSizer( wxHORIZONTAL );
m_staticText65 = new wxStaticText( pnlBGImage, wxID_ANY, wxT("Offset x:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText65->Wrap( -1 );
bSizer721->Add( m_staticText65, 0, wxALL, 5 );
txtBGOffsetX = new wxTextCtrl( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
bSizer721->Add( txtBGOffsetX, 0, wxALL, 5 );
m_staticText66 = new wxStaticText( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_staticText66->Wrap( -1 );
bSizer721->Add( m_staticText66, 0, wxALL, 5 );
m_staticText67 = new wxStaticText( pnlBGImage, wxID_ANY, wxT("Offset y:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText67->Wrap( -1 );
bSizer721->Add( m_staticText67, 0, wxALL, 5 );
txtBGOffsetY = new wxTextCtrl( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
bSizer721->Add( txtBGOffsetY, 0, wxALL, 5 );
m_staticText68 = new wxStaticText( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_staticText68->Wrap( -1 );
bSizer721->Add( m_staticText68, 0, wxALL, 5 );
bSizer59->Add( bSizer721, 0, wxEXPAND, 5 );
wxBoxSizer* bSizer73;
bSizer73 = new wxBoxSizer( wxHORIZONTAL );
m_staticText69 = new wxStaticText( pnlBGImage, wxID_ANY, wxT("Move"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText69->Wrap( -1 );
bSizer73->Add( m_staticText69, 0, wxALL, 5 );
txtBGMoveX = new wxTextCtrl( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
txtBGMoveX->SetMaxSize( wxSize( 70,-1 ) );
bSizer73->Add( txtBGMoveX, 0, wxALL, 5 );
m_staticText70 = new wxStaticText( pnlBGImage, wxID_ANY, wxT("pixels left and "), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText70->Wrap( -1 );
bSizer73->Add( m_staticText70, 0, wxALL, 5 );
txtBGMoveY = new wxTextCtrl( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
txtBGMoveY->SetMaxSize( wxSize( 70,-1 ) );
bSizer73->Add( txtBGMoveY, 0, wxALL, 5 );
m_staticText71 = new wxStaticText( pnlBGImage, wxID_ANY, wxT("pixels up every "), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText71->Wrap( -1 );
bSizer73->Add( m_staticText71, 0, wxALL, 5 );
txtBGMoveFreq = new wxTextCtrl( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
txtBGMoveFreq->SetMaxSize( wxSize( 70,-1 ) );
bSizer73->Add( txtBGMoveFreq, 0, wxALL, 5 );
m_staticText72 = new wxStaticText( pnlBGImage, wxID_ANY, wxT("frames"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText72->Wrap( -1 );
bSizer73->Add( m_staticText72, 0, wxALL, 5 );
txtBGMoveCount = new wxTextCtrl( pnlBGImage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
txtBGMoveCount->SetMaxSize( wxSize( 70,-1 ) );
bSizer73->Add( txtBGMoveCount, 0, wxALL, 5 );
m_staticText73 = new wxStaticText( pnlBGImage, wxID_ANY, wxT("times then reset."), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText73->Wrap( -1 );
bSizer73->Add( m_staticText73, 1, wxALL, 5 );
bSizer59->Add( bSizer73, 0, wxEXPAND, 5 );
pnlBGImageDisplay = new wxPanel( pnlBGImage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
bSizer59->Add( pnlBGImageDisplay, 1, wxEXPAND | wxALL, 5 );
@ -1105,6 +1179,12 @@ mainForm::mainForm( wxWindow* parent, wxWindowID id, const wxString& title, cons
spnBGHScrollRate->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( mainForm::BGImageHScrollRate ), NULL, this );
spnBGVScrollRate->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( mainForm::BGImageVScrollRate ), NULL, this );
chkBgShowBehind->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( mainForm::BGImageShowBehindClicked ), NULL, this );
txtBGOffsetX->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageOffsetX ), NULL, this );
txtBGOffsetY->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageOffsetY ), NULL, this );
txtBGMoveX->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveX ), NULL, this );
txtBGMoveY->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveY ), NULL, this );
txtBGMoveFreq->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveFreq ), NULL, this );
txtBGMoveCount->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveCount ), NULL, this );
lstConditions->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( mainForm::ConditionSelected ), NULL, this );
cboConditionType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( mainForm::ConditionTypeSelect ), NULL, this );
cmdConditionAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( mainForm::ConditionAdd ), NULL, this );
@ -1239,6 +1319,12 @@ mainForm::~mainForm()
spnBGHScrollRate->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( mainForm::BGImageHScrollRate ), NULL, this );
spnBGVScrollRate->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( mainForm::BGImageVScrollRate ), NULL, this );
chkBgShowBehind->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( mainForm::BGImageShowBehindClicked ), NULL, this );
txtBGOffsetX->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageOffsetX ), NULL, this );
txtBGOffsetY->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageOffsetY ), NULL, this );
txtBGMoveX->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveX ), NULL, this );
txtBGMoveY->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveY ), NULL, this );
txtBGMoveFreq->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveFreq ), NULL, this );
txtBGMoveCount->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( mainForm::BGImageMoveCount ), NULL, this );
lstConditions->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( mainForm::ConditionSelected ), NULL, this );
cboConditionType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( mainForm::ConditionTypeSelect ), NULL, this );
cmdConditionAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( mainForm::ConditionAdd ), NULL, this );

View file

@ -126,6 +126,21 @@ class mainForm : public wxFrame
wxSpinCtrl* spnBGVScrollRate;
wxStaticText* m_staticText59;
wxCheckBox* chkBgShowBehind;
wxStaticText* m_staticText65;
wxTextCtrl* txtBGOffsetX;
wxStaticText* m_staticText66;
wxStaticText* m_staticText67;
wxTextCtrl* txtBGOffsetY;
wxStaticText* m_staticText68;
wxStaticText* m_staticText69;
wxTextCtrl* txtBGMoveX;
wxStaticText* m_staticText70;
wxTextCtrl* txtBGMoveY;
wxStaticText* m_staticText71;
wxTextCtrl* txtBGMoveFreq;
wxStaticText* m_staticText72;
wxTextCtrl* txtBGMoveCount;
wxStaticText* m_staticText73;
wxPanel* pnlBGImageDisplay;
wxPanel* pnlConditions;
wxListCtrl* lstConditions;
@ -262,6 +277,12 @@ class mainForm : public wxFrame
virtual void BGImageHScrollRate( wxSpinEvent& event ) { event.Skip(); }
virtual void BGImageVScrollRate( wxSpinEvent& event ) { event.Skip(); }
virtual void BGImageShowBehindClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void BGImageOffsetX( wxCommandEvent& event ) { event.Skip(); }
virtual void BGImageOffsetY( wxCommandEvent& event ) { event.Skip(); }
virtual void BGImageMoveX( wxCommandEvent& event ) { event.Skip(); }
virtual void BGImageMoveY( wxCommandEvent& event ) { event.Skip(); }
virtual void BGImageMoveFreq( wxCommandEvent& event ) { event.Skip(); }
virtual void BGImageMoveCount( wxCommandEvent& event ) { event.Skip(); }
virtual void ConditionSelected( wxListEvent& event ) { event.Skip(); }
virtual void ConditionTypeSelect( wxCommandEvent& event ) { event.Skip(); }
virtual void ConditionAdd( wxCommandEvent& event ) { event.Skip(); }