Öne çıkan içerik

Migrate server networking code to Asio 1.36.0 (#619) * Add asio, build asio + servers explicitly for Windows 10+ * VersionManager: Strip "client" sockets "Client" sockets as in the VersionManager acts as a client to connect to something else. Stripping these as they're unused and reduce the overall code to migrate. * VersionManager: Migrate to basic asio implementation * VersionManager: Replace critical section and minor renaming * VersionManager: Consolidate socket ID & instance...
Implement CheckPromotionEligible (#610) * Implement CheckPromotionEligible * Add the Check and the Logic for PromotionEligible (ported from the provided example) * Added SendSay with 10 parameters * moved e_Class from Client to shared * Address PR Feedback * Refactored the Logic of GetPromotionEligible to be straight forward * SendSay now has defaults and better named parameters * Added comments * Used a const for LVL 60 * Make all parameters optional except the first 3 * Minor cleanup...
Merge pull request #618 from Open-KO/server-use-standard-types Server: Use C++ standard types Github Commit Görüntüle... See Commints... ..
Server: Use C++ standard types Github Commit Görüntüle... See Commints... ..
Merge pull request #615 from Open-KO/implement-more-evt-opcodes Implement more EVT opcodes Github Commit Görüntüle... See Commints... ..
Implement more EVT opcodes We implement (exposing unused server members for them): * CHECK_MONSTER_CHALLENGE_TIME * CHECK_ITEMCHANGE_NUM * CHECK_MIDDLE_STATUE_NOCAPTURE * CHECK_MIDDLE_STATUE_CAPTURE * CHECK_NO_CASTLE (loading KNIGHTS_SIEGE_WARFARE for this info) * CHECK_CASTLE (loading KNIGHTS_SIEGE_WARFARE for this info) * CHECK_MONSTER_CHALLENGE_USERCOUNT * CHECK_BEEF_ROAST_KARUS_VICTORY * CHECK_BEEF_ROAST_ELMORAD_VICTORY * CHECK_BEEF_ROAST_NO_VICTORY Refs #260 Github Commit...
Merge pull request #614 from Open-KO/strip-n3base-wrapper-for-main-solutions Strip N3Base wrapper for main solutions Github Commit Görüntüle... See Commints... ..
Strip N3Base wrapper for main solutions The wrapper projects are needed for All.sln so they can be consistently built concurrently, but there's no real reason to use the wrappers in Client.sln and Tools.sln. Directly building the project means it can be loaded easily in the IDE (without having to change build configs) and debugged. Github Commit Görüntüle... See Commints... ..
Merge pull request #613 from Open-KO/client-warnings-as-errors Client/N3Base: Treat all warnings as errors Github Commit Görüntüle... See Commints... ..
Client/N3Base: Treat all warnings as errors Fix all warnings in the WarFare and N3Base projects. Github Commit Görüntüle... See Commints... ..
Merge pull request #612 from Open-KO/server-treat-warnings-as-errors Server projects: treat all warnings as errors Github Commit Görüntüle... See Commints... ..
Server projects: treat all warnings as errors Fix all warnings across the server projects. Note that ZipArchive is a bit ugly with continuing to downcast the ULONGLONG to a DWORD, but this is its existing behaviour and it's considerably more effort to restructure the entire ZipArchive project to support 64-bit filesizes. Github Commit Görüntüle... See Commints... ..
Merge pull request #611 from Open-KO/implement-drop-groups Implement drop groups (MAKE_ITEM_GROUP) Github Commit Görüntüle... See Commints... ..
Implement drop groups (MAKE_ITEM_GROUP) Resolves #596 Github Commit Görüntüle... See Commints... ..
Implement CHECK_KNIGHT (#607) * Implement CHECK_KNIGHT * Addres PR Feedback * Introduced GetKnightsPtr in EbenezerDlg * Fixed typo and added missing break Github Commit Görüntüle... See Commints... ..
Merge pull request #609 from Open-KO/minor-regenerate-optimisation CN3Chr::RegenerateCollisionMesh(): Remove redundant transformations Github Commit Görüntüle... See Commints... ..
CN3Chr::RegenerateCollisionMesh(): Remove redundant transformations CN3Chr::Min() and CN3Chr::Max() apply CN3Chr::m_Matrix, only for us to effectively attempt to remove it via finding its inverse and applying that. We can just throw those away entirely and use m_vMin and m_vMax directly. It was probably only like this because it was handled externally and they didn't have access to them directly. Github Commit Görüntüle... See Commints... ..
Fix inconsistent collision mesh generation (#608) The core issue here is that it doesn't consistently rebuild the mesh after repositioning, and at least in one case where it does, the zone hasn't changed yet so y isn't clamped correctly for this zone (in this case, the position is actually updated twice -- the 2nd occurs at the end of InitZone(), which is correctly clamped... but the mesh wasn't rebuilt there. We remove the first and fix the second.). Additionally, there's a couple of...
Implement CHECK_NOEXIST_EVENT, CHECK_NOCLASS (#606) * Implemente CHECK_NOEXIST_EVENT * It is the inverse of CHECK_EXIST_EVENT * Implement LOGIC_CHECK_NOCLASS * Implemented it as the invers of LOGIC_CHECK_CLASS * TRUE -> true --------- Co-authored-by: twostars <i.am.twostars@gmail.com> Github Commit Görüntüle... See Commints... ..
Implement CHECK_EXIST_EVENT (#605) * Implement CHECK_EXIST_EVENT * Implemented the logic for CHECK_EXIST_EVENT * Moved it out of #if0 in LOGIC_ELSE.cpp (also moved forgotten CHECK_EMPTY_SLOT) * Added QuestState to globals.h * Reworked the logic for checking the event * We return true when we want to check wether the event was not started * Minor cleanup and behavioural tweaks --------- Co-authored-by: twostars <i.am.twostars@gmail.com> Github Commit Görüntüle... See Commints... ..
Geri
Üst