mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-07-03 14:34:34 +00:00
Remove commented-out code
This commit is contained in:
parent
0f39b825e1
commit
eb128e65a4
162 changed files with 2092 additions and 6594 deletions
|
@ -18,4 +18,3 @@ You should have received a copy of the GNU General Public License
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
// moved
|
||||
|
|
|
@ -98,11 +98,7 @@ void KeyframeWidget::shiftRight()
|
|||
|
||||
void KeyframeWidget::onUpdate(float dt)
|
||||
{
|
||||
/*
|
||||
if (this->key == ae->currentKey)
|
||||
color = Vector(0.75, 0.75, 1);
|
||||
else
|
||||
*/
|
||||
|
||||
Quad::onUpdate(dt);
|
||||
if (life != 1 || ae->editSprite->isAnimating()) return;
|
||||
switch(ae->editSprite->getCurrentAnimation()->getKeyframe(this->key)->lerpType)
|
||||
|
@ -137,7 +133,7 @@ void KeyframeWidget::onUpdate(float dt)
|
|||
{
|
||||
if (core->mouse.buttons.left)
|
||||
{
|
||||
//ae->selectionLocked = false;
|
||||
|
||||
movingWidget = this;
|
||||
ae->currentKey = this->key;
|
||||
}
|
||||
|
@ -234,7 +230,7 @@ void AnimationEditor::applyState()
|
|||
editSprite->cull = false;
|
||||
editSprite->loadSkeletal(editingFile);
|
||||
editSprite->position = Vector(400,300);
|
||||
//editSprite->scale = Vector(0.5, 0.5);
|
||||
|
||||
|
||||
addAction(MakeFunctionEvent(AnimationEditor, lmbu), ActionMapper::MOUSE_BUTTON_LEFT, 0);
|
||||
addAction(MakeFunctionEvent(AnimationEditor, lmbd), ActionMapper::MOUSE_BUTTON_LEFT, 1);
|
||||
|
@ -269,7 +265,7 @@ void AnimationEditor::applyState()
|
|||
addAction(MakeFunctionEvent(AnimationEditor, undo), KEY_Z, 0);
|
||||
addAction(MakeFunctionEvent(AnimationEditor, redo), KEY_Y, 0);
|
||||
|
||||
//addAction(MakeFunctionEvent(AnimationEditor, lockSelection), KEY_L, 0);
|
||||
|
||||
addAction(MakeFunctionEvent(AnimationEditor, cycleLerpType), KEY_L, 0);
|
||||
|
||||
addAction(MakeFunctionEvent(AnimationEditor, selectPrevBone), KEY_UP, 0);
|
||||
|
@ -292,32 +288,12 @@ void AnimationEditor::applyState()
|
|||
|
||||
|
||||
|
||||
/*
|
||||
addAction("mbl", KEY_A);
|
||||
addAction("mbr", KEY_D);
|
||||
addAction("mbu", KEY_W);
|
||||
addAction("mbd", KEY_S);
|
||||
*/
|
||||
|
||||
|
||||
addAction(ACTION_SWIMLEFT, KEY_J);
|
||||
addAction(ACTION_SWIMRIGHT, KEY_K);
|
||||
addAction(ACTION_SWIMUP, KEY_UP);
|
||||
addAction(ACTION_SWIMDOWN, KEY_DOWN);
|
||||
|
||||
/*
|
||||
addAction(ACTION_BONELEFT, KEY_NUMPAD4);
|
||||
addAction(ACTION_BONERIGHT, KEY_NUMPAD6);
|
||||
addAction(ACTION_BONEUP, KEY_NUMPAD8);
|
||||
addAction(ACTION_BONEDOWN, KEY_NUMPAD2);
|
||||
*/
|
||||
|
||||
//addAction("", );
|
||||
|
||||
/*
|
||||
addAction(MakeFunctionEvent(AnimationEditor, zoomOut), KEY_NUMPAD2, 0);
|
||||
addAction(MakeFunctionEvent(AnimationEditor, zoomIn), KEY_NUMPAD8, 0);
|
||||
*/
|
||||
|
||||
addRenderObject(editSprite, LR_ENTITIES);
|
||||
|
||||
|
@ -668,35 +644,9 @@ void AnimationEditor::moveBoneStripPoint(const Vector &mov)
|
|||
|
||||
b->strip[selectedStripPoint] = sel->changeStrip[selectedStripPoint] += mov*0.006f;
|
||||
sel->setGridPoints(sel->stripVert, sel->strip);
|
||||
/*
|
||||
|
||||
|
||||
float sz = sel->getStripSegmentSize();
|
||||
for (int i = selectedStripPoint; i > 0; i--)
|
||||
{
|
||||
Vector diff = sel->changeStrip[i] - sel->changeStrip[i-1];
|
||||
if (!diff.isLength2DIn(sz))
|
||||
{
|
||||
diff.setLength2D(sz);
|
||||
sel->changeStrip[i-1] = sel->changeStrip[i] - diff;
|
||||
}
|
||||
}
|
||||
for (int i = selectedStripPoint; i < sel->changeStrip.size()-1; i++)
|
||||
{
|
||||
Vector diff = sel->changeStrip[i] - sel->changeStrip[i+1];
|
||||
if (!diff.isLength2DIn(sz))
|
||||
{
|
||||
diff.setLength2D(sz);
|
||||
sel->changeStrip[i+1] = sel->changeStrip[i] - diff;
|
||||
}
|
||||
}
|
||||
|
||||
b->strip = sel->changeStrip;
|
||||
|
||||
|
||||
*/
|
||||
|
||||
//sel->setStrip(sel->changeStrip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -708,7 +658,7 @@ void AnimationEditor::selectPrevBone()
|
|||
|
||||
if (editingStrip)
|
||||
{
|
||||
//moveBoneStripPoint(Vector(0, 1));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -722,7 +672,7 @@ void AnimationEditor::selectNextBone()
|
|||
|
||||
if (editingStrip)
|
||||
{
|
||||
//moveBoneStripPoint(Vector(0, -1));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -765,7 +715,7 @@ void AnimationEditor::update(float dt)
|
|||
if (core->mouse.buttons.middle)
|
||||
{
|
||||
editSprite->position += core->mouse.change;
|
||||
//core->setMousePosition(Vector(400,300));
|
||||
|
||||
}
|
||||
|
||||
if (editingStrip)
|
||||
|
@ -809,29 +759,7 @@ void AnimationEditor::update(float dt)
|
|||
updateEditingBone();
|
||||
if (editingBone)
|
||||
{
|
||||
/*
|
||||
float amt = dt;
|
||||
if (isActing("mbl"))
|
||||
{
|
||||
editingBone->position.x -= amt;
|
||||
applyTranslation();
|
||||
}
|
||||
if (isActing("mbr"))
|
||||
{
|
||||
editingBone->position.x += amt;
|
||||
applyTranslation();
|
||||
}
|
||||
if (isActing("mbu"))
|
||||
{
|
||||
editingBone->position.y -= amt;
|
||||
applyTranslation();
|
||||
}
|
||||
if (isActing("mbd"))
|
||||
{
|
||||
editingBone->position.y += amt;
|
||||
applyTranslation();
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
if (editingBone && boneEdit == 1)
|
||||
|
@ -1051,8 +979,8 @@ void AnimationEditor::lmbd()
|
|||
{
|
||||
pushUndo();
|
||||
updateEditingBone();
|
||||
if (editingBone /*&& (editSprite->position - core->mouse.position).isLength2DIn(400)*/
|
||||
/*&& core->mouse.position.x > 200 && core->mouse.position.y < 560*/
|
||||
if (editingBone
|
||||
|
||||
&& core->mouse.position.x > 400-200 && core->mouse.position.x < 400+200
|
||||
&& core->mouse.position.y > 300-200 && core->mouse.position.y < 300+200
|
||||
)
|
||||
|
@ -1146,7 +1074,7 @@ void AnimationEditor::rmbd()
|
|||
updateEditingBone();
|
||||
if (editingBone)
|
||||
{
|
||||
//cursorOffset = editingBone->position + editSprite->position - core->mouse.position;
|
||||
|
||||
cursorOffset = core->mouse.position;
|
||||
rotOffset = editingBone->rotation.z;
|
||||
boneEdit = 2;
|
||||
|
@ -1305,8 +1233,8 @@ void AnimationEditor::rmbu()
|
|||
|
||||
void AnimationEditor::mmbd()
|
||||
{
|
||||
//editingBone = editSprite->getSelectedBone(ignoreBone);
|
||||
//cloneBoneAhead();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void AnimationEditor::cloneBoneAhead()
|
||||
|
@ -1427,8 +1355,8 @@ void AnimationEditor::loadSkin()
|
|||
|
||||
std::string file = dsq->getUserInputString("Enter skin file to load:");
|
||||
if (file.empty()) return;
|
||||
//this->editingFile = file;
|
||||
//loadFile();
|
||||
|
||||
|
||||
SkeletalSprite::clearCache();
|
||||
editSprite->loadSkin(file);
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
AquariaComboBox::AquariaComboBox(Vector textscale) : RenderObject()
|
||||
{
|
||||
//Quad *bar, *window, *scrollBtnUp, *scrollBtnDown, *scrollBar;
|
||||
|
||||
bar = new Quad("gui/combo-drop", Vector(0,0));
|
||||
addChild(bar, PM_POINTER);
|
||||
|
||||
|
@ -120,7 +120,7 @@ void AquariaComboBox::onUpdate(float dt)
|
|||
if (alpha.x < 1)
|
||||
return;
|
||||
|
||||
//window->alpha.interpolateTo(1, 0.2);
|
||||
|
||||
|
||||
if (enqueuedSelectItem != -1)
|
||||
{
|
||||
|
@ -375,7 +375,7 @@ void AquariaComboBoxItem::onUpdate(float dt)
|
|||
{
|
||||
color = selectedColor;
|
||||
label->color = selectedColor;
|
||||
//alphaMod = 1;
|
||||
|
||||
if (!mb && core->mouse.buttons.left)
|
||||
{
|
||||
mb = true;
|
||||
|
@ -396,6 +396,6 @@ void AquariaComboBoxItem::onUpdate(float dt)
|
|||
label->color = unselectedColor;
|
||||
|
||||
mb = false;
|
||||
//alphaMod = 0.5;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// Define BBGE_SKIP_CONFIG_HEADERS to use CMake-only configuration.
|
||||
#ifndef BBGE_SKIP_CONFIG_HEADERS
|
||||
|
||||
//#define AQUARIA_DEMO 1
|
||||
|
||||
#define AQUARIA_BUILD_CONSOLE 1
|
||||
#define AQUARIA_BUILD_SCENEEDITOR 1
|
||||
|
||||
|
|
|
@ -100,17 +100,11 @@ void AquariaGuiElement::setFocus(bool v)
|
|||
|
||||
void AquariaGuiElement::updateMovement(float dt)
|
||||
{
|
||||
//debugLog("in update movement");
|
||||
|
||||
if (hasFocus && isGuiVisible() && canDirMove && canDirMoveGlobal && hasInput())
|
||||
{
|
||||
//debugLog("has focus");
|
||||
/*
|
||||
if (alpha.x <= 0 || alphaMod <= 0)
|
||||
{
|
||||
setFocus(false);
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
if (guiMoveTimer > 0)
|
||||
{
|
||||
|
@ -162,7 +156,6 @@ void AquariaGuiElement::updateMovement(float dt)
|
|||
if (gui)
|
||||
{
|
||||
gui->setFocus(true);
|
||||
//this->setFocus(false);
|
||||
|
||||
|
||||
|
||||
|
@ -461,21 +454,12 @@ AquariaKeyConfig::AquariaKeyConfig(const std::string &actionInputName, InputSetT
|
|||
bg->alphaMod = 0;
|
||||
addChild(bg, PM_POINTER);
|
||||
|
||||
/*
|
||||
label = new BitmapText(&dsq->smallFont);
|
||||
label->setText("KeyConfig");
|
||||
label->parentManagedPointer = 1;
|
||||
label->position = Vector(0, -10);
|
||||
label->scale = Vector(0.8, 0.8);
|
||||
addChild(label);
|
||||
*/
|
||||
|
||||
//keyConfigFont = new DebugFont(6, "keyConfig");
|
||||
|
||||
keyConfigFont = new TTFText(&dsq->fontArialSmallest);
|
||||
|
||||
keyConfigFont->setAlign(ALIGN_CENTER);
|
||||
//keyConfigFont->position = Vector(0, -10);
|
||||
|
||||
addChild(keyConfigFont, PM_POINTER);
|
||||
|
||||
|
||||
|
@ -523,16 +507,7 @@ void AquariaKeyConfig::toggleEnterKey(int on)
|
|||
bg->alphaMod = 0.5;
|
||||
bg->color = Vector(0.5, 0.5, 0.5);
|
||||
}
|
||||
/*
|
||||
if (on)
|
||||
{
|
||||
label->scale = Vector(2, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
label->scale = Vector(1, 1);
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void AquariaKeyConfig::setLock(int lock)
|
||||
|
@ -548,8 +523,6 @@ void AquariaKeyConfig::onUpdate(float dt)
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
AquariaGuiElement::updateMovement(dt);
|
||||
|
||||
RenderObject::onUpdate(dt);
|
||||
|
@ -640,15 +613,8 @@ void AquariaKeyConfig::onUpdate(float dt)
|
|||
{
|
||||
if (i != KEY_ESCAPE)
|
||||
{
|
||||
/*
|
||||
if (i == KEY_DELETE || i == KEY_BACKSPACE)
|
||||
else
|
||||
{
|
||||
*/
|
||||
/*
|
||||
if (i == KEY_0 || i == KEY_1 || i == KEY_2 || i == KEY_3 || i == KEY_4 || i == KEY_5 || i == KEY_6 || i == KEY_7
|
||||
|| i == KEY_8 || i == KEY_9)
|
||||
*/
|
||||
|
||||
|
||||
if (i >= KEY_0 && i <= KEY_9)
|
||||
{
|
||||
*value = i-KEY_0;
|
||||
|
@ -745,11 +711,11 @@ void AquariaKeyConfig::onUpdate(float dt)
|
|||
}
|
||||
|
||||
|
||||
if (!keyDown && (core->mouse.buttons.left || core->mouse.buttons.right/* || core->getKeyState(KEY_RETURN)*/))
|
||||
if (!keyDown && (core->mouse.buttons.left || core->mouse.buttons.right))
|
||||
{
|
||||
keyDown = true;
|
||||
}
|
||||
else if (keyDown && (!core->mouse.buttons.left && !core->mouse.buttons.right /*&& !core->getKeyState(KEY_RETURN)*/))
|
||||
else if (keyDown && (!core->mouse.buttons.left && !core->mouse.buttons.right ))
|
||||
{
|
||||
keyDown = false;
|
||||
|
||||
|
@ -805,18 +771,15 @@ AquariaMenuItem::AquariaMenuItem() : Quad(), ActionMapper(), AquariaGuiElement()
|
|||
glowFont->position = Vector(0, -sz/2, 0);
|
||||
glowFont->setBlendType(BLEND_ADD);
|
||||
glowFont->alpha = 0;
|
||||
//glowFont->scale.interpolateTo(Vector(1.1,1.1), 0.5, -1, 1, 1);
|
||||
|
||||
addChild(glowFont, PM_POINTER, RBP_OFF);
|
||||
|
||||
//setTexture("bubble");
|
||||
//this->shareAlphaWithChildren = true;
|
||||
|
||||
|
||||
width = 0;
|
||||
height = 0;
|
||||
highlighted = false;
|
||||
/*
|
||||
width = 256;
|
||||
height = 64;
|
||||
*/
|
||||
|
||||
cull = false;
|
||||
followCamera = 1;
|
||||
addAction(MakeFunctionEvent(AquariaMenuItem, onClick), ActionMapper::MOUSE_BUTTON_LEFT, 0);
|
||||
|
@ -888,9 +851,8 @@ void AquariaMenuItem::onClick()
|
|||
|
||||
event.call();
|
||||
|
||||
//glowFont->scale.interpolateTo(Vector(4,4), 0.5, 1, 1);
|
||||
//glowFont->alpha.interpolateTo(0, 0.5);
|
||||
//scale.interpolateTo(Vector(4, 4), 3);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -913,7 +875,7 @@ void AquariaMenuItem::toggleHighlight(bool state)
|
|||
{
|
||||
glowFont->alpha.interpolateTo(0.3, 0.2);
|
||||
}
|
||||
//scale.interpolateTo(Vector(1.1, 1.1), 0.2);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -922,7 +884,7 @@ void AquariaMenuItem::toggleHighlight(bool state)
|
|||
else
|
||||
glowFont->alpha.interpolateTo(0, 0.2);
|
||||
}
|
||||
//scale.interpolateTo(Vector(1,1), 0.2);
|
||||
|
||||
}
|
||||
|
||||
void AquariaMenuItem::onUpdate(float dt)
|
||||
|
@ -951,10 +913,7 @@ void AquariaMenuItem::onUpdate(float dt)
|
|||
quad->alpha.x = alpha.x;
|
||||
}
|
||||
|
||||
/*
|
||||
font->position = this->position;
|
||||
font->alpha = this->alpha;
|
||||
*/
|
||||
|
||||
if (hasInput())
|
||||
{
|
||||
if (alpha.x == 1)
|
||||
|
|
|
@ -184,8 +184,8 @@ protected:
|
|||
InputSetType inputSetType;
|
||||
int inputIdx;
|
||||
|
||||
//BitmapText *label;
|
||||
//DebugFont *keyConfigFont;
|
||||
|
||||
|
||||
TTFText *keyConfigFont;
|
||||
Quad *bg;
|
||||
};
|
||||
|
@ -247,18 +247,6 @@ protected:
|
|||
std::vector<AquariaComboBoxItem*> shownItems;
|
||||
};
|
||||
|
||||
/*
|
||||
class SelectionList : public RenderObject
|
||||
{
|
||||
public:
|
||||
SelectionList(std::string file, std::string font, int items);
|
||||
void reload();
|
||||
|
||||
virtual void onSelect(int idx){}
|
||||
protected:
|
||||
void load();
|
||||
std::vector<std::string> list;
|
||||
};
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -37,12 +37,8 @@ AquariaSaveSlot::AquariaSaveSlot(int slot) : AquariaGuiQuad()
|
|||
box->setWidthHeight(450, 96);
|
||||
box->alphaMod = 0;
|
||||
addChild(box, PM_POINTER);
|
||||
//setTexture("dialogue-bg");
|
||||
//setTexture("HintBox");
|
||||
//renderQuad = false;
|
||||
|
||||
|
||||
//shareAlphaWithChildren = 1;
|
||||
|
||||
text1 = new BitmapText(&dsq->smallFont);
|
||||
text1->setFontSize(14);
|
||||
|
@ -122,7 +118,7 @@ AquariaSaveSlot::AquariaSaveSlot(int slot) : AquariaGuiQuad()
|
|||
core->resetTimer();
|
||||
screen->upperLeftTextureCoordinates = Vector(0, 1);
|
||||
screen->lowerRightTextureCoordinates = Vector(1, 0.25);
|
||||
//screen->scale = Vector(0.4, 0.3);
|
||||
|
||||
|
||||
if (screen->getWidth() == 0)
|
||||
screen->color = 0;
|
||||
|
@ -171,7 +167,7 @@ void AquariaSaveSlot::close(bool trans)
|
|||
setDecayRate(2);
|
||||
fadeAlphaWithLife = 1;
|
||||
}
|
||||
//shareAlphaWithChildren = 1;
|
||||
|
||||
}
|
||||
|
||||
void AquariaSaveSlot::transition()
|
||||
|
@ -204,10 +200,10 @@ void AquariaSaveSlot::onUpdate(float dt)
|
|||
if (core->mouse.position.x < position.x + 150 && core->mouse.position.x > position.x - 300
|
||||
&& core->mouse.position.y < position.y+32 && core->mouse.position.y > position.y-32)
|
||||
{
|
||||
//setBlendType(BLEND_ADD);
|
||||
|
||||
glowText->alpha.interpolateTo(0.5, 0.2);
|
||||
screen->color.interpolateTo(Vector(1,1,1), 0.1);
|
||||
//screen->scale.interpolateTo(Vector(1.2, 1.2), 0.2);
|
||||
|
||||
if ((core->mouse.buttons.left || core->mouse.buttons.right) && !mbDown)
|
||||
{
|
||||
mbDown = true;
|
||||
|
@ -218,22 +214,22 @@ void AquariaSaveSlot::onUpdate(float dt)
|
|||
if (!(empty && dsq->saveSlotMode == SSM_LOAD))
|
||||
{
|
||||
selected = true;
|
||||
// pick this file
|
||||
|
||||
dsq->playMenuSelectSfx();
|
||||
|
||||
closed = true;
|
||||
if (dsq->saveSlotMode == SSM_LOAD)
|
||||
{
|
||||
//dsq->clearSaveSlots();
|
||||
|
||||
dsq->hideSaveSlots();
|
||||
this->moveToFront();
|
||||
//screen->enableMotionBlur(10, 5);
|
||||
|
||||
screen->position.interpolateTo(Vector(400-position.x, 300-position.y), 1.0, 0, 0, 1);
|
||||
dsq->tfader->alpha.interpolateTo(1, 1);
|
||||
dsq->toggleCursor(false);
|
||||
core->main(1);
|
||||
|
||||
//core->main(2);
|
||||
|
||||
}
|
||||
|
||||
bool didIt = dsq->onPickedSaveSlot(this);
|
||||
|
@ -242,9 +238,8 @@ void AquariaSaveSlot::onUpdate(float dt)
|
|||
{
|
||||
done = true;
|
||||
|
||||
//alpha = 0.9;
|
||||
//setBlendType(BLEND_DEFAULT);
|
||||
//glowText->alpha.interpolateTo(0, 0.2);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -258,7 +253,7 @@ void AquariaSaveSlot::onUpdate(float dt)
|
|||
else
|
||||
{
|
||||
glowText->alpha.interpolateTo(0, 0.2);
|
||||
//screen->scale.interpolateTo(Vector(1, 1), 0.2);
|
||||
|
||||
screen->color.interpolateTo(Vector(0.7, 0.7, 1), 0.3);
|
||||
}
|
||||
if ((core->mouse.buttons.left || core->mouse.buttons.right) && !mbDown)
|
||||
|
@ -416,8 +411,8 @@ std::string AquariaSaveSlot::getSaveDescription(const XMLDocument &doc)
|
|||
std::ostringstream os;
|
||||
os << location << std::endl;
|
||||
os << hours << ":" << numToZeroString(minutes, 2) << showLoc;
|
||||
// << ": " << seconds;
|
||||
//" T: " << time;
|
||||
|
||||
|
||||
|
||||
dsq->continuity.seconds = s;
|
||||
|
||||
|
|
|
@ -25,11 +25,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#define AUTOMAP_GRIDTILE 512
|
||||
|
||||
//#define FOR(ir,mx) for (int ir=0;ir<mx;ir++)
|
||||
|
||||
|
||||
AutoMap::AutoMap() : RenderObject(), ActionMapper()
|
||||
{
|
||||
//texture = 0;
|
||||
|
||||
followCamera = 1;
|
||||
scale = Vector(0.4, 0.4);
|
||||
position = Vector(400,300);
|
||||
|
@ -41,7 +41,7 @@ AutoMap::AutoMap() : RenderObject(), ActionMapper()
|
|||
|
||||
initedGrid = false;
|
||||
|
||||
//shadowTex = core->addTexture("particles/glow");
|
||||
|
||||
setTexture("particles/glow");
|
||||
|
||||
paintColor = Vector(1,1,1);
|
||||
|
@ -52,17 +52,7 @@ AutoMap::AutoMap() : RenderObject(), ActionMapper()
|
|||
shadowTex = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
void AutoMap::create(const std::string &startMap)
|
||||
{
|
||||
bool done = false;
|
||||
|
||||
while (!done)
|
||||
{
|
||||
dsq->game->smallLoadXML("NAIJACAVE");
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void AutoMap::destroy()
|
||||
{
|
||||
|
@ -93,41 +83,8 @@ void AutoMap::toggle(bool on)
|
|||
core->overrideEndLayer = LR_MAX;
|
||||
vis = true;
|
||||
|
||||
/*
|
||||
for (Children::iterator i = children.begin(); i != children.end(); i++)
|
||||
{
|
||||
(*i)->safeKill();
|
||||
}
|
||||
|
||||
Vector c(dsq->game->cameraMax.x/2, dsq->game->cameraMax.y/2);
|
||||
int drawsz = AUTOMAP_GRIDTILE/TILE_SIZE;
|
||||
int hsz = drawsz*0.5f;
|
||||
|
||||
c *= AUTOMAP_GRIDTILE;
|
||||
c /= TILE_SIZE;
|
||||
c += Vector(hsz, hsz);
|
||||
|
||||
FOR(x,MAX_AUTOMAP_GRID)
|
||||
{
|
||||
FOR(y,MAX_AUTOMAP_GRID)
|
||||
{
|
||||
if (grid[x][y])
|
||||
{
|
||||
Quad *q = new Quad;
|
||||
q->setTexture("particles/WhiteGlow");
|
||||
|
||||
float rx = float(x * AUTOMAP_GRIDTILE)/float(TILE_SIZE) + hsz - c.x;
|
||||
float ry = float(y * AUTOMAP_GRIDTILE)/float(TILE_SIZE) + hsz - c.y;
|
||||
|
||||
q->position = Vector(rx, ry);
|
||||
q->color = Vector(0,0,0);
|
||||
addChild(q);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//alpha.interpolateTo(1, 0.5);
|
||||
alpha = 1;
|
||||
|
||||
dsq->fade(0, t);
|
||||
|
@ -169,11 +126,8 @@ void AutoMap::setGridFromWorld(Vector worldPos, int gridValue)
|
|||
|
||||
void AutoMap::initGrid()
|
||||
{
|
||||
/*
|
||||
int xsz = dsq->game->cameraMax.x/200;
|
||||
int ysz = dsq->game->cameraMax.y/200;
|
||||
*/
|
||||
//std::vector<std::vector> grid
|
||||
|
||||
|
||||
for (int x=0;x<MAX_AUTOMAP_GRID;x++)
|
||||
{
|
||||
for (int y=0;y<MAX_AUTOMAP_GRID;y++)
|
||||
|
@ -216,32 +170,8 @@ void AutoMap::onUpdate(float dt)
|
|||
{
|
||||
const float maxScale=1.25, minScale=0.5;
|
||||
blip.update(dt);
|
||||
/*
|
||||
static Vector lastHeldPos;
|
||||
if (core->mouse.buttons.left)
|
||||
{
|
||||
if (!lastHeldPos.isZero() && !(core->mouse.position - lastHeldPos).isLength2DIn(32))
|
||||
{
|
||||
Vector diff = core->mouse.position - lastHeldPos;
|
||||
int len = diff.getLength2D();
|
||||
for (int i = 0; i < len; i+=8)
|
||||
{
|
||||
paint(lastHeldPos + diff * i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
paint(core->mouse.position);
|
||||
}
|
||||
lastHeldPos = core->mouse.position;
|
||||
}
|
||||
else
|
||||
{
|
||||
lastHeldPos = Vector(0,0);
|
||||
}
|
||||
*/
|
||||
|
||||
//bool c=false;
|
||||
|
||||
|
||||
Vector sTarget=scale;
|
||||
float spd = 0.5;
|
||||
|
@ -261,7 +191,7 @@ void AutoMap::onUpdate(float dt)
|
|||
{
|
||||
offset += core->mouse.change*scale;
|
||||
}
|
||||
//scale.interpolateTo(sTarget, 0.1);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -275,7 +205,7 @@ void AutoMap::lmb()
|
|||
|
||||
void AutoMap::onRender()
|
||||
{
|
||||
// if (!doRender) return;
|
||||
|
||||
if (alpha.x == 0) return;
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
|
@ -284,12 +214,10 @@ void AutoMap::onRender()
|
|||
|
||||
|
||||
|
||||
//int sz2 = 80;//80;
|
||||
|
||||
int ysz = dsq->game->cameraMax.y/TILE_SIZE;
|
||||
int xsz = dsq->game->cameraMax.x/TILE_SIZE;
|
||||
|
||||
//TileVector t(dsq->game->avatar->position);
|
||||
|
||||
TileVector t(Vector(dsq->game->cameraMax.x/2, dsq->game->cameraMax.y/2));
|
||||
|
||||
|
||||
|
@ -299,14 +227,9 @@ void AutoMap::onRender()
|
|||
|
||||
if (alphaValue > 0)
|
||||
{
|
||||
/*
|
||||
if (core->getWindowHeight() == 600)
|
||||
{
|
||||
skip = 2;
|
||||
}
|
||||
*/
|
||||
|
||||
//for (int y = t.y-sz2; y < t.y+sz2; y+=skip)
|
||||
|
||||
|
||||
for (int y = 0; y < ysz; y += skip)
|
||||
{
|
||||
float f = float(y)/float(ysz);
|
||||
|
@ -316,7 +239,7 @@ void AutoMap::onRender()
|
|||
glBegin(GL_LINES);
|
||||
int rowStart = -1;
|
||||
int x = 0;
|
||||
//for (x = t.x-sz2; x < t.x+sz2; x++)
|
||||
|
||||
for (x = 0; x < xsz; x++)
|
||||
{
|
||||
if (dsq->game->getGrid(TileVector(x,y))!=OT_BLACK)
|
||||
|
@ -344,45 +267,8 @@ void AutoMap::onRender()
|
|||
glEnd();
|
||||
}
|
||||
|
||||
/*
|
||||
glColor4f(0,0,0,alphaValue);
|
||||
glPointSize(8);
|
||||
//shadowTex->apply();
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glBegin(GL_QUADS);
|
||||
int rx=0,ry=0;
|
||||
int sz = (AUTOMAP_GRIDTILE/TILE_SIZE)*0.5f;
|
||||
for (int x = 0; x < MAX_AUTOMAP_GRID; x++)
|
||||
{
|
||||
for (int y = 0; y < MAX_AUTOMAP_GRID; y++)
|
||||
{
|
||||
if (grid[x][y])
|
||||
{
|
||||
rx = float(x * AUTOMAP_GRIDTILE)/float(TILE_SIZE) + TILE_SIZE/2 - t.x;
|
||||
ry = float(y * AUTOMAP_GRIDTILE)/float(TILE_SIZE) + TILE_SIZE/2 - t.y;
|
||||
//glVertex2f(rx, ry);
|
||||
|
||||
glTexCoord2f(0, 1.0);
|
||||
glVertex3f(rx-sz, ry+sz, 0.0f);
|
||||
|
||||
glTexCoord2f(0, 1.0);
|
||||
glVertex3f(rx+sz, ry+sz, 0.0f);
|
||||
|
||||
glTexCoord2f(1, 0);
|
||||
glVertex3f(rx+sz, ry-sz, 0.0f);
|
||||
|
||||
glTexCoord2f(1, 0);
|
||||
glVertex3f(rx-sz, ry-sz, 0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
glEnd();
|
||||
*/
|
||||
/*
|
||||
shadowTex->unbind();
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
*/
|
||||
//glDisable(GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
TileVector nt(dsq->game->avatar->position);
|
||||
|
|
|
@ -3077,7 +3077,6 @@ void Avatar::doShock(const std::string &shotName)
|
|||
|
||||
|
||||
|
||||
|
||||
if (sz == 0)
|
||||
{
|
||||
for (int i = 0; i < thits; i++)
|
||||
|
|
|
@ -118,7 +118,7 @@ public:
|
|||
bool blind;
|
||||
bool wasUnderWater;
|
||||
float shotDelay;
|
||||
//Timer shockTimer;
|
||||
|
||||
Timer useItemDelay;
|
||||
Timer lockToWallDelay;
|
||||
float spellCharge;
|
||||
|
@ -147,7 +147,7 @@ public:
|
|||
float burstDelay;
|
||||
bool bursting;
|
||||
BurstType lastBurstType;
|
||||
//void damage(int amount);
|
||||
|
||||
bool isCharging();
|
||||
void setBlind(float time);
|
||||
|
||||
|
@ -276,7 +276,7 @@ public:
|
|||
|
||||
float songInterfaceTimer;
|
||||
void removeEatData(int idx);
|
||||
//std::list<Entity*>bittenEntities;
|
||||
|
||||
typedef std::list<Entity*> BittenEntities;
|
||||
BittenEntities bittenEntities;
|
||||
void updateHeartbeatSfx(float t = 0);
|
||||
|
@ -444,9 +444,9 @@ protected:
|
|||
bool checkWarpAreas();
|
||||
|
||||
float splashDelay;
|
||||
//Hair *hair;
|
||||
|
||||
//Item *currentItem;
|
||||
|
||||
|
||||
void onUpdate(float dt);
|
||||
void onRender();
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ Beam::Beam(Vector pos, float angle) : Quad()
|
|||
addType(SCO_BEAM);
|
||||
cull = false;
|
||||
trace();
|
||||
//rotation.z = angle;
|
||||
|
||||
this->angle = angle;
|
||||
position = pos;
|
||||
|
||||
|
@ -91,17 +91,13 @@ void Beam::killAllBeams()
|
|||
void Beam::trace()
|
||||
{
|
||||
float angle = MathFunctions::toRadians(this->angle);
|
||||
//(float(-this->angle)/180.0f)*PI;
|
||||
//float angle = rotation.z;
|
||||
|
||||
|
||||
Vector mov(sinf(angle), cosf(angle));
|
||||
TileVector t(position);
|
||||
Vector startTile(t.x, t.y);
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "rotation.z = " << rotation.z << " mov(" << mov.x << ", " << mov.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
int moves = 0;
|
||||
while (!dsq->game->isObstructed(TileVector(startTile.x, startTile.y)))
|
||||
|
@ -114,37 +110,24 @@ void Beam::trace()
|
|||
t = TileVector(startTile.x, startTile.y);
|
||||
endPos = t.worldVector();
|
||||
|
||||
/*
|
||||
offset = endPos - position;
|
||||
offset /= 2;
|
||||
offset *= -1;
|
||||
*/
|
||||
|
||||
|
||||
//width = (endPos - position).getLength2D();
|
||||
}
|
||||
|
||||
void Beam::render()
|
||||
{
|
||||
|
||||
/*
|
||||
glLineWidth(4);
|
||||
glColor4f(1,1,1,1);
|
||||
glBegin(GL_LINES);
|
||||
glVertex2f(position.x, position.y);
|
||||
glVertex2f(endPos.x, endPos.y);
|
||||
glEnd();
|
||||
*/
|
||||
|
||||
|
||||
Quad::render();
|
||||
}
|
||||
|
||||
void Beam::onRender()
|
||||
{
|
||||
//glDisable(GL_CULL_FACE);
|
||||
|
||||
Vector diff = endPos - position;
|
||||
Vector side = diff;
|
||||
//side.normalize2D();
|
||||
|
||||
side.setLength2D(beamWidth*2);
|
||||
Vector sideLeft = side.getPerpendicularLeft();
|
||||
Vector sideRight = side.getPerpendicularRight();
|
||||
|
|
|
@ -32,15 +32,7 @@ bool BitBlotLogo::watchQuit(float time)
|
|||
{
|
||||
core->main(time);
|
||||
return false;
|
||||
/*
|
||||
dsq->watch(time);
|
||||
if (quitFlag > 0)
|
||||
{
|
||||
skipLogo();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void BitBlotLogo::doShortBitBlot()
|
||||
|
@ -78,7 +70,7 @@ void BitBlotLogo::skipLogo()
|
|||
|
||||
void BitBlotLogo::getOut()
|
||||
{
|
||||
//dsq->continuity.reset();
|
||||
|
||||
|
||||
#ifdef AQUARIA_DEMO
|
||||
dsq->title();
|
||||
|
@ -97,7 +89,7 @@ void BitBlotLogo::applyState()
|
|||
logo = 0;
|
||||
dsq->toggleCursor(0);
|
||||
dsq->toggleBlackBars(1);
|
||||
//dsq->setBlackBarsColor(Vector(1,1,1));
|
||||
|
||||
dsq->jiggleCursor();
|
||||
|
||||
dsq->forceInputGrabOff();
|
||||
|
@ -143,7 +135,7 @@ void BitBlotLogo::applyState()
|
|||
bird->update((rand()%100)*0.1f);
|
||||
}
|
||||
|
||||
//if (true)
|
||||
|
||||
if (rand()%100 < 40)
|
||||
{
|
||||
SkeletalSprite *dragon = new SkeletalSprite();
|
||||
|
@ -254,12 +246,12 @@ void BitBlotLogo::applyState()
|
|||
|
||||
dsq->overlay->alpha.interpolateTo(0, 1);
|
||||
|
||||
//sound->playSfx("BBSplash");
|
||||
|
||||
sound->playMusic("bblogo", SLT_NONE);
|
||||
|
||||
if (watchQuit(1.0)) return;
|
||||
|
||||
//sound->playSfx("normalform");
|
||||
|
||||
|
||||
dsq->overlay2->color = Vector(1,1,1);
|
||||
|
||||
|
@ -272,23 +264,20 @@ void BitBlotLogo::applyState()
|
|||
|
||||
sound->playSfx("normalform");
|
||||
|
||||
//landscape->alpha.interpolateTo(1, 2);
|
||||
|
||||
white->alpha.interpolateTo(0, 2);
|
||||
|
||||
landscape->position.interpolateTo(Vector(400,400), 5);
|
||||
|
||||
/*
|
||||
if (core->afterEffectManager)
|
||||
core->afterEffectManager->addEffect(new ShockEffect(Vector(core->width/2, core->height/2),core->screenCenter, 0.1,0.03,30,0.2f, 0.5));
|
||||
*/
|
||||
|
||||
|
||||
landscape->scale.interpolateTo(Vector(1.1, 1.1), 5);
|
||||
|
||||
scanline->alpha.interpolateTo(0, 1);
|
||||
//scanline->scale.interpolateTo(Vector(5, 5), 1);
|
||||
|
||||
|
||||
logo->scale.interpolateTo(Vector(2, 2), 1);
|
||||
//logo->offset.interpolateTo(Vector(0, -300), 1);
|
||||
|
||||
logo->alpha.interpolateTo(0, 1);
|
||||
|
||||
lines->alpha.interpolateTo(0, 4);
|
||||
|
@ -304,32 +293,8 @@ void BitBlotLogo::applyState()
|
|||
|
||||
getOut();
|
||||
|
||||
/*
|
||||
// BOING
|
||||
dsq->toggleCursor(0);
|
||||
Quad *logo = new Quad("BitBlot/Logo.png", Vector(400,300));
|
||||
logo->followCamera = 1;
|
||||
addRenderObject(logo);
|
||||
//logo->scale = Vector(0.6, 0.6);
|
||||
logo->scale = Vector(0, 0);
|
||||
core->setClearColor(Vector(1,1,1));
|
||||
dsq->overlay->alpha = 1;
|
||||
dsq->overlay->alpha.interpolateTo(0, 1);
|
||||
core->main(0.5);
|
||||
|
||||
logo->scale.path.addPathNode(Vector(0,0), 0);
|
||||
logo->scale.path.addPathNode(Vector(0,0), 0.4);
|
||||
logo->scale.path.addPathNode(Vector(1.2,1.2), 0.8);
|
||||
logo->scale.path.addPathNode(Vector(1.0, 1.0), 0.85);
|
||||
logo->scale.path.addPathNode(Vector(1.1, 1.1), 0.95);
|
||||
logo->scale.path.addPathNode(Vector(1,1), 1.0);
|
||||
logo->scale.startPath(1);
|
||||
|
||||
core->main(2);
|
||||
|
||||
dsq->overlay->alpha.interpolateTo(1, 1.5);
|
||||
core->main(1.5);
|
||||
*/
|
||||
}
|
||||
|
||||
void BitBlotLogo::removeState()
|
||||
|
@ -342,14 +307,6 @@ void BitBlotLogo::update(float dt)
|
|||
{
|
||||
StateObject::update(dt);
|
||||
|
||||
/*
|
||||
if (quitFlag == 0)
|
||||
{
|
||||
if (core->getKeyState(KEY_ESCAPE))
|
||||
{
|
||||
quitFlag = 1;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -34,26 +34,8 @@ BoxElement::BoxElement(int width, int height) : Element(BOX)
|
|||
hh = height/2 + 10;
|
||||
this->color = 0;
|
||||
cull = true;
|
||||
//cull = false;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
bool BoxElement::isOnScreen()
|
||||
{
|
||||
// HACK: biased towards being fast for rows
|
||||
//if (alpha.x < 1.0f) return false;
|
||||
//if (!cull) return true;
|
||||
|
||||
if (this->position.y + hh >= core->screenCullY1
|
||||
&& this->position.y - hh <= core->screenCullY2)
|
||||
{
|
||||
if (this->position.x + ww >= core->screenCullX1
|
||||
&& this->position.x - ww <= core->screenCullX2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "CollideEntity.h"
|
||||
#include "DSQ.h"
|
||||
#include "Game.h"
|
||||
//#include "ParticleEffects.h"
|
||||
|
||||
|
||||
CollideEntity::CollideEntity() : Entity()
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ void CollideEntity::bounce(float ba)
|
|||
if (getState() == STATE_PUSH)
|
||||
{
|
||||
dsq->spawnParticleEffect("HitSurface", dsq->game->lastCollidePosition);
|
||||
//dsq->effectCollisionSmoke(position);
|
||||
|
||||
sound("RockHit");
|
||||
// HACK: replace damage function
|
||||
//damage(pushDamage);
|
||||
|
@ -70,7 +70,7 @@ void CollideEntity::bounce(float ba)
|
|||
|
||||
if (!N.isZero())
|
||||
{
|
||||
//2*(-I dot N)*N + I
|
||||
|
||||
vel = 2*(-I.dot(N))*N + I;
|
||||
vel.setLength2D(len*ba);
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ void CollideEntity::bounce(float ba)
|
|||
}
|
||||
break;
|
||||
}
|
||||
//mov.setLength2D(-len * ba);
|
||||
|
||||
|
||||
|
||||
onBounce();
|
||||
|
@ -105,14 +105,8 @@ void CollideEntity::updateMovement(float dt)
|
|||
if (isEntityDead()) return;
|
||||
if (position.isFollowingPath()) return;
|
||||
vel.capLength2D(getMaxSpeed()*maxSpeedLerp.x);
|
||||
/*
|
||||
if (vel.getSquaredLength2D() > sqr(getMaxSpeed()))
|
||||
{
|
||||
vel.setLength2D(getMaxSpeed());
|
||||
vel.z = 0;
|
||||
}
|
||||
*/
|
||||
//Vector lastPos = pos;
|
||||
|
||||
|
||||
|
||||
updateVel2(dt);
|
||||
|
||||
|
@ -135,21 +129,7 @@ void CollideEntity::updateMovement(float dt)
|
|||
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (!canLeaveWater)
|
||||
{
|
||||
if (waterBubble)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if (position.y-collideRadius < dsq->game->getWaterLevel())
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
bool collided = false;
|
||||
|
||||
|
@ -175,7 +155,7 @@ void CollideEntity::updateMovement(float dt)
|
|||
}
|
||||
}
|
||||
|
||||
//Vector lastPosition = lastPos;
|
||||
|
||||
Vector newPosition = position + (getMoveVel() * dt);
|
||||
position = newPosition;
|
||||
|
||||
|
|
|
@ -304,11 +304,7 @@ void Continuity::sortFood()
|
|||
|
||||
switch (dsq->continuity.foodSortType)
|
||||
{
|
||||
/*
|
||||
case FOODSORT_UNSORTED:
|
||||
sortOrder = sortByUnsort;
|
||||
break;
|
||||
*/
|
||||
|
||||
case FOODSORT_BYTYPE:
|
||||
sortOrder = sortByType;
|
||||
break;
|
||||
|
@ -321,8 +317,7 @@ void Continuity::sortFood()
|
|||
|
||||
}
|
||||
|
||||
//IngredientData *plantLeaf = dsq->continuity.getIngredientHeldByName("PlantLeaf");
|
||||
//int oldHeld = plantLeaf->held;
|
||||
|
||||
|
||||
if (doSort)
|
||||
{
|
||||
|
@ -391,11 +386,11 @@ void Continuity::sortFood()
|
|||
ingredients.push_back(sort[i]);
|
||||
}
|
||||
sort.clear();
|
||||
//dsq->continuity.ingredients = sort;
|
||||
|
||||
}
|
||||
|
||||
//IngredientData *plantLeaf2 = dsq->continuity.getIngredientHeldByName("PlantLeaf");
|
||||
//int newHeld = plantLeaf2->held;
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Continuity::setRegen(float t)
|
||||
|
@ -564,7 +559,7 @@ std::string Continuity::getIEString(IngredientData *data, int i)
|
|||
os << dsq->continuity.stringBank.get(210);
|
||||
os << " " << dsq->continuity.stringBank.get(205) << " " << (fx.magnitude*5) << " " << dsq->continuity.stringBank.get(203);
|
||||
return os.str();
|
||||
//return dsq->continuity.stringBank.get(210);
|
||||
|
||||
break;
|
||||
case IET_ENERGY:
|
||||
os << dsq->continuity.stringBank.get(211) << " " << fx.magnitude;
|
||||
|
@ -829,7 +824,7 @@ bool Continuity::applyIngredientEffects(IngredientData *data)
|
|||
dsq->centerMessage(getIEString(data, i), y);
|
||||
|
||||
dsq->continuity.setWeb(webTime);
|
||||
//dsq->centerMessage(dsq->continuity.stringBank.get(216), y);
|
||||
|
||||
}
|
||||
break;
|
||||
case IET_ALLSTATUS:
|
||||
|
@ -1477,8 +1472,8 @@ void Continuity::castSong(int num)
|
|||
os << "Could not find song with index [" << num << "]";
|
||||
debugLog(os.str());
|
||||
}
|
||||
//float et = 0.5;
|
||||
//float et = 10;
|
||||
|
||||
|
||||
float et = 0.5;
|
||||
std::ostringstream os;
|
||||
os << "Song/SongSlot-" << dsq->continuity.getSongSlotByType(num);
|
||||
|
@ -1487,7 +1482,7 @@ void Continuity::castSong(int num)
|
|||
effect->setTexture(os.str());
|
||||
effect->position = selected->position + selected->offset;
|
||||
effect->scale.interpolateTo(Vector(3,3), et);
|
||||
//effect->setBlendType(RenderObject::BLEND_ADD);
|
||||
|
||||
effect->alpha.ensureData();
|
||||
effect->alpha.data->path.addPathNode(0, 0);
|
||||
effect->alpha.data->path.addPathNode(0.5, 0.1);
|
||||
|
@ -1536,12 +1531,7 @@ void Continuity::castSong(int num)
|
|||
sound->playSfx("Heal");
|
||||
selected->heal(2);
|
||||
|
||||
/*
|
||||
Wynia *wynia = new Wynia;
|
||||
wynia->trackTo(selected);
|
||||
wynia->position = selected->position;
|
||||
core->getTopStateData()->addRenderObject(wynia, PROJECTILES);
|
||||
*/
|
||||
|
||||
selected->skeletalSprite.animate("healSelf", 0, 1);
|
||||
break;
|
||||
case SONG_TIME:
|
||||
|
@ -1575,7 +1565,7 @@ void Continuity::castSong(int num)
|
|||
{
|
||||
if (!dsq->game->avatar->isNearObstruction(2) && !dsq->game->avatar->state.lockedToWall && !(dsq->game->li->position - dsq->game->avatar->position).isLength2DIn(400))
|
||||
{
|
||||
//dsq->game->avatar->disableInput();
|
||||
|
||||
dsq->overlay->color = Vector(1,1,1);
|
||||
dsq->fade(1, 0.3);
|
||||
dsq->main(0.3);
|
||||
|
@ -1583,7 +1573,7 @@ void Continuity::castSong(int num)
|
|||
dsq->fade(0, 0.3);
|
||||
dsq->main(0.3);
|
||||
dsq->overlay->color = 0;
|
||||
//dsq->game->avatar->enableInput();
|
||||
|
||||
}
|
||||
else if ((dsq->game->li->position - dsq->game->avatar->position).isLength2DIn(500))
|
||||
{
|
||||
|
@ -1597,13 +1587,7 @@ void Continuity::castSong(int num)
|
|||
{
|
||||
core->sound->playSfx("Denied");
|
||||
}
|
||||
/*
|
||||
}
|
||||
else
|
||||
{
|
||||
core->sound->playSfx("SongFail");
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1785,12 +1769,8 @@ loop:
|
|||
// make sure last note is more or less close
|
||||
if (song.notes.size()-last < 2)
|
||||
{
|
||||
//rank += song.size()-last;
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "songCheck: " << songChecks[i].songIdx << " completed with rank " << rank;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
|
||||
songChecks[i].pass = true;
|
||||
songChecks[i].rank = rank;
|
||||
|
@ -1813,11 +1793,7 @@ loop:
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "lowest rank: " << lowestRank;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
return songIdx;
|
||||
}
|
||||
|
@ -1835,7 +1811,7 @@ int Continuity::checkSong(const Song &song)
|
|||
Song *s = &songBank[i];
|
||||
if (s->notes.empty()) continue;
|
||||
int j = 0;
|
||||
//if (s->size() == song.size())
|
||||
|
||||
{
|
||||
bool foundSong = false;
|
||||
int currentNote = 0;
|
||||
|
@ -1867,7 +1843,7 @@ int Continuity::checkSong(const Song &song)
|
|||
}
|
||||
}
|
||||
if (j != song.notes.size()-1) foundSong = false;
|
||||
//if (j == s->size())
|
||||
|
||||
if (foundSong)
|
||||
{
|
||||
return i;
|
||||
|
@ -1910,7 +1886,7 @@ void Continuity::update(float dt)
|
|||
statsAndAchievements->RunFrame();
|
||||
}
|
||||
|
||||
if (dsq->game->isActive() && !dsq->game->isPaused() /*&& !(getWorldType() == WT_SPIRIT)*/)
|
||||
if (dsq->game->isActive() && !dsq->game->isPaused() )
|
||||
{
|
||||
|
||||
if (liPowerTimer.updateCheck(dt))
|
||||
|
@ -2011,18 +1987,14 @@ void Continuity::update(float dt)
|
|||
|
||||
if (regenTimer.isActive())
|
||||
{
|
||||
/*
|
||||
static float regenBit = 0;
|
||||
regenBit += dt;
|
||||
if (regenBit > 1)
|
||||
*/
|
||||
|
||||
{
|
||||
Avatar *a = dsq->game->avatar;
|
||||
if (a)
|
||||
{
|
||||
a->heal(dt*0.5f);
|
||||
}
|
||||
//regenBit = 0;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2104,17 +2076,14 @@ void Continuity::applyWorldEffects(WorldType type, bool transition, bool affectM
|
|||
{
|
||||
core->postProcessingFx.blendType = 1;
|
||||
core->postProcessingFx.intensity = 0.2f;
|
||||
core->postProcessingFx.layer = LR_AFTER_EFFECTS;//LR_AFTER_EFFECTS;
|
||||
core->postProcessingFx.layer = LR_AFTER_EFFECTS;
|
||||
core->postProcessingFx.renderLayer = LR_AFTER_EFFECTS;
|
||||
core->postProcessingFx.enable(FXT_RADIALBLUR);
|
||||
}
|
||||
|
||||
dsq->game->avatar->canWarp = false;
|
||||
|
||||
/*
|
||||
if (affectMusic)
|
||||
dsq->sound->toggleEffects(1);
|
||||
*/
|
||||
|
||||
dsq->game->backupSceneColor = dsq->game->sceneColor;
|
||||
dsq->game->sceneColor.interpolateTo(Vector(0.4, 0.8, 0.9), time);
|
||||
dsq->game->avatar->applyWorldEffects(type);
|
||||
|
@ -2124,23 +2093,15 @@ void Continuity::applyWorldEffects(WorldType type, bool transition, bool affectM
|
|||
dsq->game->avatar->canWarp = true;
|
||||
|
||||
core->postProcessingFx.disable(FXT_RADIALBLUR);
|
||||
//worldType = WT_SPIRIT;
|
||||
/*
|
||||
if (affectMusic)
|
||||
dsq->sound->toggleEffects(0);
|
||||
*/
|
||||
//dsq->game->sceneColor.interpolateTo(dsq->game->backupSceneColor, time);
|
||||
|
||||
|
||||
|
||||
dsq->game->sceneColor.interpolateTo(Vector(1,1,1), time);
|
||||
dsq->game->avatar->applyWorldEffects(type);
|
||||
}
|
||||
if (time > 0)
|
||||
{
|
||||
/*
|
||||
dsq->game->avatar->slowToRest();
|
||||
dsq->game->avatar->disableInput();
|
||||
core->main(time);
|
||||
dsq->game->avatar->enableInput();
|
||||
*/
|
||||
|
||||
}
|
||||
worldType = type;
|
||||
}
|
||||
|
@ -2291,12 +2252,7 @@ void Continuity::setFlag(std::string flag, int v)
|
|||
flags[flag] = v;
|
||||
}
|
||||
|
||||
/*
|
||||
void Continuity::setActivePet(int flag)
|
||||
{
|
||||
setFlag(FLAG_ACTIVEPET, flag);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
void Continuity::loadPetData()
|
||||
{
|
||||
|
@ -2789,20 +2745,7 @@ void Continuity::loadFile(int slot)
|
|||
e = e->NextSiblingElement("Flag");
|
||||
}
|
||||
|
||||
/*
|
||||
if (debugEntityflags)
|
||||
{
|
||||
for (EntityFlags::iterator i = entityFlags.begin(); i != entityFlags.end(); i++)
|
||||
{
|
||||
if ((*i).first == name)
|
||||
{
|
||||
std::ostringstream os;
|
||||
os << "Duplicate entity flag: " << name << " please report this error";
|
||||
errorLog(os.str());
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
XMLElement *efx = doc.FirstChildElement("EFX");
|
||||
if (efx)
|
||||
|
@ -3027,7 +2970,7 @@ void Continuity::loadFile(int slot)
|
|||
|
||||
int idx;
|
||||
|
||||
//worldMapTiles.clear();
|
||||
|
||||
|
||||
while (is >> idx)
|
||||
{
|
||||
|
@ -3322,13 +3265,7 @@ void Continuity::loadFile(int slot)
|
|||
|
||||
void Continuity::setNaijaModel(std::string model)
|
||||
{
|
||||
/*
|
||||
naijaModel = model;
|
||||
if (dsq->game->avatar)
|
||||
{
|
||||
dsq->game->avatar->refreshModel();
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
int Continuity::getFlag(int flag)
|
||||
|
@ -3404,7 +3341,7 @@ public:
|
|||
|
||||
timer = 0;
|
||||
|
||||
//GemGet *q = this;
|
||||
|
||||
|
||||
setTexture("Gems/" + gem);
|
||||
|
||||
|
@ -3424,11 +3361,7 @@ public:
|
|||
setLife(timeScale+0.1f);
|
||||
setDecayRate(1);
|
||||
|
||||
/*
|
||||
q->position.path.addPathNode(Vector(400,400), 0.6);
|
||||
q->position.path.addPathNode(dsq->game->miniMapRender->position, 0.9);
|
||||
q->position.startPath(t);
|
||||
*/
|
||||
|
||||
}
|
||||
protected:
|
||||
float timer;
|
||||
|
@ -3496,26 +3429,7 @@ GemData *Continuity::pickupGem(std::string name, bool effects)
|
|||
|
||||
GemGet *gg = new GemGet(g.name);
|
||||
dsq->game->addRenderObject(gg, LR_MINIMAP);
|
||||
/*
|
||||
Quad *q = new Quad;
|
||||
q->setTexture("Gems/" + g.name);
|
||||
|
||||
q->followCamera = 1;
|
||||
q->scale = Vector(0, 0);
|
||||
q->scale.path.addPathNode(Vector(0,0), 0);
|
||||
q->scale.path.addPathNode(Vector(1,1), 0.3);
|
||||
q->scale.path.addPathNode(Vector(1,1), 0.6);
|
||||
q->scale.path.addPathNode(Vector(0.5,0.5), 0.9);
|
||||
q->scale.path.addPathNode(Vector(0.1,0.1), 1);
|
||||
q->scale.startPath(t);
|
||||
|
||||
q->position = Vector(400,400);
|
||||
q->position.path.addPathNode(Vector(400,400), 0.6);
|
||||
q->position.path.addPathNode(dsq->game->miniMapRender->position, 0.9);
|
||||
q->position.startPath(t);
|
||||
|
||||
dsq->game->addRenderObject(q, LR_MESSAGEBOX);
|
||||
*/
|
||||
|
||||
|
||||
if (!getFlag("tokenHint"))
|
||||
|
@ -3523,8 +3437,8 @@ GemData *Continuity::pickupGem(std::string name, bool effects)
|
|||
setFlag("tokenHint", 1);
|
||||
dsq->game->setControlHint(dsq->continuity.stringBank.get(4), false, false, false, 8);
|
||||
}
|
||||
//dsq->watch(1);
|
||||
//dsq->resetTimer();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// return the last one
|
||||
|
@ -3580,7 +3494,7 @@ void Continuity::reset()
|
|||
dsq->game->recipeMenu.currentPage = 0;
|
||||
}
|
||||
|
||||
//worldMapTiles.clear();
|
||||
|
||||
|
||||
speedMult = biteMult = fishPoison = defenseMult = 1;
|
||||
speedMult2 = 1;
|
||||
|
@ -3636,12 +3550,12 @@ void Continuity::reset()
|
|||
loadEatBank();
|
||||
dsq->loadElementEffects();
|
||||
form = FORM_NORMAL;
|
||||
//cm.reset();
|
||||
|
||||
naijaModel = "Naija";
|
||||
costume = "";
|
||||
dsq->emote.load("data/naijaemote.txt");
|
||||
|
||||
//learnSong(SONG_SONGDOOR1);
|
||||
|
||||
|
||||
worldType = WT_NORMAL;
|
||||
|
||||
|
@ -3669,7 +3583,7 @@ void Continuity::reset()
|
|||
inFile >> spd;
|
||||
speedTypes.push_back(spd);
|
||||
}
|
||||
//selectedSpell = SpellType(0);
|
||||
|
||||
|
||||
if (!dsq->mod.isActive())
|
||||
{
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace AQCredits
|
|||
|
||||
void watchSlide(int slide)
|
||||
{
|
||||
float t = 10;//15;
|
||||
float t = 10;
|
||||
|
||||
if (!(slide >= 0 && slide < slides.size())) return;
|
||||
|
||||
|
@ -190,7 +190,7 @@ void Credits::applyState()
|
|||
|
||||
dsq->game->transitionToScene("thirteenlair");
|
||||
#endif
|
||||
//dsq->title();
|
||||
|
||||
}
|
||||
|
||||
void Credits::removeState()
|
||||
|
|
|
@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
CurrentRender::CurrentRender() : RenderObject()
|
||||
{
|
||||
cull = false;
|
||||
//alpha = 0.2f;
|
||||
|
||||
setTexture("Particles/Current");
|
||||
texture->repeat = true;
|
||||
rippleDelay = 2;
|
||||
|
@ -35,27 +35,8 @@ void CurrentRender::onUpdate(float dt)
|
|||
{
|
||||
RenderObject::onUpdate(dt);
|
||||
|
||||
/*
|
||||
rippleDelay -= dt;
|
||||
if (rippleDelay < 0)
|
||||
{
|
||||
for (int i = 0; i < dsq->game->paths.size()-1; i++)
|
||||
{
|
||||
Path *p = dsq->game->paths[i];
|
||||
for (int n = 0; n < p->nodes.size()-1; i++)
|
||||
{
|
||||
PathNode *n1 = &p->nodes[n];
|
||||
PathNode *n2 = &p->nodes[n+1];
|
||||
Vector diff = n2->position - n1->position;
|
||||
Vector pos = n1->position + diff*p->animOffset;
|
||||
// spawn effect at pos
|
||||
if (core->afterEffectManager)
|
||||
core->afterEffectManager->addEffect(new ShockEffect(Vector(core->width/2, core->height/2),pos,0.04,0.06,15,0.2f));
|
||||
}
|
||||
}
|
||||
rippleDelay = 1.0;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
void CurrentRender::onRender()
|
||||
|
@ -68,86 +49,12 @@ void CurrentRender::onRender()
|
|||
if (p->active)
|
||||
{
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "animOffset: " << p->animOffset;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
int w2 = p->rect.getWidth()/2;
|
||||
|
||||
/*
|
||||
if (false)
|
||||
{
|
||||
float offset = 0;
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
int sz = p->nodes.size();
|
||||
float len = 0;
|
||||
|
||||
|
||||
float totalLength = 0;
|
||||
for (int n = 0; n < sz-1; n++)
|
||||
{
|
||||
totalLength += (p->nodes[n+1].position - p->nodes[n].position).getLength2D();
|
||||
}
|
||||
|
||||
float texScale = totalLength/256.0f;
|
||||
|
||||
Vector p1, p2, diff, pl, pr;
|
||||
for (int n = 0; n < sz; n++)
|
||||
{
|
||||
PathNode *n1 = &p->nodes[n];
|
||||
p1 = n1->position;
|
||||
if (n == sz-1)
|
||||
{
|
||||
PathNode *n2 = &p->nodes[n-1];
|
||||
p2 = n2->position;
|
||||
diff = p1-p2;
|
||||
}
|
||||
else
|
||||
{
|
||||
PathNode *n2 = &p->nodes[n+1];
|
||||
p2 = n2->position;
|
||||
diff = p2-p1;
|
||||
}
|
||||
len = diff.getLength2D();
|
||||
float add = len/totalLength;
|
||||
//texScale = len/totalLength;
|
||||
|
||||
pl = diff.getPerpendicularLeft();
|
||||
pr = diff.getPerpendicularRight();
|
||||
|
||||
pl.setLength2D(w2);
|
||||
pr.setLength2D(w2);
|
||||
Vector r1 = p1+pl;
|
||||
|
||||
Vector r4 = p1+pr;
|
||||
|
||||
|
||||
if (n == 0 || n == sz-1)
|
||||
{
|
||||
glColor4f(1, 1, 1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
glColor4f(1, 1, 1, 1);
|
||||
}
|
||||
//(0+p->animOffset)*texScale +
|
||||
glTexCoord2f((offset)*texScale+p->animOffset, 0);
|
||||
glVertex2f(r1.x, r1.y);
|
||||
|
||||
glTexCoord2f((offset)*texScale+p->animOffset, 1);
|
||||
//(0+p->animOffset)*texScale +
|
||||
glVertex2f(r4.x, r4.y);
|
||||
|
||||
offset += add;
|
||||
|
||||
}
|
||||
glEnd();
|
||||
}
|
||||
else
|
||||
*/
|
||||
|
||||
if (true)
|
||||
{
|
||||
int sz = p->nodes.size()-1;
|
||||
|
@ -164,23 +71,7 @@ void CurrentRender::onRender()
|
|||
p2 += d*0.75f;
|
||||
diff = p2 - p1;
|
||||
|
||||
//bool edge = false;
|
||||
|
||||
/*
|
||||
if (n == 0)
|
||||
{
|
||||
p1 -= diff*0.25f;
|
||||
edge = true;
|
||||
}
|
||||
|
||||
if (n == sz-1)
|
||||
{
|
||||
p2 += diff*0.25f;
|
||||
edge = true;
|
||||
}
|
||||
|
||||
diff = p2-p1;
|
||||
*/
|
||||
|
||||
if (!diff.isZero())
|
||||
{
|
||||
|
@ -201,21 +92,12 @@ void CurrentRender::onRender()
|
|||
Vector r8 = p2+pr;
|
||||
float len = diff.getLength2D();
|
||||
float texScale = len/256.0f;
|
||||
//float texScale2 = texScale;
|
||||
|
||||
/*
|
||||
if (edge)
|
||||
texScale *= 2;
|
||||
*/
|
||||
|
||||
/*
|
||||
if (edge)
|
||||
texScale2 *= 4;
|
||||
*/
|
||||
|
||||
if (isTouchingLine(p1, p2, dsq->screenCenter, dsq->cullRadius+p->rect.getWidth()/2.0f))
|
||||
{
|
||||
//qs++;
|
||||
|
||||
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
glColor4f(1,1,1,0);
|
||||
|
@ -273,7 +155,7 @@ void CurrentRender::onRender()
|
|||
|
||||
if (isTouchingLine(p1, p2, dsq->screenCenter, dsq->cullRadius))
|
||||
{
|
||||
//qs++;
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
if (n==0)
|
||||
glColor4f(1,1,1,0);
|
||||
|
@ -304,16 +186,10 @@ void CurrentRender::onRender()
|
|||
}
|
||||
}
|
||||
}
|
||||
//glEnd();
|
||||
|
||||
|
||||
}
|
||||
//glEnable(GL_CULL_FACE);
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "current quads: " << qs;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
|
606
Aquaria/DSQ.cpp
606
Aquaria/DSQ.cpp
File diff suppressed because it is too large
Load diff
|
@ -191,16 +191,7 @@ enum WorldMapRevealMethod
|
|||
};
|
||||
|
||||
|
||||
/*
|
||||
class Title;
|
||||
class GameOver;
|
||||
class Logo;
|
||||
class Entity;
|
||||
class SCLogo;
|
||||
class IntroText;
|
||||
class AnimationEditor;
|
||||
class Intro;
|
||||
*/
|
||||
|
||||
struct SubLine
|
||||
{
|
||||
SubLine() { timeStamp = 0; }
|
||||
|
@ -551,23 +542,7 @@ enum Layers
|
|||
|
||||
class Avatar;
|
||||
|
||||
/*
|
||||
class GardenHoleData
|
||||
{
|
||||
public:
|
||||
GardenHoleData();
|
||||
float timePlanted, timeLastChecked, lastTimeGrown;
|
||||
int plantedItem;
|
||||
unsigned int state;
|
||||
int slotsUsed;
|
||||
};
|
||||
|
||||
class GardenData
|
||||
{
|
||||
public:
|
||||
GardenHoleData holeData[256];
|
||||
};
|
||||
*/
|
||||
|
||||
#define MAPVIS_SUBDIV 64
|
||||
|
||||
|
@ -857,12 +832,7 @@ const int FLAG_SECRET03 = 236;
|
|||
const int FLAG_COLLECTIBLE_START = 500;
|
||||
const int FLAG_COLLECTIBLE_END = 600;
|
||||
|
||||
/*
|
||||
const int FLAG_PET_NAUTILUS = 601;
|
||||
const int FLAG_PET_DUMBO = 602;
|
||||
const int FLAG_PET_BLASTER = 603;
|
||||
const int FLAG_PET_PIRANHA = 604;
|
||||
*/
|
||||
|
||||
|
||||
struct PetData
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "DSQ.h"
|
||||
#include "Game.h"
|
||||
#include "Avatar.h"
|
||||
//const float key = 0.1;
|
||||
|
||||
Demo::Demo()
|
||||
{
|
||||
time = 0;
|
||||
|
@ -77,22 +77,8 @@ void Demo::save(const std::string &name)
|
|||
|
||||
std::string filename = "" + name + ".demo";
|
||||
|
||||
/*
|
||||
XMLDocument doc;
|
||||
|
||||
// UNFINISHED
|
||||
for (int i = 0; i < frames.size(); i++)
|
||||
{
|
||||
//DemoFrame *frame = &frames[i];
|
||||
XMLElement *xmlDemoFrame = doc.NewElement("DemoFrame");
|
||||
std::ostringstream os;
|
||||
//os << frame->avatarPos.x << " " << frame->avatarPos.y << " " << frame->mouse;
|
||||
//xmlDemoFrame->SetAttribute("a", os.str().c_str());
|
||||
doc.InsertEndChild(xmlDemoFrame);
|
||||
}
|
||||
|
||||
doc.SaveFile(filename.c_str());
|
||||
*/
|
||||
}
|
||||
|
||||
void Demo::load(const std::string &name)
|
||||
|
@ -103,10 +89,8 @@ void Demo::load(const std::string &name)
|
|||
// UNFINISHED
|
||||
std::string filename = "" + name + ".demo";
|
||||
|
||||
//XMLDocument doc;
|
||||
//doc.LoadFile(filename.c_str());
|
||||
|
||||
//doc.FirstChildElement("");
|
||||
|
||||
}
|
||||
|
||||
void Demo::clearRecordedFrames()
|
||||
|
@ -136,13 +120,7 @@ void Demo::update(float dt)
|
|||
|
||||
frames.push_back(f);
|
||||
|
||||
/*
|
||||
timeDiff += dt;
|
||||
if (timeDiff > key)
|
||||
{
|
||||
timeDiff -= key;
|
||||
}
|
||||
*/
|
||||
|
||||
time += dt;
|
||||
|
||||
if (getQuitKey())
|
||||
|
@ -153,7 +131,7 @@ void Demo::update(float dt)
|
|||
}
|
||||
else if (mode == DEMOMODE_PLAYBACK)
|
||||
{
|
||||
//core->updateMouse = false;
|
||||
|
||||
while (frame < frames.size())
|
||||
{
|
||||
DemoFrame *f = &frames[frame];
|
||||
|
@ -175,10 +153,10 @@ void Demo::update(float dt)
|
|||
break;
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
}
|
||||
time += dt;
|
||||
//core->updateMouse = true;
|
||||
|
||||
|
||||
if (getQuitKey() || (!frames.empty() && frame >= frames.size())) {
|
||||
togglePlayback(false);
|
||||
|
|
|
@ -100,7 +100,6 @@ void Element::updateEffects(float dt)
|
|||
/// check player position
|
||||
{
|
||||
// if a big wavy doesn't work, this is probably why
|
||||
//if ((position - ent->position).isLength2DIn(1024))
|
||||
{
|
||||
ElementEffectData *eff = this->eff;
|
||||
|
||||
|
@ -163,7 +162,7 @@ void Element::updateEffects(float dt)
|
|||
eff->wavyMagnitude = 0;
|
||||
}
|
||||
|
||||
//std::cout << "setting grid from wav w/ wavyWaving\n";
|
||||
|
||||
setGridFromWavy();
|
||||
|
||||
}
|
||||
|
@ -210,7 +209,7 @@ void Element::setGridFromWavy()
|
|||
{
|
||||
if (drawGrid)
|
||||
{
|
||||
//std::cout << "set grid from wavy (" << xDivs << ", " << yDivs << ")\n"
|
||||
|
||||
const float w = float(getWidth());
|
||||
for (int x = 0; x < xDivs-1; x++)
|
||||
{
|
||||
|
@ -262,11 +261,7 @@ void Element::setElementEffectByIndex(int eidx)
|
|||
break;
|
||||
case EFX_WAVY:
|
||||
{
|
||||
/*
|
||||
char buf[256];
|
||||
sprintf(buf, "setting wavy segsy: %d radius: %d min: %d max: %d", e.segsy, e.wavy_radius, e.wavy_min, e.wavy_max);
|
||||
debugLog(buf);
|
||||
*/
|
||||
|
||||
eff->wavy.resize(e.segsy);
|
||||
float bity = float(getHeight())/float(e.segsy);
|
||||
for (int i = 0; i < eff->wavy.size(); i++)
|
||||
|
@ -317,7 +312,7 @@ void Element::render()
|
|||
renderBorderColor = Vector(1,1,1);
|
||||
}
|
||||
renderBorder = true;
|
||||
//errorLog("!^!^$");
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -25,5 +25,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -217,7 +217,7 @@ public:
|
|||
ACT_RANGE = 1
|
||||
};
|
||||
void destroy();
|
||||
//void damage(int amount, Spell *spell=0, Entity *attacker=0);
|
||||
|
||||
bool isEntityDead() const {return entityDead;}
|
||||
std::string name;
|
||||
Vector vel;
|
||||
|
@ -244,8 +244,7 @@ public:
|
|||
|
||||
bool isUnderWater(const Vector &o=Vector());
|
||||
|
||||
//virtual void onHitBySpell(Spell *spell) {}
|
||||
//virtual void onCollide(Entity *e);
|
||||
|
||||
|
||||
virtual bool damage(const DamageData &d);
|
||||
virtual bool canShotHit(const DamageData &d) { return true; }
|
||||
|
@ -313,7 +312,7 @@ public:
|
|||
STATE_TITLE =24
|
||||
};
|
||||
virtual void onNotify(Entity *notify){}
|
||||
//void followPath(Path *p, int spd, int loop, bool deleteOnEnd = false);
|
||||
|
||||
float followPath(Path *p, float speed, int dir, bool deleteOnEnd = false);
|
||||
Entity *attachedTo;
|
||||
bool touchAvatarDamage(int radius, float dmg, const Vector &override=Vector(-1,-1,-1), float speed=0, float pushTime = 0, Vector collidePos = Vector(0,0,0));
|
||||
|
@ -334,7 +333,7 @@ public:
|
|||
void doEntityAvoidance(float dt, int range, float mod, Entity *ignore =0);
|
||||
void setMaxSpeed(float ms);
|
||||
Entity *findTarget(int dist, int type, int t=0);
|
||||
//bool hasTarget() { return target != 0; }
|
||||
|
||||
bool hasTarget(int t=0);
|
||||
bool isTargetInRange(int range, int t=0);
|
||||
void doGlint(const Vector &position, const Vector &scale=Vector(2,2), const std::string &tex="Glint", RenderObject::BlendTypes bt=BLEND_DEFAULT);
|
||||
|
@ -419,10 +418,7 @@ public:
|
|||
Vector ridingOnEntityOffset;
|
||||
void moveOutOfWall();
|
||||
bool isSittingOnInvisibleIn();
|
||||
/*
|
||||
void setCrawling(bool on) { crawling = on; }
|
||||
bool isCrawling() { return crawling; }
|
||||
*/
|
||||
|
||||
void flipToVel();
|
||||
bool isInCurrent() { return inCurrent; }
|
||||
void clearTargetPoints();
|
||||
|
@ -456,10 +452,10 @@ public:
|
|||
void clampToHit();
|
||||
bool updateLocalWarpAreas(bool affectAvatar);
|
||||
virtual void entityDied(Entity *e);
|
||||
//bool registerEntityDied;
|
||||
|
||||
bool clampToSurface(int tcheck=0, Vector usePos=Vector(0,0), TileVector hitTile=TileVector(0,0));
|
||||
bool checkSurface(int tcheck, int state, float statet);
|
||||
//static Shader blurShader;
|
||||
|
||||
std::string naijaReaction;
|
||||
Vector lookAtPoint;
|
||||
Vector getLookAtPoint();
|
||||
|
@ -533,7 +529,7 @@ protected:
|
|||
int lance;
|
||||
Bone *lanceBone;
|
||||
void updateLance(float dt);
|
||||
//InterpolatedVector blurShaderAnim;
|
||||
|
||||
|
||||
|
||||
int fhScale, fvScale;
|
||||
|
@ -555,9 +551,9 @@ protected:
|
|||
|
||||
Vector getMoveVel();
|
||||
DisabledDamageTypes disabledDamageTypes;
|
||||
//bool crawling;
|
||||
|
||||
//Vector backupPos, backupVel;
|
||||
|
||||
|
||||
virtual void onIdle() {}
|
||||
virtual void onHeal(int type){}
|
||||
virtual void onDamage(DamageData &d){}
|
||||
|
@ -578,7 +574,7 @@ protected:
|
|||
|
||||
virtual void onFreeze(){}
|
||||
|
||||
//Entity *target;
|
||||
|
||||
std::vector<Entity*>targets;
|
||||
virtual void onAlwaysUpdate(float dt){}
|
||||
virtual void onUpdateFrozen(float dt){}
|
||||
|
@ -589,7 +585,7 @@ protected:
|
|||
|
||||
void onEnterState(int action);
|
||||
void onExitState(int action);
|
||||
//virtual bool onDamage(int amount, Spell *spell, Entity *attacker);
|
||||
|
||||
bool invincibleBreak;
|
||||
|
||||
bool entityDead;
|
||||
|
|
|
@ -43,11 +43,7 @@ int FFTNotes::getNoteFromFFT(int fft, int octave)
|
|||
if (fft == 0)
|
||||
return -1;
|
||||
int v = data[fft]-1;
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "fftv: " << v;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
if (v == (octave+1)*10)
|
||||
{
|
||||
v = 7;
|
||||
|
@ -57,6 +53,6 @@ int FFTNotes::getNoteFromFFT(int fft, int octave)
|
|||
v = -1;
|
||||
}
|
||||
if (v != -1)
|
||||
v -= octave*10; // : )
|
||||
v -= octave*10;
|
||||
return v;
|
||||
}
|
||||
|
|
|
@ -1648,7 +1648,6 @@ void Game::hideInGameMenu(bool effects, bool cancel)
|
|||
|
||||
|
||||
|
||||
|
||||
for (int i = 0; i < dropIngrNames.size(); i++)
|
||||
{
|
||||
dsq->game->spawnIngredient(dropIngrNames[i], avatar->position + Vector(0,-96), 1, 1);
|
||||
|
@ -3483,7 +3482,6 @@ void Game::createInGameMenu()
|
|||
|
||||
|
||||
|
||||
|
||||
ToolTip *tip = 0;
|
||||
|
||||
foodTips.clear();
|
||||
|
@ -3842,8 +3840,6 @@ void Game::createInGameMenu()
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
int outer = 0;
|
||||
int inner = 0;
|
||||
for (i = 0; i < songSlots.size(); i++)
|
||||
|
@ -6459,7 +6455,6 @@ void Game::applyState()
|
|||
|
||||
|
||||
|
||||
|
||||
if (toFlip == 1)
|
||||
{
|
||||
dsq->game->avatar->flipHorizontal();
|
||||
|
@ -6468,8 +6463,6 @@ void Game::applyState()
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
// li
|
||||
//if (true)
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ const float MIN_SIZE = 0.1;
|
|||
#undef AQUARIA_BUILD_SCENEEDITOR
|
||||
#endif
|
||||
|
||||
//#include "GridRender.h"
|
||||
|
||||
class GridRender;
|
||||
class MiniMapRender;
|
||||
class WaterSurfaceRender;
|
||||
|
@ -487,9 +487,9 @@ public:
|
|||
|
||||
void updateSelectedElementPosition(Vector position);
|
||||
int selectedEntityType;
|
||||
//int curEntity;
|
||||
|
||||
SelectedEntity selectedEntity;
|
||||
//EntityGroups::iterator page;
|
||||
|
||||
int entityPageNum;
|
||||
|
||||
void checkForRebuild();
|
||||
|
@ -633,7 +633,7 @@ public:
|
|||
void removeState();
|
||||
void update(float dt);
|
||||
void onLeftMouseButton();
|
||||
//std::vector<Item*>items;
|
||||
|
||||
|
||||
Avatar *avatar;
|
||||
Entity *li;
|
||||
|
@ -642,7 +642,7 @@ public:
|
|||
|
||||
FoodSlot *moveFoodSlotToFront;
|
||||
|
||||
//void doChoiceMenu(Vector position, std::vector<std::string> choices);
|
||||
|
||||
|
||||
std::string getSelectedChoice() { return selectedChoice; }
|
||||
|
||||
|
@ -824,8 +824,8 @@ public:
|
|||
|
||||
Precacher tileCache;
|
||||
|
||||
//void cameraPanToNode(Path *p, int speed=500);
|
||||
//void cameraRestore();
|
||||
|
||||
|
||||
void setCameraFollow(Vector *position);
|
||||
Shot *fireShot(Entity *firer, const std::string &particleEffect, Vector position, bool big, Vector direction, Entity *target, int homing=0, int velLenOverride=0, int targetPt=-1);
|
||||
Shot *fireShot(const std::string &bankShot, Entity *firer, Entity *target=0, const Vector &pos=Vector(0,0,0), const Vector &aim=Vector(0,0,0), bool playSfx=true);
|
||||
|
@ -910,7 +910,7 @@ public:
|
|||
|
||||
void selectEntityFromGroups();
|
||||
InterpolatedVector cameraInterp;
|
||||
//InterpolatedVector tintColor;
|
||||
|
||||
float getWaterLevel();
|
||||
void setMusicToPlay(const std::string &musicToPlay);
|
||||
Vector lastCollidePosition;
|
||||
|
@ -1163,12 +1163,7 @@ protected:
|
|||
|
||||
float deathTimer;
|
||||
|
||||
/*
|
||||
void onAssignMenuScreenItemToSlot0();
|
||||
void onAssignMenuScreenItemToSlot1();
|
||||
void onAssignMenuScreenItemToSlot2();
|
||||
void onAssignMenuScreenItemToSlot3();
|
||||
*/
|
||||
|
||||
|
||||
void onInGameMenuInventory();
|
||||
void onInGameMenuSpellBook();
|
||||
|
|
|
@ -56,11 +56,7 @@ void GameplayVariables::load()
|
|||
inFile >> s >> zoomNaija;
|
||||
inFile >> s >> maxOutOfWaterSpeed;
|
||||
inFile >> s >> defaultCameraLerpDelay;
|
||||
/*
|
||||
inFile >> s >> initialId;
|
||||
inFile >> s >> initialEgo;
|
||||
inFile >> s >> initialSuperEgo;
|
||||
*/
|
||||
|
||||
inFile.close();
|
||||
}
|
||||
|
||||
|
|
|
@ -29,8 +29,8 @@ GasCloud::GasCloud(Entity *source, const Vector &position, const std::string &pa
|
|||
this->poisonTime = poisonTime;
|
||||
|
||||
this->particles = particles;
|
||||
//this->gfx = gfx;
|
||||
//this->isMoney = isMoney;
|
||||
|
||||
|
||||
this->position = position;
|
||||
this->damage = damage;
|
||||
this->radius = radius;
|
||||
|
@ -46,10 +46,10 @@ GasCloud::GasCloud(Entity *source, const Vector &position, const std::string &pa
|
|||
emitter->load(particles);
|
||||
emitter->start();
|
||||
emitter->setDie(true);
|
||||
//emitter->parentManagedStatic = true;
|
||||
//addChild(&emitter);
|
||||
|
||||
|
||||
dsq->game->addRenderObject(emitter, LR_PARTICLES);
|
||||
//setDamageTarget(DT_ENEMY_GAS, false)
|
||||
|
||||
setEntityType(ET_NEUTRAL);
|
||||
|
||||
deathSound = "";
|
||||
|
@ -96,32 +96,7 @@ void GasCloud::onUpdate(float dt)
|
|||
}
|
||||
|
||||
}
|
||||
/*
|
||||
pTimer += dt;
|
||||
while (pTimer > pSpawnRate)
|
||||
{
|
||||
int a = rand()%360;
|
||||
int r = rand()%radius;
|
||||
Vector pos = position;
|
||||
pos += Vector(sinf(a)*r, cosf(a)*r);
|
||||
Quad *quad = new Quad;
|
||||
{
|
||||
quad->rotation.z = rand()%360;
|
||||
quad->position = pos;
|
||||
quad->color = color;
|
||||
quad->setTexture(gfx);
|
||||
quad->alpha.path.addPathNode(0, 0);
|
||||
quad->alpha.path.addPathNode(0.5, 0.2);
|
||||
quad->alpha.path.addPathNode(0.5, 0.8);
|
||||
quad->alpha.path.addPathNode(0, 1);
|
||||
quad->alpha.startPath(3);
|
||||
quad->scale = Vector(0.5, 0.5);
|
||||
quad->scale.interpolateTo(Vector(2,2),4);
|
||||
}
|
||||
dsq->getTopStateData()->addRenderObject(quad, LR_PARTICLES);
|
||||
pTimer -= pSpawnRate;
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -24,13 +24,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
GridRender::GridRender(ObsType obsType) : RenderObject()
|
||||
{
|
||||
color = Vector(1, 0, 0);
|
||||
//color = Vector(0.2,0.2,1);
|
||||
|
||||
position.z = 5;
|
||||
cull = false;
|
||||
alpha = 0.5f;
|
||||
this->obsType = obsType;
|
||||
blendEnabled = false;
|
||||
//setTexture("grid");
|
||||
|
||||
}
|
||||
|
||||
void GridRender::onUpdate(float dt)
|
||||
|
@ -150,7 +150,7 @@ void SongLineRender::clear()
|
|||
void SongLineRender::onRender()
|
||||
{
|
||||
int w=core->getWindowWidth();
|
||||
//core->getWindowWidth(&w);
|
||||
|
||||
int ls = (4*w)/1024.0f;
|
||||
if (ls < 0)
|
||||
ls = 1;
|
||||
|
|
331
Aquaria/Hair.cpp
331
Aquaria/Hair.cpp
|
@ -23,8 +23,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "Hair.h"
|
||||
#include "DSQ.h"
|
||||
|
||||
// nodes = 40
|
||||
// segmentLength = 3
|
||||
|
||||
|
||||
Hair::Hair(int nodes, float segmentLength, float hairWidth) : RenderObject()
|
||||
{
|
||||
this->segmentLength = segmentLength;
|
||||
|
@ -33,8 +33,8 @@ Hair::Hair(int nodes, float segmentLength, float hairWidth) : RenderObject()
|
|||
cull = false;
|
||||
|
||||
hairNodes.resize(nodes);
|
||||
// nodes: 20 length: 6
|
||||
//segmentLength = 3;
|
||||
|
||||
|
||||
for (int i = 0; i < hairNodes.size(); i++)
|
||||
{
|
||||
float perc = (float(i)/(float(hairNodes.size())));
|
||||
|
@ -47,64 +47,14 @@ Hair::Hair(int nodes, float segmentLength, float hairWidth) : RenderObject()
|
|||
|
||||
void Hair::exertWave(float dt)
|
||||
{
|
||||
/*
|
||||
Vector diff = headPos - position;
|
||||
Vector diff2;
|
||||
if (!isFlippedHorizontal())
|
||||
diff2 = diff.getPerpendicularLeft();
|
||||
else
|
||||
diff2 = diff.getPerpendicularRight();
|
||||
|
||||
Vector diff3 = position - headPos;
|
||||
float len =diff2.getLength2D();
|
||||
diff3.setLength2D(len);
|
||||
|
||||
hairTimer += dt;
|
||||
while (hairTimer > 2.0f)
|
||||
{
|
||||
hairTimer -= 2.0f;
|
||||
}
|
||||
float useTimer = hairTimer;
|
||||
if (useTimer > 1.0f)
|
||||
useTimer = 1.0f - (hairTimer-1);
|
||||
float frc = 0.5;
|
||||
diff = (diff2*(frc*(1.0f-(useTimer*0.5f))) + diff3*(frc);
|
||||
|
||||
diff.setLength2D(400);
|
||||
//if (!vel.isLength2DIn(10))
|
||||
exertForce(diff, dt);
|
||||
*/
|
||||
}
|
||||
|
||||
void Hair::exertGravityWave(float dt)
|
||||
{
|
||||
/*
|
||||
Vector diff = headPos - position;
|
||||
Vector diff2;
|
||||
if (!isFlippedHorizontal())
|
||||
diff2 = diff.getPerpendicularLeft();
|
||||
else
|
||||
diff2 = diff.getPerpendicularRight();
|
||||
|
||||
Vector diff3 = position - headPos;
|
||||
float len =diff2.getLength2D();
|
||||
diff3.setLength2D(len);
|
||||
|
||||
hairTimer += dt;
|
||||
while (hairTimer > 2.0f)
|
||||
{
|
||||
hairTimer -= 2.0f;
|
||||
}
|
||||
float useTimer = hairTimer;
|
||||
if (useTimer > 1.0f)
|
||||
useTimer = 1.0f - (hairTimer-1);
|
||||
float frc = 0.333333;
|
||||
diff = (diff2*(frc*(1.0f-(useTimer*0.5f))) + diff3*(frc) + Vector(0,len)*(frc*(0.5f+useTimer*0.5f)));
|
||||
|
||||
diff.setLength2D(400);
|
||||
//if (!vel.isLength2DIn(10))
|
||||
exertForce(diff, dt);
|
||||
*/
|
||||
}
|
||||
|
||||
void Hair::setHeadPosition(const Vector &vec)
|
||||
|
@ -125,15 +75,15 @@ HairNode *Hair::getHairNode(int idx)
|
|||
|
||||
void Hair::onRender()
|
||||
{
|
||||
//glDisable(GL_CULL_FACE);
|
||||
|
||||
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
float texBits = 1.0f / (hairNodes.size()-1);
|
||||
//float height2 = 2.5f;
|
||||
|
||||
Vector pl, pr;
|
||||
for (int i = 0; i < hairNodes.size(); i++)
|
||||
{
|
||||
//glNormal3f( 0.0f, 0.0f, 1.0f);
|
||||
|
||||
|
||||
if (i != hairNodes.size()-1)
|
||||
{
|
||||
|
@ -143,14 +93,6 @@ void Hair::onRender()
|
|||
pr = diffVec.getPerpendicularRight();
|
||||
}
|
||||
|
||||
/*
|
||||
if (hairNodes[i].problem)
|
||||
{
|
||||
glColor3f(1,0,0);
|
||||
}
|
||||
else
|
||||
glColor3f(1,1,1);
|
||||
*/
|
||||
|
||||
|
||||
glTexCoord2f(0, texBits*i);
|
||||
|
@ -158,98 +100,33 @@ void Hair::onRender()
|
|||
glTexCoord2f(1, texBits*i);
|
||||
glVertex3f( hairNodes[i].position.x + pr.x, hairNodes[i].position.y + pr.y, 0);
|
||||
|
||||
//float angle = 0;
|
||||
/*
|
||||
float angle = 0;
|
||||
if (i < hairNodes.size()-1)
|
||||
{
|
||||
MathFunctions::calculateAngleBetweenVectorsInDegrees(hairNodes[i+1].position, hairNodes[i].position, angle);
|
||||
angle += 90;
|
||||
angle = (angle*PI)/180.0f;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
glTexCoord2f(0, 1-texBits*i);
|
||||
glVertex3f(hairNodes[i].position.x -sinf(angle)*hairWidth, hairNodes[i].position.y + cosf(angle)*height2, 0);
|
||||
glTexCoord2f(1, 1-texBits*i);
|
||||
glVertex3f( hairNodes[i].position.x + sinf(angle)*hairWidth, hairNodes[i].position.y + cosf(angle)*height2, 0);
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
glEnd();
|
||||
|
||||
/*
|
||||
glColor3f(1,1,1);
|
||||
for (int i = 0; i < hairNodes.size(); i++)
|
||||
{
|
||||
std::ostringstream os;
|
||||
os << hairNodes[i].angleDiff;
|
||||
core->print(hairNodes[i].position.x, hairNodes[i].position.y, os.str().c_str(), 6);
|
||||
}
|
||||
|
||||
*/
|
||||
//glEnable(GL_CULL_FACE);
|
||||
|
||||
}
|
||||
|
||||
void Hair::onUpdate(float dt)
|
||||
{
|
||||
RenderObject::onUpdate(dt);
|
||||
/*
|
||||
// straighten hair
|
||||
if (hairNodes.size()>2)
|
||||
{
|
||||
Vector d1 = hairNodes[1].position - hairNodes[0].position;
|
||||
for (int i = 2; i < hairNodes.size(); i++)
|
||||
{
|
||||
Vector d2 = hairNodes[i].position - hairNodes[i-1].position;
|
||||
|
||||
Vector wantPos = hairNodes[i-1].position + d1;
|
||||
|
||||
float perc = 1.0f-float(i)/float(hairNodes.size());
|
||||
hairNodes[i].position += (wantPos - hairNodes[i].position)*dt*(40 * perc);
|
||||
//Vector d1 = hairNodes[i-1].position - hairNodes[i-2].position;
|
||||
//Vector d2 = hairNodes[i].position - hairNodes[i-1].position;
|
||||
//float prod = d1.dot2D(d2);
|
||||
////if (prod < 0.5f)
|
||||
//{
|
||||
// d1.setLength2D(segmentLength);
|
||||
//
|
||||
// Vector wantPos = (hairNodes[i-1].position + d1)*0.5f + hairNodes[i].position*0.5f;
|
||||
// hairNodes[i].position += (wantPos - hairNodes[i].position)*dt*10;
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void Hair::updatePositions()
|
||||
{
|
||||
BBGE_PROF(Hair_updatePositions);
|
||||
//int minLength = 1;
|
||||
/*
|
||||
Vector accum;
|
||||
|
||||
|
||||
for (int i = 1; i < hairNodes.size(); i++)
|
||||
{
|
||||
Vector diff = hairNodes[i].position - hairNodes[i-1].position;
|
||||
accum += diff;
|
||||
}
|
||||
accum /= float(hairNodes.size()-1);
|
||||
*/
|
||||
for (int i = 1; i < hairNodes.size(); i++)
|
||||
{
|
||||
Vector diff = hairNodes[i].position - hairNodes[i-1].position;
|
||||
/*
|
||||
if (diff.getLength2D() < 1)
|
||||
{
|
||||
diff = accum;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
if (diff.getLength2D() <= 1)
|
||||
{
|
||||
diff = hairNodes[i].position - hairNodes[0].position;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
if (diff.getLength2D() < segmentLength)
|
||||
{
|
||||
|
@ -258,181 +135,13 @@ void Hair::updatePositions()
|
|||
}
|
||||
else if (diff.getLength2D() > segmentLength)
|
||||
{
|
||||
//diff |= segmentLength;
|
||||
|
||||
diff.setLength2D(segmentLength);
|
||||
hairNodes[i].position = hairNodes[i-1].position + diff;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
if (i > 1)
|
||||
{
|
||||
Vector d1 = hairNodes[i-1].position - hairNodes[i-2].position;
|
||||
Vector d2 = hairNodes[i].position - hairNodes[i-1].position;
|
||||
float prod = d1.dot2D(d2);
|
||||
float a1 = 0, a2 = 0;
|
||||
float maxAngle = 0.3;
|
||||
MathFunctions::calculateAngleBetweenVectorsInRadians(d1, Vector(0,0,0), a1);
|
||||
MathFunctions::calculateAngleBetweenVectorsInRadians(d2, Vector(0,0,0), a2);
|
||||
float a = a2 - a1;
|
||||
hairNodes[i].angleDiff = a;
|
||||
if (fabsf(a) > maxAngle)
|
||||
{
|
||||
|
||||
float len = d2.getLength2D();
|
||||
//d2 = d1;
|
||||
Vector dt1 = d1;
|
||||
Vector dt2 = d1;
|
||||
dt1.rotate2D(-maxAngle);
|
||||
dt2.rotate2D(maxAngle);
|
||||
|
||||
//if (a < 0)
|
||||
// d2.rotate2D(-maxAngle);
|
||||
//else
|
||||
// d2.rotate2D(maxAngle);
|
||||
|
||||
//d2.setLength2D(len);
|
||||
//hairNodes[i].position = hairNodes[i-1].position + d2;
|
||||
|
||||
dt1 = hairNodes[i-1].position + dt1;
|
||||
dt2 = hairNodes[i-1].position + dt2;
|
||||
if ((hairNodes[i].position - dt1).getSquaredLength2D() < (hairNodes[i].position - dt2).getSquaredLength2D())
|
||||
{
|
||||
hairNodes[i].position = dt1;
|
||||
}
|
||||
else
|
||||
hairNodes[i].position = dt2;
|
||||
hairNodes[i].problem = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
hairNodes[i].problem = false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
int diffLength = segmentLength * 2;
|
||||
Vector accum;
|
||||
int c=0;
|
||||
for (int j = 0; j < hairNodes.size(); j++)
|
||||
{
|
||||
if (j != i && j != i-1 && j != i+1)
|
||||
{
|
||||
Vector diff = hairNodes[i].position - hairNodes[j].position;
|
||||
|
||||
if (diff.getLength2D() < diffLength)
|
||||
{
|
||||
diff.setLength2D(diffLength);
|
||||
//hairNodes[i].position = hairNodes[j].position + diff;
|
||||
accum += hairNodes[j].position + diff;
|
||||
c++;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!accum.isZero())
|
||||
{
|
||||
accum /= c;
|
||||
|
||||
//hairNodes[i].position = (hairNodes[i].position + accum)*0.5f;
|
||||
hairNodes[i].position = accum;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
if (i > 1)
|
||||
{
|
||||
Vector d1 = hairNodes[i-1].position - hairNodes[i-2].position;
|
||||
Vector d2 = hairNodes[i].position - hairNodes[i-1].position;
|
||||
float prod = d1.dot2D(d2);
|
||||
if (prod < -0.5f)
|
||||
{
|
||||
//d1.setLength2D(d2.getLength2D());
|
||||
Vector wantPos = hairNodes[i-1].position + d1;
|
||||
hairNodes[i].position = wantPos;//hairNodes[i].position*0.75f + wantPos*0.25f;
|
||||
//
|
||||
//d2 = (d2 + d1)*0.5f;
|
||||
//hairNodes[i].position = hairNodes[i-1].position + d1;
|
||||
}
|
||||
}
|
||||
*/
|
||||
/*
|
||||
if (i > 1)
|
||||
{
|
||||
//float a1,a2;
|
||||
float a1=0;
|
||||
// MathFunctions::calculateAngleBetweenVectorsInRadians(hairNodes[i].position, hairNodes[i-1].position, a1);
|
||||
|
||||
MathFunctions::calculateAngleBetweenVectorsInRadians(hairNodes[i-1].position, hairNodes[i-2].position, a1);
|
||||
|
||||
Vector d1 = hairNodes[i-1].position - hairNodes[i-2].position;
|
||||
Vector d2 = hairNodes[i].position - hairNodes[i-1].position;
|
||||
|
||||
float a=0;
|
||||
MathFunctions::calculateAngleBetweenVectorsInRadians(d2, d1, a);
|
||||
//float d = a2 - a1, c=PI/2;
|
||||
|
||||
float c=PI/2;
|
||||
float d=0;
|
||||
|
||||
bool adjust = 0;
|
||||
if (a > c)
|
||||
{
|
||||
d = a1 + c;
|
||||
adjust = 1;
|
||||
}
|
||||
else if (a < -c)
|
||||
{
|
||||
d = a1 - c;
|
||||
adjust = -1;
|
||||
}
|
||||
if (adjust)
|
||||
{
|
||||
Vector add(sinf(d), cosf(d));
|
||||
add.setLength2D(d2.getLength2D());
|
||||
hairNodes[i].position = hairNodes[i-1].position + add;
|
||||
}
|
||||
//Vector diff2 = hairNodes[i-1] - hairNodes[i-2].position;
|
||||
|
||||
//hairNodes[i].position = hairNodes[i-1].position + diff;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
if (i < hairNodes.size()-1)
|
||||
{
|
||||
Vector diff2 = hairNodes[i+1].position - hairNodes[i].position;
|
||||
float a=0,c=PI/2;
|
||||
bool adjust = false;
|
||||
MathFunctions::calculateAngleBetweenVectorsInRadians(hairNodes[i+1].position, hairNodes[i].position, a);
|
||||
if (a > c)
|
||||
{
|
||||
a = c;
|
||||
adjust = true;
|
||||
}
|
||||
else if (a < -c)
|
||||
{
|
||||
a = -c;
|
||||
adjust = true;
|
||||
}
|
||||
if (adjust)
|
||||
{
|
||||
Vector add(sinf(a), cosf(a));
|
||||
add *= diff2.getLength2D();
|
||||
hairNodes[i+1].position = hairNodes[i].position + add;
|
||||
}
|
||||
}
|
||||
*/
|
||||
/*
|
||||
else if (diff.getLength2D() < minLength)
|
||||
{
|
||||
*/
|
||||
/*
|
||||
diff.setLength2D(minLength);
|
||||
hairNodes[i].position = hairNodes[i-1].position + diff;
|
||||
*/
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
|
@ -472,15 +181,7 @@ void Hair::exertForce(const Vector &force, float dt, int usePerc)
|
|||
hairNodes[i].position += force*dt;
|
||||
break;
|
||||
}
|
||||
/*
|
||||
Vector diff = hairNodes[i].position - hairNodes[i-1].position;
|
||||
|
||||
if (diff.getSquaredLength2D() > sqr(segmentLength))
|
||||
{
|
||||
diff |= segmentLength;
|
||||
hairNodes[i].position = hairNodes[i-1].position + diff;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ Ingredient::Ingredient(const Vector &pos, IngredientData *data, int amount)
|
|||
velocity = randVector(mag)*0.5f + Vector(0, -mag)*0.5f;
|
||||
else
|
||||
velocity = Vector(0,-mag*0.5f);
|
||||
gravity = Vector(0, 250); //300
|
||||
gravity = Vector(0, 250);
|
||||
scale = Vector(0.2,0.2);
|
||||
scale.interpolateTo(Vector(1, 1), 0.75);
|
||||
|
||||
|
@ -110,12 +110,7 @@ void Ingredient::onUpdate(float dt)
|
|||
if (dsq->game->collideCircleWithGrid(position, 24))
|
||||
{
|
||||
position = lastPosition;
|
||||
/*
|
||||
if (velocity.x < velocity.y)
|
||||
velocity.x = -velocity.x;
|
||||
else
|
||||
velocity.y = -velocity.y;
|
||||
*/
|
||||
|
||||
velocity = 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -765,8 +765,6 @@ void Intro::update(float dt)
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
dsq->overlay->color = Vector(0,0,0);
|
||||
dsq->fade(1, 0.1);
|
||||
if (waitQuit(0.1)) return;
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
void Logo::JumpTitle::act()
|
||||
{
|
||||
//dsq->title();
|
||||
|
||||
}
|
||||
|
||||
Logo::Logo() : StateObject()
|
||||
|
@ -36,25 +36,8 @@ void Logo::applyState()
|
|||
|
||||
|
||||
core->setClearColor(Vector(1,1,1));
|
||||
//glClearColor(1,1,1,0);
|
||||
|
||||
|
||||
//core->enable2D(800);
|
||||
|
||||
/*
|
||||
Quad *q = new Quad;
|
||||
{
|
||||
q->setTexture("zs");
|
||||
q->width=800;
|
||||
q->height=100;
|
||||
q->position = Vector(400,300);
|
||||
q->alpha = 0;
|
||||
q->alpha.interpolateTo(1, 3, 0);
|
||||
}
|
||||
addRenderObject(q);
|
||||
|
||||
addAction(&jumpTitle, MOUSE_BUTTON_LEFT, 1);
|
||||
*/
|
||||
|
||||
Quad *q = new Quad;
|
||||
{
|
||||
|
|
|
@ -86,8 +86,8 @@ void ManaBall::onUpdate(float dt)
|
|||
this->scale.interpolateTo(Vector(0,0),1);
|
||||
setLife(1);
|
||||
setDecayRate(1);
|
||||
//this->shareAlphaWithChildren = 1;
|
||||
//this->fadeAlphaWithLife = 1;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,7 +99,7 @@ void ManaBall::onUpdate(float dt)
|
|||
if (diff.isLength2DIn(96))
|
||||
{
|
||||
use(dsq->game->avatar);
|
||||
//position.interpolateTo(dsq->game->avatar->position, 0.5);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -122,7 +122,7 @@ void ManaBall::onUpdate(float dt)
|
|||
else
|
||||
{
|
||||
position.interpolateTo(dsq->game->avatar->position, 0.2);
|
||||
//position = ;
|
||||
|
||||
}
|
||||
}
|
||||
position.z = 0.5;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include "DSQ.h"
|
||||
#include "Network.h"
|
||||
#include "ByteBuffer.h"
|
||||
//#include "VFSTools.h"
|
||||
|
||||
#include "MT.h"
|
||||
#include <map>
|
||||
#include <set>
|
||||
|
@ -44,7 +44,7 @@ public:
|
|||
protected:
|
||||
virtual void _OnClose()
|
||||
{
|
||||
//puts("_OnClose()");
|
||||
|
||||
minihttp::HttpSocket::_OnClose();
|
||||
|
||||
const Request& r = GetCurrentRequest();
|
||||
|
@ -57,7 +57,7 @@ protected:
|
|||
}
|
||||
virtual void _OnOpen()
|
||||
{
|
||||
//puts("_OnOpen()");
|
||||
|
||||
minihttp::HttpSocket::_OnOpen();
|
||||
|
||||
const Request& r = GetCurrentRequest();
|
||||
|
@ -68,7 +68,7 @@ protected:
|
|||
{
|
||||
const Request& r = GetCurrentRequest();
|
||||
RequestData *data = (RequestData*)(r.user);
|
||||
//printf("_OnRequestDone(): %s\n", r.resource.c_str());
|
||||
|
||||
if(data->fp)
|
||||
{
|
||||
fclose(data->fp);
|
||||
|
@ -91,11 +91,7 @@ protected:
|
|||
{
|
||||
if(!size)
|
||||
return;
|
||||
/*if(GetStatusCode() != minihttp::HTTP_OK)
|
||||
{
|
||||
printf("NETWORK: Got %u bytes with status code %u", size, GetStatusCode());
|
||||
return;
|
||||
}*/
|
||||
|
||||
const Request& r = GetCurrentRequest();
|
||||
RequestData *data = (RequestData*)(r.user);
|
||||
if(!data->fp && !data->fail)
|
||||
|
|
|
@ -46,8 +46,8 @@ void ParticleEditor::applyState()
|
|||
|
||||
addAction(MakeFunctionEvent(ParticleEditor, load), KEY_F1, 0);
|
||||
addAction(MakeFunctionEvent(ParticleEditor, reload), KEY_F5, 0);
|
||||
//addAction(MakeFunctionEvent(ParticleEditor, start), KEY_F5, 0);
|
||||
//addAction(MakeFunctionEvent(ParticleEditor, stop), KEY_F6, 0);
|
||||
|
||||
|
||||
addAction(MakeFunctionEvent(ParticleEditor, start), MOUSE_BUTTON_LEFT, 0);
|
||||
addAction(MakeFunctionEvent(ParticleEditor, stop), MOUSE_BUTTON_RIGHT, 0);
|
||||
|
||||
|
@ -64,8 +64,8 @@ void ParticleEditor::applyState()
|
|||
core->cameraPos = Vector(0,0);
|
||||
|
||||
emitter = new ParticleEffect;
|
||||
//emitter->followCamera = 1;
|
||||
//emitter->position = Vector(400,300);
|
||||
|
||||
|
||||
addRenderObject(emitter, LR_ENTITIES);
|
||||
|
||||
dsq->overlay->alpha.interpolateTo(0, 0.5);
|
||||
|
|
|
@ -454,20 +454,15 @@ void Path::refreshScript()
|
|||
spawnEnemyDistance = 0;
|
||||
is >> dummy >> spawnEnemyName >> spawnEnemyDistance >> spawnEnemyNumber;
|
||||
neverSpawned = true;
|
||||
/*
|
||||
if (!spawnedEntity && !nodes.empty())
|
||||
{
|
||||
spawnedEntity = dsq->game->createEntity(spawnEnemyName, 0, nodes[0].position, 0, false, "");
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
else if (label == "pe")
|
||||
{
|
||||
std::string dummy, particleEffect;
|
||||
SimpleIStringStream is(name);
|
||||
is >> dummy >> particleEffect;
|
||||
//core->removeRenderObject(&emitter, Core::DO_NOT_DESTROY_RENDER_OBJECT);
|
||||
//core->getTopStateData()->addRenderObject(&emitter, LR_PARTICLES);
|
||||
|
||||
|
||||
|
||||
setEmitter(particleEffect);
|
||||
}
|
||||
|
@ -552,10 +547,7 @@ void Path::update(float dt)
|
|||
if (pathType == PATH_CURRENT && !dsq->game->isWorldPaused())
|
||||
{
|
||||
animOffset -= currentMod*(dt/830);
|
||||
/*
|
||||
while (animOffset < -1.0f)
|
||||
animOffset += 1.0f;
|
||||
*/
|
||||
|
||||
}
|
||||
if (pathType == PATH_GEM && dsq->game->avatar)
|
||||
{
|
||||
|
@ -603,10 +595,7 @@ void Path::update(float dt)
|
|||
Entity *e = *i;
|
||||
if (e)
|
||||
{
|
||||
/*
|
||||
if (e->getEntityType() == ET_AVATAR && dsq->continuity.form == FORM_SPIRIT)
|
||||
continue;
|
||||
*/
|
||||
|
||||
if (dsq->game->collideCircleVsLine(e, start, end, rect.getWidth()*0.5f))
|
||||
{
|
||||
if (e->getEntityType() == ET_AVATAR)
|
||||
|
@ -621,24 +610,13 @@ void Path::update(float dt)
|
|||
d.damage = 0.1;
|
||||
d.damageType = DT_STEAM;
|
||||
e->damage(d);
|
||||
//a->position = a->lastPosition;
|
||||
|
||||
}
|
||||
Vector push;
|
||||
|
||||
push = e->position - dsq->game->lastCollidePosition;
|
||||
|
||||
// old method:
|
||||
/*
|
||||
int d1 = ((mid + left)-e->position).getSquaredLength2D();
|
||||
if (((mid + right)-e->position).getSquaredLength2D() < d1)
|
||||
{
|
||||
push = right;
|
||||
}
|
||||
else
|
||||
{
|
||||
push = left;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
push.setLength2D(1000*dt);
|
||||
if (e->vel2.isLength2DIn(1000) && !e->isNearObstruction(3))
|
||||
|
@ -650,11 +628,7 @@ void Path::update(float dt)
|
|||
if (dsq->game->collideCircleVsLine(e, start, end, rect.getWidth()*0.25f))
|
||||
{
|
||||
push.setLength2D(100);
|
||||
/*
|
||||
Vector oldVel = e->vel;
|
||||
Vector nvel = v;
|
||||
nvel.setLength2D(e->vel);
|
||||
*/
|
||||
|
||||
e->vel = 0;
|
||||
e->vel += push;
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ void PathFinding::forceMinimumPath(VectorPath &path, const Vector &start, const
|
|||
{
|
||||
if (path.getNumPathNodes() <= 2)
|
||||
{
|
||||
//debugLog(" Path is <= 2 nodes... setting up simple path");
|
||||
|
||||
path.clear();
|
||||
path.addPathNode(start, 0);
|
||||
path.addPathNode(dest, 1);
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#define PATHFINDING_H
|
||||
|
||||
#include "../BBGE/Base.h"
|
||||
//#include "Astar.h"
|
||||
|
||||
#include "TileVector.h"
|
||||
#include <assert.h>
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
PathRender::PathRender() : RenderObject()
|
||||
{
|
||||
//color = Vector(1, 0, 0);
|
||||
|
||||
position.z = 5;
|
||||
cull = false;
|
||||
alpha = 0.5f;
|
||||
|
|
|
@ -40,8 +40,8 @@ using namespace RecipeMenuNamespace;
|
|||
RecipeMenuEntry::RecipeMenuEntry(Recipe *recipe) : RenderObject(), recipe(recipe)
|
||||
{
|
||||
selected = 0;
|
||||
// Quad *result, *i1, *i2, *i3;
|
||||
// Recipe *recipe;
|
||||
|
||||
|
||||
|
||||
data = dsq->continuity.getIngredientDataByName(recipe->result);
|
||||
if (data)
|
||||
|
@ -70,7 +70,7 @@ RecipeMenuEntry::RecipeMenuEntry(Recipe *recipe) : RenderObject(), recipe(recipe
|
|||
addChild(equals, PM_POINTER);
|
||||
|
||||
int c = 0;
|
||||
//int size = (recipe->names.size() + recipe->types.size())-1;
|
||||
|
||||
int size=0;
|
||||
|
||||
for (int i = 0; i < recipe->names.size(); i++)
|
||||
|
@ -120,14 +120,14 @@ RecipeMenuEntry::RecipeMenuEntry(Recipe *recipe) : RenderObject(), recipe(recipe
|
|||
|
||||
for (int i = 0; i < recipe->types.size(); i++)
|
||||
{
|
||||
//debugLog("recipe type: " + recipe->types[i].typeName);
|
||||
|
||||
for (int j = 0; j < recipe->types[i].amount; j++)
|
||||
{
|
||||
// any type of whatever...
|
||||
BitmapText *text = new BitmapText(&dsq->smallFont);
|
||||
text->color = 0;
|
||||
text->scale = Vector(0.8, 0.8);
|
||||
text->position = Vector(100*c, 0); //-20
|
||||
text->position = Vector(100*c, 0);
|
||||
|
||||
std::string typeName = dsq->continuity.getIngredientDisplayName(recipe->types[i].typeName);
|
||||
|
||||
|
@ -180,15 +180,15 @@ void RecipeMenuEntry::onUpdate(float dt)
|
|||
glow->alphaMod = 0.2;
|
||||
|
||||
std::ostringstream ds;
|
||||
//ds << data->name << ": ";
|
||||
//ds << "* ";
|
||||
|
||||
|
||||
for (int i = 0; i < data->effects.size(); i++)
|
||||
{
|
||||
ds << dsq->continuity.getIEString(data, i);
|
||||
if (i == data->effects.size()-1)
|
||||
{
|
||||
// do nothing
|
||||
//ds << ".";
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -198,7 +198,7 @@ void RecipeMenuEntry::onUpdate(float dt)
|
|||
|
||||
game->recipeMenu.description->setText(ds.str());
|
||||
game->recipeMenu.description->offset = Vector(0, -10 * (game->recipeMenu.description->getNumLines()-1));
|
||||
// description->setText(ds.str());
|
||||
|
||||
selected = 1;
|
||||
}
|
||||
else
|
||||
|
@ -235,7 +235,7 @@ void RecipeMenu::slide(RenderObject *r, bool in, float t)
|
|||
if (in)
|
||||
{
|
||||
r->alpha = 1;
|
||||
//r->alpha.interpolateTo(1, 0.2);
|
||||
|
||||
r->offset = Vector(0,oy);
|
||||
r->offset.interpolateTo(Vector(0,0), t, 0, 0, 1);
|
||||
}
|
||||
|
@ -261,15 +261,10 @@ int RecipeMenu::getNumKnown()
|
|||
|
||||
int RecipeMenu::getNumPages()
|
||||
{
|
||||
int numKnown = dsq->continuity.recipes.size();//getNumKnown();
|
||||
int numKnown = dsq->continuity.recipes.size();
|
||||
int numPages = (numKnown/pageSize);
|
||||
|
||||
/*
|
||||
for (int i = 0; i < dsq->continuity.recipes.size(); i++)
|
||||
{
|
||||
debugLog("r: " + dsq->continuity.recipes[i].result);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
std::ostringstream os;
|
||||
os << "numKnown: " << numKnown << " pagesSize: " << pageSize << " numPages: " << numPages;
|
||||
|
@ -395,7 +390,7 @@ void RecipeMenu::createPage(int p)
|
|||
{
|
||||
RecipeMenuEntry *r = new RecipeMenuEntry(&dsq->continuity.recipes[i]);
|
||||
recipeMenuEntries.push_back(r);
|
||||
//80 + num * 70
|
||||
|
||||
r->position = Vector(500-5, 65 + num * 70);
|
||||
dsq->game->addRenderObject(r, scroll->layer);
|
||||
num++;
|
||||
|
|
|
@ -169,8 +169,8 @@ void SceneEditor::changeDepth()
|
|||
{
|
||||
if (editingElement)
|
||||
{
|
||||
//editingElement->parallax = 0.9;
|
||||
//editingElement->followCamera = 0.001;
|
||||
|
||||
|
||||
editingElement->followCamera = 0.9;
|
||||
editingElement->cull = false;
|
||||
}
|
||||
|
@ -232,7 +232,7 @@ public:
|
|||
if (doubleClickTimer > 0)
|
||||
doubleClickTimer -= dt;
|
||||
Quad::onUpdate(dt);
|
||||
//if ()
|
||||
|
||||
|
||||
if (dsq->game->sceneEditor.selectedEntity.name == selectedEntity.name
|
||||
|| (entType != -1 && dsq->game->sceneEditor.selectedEntity.typeListIndex == entType))
|
||||
|
@ -263,7 +263,7 @@ public:
|
|||
{
|
||||
dsq->game->sceneEditor.selectedEntity.setName(selectedEntity.name, selectedEntity.prevGfx);
|
||||
}
|
||||
//se_changedEntityType = true;
|
||||
|
||||
if (doubleClickTimer > 0)
|
||||
{
|
||||
doubleClickTimer = 0;
|
||||
|
@ -438,11 +438,7 @@ void SceneEditor::addMainMenuItem(const std::string &label, int bid)
|
|||
|
||||
void SceneEditor::openMainMenu()
|
||||
{
|
||||
/*
|
||||
core->clearDebugMenu();
|
||||
core->addDebugMenuItem("", bid);
|
||||
core->doModalDebugMenu();
|
||||
*/
|
||||
|
||||
|
||||
if (core->getNestedMains()>1)
|
||||
{
|
||||
|
@ -472,12 +468,9 @@ void SceneEditor::openMainMenu()
|
|||
addMainMenuItem("EDIT NODES (F7)", 108);
|
||||
addMainMenuItem("REGEN COLLISIONS (ALT-R)", 103);
|
||||
addMainMenuItem("RECACHE TEXTURES (CTRL-R)", 130);
|
||||
// addMainMenuItem("REFRESH DATAFILES (F11)", 117);
|
||||
|
||||
addMainMenuItem("REGEN ROCK FROM MAPTEMPLATE (F11+F12)", 116);
|
||||
/*
|
||||
addMainMenuItem("RE-TEMPLATE (F11)", 104);
|
||||
addMainMenuItem("RE-SKIN (F12)", 105);
|
||||
*/
|
||||
|
||||
addMainMenuItem("SET BG GRADIENT", 110);
|
||||
addMainMenuItem("SET MUSIC", 111);
|
||||
addMainMenuItem("ENTITY GROUPS (CTRL-E)", 112);
|
||||
|
@ -541,7 +534,7 @@ void SceneEditor::init()
|
|||
btnMenu->label->setText("Menu");
|
||||
btnMenu->followCamera = 1;
|
||||
btnMenu->alpha = 0;
|
||||
//btnMenu->event.set(MakeFunctionEvent(SceneEditor, openMainMenu));
|
||||
|
||||
dsq->game->addRenderObject(btnMenu, LR_HUD);
|
||||
|
||||
selectedEntityType = 0;
|
||||
|
@ -553,7 +546,7 @@ void SceneEditor::init()
|
|||
|
||||
text->followCamera = 1;
|
||||
text->position = Vector(125,20,4.5);
|
||||
//text->setAlign(ALIGN_CENTER);
|
||||
|
||||
dsq->game->addRenderObject(text, LR_HUD);
|
||||
text->alpha = 0;
|
||||
selectedVariation = -1;
|
||||
|
@ -565,13 +558,12 @@ void SceneEditor::init()
|
|||
dsq->game->addRenderObject(boxPromo, LR_HUD);
|
||||
on = false;
|
||||
|
||||
//addAction(MakeFunctionEvent(SceneEditor, addSpringPlant), KEY_K, 0);
|
||||
|
||||
|
||||
addAction(MakeFunctionEvent(SceneEditor, loadScene), KEY_F1, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, saveScene), KEY_F2, 0);
|
||||
|
||||
// removed in fc3
|
||||
//addAction(MakeFunctionEvent(SceneEditor, setGroup), KEY_G, 0);
|
||||
|
||||
|
||||
addAction(MakeFunctionEvent(SceneEditor, moveToBack), KEY_Z, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, moveToFront), KEY_X, 0);
|
||||
|
@ -592,12 +584,6 @@ void SceneEditor::init()
|
|||
|
||||
|
||||
|
||||
/*
|
||||
addAction(MakeFunctionEvent(SceneEditor, placeEntity), KEY_U, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, removeEntity), KEY_I, 0);
|
||||
*/
|
||||
//addAction(MakeFunctionEvent(SceneEditor, changeDepth), KEY_N, 0);
|
||||
|
||||
addAction(MakeFunctionEvent(SceneEditor, placeElement), KEY_SPACE, 1);
|
||||
|
||||
addAction(MakeFunctionEvent(SceneEditor, enterName), KEY_N, 0);
|
||||
|
@ -619,7 +605,7 @@ void SceneEditor::init()
|
|||
addAction(MakeFunctionEvent(SceneEditor, generateLevel), KEY_F11, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, skinLevel), KEY_F12, 0);
|
||||
|
||||
//addAction(MakeFunctionEvent(SceneEditor, regenLevel), KEY_F12, 0);
|
||||
|
||||
|
||||
addAction(MakeFunctionEvent(SceneEditor, nextEntityType), KEY_RIGHT, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, prevEntityType), KEY_LEFT, 0);
|
||||
|
@ -651,17 +637,6 @@ void SceneEditor::init()
|
|||
addAction(MakeFunctionEvent(SceneEditor, dumpObs), KEY_F8, 0);
|
||||
|
||||
|
||||
/*
|
||||
// OLD CRAP
|
||||
addAction(MakeFunctionEvent(SceneEditor, rotateElement), KEY_MULTIPLY, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, rotateElement2), KEY_DIVIDE, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, scaleElementUp), KEY_NUMPAD7, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, scaleElementDown), KEY_NUMPAD1, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, scaleElement1), KEY_NUMPAD0, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, nextVariation), KEY_UP, 0);
|
||||
addAction(MakeFunctionEvent(SceneEditor, prevVariation), KEY_DOWN, 0);
|
||||
*/
|
||||
|
||||
|
||||
addAction(ACTION_ZOOMIN, KEY_PGUP);
|
||||
addAction(ACTION_ZOOMOUT, KEY_PGDN);
|
||||
|
@ -796,10 +771,10 @@ void SceneEditor::alignVert()
|
|||
|
||||
void SceneEditor::createAquarian()
|
||||
{
|
||||
//if (dsq->mod.isActive()) return;
|
||||
|
||||
static bool inCreateAqurian = false;
|
||||
if (inCreateAqurian) return;
|
||||
//if (dsq->game->isPaused()) return;
|
||||
|
||||
inCreateAqurian = true;
|
||||
std::string t = dsq->getUserInputString("Enter Aquarian:", "");
|
||||
stringToUpper(t);
|
||||
|
@ -815,7 +790,7 @@ void SceneEditor::createAquarian()
|
|||
{
|
||||
v = 1024+26;
|
||||
}
|
||||
//ElementTemplate et = dsq->game->getElementTemplateForLetter(v);
|
||||
|
||||
dsq->game->createElement(v, startPos + Vector(64*i,0), this->bgLayer);
|
||||
}
|
||||
inCreateAqurian = false;
|
||||
|
@ -887,7 +862,7 @@ void SceneEditor::toggleWarpAreaRender()
|
|||
warpAreaRender->alpha.x = 0.5;
|
||||
else if (warpAreaRender->alpha.x >= 0.5f)
|
||||
warpAreaRender->alpha.x = 0;
|
||||
//warpAreaRender->alpha.interpolateTo(1, 0.2);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -990,7 +965,7 @@ void SceneEditor::editModeEntities()
|
|||
//target->alpha.interpolateTo(0, 0.5);
|
||||
editType = ET_ENTITIES;
|
||||
|
||||
//dsq->game->entityTypeList[curEntity].prevGfx
|
||||
|
||||
placer->setTexture(selectedEntity.prevGfx);
|
||||
placer->alpha = 0.5;
|
||||
pathRender->alpha = 0;
|
||||
|
@ -1018,7 +993,7 @@ Element *SceneEditor::getElementAtCursor()
|
|||
{
|
||||
if (e->life == 1)
|
||||
{
|
||||
if (e->isCoordinateInside(dsq->getGameCursorPosition()))//, minSelectionSize
|
||||
if (e->isCoordinateInside(dsq->getGameCursorPosition()))
|
||||
{
|
||||
Vector v = dsq->getGameCursorPosition() - e->position;
|
||||
int dist = v.getSquaredLength2D();
|
||||
|
@ -1109,11 +1084,8 @@ void SceneEditor::deleteSelected()
|
|||
}
|
||||
else
|
||||
p->removeNode(selectedNode);
|
||||
/*
|
||||
if (p->nodes.size() > 1)
|
||||
p->nodes.resize(p->nodes.size()-1);
|
||||
*/
|
||||
//selectedIdx = -1;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1314,11 +1286,7 @@ void SceneEditor::updateEntitySaveData(Entity *editingEntity)
|
|||
{
|
||||
if (editingEntity)
|
||||
{
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "oldPos (" << oldPosition.x << ", " << oldPosition.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
EntitySaveData *d = dsq->game->getEntitySaveDataForEntity(editingEntity, oldPosition);
|
||||
if (d)
|
||||
{
|
||||
|
@ -1326,22 +1294,18 @@ void SceneEditor::updateEntitySaveData(Entity *editingEntity)
|
|||
os << "idx1: " << d->idx << " ";
|
||||
os << "idx2: " << editingEntity->entityTypeIdx << " ";
|
||||
os << "name: " << editingEntity->name;
|
||||
//os << "state: " << editingEntity->getState();
|
||||
|
||||
debugLog(os.str());
|
||||
//debugLog("changing entity save data");
|
||||
|
||||
d->x = editingEntity->position.x;
|
||||
d->y = editingEntity->position.y;
|
||||
editingEntity->startPos = Vector(d->x, d->y);
|
||||
/*
|
||||
std::ostringstream os2;
|
||||
os2 << "setting savedata rot to: " << d->rot;
|
||||
debugLog(os2.str());
|
||||
*/
|
||||
|
||||
d->rot = editingEntity->rotation.z;
|
||||
}
|
||||
else
|
||||
{
|
||||
//debugLog("didn't get entity save data");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1410,7 +1374,7 @@ void SceneEditor::mouseButtonRightUp()
|
|||
checkForRebuild();
|
||||
}
|
||||
state = ES_SELECTING;
|
||||
//dsq->game->reconstructGrid();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -1616,7 +1580,7 @@ bool getGrassPixel(pngRawInfo *png, int x, int y)
|
|||
{
|
||||
if (x >= png->Width || y >= png->Height || x < 0 || y < 0) return false;
|
||||
|
||||
//int c = ((x*png->Width)*3)+y*3;
|
||||
|
||||
int c = (y*png->Width)*png->Components + x*png->Components;
|
||||
if (png->Data[c] == 128 &&
|
||||
png->Data[c+1] == 255 &&
|
||||
|
@ -1690,21 +1654,15 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
|
|||
)
|
||||
)
|
||||
{
|
||||
// do color check
|
||||
/*
|
||||
int ci = x+(y*png->Height);
|
||||
if (png->data[ci] < pixelColor.x &&
|
||||
png->data[ci+1] < pixelColor.y &&
|
||||
png->data[ci+2] < pixelColor.z)
|
||||
{
|
||||
*/
|
||||
|
||||
|
||||
float dist=0;
|
||||
wallNormal = dsq->game->getWallNormal(t.worldVector(), 5, &dist, OT_MASK_BLACK);
|
||||
offset = wallNormal*(-TILE_SIZE*0.6f);
|
||||
MathFunctions::calculateAngleBetweenVectorsInDegrees(Vector(0,0,0), wallNormal, rot);
|
||||
rot = 180-(360-rot);
|
||||
addTile = true;
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
if (addTile)
|
||||
|
@ -1740,7 +1698,7 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
|
|||
Element *e = dsq->getElement(i);
|
||||
if (e->templateIdx <= 4 && e->templateIdx >= 1)
|
||||
{
|
||||
if ((p - e->position).getSquaredLength2D() < sqr(120))//sqr(60*3+10)) // 120
|
||||
if ((p - e->position).getSquaredLength2D() < sqr(120))
|
||||
{
|
||||
cantUse[e->templateIdx-1]++;
|
||||
}
|
||||
|
@ -1763,40 +1721,6 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
|
|||
e->offset = offset;
|
||||
|
||||
|
||||
/*
|
||||
bool addGrass = false;
|
||||
int search = 2;
|
||||
for (int dx = -search; dx < search; dx++)
|
||||
{
|
||||
for (int dy = -search; dy < search; dy++)
|
||||
{
|
||||
if (getGrassPixel(png, x+dx, y+dy))
|
||||
{
|
||||
//std::ostringstream os;
|
||||
//os << "found grass pixel at (" << x+dx << ", " << y+dy << ")";
|
||||
//debugLog(os.str());
|
||||
//errorLog ("add grass");
|
||||
addGrass = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (addGrass)
|
||||
{
|
||||
//Vector detailPos = p + wallNormal*48;
|
||||
Element *grassE = dsq->game->createElement(5, p, 0, &q);
|
||||
//dsq->game->createElement(5, detailPos, 6, &q);
|
||||
//grassE->offset = offset;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
float sz = ((rand()%1000)/4000.0f);
|
||||
e->scale = Vector(1+sz, 1+sz, 1);
|
||||
*/
|
||||
|
||||
|
||||
idx++;
|
||||
if(idx > 4)
|
||||
|
@ -1818,13 +1742,11 @@ void SceneEditor::skinLevel(pngRawInfo *png, int minX, int minY, int maxX, int m
|
|||
|
||||
void SceneEditor::generateLevel()
|
||||
{
|
||||
//pngSetStandardOrientation(0);
|
||||
std::string file=getMapTemplateFilename();
|
||||
//pngInfo info;
|
||||
//PNG_ALPHA
|
||||
|
||||
//errorLog("generate level");
|
||||
// Y R G B P
|
||||
std::string file=getMapTemplateFilename();
|
||||
|
||||
|
||||
|
||||
int 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];
|
||||
|
@ -1846,10 +1768,10 @@ void SceneEditor::generateLevel()
|
|||
bool success = pngLoadRaw(file.c_str(), &rawinfo);
|
||||
if (success)
|
||||
{
|
||||
//dsq->elements.clear();
|
||||
|
||||
std::vector<Row> rows;
|
||||
std::vector<Vector> positions;
|
||||
const int maxRowCount = 9999;//9999;//9999;
|
||||
const int maxRowCount = 9999;
|
||||
int rowCount = 0;
|
||||
if (rawinfo.Components < 3)
|
||||
{
|
||||
|
@ -1857,7 +1779,7 @@ void SceneEditor::generateLevel()
|
|||
}
|
||||
int scale = TILE_SIZE;
|
||||
int c = 0;
|
||||
//for (int y = rawinfo.Height-1; y >= 0; y--)
|
||||
|
||||
for (int y = 0; y < rawinfo.Height; y++)
|
||||
{
|
||||
Vector lastElement;
|
||||
|
@ -1902,7 +1824,7 @@ void SceneEditor::generateLevel()
|
|||
}
|
||||
for (int i = 0; i < MAX; i++)
|
||||
{
|
||||
//if (checkWarpPixel(rawinfo.Data, c, colorVects[i]))
|
||||
|
||||
bool p1, p2, p3;
|
||||
p1=p2=p3=false;
|
||||
int diff;
|
||||
|
@ -1912,25 +1834,7 @@ void SceneEditor::generateLevel()
|
|||
p2 = (diff < 5);
|
||||
diff = fabsf((colorVects[i].z*255) - rawinfo.Data[c+2]);
|
||||
p3 = (diff < 5);
|
||||
/*
|
||||
p1 = (colorVects[i].x == 1 && rawinfo.Data[c] > 200);
|
||||
if (!p1)
|
||||
{
|
||||
p1 = (colorVects[i].x == 0 && rawinfo.Data[c] < 32);
|
||||
}
|
||||
p2 = (colorVects[i].y == 1 && rawinfo.Data[c+1] > 200);
|
||||
if (!p2)
|
||||
{
|
||||
p2 = (colorVects[i].y == 0 && rawinfo.Data[c+1] < 32);
|
||||
if (!p2)
|
||||
{
|
||||
p2 = (colorVects[i].y == 0.5f && rawinfo.Data[c+1] > 96 && rawinfo.Data[c+1] < 164);
|
||||
}
|
||||
}
|
||||
p3 = (colorVects[i].z == 1 && rawinfo.Data[c+2] > 200);
|
||||
if (!p3)
|
||||
p3 = (colorVects[i].z == 0 && rawinfo.Data[c+2] < 32);
|
||||
*/
|
||||
|
||||
if (p1 && p2 && p3)
|
||||
{
|
||||
lastColorX[i] = x;
|
||||
|
@ -1942,63 +1846,25 @@ void SceneEditor::generateLevel()
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
else if (checkPixel(1, 0, 0))
|
||||
{
|
||||
lastColorX[RED] = x;
|
||||
lastColorY[RED] = y;
|
||||
if (firstColorX[RED] == -1)
|
||||
{
|
||||
firstColorX[RED] = x;
|
||||
firstColorY[RED] = y;
|
||||
}
|
||||
}
|
||||
*/
|
||||
/*
|
||||
else if ( rawinfo.Data[c] > 200 &&
|
||||
rawinfo.Data[c+1] < 32 &&
|
||||
rawinfo.Data[c+2] < 32)
|
||||
{
|
||||
|
||||
}
|
||||
else if (rawinfo.
|
||||
*/
|
||||
|
||||
|
||||
c += rawinfo.Components;
|
||||
if ((e==0 && firstRowElement) || (firstRowElement && rowCount >= maxRowCount && hasLastElement)
|
||||
|| (firstRowElement && x == rawinfo.Width-1))
|
||||
{
|
||||
/*
|
||||
if (x == rawinfo.Width-1)
|
||||
row.x2 = rawinfo.Width-1;
|
||||
else
|
||||
{
|
||||
*/
|
||||
// HACK: it crashes here:
|
||||
// because lastElement is garbage data
|
||||
// fixed!
|
||||
|
||||
|
||||
|
||||
if (hasLastElement)
|
||||
row.x2 = lastElement.x;
|
||||
//}
|
||||
|
||||
|
||||
hasLastElement = false;
|
||||
firstRowElement = 0;
|
||||
|
||||
bool add = true;
|
||||
/*
|
||||
for (int i = 0; i < rows.size(); i++)
|
||||
{
|
||||
if (rows[i].x1 == row.x1 && rows[i].x2 == row.x2)
|
||||
{
|
||||
if (abs(rows[i].y - row.y) <= TILE_SIZE+1)
|
||||
{
|
||||
rows[i].rows++;
|
||||
add = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
if (add)
|
||||
rows.push_back(row);
|
||||
}
|
||||
|
@ -2025,7 +1891,7 @@ void SceneEditor::generateLevel()
|
|||
for (i = 0; i < rows.size(); i++)
|
||||
{
|
||||
int w = rows[i].x2 - rows[i].x1;
|
||||
//int h = scale * rows[i].rows;
|
||||
|
||||
int useY = rows[i].y;
|
||||
if (rows[i].rows > 1)
|
||||
{
|
||||
|
@ -2083,7 +1949,7 @@ void SceneEditor::generateLevel()
|
|||
this->skinMinY = 4;
|
||||
this->skinMaxX = maxX;
|
||||
this->skinMaxY = maxY;
|
||||
//skinLevel(&rawinfo, 4, 4, maxX, maxY);
|
||||
|
||||
if (rawinfo.Data != NULL)
|
||||
free(rawinfo.Data);
|
||||
}
|
||||
|
@ -2246,9 +2112,7 @@ void SceneEditor::action(int id, int state)
|
|||
this->bgLayer = newLayer;
|
||||
|
||||
}
|
||||
/*
|
||||
Vector multiSelectPoint, secondMultiSelectPoint;
|
||||
*/
|
||||
|
||||
if (id == ACTION_MULTISELECT && this->state == ES_SELECTING)
|
||||
{
|
||||
if (state)
|
||||
|
@ -2350,7 +2214,7 @@ void destroyEntityPage()
|
|||
}
|
||||
if (se_grad)
|
||||
{
|
||||
//se_grad->safeKill();
|
||||
|
||||
se_grad->setLife(1);
|
||||
se_grad->setDecayRate(10);
|
||||
se_grad->fadeAlphaWithLife = 1;
|
||||
|
@ -2373,8 +2237,8 @@ void createEntityPage()
|
|||
destroyEntityPage();
|
||||
|
||||
se_grad = new Quad();
|
||||
//Gradient()
|
||||
//se_grad->makeHorizontal(Vector(0,0,0.3), Vector(0,0,0.1));
|
||||
|
||||
|
||||
se_grad->scale = Vector(800, 500);
|
||||
se_grad->position = Vector(400,350);
|
||||
se_grad->followCamera = 1;
|
||||
|
@ -2424,7 +2288,7 @@ void createEntityPage()
|
|||
{
|
||||
q->setWidthHeight((q->getWidth()*sizing) / q->getHeight(), sizing);
|
||||
}
|
||||
//q->setWidthHeight(sizing, sizing);
|
||||
|
||||
q->followCamera = 1;
|
||||
dsq->game->addRenderObject(q, LR_HUD);
|
||||
qs.push_back(q);
|
||||
|
@ -2826,7 +2690,7 @@ void SceneEditor::cloneSelectedElement()
|
|||
Element *e = dsq->game->createElement(e1->templateIdx, placer->position + Vector(40,40), e1->bgLayer, e1);
|
||||
e->elementFlag = e1->elementFlag;
|
||||
e->setElementEffectByIndex(e1->getElementEffectIndex());
|
||||
//e->repeatTextureToFill(e1->isRepeatingTextureToFill());
|
||||
|
||||
}
|
||||
dsq->game->reconstructGrid();
|
||||
}
|
||||
|
@ -2890,7 +2754,7 @@ void SceneEditor::toggle(bool on)
|
|||
movingEntity = 0;
|
||||
dsq->toggleCursor(true);
|
||||
dsq->setCursor(CURSOR_NORMAL);
|
||||
//core->flags.set(CF_CLEARBUFFERS);
|
||||
|
||||
|
||||
dsq->darkLayer.toggle(false);
|
||||
|
||||
|
@ -2911,7 +2775,7 @@ void SceneEditor::toggle(bool on)
|
|||
else
|
||||
{
|
||||
btnMenu->alpha = 0;
|
||||
//dsq->game->reconstructGrid();
|
||||
|
||||
selectedElements.clear();
|
||||
for (int i = 0; i < 9; i++)
|
||||
dsq->getRenderObjectLayer(LR_ELEMENTS1+i)->visible = true;
|
||||
|
@ -2928,7 +2792,7 @@ void SceneEditor::toggle(bool on)
|
|||
dsq->game->avatar->enableInput();
|
||||
text->alpha.interpolateTo(0, 0.2);
|
||||
placer->alpha.interpolateTo(0, 0.2);
|
||||
//core->flags.unset(CF_CLEARBUFFERS);
|
||||
|
||||
dsq->darkLayer.toggle(true);
|
||||
|
||||
dsq->game->rebuildElementUpdateList();
|
||||
|
@ -2950,8 +2814,8 @@ void SceneEditor::updateText()
|
|||
std::ostringstream os;
|
||||
os << dsq->game->sceneName << " bgL[" << bgLayer << "] (" <<
|
||||
(int)dsq->cameraPos.x << "," << (int)dsq->cameraPos.y << ") ("
|
||||
//<< (int)dsq->game->avatar->position.x
|
||||
//<< "," << (int)dsq->game->avatar->position.y << "," << (int)dsq->game->avatar->position.z << ")" << " ("
|
||||
|
||||
|
||||
<< (int)dsq->getGameCursorPosition().x << "," << (int)dsq->getGameCursorPosition().y << ")" << " ";
|
||||
switch(editType)
|
||||
{
|
||||
|
@ -3206,7 +3070,7 @@ void SceneEditor::update(float dt)
|
|||
smallestDist = dist;
|
||||
selectedIdx = i;
|
||||
selectedNode = n;
|
||||
//return;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3394,7 +3258,7 @@ void SceneEditor::update(float dt)
|
|||
}
|
||||
else
|
||||
{
|
||||
//editingElement->scale=oldScale + add;
|
||||
|
||||
editVec = (repeatScale ? oldRepeatScale : oldScale) + add;
|
||||
if (!uni && !repeatScale)
|
||||
{
|
||||
|
|
|
@ -50,12 +50,8 @@ SchoolFish::SchoolFish(const std::string &texname) : FlockEntity()
|
|||
float randScale = float(rand()%200)/1000.0f;
|
||||
scale = Vector(0.6f-randScale, 0.6f-randScale);
|
||||
|
||||
/*
|
||||
float randColor = float(rand()%250)/1000.0f;
|
||||
color = Vector(1-randColor, 1-randColor, 1-randColor);
|
||||
*/
|
||||
|
||||
//color.interpolateTo(Vector(0.5, 0.5, 0.5), 2, -1, 1);
|
||||
|
||||
color.ensureData();
|
||||
color.data->path.addPathNode(Vector(1,1,1), 0);
|
||||
color.data->path.addPathNode(Vector(1,1,1), 0.5);
|
||||
|
@ -72,30 +68,24 @@ SchoolFish::SchoolFish(const std::string &texname) : FlockEntity()
|
|||
setEntityType(ET_ENEMY);
|
||||
canBeTargetedByAvatar = true;
|
||||
health = maxHealth = 1;
|
||||
//scale = Vector(0.5, 0.5);
|
||||
|
||||
avoidTime=0;
|
||||
vel = Vector(-minUrgency, 0);
|
||||
setTexture(texname);
|
||||
flockType = FLOCK_FISH;
|
||||
//updateCull = -1;
|
||||
|
||||
updateCull = 4000;
|
||||
collideRadius = 20;
|
||||
|
||||
//2 32 0.1 0.1 -0.03 0 4 0
|
||||
|
||||
setSegs(8, 2, 0.1, 0.9, 0, -0.03, 8, 0);
|
||||
|
||||
/*
|
||||
setDamageTarget(DT_AVATAR_SPORECHILD, false);
|
||||
setDamageTarget(DT_AVATAR_ENERGYBLAST, false);
|
||||
*/
|
||||
//setAllDamageTargets(true);
|
||||
|
||||
|
||||
setDamageTarget(DT_AVATAR_LIZAP, false);
|
||||
/*
|
||||
setDamageTarget(DT_AVATAR_ENERGYBLAST, false);
|
||||
setDamageTarget(DT_AVATAR_SHOCK, false);
|
||||
*/
|
||||
//setDamageTarget(DT_AVATAR_BITE, true);
|
||||
// updateCull = 10248;
|
||||
|
||||
|
||||
|
||||
targetPriority = -1;
|
||||
|
||||
setEatType(EAT_FILE, "SchoolFish");
|
||||
|
@ -111,7 +101,7 @@ void SchoolFish::onEnterState(int action)
|
|||
Entity::onEnterState(action);
|
||||
if (action == STATE_DEAD)
|
||||
{
|
||||
//rotation.interpolateTo(Vector(0,0,180), 2);
|
||||
|
||||
vel.setLength2D(vel.getLength2D()*-1);
|
||||
|
||||
oldFlockID = flock ? flock->flockID : -1;
|
||||
|
@ -119,24 +109,11 @@ void SchoolFish::onEnterState(int action)
|
|||
|
||||
doDeathEffects(0, false);
|
||||
|
||||
/*
|
||||
alpha = 0;
|
||||
alphaMod = 0;
|
||||
*/
|
||||
|
||||
respawnTimer = 20 + rand()%20;
|
||||
alphaMod = 0;
|
||||
/*
|
||||
this->setLife(2);
|
||||
this->setDecayRate(1);
|
||||
this->fadeAlphaWithLife = true;
|
||||
*/
|
||||
|
||||
/*
|
||||
dsq->game->spawnIngredient("FishOil", position, 10);
|
||||
dsq->game->spawnIngredient("FishMeat", position, 10);
|
||||
dsq->game->spawnIngredient("SmallEgg", position, 10);
|
||||
dsq->game->spawnIngredient("PlantLeaf", position, 60);
|
||||
*/
|
||||
|
||||
|
||||
if (!isGoingToBeEaten())
|
||||
{
|
||||
|
@ -182,54 +159,27 @@ void SchoolFish::updateVelocity(Vector &accumulator)
|
|||
vel.z = 0;
|
||||
if (fabsf(vel.y) > fabsf(vel.x))
|
||||
{
|
||||
/*
|
||||
float sign = vel.y / fabsf(vel.y);
|
||||
vel.y = fabsf(vel.x) * sign;
|
||||
*/
|
||||
//std::swap(vel.x, vel.y);
|
||||
// going up
|
||||
/*
|
||||
float len = vel.getLength2D();
|
||||
if (vel.y < 0)
|
||||
{
|
||||
if (vel.x < 0)
|
||||
vel.y = vel.x;
|
||||
else
|
||||
vel.y = -vel.x;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vel.x < 0)
|
||||
vel.y = -vel.x;
|
||||
else
|
||||
vel.y = vel.x;
|
||||
}
|
||||
vel.setLength2D(len);
|
||||
*/
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
void SchoolFish::avoid(Vector &accumulator, Vector pos, bool inv)
|
||||
{
|
||||
//accumulator = Vector(0,0,0);
|
||||
|
||||
Vector change;
|
||||
if (inv)
|
||||
change = pos - this->position;
|
||||
else
|
||||
change = this->position - pos;
|
||||
//change = position;
|
||||
//change -= this->position;
|
||||
change.setLength2D(maxUrgency);
|
||||
//change |= maxUrgency;
|
||||
|
||||
//change = Vector(100,0);
|
||||
//avoidTime = 2;
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "change(" << change.x << ", " << change.y << ")";
|
||||
debugLog (os.str());
|
||||
*/
|
||||
|
||||
change.setLength2D(maxUrgency);
|
||||
|
||||
|
||||
|
||||
accumulator += change;
|
||||
}
|
||||
|
||||
|
@ -256,7 +206,6 @@ void SchoolFish::applyAvoidance(Vector &accumulator)
|
|||
}
|
||||
|
||||
|
||||
//return;
|
||||
|
||||
if (avoidTime>0) return;
|
||||
|
||||
|
@ -285,7 +234,7 @@ void SchoolFish::applyAvoidance(Vector &accumulator)
|
|||
const float tileMult = (float)TILE_SIZE / (float)obsCount;
|
||||
Vector change(obsSumX*tileMult, obsSumY*tileMult);
|
||||
change += position - t0.worldVector();
|
||||
//change |= 200;
|
||||
|
||||
|
||||
float dist = change.getLength2D();
|
||||
float ratio = dist / radius;
|
||||
|
@ -346,7 +295,7 @@ void SchoolFish::applyCohesion(Vector &accumulator)
|
|||
change = dsq->game->avatar->position - position;
|
||||
change.setLength2D(maxUrgency*strengthCohesion);
|
||||
accumulator += change;
|
||||
//avoid(accumulator, dsq->game->avatar->position, true);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -382,47 +331,8 @@ void SchoolFish::applySeparation(Vector &accumulator)
|
|||
void SchoolFish::onUpdate(float dt)
|
||||
{
|
||||
BBGE_PROF(SchoolFish_onUpdate);
|
||||
/*
|
||||
Quad::onUpdate(dt);
|
||||
return;
|
||||
*/
|
||||
|
||||
/*
|
||||
if (dsq->continuity.form == FORM_BEAST)
|
||||
this->activationType = ACT_CLICK;
|
||||
else
|
||||
this->activationType = ACT_NONE;
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
if (burstDelay == 0)
|
||||
{
|
||||
maxSpeedLerp = 2;
|
||||
Vector v = getNormal();
|
||||
vel = 0;
|
||||
v *= -5000;
|
||||
vel += v;
|
||||
//float t = (100 + rand()%100)/100.0f;
|
||||
float t = 2;
|
||||
maxSpeedLerp.interpolateTo(1, t);
|
||||
burstDelay = 10;// + (rand()%100)/100.0f;
|
||||
//rotateToVec(v, 0, 90);
|
||||
//rotation.interpolateTo(0, 1);
|
||||
|
||||
if (v.x > 0 && !isfh())
|
||||
{
|
||||
flipHorizontal();
|
||||
flipDelay = 0.5;
|
||||
}
|
||||
if (v.x < 0 && isfh())
|
||||
{
|
||||
flipHorizontal();
|
||||
flipDelay = 0.5;
|
||||
}
|
||||
}
|
||||
else
|
||||
*/
|
||||
|
||||
{
|
||||
burstDelay -= dt;
|
||||
|
@ -437,13 +347,8 @@ void SchoolFish::onUpdate(float dt)
|
|||
|
||||
if (this->layer < LR_ENTITIES)
|
||||
{
|
||||
//debugLog("background fish!");
|
||||
/*
|
||||
setDamageTarget(DT_AVATAR_SHOCK, false);
|
||||
setDamageTarget(DT_AVATAR_BITE, false);
|
||||
setDamageTarget(DT_AVATAR_VOMIT, false);
|
||||
setDamageTarget(DT_AVATAR_ENERGYBLAST, false);
|
||||
*/
|
||||
|
||||
|
||||
setEntityType(ET_NEUTRAL);
|
||||
collideRadius = 0;
|
||||
}
|
||||
|
@ -463,18 +368,7 @@ void SchoolFish::onUpdate(float dt)
|
|||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
if (layer == LR_ENTITIES || layer == LR_ENTITIES2)
|
||||
{
|
||||
rippleTimer -= dt;
|
||||
if (rippleTimer < 0)
|
||||
{
|
||||
if (core->afterEffectManager)
|
||||
core->afterEffectManager->addEffect(new ShockEffect(Vector(core->width/2, core->height/2),position,0.04,0.06,15,0.2f));
|
||||
rippleTimer = 0.5;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
FlockEntity::onUpdate(dt);
|
||||
|
||||
|
@ -482,31 +376,7 @@ void SchoolFish::onUpdate(float dt)
|
|||
dsq->game->handleShotCollisions(this);
|
||||
|
||||
|
||||
/*
|
||||
soundDelay -= dt;
|
||||
if (soundDelay <= 0)
|
||||
{
|
||||
//sound(swimSound, 1000 + rand()%100);
|
||||
soundDelay = 4+(rand()%50)/100.0f;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
1. if distance_to(closest_boid) <= too_close then set direction away from closest_boid
|
||||
2. speed_of_neighbors := average(speed(x), for all x where distance_to(x) <= neighborhood_size)
|
||||
direction_of_neighbors := avg(direction(x), for all x where distance_to(x) <= neighborhood_size)
|
||||
if speed < speed_of_neighbors then increase speed
|
||||
if speed > speed_of_neighbors then decrease speed
|
||||
turn towards direction_of_neighbors
|
||||
3. position_of_neighbors := avg(position(x), for all x where distance_to(x) <= neighborhood_size)
|
||||
turn towards position_of_neighbors
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
FlockPiece flock;
|
||||
getFlockInRange(160, &flock);
|
||||
*/
|
||||
// if flock in 160 ?
|
||||
if (true)
|
||||
{
|
||||
VectorSet newDirection;
|
||||
|
@ -530,10 +400,6 @@ void SchoolFish::onUpdate(float dt)
|
|||
applyAvoidance(accumulator);
|
||||
updateVelocity(accumulator);
|
||||
|
||||
/*
|
||||
if (dsq->game->isValidTarget(this, 0))
|
||||
doSpellAvoidance(dt, 96, dodgeAbility);
|
||||
*/
|
||||
|
||||
|
||||
Vector lastPosition = position;
|
||||
|
@ -542,57 +408,21 @@ void SchoolFish::onUpdate(float dt)
|
|||
if (dsq->game->isObstructed(position))
|
||||
{
|
||||
position = lastPosition;
|
||||
/*
|
||||
Vector newPosition = position;
|
||||
position = Vector(newPosition.x, lastPosition.y);
|
||||
if (dsq->game->isObstructed(position))
|
||||
{
|
||||
position = Vector(lastPosition.x, newPosition.y);
|
||||
if (dsq->game->isObstructed(position))
|
||||
{
|
||||
position = lastPosition;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
//updateCurrents(dt);
|
||||
|
||||
updateVel2(dt);
|
||||
|
||||
|
||||
/*
|
||||
if (flipDelay > 0)
|
||||
{
|
||||
flipDelay -= dt;
|
||||
if (flipDelay < 0)
|
||||
{
|
||||
flipDelay = 0;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
flipDelay = 0;
|
||||
|
||||
//dir.normalize2D();
|
||||
|
||||
if (flipDelay <= 0)
|
||||
{
|
||||
const float amt = 0;
|
||||
/*
|
||||
|
||||
if (fabsf(dir.x) > fabsf(dir.y))
|
||||
{
|
||||
if (dir.x > amt && !isfh())
|
||||
{
|
||||
flipHorizontal();
|
||||
flipDelay = 0.5;
|
||||
}
|
||||
if (dir.x < -amt && isfh())
|
||||
{
|
||||
flipHorizontal();
|
||||
flipDelay = 0.5;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if (vel.x > amt && !isfh())
|
||||
{
|
||||
flipHorizontal();
|
||||
|
@ -604,7 +434,6 @@ void SchoolFish::onUpdate(float dt)
|
|||
}
|
||||
|
||||
|
||||
//rotateToVec(accumulator, 5, 90);
|
||||
|
||||
float angle = atan2f(dir.x<0 ? -dir.y : dir.y, fabsf(dir.x));
|
||||
angle = ((angle*180)/PI);
|
||||
|
@ -617,7 +446,7 @@ void SchoolFish::onUpdate(float dt)
|
|||
|
||||
rotation = Vector(0,0,angle);
|
||||
|
||||
//rotation.interpolateTo(Vector(0, 0, angle), 0);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -626,19 +455,6 @@ void SchoolFish::onUpdate(float dt)
|
|||
void SchoolFish::onRender()
|
||||
{
|
||||
FlockEntity::onRender();
|
||||
/*
|
||||
glDisable(GL_BLEND);
|
||||
glPointSize(12);
|
||||
glDisable(GL_LIGHTING);
|
||||
glColor3f(1,1,1);
|
||||
glBegin(GL_POINTS);
|
||||
|
||||
glVertex3f(0,0,0);
|
||||
glEnd();
|
||||
glBegin(GL_LINES);
|
||||
glVertex3f(0,0,0);
|
||||
glVertex3f(vel.x*50, vel.y*50, 0);
|
||||
glEnd();
|
||||
*/
|
||||
}
|
||||
|
||||
|
|
|
@ -2108,7 +2108,7 @@ luaFunc(getNoteColor)
|
|||
|
||||
luaFunc(getRandNote)
|
||||
{
|
||||
//int note = lua_tointeger(L, 1);
|
||||
|
||||
|
||||
luaReturnNum(dsq->getRandNote());
|
||||
}
|
||||
|
@ -2230,11 +2230,7 @@ luaFunc(shot_setOut)
|
|||
Vector adjust = shot->velocity;
|
||||
adjust.setLength2D(outness);
|
||||
shot->position += adjust;
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "out(" << adjust.x << ", " << adjust.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
}
|
||||
luaReturnNil();
|
||||
}
|
||||
|
@ -2693,7 +2689,7 @@ luaFunc(entity_getBoneLockEntity)
|
|||
{
|
||||
BoneLock *b = e->getBoneLock();
|
||||
ent = b->entity;
|
||||
//ent = e->boneLock.entity;
|
||||
|
||||
}
|
||||
luaReturnPtr(ent);
|
||||
}
|
||||
|
@ -2953,11 +2949,7 @@ luaFunc(isWithin)
|
|||
Vector v1 = getVector(L, 1);
|
||||
Vector v2 = getVector(L, 3);
|
||||
float dist = lua_tonumber(L, 5);
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "v1(" << v1.x << ", " << v1.y << ") v2(" << v2.x << ", " << v2.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
Vector d = v2-v1;
|
||||
bool v = false;
|
||||
if (d.isLength2DIn(dist))
|
||||
|
@ -4049,29 +4041,13 @@ luaFunc(entity_isNearGround)
|
|||
Vector v = dsq->game->getWallNormal(e->position, sampleArea);
|
||||
if (!v.isZero())
|
||||
{
|
||||
//if (v.y < -0.5f && fabsf(v.x) < 0.4f)
|
||||
|
||||
if (v.y < 0 && fabsf(v.x) < 0.6f)
|
||||
{
|
||||
value = true;
|
||||
}
|
||||
}
|
||||
/*
|
||||
Vector v = e->position + Vector(0,e->collideRadius + TILE_SIZE/2);
|
||||
std::ostringstream os;
|
||||
os << "checking (" << v.x << ", " << v.y << ")";
|
||||
debugLog(os.str());
|
||||
TileVector t(v);
|
||||
TileVector c;
|
||||
for (int i = -5; i < 5; i++)
|
||||
{
|
||||
c.x = t.x+i;
|
||||
c.y = t.y;
|
||||
if (dsq->game->isObstructed(t))
|
||||
{
|
||||
value = true;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
luaReturnBool(value);
|
||||
}
|
||||
|
@ -4680,7 +4656,7 @@ luaFunc(savePoint)
|
|||
Vector position;
|
||||
if (p)
|
||||
{
|
||||
//dsq->game->avatar->moveToNode(p, 0, 0, 1);
|
||||
|
||||
position = p->nodes[0].position;
|
||||
}
|
||||
|
||||
|
@ -4818,7 +4794,7 @@ luaFunc(entity_damage)
|
|||
if (e)
|
||||
{
|
||||
DamageData d;
|
||||
//d.attacker = e;
|
||||
|
||||
d.attacker = lua_isuserdata(L, 2) ? entity(L, 2) : NULL;
|
||||
d.damage = lua_tonumber(L, 3);
|
||||
d.damageType = (DamageType)lua_tointeger(L, 4);
|
||||
|
@ -4991,11 +4967,7 @@ luaFunc(decrFlag)
|
|||
|
||||
luaFunc(setFlag)
|
||||
{
|
||||
/*
|
||||
if (lua_isstring(L, 1))
|
||||
dsq->continuity.setFlag(lua_tostring(L, 1), lua_tonumber(L, 2));
|
||||
else
|
||||
*/
|
||||
|
||||
dsq->continuity.setFlag(lua_tointeger(L, 1), lua_tointeger(L, 2));
|
||||
luaReturnNil();
|
||||
}
|
||||
|
@ -5003,11 +4975,7 @@ luaFunc(setFlag)
|
|||
luaFunc(getFlag)
|
||||
{
|
||||
int v = 0;
|
||||
/*
|
||||
if (lua_isstring(L, 1))
|
||||
v = dsq->continuity.getFlag(lua_tostring(L, 1));
|
||||
else if (lua_isnumber(L, 1))
|
||||
*/
|
||||
|
||||
v = dsq->continuity.getFlag(lua_tointeger(L, 1));
|
||||
|
||||
luaReturnNum(v);
|
||||
|
@ -6688,7 +6656,7 @@ luaFunc(playMusic)
|
|||
luaFunc(playMusicStraight)
|
||||
{
|
||||
dsq->sound->setMusicFader(1,0);
|
||||
dsq->sound->playMusic(getString(L, 1), SLT_LOOP, SFT_IN, 0.5); //SFT_IN, 0.1);//, SFT_IN, 0.2);
|
||||
dsq->sound->playMusic(getString(L, 1), SLT_LOOP, SFT_IN, 0.5);
|
||||
luaReturnNil();
|
||||
}
|
||||
|
||||
|
@ -6813,7 +6781,7 @@ luaFunc(entity_adjustPositionBySurfaceNormal)
|
|||
e->position += v;
|
||||
}
|
||||
e->setv(EV_CRAWLING, 0);
|
||||
//e->setCrawling(false);
|
||||
|
||||
}
|
||||
luaReturnNil();
|
||||
}
|
||||
|
@ -6827,16 +6795,10 @@ luaFunc(entity_moveAlongSurface)
|
|||
{
|
||||
e->lastPosition = e->position;
|
||||
|
||||
//if (!e->position.isInterpolating())
|
||||
|
||||
{
|
||||
|
||||
|
||||
/*
|
||||
if (dsq->game->isObstructed(TileVector(e->position)))
|
||||
{
|
||||
e->moveOutOfWall();
|
||||
}
|
||||
*/
|
||||
|
||||
Vector v;
|
||||
if (e->ridingOnEntity)
|
||||
|
@ -6846,58 +6808,22 @@ luaFunc(entity_moveAlongSurface)
|
|||
}
|
||||
else
|
||||
v = dsq->game->getWallNormal(e->position);
|
||||
//int outFromWall = lua_tointeger(L, 5);
|
||||
|
||||
int outFromWall = e->getv(EV_WALLOUT);
|
||||
bool invisibleIn = e->isSittingOnInvisibleIn();
|
||||
|
||||
/*
|
||||
if (invisibleIn)
|
||||
debugLog("Found invisibleIn");
|
||||
else
|
||||
debugLog("NOT FOUND");
|
||||
*/
|
||||
|
||||
/*
|
||||
for (int x = -2; x < 2; x++)
|
||||
{
|
||||
for (int y = -2; y< 2; y++)
|
||||
{
|
||||
if (dsq->game->getGrid(TileVector(x,y))== OT_INVISIBLEIN)
|
||||
{
|
||||
debugLog("found invisible in");
|
||||
invisibleIn = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
if (invisibleIn)
|
||||
outFromWall -= TILE_SIZE;
|
||||
float t = 0.1;
|
||||
e->offset.interpolateTo(v*outFromWall, t);
|
||||
/*
|
||||
if (outFromWall)
|
||||
{
|
||||
//e->lastWallOffset = dsq->game->getWallNormal(e->position)*outFromWall;
|
||||
//e->offset.interpolateTo(dsq->game->getWallNormal(e->position)*outFromWall, time*2);
|
||||
//e->offset = v*outFromWall;
|
||||
|
||||
//float t = 0;
|
||||
e->offset.interpolateTo(v*outFromWall, t);
|
||||
//pos += e->lastWallOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
e->offset.interpolateTo(Vector(0,0), t);
|
||||
//e->offset.interpolateTo(Vector(0,0), time*2);
|
||||
//e->lastWallOffset = Vector(0,0);g
|
||||
}
|
||||
*/
|
||||
// HACK: make this an optional parameter?
|
||||
//e->rotateToVec(v, 0.1);
|
||||
|
||||
|
||||
float dt = lua_tonumber(L, 2);
|
||||
float speed = lua_tonumber(L, 3);
|
||||
//int climbHeight = lua_tonumber(L, 4);
|
||||
|
||||
Vector mov;
|
||||
if (e->surfaceMoveDir==1)
|
||||
mov = Vector(v.y, -v.x);
|
||||
|
@ -6910,49 +6836,8 @@ luaFunc(entity_moveAlongSurface)
|
|||
|
||||
e->vel = 0;
|
||||
|
||||
/*
|
||||
float adjustbit = float(speed)/float(TILE_SIZE);
|
||||
if (e->isNearObstruction(0))
|
||||
{
|
||||
Vector n = dsq->game->getWallNormal(e->position);
|
||||
if (!n.isZero())
|
||||
{
|
||||
Vector sp = e->position;
|
||||
e->position += n * adjustbit * dt;
|
||||
}
|
||||
}
|
||||
if (!e->isNearObstruction(1))
|
||||
{
|
||||
Vector n = dsq->game->getWallNormal(e->position);
|
||||
if (!n.isZero())
|
||||
{
|
||||
Vector sp = e->position;
|
||||
e->position -= n * adjustbit * dt;
|
||||
}
|
||||
}
|
||||
*/
|
||||
/*
|
||||
Vector sp = e->position;
|
||||
e->clampToSurface();
|
||||
*/
|
||||
/*
|
||||
e->position = sp;
|
||||
e->internalOffset.interpolateTo(e->position-sp, 0.2);
|
||||
*/
|
||||
/*
|
||||
e->position = e->lastPosition;
|
||||
e->position.interpolateTo(to*0.5f + e->position*0.5f, 0.5);
|
||||
*/
|
||||
/*
|
||||
Vector to = e->position;
|
||||
e->position = e->lastPosition;
|
||||
e->position.interpolateTo(to, 0.5);
|
||||
*/
|
||||
/*
|
||||
e->position = sp;
|
||||
e->internalOffset.interpolateTo(e->position - sp, 0.2);
|
||||
*/
|
||||
//e->clampToSurface(0.1);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6961,7 +6846,7 @@ luaFunc(entity_moveAlongSurface)
|
|||
|
||||
luaFunc(entity_rotateToSurfaceNormal)
|
||||
{
|
||||
//ScriptedEntity *e = scriptedEntity(L);
|
||||
|
||||
Entity *e = entity(L);
|
||||
float t = lua_tonumber(L, 2);
|
||||
int n = lua_tointeger(L, 3);
|
||||
|
@ -6970,7 +6855,7 @@ luaFunc(entity_rotateToSurfaceNormal)
|
|||
{
|
||||
e->rotateToSurfaceNormal(t, n, rot);
|
||||
}
|
||||
//Entity *e = entity(L);
|
||||
|
||||
|
||||
luaReturnNil();
|
||||
}
|
||||
|
@ -7219,11 +7104,7 @@ luaFunc(entity_pullEntities)
|
|||
Vector pull = pos - ent->position;
|
||||
pull.setLength2D(float(len) * dt);
|
||||
ent->vel2 += pull;
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "ent: " << ent->name << " + (" << pull.x << ", " << pull.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7267,7 +7148,7 @@ luaFunc(entity_isRidingOnEntity)
|
|||
luaReturnPtr(NULL);
|
||||
}
|
||||
|
||||
//entity_setProperty(me, EP_SOLID, true)
|
||||
|
||||
luaFunc(entity_isProperty)
|
||||
{
|
||||
Entity *e = entity(L);
|
||||
|
@ -7279,7 +7160,7 @@ luaFunc(entity_isProperty)
|
|||
luaReturnBool(v);
|
||||
}
|
||||
|
||||
//entity_setProperty(me, EP_SOLID, true)
|
||||
|
||||
luaFunc(entity_setProperty)
|
||||
{
|
||||
Entity *e = entity(L);
|
||||
|
@ -7335,10 +7216,7 @@ luaFunc(entity_hurtTarget)
|
|||
d.damage = lua_tointeger(L, 2);
|
||||
e->getTargetEntity(e->currentEntityTarget)->damage(d);
|
||||
}
|
||||
/*
|
||||
if (e && e->getTargetEntity())
|
||||
e->getTargetEntity(e->currentEntityTarget)->damage(lua_tointeger(L, 2), 0, e);
|
||||
*/
|
||||
|
||||
luaReturnNil();
|
||||
}
|
||||
|
||||
|
@ -8194,7 +8072,7 @@ luaFunc(entity_getTarget)
|
|||
if (e)
|
||||
{
|
||||
retEnt = e->getTargetEntity(lua_tonumber(L, 2));
|
||||
//e->activate();
|
||||
|
||||
}
|
||||
luaReturnPtr(retEnt);
|
||||
}
|
||||
|
@ -8815,11 +8693,7 @@ luaFunc(entity_getFlag)
|
|||
luaFunc(isFlag)
|
||||
{
|
||||
int v = 0;
|
||||
/*
|
||||
if (lua_isstring(L, 1))
|
||||
v = dsq->continuity.getFlag(lua_tostring(L, 1));
|
||||
else if (lua_isnumber(L, 1))
|
||||
*/
|
||||
|
||||
bool f = false;
|
||||
if (lua_isnumber(L, 1))
|
||||
{
|
||||
|
@ -8831,11 +8705,7 @@ luaFunc(isFlag)
|
|||
v = dsq->continuity.getFlag(getString(L, 1));
|
||||
f = (v == lua_tointeger(L, 2));
|
||||
}
|
||||
/*
|
||||
int f = 0;
|
||||
dsq->continuity.getFlag(lua_tostring(L, 1));
|
||||
|
||||
*/
|
||||
luaReturnBool(f);
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ ScriptedEntity::ScriptedEntity(const std::string &scriptName, Vector position, E
|
|||
strandSpacing = 10;
|
||||
animKeyFunc = true;
|
||||
canShotHitFunc = true;
|
||||
//runningActivation = false;
|
||||
|
||||
|
||||
setEntityType(et);
|
||||
myTimer = 0;
|
||||
|
@ -231,7 +231,7 @@ void ScriptedEntity::setupEntity(const std::string &tex, int lcode)
|
|||
|
||||
void ScriptedEntity::setupBasicEntity(const std::string& texture, int health, int manaBall, int exp, int money, float collideRadius, int state, int w, int h, int expType, bool hitEntity, int updateCull, int layer)
|
||||
{
|
||||
//this->updateCull = updateCull;
|
||||
|
||||
updateCull = -1;
|
||||
|
||||
if (texture.empty())
|
||||
|
@ -326,7 +326,7 @@ void ScriptedEntity::onAlwaysUpdate(float dt)
|
|||
e->sound("RockHit");
|
||||
dsq->spawnParticleEffect("rockhit", e->position, 0, 0);
|
||||
}
|
||||
//e->push(vel, 0.2, 500, 0);
|
||||
|
||||
Vector add = vel;
|
||||
add.setLength2D(5000*dt);
|
||||
e->vel += add;
|
||||
|
@ -354,7 +354,7 @@ void ScriptedEntity::onAlwaysUpdate(float dt)
|
|||
}
|
||||
else if (!dist.isLength2DIn(800))
|
||||
{
|
||||
// break;
|
||||
|
||||
vel.setZero();
|
||||
dsq->game->avatar->pullTarget->stopPull();
|
||||
dsq->game->avatar->pullTarget = 0;
|
||||
|
@ -390,7 +390,7 @@ void ScriptedEntity::updateStrands(float dt)
|
|||
if (strands.empty()) return;
|
||||
float angle = rotation.z;
|
||||
angle = (PI*(360-(angle-90)))/180.0;
|
||||
//angle = (180*angle)/PI;
|
||||
|
||||
float sz = (strands.size()/2);
|
||||
for (int i = 0; i < strands.size(); i++)
|
||||
{
|
||||
|
@ -642,7 +642,7 @@ void ScriptedEntity::songNoteDone(int note, float len)
|
|||
|
||||
void ScriptedEntity::becomeSolid()
|
||||
{
|
||||
//vel = 0;
|
||||
|
||||
float oldRot = 0;
|
||||
bool doRot=false;
|
||||
Vector n = dsq->game->getWallNormal(position);
|
||||
|
|
|
@ -101,7 +101,7 @@ protected:
|
|||
void onAlwaysUpdate(float dt);
|
||||
void updateStrands(float dt);
|
||||
bool animKeyFunc;
|
||||
//void onPathEnd();
|
||||
|
||||
|
||||
void onExitTimer();
|
||||
float myTimer;
|
||||
|
|
|
@ -345,7 +345,7 @@ void Shot::loadBankShot(const std::string &ident, Shot *setter)
|
|||
{
|
||||
std::string id = ident;
|
||||
stringToLower(id);
|
||||
//setter->shotData = &shotBank[id];
|
||||
|
||||
setter->applyShotData(&shotBank[id]);
|
||||
}
|
||||
}
|
||||
|
@ -470,7 +470,7 @@ void Shot::onHitWall()
|
|||
if (!shotData->spawnEntity.empty())
|
||||
{
|
||||
dsq->game->createEntity(shotData->spawnEntity, 0, position, 0, false, "", ET_ENEMY, true);
|
||||
//(shotData->spawnEntity, 0, position, 0, false, "");
|
||||
|
||||
if (shotData->spawnEntity == "NatureFormFlowers")
|
||||
{
|
||||
dsq->game->registerSporeDrop(position, 0);
|
||||
|
@ -518,9 +518,9 @@ void Shot::reflectFromEntity(Entity *e)
|
|||
{
|
||||
firer = e;
|
||||
target = oldFirer;
|
||||
//int d = (int)dt;
|
||||
//d += DT_AVATAR;oll
|
||||
//damageType = DamageType(d);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -542,11 +542,7 @@ void Shot::targetDied(Entity *target)
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "# of shots in list: " << c;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
bool Shot::isHitEnts() const
|
||||
|
@ -585,13 +581,13 @@ void Shot::hitEntity(Entity *e, Bone *b)
|
|||
|
||||
if (damageType == DT_AVATAR_BITE)
|
||||
{
|
||||
//debugLog("Shot::hitEntity bittenEntities.push_back");
|
||||
|
||||
dsq->game->avatar->bittenEntities.push_back(e);
|
||||
}
|
||||
|
||||
bool damaged = e->damage(d);
|
||||
|
||||
// doesn't have anything to do with effectTime
|
||||
|
||||
if (shotData)
|
||||
{
|
||||
if (!damaged && checkDamageTarget && !shotData->alwaysDoHitEffects)
|
||||
|
@ -611,11 +607,11 @@ void Shot::hitEntity(Entity *e, Bone *b)
|
|||
}
|
||||
|
||||
|
||||
//debugLog("Shot hit enemy: " + e->name);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//debugLog("Shot hit 0 enemy");
|
||||
|
||||
}
|
||||
|
||||
if (doEffects)
|
||||
|
@ -640,7 +636,7 @@ void Shot::hitEntity(Entity *e, Bone *b)
|
|||
}
|
||||
}
|
||||
|
||||
//d.bone = c.bone;
|
||||
|
||||
}
|
||||
|
||||
void Shot::noSegs()
|
||||
|
@ -679,11 +675,7 @@ void Shot::setAimVector(const Vector &aim)
|
|||
{
|
||||
velocity.setLength2D(shotData->maxSpeed);
|
||||
}
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "setting aim vector(" << aim.x << ", " << aim.y << ") to vel(" << velocity.x << ", " << velocity.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void Shot::setTarget(Entity *target)
|
||||
|
@ -737,7 +729,7 @@ void Shot::onUpdate(float dt)
|
|||
{
|
||||
if (velocity.isZero())
|
||||
{
|
||||
//velocity = Vector(rand()%100-50, rand()%100-50);
|
||||
|
||||
}
|
||||
else if (velocity.isLength2DIn(maxSpeed*0.75f))
|
||||
{
|
||||
|
@ -745,18 +737,7 @@ void Shot::onUpdate(float dt)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if (!gravity.isZero())
|
||||
{
|
||||
velocity += shotData->gravity * dt;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "shotVel(" << velocity.x << ", " << velocity.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
homingness += shotData->homingIncr*dt;
|
||||
if (shotData->homingMax != 0 && homingness > shotData->homingMax)
|
||||
|
@ -779,7 +760,7 @@ void Shot::onUpdate(float dt)
|
|||
add.setLength2D(shotData->rotIncr);
|
||||
velocity += add * dt;
|
||||
}
|
||||
//emitter.update(dt);
|
||||
|
||||
if (emitter)
|
||||
{
|
||||
emitter->position = position + offset;
|
||||
|
@ -814,7 +795,7 @@ void Shot::onUpdate(float dt)
|
|||
return;
|
||||
}
|
||||
}
|
||||
//TileVector t(position);
|
||||
|
||||
Vector diff;
|
||||
if (target)
|
||||
diff = target->getTargetPoint(targetPt) - this->position;
|
||||
|
@ -846,13 +827,13 @@ void Shot::onUpdate(float dt)
|
|||
|
||||
if (!N.isZero())
|
||||
{
|
||||
//2*(-I dot N)*N + I
|
||||
|
||||
velocity = 2*(-I.dot(N))*N + I;
|
||||
velocity *= len;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// fall through
|
||||
|
||||
}
|
||||
default:
|
||||
{
|
||||
|
|
|
@ -75,9 +75,9 @@ struct ShotData
|
|||
class Shot : public Quad, public Segmented
|
||||
{
|
||||
public:
|
||||
//Shot(DamageType damageType, Entity *firer, Vector pos, Entity *target, std::string tex="", float homingness=1000, int maxSpeed=400, int segments=10, float segMin=0.1, float segMax=5, float damage = 1, float lifeTime = 0);
|
||||
|
||||
Shot();
|
||||
//void destroy();
|
||||
|
||||
void reflectFromEntity(Entity *e);
|
||||
void setParticleEffect(const std::string &particleEffect);
|
||||
typedef std::vector<Shot*> Shots;
|
||||
|
@ -156,7 +156,7 @@ public:
|
|||
Beam(Vector pos, float angle);
|
||||
typedef std::list<Beam*> Beams;
|
||||
static Beams beams;
|
||||
//static void targetDied(Entity *t);
|
||||
|
||||
static void killAllBeams();
|
||||
|
||||
float angle;
|
||||
|
|
|
@ -68,7 +68,7 @@ void Spore::destroy()
|
|||
|
||||
void Spore::onEndOfLife()
|
||||
{
|
||||
//::onEndLife();
|
||||
|
||||
spores.remove(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,15 +28,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
Bubble::Bubble() : Quad()
|
||||
{
|
||||
setTexture("particles/bubble");
|
||||
/*
|
||||
this->life = 10;
|
||||
this->decayRate = 1;
|
||||
*/
|
||||
|
||||
this->alpha = 0.5f;
|
||||
this->speed = rand()%10+20;
|
||||
this->width = 32;
|
||||
this->height = 32;
|
||||
//this->scale = Vector(0.5f, 0.5f, 0.5f);
|
||||
|
||||
}
|
||||
|
||||
void Bubble::onUpdate(float dt)
|
||||
|
@ -64,7 +61,7 @@ void Intro2::applyState()
|
|||
|
||||
ActionMapper::clearActions();
|
||||
|
||||
//addAction(MakeFunctionEvent(Intro2, skipIntro), KEY_ESCAPE, 0);
|
||||
|
||||
|
||||
dsq->subtitlePlayer.show(0.5f);
|
||||
|
||||
|
@ -78,8 +75,7 @@ void Intro2::applyState()
|
|||
dsq->overlay->alpha.interpolateTo(0, 40);
|
||||
dsq->toggleCursor(0);
|
||||
|
||||
// OLD WAY of skipping
|
||||
//dsq->user.control.actionSet.importAction(this, "Escape", ACTION_ESC);
|
||||
|
||||
|
||||
Quad *frame4 = new Quad;
|
||||
{
|
||||
|
@ -114,92 +110,7 @@ void Intro2::applyState()
|
|||
while (dsq->sound->isPlayingVoice())
|
||||
dsq->main(FRAME_TIME);
|
||||
|
||||
/*
|
||||
while (dsq->sound->isPlayingVoice())
|
||||
{
|
||||
if (isActing(ACTION_ESC))
|
||||
{
|
||||
while (isActing(ACTION_ESC) && dsq->sound->isPlayingVoice())
|
||||
{
|
||||
core->main(FRAME_TIME);
|
||||
}
|
||||
dsq->overlay->alpha.interpolateTo(1, 1);
|
||||
dsq->stopVoice();
|
||||
dsq->main(1);
|
||||
dsq->newGame();
|
||||
return;
|
||||
}
|
||||
core->main(FRAME_TIME);
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
Quad *frame3 = new Quad;
|
||||
{
|
||||
frame3->setTexture("gameover-0002");
|
||||
frame3->position = Vector(400,300);
|
||||
frame3->width = 600;
|
||||
frame3->height = 600;
|
||||
}
|
||||
addRenderObject(frame3, LR_BACKGROUND);
|
||||
|
||||
Quad *frame2 = new Quad;
|
||||
{
|
||||
frame2->setTexture("gameover-0003");
|
||||
frame2->position = Vector(400,300);
|
||||
frame2->width = 600;
|
||||
frame2->height = 600;
|
||||
}
|
||||
addRenderObject(frame2, LR_BACKGROUND);
|
||||
|
||||
Quad *frame1 = new Quad;
|
||||
{
|
||||
frame1->setTexture("gameover-0004");
|
||||
frame1->position = Vector(400,300);
|
||||
frame1->width = 600;
|
||||
frame1->height = 600;
|
||||
}
|
||||
addRenderObject(frame1, LR_BACKGROUND);
|
||||
*/
|
||||
|
||||
/*
|
||||
dsq->voice("Naija_Intro1");
|
||||
while (dsq->isStreamingVoice()) core->main(1);
|
||||
*/
|
||||
|
||||
/*
|
||||
frame1->alpha.interpolateTo(0, 1);
|
||||
core->main(1);
|
||||
*/
|
||||
|
||||
/*
|
||||
dsq->voice("Naija_Intro2");
|
||||
while (dsq->isStreamingVoice()) core->main(1);
|
||||
*/
|
||||
|
||||
//frame2->alpha.interpolateTo(0, 1);
|
||||
|
||||
/*
|
||||
dsq->voice("Naija_Intro3");
|
||||
while (dsq->isStreamingVoice()) core->main(1);
|
||||
*/
|
||||
|
||||
/*
|
||||
frame3->alpha.interpolateTo(0, 1);
|
||||
core->main(1);
|
||||
*/
|
||||
|
||||
/*
|
||||
dsq->voice("Naija_Intro3");
|
||||
while (dsq->isStreamingVoice()) core->main(1);
|
||||
*/
|
||||
|
||||
//frame4->alpha.interpolateTo(0, 1);
|
||||
|
||||
/*
|
||||
dsq->voice("Naija_Intro4");
|
||||
while (dsq->isStreamingVoice()) core->main(1);
|
||||
*/
|
||||
|
||||
emitter->stop();
|
||||
emitter2->start();
|
||||
|
@ -245,8 +156,8 @@ void GameOver::applyState()
|
|||
const bool frameOutputGameOver = false;
|
||||
|
||||
core->sound->fadeMusic(SFT_OUT, 1);
|
||||
//float transTime = 0.01;
|
||||
//core->sound->fadeOut(transTime);
|
||||
|
||||
|
||||
StateObject::applyState();
|
||||
core->globalScale = Vector(1,1);
|
||||
core->globalScaleChanged();
|
||||
|
@ -268,18 +179,6 @@ void GameOver::applyState()
|
|||
}
|
||||
addRenderObject(q);
|
||||
|
||||
/*
|
||||
BitmapText *b = new BitmapText(&dsq->font);
|
||||
{
|
||||
int sz = 64;
|
||||
b->setFontSize(sz);
|
||||
b->setText("GAME OVER");
|
||||
b->position = Vector(400+sz/2,300-sz/2);
|
||||
}
|
||||
addRenderObject(b);
|
||||
*/
|
||||
//core->main(transTime);
|
||||
|
||||
|
||||
|
||||
frame1 = new Quad;
|
||||
|
@ -331,11 +230,10 @@ void GameOver::applyState()
|
|||
core->afterEffectManager->addEffect(new ShockEffect(Vector(core->width/2, core->height/2),core->screenCenter, 0.07,0.03,30,0.2f, 1.1));
|
||||
}
|
||||
|
||||
//dsq->screenTransition->transition(0);
|
||||
|
||||
dsq->overlay->alpha = 0;
|
||||
|
||||
//core->main(0.1);
|
||||
//frame3->alpha.interpolateTo(0, GO_ANIM_TIME);
|
||||
|
||||
|
||||
core->main(GO_ANIM_TIME);
|
||||
frame4->alpha.interpolateTo(0, GO_ANIM_TIME);
|
||||
|
@ -351,23 +249,17 @@ void GameOver::applyState()
|
|||
core->main(GO_ANIM_TIME);
|
||||
|
||||
core->main(1.5);
|
||||
//core->sound->streamMusic("Requiem", 0);
|
||||
|
||||
|
||||
|
||||
if (dsq->recentSaveSlot != -1)
|
||||
{
|
||||
// game over recent save load
|
||||
|
||||
dsq->sound->stopMusic();
|
||||
float transferSeconds = dsq->continuity.seconds;
|
||||
dsq->continuity.loadFile(dsq->recentSaveSlot);
|
||||
|
||||
/*
|
||||
//float lastLoadSeconds = dsq->continuity.seconds;
|
||||
// time spent on a session that ended with death is the
|
||||
// difference between the current total time and the last save time?
|
||||
// nope.
|
||||
// ignore doing the above for now!
|
||||
*/
|
||||
|
||||
|
||||
dsq->continuity.seconds = transferSeconds;
|
||||
dsq->game->transitionToScene(dsq->game->sceneToLoad);
|
||||
|
@ -376,20 +268,16 @@ void GameOver::applyState()
|
|||
dsq->title();
|
||||
|
||||
|
||||
//core->main(transTime);
|
||||
|
||||
if (frameOutputGameOver)
|
||||
core->frameOutputMode = false;
|
||||
|
||||
/*
|
||||
addAction(MakeFunctionEvent(GameOver, onClick), ActionMapper::MOUSE_BUTTON_LEFT, 0);
|
||||
timer = 1;
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void GameOver::removeState()
|
||||
{
|
||||
//dsq->screenTransition->capture();
|
||||
|
||||
StateObject::removeState();
|
||||
frame3 = frame2 = frame1 = 0;
|
||||
}
|
||||
|
@ -410,30 +298,7 @@ void GameOver::update(float dt)
|
|||
timer = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
if (frame1 && frame2 && frame3)
|
||||
{
|
||||
if (frame3->alpha.x == 0 && !frame3->alpha.isInterpolating())
|
||||
{
|
||||
if (frame2->alpha.x == 0 && !frame2->alpha.isInterpolating())
|
||||
{
|
||||
if (frame1->alpha.x == 0 && !frame1->alpha.isInterpolating())
|
||||
{
|
||||
frame1=frame2=frame3=0;
|
||||
}
|
||||
else if (!frame1->alpha.isInterpolating())
|
||||
{
|
||||
frame1->alpha.interpolateTo(0, 0.8);
|
||||
|
||||
}
|
||||
}
|
||||
else if (!frame2->alpha.isInterpolating())
|
||||
{
|
||||
frame2->alpha.interpolateTo(0, GO_ANIM_TIME);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
namespace NagStuff
|
||||
|
@ -442,10 +307,7 @@ namespace NagStuff
|
|||
int ic=0;
|
||||
const int numScreens = 11;
|
||||
float screenTimer = 0;
|
||||
/*
|
||||
const float screenTime = 7;
|
||||
const float nagFadeTime = 3;
|
||||
*/
|
||||
|
||||
const float screenTime = 3;
|
||||
const float nagFadeTime = 1;
|
||||
};
|
||||
|
@ -489,8 +351,8 @@ void Nag::applyState()
|
|||
|
||||
AquariaMenuItem *buy = new AquariaMenuItem();
|
||||
buy->followCamera = 1;
|
||||
buy->position = Vector(630, 400); //300, 540);
|
||||
//buy->setLabel("Buy");
|
||||
buy->position = Vector(630, 400);
|
||||
|
||||
buy->useGlow("particles/glow", 480, 128);
|
||||
buy->event.set(MakeFunctionEvent(Nag, onBuy));
|
||||
buy->setDirMove(DIR_LEFT, buy);
|
||||
|
@ -501,7 +363,7 @@ void Nag::applyState()
|
|||
AquariaMenuItem *exit = new AquariaMenuItem();
|
||||
exit->followCamera = 1;
|
||||
exit->position = Vector(732, 543);
|
||||
//exit->setLabel("Exit");
|
||||
|
||||
exit->useGlow("particles/glow", 128, 64);
|
||||
exit->event.set(MakeFunctionEvent(Nag, onExit));
|
||||
exit->setDirMove(DIR_LEFT, exit);
|
||||
|
@ -518,7 +380,7 @@ void Nag::applyState()
|
|||
ic = 0;
|
||||
irot.clear();
|
||||
|
||||
//Vector framePos(235, 405);
|
||||
|
||||
Vector framePos(240, 400);
|
||||
Vector frameScale(0.98, 0.98);
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ protected:
|
|||
bool done;
|
||||
|
||||
Precacher cachy;
|
||||
//void update(float dt);
|
||||
|
||||
};
|
||||
|
||||
class Intro2 : public StateObject
|
||||
|
|
|
@ -126,11 +126,7 @@ const int FLAG_MINIBOSS_END = 720;
|
|||
#endif
|
||||
StatsAndAchievements::StatsAndAchievements()
|
||||
{
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "app_id: " << SteamUtils()->GetAppID();
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
#ifdef BBGE_BUILD_ACHIEVEMENTS_INTERNAL
|
||||
unlockedDisplayTimestamp = -1.0f;
|
||||
|
@ -140,21 +136,7 @@ StatsAndAchievements::StatsAndAchievements()
|
|||
statsValid = false;
|
||||
storeStats = false;
|
||||
|
||||
/*
|
||||
m_flGameFeetTraveled = 0;
|
||||
|
||||
m_nTotalGamesPlayed = 0;
|
||||
m_nTotalNumWins = 0;
|
||||
m_nTotalNumLosses = 0;
|
||||
m_flTotalFeetTraveled = 0;
|
||||
m_flMaxFeetTraveled = 0;
|
||||
|
||||
m_flAverageSpeed = 0;
|
||||
|
||||
m_hDisplayFont = pGameEngine->HCreateFont( ACHDISP_FONT_HEIGHT, FW_MEDIUM, false, "Arial" );
|
||||
if ( !m_hDisplayFont )
|
||||
OutputDebugString( "Stats font was not created properly, text won't draw\n" );
|
||||
*/
|
||||
}
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( pop )
|
||||
|
@ -379,11 +361,11 @@ void StatsAndAchievements::OnGameStateChange( EClientGameState eNewState )
|
|||
//-----------------------------------------------------------------------------
|
||||
void StatsAndAchievements::EvaluateAchievement( Achievement &achievement )
|
||||
{
|
||||
//debugLog("Eval...");
|
||||
|
||||
|
||||
// Already have it?
|
||||
if ( achievement.achieved ) {
|
||||
//debugLog(std::string(achievement.chAchievementID) + " was already achieved");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -423,11 +405,7 @@ void StatsAndAchievements::EvaluateAchievement( Achievement &achievement )
|
|||
|| (dsq->continuity.recipes[i].result == "VeggieSoup" && didVeggieSoup))
|
||||
{}
|
||||
else {
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "doesn't know recipe: " << dsq->continuity.recipes[i].result;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
knowAll = false;
|
||||
}
|
||||
}
|
||||
|
@ -442,20 +420,7 @@ void StatsAndAchievements::EvaluateAchievement( Achievement &achievement )
|
|||
|
||||
case ACH_MASS_TRANSIT:
|
||||
{
|
||||
/*
|
||||
debugLog("eval ACH_MASS_TRANSIT");
|
||||
std::ostringstream os;
|
||||
os << "FLAG_TRANSTURTLE_VEIL01: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_VEIL01) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_VEIL02: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_VEIL02) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_OPENWATER03: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_OPENWATER03) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_FOREST04: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_FOREST04) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_FOREST05: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_FOREST05) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_MAINAREA: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_MAINAREA) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_SEAHORSE: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_SEAHORSE) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_ABYSS03: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_ABYSS03) << "\n";
|
||||
os << "FLAG_TRANSTURTLE_FINALBOSS: " << dsq->continuity.getFlag(FLAG_TRANSTURTLE_FINALBOSS) << "\n";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
if (dsq->continuity.getFlag(FLAG_TRANSTURTLE_VEIL01) > 0
|
||||
&& dsq->continuity.getFlag(FLAG_TRANSTURTLE_VEIL02) > 0
|
||||
|
@ -481,11 +446,7 @@ void StatsAndAchievements::EvaluateAchievement( Achievement &achievement )
|
|||
{
|
||||
WorldMapTile *tile = dsq->continuity.worldMap.getWorldMapTile(i);
|
||||
if (!tile->revealed && (nocasecmp(tile->name, "thirteenlair") != 0)) {
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "does not have: " << tile->name;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
hasAllMap = false;
|
||||
break;
|
||||
}
|
||||
|
@ -506,7 +467,7 @@ void StatsAndAchievements::EvaluateAchievement( Achievement &achievement )
|
|||
break;
|
||||
|
||||
case ACH_AQUIRE_ALL_SONGS:
|
||||
//debugLog("eval ACH_AQUIRE_ALL_SONGS");
|
||||
|
||||
if (dsq->continuity.hasSong(SONG_BIND)
|
||||
&& dsq->continuity.hasSong(SONG_SHIELDAURA)
|
||||
&& dsq->continuity.hasSong(SONG_LI)
|
||||
|
@ -518,14 +479,14 @@ void StatsAndAchievements::EvaluateAchievement( Achievement &achievement )
|
|||
&& dsq->continuity.hasSong(SONG_FISHFORM)
|
||||
&& dsq->continuity.hasSong(SONG_SPIRITFORM))
|
||||
{
|
||||
//errorLog("ACH_AQUIRE_ALL_SONGS!");
|
||||
|
||||
UnlockAchievement(achievement);
|
||||
}
|
||||
break;
|
||||
|
||||
// gameplay
|
||||
case ACH_DEFEAT_PRIESTS:
|
||||
//if (dsq->continuity.getFlag(FLAG_MINIBOSS_PRIESTS) > 0)
|
||||
|
||||
if (dsq->continuity.hasSong(SONG_SPIRITFORM))
|
||||
{
|
||||
UnlockAchievement(achievement);
|
||||
|
@ -618,8 +579,8 @@ void StatsAndAchievements::EvaluateAchievement( Achievement &achievement )
|
|||
break;
|
||||
|
||||
case ACH_MOMMY_AND_DADDY:
|
||||
//if (dsq->continuity.getFlag(SUNKENCITY_BOSSDONE) > 0)
|
||||
//setFlag(FLAG_SUNKENCITY_PUZZLE, SUNKENCITY_BOSSDONE)
|
||||
|
||||
|
||||
if (dsq->continuity.getFlag(FLAG_SUNKENCITY_PUZZLE) >= SUNKENCITY_BOSSDONE)
|
||||
{
|
||||
UnlockAchievement(achievement);
|
||||
|
@ -723,16 +684,8 @@ void StatsAndAchievements::entityDied(Entity *eDead)
|
|||
biteDeathComboCounter = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
eDead->getState() ==
|
||||
if (eDead->name == "monkey") {
|
||||
// we killed a monkey, but how?
|
||||
if (eDead->lastDamage.damageType == DT_AVATAR_VINE) {
|
||||
// with a nature form vine
|
||||
flungMonkey = true;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
void StatsAndAchievements::update(float dt)
|
||||
|
@ -748,15 +701,11 @@ void StatsAndAchievements::update(float dt)
|
|||
|
||||
if (!rodeEkkritToTheStars) {
|
||||
if (!dsq->game->isPaused() && b->on) {
|
||||
//debugLog("boneLock->entity->name: " + b->entity->name);
|
||||
|
||||
if (b->entity->name == "ekkrit") {
|
||||
ridingEkkritTime += dt;
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "ridingEkkritTime: " << ridingEkkritTime;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
if (ridingEkkritTime >= ridingEkkritTimeMax) {
|
||||
rodeEkkritToTheStars = true;
|
||||
|
|
|
@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
SteamRender::SteamRender() : RenderObject()
|
||||
{
|
||||
cull = false;
|
||||
//alpha = 0.1f;
|
||||
|
||||
alpha = 0.7;
|
||||
setTexture("Particles/Steam");
|
||||
texture->repeat = true;
|
||||
|
@ -40,8 +40,8 @@ void SteamRender::onUpdate(float dt)
|
|||
|
||||
void SteamRender::onRender()
|
||||
{
|
||||
//glDisable(GL_CULL_FACE);
|
||||
//int qs = 0;
|
||||
|
||||
|
||||
|
||||
for (Path *p = dsq->game->getFirstPathOfType(PATH_STEAM); p; p = p->nextOfType)
|
||||
{
|
||||
|
@ -83,7 +83,7 @@ void SteamRender::onRender()
|
|||
const float len = diff.getLength2D();
|
||||
const float texScale = len/256.0f;
|
||||
|
||||
//qs++;
|
||||
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
glColor4f(1,1,1,0);
|
||||
glTexCoord2f((0)*texScale+p->animOffset, 0);
|
||||
|
@ -120,6 +120,6 @@ void SteamRender::onRender()
|
|||
}
|
||||
}
|
||||
|
||||
//glEnable(GL_CULL_FACE);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -58,8 +58,8 @@ void Strand::onRender()
|
|||
glLineWidth(1);
|
||||
|
||||
glBegin(GL_LINE_STRIP);
|
||||
//glColor4f(0.25,0.25,0.5,1);
|
||||
// Use fixed-point math to speed things up. --achurch
|
||||
|
||||
|
||||
unsigned int r = (unsigned int)(color.x * (255<<8));
|
||||
unsigned int g = (unsigned int)(color.y * (255<<8));
|
||||
unsigned int b = (unsigned int)(color.z * (255<<8));
|
||||
|
|
|
@ -48,7 +48,7 @@ void StringBank::load()
|
|||
|
||||
void StringBank::_load(const std::string &file)
|
||||
{
|
||||
//debugLog("StringBank::load("+file+")");
|
||||
|
||||
|
||||
InStream in(file.c_str());
|
||||
|
||||
|
@ -59,9 +59,7 @@ void StringBank::_load(const std::string &file)
|
|||
{
|
||||
std::getline(in, line);
|
||||
|
||||
//std::ostringstream os;
|
||||
//os << idx << ": StringBank Read Line: " << line;
|
||||
//debugLog(os.str());
|
||||
|
||||
|
||||
if (!line.empty() && line[0] == ' ')
|
||||
line = line.substr(1, line.size());
|
||||
|
|
|
@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "../BBGE/DebugFont.h"
|
||||
#include "../BBGE/BitmapFont.h"
|
||||
|
||||
//#define DISABLE_SUBS
|
||||
|
||||
|
||||
SubtitlePlayer::SubtitlePlayer()
|
||||
{
|
||||
|
@ -130,7 +130,7 @@ void SubtitlePlayer::update(float dt)
|
|||
// set text
|
||||
debugLog(subLines[curLine].line);
|
||||
dsq->subtext->scrollText(subLines[curLine].line, 0.02);
|
||||
//dsq->subtext->scrollText(subLines[curLine].line, 0.1);
|
||||
|
||||
// advance
|
||||
curLine++;
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@ void ToolTip::onUpdate(float dt)
|
|||
break;
|
||||
}
|
||||
|
||||
const float t = 0.0;//0.4;//0.05;
|
||||
const float t = 0.0;
|
||||
if (in && (required || dsq->user.control.toolTipsOn))
|
||||
{
|
||||
back->alpha.interpolateTo(1, t);
|
||||
|
|
|
@ -32,7 +32,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
void UserSettings::save()
|
||||
{
|
||||
//initInputCodeMap();
|
||||
|
||||
|
||||
XMLDocument doc;
|
||||
{
|
||||
|
@ -268,7 +268,7 @@ void UserSettings::save()
|
|||
doc.SaveFile(userSettingsFilename.c_str());
|
||||
#endif
|
||||
|
||||
//clearInputCodeMap();
|
||||
|
||||
}
|
||||
|
||||
static void readInt(XMLElement *xml, const char *elem, const char *att, int *toChange)
|
||||
|
@ -328,7 +328,7 @@ void UserSettings::load(bool doApply, const std::string &overrideFile)
|
|||
}
|
||||
|
||||
control.actionSet.clearActions();
|
||||
//initInputCodeMap();
|
||||
|
||||
|
||||
control.actionSet.addActionInput("lmb");
|
||||
control.actionSet.addActionInput("rmb");
|
||||
|
@ -419,9 +419,7 @@ void UserSettings::load(bool doApply, const std::string &overrideFile)
|
|||
|
||||
readInt(xml_video, "FpsSmoothing", "v", &video.fpsSmoothing);
|
||||
|
||||
/*
|
||||
readInt(xml_video, "Parallax", "on", &video.parallaxOn);
|
||||
*/
|
||||
|
||||
XMLElement *xml_parallax = xml_video->FirstChildElement("Parallax");
|
||||
if (xml_parallax)
|
||||
{
|
||||
|
@ -534,7 +532,7 @@ void UserSettings::load(bool doApply, const std::string &overrideFile)
|
|||
network.masterServer = serv;
|
||||
}
|
||||
|
||||
//clearInputCodeMap();
|
||||
|
||||
|
||||
if (system.locale.empty())
|
||||
{
|
||||
|
|
|
@ -50,31 +50,30 @@ void spawnWaterFontParticle(RenderObject *me, Vector position, int size, float l
|
|||
q->color.data->path.addPathNode(Vector(0,0,1),1.0);
|
||||
q->color.startPath(t);
|
||||
|
||||
//q->color = Vector(1, 0.5, 0);
|
||||
|
||||
q->alpha.ensureData();
|
||||
q->alpha.data->path.addPathNode(0, 0);
|
||||
q->alpha.data->path.addPathNode(0.2, 0.5);
|
||||
q->alpha.data->path.addPathNode(0, 1.0);
|
||||
q->alpha.startPath(t);
|
||||
q->velocity = Vector(sinf(angle)*spd,cosf(angle)*spd);
|
||||
//q->velocity += vel;
|
||||
|
||||
q->setLife(1.0);
|
||||
q->setDecayRate(1.0f/t);
|
||||
q->rotation.z = rand()%360;
|
||||
q->setWidthHeight(size, size);
|
||||
q->position = position;
|
||||
q->cull = false;
|
||||
//q->influenced = 16;
|
||||
|
||||
|
||||
dsq->game->addRenderObject(q, layer);
|
||||
//me->addChild(q);
|
||||
//me->renderBeforeParent = false;
|
||||
//me->parentManagedPointer = true;
|
||||
//q->update(interval);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//const float interval = 0.012;
|
||||
|
||||
const float interval = 0.08;
|
||||
void WaterFont::onUpdate(float dt)
|
||||
{
|
||||
|
@ -89,11 +88,7 @@ void WaterFont::onUpdate(float dt)
|
|||
for (int i = 0; i < dist; i++)
|
||||
{
|
||||
Vector p(rand()%(int(ep.x-sp.x))+sp.x, rand()%(int(ep.y-sp.y))+sp.y);
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "p(" << p.x << ", " << p.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
Vector d(rand()%200-100,rand()%200-100);
|
||||
d *= 0.01f;
|
||||
spawnWaterFontParticle(this, p, 64, 1.2, LR_PARTICLES);
|
||||
|
|
|
@ -1,37 +1,10 @@
|
|||
/*
|
||||
Copyright (C) 2007, 2010 - Bit-Blot
|
||||
|
||||
This file is part of Aquaria.
|
||||
|
||||
Aquaria is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#include "WaterSurfaceRender.h"
|
||||
#include "DSQ.h"
|
||||
#include "Game.h"
|
||||
#include "Avatar.h"
|
||||
|
||||
/*
|
||||
{
|
||||
public:
|
||||
WaterSurfaceRender();
|
||||
void render();
|
||||
protected:
|
||||
void onRender();
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
namespace WaterSurfaceRenderStuff
|
||||
{
|
||||
|
@ -44,7 +17,7 @@ WaterSurfaceRender::WaterSurfaceRender() : Quad()
|
|||
{
|
||||
color = baseColor;
|
||||
cull = false;
|
||||
//alpha = 0.98;
|
||||
|
||||
alpha = 0.75;
|
||||
|
||||
if (dsq->useFrameBuffer && dsq->frameBuffer.isInited())
|
||||
|
@ -54,33 +27,17 @@ WaterSurfaceRender::WaterSurfaceRender() : Quad()
|
|||
|
||||
|
||||
|
||||
//addChild(qSurface);
|
||||
//qSurface->renderBeforeParent = 1;
|
||||
|
||||
/*
|
||||
qLine = new Quad("water/water-line", Vector(0,50));
|
||||
qLine->repeatTextureToFill(1);
|
||||
addChild(qLine);
|
||||
*/
|
||||
|
||||
qLine = new Quad("water/water-line", Vector(0,0));
|
||||
qLine->repeatTextureToFill(1);
|
||||
qLine->cull = false;
|
||||
dsq->game->addRenderObject(qLine, LR_WATERSURFACE2);
|
||||
|
||||
qLine2 = 0;
|
||||
/*
|
||||
qLine2 = new Quad("water/water-line", Vector(0,0));
|
||||
qLine2->repeatTextureToFill(1);
|
||||
qLine2->cull = false;
|
||||
//qLine2->flipVertical();
|
||||
dsq->game->addRenderObject(qLine2, LR_ELEMENTS3);
|
||||
*/
|
||||
|
||||
|
||||
//water/water-surface
|
||||
|
||||
qSurface = new Quad("missingimage", Vector(0,0));
|
||||
//qSurface->parentManagedPointer = 1;
|
||||
|
||||
qSurface->cull = false;
|
||||
qSurface->repeatTextureToFill(1);
|
||||
dsq->game->addRenderObject(qSurface, LR_WATERSURFACE2);
|
||||
|
@ -91,14 +48,14 @@ WaterSurfaceRender::WaterSurfaceRender() : Quad()
|
|||
|
||||
void WaterSurfaceRender::render()
|
||||
{
|
||||
//if (dsq->frameBuffer.isInited())
|
||||
|
||||
|
||||
if (dsq->game->waterLevel.x > 0)
|
||||
{
|
||||
|
||||
qLine->alpha = qSurface->alpha = 1;
|
||||
|
||||
//qSurface->alpha = 0;
|
||||
|
||||
|
||||
position.x = core->screenCenter.x;
|
||||
position.y = dsq->game->waterLevel.x;
|
||||
|
@ -117,7 +74,7 @@ void WaterSurfaceRender::render()
|
|||
}
|
||||
|
||||
offset.y = (height*scale.y);
|
||||
//offset.y += 10;
|
||||
|
||||
offset.y -= 40*scale.y;
|
||||
|
||||
|
||||
|
@ -125,11 +82,7 @@ void WaterSurfaceRender::render()
|
|||
qLine->alphaMod = 0.5;
|
||||
qLine->setWidth(width);
|
||||
|
||||
/*
|
||||
qLine2->position = position + offset;
|
||||
qLine2->alphaMod = 0.5;
|
||||
qLine2->width = this->width;
|
||||
*/
|
||||
|
||||
|
||||
qSurface->position = position+offset;
|
||||
qSurface->scale = scale.y;
|
||||
|
@ -137,43 +90,30 @@ void WaterSurfaceRender::render()
|
|||
qSurface->setWidthHeight(width, height);
|
||||
|
||||
float bit = core->cameraPos.x/300.0f;
|
||||
//qSurface->texOff.x = bit;
|
||||
|
||||
qLine->texOff.x = bit;
|
||||
//qSurface->refreshRepeatTextureToFill();
|
||||
|
||||
qLine->refreshRepeatTextureToFill();
|
||||
|
||||
|
||||
/*
|
||||
qLine2->texOff.x = bit;
|
||||
qLine2->refreshRepeatTextureToFill();
|
||||
*/
|
||||
|
||||
if (dsq->useFrameBuffer && dsq->frameBuffer.isInited())
|
||||
{
|
||||
qSurface->alphaMod = 0.5;
|
||||
Quad::render();
|
||||
//qLine->alpha = qSurface->alpha = 0;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//color = baseColor;
|
||||
|
||||
Quad::render();
|
||||
//qSurface->alphaMod = 0.6;
|
||||
//deleteGrid();
|
||||
//color = Vector(1,1,1);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
//core->setupRenderPositionAndScale();
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
core->currentLayerPass = 0;
|
||||
dsq->game->avatar->color = Vector(1,0,0);
|
||||
dsq->game->avatar->render();
|
||||
dsq->game->avatar->color = Vector(1,1,1);
|
||||
//glBindTexture(GL_TEXTURE_2D, 0);
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -217,22 +157,13 @@ void WaterSurfaceRender::onRender()
|
|||
|
||||
Quad::onRender();
|
||||
|
||||
/*
|
||||
glTranslatef(0, -height - 20);
|
||||
height = 40;
|
||||
|
||||
|
||||
Quad::onRender();
|
||||
*/
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
upperLeftTextureCoordinates.x = 0;
|
||||
lowerRightTextureCoordinates.x = core->frameBuffer.getWidthP();
|
||||
*/
|
||||
|
||||
glColor4f(0.4, 0.7, 0.8, 0.2);
|
||||
Quad::onRender();
|
||||
|
||||
|
@ -241,18 +172,6 @@ void WaterSurfaceRender::onRender()
|
|||
|
||||
RenderObject::lastTextureApplied = 0;
|
||||
|
||||
//dsq->game->avatar->setRenderPass(0);
|
||||
|
||||
/*
|
||||
|
||||
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
float realSz2 = sz2*scale.x;
|
||||
float factor = float(core->getWindowWidth()) / 800.0f;
|
||||
glScissor(dsq->game->waterLevel.x*factor - realSz2 * factor, 600*factor-(position.y+realSz2)*factor, realSz2*2*factor, realSz2*2*factor);
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//glDisable(GL_SCISSOR_TEST);
|
||||
}
|
||||
|
|
|
@ -136,14 +136,7 @@ void Web::onUpdate(float dt)
|
|||
}
|
||||
if (hit)
|
||||
{
|
||||
/*
|
||||
if (!e->vel.isZero())
|
||||
{
|
||||
Vector n = e->vel;
|
||||
n.setLength2D(e->getv(EV_WEBSLOW)*dt);
|
||||
e->vel -= n;
|
||||
}
|
||||
*/
|
||||
|
||||
e->vel /= float(e->getv(EV_WEBSLOW)) * dt;
|
||||
}
|
||||
}
|
||||
|
@ -154,10 +147,10 @@ void Web::onUpdate(float dt)
|
|||
void Web::onRender()
|
||||
{
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
|
||||
glLineWidth(4);
|
||||
//glDisable(GL_CULL_FACE);
|
||||
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
glBegin(GL_LINES);
|
||||
|
|
|
@ -157,28 +157,19 @@ public:
|
|||
BeaconRender(BeaconData *beaconData) : Quad(), beaconData(beaconData)
|
||||
{
|
||||
renderQuad = false;
|
||||
setTexture("gui/minimap/ripple"); //"particles/softring"); // or whatever
|
||||
setTexture("gui/minimap/ripple");
|
||||
position = beaconData->pos;
|
||||
truePosition = beaconData->pos;
|
||||
followCamera = 1;
|
||||
/*
|
||||
scale = Vector(0.2, 0.2);
|
||||
scale.interpolateTo(Vector(0.5, 0.5), 0.75, -1, 1, 1);
|
||||
*/
|
||||
|
||||
alpha = 0.5;
|
||||
color = beaconData->color;
|
||||
|
||||
/*
|
||||
pe = new ParticleEffect();
|
||||
pe->load("sparkle");
|
||||
pe->followCamera = 1;
|
||||
pe->start();
|
||||
core->addRenderObject(pe, LR_PARTICLES);
|
||||
*/
|
||||
|
||||
spawnBitTimer = 0;
|
||||
}
|
||||
|
||||
//float spawnBitTimer;
|
||||
|
||||
Vector truePosition;
|
||||
|
||||
ParticleEffect *pe;
|
||||
|
@ -188,7 +179,7 @@ public:
|
|||
|
||||
void render()
|
||||
{
|
||||
//setProperPosition();
|
||||
|
||||
Quad::render();
|
||||
}
|
||||
|
||||
|
@ -221,7 +212,7 @@ protected:
|
|||
{
|
||||
Quad::onUpdate(dt);
|
||||
|
||||
//setProperPosition();
|
||||
|
||||
|
||||
if (!dsq->game->worldMapRender->isOn()) return;
|
||||
|
||||
|
@ -244,7 +235,7 @@ protected:
|
|||
int x = sinf(radius)*len;
|
||||
int y = cosf(radius)*len;
|
||||
|
||||
//truePosition +
|
||||
|
||||
float t = 0.75;
|
||||
WorldMapBoundQuad *q = new WorldMapBoundQuad(Vector(x, y, 0));
|
||||
q->setTexture("particles/glow");
|
||||
|
@ -257,16 +248,15 @@ protected:
|
|||
q->color = color;
|
||||
|
||||
q->scale = Vector(pscale, pscale);
|
||||
//q->fadeAlphaWithLife = 1;
|
||||
|
||||
q->setLife(1);
|
||||
q->setDecayRate(1.0f/t);
|
||||
|
||||
q->setBlendType(BLEND_ADD);
|
||||
addChild(q, PM_POINTER);
|
||||
|
||||
//std::ostringstream os;
|
||||
//os << "children: " << children.size();
|
||||
//debugLog(os.str());
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -276,9 +266,6 @@ protected:
|
|||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -295,41 +282,26 @@ public:
|
|||
blinkTimer = 0;
|
||||
alphaMod = 0.66;
|
||||
canMove = gemData->canMove;
|
||||
//canMove = true;
|
||||
//gemData->userString = "HI THERE!";
|
||||
|
||||
|
||||
|
||||
std::string useString = gemData->userString;
|
||||
|
||||
/*
|
||||
if (gemData->userString.empty())
|
||||
{
|
||||
if (gemData->name == "savepoint")
|
||||
useString = "Memory Crystal";
|
||||
if (gemData->name == "cook")
|
||||
useString = "Kitchen";
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
text = new BitmapText(&dsq->smallFont);
|
||||
text->position = Vector(0, -20);
|
||||
text->setText(gemData->userString);
|
||||
addChild(text, PM_POINTER);
|
||||
*/
|
||||
|
||||
text = new TTFText(&dsq->fontArialSmall);//new DebugFont(10, useString);
|
||||
text->offset = Vector(0, 4); //Vector(0,5);
|
||||
text = new TTFText(&dsq->fontArialSmall);
|
||||
text->offset = Vector(0, 4);
|
||||
text->setText(useString);
|
||||
text->setAlign(ALIGN_CENTER);
|
||||
|
||||
textBG = new RoundedRect();
|
||||
textBG->setWidthHeight(text->getActualWidth() + 20, 25, 10); // 30
|
||||
textBG->setWidthHeight(text->getActualWidth() + 20, 25, 10);
|
||||
textBG->alpha = 0;
|
||||
textBG->followCamera = 1;
|
||||
game->addRenderObject(textBG, LR_WORLDMAPHUD);
|
||||
|
||||
textBG->addChild(text, PM_POINTER);
|
||||
//game->addRenderObject(text, LR_WORLDMAPHUD);
|
||||
|
||||
}
|
||||
|
||||
void destroy()
|
||||
|
@ -348,24 +320,8 @@ public:
|
|||
{
|
||||
this->blink = blink;
|
||||
|
||||
//if (blink)
|
||||
//{
|
||||
// scale = Vector(0.5, 0.5);
|
||||
// scale.interpolateTo(Vector(1,1), 0.5, -1, 1);
|
||||
// /*
|
||||
// alpha = 0.5;
|
||||
// alpha.interpolateTo(1, 0.5, -1, 1);
|
||||
// */
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// scale.stop();
|
||||
// scale = Vector(1,1);
|
||||
// /*
|
||||
// alpha.stop();
|
||||
// alpha = 1;
|
||||
// */
|
||||
//}
|
||||
|
||||
|
||||
}
|
||||
bool canMove;
|
||||
protected:
|
||||
|
@ -373,7 +329,7 @@ protected:
|
|||
float blinkTimer;
|
||||
bool blink;
|
||||
GemData *gemData;
|
||||
//BitmapText *text;
|
||||
|
||||
TTFText *text;
|
||||
RoundedRect *textBG;
|
||||
void onUpdate(float dt)
|
||||
|
@ -421,22 +377,22 @@ protected:
|
|||
{
|
||||
core->sound->playSfx("Gem-Move");
|
||||
mover = this;
|
||||
//offset = Vector(position - core->mouse.position);
|
||||
//position += core->mouse.position - wp;
|
||||
//offset = Vector(0, 4);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
else if (mover == this)
|
||||
{
|
||||
//position = core->mouse.position;
|
||||
|
||||
position += (core->mouse.position - wp)/parent->scale.x;
|
||||
if (!core->mouse.buttons.left)
|
||||
{
|
||||
mover = 0;
|
||||
core->sound->playSfx("Gem-Place");
|
||||
//position += offset;
|
||||
//offset = Vector(0,0);
|
||||
//offset = Vector(0,0);
|
||||
|
||||
|
||||
|
||||
gemData->pos = position;
|
||||
}
|
||||
}
|
||||
|
@ -450,20 +406,14 @@ protected:
|
|||
|
||||
if ((core->mouse.position - wp).isLength2DIn(GEM_GRAB))
|
||||
{
|
||||
//text->alpha.interpolateTo(1, 0.1);
|
||||
/*
|
||||
if (!gemData->userString.empty())
|
||||
textBG->alpha.interpolateTo(1, 0.1);
|
||||
*/
|
||||
|
||||
|
||||
if (!gemData->userString.empty())
|
||||
textBG->show();
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
text->alpha.interpolateTo(0, 0.1);
|
||||
textBG->alpha.interpolateTo(0, 0.1);
|
||||
*/
|
||||
|
||||
if (textBG->alpha == 1)
|
||||
textBG->hide();
|
||||
}
|
||||
|
@ -622,13 +572,7 @@ void WorldMapRender::setVis(WorldMapTile *tile)
|
|||
{
|
||||
if (!tile) return;
|
||||
#ifdef AQUARIA_BUILD_MAPVIS
|
||||
/*
|
||||
if (lastVisQuad)
|
||||
{
|
||||
lastVisQuad->alphaMod = 0.5;
|
||||
lastVisQuad->color = Vector(0.7, 0.8, 1);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
tile->q->color = Vector(1,1,1);
|
||||
tile->q->alphaMod = 1;
|
||||
|
@ -704,19 +648,7 @@ WorldMapRender::WorldMapRender() : RenderObject(), ActionMapper()
|
|||
|
||||
savedTexData = 0;
|
||||
|
||||
/*
|
||||
bg = new Quad("", Vector(400,300));
|
||||
bg->setWidthHeight(810, 610);
|
||||
bg->setSegs(32, 32, 0.5, 0.5, 0.008, 0.008, 2.0, 1);
|
||||
bg->alphaMod = 0.5;
|
||||
bg->alpha = 0;
|
||||
bg->followCamera = 1;
|
||||
bg->repeatTextureToFill(true);
|
||||
//bg->parentManagedPointer = 1;
|
||||
dsq->game->addRenderObject(bg, LR_MESSAGEBOX);
|
||||
|
||||
bg->renderQuad = false;
|
||||
*/
|
||||
|
||||
int num = dsq->continuity.worldMap.getNumWorldMapTiles();
|
||||
std::string n = dsq->game->sceneName;
|
||||
|
@ -789,14 +721,14 @@ WorldMapRender::WorldMapRender() : RenderObject(), ActionMapper()
|
|||
tophud->alpha = 0;
|
||||
dsq->game->addRenderObject(tophud, LR_WORLDMAPHUD);
|
||||
|
||||
//int fontSize = 6;
|
||||
|
||||
float aly = 26, aly2 = 18;
|
||||
float sz = 0.6;
|
||||
|
||||
//hover
|
||||
areaLabel = new BitmapText(&dsq->smallFont);
|
||||
areaLabel->scale = Vector(sz,sz);
|
||||
//areaLabel->setFontSize(fontSize);
|
||||
|
||||
areaLabel->setAlign(ALIGN_CENTER);
|
||||
areaLabel->followCamera = 1;
|
||||
areaLabel->position = Vector(150,aly);
|
||||
|
@ -805,7 +737,7 @@ WorldMapRender::WorldMapRender() : RenderObject(), ActionMapper()
|
|||
|
||||
//in
|
||||
areaLabel2 = new BitmapText(&dsq->smallFont);
|
||||
//areaLabel2->setFontSize(fontSize);
|
||||
|
||||
areaLabel2->scale = Vector(sz,sz);
|
||||
areaLabel2->followCamera = 1;
|
||||
areaLabel2->setAlign(ALIGN_CENTER);
|
||||
|
@ -816,7 +748,7 @@ WorldMapRender::WorldMapRender() : RenderObject(), ActionMapper()
|
|||
//select
|
||||
areaLabel3 = new BitmapText(&dsq->smallFont);
|
||||
areaLabel3->scale = Vector(sz,sz);
|
||||
//areaLabel3->setFontSize(fontSize);
|
||||
|
||||
areaLabel3->followCamera = 1;
|
||||
areaLabel3->setAlign(ALIGN_CENTER);
|
||||
areaLabel3->position = Vector(650, aly);
|
||||
|
@ -833,7 +765,7 @@ WorldMapRender::WorldMapRender() : RenderObject(), ActionMapper()
|
|||
bindInput();
|
||||
|
||||
underlay = new Gradient;
|
||||
//underlay->makeVertical(Vector(0.5,0.5,1), Vector(0,0,0.5));
|
||||
|
||||
underlay->makeVertical(Vector(0.25,0.25,0.5), Vector(0,0,0.25));
|
||||
underlay->position = Vector(400,300);
|
||||
underlay->autoWidth = AUTO_VIRTUALWIDTH;
|
||||
|
@ -852,14 +784,14 @@ WorldMapRender::WorldMapRender() : RenderObject(), ActionMapper()
|
|||
addHintQuad2->alpha = 0;
|
||||
dsq->game->addRenderObject(addHintQuad2, LR_WORLDMAPHUD);
|
||||
|
||||
//helpButton->event.set(MakeFunctionEvent(WorldMapRender, onToggleHelpScreen));
|
||||
|
||||
helpButton = new AquariaMenuItem;
|
||||
helpButton->event.setActionMapperCallback(this, ACTION_TOGGLEHELPSCREEN, 0);
|
||||
helpButton->useQuad("gui/icon-help");
|
||||
helpButton->useGlow("particles/glow", 40, 40);
|
||||
helpButton->useSound("Click");
|
||||
helpButton->alpha = 0;
|
||||
//helpButton->position = Vector(800-20, 20);
|
||||
|
||||
dsq->game->addRenderObject(helpButton, LR_WORLDMAPHUD);
|
||||
}
|
||||
|
||||
|
@ -886,7 +818,7 @@ void WorldMapRender::bindInput()
|
|||
|
||||
void WorldMapRender::destroy()
|
||||
{
|
||||
//clearVis(activeTile);
|
||||
|
||||
for (int i = 0; i < dsq->continuity.worldMap.getNumWorldMapTiles(); i++)
|
||||
{
|
||||
WorldMapTile *tile = dsq->continuity.worldMap.getWorldMapTile(i);
|
||||
|
@ -939,7 +871,7 @@ void WorldMapRender::onUpdate(float dt)
|
|||
|
||||
if (alpha.x > 0)
|
||||
{
|
||||
//if (activeTile && activeTile==originalActiveTile && !gemMovers.empty())
|
||||
|
||||
if (originalActiveTile && !gemMovers.empty())
|
||||
{
|
||||
gemMovers.back()->position = getAvatarWorldMapPosition();
|
||||
|
@ -1009,7 +941,7 @@ void WorldMapRender::onUpdate(float dt)
|
|||
|
||||
activeTile = selectedTile;
|
||||
activeQuad = activeTile->q;
|
||||
//activeTile->gridPos = activeTile->q->position;
|
||||
|
||||
if (activeQuad)
|
||||
{
|
||||
dsq->clickRingEffect(activeQuad->getWorldPosition(), 0);
|
||||
|
@ -1126,7 +1058,7 @@ void WorldMapRender::onUpdate(float dt)
|
|||
zoomMax = exteriorZoomMax;
|
||||
}
|
||||
|
||||
float scrollAmount = 0.2;//0.25;
|
||||
float scrollAmount = 0.2;
|
||||
|
||||
if (core->mouse.scrollWheelChange)
|
||||
{
|
||||
|
@ -1387,7 +1319,7 @@ void WorldMapRender::toggle(bool turnON)
|
|||
{
|
||||
restoreVel = dsq->game->avatar->vel;
|
||||
dsq->game->avatar->vel = Vector(0,0,0);
|
||||
//dsq->game->avatar->idle();
|
||||
|
||||
dsq->game->togglePause(true);
|
||||
|
||||
core->sound->playSfx("menu-open");
|
||||
|
@ -1436,7 +1368,7 @@ void WorldMapRender::toggle(bool turnON)
|
|||
alpha.interpolateTo(1, 0.2);
|
||||
|
||||
|
||||
//dsq->game->hudUnderlay->alpha.interpolateTo(WORLDMAP_UNDERLAY_ALPHA, 0.2);
|
||||
|
||||
underlay->alpha.interpolateTo(WORLDMAP_UNDERLAY_ALPHA, 0.2);
|
||||
|
||||
addHintQuad1->alpha.interpolateTo(1.0, 0.2);
|
||||
|
@ -1450,8 +1382,8 @@ void WorldMapRender::toggle(bool turnON)
|
|||
if ((*i).on)
|
||||
{
|
||||
BeaconRender *b = new BeaconRender(&(*i));
|
||||
//b->position = (*i).pos;
|
||||
//game->addRenderObject(b, layer+1);
|
||||
|
||||
|
||||
addChild(b, PM_POINTER);
|
||||
beaconRenders.push_back(b);
|
||||
}
|
||||
|
@ -1496,14 +1428,6 @@ void WorldMapRender::toggle(bool turnON)
|
|||
}
|
||||
|
||||
|
||||
//setVis(activeTile);
|
||||
/*
|
||||
for (int i = 0; i < LR_MENU; i++)
|
||||
{
|
||||
RenderObjectLayer *rl = dsq->getRenderObjectLayer(i);
|
||||
rl->visible = true;
|
||||
}
|
||||
*/
|
||||
|
||||
core->sound->playSfx("Menu-Close");
|
||||
|
||||
|
@ -1513,7 +1437,7 @@ void WorldMapRender::toggle(bool turnON)
|
|||
alpha.interpolateTo(0, 0.2);
|
||||
|
||||
dsq->game->togglePause(false);
|
||||
//dsq->game->hudUnderlay->alpha.interpolateTo(0, 0.2);
|
||||
|
||||
underlay->alpha.interpolateTo(0, 0.2);
|
||||
addHintQuad1->alpha.interpolateTo(0, 0.2);
|
||||
addHintQuad2->alpha.interpolateTo(0, 0.2);
|
||||
|
@ -1522,14 +1446,14 @@ void WorldMapRender::toggle(bool turnON)
|
|||
|
||||
for (GemMovers::iterator i = gemMovers.begin(); i != gemMovers.end(); i++)
|
||||
{
|
||||
//removeChild(*i);
|
||||
|
||||
(*i)->safeKill();
|
||||
}
|
||||
gemMovers.clear();
|
||||
|
||||
for (BeaconRenders::iterator i = beaconRenders.begin(); i != beaconRenders.end(); i++)
|
||||
{
|
||||
//removeChild(*i);
|
||||
|
||||
(*i)->safeKill();
|
||||
}
|
||||
beaconRenders.clear();
|
||||
|
@ -1546,7 +1470,7 @@ void WorldMapRender::createGemHint(const std::string &gfx)
|
|||
doubleClickTimer = 0;
|
||||
GemData *g = dsq->continuity.pickupGem(gfx, false);
|
||||
g->canMove = 1;
|
||||
g->pos = getAvatarWorldMapPosition();// + Vector(0, -20);
|
||||
g->pos = getAvatarWorldMapPosition();
|
||||
g->userString = useString;
|
||||
addGem(g);
|
||||
fixGems();
|
||||
|
@ -1614,25 +1538,6 @@ void WorldMapRender::action (int id, int state)
|
|||
|
||||
}
|
||||
|
||||
/*
|
||||
if (id == ACTION_PRIMARY && state)
|
||||
{
|
||||
if (doubleClickTimer > 0)
|
||||
{
|
||||
doubleClickTimer = 0;
|
||||
GemData *g = dsq->continuity.pickupGem("pyramidyellow", false);
|
||||
g->canMove = 1;
|
||||
g->userString = dsq->getUserInputString("Enter Map Hint Name:", "");
|
||||
addGem(g);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (doubleClickTimer == 0)
|
||||
{
|
||||
doubleClickTimer = DOUBLE_CLICK_DELAY;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -337,18 +337,8 @@ WorldMapTile *WorldMap::getWorldMapTileByIndex(int index)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
|
||||
|
||||
void WorldMap::revealMapIndex(int index)
|
||||
{
|
||||
if (index < 0 || index >= worldMapTiles.size()) return;
|
||||
|
||||
worldMapTiles[index].revealed = true;
|
||||
}
|
||||
*/
|
||||
|
||||
void WorldMap::hideMap()
|
||||
{
|
||||
for (int i = 0; i < worldMapTiles.size(); i++)
|
||||
|
|
|
@ -13,53 +13,11 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "ActionMapper.h"
|
||||
#include "Core.h"
|
||||
|
||||
//bool ActionMapper::isActing(const std::string &action)
|
||||
//{
|
||||
// ButtonList::iterator i = actionMap[action].begin();
|
||||
// for (; i != actionMap[action].end(); i++)
|
||||
// {
|
||||
// if (keyDownMap[(*i)])
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
// //return keyDownMap[actionMap[action]];
|
||||
//}
|
||||
|
||||
//bool ActionMapper::isActing(int actionID)
|
||||
//{
|
||||
// std::string action = "A";
|
||||
// action[0] = char(actionID);
|
||||
// ButtonList::iterator i = actionMap[action].begin();
|
||||
// for (; i != actionMap[action].end(); i++)
|
||||
// {
|
||||
// if (keyDownMap[(*i)])
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
// //return keyDownMap[actionMap[action]];
|
||||
//}
|
||||
|
||||
//void ActionMapper::addAction (const std::string &action, int k)
|
||||
//{
|
||||
// actionMap[action].push_back(k);
|
||||
// keyDownMap[k] = core->getKeyState(k);
|
||||
//}
|
||||
//
|
||||
//void ActionMapper::addAction (int actionID, int k)
|
||||
//{
|
||||
// std::string action = "A";
|
||||
// action[0] = char(actionID);
|
||||
// actionMap[action].push_back(k);
|
||||
// keyDownMap[k] = core->getKeyState(k);
|
||||
//}
|
||||
|
||||
ActionMapper::ActionMapper()
|
||||
{
|
||||
|
@ -104,11 +62,7 @@ void ActionMapper::addAction (int actionID, int k)
|
|||
|
||||
if (ad)
|
||||
{
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "Action ID [" << actionID << "] already exists!";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -166,55 +120,7 @@ void ActionMapper::clearCreatedEvents()
|
|||
createdEvents.clear();
|
||||
}
|
||||
|
||||
/*
|
||||
void ActionMapper::addMouseButtonAction (const std::string &action, int b)
|
||||
{
|
||||
actionMap[action].push_back (0-b);
|
||||
keyDownMap[0-b] = mouse_b & b;
|
||||
}
|
||||
|
||||
void ActionMapper::addJoystickButtonAction (const std::string &action, int b)
|
||||
{
|
||||
if (num_joysticks)
|
||||
{
|
||||
actionMap[action].push_back (b+9000);
|
||||
keyDownMap[b+9000] = joy[0].button[b].b;
|
||||
}
|
||||
}
|
||||
|
||||
int ActionMapper::getDPad(int dir)
|
||||
{
|
||||
// for (int = 0; i < joy[0].num_sticks; i++)
|
||||
//int s = 4;
|
||||
int s = 0;
|
||||
switch (dir)
|
||||
{
|
||||
case 0:
|
||||
return (joy[0].stick[s].axis[0].d1);
|
||||
break;
|
||||
case 1:
|
||||
return (joy[0].stick[s].axis[0].d2);
|
||||
break;
|
||||
case 2:
|
||||
return (joy[0].stick[s].axis[1].d1);
|
||||
break;
|
||||
case 3:
|
||||
return (joy[0].stick[s].axis[1].d2);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void ActionMapper::addJoystickDPadAction (const std::string &action, int dir)
|
||||
{
|
||||
if (num_joysticks)
|
||||
{
|
||||
actionMap[action].push_back (dir+8000);
|
||||
keyDownMap[dir+8000] = getDPad(dir);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void ActionMapper::enableInput()
|
||||
{
|
||||
|
@ -248,19 +154,7 @@ void ActionMapper::removeAction(int actionID)
|
|||
}
|
||||
}
|
||||
|
||||
//int ActionMapper::getKeyForAction (std::string action)
|
||||
//{
|
||||
// ButtonList b = actionMap[action];
|
||||
// if (!b.empty())
|
||||
// {
|
||||
// return b[0];
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// debugLog ("no action: " +action);
|
||||
// return -1;
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
bool ActionMapper::pollAction(int actionID)
|
||||
{
|
||||
|
@ -372,10 +266,7 @@ void ActionMapper::onUpdate (float dt)
|
|||
{
|
||||
if (inUpdate) return;
|
||||
inUpdate = true;
|
||||
/*
|
||||
if (num_joysticks)
|
||||
poll_joystick();
|
||||
*/
|
||||
|
||||
if (cleared) cleared = false;
|
||||
ActionDataSet::iterator i;
|
||||
KeyDownMap oldKeyDownMap = keyDownMap;
|
||||
|
@ -417,7 +308,7 @@ void ActionMapper::onUpdate (float dt)
|
|||
|
||||
out:
|
||||
inUpdate = false;
|
||||
// keyDownMap[k] = ;
|
||||
|
||||
}
|
||||
|
||||
void ActionMapper::clearActions()
|
||||
|
|
|
@ -48,15 +48,10 @@ public:
|
|||
// funcs
|
||||
ActionMapper();
|
||||
virtual ~ActionMapper();
|
||||
//void addAction (const std::string &action, int k);
|
||||
|
||||
void addAction(Event *event, int k, int state=-1);
|
||||
void addAction(int actionID, int k);
|
||||
/*
|
||||
void addMouseButtonAction (const std::string &action, int b);
|
||||
void addJoystickButtonAction (const std::string &action, int b);
|
||||
void addJoystickDPadAction (const std::string &action, int dir);
|
||||
int getDPad(int dir);
|
||||
*/
|
||||
|
||||
void removeAction(int actionID);
|
||||
void removeAllActions();
|
||||
|
||||
|
@ -80,9 +75,6 @@ public:
|
|||
|
||||
|
||||
|
||||
//typedef std::map <std::string, int> StringIntMap;
|
||||
//StringIntMap stateCheckMap;
|
||||
|
||||
enum {
|
||||
MOUSE_BUTTON_LEFT = 999,
|
||||
MOUSE_BUTTON_RIGHT = 1000,
|
||||
|
@ -106,7 +98,7 @@ public:
|
|||
JOY1_BUTTON_15 = 2015,
|
||||
JOY1_BUTTON_16 = 2016,
|
||||
|
||||
//JOY1_BUTTON_X360_START=2011,
|
||||
|
||||
X360_BTN_START = 3016,
|
||||
X360_BTN_BACK = 3017,
|
||||
|
||||
|
@ -122,13 +114,13 @@ public:
|
|||
|
||||
enum { DPAD_LEFT = 0, DPAD_RIGHT, DPAD_UP, DPAD_DOWN };
|
||||
|
||||
//int getKeyForAction(std::string action);
|
||||
|
||||
|
||||
virtual void enableInput();
|
||||
virtual void disableInput();
|
||||
/*void loadActionSet(const std::string &fn);*/
|
||||
//nasty hack
|
||||
//void forceUpdate(float dt);
|
||||
|
||||
|
||||
|
||||
Event *addCreatedEvent(Event *event);
|
||||
void clearCreatedEvents();
|
||||
|
||||
|
@ -149,4 +141,3 @@ protected:
|
|||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -38,68 +38,7 @@ ActionInput *ActionSet::getActionInputByName(const std::string &name)
|
|||
return 0;
|
||||
}
|
||||
|
||||
//void ActionSet::loadAction(const std::string &name, int inputCode, InputSetType set)
|
||||
//{
|
||||
// ActionInput *a = getActionInputByName(name);
|
||||
// if (!a)
|
||||
// {
|
||||
// ActionInput newa;
|
||||
// newa.name = name;
|
||||
// inputSet.push_back(newa);
|
||||
// a = getActionInputByName(name);
|
||||
//
|
||||
// if (!a) return;
|
||||
// }
|
||||
//
|
||||
// switch(set)
|
||||
// {
|
||||
// case INPUTSET_KEY:
|
||||
// a->keyCodes.push_back(inputCode);
|
||||
// break;
|
||||
// case INPUTSET_JOY:
|
||||
// a->joyCodes.push_back(inputCode);
|
||||
// break;
|
||||
// case INPUTSET_MOUSE:
|
||||
// a->mouseCodes.push_back(inputCode);
|
||||
// break;
|
||||
// case INPUTSET_GENERAL:
|
||||
// default:
|
||||
// a->inputCodes.push_back(inputCode);
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//void ActionSet::loadAction(const std::string &name, const std::vector<int> &inputCodes, InputSetType set)
|
||||
//{
|
||||
//
|
||||
// ActionInput *a = getActionInputByName(name);
|
||||
// if (!a)
|
||||
// {
|
||||
// ActionInput newa;
|
||||
// newa.name = name;
|
||||
// inputSet.push_back(newa);
|
||||
// a = getActionInputByName(name);
|
||||
//
|
||||
// if (!a) return;
|
||||
// }
|
||||
//
|
||||
// switch(set)
|
||||
// {
|
||||
// case INPUTSET_KEY:
|
||||
// a->keyCodes = inputCodes;
|
||||
// break;
|
||||
// case INPUTSET_JOY:
|
||||
// a->joyCodes = inputCodes;
|
||||
// break;
|
||||
// case INPUTSET_MOUSE:
|
||||
// a->mouseCodes = inputCodes;
|
||||
// break;
|
||||
// case INPUTSET_GENERAL:
|
||||
// default:
|
||||
// a->inputCodes = inputCodes;
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
void ActionSet::importAction(ActionMapper *mapper, const std::string &name, int actionID)
|
||||
{
|
||||
|
@ -178,7 +117,7 @@ std::string ActionSet::insertInputIntoString(const std::string &string)
|
|||
std::string part1 = str.substr(0, start);
|
||||
std::string part3 = str.substr(end+1, str.size());
|
||||
|
||||
//{ToggleHelp:k0}
|
||||
|
||||
int thing = code.find(':');
|
||||
std::string input = code.substr(0, thing);
|
||||
std::string button = code.substr(thing+1, code.size());
|
||||
|
|
|
@ -39,8 +39,7 @@ public:
|
|||
|
||||
ActionInput *addActionInput(const std::string &name);
|
||||
|
||||
//void loadAction(const std::string &name, int inputCode, InputSetType set);
|
||||
//void loadAction(const std::string &name, const std::vector<int> &inputCodes, InputSetType set=INPUTSET_GENERAL);
|
||||
|
||||
|
||||
ActionInput *getActionInputByName(const std::string &name);
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#include "AfterEffect.h"
|
||||
//#include "math.h"
|
||||
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
|
@ -188,7 +188,7 @@ void AfterEffectManager::render()
|
|||
|
||||
glColor4f(1,1,1,1);
|
||||
renderGrid();
|
||||
//renderGridPoints();
|
||||
|
||||
glPopMatrix();
|
||||
}
|
||||
|
||||
|
@ -234,28 +234,28 @@ void AfterEffectManager::renderGrid()
|
|||
backupBuffer.startCapture();
|
||||
}
|
||||
|
||||
//float div = xDivs;
|
||||
|
||||
for (int i = 0; i < (xDivs-1); i++)
|
||||
{
|
||||
for (int j = 0; j < (yDivs-1); j++)
|
||||
{
|
||||
glBegin(GL_QUADS);
|
||||
//glColor3f(i/div, i/div, i/div);
|
||||
|
||||
glTexCoord2f(i/(float)(xDivs-1)*percentX, 1*percentY-(j)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE0_ARB,i/(float)(xDivs-1)*percentX, 1*percentY-(j)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,0);
|
||||
|
||||
|
||||
glVertex2f(offx + vw*drawGrid[i][j].x, offy + vh*drawGrid[i][j].y);
|
||||
glTexCoord2f(i/(float)(xDivs-1)*percentX, 1*percentY-(j+1)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE0_ARB,i/(float)(xDivs-1)*percentX, 1*percentY-(j+1)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,(float)(screenHeight/(yDivs-1))/16);
|
||||
|
||||
|
||||
glVertex2f(offx + vw*drawGrid[i][j+1].x, offy + vh*drawGrid[i][j+1].y);
|
||||
glTexCoord2f((i+1)/(float)(xDivs-1)*percentX, 1*percentY-(j+1)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE0_ARB,(i+1)/(float)(xDivs-1)*percentX, 1*percentY-(j+1)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE1_ARB,(float)(screenWidth/(xDivs-1))/16,(float)(screenHeight/(yDivs-1))/16);
|
||||
|
||||
|
||||
glVertex2f(offx + vw*drawGrid[i+1][j+1].x, offy + vh*drawGrid[i+1][j+1].y);
|
||||
glTexCoord2f((i+1)/(float)(xDivs-1)*percentX, 1*percentY-(j)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE0_ARB,(i+1)/(float)(xDivs-1)*percentX, 1*percentY-(j)/(float)(yDivs-1)*percentY);
|
||||
//glMultiTexCoord2fARB(GL_TEXTURE1_ARB,(float)(screenWidth/(xDivs-1))/16,0);
|
||||
|
||||
|
||||
glVertex2f(offx + vw*drawGrid[i+1][j].x, offy + vh*drawGrid[i+1][j].y);
|
||||
glEnd();
|
||||
}
|
||||
|
@ -432,31 +432,15 @@ void AfterEffectManager::addEffect(Effect *e)
|
|||
effects.push_back(e);
|
||||
}
|
||||
numEffects++;
|
||||
//float lowest = 9999;
|
||||
Vector base(0,0,0);
|
||||
//Vector *newPos = &base;
|
||||
//Vector *v;
|
||||
e->position.x /= screenWidth;
|
||||
//e->position.x *= xDivs;
|
||||
e->position.y /= screenHeight;
|
||||
//e->position.y *= yDivs;
|
||||
|
||||
/*
|
||||
for (int x = 1; x < xDivs-1; x++)
|
||||
{
|
||||
for (int y = 1; y < yDivs-1; y++)
|
||||
{
|
||||
v = &drawGrid[x][y];
|
||||
float dist = (v->x - e->position.x)*(v->x - e->position.x)+(v->y - e->position.y)*(v->y - e->position.y);
|
||||
if (dist < lowest)
|
||||
{
|
||||
lowest = dist;
|
||||
newPos = &drawGrid[x][y];
|
||||
}
|
||||
}
|
||||
}
|
||||
e->position = Vector(newPos->x, newPos->y, newPos->z);
|
||||
*/
|
||||
Vector base(0,0,0);
|
||||
|
||||
|
||||
e->position.x /= screenWidth;
|
||||
|
||||
e->position.y /= screenHeight;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -465,18 +449,13 @@ void ShockEffect::update(float dt, Vector ** drawGrid, int xDivs, int yDivs)
|
|||
{
|
||||
dt *= timeMultiplier;
|
||||
Effect::update(dt, drawGrid, xDivs, yDivs);
|
||||
//GLdouble sx, sy,sz;
|
||||
/*
|
||||
gluProject(position.x,position.y,position.z,
|
||||
nCameraPointer->modelMatrix,nCameraPointer->projMatrix,nCameraPointer->viewport,
|
||||
&sx,&sy,&sz); // Find out where the light is on the screen.
|
||||
centerPoint.Set(sx/(float)nCameraPointer->viewport[2],1-sy/(float)nCameraPointer->viewport[3],sz);
|
||||
|
||||
*/
|
||||
|
||||
|
||||
centerPoint = position;
|
||||
centerPoint -= ((core->screenCenter-originalCenter)*core->globalScale.x)/core->width;
|
||||
//centerPoint = position/xDivs;
|
||||
//centerPoint = drawGrid[xDivs/2][yDivs/2];
|
||||
|
||||
|
||||
float xDist,yDist,tDist;
|
||||
|
||||
|
||||
|
@ -484,8 +463,7 @@ void ShockEffect::update(float dt, Vector ** drawGrid, int xDivs, int yDivs)
|
|||
currentDistance+=dt*frequency;
|
||||
|
||||
|
||||
//float distFromCamp =(core->cameraPos - position).getLength2D();//v3dDist(nCameraPointer->pos, position);
|
||||
//if (distFromCamp < 4)
|
||||
|
||||
float distFromCamp = 4;
|
||||
|
||||
float adjWaveLength = waveLength/distFromCamp;
|
||||
|
@ -498,33 +476,21 @@ void ShockEffect::update(float dt, Vector ** drawGrid, int xDivs, int yDivs)
|
|||
{
|
||||
for (int j = 1; j < (yDivs-1); j++)
|
||||
{
|
||||
/*
|
||||
Vector p = getNearestPointOnLine(centerPoint, centerPoint + Vector(-200, -200), Vector(drawGrid[i][j].x*core->width, drawGrid[i][j].y*core->height));
|
||||
|
||||
p.x /= core->width;
|
||||
p.y /= core->height;
|
||||
*/
|
||||
|
||||
xDist = (centerPoint.x - drawGrid[i][j].x)/.75;
|
||||
yDist = centerPoint.y - drawGrid[i][j].y;
|
||||
|
||||
/*
|
||||
xDist = (p.x - drawGrid[i][j].x)/.75;
|
||||
yDist = p.y - drawGrid[i][j].y;
|
||||
*/
|
||||
|
||||
//xDist = 1;
|
||||
//yDist = 2;
|
||||
|
||||
tDist = sqrtf(xDist*xDist+yDist*yDist);
|
||||
|
||||
//drawGrid[i][j].x += (rand()%100)/10000.0f;
|
||||
//drawGrid[i][j].y += (rand()%100)/10000.0f;
|
||||
|
||||
|
||||
if (tDist < currentDistance*adjWaveLength)
|
||||
{
|
||||
//drawGrid[i][j].x += rand()%50;
|
||||
//drawGrid[i][j].y += rand()%50;
|
||||
|
||||
|
||||
drawGrid[i][j].x += adjAmplitude*sinf(-tDist/adjWaveLength+currentDistance)*.75f;
|
||||
drawGrid[i][j].y += adjAmplitude*cosf(-tDist/adjWaveLength+currentDistance);
|
||||
}
|
||||
|
@ -540,20 +506,9 @@ RippleEffect::RippleEffect() : Effect()
|
|||
|
||||
void RippleEffect::update(float dt, Vector ** drawGrid, int xDivs, int yDivs)
|
||||
{
|
||||
/*
|
||||
// whole screen roll
|
||||
time += dt;
|
||||
float amp = 0.01;
|
||||
for (int i = 0; i < (xDivs-1); i++)
|
||||
{
|
||||
for (int j = 0; j < (yDivs-1); j++)
|
||||
{
|
||||
float offset = +i/float(xDivs) +j/float(xDivs);
|
||||
//drawGrid[i][j].x += sinf(time+offset)*amp;
|
||||
drawGrid[i][j].y += cosf((time+offset)*2.5f)*amp;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
time += dt*0.5f;
|
||||
float amp = 0.002;
|
||||
for (int i = 0; i < (xDivs-1); i++)
|
||||
|
@ -561,7 +516,7 @@ void RippleEffect::update(float dt, Vector ** drawGrid, int xDivs, int yDivs)
|
|||
for (int j = 0; j < (yDivs-1); j++)
|
||||
{
|
||||
float offset = i/float(xDivs) + (core->screenCenter.x/float(core->width)/2) +j/float(xDivs) + (core->screenCenter.y/float(core->height)/2);
|
||||
//drawGrid[i][j].x += sinf(time+offset)*amp;
|
||||
|
||||
drawGrid[i][j].x += sinf((time+offset)*7.5f)*(amp*0.5f);
|
||||
drawGrid[i][j].y += cosf((time+offset)*7.5f)*amp;
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
this->timeMultiplier = timeMultiplier;
|
||||
}
|
||||
float timeMultiplier;
|
||||
//void go();
|
||||
|
||||
void update(float dt, Vector ** drawGrid, int xDivs, int yDivs);
|
||||
|
||||
float waveLength;
|
||||
|
|
|
@ -31,11 +31,11 @@ AnimData::AnimData()
|
|||
|
||||
AnimatedSprite::AnimatedSprite() : Quad()
|
||||
{
|
||||
//debugLog("AnimatedSprite::AnimatedSprite()");
|
||||
|
||||
frame = 0;
|
||||
animator.setUpdatee(&frame);
|
||||
animationTime.setUpdatee (&animator.timePeriod);
|
||||
//debugLog("End AnimatedSprite::AnimatedSprite()");
|
||||
|
||||
}
|
||||
|
||||
void AnimatedSprite::animate (AnimData &animData)
|
||||
|
|
131
BBGE/Base.cpp
131
BBGE/Base.cpp
|
@ -160,7 +160,6 @@ unsigned hash(const std::string &string)
|
|||
return hash;
|
||||
}
|
||||
|
||||
/* hash * 33 + c */
|
||||
|
||||
|
||||
static unsigned char lowerToUpperTable[256];
|
||||
|
@ -351,7 +350,7 @@ bool exists(const std::string &f, bool makeFatal, bool skipVFS)
|
|||
|
||||
void drawCircle(float radius, int stepSize)
|
||||
{
|
||||
//glDisable(GL_CULL_FACE);
|
||||
|
||||
|
||||
glBegin(GL_POLYGON);
|
||||
{
|
||||
|
@ -362,7 +361,7 @@ void drawCircle(float radius, int stepSize)
|
|||
}
|
||||
glEnd();
|
||||
|
||||
//glEnable(GL_CULL_FACE);
|
||||
|
||||
}
|
||||
|
||||
void exit_error(const std::string &message)
|
||||
|
@ -400,68 +399,7 @@ bool chancef(float p)
|
|||
return ((rand()%100) <= p*100);
|
||||
}
|
||||
|
||||
/*
|
||||
PHYSFS_file *openRead(const std::string &f)
|
||||
{
|
||||
|
||||
PHYSFS_file *file = PHYSFS_openRead(f.c_str());
|
||||
if (!file)
|
||||
{
|
||||
errorLog ("Could not open [" + f + "]");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
|
||||
void pfread(void *buffer, PHYSFS_uint32 size, PHYSFS_uint32 objs, PHYSFS_file *handle)
|
||||
{
|
||||
PHYSFS_read(handle, buffer, size, objs);
|
||||
}
|
||||
|
||||
void pfseek(PHYSFS_file *handle,PHYSFS_uint64 byte,int origin)
|
||||
{
|
||||
if (origin == SEEK_CUR)
|
||||
{
|
||||
byte += PHYSFS_tell(handle);
|
||||
}
|
||||
PHYSFS_seek(handle,byte);
|
||||
}
|
||||
|
||||
void pfclose(PHYSFS_file *handle)
|
||||
{
|
||||
PHYSFS_close(handle);
|
||||
}
|
||||
|
||||
std::string pLoadStream(const std::string &filename)
|
||||
{
|
||||
PHYSFS_file *f = openRead(filename.c_str());
|
||||
int len = PHYSFS_fileLength(f);
|
||||
std::string s;
|
||||
for (int i = 0; i < len; i++)
|
||||
{
|
||||
char p;
|
||||
PHYSFS_read(f, &p, sizeof(char), 1);
|
||||
s += p;
|
||||
}
|
||||
//std::istringstream is(s);
|
||||
|
||||
PHYSFS_close(f);
|
||||
return s;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void pSaveStream(const std::string &filename, std::ostringstream &os)
|
||||
{
|
||||
PHYSFS_file *f = PHYSFS_openWrite(filename.c_str());
|
||||
//int size = os.str().size();
|
||||
//PHYSFS_write(f, (void*)size, sizeof(int), 1);
|
||||
PHYSFS_write(f, (void*)os.str().c_str(), sizeof(char)*os.str().size(), 1);
|
||||
PHYSFS_close(f);
|
||||
}
|
||||
*/
|
||||
|
||||
void errorLog(const std::string &s)
|
||||
{
|
||||
|
@ -557,29 +495,7 @@ tinyxml2::XMLDocument *readXML(const std::string& fn, tinyxml2::XMLError *perr /
|
|||
return doc;
|
||||
}
|
||||
|
||||
/*
|
||||
void pForEachFile(std::string path, std::string type, void callback(const std::string &filename, int param), int param)
|
||||
{
|
||||
char **rc = PHYSFS_enumerateFiles(path.c_str());
|
||||
char **i;
|
||||
|
||||
for (i = rc; *i != NULL; i++)
|
||||
{
|
||||
std::string s(*i);
|
||||
int p=0;
|
||||
if ((p=s.find('.'))!=std::string::npos)
|
||||
{
|
||||
std::string ext = s.susbtr(p, s.getLength2D());
|
||||
if (ext == type)
|
||||
{
|
||||
callback(fielnameafhghaha
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PHYSFS_freeList(rc);
|
||||
}
|
||||
*/
|
||||
|
||||
void doSingleFile(const std::string &path, const std::string &type, std::string filename, void callback(const std::string &filename, int param), int param)
|
||||
{
|
||||
|
@ -588,9 +504,9 @@ void doSingleFile(const std::string &path, const std::string &type, std::string
|
|||
std::string search = filename;
|
||||
stringToLower(search);
|
||||
std::string filetype = filename.substr(search.size()-4, search.size());
|
||||
//stringToUpper(filetype);
|
||||
//debugLog("comparing: " + filetype + " and: " + type);
|
||||
//if (filetype==type)
|
||||
|
||||
|
||||
|
||||
debugLog("checking:" + search + " for type:" + type);
|
||||
if (search.find(type)!=std::string::npos)
|
||||
{
|
||||
|
@ -721,9 +637,7 @@ void forEachFile(std::string path, std::string type, void callback(const std::st
|
|||
}
|
||||
|
||||
|
||||
//std::string add = "%s*" + type;
|
||||
|
||||
//sprintf(szDir, "%s*", path.c_str());
|
||||
sprintf(szDir, "%s\\*", path.c_str());
|
||||
|
||||
stringToUpper(type);
|
||||
|
@ -732,7 +646,7 @@ void forEachFile(std::string path, std::string type, void callback(const std::st
|
|||
hList = FindFirstFile(szDir, &FileData);
|
||||
if (hList == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
//printf("No files found\n\n");
|
||||
|
||||
debugLog("No files of type " + type + " found in path " + path);
|
||||
}
|
||||
else
|
||||
|
@ -744,13 +658,13 @@ void forEachFile(std::string path, std::string type, void callback(const std::st
|
|||
// Check the object is a directory or not
|
||||
//printf("%*s%s\n", indent, "", FileData.cFileName);
|
||||
std::string filename = FileData.cFileName;
|
||||
//debugLog("found: " + filename);
|
||||
|
||||
if (filename.size()>4)
|
||||
{
|
||||
|
||||
std::string filetype = filename.substr(filename.size()-4, filename.size());
|
||||
stringToUpper(filetype);
|
||||
//debugLog("comparing: " + filetype + " and: " + type);
|
||||
|
||||
if (filetype==type)
|
||||
{
|
||||
callback(path+filename, param);
|
||||
|
@ -760,12 +674,7 @@ void forEachFile(std::string path, std::string type, void callback(const std::st
|
|||
|
||||
if (!FindNextFile(hList, &FileData))
|
||||
{
|
||||
/*
|
||||
if (GetLastError() == ERROR_NO_MORE_FILES)
|
||||
{
|
||||
fFinished = TRUE;
|
||||
}
|
||||
*/
|
||||
|
||||
fFinished = TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -806,19 +715,14 @@ std::vector<std::string> getFileList(std::string path, std::string type, int par
|
|||
std::string filename = FileData.cFileName;
|
||||
if (filename.size()>4 && filename.substr(filename.size()-4, filename.size())==type)
|
||||
{
|
||||
//callback(path+filename, param);
|
||||
|
||||
list.push_back (filename);
|
||||
}
|
||||
|
||||
|
||||
if (!FindNextFile(hList, &FileData))
|
||||
{
|
||||
/*
|
||||
if (GetLastError() == ERROR_NO_MORE_FILES)
|
||||
{
|
||||
fFinished = TRUE;
|
||||
}
|
||||
*/
|
||||
|
||||
fFinished = TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -879,18 +783,7 @@ Vector getNearestPointOnLine(Vector a, Vector b, Vector c)
|
|||
return nearest;
|
||||
}
|
||||
|
||||
/*
|
||||
bool isTouchingLine(Vector lineStart, Vector lineEnd, Vector point, int radius)
|
||||
{
|
||||
Vector p = getNearestPointOnLine(lineStart, lineEnd, point);
|
||||
Vector diff = p - point;
|
||||
std::ostringstream os;
|
||||
os << "s(" << lineStart.x << ", " << lineStart.y << ") e(";
|
||||
os << lineEnd.x << ", " << lineEnd.y << ") - p(" << point.x << ", " << point.y << ")";
|
||||
debugLog(os.str());
|
||||
return (diff.getSquaredLength2D() < sqr(radius));
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
bool isTouchingLine(Vector lineStart, Vector lineEnd, Vector point, int radius, Vector *closestP)
|
||||
{
|
||||
|
|
26
BBGE/Base.h
26
BBGE/Base.h
|
@ -39,17 +39,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#ifdef BBGE_BUILD_WINDOWS
|
||||
|
||||
//#include "iprof/prof.h"
|
||||
//#define BBGE_PROF(x) Prof(x)
|
||||
|
||||
|
||||
#define BBGE_PROF(x)
|
||||
|
||||
/*
|
||||
//#ifdef BBGE_BUILD_DIRECTX
|
||||
#define DIRECTINPUT_VERSION 0x0800
|
||||
#include <dinput.h>
|
||||
//#endif
|
||||
*/
|
||||
|
||||
|
||||
#else
|
||||
#define BBGE_PROF(x)
|
||||
|
@ -100,7 +94,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include <queue>
|
||||
#include <map>
|
||||
#include <stack>
|
||||
//#include <typeinfo.h>
|
||||
|
||||
|
||||
#include "Rect.h"
|
||||
|
||||
|
@ -199,18 +193,7 @@ Vector colorRGB(int r, int g, int b);
|
|||
|
||||
GLuint generateEmptyTexture(int res);
|
||||
|
||||
//void pForEachFile(std::string path, std::string type, void callback(const std::string &filename, int param), int param);
|
||||
|
||||
/*
|
||||
void pfread(void *buffer, PHYSFS_uint32 size, PHYSFS_uint32 objs, PHYSFS_file *handle);
|
||||
void pfseek(PHYSFS_file *handle,PHYSFS_uint64 byte,int origin);
|
||||
void pfclose(PHYSFS_file *handle);
|
||||
|
||||
|
||||
PHYSFS_file *openRead(const std::string &f);
|
||||
std::string pLoadStream(const std::string &filename);
|
||||
void pSaveStream(const std::string &filename, std::ostringstream &os);
|
||||
*/
|
||||
|
||||
void drawCircle(float radius, int steps=1);
|
||||
bool isVectorInRect(const Vector &vec, const Vector &coord1, const Vector &coord2);
|
||||
|
@ -248,8 +231,7 @@ enum LerpType
|
|||
|
||||
float lerp(const float &v1, const float &v2, float dt, int lerpType);
|
||||
|
||||
//int packFile(const std::string &sourcef, const std::string &destf, int level);
|
||||
//int unpackFile(const std::string &sourcef, const std::string &destf);
|
||||
|
||||
|
||||
void openURL(const std::string &url);
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
#include "BitmapFont.h"
|
||||
#include "Core.h"
|
||||
//#include "DSQ.h"
|
||||
|
||||
|
||||
using namespace glfont;
|
||||
|
||||
|
@ -79,13 +79,13 @@ BitmapText::BitmapText(BmpFont *bmpFont)
|
|||
align = ALIGN_CENTER;
|
||||
textWidth = 600;
|
||||
this->fontDrawSize = 24;
|
||||
//color = Vector(0.5,0.5,1);
|
||||
|
||||
cull = false;
|
||||
//setTexture(font);
|
||||
|
||||
|
||||
alignWidth = 0;
|
||||
|
||||
//fontTextureTest = core->addTexture("font");
|
||||
|
||||
}
|
||||
|
||||
void BitmapText::autoKern()
|
||||
|
@ -163,7 +163,7 @@ void BitmapText::formatText()
|
|||
maxW = 0;
|
||||
for (int i = 0; i < text.size(); i++)
|
||||
{
|
||||
//currentWidth += spacingMap[text[i]]*fontDrawSize;
|
||||
|
||||
float sz = bmpFont->font.GetCharWidth(text[i])*bmpFont->scale;
|
||||
currentWidth += sz;
|
||||
|
||||
|
@ -216,24 +216,7 @@ void BitmapText::updateWordColoring()
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
for (int i = 0; i < lines.size(); i++)
|
||||
{
|
||||
int c = 0;
|
||||
for (int t = 0; t < dsq->continuity.wordColoring.size(); t++)
|
||||
{
|
||||
WordColoring *w = &dsq->continuity.wordColoring[t];
|
||||
if ((c = lines[i].find(w->word)) != std::string::npos)
|
||||
{
|
||||
for (int j = c; j < c + w->word.size(); j++)
|
||||
{
|
||||
colorIndices[i][j] = w->color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
//lines.push_back(text);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -315,13 +298,8 @@ void BitmapText::onRender()
|
|||
float bottom_color[3] = {bmpFont->fontBtmColor.x*color.x, bmpFont->fontBtmColor.y*color.y, bmpFont->fontBtmColor.z*color.z};
|
||||
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
/*
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
*/
|
||||
//glDisable(GL_CULL_FACE);
|
||||
|
||||
//glScalef(1, -1, 0);
|
||||
|
||||
|
||||
bmpFont->font.Begin();
|
||||
|
||||
|
@ -350,11 +328,7 @@ void BitmapText::onRender()
|
|||
x = -sz.first*0.5f*bmpFont->scale;
|
||||
}
|
||||
float la = 1.0f-(scrollDelay/scrollSpeed);
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "la: " << la;
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
bmpFont->font.DrawString(theLine, bmpFont->scale, x, y, top_color, bottom_color, alpha.x, la);
|
||||
y += adj;
|
||||
|
@ -376,7 +350,7 @@ void BitmapText::onRender()
|
|||
}
|
||||
}
|
||||
|
||||
//glEnable(GL_CULL_FACE);
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
|
||||
}
|
||||
|
@ -450,33 +424,4 @@ float BitmapText::getStringWidth(const std::string& text)
|
|||
return maxsize * bmpFont->scale;
|
||||
}
|
||||
|
||||
/*
|
||||
BitmapText::BitmapText() : RenderObject()
|
||||
{
|
||||
cull = false;
|
||||
followCamera = 1;
|
||||
scrollSpeed = 0.1f;
|
||||
}
|
||||
|
||||
void BitmapText::scrollText(const std::string &text, float scrollSpeed)
|
||||
{
|
||||
setText(text);
|
||||
this->scrollSpeed = scrollSpeed;
|
||||
}
|
||||
|
||||
void BitmapText::setText(const std::string &text)
|
||||
{
|
||||
this->text = text;
|
||||
}
|
||||
|
||||
std::string BitmapText::getText()
|
||||
{
|
||||
return text;
|
||||
}
|
||||
|
||||
void BitmapText::onRender()
|
||||
{
|
||||
CTextDrawer::GetSingleton().SetColor(color.x, color.y, color.z, alpha.getValue());
|
||||
dsq->print(position.x, 600 - (position.y + 16*2), text);
|
||||
}
|
||||
*/
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#ifndef BITMAPFONT_H
|
||||
#define BITMAPFONT_H
|
||||
|
||||
//#include "DrawText.h"
|
||||
|
||||
#include "RenderObject.h"
|
||||
#include "BaseText.h"
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ void BloomEffect::render()
|
|||
glPushMatrix();
|
||||
glLoadIdentity();
|
||||
|
||||
//glScalef(scale.x, scale.y, 0);
|
||||
|
||||
|
||||
float spost = 0.0;
|
||||
|
||||
|
|
|
@ -41,22 +41,7 @@ CollisionShape::Type CollisionShape::getType()
|
|||
return type;
|
||||
}
|
||||
|
||||
/*
|
||||
bool CollisionShape::compareMask(CollisionShape &c)
|
||||
{
|
||||
for (CollisionLayerMask::iterator i = c.colliderMask.begin(); i != c.colliderMask.end(); i++)
|
||||
{
|
||||
for (CollisionLayerMask::iterator j = c.collideeMask.begin(); j != c.collideeMask.end(); j++)
|
||||
{
|
||||
if ((*i)) && (*j))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
bool CollisionShape::compareLayer(CollisionShape &c)
|
||||
{
|
||||
return (this->layer <= c.layer);
|
||||
|
@ -65,19 +50,7 @@ bool CollisionShape::compareLayer(CollisionShape &c)
|
|||
void CollisionShape::updatePosition(const Vector &position)
|
||||
{
|
||||
this->position = position + offsetPosition;
|
||||
/*
|
||||
switch (getType())
|
||||
{
|
||||
case AABB:
|
||||
{
|
||||
corners[0] = position + Vector( - xw, - yw);
|
||||
corners[1] = position + Vector(xw, - yw);
|
||||
corners[2] = position + Vector(xw, yw);
|
||||
corners[3] = position + Vector(-xw ,yw);
|
||||
}
|
||||
break;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -142,7 +115,7 @@ CollisionResult CollisionShape::findOverlap(CollisionShape &collisionShape)
|
|||
|
||||
}
|
||||
}
|
||||
//return collideCircleWithAABB(collisionShape);
|
||||
|
||||
}
|
||||
break;
|
||||
case TOP_HALF_CIRCLE:
|
||||
|
@ -158,20 +131,16 @@ CollisionResult CollisionShape::findOverlap(CollisionShape &collisionShape)
|
|||
CollisionResult CollisionShape::collideCircleWithCircle(CollisionShape &collisionShape)
|
||||
{
|
||||
CollisionResult c;
|
||||
Vector dist = position - collisionShape.position;// - position;
|
||||
Vector dist = position - collisionShape.position;
|
||||
float fastLen = dist.getSquaredLength2D();
|
||||
float totalDist = (radius + collisionShape.radius);
|
||||
if (fastLen < (totalDist*totalDist))
|
||||
{
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "len " << len << " totalDist " << totalDist;
|
||||
msg(os.str());
|
||||
*/
|
||||
|
||||
float len = dist.getLength2D();
|
||||
c.collided = true;
|
||||
dist.setLength2D(totalDist - len);
|
||||
//dist |= totalDist;
|
||||
|
||||
c.overlap = dist;
|
||||
}
|
||||
else
|
||||
|
@ -210,10 +179,8 @@ void CollisionShape::render()
|
|||
drawCircle(radius);
|
||||
break;
|
||||
case AABB:
|
||||
//case CIRCLE:
|
||||
//glColor3f(1,1,1);
|
||||
|
||||
//glLineWidth(2);
|
||||
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
{
|
||||
|
@ -222,21 +189,7 @@ void CollisionShape::render()
|
|||
glVertex2f(xw,-yw);
|
||||
glVertex2f(-xw,-yw);
|
||||
|
||||
/*
|
||||
glColor4f(0.0f, 1.0f, 0.0f, 1.0f);
|
||||
glVertex2f(topLeft.x, topLeft.y);
|
||||
glVertex2f(bottomRight.x, topLeft.y);
|
||||
|
||||
glVertex2f(bottomRight.x, topLeft.y);
|
||||
glVertex2f(bottomRight.x, bottomRight.y);
|
||||
|
||||
glVertex2f(bottomRight.x, bottomRight.y);
|
||||
glVertex2f(topLeft.x, bottomRight.y);
|
||||
|
||||
glVertex2f(topLeft.x, bottomRight.y);
|
||||
glVertex2f(topLeft.x, topLeft.y);
|
||||
|
||||
*/
|
||||
}
|
||||
glEnd();
|
||||
|
||||
|
@ -244,47 +197,11 @@ void CollisionShape::render()
|
|||
}
|
||||
|
||||
glTranslatef(-offsetPosition.x, -offsetPosition.y,0);
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
// FOR EDGES
|
||||
|
||||
if (position.y > collisionShape.getY1() - radius && position.y < collisionShape.getY2() + radius)
|
||||
{
|
||||
float dist = collisionShape.getX1() - position.x;
|
||||
if (dist > 0 && dist < radius)
|
||||
{
|
||||
c.collided = true;
|
||||
c.overlap = Vector(radius - dist,0);
|
||||
}
|
||||
else if (dist < 0 && -dist < radius)
|
||||
{
|
||||
c.collided = true;
|
||||
c.overlap = -Vector(radius - (-dist),0);
|
||||
}
|
||||
}
|
||||
|
||||
if (!c.collided)
|
||||
{
|
||||
if (position.y > collisionShape.getY1() - radius && position.y < collisionShape.getY2() + radius)
|
||||
{
|
||||
float dist = collisionShape.getX2() - position.x;
|
||||
if (dist > 0 && dist < radius)
|
||||
{
|
||||
c.collided = true;
|
||||
c.overlap += Vector(radius - dist,0);
|
||||
}
|
||||
else if (dist < 0 && -dist < radius)
|
||||
{
|
||||
c.collided = true;
|
||||
c.overlap += -Vector(radius - (-dist),0);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
CollisionResult CollisionShape::collideCircleWithAABB(CollisionShape &collisionShape, float x, float y, int oH, int oV)
|
||||
{
|
||||
|
@ -336,14 +253,14 @@ CollisionResult CollisionShape::collideCircleWithAABB(CollisionShape &collisionS
|
|||
}
|
||||
else
|
||||
{
|
||||
// msg ("oH == 0, oV != 0");
|
||||
|
||||
c.reportCollision(Vector(0, y*oV));
|
||||
return c;
|
||||
}
|
||||
}
|
||||
else if(oV == 0)
|
||||
{
|
||||
// msg ("oV == 0");
|
||||
|
||||
c.reportCollision(Vector(x*oH,0));
|
||||
return c;
|
||||
}
|
||||
|
|
|
@ -50,11 +50,7 @@ class CollisionShape
|
|||
public:
|
||||
CollisionShape();
|
||||
|
||||
/*
|
||||
void addCollisionGroup(int group);
|
||||
void removeCollisionGroup(int group);
|
||||
void canCollideWithGroup();
|
||||
*/
|
||||
|
||||
|
||||
void updatePosition(const Vector &position);
|
||||
|
||||
|
@ -93,17 +89,14 @@ public:
|
|||
Vector offsetPosition;
|
||||
|
||||
bool compareLayer(CollisionShape &c);
|
||||
//bool compareMask(CollisionShape &c);
|
||||
|
||||
int getLayer() { return layer; }
|
||||
void setLayer(int layer) { this->layer = layer; }
|
||||
|
||||
bool project;
|
||||
protected:
|
||||
int layer;
|
||||
/*
|
||||
typedef std::vector<int> CollisionLayerMask;
|
||||
CollisionLayerMask colliderMask, collideeMask;
|
||||
*/
|
||||
|
||||
std::vector<Vector> corners;
|
||||
Vector position;
|
||||
bool active;
|
||||
|
@ -116,31 +109,6 @@ protected:
|
|||
Type type;
|
||||
};
|
||||
|
||||
/*
|
||||
class CollisionObject
|
||||
{
|
||||
public:
|
||||
void onCollision();
|
||||
void collide()
|
||||
{
|
||||
CollisionResult c;
|
||||
for (int i = 0; i < collisionManager->colliders.size(); i++)
|
||||
{
|
||||
c = findOverlap(collisionManager->colliders[i]->collisionShape);
|
||||
if (c.collided)
|
||||
{
|
||||
position -= c.overlap;
|
||||
collisionShape.position =
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class CollisionManager
|
||||
{
|
||||
public:
|
||||
void addCollider(
|
||||
};
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
566
BBGE/Core.cpp
566
BBGE/Core.cpp
File diff suppressed because it is too large
Load diff
59
BBGE/Core.h
59
BBGE/Core.h
|
@ -37,17 +37,13 @@ BUILD_LINUX
|
|||
#include "StateManager.h"
|
||||
#include "Light.h"
|
||||
#include "Flags.h"
|
||||
//#include "Scripting.h"
|
||||
|
||||
#include "Effects.h"
|
||||
#include "Localization.h"
|
||||
|
||||
#include "DarkLayer.h"
|
||||
|
||||
/*
|
||||
#ifdef BBGE_BUILD_WINDOWS
|
||||
#include "Joystick.h"
|
||||
#endif
|
||||
*/
|
||||
|
||||
|
||||
#include "FrameBuffer.h"
|
||||
#include "Shader.h"
|
||||
|
@ -107,13 +103,8 @@ const int baseVirtualHeight = 600;
|
|||
|
||||
enum GameKeys
|
||||
{
|
||||
// replace with GLFW equivalent
|
||||
/*
|
||||
KEY_DOWNARROW = GLFW_KEY_DOWN,
|
||||
KEY_RIGHTARROW = GLFW_KEY_RIGHT,
|
||||
KEY_UPARROW = GLFW_KEY_UP,
|
||||
KEY_LEFTARROW = GLFW_KEY_LEFT,
|
||||
*/
|
||||
|
||||
|
||||
|
||||
KEY_LSUPER,
|
||||
KEY_RSUPER,
|
||||
|
@ -122,8 +113,8 @@ enum GameKeys
|
|||
KEY_BACKSPACE,
|
||||
KEY_PRINTSCREEN,
|
||||
|
||||
//KEY_CAPSLOCK,
|
||||
//KEY_CIRCUMFLEX,
|
||||
|
||||
|
||||
KEY_LALT,
|
||||
KEY_RALT,
|
||||
KEY_LSHIFT,
|
||||
|
@ -142,7 +133,7 @@ enum GameKeys
|
|||
KEY_SEMICOLON,
|
||||
KEY_LBRACKET,
|
||||
KEY_RBRACKET,
|
||||
//KEY_RALT,
|
||||
|
||||
KEY_TILDE,
|
||||
KEY_0,
|
||||
KEY_1,
|
||||
|
@ -306,10 +297,10 @@ enum FollowCameraLock
|
|||
FCL_VERT = 2
|
||||
};
|
||||
|
||||
//RenderObject Layer Type (enable only one)
|
||||
//#define RLT_DYNAMIC // Dynamic list
|
||||
#define RLT_FIXED // Static array
|
||||
//#define RLT_MAP // Mapping
|
||||
|
||||
|
||||
#define RLT_FIXED
|
||||
|
||||
|
||||
typedef std::vector <RenderObject*> RenderObjects;
|
||||
typedef std::list <RenderObject*> RenderObjectList;
|
||||
|
@ -415,9 +406,9 @@ public:
|
|||
void initRenderObjectLayers(int num);
|
||||
|
||||
void applyState(const std::string &state);
|
||||
//bool createGlWindow(char* title, int width, int height, int bits, bool fullscreenflag);
|
||||
|
||||
bool createWindow(int width, int height, int bits, bool fullscreen, std::string windowTitle="");
|
||||
//void setWindowTitle(const std::string &title); // func not yet written
|
||||
|
||||
void clearBuffers();
|
||||
void render(int startLayer=-1, int endLayer=-1, bool useFrameBufferIfAvail=true);
|
||||
void showBuffer();
|
||||
|
@ -446,7 +437,7 @@ public:
|
|||
|
||||
void main(float runTime = -1); // can use main
|
||||
|
||||
//void adjustWindowPosition(int x, int y);
|
||||
|
||||
|
||||
// state functions
|
||||
|
||||
|
@ -503,15 +494,7 @@ public:
|
|||
|
||||
void resetGraphics(int w, int h, int fullscreen=-1, int vsync=-1, int bpp=-1);
|
||||
|
||||
/*
|
||||
#ifdef BBGE_BUILD_OPENGL
|
||||
void getWindowHeight(int *height)
|
||||
{glfwGetWindowSize(0, height);}
|
||||
|
||||
void getWindowWidth(int *width)
|
||||
{glfwGetWindowSize(width, 0);}
|
||||
#endif
|
||||
*/
|
||||
|
||||
void setDockIcon(const std::string &ident);
|
||||
|
||||
|
@ -541,7 +524,7 @@ public:
|
|||
|
||||
RenderObjectLayer *getRenderObjectLayer(int i);
|
||||
std::vector <int> renderObjectLayerOrder;
|
||||
//typedef std::list<RenderObject*> RenderObjects;
|
||||
|
||||
typedef std::vector<RenderObjectLayer> RenderObjectLayers;
|
||||
RenderObjectLayers renderObjectLayers;
|
||||
|
||||
|
@ -574,7 +557,6 @@ public:
|
|||
|
||||
ParticleManager *particleManager;
|
||||
|
||||
//Scripting::Script script;
|
||||
|
||||
|
||||
void setBaseTextureDirectory(const std::string &baseTextureDirectory)
|
||||
|
@ -621,7 +603,7 @@ public:
|
|||
|
||||
void applyMatrixStackToWorld();
|
||||
void translateMatrixStack(float x, float y, float z=0);
|
||||
//void translateMatrixStackRelative(float x, float y, float z=0);
|
||||
|
||||
void rotateMatrixStack(float x, float y, float z);
|
||||
void scaleMatrixStack(float x, float y, float z=1);
|
||||
void rotateMatrixStack(float z);
|
||||
|
@ -656,14 +638,10 @@ public:
|
|||
|
||||
int particlesPaused;
|
||||
|
||||
//JoystickData joystickData[4];
|
||||
|
||||
bool joystickEnabled;
|
||||
bool joystickOverrideMouse;
|
||||
/*
|
||||
int numJoysticks;
|
||||
DIJOYSTATE2 joystate;
|
||||
Joystick* joysticks[4];
|
||||
*/
|
||||
|
||||
|
||||
bool debugLogTextures;
|
||||
|
||||
|
@ -819,7 +797,6 @@ protected:
|
|||
|
||||
CountedPtr<Texture> texError;
|
||||
|
||||
//unsigned int windowWidth, windowHeight;
|
||||
|
||||
|
||||
int tgaSaveSeries(char *filename, short int width, short int height, unsigned char pixelDepth, unsigned char *imageData);
|
||||
|
|
|
@ -23,17 +23,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
DFSprite::DFSprite() : AnimatedSprite()
|
||||
{
|
||||
//debugLog("DFSprite::DFSprite()");
|
||||
|
||||
currentDatafile = 0;
|
||||
//debugLog("End DFSprite::DFSprite()");
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
DFSprite::~DFSprite()
|
||||
{
|
||||
destroy();
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
void DFSprite::destroy()
|
||||
{
|
||||
|
@ -63,12 +58,9 @@ void DFSprite::onUpdate(float dt)
|
|||
void DFSprite::onSetTexture()
|
||||
{
|
||||
Quad::onSetTexture();
|
||||
/*
|
||||
width = texture->width;
|
||||
height = texture->height;
|
||||
*/
|
||||
|
||||
//scale = Vector(texture->width, texture->height,0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// returns index of datafile with the specified name
|
||||
|
|
|
@ -29,10 +29,10 @@ class DFSprite : public AnimatedSprite
|
|||
{
|
||||
public:
|
||||
DFSprite();
|
||||
//~DFSprite();
|
||||
|
||||
void destroy();
|
||||
|
||||
//void animate();
|
||||
|
||||
|
||||
int findDatafile(const std::string &name);
|
||||
void selectDatafile(int index);
|
||||
|
|
|
@ -63,7 +63,7 @@ bool DarkLayer::isUsed()
|
|||
//HACK: disabling dark layer for temporary testing build
|
||||
// MAKE SURE TO RESTORE THIS CODE TO THE WAY IT WAS
|
||||
return layer > -1 && active;
|
||||
//return false;
|
||||
|
||||
}
|
||||
|
||||
void DarkLayer::setLayers(int layer, int rl)
|
||||
|
@ -110,9 +110,8 @@ void DarkLayer::preRender()
|
|||
if (verbose) debugLog("viewport");
|
||||
|
||||
glViewport(0,0,quality,quality);
|
||||
//core->clearBuffers();
|
||||
|
||||
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
|
||||
if (verbose) debugLog("startCapture");
|
||||
|
||||
|
@ -145,10 +144,8 @@ void DarkLayer::preRender()
|
|||
glClearColor(0,0,0,0);
|
||||
|
||||
if (verbose) debugLog("done");
|
||||
/*
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
*/
|
||||
//glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, quality, quality, 0);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -158,8 +155,8 @@ void DarkLayer::render()
|
|||
{
|
||||
glPushMatrix();
|
||||
glLoadIdentity();
|
||||
//float percentX = (float)core->width/(float)quality;
|
||||
//float percentY = (float)core->height/(float)quality;
|
||||
|
||||
|
||||
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
if (useFrameBuffer)
|
||||
|
@ -167,15 +164,11 @@ void DarkLayer::render()
|
|||
else
|
||||
glBindTexture(GL_TEXTURE_2D,texture);
|
||||
|
||||
//glDisable(GL_BLEND);
|
||||
|
||||
|
||||
glEnable(GL_BLEND);
|
||||
//glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
//glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
//glBlendFunc(GL_ZERO, GL_SRC_COLOR);
|
||||
|
||||
//glBlendEquation(GL_FUNC_SUBTRACT);
|
||||
|
||||
// subtractive blend! (using color)
|
||||
glBlendFunc(GL_ZERO, GL_SRC_COLOR);
|
||||
|
@ -190,8 +183,8 @@ void DarkLayer::render()
|
|||
debugLog("darkLayer: invalid operation");
|
||||
}
|
||||
|
||||
//glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE);
|
||||
//glBlendFunc(GL_ONE_MINUS_SRC_COLOR, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
|
||||
glColor4f(1,1,1,1);
|
||||
|
||||
float width = core->getWindowWidth();
|
||||
|
|
|
@ -58,68 +58,14 @@ Texture* Datafile::get(int idx)
|
|||
}
|
||||
return textures[idx];
|
||||
}
|
||||
/*
|
||||
void Datafile::load(const std::string &name, int w, int h)
|
||||
{
|
||||
this->w = w;
|
||||
this->h = h;
|
||||
std::ifstream in;
|
||||
in.open(name);
|
||||
std::string read;
|
||||
while (std::getline(in,read))
|
||||
{
|
||||
Texture *t = new Texture;
|
||||
t->loadFromString(read);
|
||||
}
|
||||
}
|
||||
|
||||
void Datafile::save(const std::string &datafile)
|
||||
{
|
||||
std::ofstream out;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
void Datafile::loadFromAVI(const std::string &aviFile)
|
||||
{
|
||||
/*
|
||||
AviRender a(aviFile);
|
||||
|
||||
bool done = false;
|
||||
float time = 0;
|
||||
int counter = 20;
|
||||
while (!done)
|
||||
{
|
||||
// GLuint id;
|
||||
//a.bindFrameToTexture(time, &id);
|
||||
//if (id)
|
||||
{
|
||||
Texture *texture = new Texture;
|
||||
//a.setCurrentFrameAsTexture();
|
||||
//texture->id = a.id;
|
||||
a.bindFrameToTexture(time, texture->id, texture->imageData);
|
||||
|
||||
//texture->setID(id);
|
||||
texture->width = 512;
|
||||
texture->height = 512;
|
||||
addTexture(texture);
|
||||
//texture->addRef();
|
||||
//frame ++;
|
||||
}
|
||||
|
||||
|
||||
counter --;
|
||||
if (counter <= 0)
|
||||
done = true;
|
||||
|
||||
time += 1;
|
||||
//frame++;
|
||||
|
||||
}
|
||||
|
||||
//a.getCurrentFrameAsTexture();
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
void Datafile::loadTextureRange(const std::string &file, const std::string &type, int start, int end)
|
||||
|
|
|
@ -43,7 +43,7 @@ public:
|
|||
return textures.size();
|
||||
}
|
||||
protected:
|
||||
//void load(const std::string &name);
|
||||
|
||||
std::string name;
|
||||
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ void DebugFont::onRender()
|
|||
|
||||
for (int i = 0; i < lines.size(); i++)
|
||||
{
|
||||
//float width = (lines[i].size()-1) * fontDrawSize * 1.4f * 0.75f;
|
||||
|
||||
float width = (lines[i].size()) * fontDrawSize * 1.4f * 0.75f;
|
||||
if (align == ALIGN_CENTER)
|
||||
{
|
||||
|
|
|
@ -156,92 +156,5 @@ void PostProcessingFX::render()
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
GLuint blurTexture;
|
||||
GLuint emptyTexture() // Create An Empty Texture
|
||||
{
|
||||
GLuint txtnumber; // Texture ID
|
||||
unsigned int* data; // Stored Data
|
||||
|
||||
// Create Storage Space For Texture Data (128x128x4)
|
||||
data = (unsigned int*)new GLuint[((128 * 128)* 4 * sizeof(unsigned int))];
|
||||
ZeroMemory(data,((128 * 128)* 4 * sizeof(unsigned int))); // Clear Storage Memory
|
||||
|
||||
glGenTextures(1, &txtnumber); // Create 1 Texture
|
||||
glBindTexture(GL_TEXTURE_2D, txtnumber); // Bind The Texture
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, 4, 128, 128, 0,
|
||||
GL_RGBA, GL_UNSIGNED_BYTE, data); // Build Texture Using Information In data
|
||||
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
|
||||
|
||||
delete [] data; // Release data
|
||||
|
||||
return txtnumber; // Return The Texture ID
|
||||
}
|
||||
|
||||
PostProcessingFX::PostProcessingFX()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void PostProcessingFX::init(FXTypes type)
|
||||
{
|
||||
if (type == FXT_RADIALBLUR)
|
||||
{
|
||||
blurTexture = emptyTexture();
|
||||
}
|
||||
enabled[(int)type] = true;
|
||||
}
|
||||
|
||||
void PostProcessingFX::shutdown(FXTypes type)
|
||||
{
|
||||
enabled[int(type)] = false;
|
||||
}
|
||||
|
||||
void PostProcessingFX::preRender()
|
||||
{
|
||||
for (int i = 0; i < FXT_MAX; i++)
|
||||
{
|
||||
if (enabled[i])
|
||||
{
|
||||
FXTType type = (FXType)i;
|
||||
switch(type)
|
||||
{
|
||||
case FXT_RADIALBLUR:
|
||||
glViewport(0,0,128,128); // Set Our Viewport (Match Texture Size;
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And Depth Buffer
|
||||
core->render();
|
||||
glBindTexture(GL_TEXTURE_2D,BlurTexture); // Bind To The Blur Texture
|
||||
|
||||
// Copy Our ViewPort To The Blur Texture (From 0,0 To 128,128... No Border)
|
||||
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, 0, 0, 128, 128, 0);
|
||||
|
||||
glClearColor(0.0f, 0.0f, 0.5f, 0.5); // Set The Clear Color To Medium Blue
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And Depth Buffer
|
||||
|
||||
glViewport(0, 0, 800, 600);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PostProcessingFX::render()
|
||||
{
|
||||
for (int i = 0; i < FXT_MAX; i++)
|
||||
{
|
||||
if (enabled[i])
|
||||
{
|
||||
FXTType type = (FXType)i;
|
||||
switch(type)
|
||||
{
|
||||
case FXT_RADIALBLUR:
|
||||
glBegin(GL_QUADS);
|
||||
|
||||
glEnd();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
|
|
@ -37,7 +37,7 @@ void Emitter::destroy()
|
|||
}
|
||||
particles.clear();
|
||||
Quad::destroy();
|
||||
//particleManager->setFree(firstFree);
|
||||
|
||||
}
|
||||
|
||||
void Emitter::spawnParticle(float perc)
|
||||
|
@ -105,14 +105,7 @@ void Emitter::spawnParticle(float perc)
|
|||
p->rot.data->target.z += p->rot.z;
|
||||
}
|
||||
|
||||
/*
|
||||
if (data.calculateVelocityToCenter)
|
||||
{
|
||||
Vector pos = p->position - this->position;
|
||||
pos.setLength2D(1);
|
||||
quad->velocity = -p*particles[i].velocityMagnitude.x;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
if (data.randomVelocityMagnitude > 0)
|
||||
{
|
||||
|
@ -138,12 +131,7 @@ void Emitter::onUpdate(float dt)
|
|||
{
|
||||
Quad::onUpdate(dt);
|
||||
|
||||
/*
|
||||
for (Particles::iterator i = particles.begin(); i != particles.end(); i++)
|
||||
{
|
||||
particleManager->updateParticle(*i, dt);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
if (pe->isRunning() && core->particlesPaused <= data.pauseLevel)
|
||||
{
|
||||
|
@ -232,16 +220,7 @@ void Emitter::removeParticle(Particle *p)
|
|||
}
|
||||
else
|
||||
particles.remove(p);
|
||||
/*
|
||||
for (Particles::reverse_iterator i = particles.rbegin(); i != particles.rend(); i++)
|
||||
{
|
||||
if (*i == p)
|
||||
{
|
||||
particles.erase(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void Emitter::render()
|
||||
|
@ -258,17 +237,7 @@ void Emitter::onRender()
|
|||
if (!data.spawnLocal)
|
||||
{
|
||||
glLoadIdentity();
|
||||
/*
|
||||
if (pe && pe->followCamera)
|
||||
{
|
||||
glLoadIdentity();
|
||||
glScalef(core->globalResolutionScale.x, core->globalResolutionScale.y,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
core->setupRenderPositionAndScale();
|
||||
}
|
||||
*/
|
||||
|
||||
core->setupRenderPositionAndScale();
|
||||
}
|
||||
|
||||
|
@ -306,16 +275,11 @@ void Emitter::onRender()
|
|||
|
||||
if (data.flipH || (data.copyParentFlip && (pe->isfh() || (pe->getParent() && pe->getParent()->isfh()))))
|
||||
{
|
||||
//glDisable(GL_CULL_FACE);
|
||||
|
||||
glRotatef(180, 0, 1, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
if (data.flipV || (data.copyParentFlip && (this->isfv() || (parent && parent->isfv()))))
|
||||
{
|
||||
glDisable(GL_CULL_FACE);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
glTexCoord2f(0,1);
|
||||
|
@ -388,23 +352,4 @@ void Emitter::onRender()
|
|||
|
||||
|
||||
|
||||
/*
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
glPointSize(4);
|
||||
glBegin(GL_POINTS);
|
||||
|
||||
for (Particles::iterator i = particles.begin(); i != particles.end(); i++)
|
||||
{
|
||||
Particle *p = *i;
|
||||
if (p->active)
|
||||
{
|
||||
glColor4f(1, 0, 0, 1);
|
||||
x = p->pos.x;
|
||||
y = p->pos.y;
|
||||
glVertex2f(x, y);
|
||||
}
|
||||
}
|
||||
glEnd();
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -239,5 +239,5 @@ float Timer::getValue()
|
|||
{
|
||||
return timer;
|
||||
}
|
||||
//EventPtr endEvent, startEvent;
|
||||
|
||||
|
||||
|
|
|
@ -1282,7 +1282,6 @@ void OpenALChannel::setSound(OpenALSound *_sound)
|
|||
|
||||
|
||||
|
||||
|
||||
// FMOD::System implementation ...
|
||||
|
||||
class OpenALSystem
|
||||
|
|
|
@ -113,10 +113,7 @@ bool FrameBuffer::init(int width, int height, bool fitToScreen, GLint filter)
|
|||
_fitToScreen = fitToScreen;
|
||||
if (width == 0 || height == 0)
|
||||
return false;
|
||||
/*
|
||||
if (width > height)
|
||||
height = width;
|
||||
*/
|
||||
|
||||
|
||||
w=width;
|
||||
h=height;
|
||||
|
@ -308,7 +305,7 @@ void FrameBuffer::startCapture()
|
|||
#ifdef BBGE_BUILD_FRAMEBUFFER
|
||||
|
||||
glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, g_frameBuffer );
|
||||
//glBindRenderbufferEXT( GL_RENDERBUFFER_EXT, g_depthRenderBuffer );
|
||||
|
||||
glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, g_dynamicTextureID, 0 );
|
||||
glFramebufferRenderbufferEXT( GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, g_depthRenderBuffer );
|
||||
|
||||
|
|
236
BBGE/GL/gl.h
236
BBGE/GL/gl.h
|
@ -44,9 +44,7 @@ extern "C" {
|
|||
#undef WINGDIAPI
|
||||
#define WINGDIAPI extern
|
||||
|
||||
/*#ifndef WIN32
|
||||
#define WINGDIAPI
|
||||
#endif*/
|
||||
|
||||
|
||||
#ifndef GLAPI
|
||||
# ifdef _WIN32
|
||||
|
@ -104,13 +102,13 @@ typedef void GLvoid;
|
|||
#define GL_SCISSOR_BIT 0x00080000
|
||||
#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF
|
||||
|
||||
/* ClearBufferMask */
|
||||
/* GL_COLOR_BUFFER_BIT */
|
||||
/* GL_ACCUM_BUFFER_BIT */
|
||||
/* GL_STENCIL_BUFFER_BIT */
|
||||
/* GL_DEPTH_BUFFER_BIT */
|
||||
|
||||
/* ClientAttribMask */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
|
||||
#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
|
||||
#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
|
||||
|
@ -158,55 +156,55 @@ typedef void GLvoid;
|
|||
#define GL_DST_ALPHA 0x0304
|
||||
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
||||
|
||||
/* BlendingFactorSrc */
|
||||
/* GL_ZERO */
|
||||
/* GL_ONE */
|
||||
|
||||
|
||||
|
||||
#define GL_DST_COLOR 0x0306
|
||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||
/* GL_SRC_ALPHA */
|
||||
/* GL_ONE_MINUS_SRC_ALPHA */
|
||||
/* GL_DST_ALPHA */
|
||||
/* GL_ONE_MINUS_DST_ALPHA */
|
||||
|
||||
/* ColorMaterialFace */
|
||||
/* GL_FRONT */
|
||||
/* GL_BACK */
|
||||
/* GL_FRONT_AND_BACK */
|
||||
|
||||
/* ColorMaterialParameter */
|
||||
/* GL_AMBIENT */
|
||||
/* GL_DIFFUSE */
|
||||
/* GL_SPECULAR */
|
||||
/* GL_EMISSION */
|
||||
/* GL_AMBIENT_AND_DIFFUSE */
|
||||
|
||||
/* ColorPointerType */
|
||||
/* GL_BYTE */
|
||||
/* GL_UNSIGNED_BYTE */
|
||||
/* GL_SHORT */
|
||||
/* GL_UNSIGNED_SHORT */
|
||||
/* GL_INT */
|
||||
/* GL_UNSIGNED_INT */
|
||||
/* GL_FLOAT */
|
||||
/* GL_DOUBLE */
|
||||
|
||||
/* CullFaceMode */
|
||||
/* GL_FRONT */
|
||||
/* GL_BACK */
|
||||
/* GL_FRONT_AND_BACK */
|
||||
|
||||
/* DepthFunction */
|
||||
/* GL_NEVER */
|
||||
/* GL_LESS */
|
||||
/* GL_EQUAL */
|
||||
/* GL_LEQUAL */
|
||||
/* GL_GREATER */
|
||||
/* GL_NOTEQUAL */
|
||||
/* GL_GEQUAL */
|
||||
/* GL_ALWAYS */
|
||||
|
||||
/* DrawBufferMode */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define GL_NONE 0
|
||||
#define GL_FRONT_LEFT 0x0400
|
||||
#define GL_FRONT_RIGHT 0x0401
|
||||
|
@ -222,75 +220,75 @@ typedef void GLvoid;
|
|||
#define GL_AUX2 0x040B
|
||||
#define GL_AUX3 0x040C
|
||||
|
||||
/* EnableCap */
|
||||
/* GL_FOG */
|
||||
/* GL_LIGHTING */
|
||||
/* GL_TEXTURE_1D */
|
||||
/* GL_TEXTURE_2D */
|
||||
/* GL_LINE_STIPPLE */
|
||||
/* GL_POLYGON_STIPPLE */
|
||||
/* GL_CULL_FACE */
|
||||
/* GL_ALPHA_TEST */
|
||||
/* GL_BLEND */
|
||||
/* GL_INDEX_LOGIC_OP */
|
||||
/* GL_COLOR_LOGIC_OP */
|
||||
/* GL_DITHER */
|
||||
/* GL_STENCIL_TEST */
|
||||
/* GL_DEPTH_TEST */
|
||||
/* GL_CLIP_PLANE0 */
|
||||
/* GL_CLIP_PLANE1 */
|
||||
/* GL_CLIP_PLANE2 */
|
||||
/* GL_CLIP_PLANE3 */
|
||||
/* GL_CLIP_PLANE4 */
|
||||
/* GL_CLIP_PLANE5 */
|
||||
/* GL_LIGHT0 */
|
||||
/* GL_LIGHT1 */
|
||||
/* GL_LIGHT2 */
|
||||
/* GL_LIGHT3 */
|
||||
/* GL_LIGHT4 */
|
||||
/* GL_LIGHT5 */
|
||||
/* GL_LIGHT6 */
|
||||
/* GL_LIGHT7 */
|
||||
/* GL_TEXTURE_GEN_S */
|
||||
/* GL_TEXTURE_GEN_T */
|
||||
/* GL_TEXTURE_GEN_R */
|
||||
/* GL_TEXTURE_GEN_Q */
|
||||
/* GL_MAP1_VERTEX_3 */
|
||||
/* GL_MAP1_VERTEX_4 */
|
||||
/* GL_MAP1_COLOR_4 */
|
||||
/* GL_MAP1_INDEX */
|
||||
/* GL_MAP1_NORMAL */
|
||||
/* GL_MAP1_TEXTURE_COORD_1 */
|
||||
/* GL_MAP1_TEXTURE_COORD_2 */
|
||||
/* GL_MAP1_TEXTURE_COORD_3 */
|
||||
/* GL_MAP1_TEXTURE_COORD_4 */
|
||||
/* GL_MAP2_VERTEX_3 */
|
||||
/* GL_MAP2_VERTEX_4 */
|
||||
/* GL_MAP2_COLOR_4 */
|
||||
/* GL_MAP2_INDEX */
|
||||
/* GL_MAP2_NORMAL */
|
||||
/* GL_MAP2_TEXTURE_COORD_1 */
|
||||
/* GL_MAP2_TEXTURE_COORD_2 */
|
||||
/* GL_MAP2_TEXTURE_COORD_3 */
|
||||
/* GL_MAP2_TEXTURE_COORD_4 */
|
||||
/* GL_POINT_SMOOTH */
|
||||
/* GL_LINE_SMOOTH */
|
||||
/* GL_POLYGON_SMOOTH */
|
||||
/* GL_SCISSOR_TEST */
|
||||
/* GL_COLOR_MATERIAL */
|
||||
/* GL_NORMALIZE */
|
||||
/* GL_AUTO_NORMAL */
|
||||
/* GL_POLYGON_OFFSET_POINT */
|
||||
/* GL_POLYGON_OFFSET_LINE */
|
||||
/* GL_POLYGON_OFFSET_FILL */
|
||||
/* GL_VERTEX_ARRAY */
|
||||
/* GL_NORMAL_ARRAY */
|
||||
/* GL_COLOR_ARRAY */
|
||||
/* GL_INDEX_ARRAY */
|
||||
/* GL_TEXTURE_COORD_ARRAY */
|
||||
/* GL_EDGE_FLAG_ARRAY */
|
||||
|
||||
/* ErrorCode */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define GL_NO_ERROR 0
|
||||
#define GL_INVALID_ENUM 0x0500
|
||||
#define GL_INVALID_VALUE 0x0501
|
||||
|
@ -317,8 +315,8 @@ typedef void GLvoid;
|
|||
#define GL_COPY_PIXEL_TOKEN 0x0706
|
||||
#define GL_LINE_RESET_TOKEN 0x0707
|
||||
|
||||
/* FogMode */
|
||||
/* GL_LINEAR */
|
||||
|
||||
|
||||
#define GL_EXP 0x0800
|
||||
#define GL_EXP2 0x0801
|
||||
|
||||
|
|
|
@ -59,38 +59,26 @@ void Gradient::makeHorizontal(Vector c1, Vector c2)
|
|||
|
||||
void Gradient::onRender()
|
||||
{
|
||||
//glNormal3f(0, 0, 1);
|
||||
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
//glNormal3f(0, 0, 1);
|
||||
|
||||
|
||||
glColor4f(ulc2.x*color.x, ulc2.y*color.y, ulc2.z*color.z, alpha.x);
|
||||
glVertex3f(-0.5, 0.5, 0.0f);
|
||||
|
||||
// 2
|
||||
|
||||
glColor4f(ulc3.x*color.x, ulc3.y*color.y, ulc3.z*color.z, alpha.x);
|
||||
glVertex3f( 0.5, 0.5, 0.0f);
|
||||
|
||||
// 3
|
||||
|
||||
glColor4f(ulc0.x*color.x, ulc0.y*color.y, ulc0.z*color.z, alpha.x);
|
||||
glVertex3f( 0.5, -0.5, 0.0f);
|
||||
|
||||
// 4
|
||||
|
||||
glColor4f(ulc1.x*color.x, ulc1.y*color.y, ulc1.z*color.z, alpha.x);
|
||||
glVertex3f(-0.5, -0.5, 0.0f);
|
||||
/*
|
||||
glColor3f(ulc0.x, ulc0.y, ulc0.z);
|
||||
glVertex3f(-0.5, -0.5, 0);
|
||||
|
||||
glColor3f(ulc1.x, ulc1.y, ulc1.z);
|
||||
glVertex3f(0.5, -0.5, 0);
|
||||
|
||||
glColor3f(ulc2.x, ulc2.y, ulc2.z);
|
||||
glVertex3f(0.5, 0.5, 0);
|
||||
|
||||
glColor3f(ulc3.x, ulc3.y, ulc3.z);
|
||||
glVertex3f(-0.5, 0.5, 0);
|
||||
*/
|
||||
glEnd();
|
||||
}
|
||||
|
||||
|
|
|
@ -110,48 +110,9 @@ void Interpolator::update (float dt)
|
|||
*updatee += speed * dt;
|
||||
if(*updatee > 255) *updatee = 0;
|
||||
if(*updatee < 0) *updatee = 255;
|
||||
/*
|
||||
timePassed += speed *dt;
|
||||
|
||||
if (timePassed >= timePeriod)
|
||||
{
|
||||
*updatee = to;
|
||||
interpolating = false;
|
||||
if (loopType != 0)
|
||||
{
|
||||
if (loopType > 0)
|
||||
loopType -= 1;
|
||||
if (pingPong)
|
||||
interpolateTo (from, timePeriod, loopType);
|
||||
else
|
||||
{
|
||||
*updatee = from;
|
||||
interpolateTo (to, timePeriod, loopType);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*updatee = (to - from) * (timePassed / timePeriod);
|
||||
*updatee += from;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
if (updatee >= to)
|
||||
{
|
||||
if (pingPong)
|
||||
{
|
||||
interpolateTo (from, timePeriod, loopType);
|
||||
//if(*updatee > to) *updatee = 0;
|
||||
//if(*updatee < from) *updatee = 255;
|
||||
}
|
||||
else
|
||||
{
|
||||
*updatee = from;
|
||||
interpolateTo (to, timePeriod, loopType);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -273,7 +273,7 @@ void Joystick::rumble(float leftMotor, float rightMotor, float time)
|
|||
|
||||
void Joystick::callibrate(Vector &calvec, float deadZone)
|
||||
{
|
||||
//float len = position.getLength2D();
|
||||
|
||||
if (calvec.isLength2DIn(deadZone))
|
||||
{
|
||||
calvec = Vector(0,0,0);
|
||||
|
@ -364,11 +364,6 @@ void Joystick::update(float dt)
|
|||
rightStick.y = yaxis2/32768.0f;
|
||||
#endif
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "joy(" << position.x << ", " << position.y << ")";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
|
||||
|
||||
callibrate(position, deadZone1);
|
||||
|
@ -376,11 +371,7 @@ void Joystick::update(float dt)
|
|||
callibrate(rightStick, deadZone2);
|
||||
|
||||
|
||||
/*
|
||||
std::ostringstream os2;
|
||||
os2 << "joy2(" << position.x << ", " << position.y << ")";
|
||||
debugLog(os2.str());
|
||||
*/
|
||||
|
||||
#ifdef BBGE_BUILD_SDL2
|
||||
if (sdl_controller)
|
||||
{
|
||||
|
@ -398,17 +389,7 @@ void Joystick::update(float dt)
|
|||
for (int i = 0; i < maxJoyBtns; i++)
|
||||
buttons[i] = SDL_JoystickGetButton(sdl_joy, i)?DOWN:UP;
|
||||
#endif
|
||||
/*
|
||||
unsigned char btns[maxJoyBtns];
|
||||
glfwGetJoystickButtons(GLFW_JOYSTICK_1, btns, maxJoyBtns);
|
||||
for (int i = 0; i < maxJoyBtns; i++)
|
||||
{
|
||||
if (btns[i] == GLFW_PRESS)
|
||||
buttons[i] = DOWN;
|
||||
else
|
||||
buttons[i] = UP;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -424,11 +405,6 @@ void Joystick::update(float dt)
|
|||
|
||||
|
||||
|
||||
/*
|
||||
std::ostringstream os;
|
||||
os << "j-pos(" << position.x << ", " << position.y << " - b0[" << buttons[0] << "]) - len[" << len << "]";
|
||||
debugLog(os.str());
|
||||
*/
|
||||
}
|
||||
|
||||
bool Joystick::anyButton()
|
||||
|
|
|
@ -43,7 +43,7 @@ void LensFlare::addFlare(const std::string &tex, Vector color, int w, int h)
|
|||
|
||||
void LensFlare::onUpdate(float dt)
|
||||
{
|
||||
//const int maxLen = 1500;
|
||||
|
||||
RenderObject::onUpdate(dt);
|
||||
Vector v = core->screenCenter - this->position;
|
||||
if (v.getSquaredLength2D() > sqr(maxLen))
|
||||
|
@ -53,7 +53,7 @@ void LensFlare::onUpdate(float dt)
|
|||
float l = v.getLength2D();
|
||||
float a = 1.0f-(l/(float)maxLen);
|
||||
a*=0.8f;
|
||||
//Vector vbit = v*(1.0f/flares.size());
|
||||
|
||||
Vector vbit = v;
|
||||
vbit *= inc;
|
||||
for (int i = 0; i < flares.size(); i++)
|
||||
|
|
|
@ -30,7 +30,7 @@ void LightCone::onRender()
|
|||
{
|
||||
RenderObject::onRender();
|
||||
glBegin(GL_QUADS);
|
||||
//glNormal3f( 0.0f, 0, 1.0f);
|
||||
|
||||
glColor4f(color.x, color.y, color.z, 1*alpha.x);
|
||||
glVertex3f(0, 0, 0);
|
||||
glColor4f(color.x, color.y, color.z,1*alpha.x);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include <assert.h>
|
||||
|
||||
//#define DD(...) fprintf(stderr, __VA_ARGS__)
|
||||
|
||||
#define DD(...)
|
||||
#define logdev(...)
|
||||
#define logerror(...)
|
||||
|
|
|
@ -79,8 +79,8 @@ private:
|
|||
|
||||
inline unsigned int GetIndexForElemSize(unsigned int elemSize)
|
||||
{
|
||||
//ASSERT(elemSize);
|
||||
//ASSERT(elemSize <= _blockSizeMax);
|
||||
|
||||
|
||||
return ((elemSize + (_blockSizeIncr - 1)) / _blockSizeIncr) - 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ const std::string modelPath = "models/";
|
|||
Model::Model() : RenderObject()
|
||||
{
|
||||
m_calModel = 0;
|
||||
//, coreModel("poot")
|
||||
|
||||
m_calCoreModel = new CalCoreModel("model");
|
||||
if (!m_calCoreModel)
|
||||
{
|
||||
|
@ -242,13 +242,7 @@ bool Model::load(const std::string& _strFilename)
|
|||
// set the material set of the whole model
|
||||
m_calModel->setMaterialSet(0);
|
||||
|
||||
// set initial animation state
|
||||
/*
|
||||
m_state = STATE_MOTION;
|
||||
m_calModel->getMixer()->blendCycle(m_animationId[STATE_MOTION], m_motionBlend[0], 0.0f);
|
||||
m_calModel->getMixer()->blendCycle(m_animationId[STATE_MOTION + 1], m_motionBlend[1], 0.0f);
|
||||
m_calModel->getMixer()->blendCycle(m_animationId[STATE_MOTION + 2], m_motionBlend[2], 0.0f);
|
||||
*/
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -393,20 +387,8 @@ void Model::renderMesh(bool bWireframe, bool bLight)
|
|||
glDisable(GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
// DEBUG-CODE //////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
glBegin(GL_LINES);
|
||||
glColor3f(1.0f, 1.0f, 1.0f);
|
||||
int vertexId;
|
||||
for(vertexId = 0; vertexId < vertexCount; vertexId++)
|
||||
{
|
||||
const float scale = 0.3f;
|
||||
glVertex3f(meshVertices[vertexId][0], meshVertices[vertexId][1], meshVertices[vertexId][2]);
|
||||
glVertex3f(meshVertices[vertexId][0] + meshNormals[vertexId][0] * scale, meshVertices[vertexId][1] + meshNormals[vertexId][1] * scale, meshVertices[vertexId][2] + meshNormals[vertexId][2] * scale);
|
||||
}
|
||||
glEnd();
|
||||
*/
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -437,10 +419,7 @@ glEnd();
|
|||
|
||||
void Model::onRender()
|
||||
{
|
||||
/*
|
||||
glClearDepth(1.0f);
|
||||
core->resize3D();
|
||||
*/
|
||||
|
||||
|
||||
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
|
||||
glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue