1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-08-15 10:59:54 +00:00

Merge branch 'gccwarn' into controllerfixup

This commit is contained in:
Valentin Ochs 2017-01-17 11:15:47 +01:00
commit f9357e7fca
99 changed files with 1238 additions and 792 deletions

View file

@ -94,6 +94,7 @@ std::string getMapTemplateFilename()
return "";
}
SceneEditor::SceneEditor() : ActionMapper(), on(false)
{
autoSaveFile = 0;
@ -448,7 +449,7 @@ void SceneEditor::openMainMenu()
void SceneEditor::closeMainMenu()
{
inMainMenu = false;
for (int i = 0; i < mainMenu.size(); i++)
for (size_t i = 0; i < mainMenu.size(); i++)
{
mainMenu[i]->alpha = 0;
mainMenu[i]->safeKill();
@ -709,7 +710,7 @@ void SceneEditor::createAquarian()
std::string t = dsq->getUserInputString("Enter Aquarian:", "");
stringToUpper(t);
Vector startPos = dsq->getGameCursorPosition();
for (int i = 0; i < t.size(); i++)
for (size_t i = 0; i < t.size(); i++)
{
int v = 0;
if (t[i] >= 'A' && t[i] <= 'Z')
@ -728,7 +729,7 @@ void SceneEditor::createAquarian()
Path *SceneEditor::getSelectedPath()
{
if (selectedIdx >= 0 && selectedIdx < dsq->game->getNumPaths())
if (selectedIdx < dsq->game->getNumPaths())
{
return dsq->game->getPath(selectedIdx);
}
@ -789,7 +790,7 @@ void SceneEditor::reversePath()
void SceneEditor::setGridPattern(int gi)
{
if (selectedElements.size())
for (int i = 0; i < selectedElements.size(); ++i)
for (size_t i = 0; i < selectedElements.size(); ++i)
selectedElements[i]->setElementEffectByIndex(gi);
else if (editingElement)
editingElement->setElementEffectByIndex(gi);
@ -833,7 +834,7 @@ void SceneEditor::moveToFront()
dsq->clearElements();
// move to the foreground ... this means that the editing element should be last in the list (Added last)
for (int i = 0; i < copy.size(); i++)
for (size_t i = 0; i < copy.size(); i++)
{
if (copy[i] != editingElement)
dsq->addElement(copy[i]);
@ -853,7 +854,7 @@ void SceneEditor::moveToBack()
// move to the background ... this means that the editing element should be first in the list (Added first)
dsq->addElement(editingElement);
for (int i = 0; i < copy.size(); i++)
for (size_t i = 0; i < copy.size(); i++)
{
if (copy[i] != editingElement)
dsq->addElement(copy[i]);
@ -959,7 +960,7 @@ void SceneEditor::deleteSelected()
{
if (selectedElements.size()>0)
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->safeKill();
dsq->removeElement(selectedElements[i]);
@ -1049,7 +1050,7 @@ void SceneEditor::checkForRebuild()
if (editType == ET_ELEMENTS && state != ES_SELECTING && !selectedElements.empty())
{
bool rebuild = false;
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
if (selectedElements[i]->elementFlag == EF_SOLID || selectedElements[i]->elementFlag == EF_HURT)
{
@ -1072,7 +1073,7 @@ void SceneEditor::exitMoveState()
{
if (!selectedElements.empty())
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->position = selectedElements[i]->getWorldPosition();
dummy.removeChild(selectedElements[i]);
@ -1094,7 +1095,7 @@ void SceneEditor::enterMoveState()
dummy.rotation = Vector(0,0,0);
cursorOffset = dsq->getGameCursorPosition();
groupCenter = getSelectedElementsCenter();
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->position -= groupCenter;
dummy.addChild(selectedElements[i], PM_NONE);
@ -1142,7 +1143,7 @@ void SceneEditor::enterRotateState()
oldRotation = dummy.rotation;
cursorOffset = dsq->getGameCursorPosition();
groupCenter = getSelectedElementsCenter();
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->position -= groupCenter;
dummy.addChild(selectedElements[i], PM_NONE);
@ -1175,7 +1176,7 @@ void SceneEditor::enterScaleState()
oldRepeatScale = Vector(1, 1); // not handled for multi-selection
cursorOffset = dsq->getGameCursorPosition();
groupCenter = getSelectedElementsCenter();
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->position -= groupCenter;
dummy.addChild(selectedElements[i], PM_NONE);
@ -1258,7 +1259,7 @@ void SceneEditor::mouseButtonRightUp()
{
if (!selectedElements.empty())
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->position = selectedElements[i]->getWorldPosition();
selectedElements[i]->rotation = selectedElements[i]->getAbsoluteRotation();
@ -1272,7 +1273,7 @@ void SceneEditor::mouseButtonRightUp()
if (!selectedElements.empty())
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->position = selectedElements[i]->getWorldPosition();
selectedElements[i]->scale = selectedElements[i]->scale * dummy.scale;
@ -1388,7 +1389,7 @@ void SceneEditor::mouseButtonLeft()
{
Path *p = getSelectedPath();
editingPath = p;
if (p && selectedNode >= 0 && selectedNode < p->nodes.size())
if (p && selectedNode < p->nodes.size())
{
if (core->getShiftState())
{
@ -1496,12 +1497,12 @@ public:
int rows;
};
bool getGrassPixel(pngRawInfo *png, int x, int y)
bool getGrassPixel(pngRawInfo *png, size_t x, size_t y)
{
if (x >= png->Width || y >= png->Height || x < 0 || y < 0) return false;
if (x >= png->Width || y >= png->Height) return false;
int c = (y*png->Width)*png->Components + x*png->Components;
size_t c = (y*png->Width)*png->Components + x*png->Components;
if (png->Data[c] == 128 &&
png->Data[c+1] == 255 &&
png->Data[c+2] == 128)
@ -1538,7 +1539,7 @@ void SceneEditor::skinLevel()
void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int maxY)
{
std::vector<Element*> deleteElements;
int i = 0;
size_t i = 0;
for (i = 0; i < dsq->getNumElements(); i++)
{
Element *e = dsq->getElement(i);
@ -1595,7 +1596,7 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
offset.z = 0;
bool skip = false;
for (int i = 0; i < dsq->getNumElements(); i++)
for (size_t i = 0; i < dsq->getNumElements(); i++)
{
Element *e = dsq->getElement(i);
if (e->templateIdx <= 4 && e->templateIdx >= 1)
@ -1612,7 +1613,7 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
{
std::vector<int> cantUse;
cantUse.resize(4);
int i = 0;
size_t i = 0;
for (i = 0; i < dsq->getNumElements(); i++)
{
Element *e = dsq->getElement(i);
@ -1624,10 +1625,10 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
}
}
}
int useIdx = rand()%cantUse.size()+1;
size_t useIdx = rand()%cantUse.size()+1;
for (i = 0; i < cantUse.size(); i++)
{
int check = i + idxCount;
size_t check = i + idxCount;
if (check >= cantUse.size())
check -= cantUse.size();
if (cantUse[check]<=0)
@ -1648,7 +1649,7 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
}
}
}
for (int i = 0; i < dsq->getNumElements(); i++)
for (size_t i = 0; i < dsq->getNumElements(); i++)
{
Element *e = dsq->getElement(i);
if (e->bgLayer == 4 && e->templateIdx >= 1 && e->templateIdx <= 4)
@ -1667,7 +1668,7 @@ void SceneEditor::generateLevel()
int maxX=0, maxY=0;
size_t maxX=0, maxY=0;
const int YELLOW=0, RED=1, GREEN=2, BLUE=3, PURPLE=4, ORANGE=5, BROWN=6, MAX=7;
int firstColorX[MAX], firstColorY[MAX];
int lastColorX[MAX], lastColorY[MAX];
@ -1700,7 +1701,7 @@ void SceneEditor::generateLevel()
int scale = TILE_SIZE;
int c = 0;
for (int y = 0; y < rawinfo.Height; y++)
for (size_t y = 0; y < rawinfo.Height; y++)
{
Vector lastElement;
lastElement = Vector(0,0,0);
@ -1709,7 +1710,7 @@ void SceneEditor::generateLevel()
Row row;
rowCount = 0;
positions.clear();
for (int x = 0; x < rawinfo.Width; x++)
for (size_t x = 0; x < rawinfo.Width; x++)
{
Vector *e = 0;
if
@ -1807,7 +1808,7 @@ void SceneEditor::generateLevel()
}
dsq->game->clearObsRows();
int i = 0;
size_t i = 0;
for (i = 0; i < rows.size(); i++)
{
int w = rows[i].x2 - rows[i].x1;
@ -1893,7 +1894,7 @@ void SceneEditor::moveElementToLayer(Element *e, int bgLayer)
{
if (!selectedElements.empty())
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
Element *e = selectedElements[i];
core->removeRenderObject(e, Core::DO_NOT_DESTROY_RENDER_OBJECT);
@ -1945,7 +1946,7 @@ void SceneEditor::updateMultiSelect()
selectedElements.clear();
for (int i = 0; i < dsq->getNumElements(); i++)
for (size_t i = 0; i < dsq->getNumElements(); i++)
{
Element *e = dsq->getElement(i);
if (e->bgLayer == bgLayer && e->position.x >= p1.x && e->position.y >= p1.y && e->position.x <= p2.x && e->position.y <= p2.y)
@ -2100,7 +2101,7 @@ void destroyEntityPage()
se_grad->fadeAlphaWithLife = 1;
se_grad = 0;
}
for (int i = 0; i < qs.size(); i++)
for (size_t i = 0; i < qs.size(); i++)
{
qs[i]->safeKill();
}
@ -2129,7 +2130,7 @@ void createEntityPage()
EntityGroup &group = game->entityGroups[game->sceneEditor.entityPageNum];
for (int i = 0; i < group.entities.size(); i++)
for (size_t i = 0; i < group.entities.size(); i++)
{
EntityGroupEntity ent = group.entities[i];
EntityClass *ec = dsq->game->getEntityClassForEntityType(ent.name);
@ -2140,7 +2141,7 @@ void createEntityPage()
int type = -1;
if (ec)
{
int j=0;
size_t j=0;
for (j = 0; j < dsq->game->entityTypeList.size(); j++)
{
if (ec->idx == dsq->game->entityTypeList[j].idx)
@ -2197,7 +2198,7 @@ void nextEntityPage()
void prevEntityPage()
{
game->sceneEditor.entityPageNum--;
if (game->sceneEditor.entityPageNum < 0)
if (game->sceneEditor.entityPageNum >= game->entityGroups.size())
game->sceneEditor.entityPageNum = game->entityGroups.size()-1;
createEntityPage();
@ -2265,9 +2266,9 @@ void SceneEditor::updateEntityPlacer()
Element* SceneEditor::cycleElementNext(Element *e1)
{
int ce = e1->templateIdx;
size_t ce = e1->templateIdx;
int idx=0;
for (int i = 0; i < dsq->game->elementTemplates.size(); i++)
for (size_t i = 0; i < dsq->game->elementTemplates.size(); i++)
{
if (dsq->game->elementTemplates[i].idx == ce)
idx = i;
@ -2289,9 +2290,9 @@ Element* SceneEditor::cycleElementNext(Element *e1)
Element* SceneEditor::cycleElementPrev(Element *e1)
{
int ce = e1->templateIdx;
int idx=0;
for (int i = 0; i < dsq->game->elementTemplates.size(); i++)
size_t ce = e1->templateIdx;
size_t idx=0;
for (size_t i = 0; i < dsq->game->elementTemplates.size(); i++)
{
if (dsq->game->elementTemplates[i].idx == ce)
{
@ -2301,7 +2302,7 @@ Element* SceneEditor::cycleElementPrev(Element *e1)
}
ce = idx;
ce--;
if (ce < 0)
if (ce == -1)
ce = dsq->game->elementTemplates.size()-1;
idx = dsq->game->elementTemplates[ce].idx;
if (idx < 1024)
@ -2339,7 +2340,7 @@ void SceneEditor::nextElement()
{
if (!selectedElements.empty())
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i]->rotation.z = 0;
}
@ -2351,7 +2352,7 @@ void SceneEditor::nextElement()
}
else if (!selectedElements.empty())
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i] = cycleElementNext(selectedElements[i]);
}
@ -2399,7 +2400,7 @@ void SceneEditor::prevElement()
if (dsq->game->elementTemplates.empty()) return;
if (!selectedElements.empty())
{
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
selectedElements[i] = cycleElementPrev(selectedElements[i]);
}
@ -2418,13 +2419,17 @@ void SceneEditor::prevElement()
void SceneEditor::doPrevElement()
{
int oldCur = curElement;
curElement--;
if (curElement < 0)
curElement = dsq->game->elementTemplates.size()-1;
size_t oldCur = curElement;
if (curElement < 0)
if(dsq->game->elementTemplates.size() == 0) {
return;
}
if(curElement > 0) {
curElement--;
}
if (curElement >= game->elementTemplates.size())
curElement = dsq->game->elementTemplates.size()-1;
if (dsq->game->elementTemplates[curElement].idx < 1024)
{
@ -2446,7 +2451,7 @@ void SceneEditor::moveLayer()
is >> fromLayer >> toLayer;
toLayer--;
fromLayer--;
for (int i = 0; i < dsq->getNumElements(); i++)
for (size_t i = 0; i < dsq->getNumElements(); i++)
{
Element *e = dsq->getElement(i);
if (e)
@ -2486,8 +2491,8 @@ void SceneEditor::selectEnd()
if (dsq->game->elementTemplates.empty()) return;
if (!editingElement)
{
int largest = 0;
for (int i = 0; i < dsq->game->elementTemplates.size(); i++)
size_t largest = 0;
for (size_t i = 0; i < dsq->game->elementTemplates.size(); i++)
{
ElementTemplate et = dsq->game->elementTemplates[i];
if (et.idx < 1024 && i > largest)
@ -2551,7 +2556,7 @@ void SceneEditor::cloneSelectedElement()
{
std::vector<Element*>copy;
Vector groupCenter = this->getSelectedElementsCenter();
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
Element *e1 = selectedElements[i];
Vector dist = e1->position - groupCenter;
@ -2751,7 +2756,7 @@ void SceneEditor::updateText()
Vector SceneEditor::getSelectedElementsCenter()
{
Vector c;
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
{
c += selectedElements[i]->position;
}
@ -2880,9 +2885,12 @@ void SceneEditor::update(float dt)
selectedIdx = -1;
selectedNode = -1;
float smallestDist = sqr(64);
for (int i = 0; i < dsq->game->getNumPaths(); i++)
for (size_t i = 0; i < dsq->game->getNumPaths(); i++)
{
for (int n = dsq->game->getPath(i)->nodes.size()-1; n >=0; n--)
if(dsq->game->getPath(i)->nodes.size() == 0) {
continue;
}
for (size_t n = dsq->game->getPath(i)->nodes.size(); n-- > 0; )
{
Vector v = dsq->game->getPath(i)->nodes[n].position - dsq->getGameCursorPosition();
float dist = v.getSquaredLength2D();
@ -2917,8 +2925,7 @@ void SceneEditor::update(float dt)
}
break;
case ES_MOVING:
if (selectedIdx >= 0)
dsq->game->getPath(selectedIdx)->nodes[selectedNode].position = dsq->getGameCursorPosition() + cursorOffset;
dsq->game->getPath(selectedIdx)->nodes[selectedNode].position = dsq->getGameCursorPosition() + cursorOffset;
break;
case ES_ROTATING:
case ES_MAX:
@ -2964,7 +2971,7 @@ void SceneEditor::update(float dt)
case ES_SELECTING:
{
float closest = sqr(800);
int idx = -1, i = 0;
size_t i = 0;
for (i = 0; i < dsq->getNumElements(); i++)
{
Vector dist = dsq->getElement(i)->getFollowCameraPosition() - dsq->getGameCursorPosition();
@ -2972,7 +2979,6 @@ void SceneEditor::update(float dt)
if (len < closest)
{
closest = len;
idx = i;
}
}
}
@ -3075,7 +3081,7 @@ void SceneEditor::update(float dt)
dummy.scale.y = MIN_SIZE;
}
for (int i = 0; i < selectedElements.size(); i++)
for (size_t i = 0; i < selectedElements.size(); i++)
selectedElements[i]->refreshRepeatTextureToFill();
}
else if (editingElement)