diff --git a/CMakeSettings.json b/CMakeSettings.json index 2235809..58173e9 100644 --- a/CMakeSettings.json +++ b/CMakeSettings.json @@ -31,8 +31,7 @@ "cmakeCommandArgs": "", "buildCommandArgs": "", "ctestCommandArgs": "", - "inheritEnvironments": [ "clang_cl_x64" ], - "variables": [] + "inheritEnvironments": [ "clang_cl_x64" ] } ] } \ No newline at end of file diff --git a/CONTRIB-Zelda64Recomp.zip b/CONTRIB-Zelda64Recomp.zip new file mode 100644 index 0000000..21cdc38 Binary files /dev/null and b/CONTRIB-Zelda64Recomp.zip differ diff --git a/generate_recomp_functions.ps1 b/generate_recomp_functions.ps1 new file mode 100644 index 0000000..6e5d348 --- /dev/null +++ b/generate_recomp_functions.ps1 @@ -0,0 +1,3 @@ +./N64Recomp us.rev1.toml +./RSPRecomp aspMain.us.rev1.toml +./RSPRecomp njpgdspMain.us.rev1.toml \ No newline at end of file diff --git a/src/game/config.cpp b/src/game/config.cpp index 17ff9e4..6d355a8 100644 --- a/src/game/config.cpp +++ b/src/game/config.cpp @@ -14,7 +14,7 @@ #elif defined(__linux__) #include #include -#elif defined(__APPLE__) +#elif defined(__APPLE__) #include "apple/rt64_apple.h" #endif diff --git a/src/game/input.cpp b/src/game/input.cpp index f06a5b1..5b24125 100644 --- a/src/game/input.cpp +++ b/src/game/input.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "ultramodern/ultramodern.hpp" #include "recomp.h" @@ -27,6 +28,7 @@ static struct { const Uint8* keys = nullptr; SDL_Keymod keymod = SDL_Keymod::KMOD_NONE; int numkeys = 0; + unsigned int mouse_button_state; std::atomic_int32_t mouse_wheel_pos = 0; std::mutex cur_controllers_mutex; std::vector cur_controllers{}; @@ -334,7 +336,7 @@ const recomp::DefaultN64Mappings recomp::default_n64_keyboard_mappings = { {.input_type = (uint32_t)InputType::Keyboard, .input_id = SDL_SCANCODE_SPACE} }, .b = { - {.input_type = (uint32_t)InputType::Keyboard, .input_id = SDL_SCANCODE_LSHIFT} + {.input_type = (uint32_t)InputType::Mouse, .input_id = 0} }, .l = { {.input_type = (uint32_t)InputType::Keyboard, .input_id = SDL_SCANCODE_E} @@ -467,6 +469,8 @@ const recomp::DefaultN64Mappings recomp::default_n64_controller_mappings = { }; void recomp::poll_inputs() { + InputState.mouse_button_state = SDL_GetMouseState(NULL, NULL); + InputState.keys = SDL_GetKeyboardState(&InputState.numkeys); InputState.keymod = SDL_GetModState(); @@ -654,6 +658,8 @@ bool recomp::get_input_digital(const recomp::InputField& field) { // TODO adjustable threshold return controller_axis_state(field.input_id, true) >= axis_threshold; case InputType::Mouse: + //std::cout << "Mouse State: " << InputState.mouse_button_state << "\n"; + return InputState.mouse_button_state & (1 << field.input_id); // TODO mouse support return false; case InputType::None: