Initial commit
This commit is contained in:
parent
def8cb4153
commit
b691c43c44
19437 changed files with 4363922 additions and 0 deletions
118
Minecraft.Client/Input.cpp
Normal file
118
Minecraft.Client/Input.cpp
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
#include "stdafx.h"
|
||||
#include "Minecraft.h"
|
||||
#include "GameMode.h"
|
||||
#include "..\Minecraft.World\net.minecraft.world.entity.player.h"
|
||||
#include "..\Minecraft.World\net.minecraft.world.level.h"
|
||||
#include "..\Minecraft.World\net.minecraft.world.level.storage.h"
|
||||
#include "Input.h"
|
||||
#include "..\Minecraft.Client\LocalPlayer.h"
|
||||
#include "Options.h"
|
||||
|
||||
Input::Input()
|
||||
{
|
||||
xa = 0;
|
||||
ya = 0;
|
||||
wasJumping = false;
|
||||
jumping = false;
|
||||
sneaking = false;
|
||||
|
||||
lReset = false;
|
||||
rReset = false;
|
||||
}
|
||||
|
||||
void Input::tick(LocalPlayer *player)
|
||||
{
|
||||
// 4J Stu - Assume that we only need one input class, even though the java has subclasses for keyboard/controller
|
||||
// This function is based on the ControllerInput class in the Java, and will probably need changed
|
||||
//OutputDebugString("INPUT: Beginning input tick\n");
|
||||
|
||||
Minecraft *pMinecraft=Minecraft::GetInstance();
|
||||
int iPad=player->GetXboxPad();
|
||||
|
||||
// 4J-PB minecraft movement seems to be the wrong way round, so invert x!
|
||||
if( pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LEFT) || pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_RIGHT) )
|
||||
xa = -InputManager.GetJoypadStick_LX(iPad);
|
||||
else
|
||||
xa = 0.0f;
|
||||
|
||||
if( pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_FORWARD) || pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_BACKWARD) )
|
||||
ya = InputManager.GetJoypadStick_LY(iPad);
|
||||
else
|
||||
ya = 0.0f;
|
||||
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
if (app.GetFreezePlayers())
|
||||
{
|
||||
xa = ya = 0.0f;
|
||||
player->abilities.flying = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!lReset)
|
||||
{
|
||||
if (xa*xa+ya*ya==0.0f)
|
||||
{
|
||||
lReset = true;
|
||||
}
|
||||
xa = ya = 0.0f;
|
||||
}
|
||||
|
||||
// 4J - in flying mode, don't actually toggle sneaking
|
||||
if(!player->abilities.flying)
|
||||
{
|
||||
if((player->ullButtonsPressed&(1LL<<MINECRAFT_ACTION_SNEAK_TOGGLE)) && pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_SNEAK_TOGGLE))
|
||||
{
|
||||
sneaking=!sneaking;
|
||||
}
|
||||
}
|
||||
|
||||
if(sneaking)
|
||||
{
|
||||
xa*=0.3f;
|
||||
ya*=0.3f;
|
||||
}
|
||||
|
||||
float turnSpeed = 50.0f;
|
||||
|
||||
float tx = 0.0f;
|
||||
float ty = 0.0f;
|
||||
if( pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_LEFT) || pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_RIGHT) )
|
||||
tx = InputManager.GetJoypadStick_RX(iPad)*(((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InGame))/100.0f); // apply sensitivity to look
|
||||
if( pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_UP) || pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_DOWN) )
|
||||
ty = InputManager.GetJoypadStick_RY(iPad)*(((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InGame))/100.0f); // apply sensitivity to look
|
||||
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
if (app.GetFreezePlayers()) tx = ty = 0.0f;
|
||||
#endif
|
||||
|
||||
// 4J: WESTY : Invert look Y if required.
|
||||
if ( app.GetGameSettings(iPad,eGameSetting_ControlInvertLook) )
|
||||
{
|
||||
ty = -ty;
|
||||
}
|
||||
|
||||
if (!rReset)
|
||||
{
|
||||
if (tx*tx+ty*ty==0.0f)
|
||||
{
|
||||
rReset = true;
|
||||
}
|
||||
tx = ty = 0.0f;
|
||||
}
|
||||
player->interpolateTurn(tx * abs(tx) * turnSpeed, ty * abs(ty) * turnSpeed);
|
||||
|
||||
//jumping = controller.isButtonPressed(0);
|
||||
|
||||
|
||||
unsigned int jump = InputManager.GetValue(iPad, MINECRAFT_ACTION_JUMP);
|
||||
if( jump > 0 && pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_JUMP) )
|
||||
jumping = true;
|
||||
else
|
||||
jumping = false;
|
||||
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
if (app.GetFreezePlayers()) jumping = false;
|
||||
#endif
|
||||
|
||||
//OutputDebugString("INPUT: End input tick\n");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue