Example #1
0
File: gm.c Project: ushmal/ugl
int gmread(int ev)
{
	gm.key = KEY(ev);
	if(gm.key < 128) {
		if(RELEASED(ev)) gm.kb[gm.key] = 0;
		else gm.kb[gm.key] = 1;
	}
	if(gm.key == MICE_DX) {
		gm.ms.x += AXIS(ev);
		if(gm.ms.x < 0) gm.ms.x = 0;
		if(gm.ms.x >= gm.vfb->width) gm.ms.x = gm.vfb->width - 1;
	}
	if(gm.key == MICE_DY) {
		gm.ms.y += AXIS(ev);
		if(gm.ms.y < 0) gm.ms.y = 0;
		if(gm.ms.y >= gm.vfb->height) gm.ms.y = gm.vfb->height - 1;
	}
	if(gm.key == MICE_LEFT) {
		if(PRESSED(ev)) {
			gm.push.key = 1;
			gm.push.x = gm.ms.x;
			gm.push.y = gm.ms.y;
		}
		else {
			gm.click.key = 1;
			gm.click.x = gm.ms.x;
			gm.click.y = gm.ms.y;
		}
	}
	return ev;
}
Example #2
0
void KeyboardCallback(GLFWwindow *window, int key, int scancode, int action, int mods) {
#define PRESSED(k) (key == k && action == GLFW_PRESS)
#define RELEASED(k) (key == k && action == GLFW_RELEASE)

    // Left player controls
    if (PRESSED(GLFW_KEY_W)) {
        leftPlayer.setVerticalSpeed(-PLAYER_SPEED);
    }

    if (RELEASED(GLFW_KEY_W)) {
        leftPlayer.setVerticalSpeed(0.0f);
    }

    if (PRESSED(GLFW_KEY_S)) {
        leftPlayer.setVerticalSpeed(PLAYER_SPEED);
    }

    if (RELEASED(GLFW_KEY_S)) {
        leftPlayer.setVerticalSpeed(0.0f);
    }

    // Right player controls
    if (PRESSED(GLFW_KEY_UP)) {
        rightPlayer.setVerticalSpeed(-PLAYER_SPEED);
    }

    if (RELEASED(GLFW_KEY_UP)) {
        rightPlayer.setVerticalSpeed(0.0f);
    }

    if (PRESSED(GLFW_KEY_DOWN)) {
        rightPlayer.setVerticalSpeed(PLAYER_SPEED);
    }

    if (RELEASED(GLFW_KEY_DOWN)) {
        rightPlayer.setVerticalSpeed(0.0f);
    }

    // General game controls
    if (PRESSED(GLFW_KEY_SPACE)) {
        paused = !paused;
    }

    if (PRESSED(GLFW_KEY_ESCAPE)) {
        glfwSetWindowShouldClose(window, 1);
    }
}
static uint16_t PAD_ButtonsUp(int ictrl) {
    uint16_t btn = 0;

    if (RELEASED(a)) {
        btn |= PAD_BUTTON_A;
    }

    if (RELEASED(b)) {
        btn |= PAD_BUTTON_B;
    }

    if (RELEASED(x)) {
        btn |= PAD_BUTTON_X;
    }

    if (RELEASED(y)) {
        btn |= PAD_BUTTON_Y;
    }

    if (RELEASED(up)) {
        btn |= PAD_BUTTON_UP;
    }

    if (RELEASED(down)) {
        btn |= PAD_BUTTON_DOWN;
    }

    if (RELEASED(left)) {
        btn |= PAD_BUTTON_LEFT;
    }

    if (RELEASED(right)) {
        btn |= PAD_BUTTON_RIGHT;
    }

    if (RELEASED(start)) {
        btn |= PAD_BUTTON_START;
    }

    if (RELEASED(back)) {
        btn |= PAD_BUTTON_BACK;
    }

    if (RELEASED(logo)) {
        btn |= PAD_BUTTON_LOGO;
    }

    if (RELEASED(rb)) {
        btn |= PAD_BUTTON_RB;
    }

    if (RELEASED(lb)) {
        btn |= PAD_BUTTON_LB;
    }

    if (RELEASED(s1_z)) {
        btn |= PAD_BUTTON_RSTICK;
    }

    if (RELEASED(s2_z)) {
        btn |= PAD_BUTTON_LSTICK;
    }

    return btn;
}
Example #4
0
static int JoyReleased(int btn) {
	switch(btn) {
		case XE_BTN_UP: {
			return RELEASED(up);
		}
		case XE_BTN_DOWN: {
			return RELEASED(down);
		}
		case XE_BTN_LEFT: {
			return RELEASED(left);
		}
		case XE_BTN_RIGHT: {
			return RELEASED(right);
		}
		
		case XE_BTN_A: {
			return RELEASED(a);
		}
		case XE_BTN_B: {
			return RELEASED(b);
		}
		case XE_BTN_X: {
			return RELEASED(x);
		}
		case XE_BTN_Y: {
			return RELEASED(y);
		}
		
		case XE_BTN_START: {
			return RELEASED(start);
		}
		case XE_BTN_BACK: {
			return RELEASED(back);
		}		
		case XE_BTN_LOGO: {
			return RELEASED(logo);
		}
		
		case XE_BTN_RB: {
			return RELEASED(rb);
		}
		case XE_BTN_LB: {
			return RELEASED(lb);
		}
		case XE_BTN_LT: {
			return ctrl.lt<200;
		}
		case XE_BTN_RT: {
			return ctrl.rt<200;
		}
		default:
		return 0;
	}
}