mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2024-11-25 09:44:02 +00:00
some wip things but will probably throw this away
This commit is contained in:
parent
08b971b7ba
commit
167e6da372
8 changed files with 83 additions and 40 deletions
|
@ -159,6 +159,9 @@ DSQ::DSQ(const std::string& fileSystem, const std::string& extraDataDir)
|
||||||
assert(!dsq);
|
assert(!dsq);
|
||||||
dsq = this;
|
dsq = this;
|
||||||
|
|
||||||
|
mouse.actionToLeft = ACTION_PRIMARY;
|
||||||
|
mouse.actionToRight = ACTION_SECONDARY;
|
||||||
|
|
||||||
cutscene_bg = 0;
|
cutscene_bg = 0;
|
||||||
cutscene_text = 0;
|
cutscene_text = 0;
|
||||||
cutscene_text2 = 0;
|
cutscene_text2 = 0;
|
||||||
|
@ -3927,7 +3930,11 @@ void DSQ::onUpdate(float dt)
|
||||||
os << "invGlobalScale: " << core->invGlobalScale;
|
os << "invGlobalScale: " << core->invGlobalScale;
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
os << "globalScale: " << core->globalScale.x << std::endl;
|
os << "globalScale: " << core->globalScale.x << std::endl;
|
||||||
os << "mousePos:(" << core->mouse.position.x << ", " << core->mouse.position.y << ") mouseChange:(" << core->mouse.change.x << ", " << core->mouse.change.y << ")\n";
|
os << "mouse["
|
||||||
|
<< (mouse.buttons.left ? 'L' : '-')
|
||||||
|
<< (mouse.buttons.middle ? 'M' : '-')
|
||||||
|
<< (mouse.buttons.right ? 'R' : '-')
|
||||||
|
<< "]:pos(" << core->mouse.position.x << ", " << core->mouse.position.y << ") change:(" << core->mouse.change.x << ", " << core->mouse.change.y << ")\n";
|
||||||
/*for(size_t i = 0; i < getNumJoysticks(); ++i)
|
/*for(size_t i = 0; i < getNumJoysticks(); ++i)
|
||||||
if(Joystick *j = getJoystick(i))
|
if(Joystick *j = getJoystick(i))
|
||||||
{
|
{
|
||||||
|
|
|
@ -2993,8 +2993,6 @@ void InGameMenu::onCook()
|
||||||
|
|
||||||
// do animationy stuff.
|
// do animationy stuff.
|
||||||
|
|
||||||
core->mouse.buttonsEnabled = false;
|
|
||||||
|
|
||||||
bool longAnim = true;
|
bool longAnim = true;
|
||||||
int cooks = dsq->continuity.getFlag(FLAG_COOKS);
|
int cooks = dsq->continuity.getFlag(FLAG_COOKS);
|
||||||
|
|
||||||
|
@ -3132,8 +3130,6 @@ void InGameMenu::onCook()
|
||||||
if (haveLeftovers)
|
if (haveLeftovers)
|
||||||
updatePreviewRecipe();
|
updatePreviewRecipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
core->mouse.buttonsEnabled = true;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -78,7 +78,7 @@ protected:
|
||||||
{
|
{
|
||||||
importInput(&a[0], N);
|
importInput(&a[0], N);
|
||||||
}
|
}
|
||||||
void importInput(const NamedAction *actions, size_t N);*/
|
void importInput(const NamedAction *actions, size_t N);*/ // TODO controllerfixup: remove this everywhere
|
||||||
|
|
||||||
std::vector<Event*> createdEvents;
|
std::vector<Event*> createdEvents;
|
||||||
|
|
||||||
|
|
|
@ -636,11 +636,10 @@ void Core::onUpdate(float dt)
|
||||||
|
|
||||||
pollEvents(dt);
|
pollEvents(dt);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ActionMapper::onUpdate(dt);
|
ActionMapper::onUpdate(dt);
|
||||||
StateManager::onUpdate(dt);
|
StateManager::onUpdate(dt);
|
||||||
|
|
||||||
|
mouse.update(dt);
|
||||||
onMouseInput();
|
onMouseInput();
|
||||||
|
|
||||||
globalScale.update(dt);
|
globalScale.update(dt);
|
||||||
|
|
34
BBGE/Core.h
34
BBGE/Core.h
|
@ -34,6 +34,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
#include "GameKeys.h"
|
#include "GameKeys.h"
|
||||||
#include "InputMapperRaw.h"
|
#include "InputMapperRaw.h"
|
||||||
|
#include "VirtualMouse.h"
|
||||||
|
|
||||||
class ParticleEffect;
|
class ParticleEffect;
|
||||||
class Joystick;
|
class Joystick;
|
||||||
|
@ -70,37 +71,6 @@ class Texture;
|
||||||
const int baseVirtualWidth = 800;
|
const int baseVirtualWidth = 800;
|
||||||
const int baseVirtualHeight = 600;
|
const int baseVirtualHeight = 600;
|
||||||
|
|
||||||
enum ButtonState { UP = 0, DOWN };
|
|
||||||
|
|
||||||
struct MouseButtons
|
|
||||||
{
|
|
||||||
MouseButtons ()
|
|
||||||
{
|
|
||||||
left = UP;
|
|
||||||
right = UP;
|
|
||||||
middle = UP;
|
|
||||||
}
|
|
||||||
|
|
||||||
ButtonState left, right, middle;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Mouse
|
|
||||||
{
|
|
||||||
Mouse()
|
|
||||||
{
|
|
||||||
scrollWheelChange = 0;
|
|
||||||
buttonsEnabled = true;
|
|
||||||
}
|
|
||||||
Vector position, lastPosition;
|
|
||||||
MouseButtons buttons;
|
|
||||||
MouseButtons pure_buttons;
|
|
||||||
unsigned rawButtonMask;
|
|
||||||
Vector change;
|
|
||||||
bool buttonsEnabled; //KILL
|
|
||||||
|
|
||||||
int scrollWheelChange;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum FollowCameraLock
|
enum FollowCameraLock
|
||||||
{
|
{
|
||||||
FCL_NONE = 0,
|
FCL_NONE = 0,
|
||||||
|
@ -325,7 +295,7 @@ public:
|
||||||
int fps;
|
int fps;
|
||||||
bool loopDone;
|
bool loopDone;
|
||||||
|
|
||||||
Mouse mouse;
|
VirtualMouse mouse;
|
||||||
|
|
||||||
AfterEffectManager *afterEffectManager;
|
AfterEffectManager *afterEffectManager;
|
||||||
|
|
||||||
|
|
29
BBGE/VirtualMouse.cpp
Normal file
29
BBGE/VirtualMouse.cpp
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
#include "VirtualMouse.h"
|
||||||
|
#include <SDL.h>
|
||||||
|
|
||||||
|
VirtualMouse::VirtualMouse()
|
||||||
|
: buttons(_buttons), pure_buttons(_pure_buttons)
|
||||||
|
, actionToLeft(-1), actionToRight(-1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
VirtualMouse::update(float dt)
|
||||||
|
{
|
||||||
|
int x, int y;
|
||||||
|
Uint32 mousestate = SDL_GetMouseState(&x, &y);
|
||||||
|
pure_buttons.left = mousestate & SDL_BUTTON_LMASK;
|
||||||
|
pure_buttons.right = mousestate & SDL_BUTTON_MMASK;
|
||||||
|
pure_buttons.middle = mousestate & SDL_BUTTON_RMASK;
|
||||||
|
|
||||||
|
buttons = pure_buttons;
|
||||||
|
|
||||||
|
ActionMapper::onUpdate(dt);
|
||||||
|
|
||||||
|
if(actionToLeft >= 0 && isActing(actionToLeft))
|
||||||
|
buttons.left = true;
|
||||||
|
if(actionToRight> 0 && isActing(actionToRight))
|
||||||
|
buttons.right = true;
|
||||||
|
|
||||||
|
// TODO: controller to mouse?
|
||||||
|
}
|
||||||
|
|
34
BBGE/VirtualMouse.h
Normal file
34
BBGE/VirtualMouse.h
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
#ifndef VIRTUALMOUSE_H
|
||||||
|
#define VIRTUALMOUSE_H
|
||||||
|
|
||||||
|
#include "ActionMapper.h"
|
||||||
|
|
||||||
|
class VirtualMouse : public ActionMapper
|
||||||
|
{
|
||||||
|
VirtualMouse();
|
||||||
|
|
||||||
|
struct Buttons
|
||||||
|
{
|
||||||
|
bool left, middle, right;
|
||||||
|
};
|
||||||
|
|
||||||
|
// externally set to actions that are to be handled as a button press
|
||||||
|
int actionToLeft, actionToRight;
|
||||||
|
|
||||||
|
// const references to keep the "API" for the rest of the code
|
||||||
|
// but make sure that nothing can be externally modified
|
||||||
|
const Buttons &buttons, &pure_buttons;
|
||||||
|
|
||||||
|
Vector position, lastPosition;
|
||||||
|
Vector change;
|
||||||
|
|
||||||
|
void update(float dt);
|
||||||
|
|
||||||
|
// override
|
||||||
|
virtual void action(int actionID, int state, int playerID, InputDeviceType device);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Buttons _buttons, _pure_buttons;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -729,6 +729,14 @@
|
||||||
RelativePath="..\..\BBGE\Vector.h"
|
RelativePath="..\..\BBGE\Vector.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BBGE\VirtualMouse.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BBGE\VirtualMouse.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BBGE\Window.cpp"
|
RelativePath="..\..\BBGE\Window.cpp"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in a new issue