diff --git a/res/shaders/main.glslv b/res/shaders/main.glslv index b1412148..1ebe9472 100644 --- a/res/shaders/main.glslv +++ b/res/shaders/main.glslv @@ -22,7 +22,7 @@ void main(){ vec2 pos2d = (u_model * vec4(v_position, 1.0)).xz-u_cameraPos.xz; vec4 modelpos = u_model * vec4(v_position+vec3(0,pow(length(pos2d)*0.0, 3.0),0), 1.0); vec4 viewmodelpos = u_view * modelpos; - vec3 light = v_light.rgb * 1.6; + vec3 light = v_light.rgb; float torchlight = max(0.0, 1.0-distance(u_cameraPos, modelpos.xyz)/u_torchlightDistance); light += torchlight * u_torchlightColor; a_color = vec4(pow(light, vec3(u_gamma)),1.0f); diff --git a/src/core_defs.h b/src/core_defs.h index c30135bf..ffd26795 100644 --- a/src/core_defs.h +++ b/src/core_defs.h @@ -16,6 +16,9 @@ #define BIND_CAM_ZOOM "camera.zoom" #define BIND_PLAYER_NOCLIP "player.noclip" #define BIND_PLAYER_FLIGHT "player.flight" +#define BIND_PLAYER_ATTACK "player.attack" +#define BIND_PLAYER_BUILD "player.build" +#define BIND_PLAYER_PICK "player.pick" #define BIND_HUD_INVENTORY "hud.inventory" #endif // SRC_CORE_DEFS_H_ \ No newline at end of file diff --git a/src/definitions.cpp b/src/definitions.cpp index ee7023c1..748b8812 100644 --- a/src/definitions.cpp +++ b/src/definitions.cpp @@ -103,5 +103,8 @@ void setup_bindings() { Events::bind(BIND_CAM_ZOOM, inputtype::keyboard, keycode::C); Events::bind(BIND_PLAYER_NOCLIP, inputtype::keyboard, keycode::N); Events::bind(BIND_PLAYER_FLIGHT, inputtype::keyboard, keycode::F); + Events::bind(BIND_PLAYER_ATTACK, inputtype::mouse, mousecode::BUTTON_1); + Events::bind(BIND_PLAYER_BUILD, inputtype::mouse, mousecode::BUTTON_2); + Events::bind(BIND_PLAYER_PICK, inputtype::mouse, mousecode::BUTTON_3); Events::bind(BIND_HUD_INVENTORY, inputtype::keyboard, keycode::TAB); } \ No newline at end of file diff --git a/src/frontend/menu.cpp b/src/frontend/menu.cpp index 92af70dd..78305b34 100644 --- a/src/frontend/menu.cpp +++ b/src/frontend/menu.cpp @@ -170,7 +170,7 @@ Panel* create_controls_panel(Engine* engine, PagesControl* menu) { for (auto& entry : Events::bindings){ string bindname = entry.first; - Panel* subpanel = new Panel(vec2(400, 45), vec4(5.0f), 1.0f); + Panel* subpanel = new Panel(vec2(400, 40), vec4(5.0f), 1.0f); subpanel->color(vec4(0.0f)); subpanel->orientation(Orientation::horizontal); diff --git a/src/objects/player_control.cpp b/src/objects/player_control.cpp index fac74e19..a2fd3a09 100644 --- a/src/objects/player_control.cpp +++ b/src/objects/player_control.cpp @@ -221,10 +221,10 @@ void PlayerController::updateInteraction(){ vec3 norm; bool xkey = Events::pressed(keycode::X); - bool lclick = Events::jclicked(mousecode::BUTTON_1) || - (xkey && Events::clicked(mousecode::BUTTON_1)); - bool rclick = Events::jclicked(mousecode::BUTTON_2) || - (xkey && Events::clicked(mousecode::BUTTON_2)); + bool lclick = Events::jactive(BIND_PLAYER_ATTACK) || + (xkey && Events::active(BIND_PLAYER_ATTACK)); + bool rclick = Events::jactive(BIND_PLAYER_BUILD) || + (xkey && Events::active(BIND_PLAYER_BUILD)); float maxDistance = 10.0f; if (xkey) { maxDistance *= 20.0f; @@ -270,7 +270,7 @@ void PlayerController::updateInteraction(){ lighting->onBlockSet(x,y,z, player->choosenBlock); } } - if (Events::jclicked(mousecode::BUTTON_3)){ + if (Events::jactive(BIND_PLAYER_PICK)){ player->choosenBlock = chunks->get(x,y,z)->id; } } else {