diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b2eb3da --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +# DevkitPro and DevkitARM path +DEVKITPRO ?= /opt/devkitpro +DEVKITARM ?= $(DEVKITPRO)/devkitARM + +# Project name +TARGET := bloubloulespoissons +BUILD := build +SOURCES := . +INCLUDES := . + +# Libraries +LIBS := -lSDL2 -lSDL2_image -lSDL2_ttf + +# Compiler and linker settings +ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft +CFLAGS := -g -O2 -Wall -mword-relocations $(ARCH) -I$(DEVKITPRO)/libctru/include -I$(INCLUDES) +LDFLAGS := -L$(DEVKITPRO)/libctru/lib $(LIBS) + +# Rules +all: $(BUILD)/$(TARGET).3dsx + +$(BUILD)/$(TARGET).3dsx: $(BUILD)/$(TARGET).elf + 3dsxtool $(BUILD)/$(TARGET).elf $@ + +$(BUILD)/$(TARGET).elf: $(SOURCES)/*.cpp + $(DEVKITARM)/bin/arm-none-eabi-g++ $(CFLAGS) -o $@ $^ $(LDFLAGS) diff --git a/main.cpp b/main.cpp index 7edce35..d618e77 100644 --- a/main.cpp +++ b/main.cpp @@ -249,12 +249,18 @@ void handleEvents(int& playerX, int& playerY, const int playerSpeed) { Camera& camera = Camera::getInstance(); if (keystate[SDL_SCANCODE_W]) { - if(camera.getY() > -playerBaseY) { + if (playerY > 0) { + playerY -= playerSpeed; + } + if (camera.getY() > 0 && playerY < playerBaseY) { camera.move(0, -playerSpeed); } } if (keystate[SDL_SCANCODE_S]) { - if(camera.getY() < ENV_HEIGHT - windowHeight) { + if (playerY < ENV_HEIGHT - 75) { + playerY += playerSpeed; + } + if (camera.getY() < ENV_HEIGHT - windowHeight && playerY > playerBaseY) { camera.move(0, playerSpeed); } }