Merge branch '4jcraft:dev' into issue/51-phase-1-portable-win32-cleanup

This commit is contained in:
MatthewBeshay 2026-03-11 18:27:03 +11:00 committed by GitHub
commit 42508c8399
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 18 additions and 12 deletions

View file

@ -215,7 +215,8 @@ bool C_4JInput::ButtonDown(int iPad, unsigned char ucAction) {
switch (ucAction) { switch (ucAction) {
case MINECRAFT_ACTION_ACTION: return MouseLDown() || KDown(SDL_SCANCODE_RETURN); case MINECRAFT_ACTION_ACTION: return MouseLDown() || KDown(SDL_SCANCODE_RETURN);
case MINECRAFT_ACTION_USE: return MouseRDown() || KDown(SDL_SCANCODE_F); case MINECRAFT_ACTION_USE: return MouseRDown() || KDown(SDL_SCANCODE_F);
case MINECRAFT_ACTION_SNEAK_TOGGLE: return KDown(SDL_SCANCODE_LSHIFT) || KDown(SDL_SCANCODE_RSHIFT) || KDown(SDL_SCANCODE_LCTRL) || KDown(SDL_SCANCODE_RCTRL); case MINECRAFT_ACTION_SNEAK_TOGGLE: return KDown(SDL_SCANCODE_LSHIFT) || KDown(SDL_SCANCODE_RSHIFT);
case MINECRAFT_ACTION_SPRINT: return KDown(SDL_SCANCODE_LCTRL) || KDown(SDL_SCANCODE_RCTRL);
case MINECRAFT_ACTION_LEFT_SCROLL: case MINECRAFT_ACTION_LEFT_SCROLL:
case ACTION_MENU_LEFT_SCROLL: return ScrollSnap() > 0; case ACTION_MENU_LEFT_SCROLL: return ScrollSnap() > 0;
case MINECRAFT_ACTION_RIGHT_SCROLL: case MINECRAFT_ACTION_RIGHT_SCROLL:
@ -229,7 +230,8 @@ bool C_4JInput::ButtonPressed(int iPad, unsigned char ucAction) {
switch (ucAction) { switch (ucAction) {
case MINECRAFT_ACTION_ACTION: return MouseLPressed() || KPressed(SDL_SCANCODE_RETURN); case MINECRAFT_ACTION_ACTION: return MouseLPressed() || KPressed(SDL_SCANCODE_RETURN);
case MINECRAFT_ACTION_USE: return MouseRPressed() || KPressed(SDL_SCANCODE_F); case MINECRAFT_ACTION_USE: return MouseRPressed() || KPressed(SDL_SCANCODE_F);
case MINECRAFT_ACTION_SNEAK_TOGGLE: return KPressed(SDL_SCANCODE_LSHIFT) || KPressed(SDL_SCANCODE_RSHIFT) || KPressed(SDL_SCANCODE_LCTRL) || KPressed(SDL_SCANCODE_RCTRL); case MINECRAFT_ACTION_SNEAK_TOGGLE: return KPressed(SDL_SCANCODE_LSHIFT) || KPressed(SDL_SCANCODE_RSHIFT);
case MINECRAFT_ACTION_SPRINT: return KPressed(SDL_SCANCODE_LCTRL) || KPressed(SDL_SCANCODE_RCTRL);
case MINECRAFT_ACTION_LEFT_SCROLL: case MINECRAFT_ACTION_LEFT_SCROLL:
case ACTION_MENU_LEFT_SCROLL: return ScrollSnap() > 0; case ACTION_MENU_LEFT_SCROLL: return ScrollSnap() > 0;
case MINECRAFT_ACTION_RIGHT_SCROLL: case MINECRAFT_ACTION_RIGHT_SCROLL:
@ -243,7 +245,8 @@ bool C_4JInput::ButtonReleased(int iPad, unsigned char ucAction) {
switch (ucAction) { switch (ucAction) {
case MINECRAFT_ACTION_ACTION: return MouseLReleased() || KReleased(SDL_SCANCODE_RETURN); case MINECRAFT_ACTION_ACTION: return MouseLReleased() || KReleased(SDL_SCANCODE_RETURN);
case MINECRAFT_ACTION_USE: return MouseRReleased() || KReleased(SDL_SCANCODE_F); case MINECRAFT_ACTION_USE: return MouseRReleased() || KReleased(SDL_SCANCODE_F);
case MINECRAFT_ACTION_SNEAK_TOGGLE: return KReleased(SDL_SCANCODE_LSHIFT) || KReleased(SDL_SCANCODE_RSHIFT) || KReleased(SDL_SCANCODE_LCTRL) || KReleased(SDL_SCANCODE_RCTRL); case MINECRAFT_ACTION_SNEAK_TOGGLE: return KReleased(SDL_SCANCODE_LSHIFT) || KReleased(SDL_SCANCODE_RSHIFT);
case MINECRAFT_ACTION_SPRINT: KReleased(SDL_SCANCODE_LCTRL) || KReleased(SDL_SCANCODE_RCTRL);
case MINECRAFT_ACTION_LEFT_SCROLL: case MINECRAFT_ACTION_LEFT_SCROLL:
case ACTION_MENU_LEFT_SCROLL: case ACTION_MENU_LEFT_SCROLL:
case MINECRAFT_ACTION_RIGHT_SCROLL: case MINECRAFT_ACTION_RIGHT_SCROLL:

View file

@ -15,6 +15,7 @@ Input::Input()
wasJumping = false; wasJumping = false;
jumping = false; jumping = false;
sneaking = false; sneaking = false;
sprintKey = false;
lReset = false; lReset = false;
rReset = false; rReset = false;
@ -103,12 +104,8 @@ void Input::tick(LocalPlayer *player)
//jumping = controller.isButtonPressed(0); //jumping = controller.isButtonPressed(0);
sprintKey = InputManager.GetValue(iPad, MINECRAFT_ACTION_SPRINT) && pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_SPRINT);
unsigned int jump = InputManager.GetValue(iPad, MINECRAFT_ACTION_JUMP); jumping = InputManager.GetValue(iPad, MINECRAFT_ACTION_JUMP) && pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_JUMP);
if( jump > 0 && pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_JUMP) )
jumping = true;
else
jumping = false;
#ifndef _CONTENT_PACKAGE #ifndef _CONTENT_PACKAGE
if (app.GetFreezePlayers()) jumping = false; if (app.GetFreezePlayers()) jumping = false;

View file

@ -10,6 +10,7 @@ public:
bool wasJumping; bool wasJumping;
bool jumping; bool jumping;
bool sneaking; bool sneaking;
bool sprintKey;
Input(); // 4J - added Input(); // 4J - added
virtual ~Input(){} virtual ~Input(){}

View file

@ -828,6 +828,7 @@ enum EControllerActions
MINECRAFT_ACTION_PAUSEMENU, MINECRAFT_ACTION_PAUSEMENU,
MINECRAFT_ACTION_DROP, MINECRAFT_ACTION_DROP,
MINECRAFT_ACTION_SNEAK_TOGGLE, MINECRAFT_ACTION_SNEAK_TOGGLE,
MINECRAFT_ACTION_SPRINT,
MINECRAFT_ACTION_CRAFTING, MINECRAFT_ACTION_CRAFTING,
MINECRAFT_ACTION_RENDER_THIRD_PERSON, MINECRAFT_ACTION_RENDER_THIRD_PERSON,
MINECRAFT_ACTION_GAME_INFO, MINECRAFT_ACTION_GAME_INFO,

View file

@ -305,7 +305,7 @@ void LocalPlayer::aiStep()
// 4J - altered this slightly to make sure that the joypad returns to below returnTreshold in between registering two movements up to runThreshold // 4J - altered this slightly to make sure that the joypad returns to below returnTreshold in between registering two movements up to runThreshold
if (onGround && !isSprinting() && enoughFoodToSprint && !isUsingItem() && !hasEffect(MobEffect::blindness)) if (onGround && !isSprinting() && enoughFoodToSprint && !isUsingItem() && !hasEffect(MobEffect::blindness))
{ {
if( !wasRunning && input->ya >= runTreshold ) if( !wasRunning && (input->ya >= runTreshold) )
{ {
if (sprintTriggerTime == 0) if (sprintTriggerTime == 0)
{ {
@ -326,14 +326,18 @@ void LocalPlayer::aiStep()
{ {
sprintTriggerRegisteredReturn = true; sprintTriggerRegisteredReturn = true;
} }
else if (input->sprintKey)
{
setSprinting(true);
}
} }
if (isSneaking()) sprintTriggerTime = 0; if (isSneaking()) sprintTriggerTime = 0;
// 4J-PB - try not stopping sprint on collision // 4J-PB - try not stopping sprint on collision
//if (isSprinting() && (input->ya < runTreshold || horizontalCollision || !enoughFoodToSprint)) //if (isSprinting() && (input->ya < runTreshold || horizontalCollision || !enoughFoodToSprint))
if (isSprinting() && (input->ya < runTreshold || !enoughFoodToSprint)) if (isSprinting() && ((input->ya < runTreshold && !input->sprintKey) || !enoughFoodToSprint))
{ {
setSprinting(false); setSprinting(false);
} }
// 4J Stu - Fix for #52705 - Customer Encountered: Player can fly in bed while being in Creative mode. // 4J Stu - Fix for #52705 - Customer Encountered: Player can fly in bed while being in Creative mode.
if (!isSleeping() && (abilities.mayfly || isAllowedToFly() )) if (!isSleeping() && (abilities.mayfly || isAllowedToFly() ))