Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added err1.txt
Empty file.
Empty file added err2.txt
Empty file.
1 change: 1 addition & 0 deletions modifiedeight-newadditions/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ elseif(MCPE_IOS)
"-framework OpenGLES"
"-framework OpenAL"
"-framework AVFoundation"
"-framework GameController"
)
set_target_properties(modifiedeight-newadditions PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/build"
Expand Down
2 changes: 2 additions & 0 deletions modifiedeight-newadditions/assets/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ options.gamma.min=Moody
options.gamma.max=Bright
options.hidegui=Hide GUI
options.sensitivity=Sensitivity
options.controllersensitivity=Controller Sensitivity
options.controllercursorsensitivity=Controller Cursor Sensitivity
options.sensitivity.min=*yawn*
options.sensitivity.max=HYPERSPEED!!!
options.renderDistance=View Distance
Expand Down
6 changes: 4 additions & 2 deletions modifiedeight-newadditions/headers/Options.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ struct Options{
static Options::Option FANCY_SKIES;
static Options::Option LEFT_HANDED;
static Options::Option SENSITIVITY;
static Options::Option CONTROLLER_SENSITIVITY;
static Options::Option CONTROLLER_CURSOR_SENSITIVITY;
static Options::Option INVERT_MOUSE;
static Options::Option THIRD_PERSON;
static Options::Option VIEW_BOBBING;
Expand Down Expand Up @@ -70,7 +72,6 @@ struct Options{
static Options::Option REALISM_SCREEN_SPACE_LIGHTING;
static Options::Option REALISM_BLOOM;
static Options::Option EXTENDED_INVENTORY;
static Options::Option CONTROLLER_SUPPORT;
};

static Options* instance;
Expand All @@ -79,6 +80,8 @@ struct Options{
float soundVolume;
float brightness;
float sensitity;
float controllerSensitivity;
float controllerCursorSensitivity;
bool_t invertMouse;
char_t field_D;
char_t field_E;
Expand Down Expand Up @@ -162,7 +165,6 @@ struct Options{
bool_t realismSSL;
bool_t realismBloom;
bool_t extendedInventory;
bool_t controllerSupport;
char_t field_109;
char_t field_10A;
char_t field_10B;
Expand Down
19 changes: 19 additions & 0 deletions modifiedeight-newadditions/headers/gui/ControllerLayoutOption.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#pragma once
#include <gui/GuiElementContainer.hpp>
#include <memory>

struct Button;
struct ControllerLayoutOption: GuiElementContainer
{
std::shared_ptr<Button> customizeButton;
Button* pressedButton;
bool_t isInWorld;

ControllerLayoutOption(Minecraft*, bool_t);

virtual ~ControllerLayoutOption();
virtual void render(Minecraft*, int32_t, int32_t);
virtual void setupPositions();
virtual void mouseClicked(Minecraft*, int32_t, int32_t, int32_t);
virtual void mouseReleased(Minecraft*, int32_t, int32_t, int32_t);
};
1 change: 1 addition & 0 deletions modifiedeight-newadditions/headers/gui/OptionsGroup.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ struct OptionsGroup: GuiElementContainer

OptionsGroup(std::string);
void addLoginItem(Minecraft*);
OptionsGroup* addControllerLayoutItem(Minecraft*, bool_t);
void createTextBox(const Options::Option*, Minecraft*);

virtual ~OptionsGroup();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
#pragma once
#include <gui/buttons/Button.hpp>
struct Options
{
struct Option;
};
#include <Options.hpp>


struct SmallButton: Button
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#pragma once
#include <_types.h>
#include <gui/Screen.hpp>
#include <input/ControllerLayout.hpp>

namespace Touch {
struct TButton;
}
struct NinePatchLayer;

struct ControllerLayoutScreen: Screen
{
Touch::TButton* buttonSave;
Touch::TButton* buttonReset;
Touch::TButton* buttonCancel;
NinePatchLayer* optBtn;
NinePatchLayer* playPressed;
NinePatchLayer* listBg;
NinePatchLayer* panelBg;

Binding working[CA_COUNT];
int32_t capturingAction;
float scrollOffset;
float scrollTarget;
int32_t contentHeight;
int32_t listTop, listBottom;
int32_t actionsColumnWidth, bindingsColumnWidth;
int32_t contentLeft, contentRight, scrollBarX;
int32_t dragStartY;
float dragStartOffset;
float dragVel;
int32_t lastDragMs;
bool_t isDragging;
bool_t draggingBar;
int32_t barGrabDY;
int32_t lastAnimMs;
bool_t isInWorld;

ControllerLayoutScreen(bool_t);

void closeScreen();
void clampScroll();
void calcBar(int32_t&, int32_t&);
int32_t rowIndexAt(int32_t, int32_t);

virtual ~ControllerLayoutScreen();
virtual void init();
virtual void setupPositions();
virtual void render(int32_t, int32_t, float);
virtual void tick();
virtual bool_t handleBackEvent(bool_t);
virtual bool_t renderGameBehind();
virtual void buttonClicked(Button*);
virtual void mouseClicked(int32_t, int32_t, int32_t);
virtual void mouseReleased(int32_t, int32_t, int32_t);
virtual void keyPressed(int32_t);
};
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ struct NinePatchLayer;
struct ImageButton;
struct OptionsScreen: Screen
{
static int32_t lastCategory;

Touch::THeader* headerOptions;
Touch::TButton* buttonBack;
ImageButton* field_5C;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@ struct PauseScreen: Screen
virtual void setupPositions();
virtual void tick();
virtual bool_t renderGameBehind();
virtual bool_t handleBackEvent(bool_t);
virtual void buttonClicked(Button*);
};
38 changes: 38 additions & 0 deletions modifiedeight-newadditions/headers/input/ControllerHandler.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#pragma once
#include <_types.h>
#include <input/ControllerLayout.hpp>

struct Minecraft;
struct IMoveInput;
struct Player;

struct ControllerHandler {
static bool_t captureMode;
static bool_t captureWantsAxis;
static bool_t hasCaptured;
static Binding capturedBinding;
static float cursorX, cursorY;
static int32_t scrollRepeat;
static int32_t lastPadCursorMs;

static void hideCursor();
static bool_t cursorVisible();
static float moveX, moveY;
static float frameDt;
static double lastFrameS;
static void clampVec(float&, float&);
static int32_t lastPerspectiveMs;
static bool_t jumpHeld, sneakHeld, sprintHeld;
static bool_t attackHeld, useHeld, confirmHeld;

static void beginCapture(bool_t);
static void endCapture();
static bool_t takeCaptured(Binding&);

static void tick(Minecraft*);
static void tickGame(Minecraft*);
static void tickMenu(Minecraft*);
static void applyMove(IMoveInput*, Player*);
static void releaseAll();
static bool_t isEnabled(Minecraft*);
};
42 changes: 42 additions & 0 deletions modifiedeight-newadditions/headers/input/ControllerLayout.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#pragma once
#include <_types.h>
#include <input/Gamepad.hpp>
#include <string>

enum ControllerAction {
CA_JUMP = 0,
CA_DROP_ITEM = 1,
CA_ATTACK = 2,
CA_USE_ITEM = 3,
CA_CRAFTING = 4,
CA_INVENTORY = 5,
CA_CYCLE_LEFT = 6,
CA_CYCLE_RIGHT = 7,
CA_TOGGLE_PERSPECTIVE = 8,
CA_SNEAK = 9,
CA_GAME_MENU = 10,
CA_MOVE_AXIS_X = 11,
CA_MOVE_AXIS_Y = 12,
CA_LOOK_AXIS_X = 13,
CA_LOOK_AXIS_Y = 14,
CA_COUNT = 15
};

struct ControllerLayout {
static Binding bindings[CA_COUNT];
static std::string filePath;
static bool_t loaded;

static void init(const std::string&);
static void resetToDefaults();
static void load();
static void save();

static Binding get(int32_t);
static void set(int32_t, const Binding&);
static void clearConflicts(int32_t, const Binding&);
static bool_t isAxisAction(int32_t);
static const char_t* actionName(int32_t);
static const char_t* actionKey(int32_t);
static std::string describe(int32_t);
};
101 changes: 101 additions & 0 deletions modifiedeight-newadditions/headers/input/Gamepad.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
#pragma once
#include <_types.h>
#include <string>

enum GamepadButton {
GP_BTN_A = 0,
GP_BTN_B = 1,
GP_BTN_X = 2,
GP_BTN_Y = 3,
GP_BTN_LB = 4,
GP_BTN_RB = 5,
GP_BTN_BACK = 6,
GP_BTN_START = 7,
GP_BTN_L3 = 8,
GP_BTN_R3 = 9,
GP_BTN_LT = 10,
GP_BTN_RT = 11,
GP_BTN_DPAD_UP = 12,
GP_BTN_DPAD_DOWN = 13,
GP_BTN_DPAD_LEFT = 14,
GP_BTN_DPAD_RIGHT = 15,
GP_BTN_MODE = 16,
GP_BTN_C = 17,
GP_BTN_Z = 18,
GP_BTN_EXTRA_0 = 19,
GP_BTN_EXTRA_1 = 20,
GP_BTN_EXTRA_2 = 21,
GP_BTN_EXTRA_3 = 22,
GP_BTN_EXTRA_4 = 23,
GP_BTN_COUNT = 24
};

enum GamepadAxis {
GP_AXIS_LX = 0,
GP_AXIS_LY = 1,
GP_AXIS_RX = 2,
GP_AXIS_RY = 3,
GP_AXIS_LT = 4,
GP_AXIS_RT = 5,
GP_AXIS_COUNT = 6
};

enum BindingSource {
BIND_NONE = 0,
BIND_BUTTON = 1,
BIND_AXIS_POSITIVE = 2,
BIND_AXIS_NEGATIVE = 3,
BIND_AXIS_FULL = 4
};

struct Binding {
int32_t source;
int32_t code;
int32_t raw;

Binding();
Binding(int32_t, int32_t);
bool_t isSet() const;
bool_t equals(const Binding&) const;
std::string describe() const;
std::string serialize() const;
static Binding parse(const std::string&);
};

struct Gamepad {
static bool_t connected;
static bool_t buttons[GP_BTN_COUNT];
static bool_t pressLatch[GP_BTN_COUNT];
static bool_t releaseLatch[GP_BTN_COUNT];
static float axes[GP_AXIS_COUNT];
static float prevAxes[GP_AXIS_COUNT];
static int32_t buttonRaw[GP_BTN_COUNT];
static int32_t axisRaw[GP_AXIS_COUNT];
static float deadzone;
static float triggerThreshold;

static void reset();
static void beginFrame();
static void setConnected(bool_t);
static void feedButton(int32_t, bool_t, int32_t raw = -1);
static void feedAxis(int32_t, float, int32_t raw = -1);
static void feedHat(bool_t, bool_t, bool_t, bool_t);
static void syncDerivedButtons();
static int32_t mapRawButton(int32_t, int32_t);
static int32_t mapSdlButton(int32_t, int32_t, int32_t);

static float applyDeadzone(float);
static bool_t isButtonDown(int32_t);
static bool_t wasButtonPressed(int32_t);
static bool_t wasButtonReleased(int32_t);
static float getAxis(int32_t);
static float getPrevAxis(int32_t);

static bool_t isBindingDown(const Binding&);
static bool_t wasBindingPressed(const Binding&);
static bool_t wasBindingReleased(const Binding&);
static float getBindingValue(const Binding&);
static bool_t detectPressedBinding(Binding&, bool_t);
static const char_t* buttonName(int32_t);
static const char_t* axisName(int32_t);
};
Loading
Loading