From ca11afdfca0b9cb8cb970b6d4b21d19fa9463b58 Mon Sep 17 00:00:00 2001 From: zukrmn Date: Sat, 7 Mar 2026 04:43:50 +0000 Subject: [PATCH] fix: resolve all remaining compilation warnings --- Minecraft.Client/Build/Common/Console_Utils.cpp | 2 +- .../Build/Common/DLC/DLCAudioFile.cpp | 2 +- Minecraft.Client/Build/Common/DLC/DLCAudioFile.h | 2 +- .../Build/Common/Network/GameNetworkManager.cpp | 2 +- Minecraft.Client/Build/Common/UI/UIController.cpp | 2 +- Minecraft.Client/Build/Common/UI/UIScene.cpp | 4 ++-- .../Build/Common/UI/UIScene_HowToPlayMenu.cpp | 2 +- .../Build/Common/UI/UIScene_InGameInfoMenu.cpp | 2 +- .../Common/UI/UIScene_InGamePlayerOptionsMenu.cpp | 2 +- .../UI/UIScene_InGameSaveManagementMenu.cpp | 2 +- .../Build/Common/UI/UIScene_LeaderboardsMenu.cpp | 4 ++-- .../Build/Common/UI/UIScene_LoadOrJoinMenu.cpp | 2 +- .../Build/Common/UI/UIScene_SkinSelectMenu.cpp | 2 +- .../Build/Common/UI/UIScene_SkinSelectMenu.h | 2 +- Minecraft.Client/MinecraftServer.cpp | 2 +- .../Platform/Linux/Linux_Minecraft.cpp | 5 ++++- .../Rendering/Culling/DirtyChunkSorter.h | 2 +- .../Rendering/Culling/DistanceChunkSorter.h | 2 +- Minecraft.Client/Rendering/LevelRenderer.cpp | 4 ++-- Minecraft.Client/Textures/Textures.cpp | 2 +- Minecraft.Client/UI/Screens/ControlsScreen.cpp | 2 +- Minecraft.World/AI/Goals/MeleeAttackGoal.cpp | 1 + Minecraft.World/Blocks/PistonBaseTile.cpp | 2 +- Minecraft.World/Blocks/TheEndPortalTile.cpp | 2 +- Minecraft.World/Entities/Mobs/Villager.cpp | 5 ++++- Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp | 2 +- Minecraft.World/Network/Socket.cpp | 4 ++-- Minecraft.World/Util/Hasher.cpp | 15 +++++++++------ 28 files changed, 46 insertions(+), 36 deletions(-) diff --git a/Minecraft.Client/Build/Common/Console_Utils.cpp b/Minecraft.Client/Build/Common/Console_Utils.cpp index e19fc07f2..55a2b96c1 100644 --- a/Minecraft.Client/Build/Common/Console_Utils.cpp +++ b/Minecraft.Client/Build/Common/Console_Utils.cpp @@ -7,7 +7,7 @@ // Desc: Internal helper function //-------------------------------------------------------------------------------------- #ifndef _CONTENT_PACKAGE -static VOID DebugSpewV( const CHAR* strFormat, const va_list pArgList ) +static VOID DebugSpewV( const CHAR* strFormat, va_list pArgList ) { #if defined __PS3__ || defined __ORBIS__ || defined __PSVITA__ || defined(__linux__) assert(0); diff --git a/Minecraft.Client/Build/Common/DLC/DLCAudioFile.cpp b/Minecraft.Client/Build/Common/DLC/DLCAudioFile.cpp index b18ed92f5..74a35ecff 100644 --- a/Minecraft.Client/Build/Common/DLC/DLCAudioFile.cpp +++ b/Minecraft.Client/Build/Common/DLC/DLCAudioFile.cpp @@ -26,7 +26,7 @@ PBYTE DLCAudioFile::getData(DWORD &dwBytes) return m_pbData; } -WCHAR *DLCAudioFile::wchTypeNamesA[]= +const WCHAR *DLCAudioFile::wchTypeNamesA[]= { L"CUENAME", L"CREDIT", diff --git a/Minecraft.Client/Build/Common/DLC/DLCAudioFile.h b/Minecraft.Client/Build/Common/DLC/DLCAudioFile.h index 728512d76..f1a356fe9 100644 --- a/Minecraft.Client/Build/Common/DLC/DLCAudioFile.h +++ b/Minecraft.Client/Build/Common/DLC/DLCAudioFile.h @@ -28,7 +28,7 @@ public: e_AudioParamType_Max, }; - static WCHAR *wchTypeNamesA[e_AudioParamType_Max]; + static const WCHAR *wchTypeNamesA[e_AudioParamType_Max]; DLCAudioFile(const wstring &path); diff --git a/Minecraft.Client/Build/Common/Network/GameNetworkManager.cpp b/Minecraft.Client/Build/Common/Network/GameNetworkManager.cpp index cc977f6f4..72785e7e1 100644 --- a/Minecraft.Client/Build/Common/Network/GameNetworkManager.cpp +++ b/Minecraft.Client/Build/Common/Network/GameNetworkManager.cpp @@ -888,7 +888,7 @@ int CGameNetworkManager::ServerThreadProc( void* lpParameter ) IntCache::ReleaseThreadStorage(); Level::destroyLightingCache(); - if(lpParameter != NULL) delete lpParameter; + if(lpParameter != NULL) delete (NetworkGameInitData*)lpParameter; return 0; } diff --git a/Minecraft.Client/Build/Common/UI/UIController.cpp b/Minecraft.Client/Build/Common/UI/UIController.cpp index f5ed2c407..9ee22da29 100644 --- a/Minecraft.Client/Build/Common/UI/UIController.cpp +++ b/Minecraft.Client/Build/Common/UI/UIController.cpp @@ -1351,7 +1351,7 @@ GDrawTexture * RADLINK UIController::TextureSubstitutionCreateCallback ( void * *height = 64; #endif - *destroy_callback_data = (void *)id; + *destroy_callback_data = (void *)(intptr_t)id; app.DebugPrintf("Found substitution texture %ls (%d) - %dx%d\n", (wchar_t *)texture_name, id, image.getWidth(), image.getHeight()); return ui.getSubstitutionTexture(id); diff --git a/Minecraft.Client/Build/Common/UI/UIScene.cpp b/Minecraft.Client/Build/Common/UI/UIScene.cpp index d8af0cf37..b74d73143 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene.cpp @@ -392,7 +392,7 @@ void UIScene::getDebugMemoryUseRecursive(const wstring &moviePath, IggyMemoryUse IggyMemoryUseInfo internalMemoryInfo; int internalIteration = 0; while(res = IggyDebugGetMemoryUseInfo ( swf , - NULL , + 0 , memoryInfo.subcategory , memoryInfo.subcategory_stringlen , internalIteration , @@ -415,7 +415,7 @@ void UIScene::PrintTotalMemoryUsage(__int64 &totalStatic, __int64 &totalDynamic) __int64 sceneStatic = 0; __int64 sceneDynamic = 0; while(res = IggyDebugGetMemoryUseInfo ( swf , - NULL , + 0 , "" , 0 , iteration , diff --git a/Minecraft.Client/Build/Common/UI/UIScene_HowToPlayMenu.cpp b/Minecraft.Client/Build/Common/UI/UIScene_HowToPlayMenu.cpp index b1925931f..fafcfe7df 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_HowToPlayMenu.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene_HowToPlayMenu.cpp @@ -200,6 +200,6 @@ void UIScene_HowToPlayMenu::handlePress(F64 controlId, F64 childId) unsigned int uiInitData; uiInitData = ( ( 1 << 31 ) | ( m_uiHTPSceneA[(int)childId] << 16 ) | ( short )( m_iPad ) ); - ui.NavigateToScene(m_iPad, eUIScene_HowToPlay, ( void* )( uiInitData ) ); + ui.NavigateToScene(m_iPad, eUIScene_HowToPlay, ( void* )(intptr_t)( uiInitData ) ); } } diff --git a/Minecraft.Client/Build/Common/UI/UIScene_InGameInfoMenu.cpp b/Minecraft.Client/Build/Common/UI/UIScene_InGameInfoMenu.cpp index a51ee4e32..8f99c92ae 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_InGameInfoMenu.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene_InGameInfoMenu.cpp @@ -551,7 +551,7 @@ void UIScene_InGameInfoMenu::OnPlayerChanged(void *callbackParam, INetworkPlayer int UIScene_InGameInfoMenu::KickPlayerReturned(void *pParam,int iPad,C4JStorage::EMessageResult result) { BYTE smallId = *(BYTE *)pParam; - delete pParam; + delete (BYTE*)pParam; if(result==C4JStorage::EMessage_ResultAccept) { diff --git a/Minecraft.Client/Build/Common/UI/UIScene_InGamePlayerOptionsMenu.cpp b/Minecraft.Client/Build/Common/UI/UIScene_InGamePlayerOptionsMenu.cpp index a3805f13f..6aaacefaa 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_InGamePlayerOptionsMenu.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene_InGamePlayerOptionsMenu.cpp @@ -361,7 +361,7 @@ void UIScene_InGamePlayerOptionsMenu::handlePress(F64 controlId, F64 childId) int UIScene_InGamePlayerOptionsMenu::KickPlayerReturned(void *pParam,int iPad,C4JStorage::EMessageResult result) { BYTE smallId = *(BYTE *)pParam; - delete pParam; + delete (BYTE*)pParam; if(result==C4JStorage::EMessage_ResultAccept) { diff --git a/Minecraft.Client/Build/Common/UI/UIScene_InGameSaveManagementMenu.cpp b/Minecraft.Client/Build/Common/UI/UIScene_InGameSaveManagementMenu.cpp index e6d544918..7247854f1 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_InGameSaveManagementMenu.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene_InGameSaveManagementMenu.cpp @@ -379,7 +379,7 @@ void UIScene_InGameSaveManagementMenu::GetSaveInfo( ) m_pSaveDetails=StorageManager.ReturnSavesInfo(); if(m_pSaveDetails==NULL) { - C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,"save"); + C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,(char*)"save"); } diff --git a/Minecraft.Client/Build/Common/UI/UIScene_LeaderboardsMenu.cpp b/Minecraft.Client/Build/Common/UI/UIScene_LeaderboardsMenu.cpp index 327b7838a..68c614e27 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_LeaderboardsMenu.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene_LeaderboardsMenu.cpp @@ -11,9 +11,9 @@ // if the value is greater than 32000, it's an xzp icon that needs displayed, rather than the game icon const int UIScene_LeaderboardsMenu::TitleIcons[UIScene_LeaderboardsMenu::NUM_LEADERBOARDS][7] = { - { UIControl_LeaderboardList::e_ICON_TYPE_WALKED, UIControl_LeaderboardList::e_ICON_TYPE_FALLEN, Item::minecart_Id, Item::boat_Id, NULL }, + { UIControl_LeaderboardList::e_ICON_TYPE_WALKED, UIControl_LeaderboardList::e_ICON_TYPE_FALLEN, Item::minecart_Id, Item::boat_Id, 0 }, { Tile::dirt_Id, Tile::stoneBrick_Id, Tile::sand_Id, Tile::rock_Id, Tile::gravel_Id, Tile::clay_Id, Tile::obsidian_Id }, - { Item::egg_Id, Item::wheat_Id, Tile::mushroom1_Id, Tile::reeds_Id, Item::milk_Id, Tile::pumpkin_Id, NULL }, + { Item::egg_Id, Item::wheat_Id, Tile::mushroom1_Id, Tile::reeds_Id, Item::milk_Id, Tile::pumpkin_Id, 0 }, { UIControl_LeaderboardList::e_ICON_TYPE_ZOMBIE, UIControl_LeaderboardList::e_ICON_TYPE_SKELETON, UIControl_LeaderboardList::e_ICON_TYPE_CREEPER, UIControl_LeaderboardList::e_ICON_TYPE_SPIDER, UIControl_LeaderboardList::e_ICON_TYPE_SPIDERJOKEY, UIControl_LeaderboardList::e_ICON_TYPE_ZOMBIEPIGMAN, UIControl_LeaderboardList::e_ICON_TYPE_SLIME }, }; const UIScene_LeaderboardsMenu::LeaderboardDescriptor UIScene_LeaderboardsMenu::LEADERBOARD_DESCRIPTORS[UIScene_LeaderboardsMenu::NUM_LEADERBOARDS][4] = { diff --git a/Minecraft.Client/Build/Common/UI/UIScene_LoadOrJoinMenu.cpp b/Minecraft.Client/Build/Common/UI/UIScene_LoadOrJoinMenu.cpp index 2bbf7566a..d29c44893 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_LoadOrJoinMenu.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene_LoadOrJoinMenu.cpp @@ -874,7 +874,7 @@ void UIScene_LoadOrJoinMenu::GetSaveInfo() m_pSaveDetails=StorageManager.ReturnSavesInfo(); if(m_pSaveDetails==NULL) { - C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,"save"); + C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,(char*)"save"); } #if TO_BE_IMPLEMENTED diff --git a/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.cpp b/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.cpp index faf32fc3d..e75be7482 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.cpp +++ b/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.cpp @@ -13,7 +13,7 @@ //#define SKIN_SELECT_PACK_PLAYER_CUSTOM 1 #define SKIN_SELECT_MAX_DEFAULTS 2 -WCHAR *UIScene_SkinSelectMenu::wchDefaultNamesA[]= +const WCHAR *UIScene_SkinSelectMenu::wchDefaultNamesA[]= { L"USE LOCALISED VERSION", // Server selected L"Steve", diff --git a/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.h b/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.h index 7a69b02b4..1ee114ca0 100644 --- a/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.h +++ b/Minecraft.Client/Build/Common/UI/UIScene_SkinSelectMenu.h @@ -6,7 +6,7 @@ class UIScene_SkinSelectMenu : public UIScene { private: - static WCHAR *wchDefaultNamesA[eDefaultSkins_Count]; + static const WCHAR *wchDefaultNamesA[eDefaultSkins_Count]; // 4J Stu - How many to show on each side of the main control static const BYTE sidePreviewControls = 4; diff --git a/Minecraft.Client/MinecraftServer.cpp b/Minecraft.Client/MinecraftServer.cpp index d63fb7933..f05aec2dc 100644 --- a/Minecraft.Client/MinecraftServer.cpp +++ b/Minecraft.Client/MinecraftServer.cpp @@ -262,7 +262,7 @@ bool MinecraftServer::initServer(__int64 seed, NetworkGameInitData *initData, DW // 4J delete passed in save data now - this is only required for the tutorial which is loaded by passing data directly in rather than using the storage manager if( initData->saveData ) { - delete initData->saveData->data; + delete[] (BYTE*)initData->saveData->data; initData->saveData->data = 0; initData->saveData->fileSize = 0; } diff --git a/Minecraft.Client/Platform/Linux/Linux_Minecraft.cpp b/Minecraft.Client/Platform/Linux/Linux_Minecraft.cpp index d5b2a669f..0224cee12 100644 --- a/Minecraft.Client/Platform/Linux/Linux_Minecraft.cpp +++ b/Minecraft.Client/Platform/Linux/Linux_Minecraft.cpp @@ -672,7 +672,7 @@ app.loadStringTable(); // fuck you ui.init(1920, 1080); // storage manager is needed for the trial key check -StorageManager.Init(0,app.GetString(IDS_DEFAULT_SAVENAME),"savegame.dat",FIFTY_ONE_MB,&CConsoleMinecraftApp::DisplaySavingMessage,(LPVOID)&app,""); +StorageManager.Init(0,app.GetString(IDS_DEFAULT_SAVENAME),(char*)"savegame.dat",FIFTY_ONE_MB,&CConsoleMinecraftApp::DisplaySavingMessage,(LPVOID)&app,(char*)""); //////////////// // Initialise // @@ -994,8 +994,11 @@ vector vRichPresenceStrings; // convert wstring to UTF-8 string std::string wstring_to_utf8 (const std::wstring& str) { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" std::wstring_convert> myconv; return myconv.to_bytes(str); +#pragma GCC diagnostic pop } uint8_t *mallocAndCreateUTF8ArrayFromString(int iID) diff --git a/Minecraft.Client/Rendering/Culling/DirtyChunkSorter.h b/Minecraft.Client/Rendering/Culling/DirtyChunkSorter.h index 4caa2fac0..8148062be 100644 --- a/Minecraft.Client/Rendering/Culling/DirtyChunkSorter.h +++ b/Minecraft.Client/Rendering/Culling/DirtyChunkSorter.h @@ -2,7 +2,7 @@ class Chunk; class Mob; -class DirtyChunkSorter : public std::binary_function +class DirtyChunkSorter { private: shared_ptr cameraEntity; diff --git a/Minecraft.Client/Rendering/Culling/DistanceChunkSorter.h b/Minecraft.Client/Rendering/Culling/DistanceChunkSorter.h index 4789070d0..224737ab6 100644 --- a/Minecraft.Client/Rendering/Culling/DistanceChunkSorter.h +++ b/Minecraft.Client/Rendering/Culling/DistanceChunkSorter.h @@ -2,7 +2,7 @@ class Entity; class Chunk; -class DistanceChunkSorter : public std::binary_function +class DistanceChunkSorter { private: double ix, iy, iz; diff --git a/Minecraft.Client/Rendering/LevelRenderer.cpp b/Minecraft.Client/Rendering/LevelRenderer.cpp index 18ac4c6f3..92e3df632 100644 --- a/Minecraft.Client/Rendering/LevelRenderer.cpp +++ b/Minecraft.Client/Rendering/LevelRenderer.cpp @@ -2386,7 +2386,7 @@ void LevelRenderer::setDirty(int x0, int y0, int z0, int x1, int y1, int z1, Lev dirtyChunksLockFreeStack.Push((int *)(index)); #else - dirtyChunksLockFreeStack.Push((int *)(index + 2)); + dirtyChunksLockFreeStack.Push((int *)(intptr_t)(index + 2)); #endif #ifdef _XBOX @@ -3599,7 +3599,7 @@ void LevelRenderer::staticCtor() for(unsigned int i = 0; i < MAX_CHUNK_REBUILD_THREADS; ++i) { sprintf(threadName,"Rebuild Chunk Thread %d\n",i); - rebuildThreads[i] = new C4JThread(rebuildChunkThreadProc,(void *)i,threadName); + rebuildThreads[i] = new C4JThread(rebuildChunkThreadProc,(void *)(intptr_t)i,threadName); s_activationEventA[i] = new C4JThread::Event(); diff --git a/Minecraft.Client/Textures/Textures.cpp b/Minecraft.Client/Textures/Textures.cpp index 47ad7c5bb..416bb95cd 100644 --- a/Minecraft.Client/Textures/Textures.cpp +++ b/Minecraft.Client/Textures/Textures.cpp @@ -1376,7 +1376,7 @@ TEXTURE_NAME OriginalImages[] = TN_COUNT }; -wchar_t *OriginalImagesPaths[] = +const wchar_t *OriginalImagesPaths[] = { L"misc/watercolor.png", diff --git a/Minecraft.Client/UI/Screens/ControlsScreen.cpp b/Minecraft.Client/UI/Screens/ControlsScreen.cpp index 3f5f64647..0ec49940c 100644 --- a/Minecraft.Client/UI/Screens/ControlsScreen.cpp +++ b/Minecraft.Client/UI/Screens/ControlsScreen.cpp @@ -7,7 +7,7 @@ ControlsScreen::ControlsScreen(Screen *lastScreen, Options *options) { // 4J - added initialisers - title == L"Controls"; + title = L"Controls"; selectedKey = -1; this->lastScreen = lastScreen; diff --git a/Minecraft.World/AI/Goals/MeleeAttackGoal.cpp b/Minecraft.World/AI/Goals/MeleeAttackGoal.cpp index 658d5ab3f..2868b9a77 100644 --- a/Minecraft.World/AI/Goals/MeleeAttackGoal.cpp +++ b/Minecraft.World/AI/Goals/MeleeAttackGoal.cpp @@ -7,6 +7,7 @@ #include "../../Headers/net.minecraft.world.entity.ai.sensing.h" #include "../../Headers/net.minecraft.world.phys.h" #include "MeleeAttackGoal.h" +#include "../Navigation/Path.h" void MeleeAttackGoal::_init(Mob *mob, float speed, bool trackTarget) { diff --git a/Minecraft.World/Blocks/PistonBaseTile.cpp b/Minecraft.World/Blocks/PistonBaseTile.cpp index eff61ae27..2e94c11df 100644 --- a/Minecraft.World/Blocks/PistonBaseTile.cpp +++ b/Minecraft.World/Blocks/PistonBaseTile.cpp @@ -33,7 +33,7 @@ bool PistonBaseTile::ignoreUpdate() void PistonBaseTile::ignoreUpdate(bool set) { - TlsSetValue(tlsIdx,(LPVOID)(set?1:0)); + TlsSetValue(tlsIdx,(LPVOID)(intptr_t)(set?1:0)); } PistonBaseTile::PistonBaseTile(int id, bool isSticky) : Tile(id, Material::piston, isSolidRender() ) diff --git a/Minecraft.World/Blocks/TheEndPortalTile.cpp b/Minecraft.World/Blocks/TheEndPortalTile.cpp index aef1e85f1..4a6f71b1d 100644 --- a/Minecraft.World/Blocks/TheEndPortalTile.cpp +++ b/Minecraft.World/Blocks/TheEndPortalTile.cpp @@ -18,7 +18,7 @@ bool TheEndPortal::allowAnywhere() void TheEndPortal::allowAnywhere(bool set) { - TlsSetValue(tlsIdx,(LPVOID)(set?1:0)); + TlsSetValue(tlsIdx,(LPVOID)(intptr_t)(set?1:0)); } TheEndPortal::TheEndPortal(int id, Material *material) : EntityTile(id, material, isSolidRender()) diff --git a/Minecraft.World/Entities/Mobs/Villager.cpp b/Minecraft.World/Entities/Mobs/Villager.cpp index 32121f24e..e6568fe54 100644 --- a/Minecraft.World/Entities/Mobs/Villager.cpp +++ b/Minecraft.World/Entities/Mobs/Villager.cpp @@ -15,6 +15,7 @@ #include "../../Headers/net.minecraft.world.level.h" #include "../../../Minecraft.Client/Textures/Textures.h" #include "Villager.h" +#include unordered_map > Villager::MIN_MAX_VALUES; unordered_map > Villager::MIN_MAX_PRICES; @@ -529,7 +530,9 @@ void Villager::addOffers(int addCount) } // shuffle the list to make it more interesting - std::random_shuffle(newOffers->begin(), newOffers->end()); + std::random_device rd; + std::mt19937 g(rd()); + std::shuffle(newOffers->begin(), newOffers->end(), g); if (offers == NULL) { diff --git a/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp b/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp index 111b741e7..e680efc5a 100644 --- a/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp +++ b/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp @@ -359,7 +359,7 @@ void ConsoleSaveFileSplit::RegionFileReference::ReleaseCompressed() // app.DebugPrintf("Releasing compressed data for region file from 0x%.8x\n", fileEntry->data.regionIndex ); free(dataCompressed); dataCompressed = NULL; - dataCompressedSize = NULL; + dataCompressedSize = 0; } FileEntry *ConsoleSaveFileSplit::GetRegionFileEntry(unsigned int regionIndex) diff --git a/Minecraft.World/Network/Socket.cpp b/Minecraft.World/Network/Socket.cpp index 29b543770..f023effdb 100644 --- a/Minecraft.World/Network/Socket.cpp +++ b/Minecraft.World/Network/Socket.cpp @@ -318,7 +318,7 @@ void Socket::SocketInputStreamLocal::close() { m_streamOpen = false; EnterCriticalSection(&s_hostQueueLock[m_queueIdx]); - s_hostQueue[m_queueIdx].empty(); + while(!s_hostQueue[m_queueIdx].empty()) s_hostQueue[m_queueIdx].pop(); LeaveCriticalSection(&s_hostQueueLock[m_queueIdx]); } @@ -366,7 +366,7 @@ void Socket::SocketOutputStreamLocal::close() { m_streamOpen = false; EnterCriticalSection(&s_hostQueueLock[m_queueIdx]); - s_hostQueue[m_queueIdx].empty(); + while(!s_hostQueue[m_queueIdx].empty()) s_hostQueue[m_queueIdx].pop(); LeaveCriticalSection(&s_hostQueueLock[m_queueIdx]); } diff --git a/Minecraft.World/Util/Hasher.cpp b/Minecraft.World/Util/Hasher.cpp index 83df5dbd9..3066cc7cd 100644 --- a/Minecraft.World/Util/Hasher.cpp +++ b/Minecraft.World/Util/Hasher.cpp @@ -8,6 +8,7 @@ #include #endif // _WIN32 #include "Hasher.h" +#include Hasher::Hasher(wstring &salt) { @@ -36,13 +37,15 @@ wstring Hasher::getHash(wstring &name) // adapted from a SSL example std::wstring combined = salt + name; std::string combined_str(combined.begin(), combined.end()); - unsigned char result[MD5_DIGEST_LENGTH]; - MD5_CTX md5_ctx; - MD5_Init(&md5_ctx); - MD5_Update(&md5_ctx, combined_str.c_str(), combined_str.size()); - MD5_Final(result, &md5_ctx); + unsigned char result[EVP_MAX_MD_SIZE]; + EVP_MD_CTX* md5_ctx = EVP_MD_CTX_new(); + EVP_DigestInit_ex(md5_ctx, EVP_md5(), NULL); + EVP_DigestUpdate(md5_ctx, combined_str.c_str(), combined_str.size()); + unsigned int result_len; + EVP_DigestFinal_ex(md5_ctx, result, &result_len); + EVP_MD_CTX_free(md5_ctx); std::stringstream ss; - for (int i = 0; i < MD5_DIGEST_LENGTH; i++) + for (unsigned int i = 0; i < result_len; i++) { ss << std::setw(2) << std::setfill('0') << std::hex << (int)result[i]; }