mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-08-20 09:57:09 +00:00
Merge branch 'smartcmd:main' into main
This commit is contained in:
commit
ce413be6b9
55
.clang-format
Normal file
55
.clang-format
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
---
|
||||||
|
BasedOnStyle: Microsoft
|
||||||
|
AccessModifierOffset: -2
|
||||||
|
BraceWrapping:
|
||||||
|
AfterCaseLabel: false
|
||||||
|
AfterClass: true
|
||||||
|
AfterControlStatement: Always
|
||||||
|
AfterEnum: true
|
||||||
|
AfterExternBlock: true
|
||||||
|
AfterFunction: true
|
||||||
|
AfterNamespace: true
|
||||||
|
AfterObjCDeclaration: true
|
||||||
|
AfterStruct: true
|
||||||
|
AfterUnion: false
|
||||||
|
BeforeCatch: true
|
||||||
|
BeforeElse: true
|
||||||
|
BeforeLambdaBody: false
|
||||||
|
BeforeWhile: false
|
||||||
|
IndentBraces: false
|
||||||
|
SplitEmptyFunction: true
|
||||||
|
SplitEmptyRecord: true
|
||||||
|
SplitEmptyNamespace: true
|
||||||
|
ColumnLimit: 0
|
||||||
|
IncludeBlocks: Preserve
|
||||||
|
IndentAccessModifiers: false
|
||||||
|
IndentCaseBlocks: true
|
||||||
|
IndentCaseLabels: false
|
||||||
|
IndentExportBlock: true
|
||||||
|
IndentExternBlock: AfterExternBlock
|
||||||
|
IndentGotoLabels: false
|
||||||
|
IndentPPDirectives: None
|
||||||
|
IndentWidth: 4
|
||||||
|
InsertBraces: true
|
||||||
|
InsertNewlineAtEOF: true
|
||||||
|
NamespaceIndentation: None
|
||||||
|
PointerAlignment: Right
|
||||||
|
RemoveParentheses: Leave
|
||||||
|
RemoveSemicolon: false
|
||||||
|
SeparateDefinitionBlocks: Leave
|
||||||
|
ShortNamespaceLines: 1
|
||||||
|
SkipMacroDefinitionBody: false
|
||||||
|
SortIncludes:
|
||||||
|
Enabled: true
|
||||||
|
IgnoreCase: false
|
||||||
|
SpacesInParens: Never
|
||||||
|
SpacesInParensOptions:
|
||||||
|
ExceptDoubleParentheses: false
|
||||||
|
InCStyleCasts: false
|
||||||
|
InConditionalStatements: false
|
||||||
|
InEmptyParentheses: false
|
||||||
|
Other: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
Standard: Latest
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
||||||
6
.github/workflows/nightly.yml
vendored
6
.github/workflows/nightly.yml
vendored
|
|
@ -35,4 +35,8 @@ jobs:
|
||||||
with:
|
with:
|
||||||
tag_name: nightly
|
tag_name: nightly
|
||||||
name: Nightly Release
|
name: Nightly Release
|
||||||
files: LCEWindows64.zip
|
body: Requires at least Windows 7 and DirectX 11 compatible GPU to run. Compiled with MSVC v14.44.35207 in Release mode with Whole Program Optimization, as well as `/O2 /Ot /Oi /Ob3 /GF /fp:precise`.
|
||||||
|
files: |
|
||||||
|
LCEWindows64.zip
|
||||||
|
./x64/Release/Minecraft.Client.exe
|
||||||
|
./x64/Release/Minecraft.Client.pdb
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required(VERSION 3.24)
|
cmake_minimum_required(VERSION 3.24)
|
||||||
|
|
||||||
project(MinecraftConsoles LANGUAGES C CXX ASM_MASM)
|
project(MinecraftConsoles LANGUAGES C CXX RC ASM_MASM)
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
message(FATAL_ERROR "This CMake build currently supports Windows only.")
|
message(FATAL_ERROR "This CMake build currently supports Windows only.")
|
||||||
|
|
@ -12,11 +12,24 @@ endif()
|
||||||
|
|
||||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
|
|
||||||
|
function(configure_msvc_target target)
|
||||||
|
target_compile_options(${target} PRIVATE
|
||||||
|
$<$<AND:$<NOT:$<CONFIG:Release>>,$<COMPILE_LANGUAGE:C,CXX>>:/W3>
|
||||||
|
$<$<AND:$<CONFIG:Release>,$<COMPILE_LANGUAGE:C,CXX>>:/W0>
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:/MP>
|
||||||
|
$<$<COMPILE_LANGUAGE:CXX>:/EHsc>
|
||||||
|
$<$<AND:$<CONFIG:Release>,$<COMPILE_LANGUAGE:C,CXX>>:/GL /O2 /Oi /GT /GF>
|
||||||
|
)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/WorldSources.cmake")
|
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/WorldSources.cmake")
|
||||||
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/ClientSources.cmake")
|
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/ClientSources.cmake")
|
||||||
|
|
||||||
list(TRANSFORM MINECRAFT_WORLD_SOURCES PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.World/")
|
list(TRANSFORM MINECRAFT_WORLD_SOURCES PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.World/")
|
||||||
list(TRANSFORM MINECRAFT_CLIENT_SOURCES PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/")
|
list(TRANSFORM MINECRAFT_CLIENT_SOURCES PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/")
|
||||||
|
list(APPEND MINECRAFT_CLIENT_SOURCES
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Xbox/MinecraftWindows.rc"
|
||||||
|
)
|
||||||
|
|
||||||
add_library(MinecraftWorld STATIC ${MINECRAFT_WORLD_SOURCES})
|
add_library(MinecraftWorld STATIC ${MINECRAFT_WORLD_SOURCES})
|
||||||
target_include_directories(MinecraftWorld PRIVATE
|
target_include_directories(MinecraftWorld PRIVATE
|
||||||
|
|
@ -28,11 +41,7 @@ target_compile_definitions(MinecraftWorld PRIVATE
|
||||||
$<$<NOT:$<CONFIG:Debug>>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_LIB;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64>
|
$<$<NOT:$<CONFIG:Debug>>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_LIB;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64>
|
||||||
)
|
)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
target_compile_options(MinecraftWorld PRIVATE
|
configure_msvc_target(MinecraftWorld)
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:/W3>
|
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:/MP>
|
|
||||||
$<$<COMPILE_LANGUAGE:CXX>:/EHsc>
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(MinecraftClient WIN32 ${MINECRAFT_CLIENT_SOURCES})
|
add_executable(MinecraftClient WIN32 ${MINECRAFT_CLIENT_SOURCES})
|
||||||
|
|
@ -47,10 +56,9 @@ target_compile_definitions(MinecraftClient PRIVATE
|
||||||
$<$<NOT:$<CONFIG:Debug>>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64>
|
$<$<NOT:$<CONFIG:Debug>>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64>
|
||||||
)
|
)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
target_compile_options(MinecraftClient PRIVATE
|
configure_msvc_target(MinecraftClient)
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:/W3>
|
target_link_options(MinecraftClient PRIVATE
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:/MP>
|
$<$<CONFIG:Release>:/LTCG /INCREMENTAL:NO>
|
||||||
$<$<COMPILE_LANGUAGE:CXX>:/EHsc>
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -845,8 +845,9 @@ IUIScene_CreativeMenu::TabSpec::TabSpec(LPCWSTR icon, int descriptionId, int sta
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_staticPerPage = MAX_SIZE - dynamicItems;
|
m_staticPerPage = columns;
|
||||||
m_pages = (int)ceil((float)m_staticItems / m_staticPerPage);
|
const int totalRows = (m_staticItems + columns - 1) / columns;
|
||||||
|
m_pages = std::max<int>(1, totalRows - 5 + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
IUIScene_CreativeMenu::TabSpec::~TabSpec()
|
IUIScene_CreativeMenu::TabSpec::~TabSpec()
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@ DWORD IQNetPlayer::GetCurrentRtt() { return 0; }
|
||||||
bool IQNetPlayer::IsHost() { return m_isHostPlayer; }
|
bool IQNetPlayer::IsHost() { return m_isHostPlayer; }
|
||||||
bool IQNetPlayer::IsGuest() { return false; }
|
bool IQNetPlayer::IsGuest() { return false; }
|
||||||
bool IQNetPlayer::IsLocal() { return true; }
|
bool IQNetPlayer::IsLocal() { return true; }
|
||||||
PlayerUID IQNetPlayer::GetXuid() { return INVALID_XUID; }
|
PlayerUID IQNetPlayer::GetXuid() { return (PlayerUID)(0xe000d45248242f2e + m_smallId); } // todo: restore to INVALID_XUID once saves support this
|
||||||
extern wstring g_playerName;
|
extern wstring g_playerName;
|
||||||
LPCWSTR IQNetPlayer::GetGamertag() { return g_playerName.empty() ? L"Windows" : g_playerName.c_str(); }
|
LPCWSTR IQNetPlayer::GetGamertag() { return g_playerName.empty() ? L"Windows" : g_playerName.c_str(); }
|
||||||
int IQNetPlayer::GetSessionIndex() { return 0; }
|
int IQNetPlayer::GetSessionIndex() { return 0; }
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,7 @@ void Input::tick(LocalPlayer *player)
|
||||||
// Delta should normally be 0 since applyFrameMouseLook() already consumed it
|
// Delta should normally be 0 since applyFrameMouseLook() already consumed it
|
||||||
if (rawDx != 0.0f || rawDy != 0.0f)
|
if (rawDx != 0.0f || rawDy != 0.0f)
|
||||||
{
|
{
|
||||||
float mouseSensitivity = 0.5f;
|
float mouseSensitivity = ((float)app.GetGameSettings(iPad, eGameSetting_Sensitivity_InGame)) / 100.0f;
|
||||||
float mdx = rawDx * mouseSensitivity;
|
float mdx = rawDx * mouseSensitivity;
|
||||||
float mdy = -rawDy * mouseSensitivity;
|
float mdy = -rawDy * mouseSensitivity;
|
||||||
if (app.GetGameSettings(iPad, eGameSetting_ControlInvertLook))
|
if (app.GetGameSettings(iPad, eGameSetting_ControlInvertLook))
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ public:
|
||||||
static const int CHUNK_SIZE = 16;
|
static const int CHUNK_SIZE = 16;
|
||||||
#endif
|
#endif
|
||||||
static const int CHUNK_Y_COUNT = Level::maxBuildHeight / CHUNK_SIZE;
|
static const int CHUNK_Y_COUNT = Level::maxBuildHeight / CHUNK_SIZE;
|
||||||
#if defined _XBOX_ONE
|
#if (defined _XBOX_ONE || defined _WINDOWS64)
|
||||||
static const int MAX_COMMANDBUFFER_ALLOCATIONS = 2047 * 1024 * 1024; // Changed to 2047. 4J had set to 512.
|
static const int MAX_COMMANDBUFFER_ALLOCATIONS = 2047 * 1024 * 1024; // Changed to 2047. 4J had set to 512.
|
||||||
#elif defined __ORBIS__
|
#elif defined __ORBIS__
|
||||||
static const int MAX_COMMANDBUFFER_ALLOCATIONS = 448 * 1024 * 1024; // 4J - added - hard limit is 512 so giving a lot of headroom here for fragmentation (have seen 16MB lost to fragmentation in multiplayer crash dump before)
|
static const int MAX_COMMANDBUFFER_ALLOCATIONS = 448 * 1024 * 1024; // 4J - added - hard limit is 512 so giving a lot of headroom here for fragmentation (have seen 16MB lost to fragmentation in multiplayer crash dump before)
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1191,7 +1191,7 @@ void Minecraft::applyFrameMouseLook()
|
||||||
KMInput.ConsumeMouseDelta(rawDx, rawDy);
|
KMInput.ConsumeMouseDelta(rawDx, rawDy);
|
||||||
if (rawDx == 0.0f && rawDy == 0.0f) continue;
|
if (rawDx == 0.0f && rawDy == 0.0f) continue;
|
||||||
|
|
||||||
float mouseSensitivity = 0.5f;
|
float mouseSensitivity = ((float)app.GetGameSettings(iPad, eGameSetting_Sensitivity_InGame)) / 100.0f;
|
||||||
float mdx = rawDx * mouseSensitivity;
|
float mdx = rawDx * mouseSensitivity;
|
||||||
float mdy = -rawDy * mouseSensitivity;
|
float mdy = -rawDy * mouseSensitivity;
|
||||||
if (app.GetGameSettings(iPad, eGameSetting_ControlInvertLook))
|
if (app.GetGameSettings(iPad, eGameSetting_ControlInvertLook))
|
||||||
|
|
|
||||||
|
|
@ -1272,7 +1272,15 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// F3 toggles the debug console overlay, F11 toggles fullscreen
|
// F1 toggles the HUD, F3 toggles the debug console overlay, F11 toggles fullscreen
|
||||||
|
if (KMInput.IsKeyPressed(VK_F1))
|
||||||
|
{
|
||||||
|
int primaryPad = ProfileManager.GetPrimaryPad();
|
||||||
|
unsigned char displayHud = app.GetGameSettings(primaryPad, eGameSetting_DisplayHUD);
|
||||||
|
app.SetGameSettings(primaryPad, eGameSetting_DisplayHUD, displayHud ? 0 : 1);
|
||||||
|
app.SetGameSettings(primaryPad, eGameSetting_DisplayHand, displayHud ? 0 : 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (KMInput.IsKeyPressed(VK_F3))
|
if (KMInput.IsKeyPressed(VK_F3))
|
||||||
{
|
{
|
||||||
static bool s_debugConsole = false;
|
static bool s_debugConsole = false;
|
||||||
|
|
|
||||||
|
|
@ -1658,7 +1658,8 @@ HRESULT CConsoleMinecraftApp::NavigateToScene(int iPad,EUIScene eScene, void *in
|
||||||
|
|
||||||
// If you're navigating to the multigamejoinload, and the player hasn't seen the updates message yet, display it now
|
// If you're navigating to the multigamejoinload, and the player hasn't seen the updates message yet, display it now
|
||||||
// display this message the first 3 times
|
// display this message the first 3 times
|
||||||
if((eScene==eUIScene_LoadOrJoinMenu) && (bSeenUpdateTextThisSession==false) && ( app.GetGameSettings(ProfileManager.GetPrimaryPad(),eGameSetting_DisplayUpdateMessage)!=0))
|
// todo: re-enable if we fix this menu, for now its just blank!
|
||||||
|
if(false && (eScene==eUIScene_LoadOrJoinMenu) && (bSeenUpdateTextThisSession==false) && ( app.GetGameSettings(ProfileManager.GetPrimaryPad(),eGameSetting_DisplayUpdateMessage)!=0))
|
||||||
{
|
{
|
||||||
eScene=eUIScene_NewUpdateMessage;
|
eScene=eUIScene_NewUpdateMessage;
|
||||||
bSeenUpdateTextThisSession=true;
|
bSeenUpdateTextThisSession=true;
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ This feature is based on [LCEMP](https://github.com/LCEMP/LCEMP/)
|
||||||
- **Select Item**: `Mouse Wheel` or keys `1` to `9`
|
- **Select Item**: `Mouse Wheel` or keys `1` to `9`
|
||||||
- **Accept or Decline Tutorial hints**: `Enter` to accept and `B` to decline
|
- **Accept or Decline Tutorial hints**: `Enter` to accept and `B` to decline
|
||||||
- **Game Info (Player list and Host Options)**: `TAB`
|
- **Game Info (Player list and Host Options)**: `TAB`
|
||||||
|
- **Toggle HUD**: `F1`
|
||||||
- **Toggle Debug Info**: `F3`
|
- **Toggle Debug Info**: `F3`
|
||||||
- **Open Debug Overlay**: `F4`
|
- **Open Debug Overlay**: `F4`
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue