Browse Source

fixed 10 files out of 2754:

- removed 386 CR characters
 - removed 4 trailing whitespaces
 - replaced 189 tabs with spaces
legacy
Lolbot lolbot 11 years ago
parent
commit
c47d0f8c62
9 changed files with 159 additions and 159 deletions
  1. +1
    -1
      demos/tutorial/07_input.cpp
  2. +1
    -1
      demos/tutorial/11_fractal.cpp
  3. +74
    -74
      src/input/controller.cpp
  4. +43
    -43
      src/input/controller.h
  5. +4
    -4
      src/input/inputdevice.h
  6. +4
    -4
      src/input/inputdevice_internal.h
  7. +14
    -14
      src/platform/d3d9/d3d9input.cpp
  8. +5
    -5
      src/platform/sdl/sdlapp.cpp
  9. +13
    -13
      src/platform/sdl/sdlinput.cpp

+ 1
- 1
demos/tutorial/07_input.cpp View File

@@ -215,7 +215,7 @@ int main(int argc, char **argv)
new DebugFps(5, 5);
new Cube();

controller = new Controller(KEY_MAX, AXIS_MAX);
controller = new Controller(KEY_MAX, AXIS_MAX);
controller->GetKey(KEY_MANUAL_ROTATION).Bind("Keyboard", "Space");
controller->GetKey(KEY_DRAG_MESH).Bind("Mouse", "ButtonLeft");
controller->GetAxis(AXIS_DRAG_PITCH).Bind("Mouse", "Y");


+ 1
- 1
demos/tutorial/11_fractal.cpp View File

@@ -175,7 +175,7 @@ public:

rcmplx worldmouse = m_center + rcmplx(ScreenToWorldOffset(m_mousepos));

uint32_t buttons = 0;
uint32_t buttons = 0;
//uint32_t buttons = Input::GetMouseButtons();
#if !defined __CELLOS_LV2__ && !defined _XBOX
if (buttons & 0x2)


+ 74
- 74
src/input/controller.cpp View File

@@ -24,19 +24,19 @@ namespace lol

void KeyBinding::Bind(const char* device_name, const char* key_name)
{
m_device = InputDevice::Get(device_name);
if (!m_device)
{
Log::Warn("Trying to bind controller to device %s which doesn't exist", device_name);
return;
}
m_keyindex = m_device->GetKeyIndex(key_name);
if (m_keyindex < 0)
{
Log::Warn("Trying to bind controller to key %s.%s which doesn't exist", device_name, key_name);
}
m_device = InputDevice::Get(device_name);
if (!m_device)
{
Log::Warn("Trying to bind controller to device %s which doesn't exist", device_name);
return;
}
m_keyindex = m_device->GetKeyIndex(key_name);
if (m_keyindex < 0)
{
Log::Warn("Trying to bind controller to key %s.%s which doesn't exist", device_name, key_name);
}
}

///////////////////////////////////////////////////////////////////////////////
@@ -44,19 +44,19 @@ void KeyBinding::Bind(const char* device_name, const char* key_name)

void AxisBinding::Bind(const char* device_name, const char* axis_name)
{
m_device = InputDevice::Get(device_name);
if (!m_device)
{
Log::Warn("Trying to bind controller to device %s which doesn't exist", device_name);
return;
}
m_axisindex = m_device->GetAxisIndex(axis_name);
if (m_axisindex < 0)
{
Log::Warn("Trying to bind controller to axis %s.%s which doesn't exist", device_name, axis_name);
}
m_device = InputDevice::Get(device_name);
if (!m_device)
{
Log::Warn("Trying to bind controller to device %s which doesn't exist", device_name);
return;
}
m_axisindex = m_device->GetAxisIndex(axis_name);
if (m_axisindex < 0)
{
Log::Warn("Trying to bind controller to axis %s.%s which doesn't exist", device_name, axis_name);
}
}


@@ -67,79 +67,79 @@ Array<Controller*> Controller::controllers;

Controller::Controller(int nb_keys, int nb_axis)
{
m_gamegroup = GAMEGROUP_BEFORE;
m_nb_keys = nb_keys;
m_nb_axis = nb_axis;
m_keys = new KeyBinding[m_nb_keys];
m_axis = new AxisBinding[m_nb_axis];
m_activate_nextframe = false;
m_deactivate_nextframe = false;
m_active = false;
controllers.Push(this);
m_gamegroup = GAMEGROUP_BEFORE;
m_nb_keys = nb_keys;
m_nb_axis = nb_axis;
m_keys = new KeyBinding[m_nb_keys];
m_axis = new AxisBinding[m_nb_axis];
m_activate_nextframe = false;
m_deactivate_nextframe = false;
m_active = false;
controllers.Push(this);
}

Controller::~Controller()
{
for (int i = 0; i < controllers.Count(); ++i)
{
if (controllers[i] == this)
{
controllers.Remove(i);
break;
}
}
for (int i = 0; i < controllers.Count(); ++i)
{
if (controllers[i] == this)
{
controllers.Remove(i);
break;
}
}
}

void Controller::TickGame(float seconds)
{
Entity::TickGame(seconds);
Entity::TickGame(seconds);

for (int i = 0; i < m_nb_keys; ++i)
{
m_keys[i].Update();
}
for (int i = 0; i < m_nb_keys; ++i)
{
m_keys[i].Update();
}

for (int i = 0; i < m_nb_axis; ++i)
{
m_axis[i].Update();
}
for (int i = 0; i < m_nb_axis; ++i)
{
m_axis[i].Update();
}

if (m_activate_nextframe)
m_active = true;
if (m_activate_nextframe)
m_active = true;

if (m_deactivate_nextframe)
m_active = false;
if (m_deactivate_nextframe)
m_active = false;

m_activate_nextframe = false;
m_deactivate_nextframe = false;
m_activate_nextframe = false;
m_deactivate_nextframe = false;
}

void Controller::Activate()
{
m_activate_nextframe = true;
m_deactivate_nextframe = false;
m_activate_nextframe = true;
m_deactivate_nextframe = false;
}

void Controller::Deactivate()
{
m_deactivate_nextframe = true;
m_activate_nextframe = false;
m_deactivate_nextframe = true;
m_activate_nextframe = false;
}

Array<Controller*> Controller::DeactivateAll()
{
Array<Controller*> result;
for (int i = 0; i < controllers.Count(); ++i)
{
if (controllers[i]->m_active || controllers[i]->m_activate_nextframe)
{
result.Push(controllers[i]);
controllers[i]->Deactivate();
}
}
return result;
Array<Controller*> result;
for (int i = 0; i < controllers.Count(); ++i)
{
if (controllers[i]->m_active || controllers[i]->m_activate_nextframe)
{
result.Push(controllers[i]);
controllers[i]->Deactivate();
}
}
return result;
}

} /* namespace lol */


+ 43
- 43
src/input/controller.h View File

@@ -21,77 +21,77 @@ namespace lol
class KeyBinding
{
public:
KeyBinding() : m_current(false), m_previous(false), m_device(nullptr) {}
KeyBinding() : m_current(false), m_previous(false), m_device(nullptr) {}

bool IsDown() const { return m_current; }
bool IsUp() const { return !m_current; }
bool IsPressed() const { return m_current && !m_previous; }
bool IsReleased() const { return !m_current && m_previous; }
bool IsDown() const { return m_current; }
bool IsUp() const { return !m_current; }
bool IsPressed() const { return m_current && !m_previous; }
bool IsReleased() const { return !m_current && m_previous; }

void Bind(const char* device_name, const char* key_name);
void Bind(const char* device_name, const char* key_name);

protected:
void Update() { m_previous = m_current; m_current = m_device ? m_device->GetKey(m_keyindex) : false; }
void Update() { m_previous = m_current; m_current = m_device ? m_device->GetKey(m_keyindex) : false; }

const InputDevice* m_device;
int m_keyindex;
bool m_current;
bool m_previous;
const InputDevice* m_device;
int m_keyindex;
bool m_current;
bool m_previous;

friend class Controller;
friend class Controller;
};

