1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-12-01 15:35:47 +00:00

remove frame recording (Demo.cpp) and related code

This commit is contained in:
fgenesis 2022-05-12 17:25:52 +02:00
parent 9bcb34c984
commit ca4d56b620
7 changed files with 3 additions and 259 deletions

View file

@ -11,7 +11,6 @@ SET(AQUARIA_SRCS
Continuity.cpp Continuity.cpp
Credits.cpp Credits.cpp
CurrentRender.cpp CurrentRender.cpp
Demo.cpp
DSQ.cpp DSQ.cpp
Element.cpp Element.cpp
Emote.cpp Emote.cpp

View file

@ -267,7 +267,6 @@ void DSQ::rumble(float leftMotor, float rightMotor, float time, int source, Inpu
void DSQ::newGame() void DSQ::newGame()
{ {
dsq->game->resetFromTitle(); dsq->game->resetFromTitle();
dsq->initScene = ;
dsq->game->transitionToScene("NaijaCave"); dsq->game->transitionToScene("NaijaCave");
} }
@ -565,10 +564,8 @@ void DSQ::debugMenu()
{ {
dsq->quitNestedMain(); dsq->quitNestedMain();
} }
else if (c == '5') else if (c == '5')
{ {
dsq->game->invinciblity = !dsq->game->invinciblity; dsq->game->invinciblity = !dsq->game->invinciblity;
} }
else if (c == '6') else if (c == '6')
@ -604,8 +601,6 @@ void DSQ::debugMenu()
char read=' '; char read=' ';
is >> read >> num; is >> read >> num;
dsq->continuity.learnSong(num); dsq->continuity.learnSong(num);
} }
else if (c == 'F') else if (c == 'F')
{ {
@ -627,32 +622,6 @@ void DSQ::debugMenu()
is >> read >> nm; is >> read >> nm;
dsq->continuity.setCostume(nm); dsq->continuity.setCostume(nm);
} }
else if (c == 'R')
{
dsq->demo.toggleRecord(true);
}
else if (c == 'P')
{
dsq->demo.togglePlayback(true);
}
else if (c == 'T')
{
if (dsq->demo.frames.size()> 0)
{
dsq->game->avatar->position = dsq->demo.frames[0].avatarPos;
dsq->game->avatar->rotation.z = dsq->demo.frames[0].rot;
}
}
else if (c == 'U')
{
dsq->demo.renderFramesToDisk();
}
else if (c == 'K')
{
dsq->demo.clearRecordedFrames();
}
else if (c == 'H') else if (c == 'H')
{ {
std::ostringstream os; std::ostringstream os;
@ -661,12 +630,8 @@ void DSQ::debugMenu()
float h = 0; float h = 0;
is >> h; is >> h;
dsq->game->avatar->health = h; dsq->game->avatar->health = h;
} }
} }
} }
} }
} }
@ -3826,8 +3791,6 @@ void DSQ::onUpdate(float dt)
subtitlePlayer.update(dt); subtitlePlayer.update(dt);
demo.update(dt);
if (joystickEnabled) if (joystickEnabled)
{ {
if (dsq->getInputMode() != INPUT_JOYSTICK) if (dsq->getInputMode() != INPUT_JOYSTICK)
@ -4205,11 +4168,6 @@ void DSQ::modifyDt(float &dt)
dt = 1.0f/60.0f; dt = 1.0f/60.0f;
doScreenshot = true; doScreenshot = true;
} }
if (dsq->demo.mode == Demo::DEMOMODE_RECORD)
{
dt = 1.0f/60.0f;
}
} }
void DSQ::removeElement(Element *element) void DSQ::removeElement(Element *element)

View file

@ -126,42 +126,6 @@ extern GameplayVariables *vars;
#include "UserSettings.h" #include "UserSettings.h"
struct DemoFrame
{
float t;
Vector avatarPos, vel, vel2;
Mouse mouse;
float rot;
};
class Demo
{
public:
enum {
DEMOMODE_NONE = -1,
DEMOMODE_RECORD = 0,
DEMOMODE_PLAYBACK = 1
};
Demo();
void toggleRecord(bool on);
void togglePlayback(bool on);
void renderFramesToDisk();
void clearRecordedFrames();
void update(float dt);
bool getQuitKey();
void save(const std::string &name);
void load(const std::string &name);
unsigned int frame;
float time;
float timeDiff;
std::vector <DemoFrame> frames;
int mode;
};
enum NagType enum NagType
{ {
NAG_TOTITLE = 0, NAG_TOTITLE = 0,
@ -374,8 +338,6 @@ public:
std::string returnToScene; std::string returnToScene;
Demo demo;
DebugFont *fpsText, *cmDebug; DebugFont *fpsText, *cmDebug;
DebugFont *console; DebugFont *console;
BitmapText *versionLabel; BitmapText *versionLabel;

View file

@ -1,168 +0,0 @@
/*
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 "DSQ.h"
#include "Game.h"
#include "Avatar.h"
Demo::Demo()
{
time = 0;
mode = DEMOMODE_NONE;
frame = 0;
}
void Demo::toggleRecord(bool on)
{
if (on)
{
togglePlayback(false);
frames.clear();
mode = DEMOMODE_RECORD;
time = 0;
timeDiff = 0;
frame = 0;
}
else
{
mode = DEMOMODE_NONE;
}
}
void Demo::togglePlayback(bool on)
{
if (on)
{
core->updateMouse = false;
mode = DEMOMODE_PLAYBACK;
time = 0;
timeDiff = 0;
frame = 0;
}
else
{
core->frameOutputMode = false;
core->updateMouse = true;
mode = DEMOMODE_NONE;
}
}
void Demo::renderFramesToDisk()
{
core->frameOutputMode = true;
togglePlayback(true);
}
void Demo::save(const std::string &name)
{
togglePlayback(false);
toggleRecord(false);
std::string filename = "" + name + ".demo";
}
void Demo::load(const std::string &name)
{
togglePlayback(false);
toggleRecord(false);
// UNFINISHED
std::string filename = "" + name + ".demo";
}
void Demo::clearRecordedFrames()
{
frames.clear();
}
bool Demo::getQuitKey()
{
return core->getKeyState(KEY_ESCAPE) && core->getShiftState();
}
void Demo::update(float dt)
{
if (core->getNestedMains() > 1) return;
if (mode == DEMOMODE_RECORD)
{
DemoFrame f;
f.avatarPos = dsq->game->avatar->position;
f.vel = dsq->game->avatar->vel;
f.vel2 = dsq->game->avatar->vel2;
f.rot = dsq->game->avatar->rotation.z;
f.mouse = core->mouse;
f.t = time;
frames.push_back(f);
time += dt;
if (getQuitKey())
{
toggleRecord(false);
dsq->centerMessage(stringbank.get(2010));
}
}
else if (mode == DEMOMODE_PLAYBACK)
{
while (frame < frames.size())
{
DemoFrame *f = &frames[frame];
if (f->t <= time) {
// temporarily deactivate for seahorse footage
dsq->game->avatar->vel = f->vel;
dsq->game->avatar->vel2 = f->vel2;
dsq->game->avatar->rotation.z = f->rot;
dsq->game->avatar->position = f->avatarPos;
core->mouse = f->mouse;
frame++;
}
else
{
break;
}
}
time += dt;
if (getQuitKey() || (!frames.empty() && frame >= frames.size())) {
togglePlayback(false);
dsq->centerMessage(stringbank.get(2011));
}
}
}

View file

@ -184,9 +184,7 @@ BANKSTRING(2006, "Page")
BANKSTRING(2007, "Recipes") BANKSTRING(2007, "Recipes")
BANKSTRING(2008, "error") BANKSTRING(2008, "error")
BANKSTRING(2009, "No Description") BANKSTRING(2009, "No Description")
BANKSTRING(2010, "Stopped Recording") BANKSTRING(2012, "1: Refresh\n2: Heal\n3: Reset Cont.\n5: Set Invincible\n6: Set Flag\n8: All Songs\n9: All Ups\nS: learn song #\nF: Find Entity\nC: Set Costume\n0: Learn MArea Songs\nB: Unload Resources\nA: Reload Resources\nJ: JumpState\nQ: QuitNestedMain")
BANKSTRING(2011, "Stopped Playback")
BANKSTRING(2012, "1: Refresh\n2: Heal\n3: Reset Cont.\n5: Set Invincible\n6: Set Flag\n8: All Songs\n9: All Ups\nS: learn song #\nF: Find Entity\nC: Set Costume\n0: Learn MArea Songs\nR: Record Demo\nP: Playback Demo\nT: Rewind Demo\nU: Ouput Demo Frames\nB: Unload Resources\nA: Reload Resources\nM: AutoMap\nJ: JumpState\nQ: QuitNestedMain")
BANKSTRING(2013, "health") BANKSTRING(2013, "health")
BANKSTRING(2014, "Enter Flag to Set") BANKSTRING(2014, "Enter Flag to Set")
BANKSTRING(2015, "Enter Value to Set Flag To") BANKSTRING(2015, "Enter Value to Set Flag To")
@ -263,3 +261,4 @@ BANKSTRING(2156, "Invalid mouse button id: ")
BANKSTRING(2157, "Invalid joy axis(+): ") BANKSTRING(2157, "Invalid joy axis(+): ")
BANKSTRING(2158, "Invalid joy axis(-): ") BANKSTRING(2158, "Invalid joy axis(-): ")
BANKSTRING(2159, "Press key to assign, Esc to abort, same key or Backspace/Del to clear") BANKSTRING(2159, "Press key to assign, Esc to abort, same key or Backspace/Del to clear")

View file

@ -183,9 +183,7 @@
2007 Recipes 2007 Recipes
2008 error 2008 error
2009 No Description 2009 No Description
2010 Stopped Recording 2012 1: Refresh|2: Heal|3: Reset Cont.|5: Set Invincible|6: Set Flag|8: All Songs|9: All Ups|S: learn song #|F: Find Entity|C: Set Costume|0: Learn MArea Songs|B: Unload Resources|A: Reload Resources|J: JumpState|Q: QuitNestedMain
2011 Stopped Playback
2012 1: Refresh|2: Heal|3: Reset Cont.|5: Set Invincible|6: Set Flag|8: All Songs|9: All Ups|S: learn song #|F: Find Entity|C: Set Costume|0: Learn MArea Songs|R: Record Demo|P: Playback Demo|T: Rewind Demo|U: Ouput Demo Frames|B: Unload Resources|A: Reload Resources|M: AutoMap|J: JumpState|Q: QuitNestedMain
2013 health 2013 health
2014 Enter Flag to Set 2014 Enter Flag to Set
2015 Enter Value to Set Flag To 2015 Enter Value to Set Flag To

View file

@ -423,10 +423,6 @@
RelativePath="..\..\Aquaria\Damage.h" RelativePath="..\..\Aquaria\Damage.h"
> >
</File> </File>
<File
RelativePath="..\..\Aquaria\Demo.cpp"
>
</File>
<File <File
RelativePath="..\..\Aquaria\DSQ.cpp" RelativePath="..\..\Aquaria\DSQ.cpp"
> >