summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2025-06-28clarify that loadPatch() is checkClientVersion() and add commentsclient_version_check_docsFedja Beader2-6/+11
2025-06-27unmask text input during character deletionasuratva1-1/+1
Previous commit from MR !194 changed requiring password to requiring char name for confirmation during deletion. Text input can now be unmasked since user is entering char name instead of password. **** mana/plus!205
2025-06-27Set PACKAGE_NAME in CMakeListsFedja Beader1-1/+2
CMake way failed to build because main.h uses PACKAGE_NAME. Reported by bjorn and meway. Note: I like PROJECT_NAME better, but: 1) Project name is not something that changes at compile time, but package name might. 2) PROGRAM_VERSION is already set in CMakeLists NOTE2: earlier I made PACKAGE_EXTENDED_VERSION (used for useragent) and FULL_VERSION (used in GUI & logs) use PACKAGE_NAME, instead of hardcoding ManaVerse, for improved branding. **** mana/plus!204 Approved-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
2025-06-27Remove unnecessary includes in utils/performance.hFedja Beader1-4/+0
**** mana/plus!203
2025-06-25Change char deletion to require confirming username instead of password. ↵asuratva1-4/+8
Causes Launcher issues otherwise. When playing from Launcher, the a/c password gets reset to some random string. Deleting character (specifically on TMW) requires password for confirmation, which player no longer has easy access to. This changes character deletion to require confirming username instead of password. Squashed with: * Change to confirm character name instead of username when deleting * change text 'password' to 'username' in error dialog. **** mana/plus!194
2025-06-25Typofix perfo[R]mance - in CMakeLists.txt as wellFedja Beader1-2/+2
Missed this part in mana/plus!186
2025-06-25Split #include "utils/performance.h" out of localconsts.hFedja Beader144-14/+179
only about 160 out of 1500 files that include localconsts.h need to include performance.h Saves 12% from compile times (with profiler ON) and 0.1% with profiler OFF. **** mana/plus!189
2025-06-24Fix: Move to target in attack rangeasuratva1-0/+1
The "move to target in attack range" option in the Quick Settings is not handled correctly. In its current state that option ends up becoming equivalent to "move to target in distance 10". This is a fix for that. **** mana/plus!195
2025-06-24Fix profiler compileFedja Beader4-11/+14
call of overloaded 'toString(long long unsigned int)' is ambiguous, see !189 Squashed with: * Apply perfo[r]mance typofixes that were missed in mana/plus!186 ... because USE_PROFILER was off/undefined. **** mana/plus!200
2025-06-23Clarify that sort by type also sorts by slotFedja Beader2-4/+4
depends on !192 **** mana/plus!197
2025-06-23Rename Pet/Homun Intimacy->Loyalty & Hunger->SatiationFedja Beader1-4/+4
Better names. In case of hunger even corrects a bug as it decreases. **** mana/plus!196
2025-06-23Use an array of char arrays to store server type list model textsFedja Beader1-15/+17
This brings it inline with how other models are implemented, and also makes code so much clearer. **** mana/plus!193
2025-06-23Move NUM_ELEMENTS() to localconsts and convert some more files to use it ↵Fedja Beader7-9/+8
instead of hardcoding constants. **** mana/plus!192
2025-06-23Rebrand program display name (appName)jak12-5/+7
Removes the "ManaPlus" in version info on updater screen; Screenshots now have ManaVerse in their file name, too PS: a lot of instances of "ManaVerse" could use PACKAGE_NAME from configure PPS: CMake passes PROJECT_NAME. Would need a proxy header with ifdefs. Split off by Fedja from: Rename the program from ManaPlus to ManaVerse. (!45) **** mana/plus!198
2025-06-05Add a confirmation dialog for killing/firing/dismissing your homunculousFedja Beader5-1/+141
- [x] Something needs to be done about that deletion as it may leak memory. Ditto for inputActionReplayListener (for EditDialog) - [x] Okay, that M+ -> MV rename must be completed to make the linters pass. Rename was completed and it works, proper cleanup happens in scheduleDelete, so that's not an issue either. Squashed with: * Actually fire homun (code was set to only change name, for testing of replay stuff) * Clarify my worries **** mana/plus!109
2025-06-05Delay localChatTab nullptr checks in notify() to where they're required & dedupeFedja Beader1-28/+9
(consequence: if localChatTab is nullptr, then the message will go to debug.) **** mana/plus!187
2025-06-05Change overweight notification from widget to speech bubble.asuratva1-0/+18
Having the widget pop up in the middle of a fight when shooting arrows makes you go below 50% weight is kinda annoying. This changes the notification to a speech bubble on player which is less intrusive. Squashed with: * Move messages to top of branch (so they can be integrated to dialog with fewer changes). * Adjust overweight message. * Fix linter issue. Shortened long line **** mana/plus!184 Co-authored-by: Fedja Beader <fedja@protonmail.ch>
2025-06-05Fix my brain malfunctionFedja Beader1-7/+7
2025-06-05fix missing __xmlParserVersion() compat in newer libxml2, spotted by bakaiFedja Beader2-2/+13
libxml2 deprecated __xmlParserVersion() and added a pointer to constant string version in commit 2023-09-20 "globals: Don't store xmlParserVersion in global state" and added a compat function with it. This commit was made before v2.12.0 was released. Thus, any version *past* unreleased v2.12.0 is guaranteed to have the new API. The compat function was removed at some point later, causing a compile failure. **** mana/plus!190
2025-06-04Typofix perfo[R]manceFedja Beader4-17/+17
**** mana/plus!186
2025-06-04Do not show gp / money / zeny pick-up messages in chat when pickup messages ↵Fedja Beader1-2/+12
in chat are disabled. **** mana/plus!185
2025-06-04Remove the blank space left behind with removal of the "Switch" button for ↵Fedja Beader1-14/+7
launcher users Pre: ![empty_space](/uploads/7690f23cf4e77215be90bf3bd0aedb2c/empty_space.png) Post: ![empty_space_000](/uploads/52176bb12c0b542b6aff393cccad44a6/empty_space_000.png) **** mana/plus!183
2025-05-24Switch source code headers to ManaVerse & update copyrights to 2025Fedja Beader1958-5850/+5850
.. instead of manaplus's header. & update copyrights to 2025. Open problem: should it be "The ManaVerse Client", "the ManaVerse client" or something in between in "This file is part of ..." line? All caps is current situation. Squashed with: * update copyright dates for 2025 * Revert "Switch to branch of mplint that checks for manaverse copyright headers" * Change back to uppercase The Why? This line was changed 3 times in history and all had an uppercase The. PS: ManaVerse has no endorsment from the parent project, ManaPlus. * Change to "This file is part of the ManaVerse Client" poppet says 'the' instead of 'The' find . \( -name "*.h" -o -name "*.cpp" -o -name "*.cc" -o -name "*.inc" \) -execdir sed -i -e 's/This file is part of The ManaPlus Client/This file is part of the ManaVerse Client/' {} \+ * Change 'The ManaPlus Client' to 'The ManaVerse Client' in headers find . \( -name "*.h" -o -name "*.cpp" -o -name "*.cc" -o -name "*.inc" \) -execdir sed -i -e '2s/ManaPlus/ManaVerse/' {} \+ * Switch to branch of mplint that checks for manaverse copyright headers .. instead of manaplus's **** mana/plus!179
2025-05-21Fix copy-paste failure of profiler block namesFedja Beader3-8/+8
introduced in 8ad99cc3 / "Add profiler lines into some functions." **** mana/plus!181
2025-05-21Implement ZC_SOUND / 0x01d3 / processBeingSoundEffectFedja Beader1-4/+14
Squashed with: * Remove TODOs. Repeats and the other two fields are implemented in latest herc, but they set beingID to 0 when repeats are requested... what... Repeats need more in-client support to implement, anyways **** mana/plus!180
2025-05-11Document packet limiter and add quick reference for server-sideFedja Beader1-3/+17
counterparts.
2025-05-11Reformat itemcontainer drag&drop matrix logicFedja Beader1-20/+22
Some if-s were changed into else if-s. They cannot happen if the branches above them happen, anyway. **** mana/plus!177
2025-05-112025 Q1 miscallaneous reformattingFedja Beader8-18/+19
**** mana/plus!176
2025-05-11Document findBeingByPixel & findBeingsByPixel, rename two variables for clarityFedja Beader2-12/+30
**** mana/plus!175
2025-05-08findBeing[s]ByPixel: return dead players for popupmenu use.Fedja Beader1-8/+9
Dead players have to be returned so you can still see their equipment, do whisper or trade (yes you can trade with the dead :D) or use any other option in the menu. **** mana/plus!174
2025-05-08Fix some english in mail-related notification messagesFedja Beader1-4/+4
Squashed with: * Fix some english in mail-related notification messages **** mana/plus!169
2025-04-27GameModifiers: use descriptive parameter names + reformat + DOCUMENTFedja Beader2-42/+71
+ shift one argument's position in changeMode(...) Addendum to !171. **** mana/plus!172
2025-04-27Use descriptive argument names for GameModifiers macrosFedja Beader2-26/+26
+ slight reformat **** mana/plus!171
2025-04-26Use stdint.h instead of ifdefing tr1/cstdint, cstdint and stdint.hFedja Beader9-86/+11
Rationale: By the standard, cstdint guarantees these basic types in std::, but *may* put them into the global namespace. By including stdint.h directly, we guarantee that these types are in the global namespace. stdint.h is also a C++ standard header guaranteed as part of the C compatibility support, thus toolchains should support this. The proper(tm) way of going about this would mean either prefixing [u]int[0-9]*_t with std:: everywhere where they are used (a chore) or having a proxy header that includes cstdint and around 50 using statements. The latter sounds to me like a good approach for toolchains that do not provide stdint.h and do not pollute global namespace. If such a toolchain exists in the wild. See discussion at https://stackoverflow.com/questions/13642827/cstdint-vs-stdint-h In practice, my toolchain's (gcc 14 on GNU) cstdint includes stdint.h then drags those types into std:: as well. **** mana/plus!170
2025-04-15logger.h: de-duplicate __attribute__(__format__(..)) ifdefsFedja Beader4-67/+48
Squashed with: * Rename - it's member shift, not printf shift * So it seems that CILK PLUS either ignores the this argument of member functions or already considers it on its own. Besides.. is CILK PLUS even relevant today? Whatever.. Plus, deduplicate some more functions ..should this attribute be moved to its own file? * Correct indents * logger.h: de-duplicate __attribute__(__format__(..)) **** mana/plus!163
2025-04-14Reformat ActorManager::checkForPickup for (visual) consistency with similar ↵Fedja Beader1-6/+14
blocks in pickup search functions This block repeats many times.. but cannot be de-duplicated without that pesky search for empty string. perhaps I should make an (inline) function that takes allowAll and the item or a scoped functor that does the lookup in constructor. **** mana/plus!166
2025-04-14Limit nearby pickups to actual nearby area (3x3)Fedja Beader1-4/+2
Why 6? 2*2 + 1*1 is still < 6, so this allowed you to pickup items 2 tiles away. A bug. Test in ML: can pickup in 5x5 area with Quick option selector set to 3x3. Test in TMW: can only pickup in 3x3 area regardless of this setting. **** mana/plus!167
2025-04-14Remove remnants of unused --enable-commandlinepassword configure option.Fedja Beader1-4/+0
Addendum to 437258c4 / "Remove -enablecommandlinepassword necessity" **** mana/plus!156
2025-04-14ML: turn to face target when attacking and server-side attack is off.Fedja Beader1-3/+2
Git blame for this says that Hercules does this on its own, but this is only true if server side attack is enabled. Using that setting results in archers being warped into targets, so its use is discouraged. End of unit_attack_timer_sub in Hercules:src/map/unit.c has unit direction updates gated on ud->state.attack_continue. **** mana/plus!160
2025-04-14Fix packet limiter file being updated for no reasonFedja Beader1-4/+7
Prolific use of immediate constants strikes again. Side note: why are these limits not in clientdata? **** mana/plus!168
2025-04-07un-newline too much newlining in actorsprite.cppFedja Beader1-21/+14
pathJoin indent is probably going to annoy a linter, got a patch ready if that happens. Not ideal but better than now. **** mana/plus!162
2025-04-07actorsprite.cpp: fix wrong indentFedja Beader1-4/+4
Linters! Wake up! **** mana/plus!161
2025-04-07Add total weight accounting for the "shopping list" of herc shops.Fedja Beader2-9/+23
.. this will prevent the shopping list from going above your free carry weight, and thus the buy action failing. Note: I don't particularly like this implemention due to code repetition. But perfection is enemy of progress. TODO: 1) add the same for total price (other MR?) 2) maybe do a small refactor + add comments where necessary (other MR?) 3) ~~free weight display~~ done Squashed with: * buydialog: Add free weight display to money label + fix free weight going below 0 **** mana/plus!152
2025-04-06Refactor ActorManager::validateBeing()Fedja Beader2-6/+40
Squashed with: * More docs for validateBeing * addendum documentation for validateBeing **** mana/plus!154
2025-04-06findNearestLivingBeing: do cheap bb check before set lookups or pathfinderFedja Beader1-14/+20
bb= bounding box **** mana/plus!145
2025-04-06findNearestLivingBeing: move (unknown) cheap check before set lookupFedja Beader1-6/+6
seems to skip beings with info if stopattack is active or if they are marked as unselectable (like hammocks in ML)... huh? **** mana/plus!145
2025-04-06findNearestLivingBeing: remove redundant branchFedja Beader1-16/+6
as without filtering, priority and closestPriority are always the same **** mana/plus!145
2025-04-06findNearestLivingBeing: closest* are always set to something sensible,Fedja Beader1-14/+3
making special handling before first suitable being is found unnecessary. **** mana/plus!145
2025-04-06findNearestLivingBeing: search priorityMobsMap at most once per being (down ↵Fedja Beader1-19/+15
from 3x) Note: the filter used priorityMobs (instead of priorityMobsMap). The former seems to be the std::set variant of the latter, but I can't find where either are filled. It does work in practice, however... **** mana/plus!145
2025-04-06findNearestLivingBeing: rename index -> closestPriorityFedja Beader1-6/+6
**** mana/plus!145