class AxisBinding
{
public:
AxisBinding() : m_current(0.0f), m_previous(0.0f), m_device(nullptr) {}
AxisBinding() : m_current(0.0f), m_previous(0.0f), m_device(nullptr) {}

float GetValue() const { return m_current; }
float GetDelta() const { return m_current - m_previous; }
float GetValue() const { return m_current; }
float GetDelta() const { return m_current - m_previous; }

void Bind(const char* device_name, const char* axis_name);
void Bind(const char* device_name, const char* axis_name);

protected:
void Update() { m_previous = m_current; m_current = m_device ? m_device->GetAxis(m_axisindex) : 0.0f; }
void Update() { m_previous = m_current; m_current = m_device ? m_device->GetAxis(m_axisindex) : 0.0f; }

const InputDevice* m_device;
int m_axisindex;
float m_current;
float m_previous;
const InputDevice* m_device;
int m_axisindex;
float m_current;
float m_previous;

friend class Controller;
friend class Controller;
};


class Controller : Entity
{
public:
Controller(int nb_keys, int nb_axis);
~Controller();
Controller(int nb_keys, int nb_axis);
~Controller();

virtual void TickGame(float seconds);
virtual void TickGame(float seconds);

/** Activate the controller on next frame */
void Activate();
/** Deactivate the controller on next frame */
void Deactivate();
/** Deactivate every active controller on next frame and return an array of deactivated (previously active) controllers */
static Array<Controller*> DeactivateAll();
/** Activate the controller on next frame */
void Activate();
/** Deactivate the controller on next frame */
void Deactivate();
/** Deactivate every active controller on next frame and return an array of deactivated (previously active) controllers */
static Array<Controller*> DeactivateAll();

KeyBinding& GetKey(int index) { ASSERT(index >= 0 && index < m_nb_keys); return m_keys[index]; }
AxisBinding& GetAxis(int index) { ASSERT(index >= 0 && index < m_nb_axis); return m_axis[index]; }

KeyBinding& GetKey(int index) { ASSERT(index >= 0 && index < m_nb_keys); return m_keys[index]; }
AxisBinding& GetAxis(int index) { ASSERT(index >= 0 && index < m_nb_axis); return m_axis[index]; }
protected:
KeyBinding* m_keys;
AxisBinding* m_axis;
int m_nb_keys;
int m_nb_axis;
KeyBinding* m_keys;
AxisBinding* m_axis;
int m_nb_keys;
int m_nb_axis;
private:
static Array<Controller*> controllers;
bool m_activate_nextframe;
bool m_deactivate_nextframe;
bool m_active;
static Array<Controller*> controllers;
bool m_activate_nextframe;
bool m_deactivate_nextframe;
bool m_active;
};

} /* namespace lol */


+ 4
- 4
src/input/inputdevice.h View File

@@ -55,11 +55,11 @@ public:

/** Get an input device by its name */
static InputDevice* Get(const char* name) { return GetDevice(name); }
/** Set whether the mouse cursor should be captured. */
static void CaptureMouse(bool activated) { m_capturemouse = activated; }
/** Set whether the mouse cursor should be captured. */
static void CaptureMouse(bool activated) { m_capturemouse = activated; }

protected:
// TODO: hide all of this in a InputDeviceData?
// TODO: hide all of this in a InputDeviceData?

String m_name;

@@ -74,7 +74,7 @@ protected:
/** cursor position */
Array<vec2, ivec2> m_cursors;

static bool m_capturemouse;
static bool m_capturemouse;

InputDevice(const char* name) : m_name(name)
{


+ 4
- 4
src/input/inputdevice_internal.h View File

@@ -29,12 +29,12 @@ public:
void AddCursor(const char* name);

void SetKey(int index, bool state) { m_keys[index] = state; }
void SetAxis(int index, float value) { m_axis[index].m1 = value; }
void SetCursor(int index, const vec2& position, const ivec2& pixel) { m_cursors[index].m1 = position; m_cursors[index].m2 = pixel; }
void SetAxis(int index, float value) { m_axis[index].m1 = value; }
void SetCursor(int index, const vec2& position, const ivec2& pixel) { m_cursors[index].m1 = position; m_cursors[index].m2 = pixel; }

static bool GetMouseCapture() { return m_capturemouse; }
static bool GetMouseCapture() { return m_capturemouse; }

static InputDeviceInternal* CreateStandardKeyboard();
static InputDeviceInternal* CreateStandardKeyboard();
static InputDeviceInternal* CreateStandardMouse();
};



+ 14
- 14
src/platform/d3d9/d3d9input.cpp View File

@@ -59,14 +59,14 @@ D3d9Input::D3d9Input()
if (XInputGetState(i, &state) != ERROR_SUCCESS)
continue;
#if defined LOL_INPUT_V2
// TODO: we can put more friendly name here, such as LeftAxisX, ButtonX...
InputDeviceInternal* stick = new InputDeviceInternal(String::Printf("Joystick%d", i+1).C());
for (int j = 0; j < 4; ++j)
stick->AddAxis(String::Printf("Axis%d", j+1).C());
for (int j = 0; j < 16; ++j)
stick->AddKey(String::Printf("Button%d", j+1).C());
m_data->m_joysticks.Push(i, stick);
// TODO: we can put more friendly name here, such as LeftAxisX, ButtonX...
InputDeviceInternal* stick = new InputDeviceInternal(String::Printf("Joystick%d", i+1).C());
for (int j = 0; j < 4; ++j)
stick->AddAxis(String::Printf("Axis%d", j+1).C());
for (int j = 0; j < 16; ++j)
stick->AddKey(String::Printf("Button%d", j+1).C());
m_data->m_joysticks.Push(i, stick);
#else
Stick *stick = Input::CreateStick();
stick->SetAxisCount(4);
@@ -86,11 +86,11 @@ D3d9Input::~D3d9Input()
while (m_data->m_joysticks.Count())
{
#if defined LOL_INPUT_V2
delete m_data->m_joysticks[0].m2;
delete m_data->m_joysticks[0].m2;
#else
Input::DestroyStick(m_data->m_joysticks[0].m2);
Input::DestroyStick(m_data->m_joysticks[0].m2);
#endif // LOL_INPUT_V2
m_data->m_joysticks.Remove(0);
m_data->m_joysticks.Remove(0);
}
#endif
delete m_data;
@@ -119,11 +119,11 @@ void D3d9Input::TickDraw(float seconds)

for (int b = 0; b < 16; b++)
#if defined LOL_INPUT_V2
m_data->m_joysticks[i].m2->SetKey(b, ((uint16_t)(state.Gamepad.wButtons) >> b) & 1);
m_data->m_joysticks[i].m2->SetKey(b, ((uint16_t)(state.Gamepad.wButtons) >> b) & 1);
#else
m_data->m_joysticks[i].m2->SetButton(b, ((uint16_t)(state.Gamepad.wButtons) >> b) & 1);
m_data->m_joysticks[i].m2->SetButton(b, ((uint16_t)(state.Gamepad.wButtons) >> b) & 1);
#endif // LOL_INPUT_V2
}
}
#endif
}



+ 5
- 5
src/platform/sdl/sdlapp.cpp View File

@@ -67,9 +67,9 @@ SdlApp::SdlApp(char const *title, ivec2 res, float fps) :
}

# ifdef LOL_INPUT_V2
const SDL_VideoInfo* vidinfo = SDL_GetVideoInfo();
int screen_w = vidinfo->current_w;
int screen_h = vidinfo->current_h;
const SDL_VideoInfo* vidinfo = SDL_GetVideoInfo();
int screen_w = vidinfo->current_w;
int screen_h = vidinfo->current_h;
# endif

# if defined USE_D3D9
@@ -84,7 +84,7 @@ SdlApp::SdlApp(char const *title, ivec2 res, float fps) :
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
# ifdef LOL_INPUT_V2
// TODO: when implementing fullscreen, be sure to overwrite screen_w and screen_h with the value of vidinfo after the call to SDL_SetVideoMode
// TODO: when implementing fullscreen, be sure to overwrite screen_w and screen_h with the value of vidinfo after the call to SDL_SetVideoMode
# endif
SDL_Surface *video = SDL_SetVideoMode(res.x, res.y, 0, SDL_OPENGL);
# endif
@@ -112,7 +112,7 @@ SdlApp::SdlApp(char const *title, ivec2 res, float fps) :
# ifdef LOL_INPUT_V2
new SdlInput(video->w, video->h, screen_w, screen_h);
# else
new SdlInput();
new SdlInput();
# endif
#endif
}


+ 13
- 13
src/platform/sdl/sdlinput.cpp View File

@@ -53,7 +53,7 @@ private:
SdlInputData(int app_w, int app_h, int screen_w, int screen_h) :
m_prevmouse(ivec2(0)),
m_app_w((float)app_w),
m_app_h((float)app_h),
m_app_h((float)app_h),
m_screen_w((float)screen_w),
m_screen_h((float)screen_h)
{ }
@@ -239,7 +239,7 @@ void SdlInputData::Tick(float seconds)
}

# if !SDL_FORCE_POLL_JOYSTICK
# ifdef LOL_INPUT_V2
# ifdef LOL_INPUT_V2
case SDL_JOYAXISMOTION:
m_joysticks[event.jaxis.which].m2->SetAxis(event.jaxis.axis, (float)event.jaxis.value / 32768.f);
break;
@@ -248,7 +248,7 @@ void SdlInputData::Tick(float seconds)
case SDL_JOYBUTTONDOWN:
m_joysticks[event.jbutton.which].m2->SetKey(event.jbutton.button, event.jbutton.state);
break;
# else // !LOL_INPUT_V2
# else // !LOL_INPUT_V2
case SDL_JOYAXISMOTION:
m_joysticks[event.jaxis.which].m2->SetAxis(event.jaxis.axis, (float)event.jaxis.value / 32768.f);
break;
@@ -257,7 +257,7 @@ void SdlInputData::Tick(float seconds)
case SDL_JOYBUTTONDOWN:
m_joysticks[event.jbutton.which].m2->SetButton(event.jbutton.button, event.jbutton.state);
break;
# endif // LOL_INPUT_V2
# endif // LOL_INPUT_V2
# endif
}
}
@@ -290,7 +290,7 @@ void SdlInputData::Tick(float seconds)

# else // !LOL_INPUT_V2
Input::SetMousePos(mouse);
# endif // LOL_INPUT_V2
# endif // LOL_INPUT_V2

# if SDL_VERSION_ATLEAST(1,3,0)
Uint8 *sdlstate = SDL_GetKeyboardState(nullptr);
@@ -299,14 +299,14 @@ void SdlInputData::Tick(float seconds)
# endif

int keyindex = 0;
# ifdef LOL_INPUT_V2
# define KEY_FUNC(name, index) m_keyboard->SetKey(keyindex++, sdlstate[index] != 0);
# if !defined SDLK_WORLD_0
# define KEY_DISABLE_WORLD
# ifdef LOL_INPUT_V2
# define KEY_FUNC(name, index) m_keyboard->SetKey(keyindex++, sdlstate[index] != 0);
# if !defined SDLK_WORLD_0
# define KEY_DISABLE_WORLD
# endif // !SDLK_WORLD_0
# include "input/keys.h"
# undef KEY_FUNC
# else // !LOL_INPUT_V2
# include "input/keys.h"
# undef KEY_FUNC
# else // !LOL_INPUT_V2

/* Send the whole keyboard state to the input system */
Array<uint8_t> &lolstate = Input::GetKeyboardState();
@@ -554,7 +554,7 @@ void SdlInputData::Tick(float seconds)
lolstate[Key::Undo] = sdlstate[SDLK_UNDO];

UNUSED(seconds);
# endif // LOL_INPUT_V2
# endif // LOL_INPUT_V2

#endif // USE_SDL
}


Loading…
Cancel
Save