summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-10-12Add dark magic to text command magic schools listHEADmasterFedja Beader2-4/+10
Further idea: a lot of these models are wrappers around a string options array. Maybe convert the classes into a single template class taking an array parameter? **** mana/plus!111 Approved-by: Led Mitz <smoothshifter@tuta.io>
2024-10-11Move trade filtering setting to immidiately under trade tab & fix ↵Fedja Beader1-10/+9
description/tooltip. **** mana/plus!105
2024-10-11Introduce a kludge to deduplicate server type strings.Fedja Beader2-39/+23
**** mana/plus!104
2024-10-11Add confirmation dialog for leaving guildFedja Beader3-2/+39
Memory may not be freed properly, also code is IMO ugly. See !109 for the other way of implementing this (unrelated). Was done in socialWindow as the join confirmation is already there. **** mana/plus!110
2024-10-11Remove redundant nullptr checkFedja Beader1-1/+1
Curiously, this increases -g -O2 exe size by 96 bytes, but disassembly dump around this code is the same (redundant check was already optimised out?) **** mana/plus!106
2024-10-11Fix switchmap during switch character crash (@toevent)Fedja Beader1-1/+6
use @toevent, then switch character (and stay on character screen). Thread 1 "manaplus" received signal SIGSEGV, Segmentation fault. 0x.. in Game::getCurrentMap (this=<optimized out>) at ./game.h:108 108 { return mCurrentMap; } (gdb) bt 0x.. in Game::getCurrentMap (this=<optimized out>) at ./game.h:108 Ea::PlayerRecv::processMapMask (msg=...) at net/ea/playerrecv.cpp:242 **** mana/plus!108
2024-09-23Show MP bar below HP barewew ukek4-4/+49
Adds a light blue bar for MP below player's HP bar. It shows only if M.Atk is above 0. I didn't add a checkbox to the settings to disable this, let me know if I should. Squashed with: * Sneak in another TODO * Sneak in a TODO **** mana/plus!68 Co-authored-by: Fedja Beader <fedja@protonmail.ch>
2024-09-20Move move-specific keybinds from basic to move section of SETUPFedja Beader2-18/+18
Move to target & move to target type intentionally kept in basic's targetting section. **** mana/plus!103
2024-09-19Rename server types - Test_User spent time figuring out why herc doesen't ↵Fedja Beader1-3/+3
work for ML Squashed with: * Sync with last comment (Evol->Evol2) * Another rename, to reflect TMW->Manasource rebrand (maybe?) **** mana/plus!79
2024-09-19Horizontally extend the login screen server type selection boxFedja Beader1-1/+9
Split from mana/plus!79
2024-09-08Refactor outfit saving logicFedja Beader1-13/+23
Shaves some bytes from exe, too **** mana/plus!102
2024-09-07There is no need to first pack this into a vector and then into arrayFedja Beader1-17/+4
TODO: are all these casts actually required? SMH **** mana/plus!101
2024-08-28Fix off-by-one causing archer attack mode to approach to within attack range - 1Fedja Beader3-17/+18
**** mana/plus!96
2024-08-28Further improve skill error handling and messages.Fedja Beader1-57/+41
Squashed with: * Appease linters + more reformat * Further improve skill error handling and messages. 24751878 "Improve skill error messages." added trailing dots only on the second branch. This adds missing dots on the first one as well as compacts the logic. **** mana/plus!93
2024-08-28Remove silly msg.read* duplicationFedja Beader11-100/+46
& shaves ~5KB from debug binary. previd=""; while read -r line; do if [[ $line =~ .*"msg.read"[^\"]*"\""([^\"]*).* ]]; then id="${BASH_REMATCH[1]}"; if [[ "$id" == "$previd" ]]; then printf "%s\n" "$line"; fi; previd="$id"; fi; done < <(grep -r 'msg.read.*' src/net/) **** mana/plus!91
2024-08-28Squash gcc8 -Wformat-y2k warningFedja Beader1-1/+6
* Run gcc8 job again in this MR * Squash the %c strftime gcc warning **** mana/plus!100
2024-08-27Show mail expiry timeFedja Beader3-1/+7
Server does not communicate sent time.. or it did, until 2017 ?? See src/map/clif.c #if PACKETVER >= 20170419 The RODEX_EXPIRY constant seems not to be communicated either, preventing us from deducing send time from expiry time. **** mana/plus!90
2024-08-27Redundant. I don't think the time savings due to not calculating distance, ↵Fedja Beader1-24/+3
if any, are worth it. In fact, this might even save some time. Calculating distance may be faster than iterating through memory twice. **** mana/plus!95
2024-08-24Simplify itempickup codeFedja Beader1-3/+4
**** mana/plus!94
2024-08-21Fix skill fail packet handling causing nullptr crash when switching charactersFedja Beader1-2/+6
How to reproduce: spam emote then quickly switch char Thread 1 "manaplus" received signal SIGSEGV, Segmentation fault. SkillDialog::getSkill (this=0x0, id=id@entry=1) at gui/windows/skilldialog.cpp:805 0 SkillDialog::getSkill (this=0x0, id=id@entry=1) at gui/windows/skilldialog.cpp:805 1 EAthena::SkillRecv::processSkillFailed (msg=...) at net/eathena/skillrecv.cpp:302 ... **** mana/plus!92
2024-08-18Make code more readableFedja Beader1-17/+29
g **** mana/plus!77
2024-08-17Limit shop's Max button to available carry weightFedja Beader1-1/+15
**** mana/plus!88
2024-07-05Fix cart item add failure messages [skip ci]Fedja Beader1-2/+2
2024-06-24evol-client.icon missing was breaking windows build after "Remove data/evol"Fedja Beader1-1/+0
2024-05-29Switch "show chat history" into a line limit field and considerablyFedja Beader4-10/+14
raise default (5->100).
2024-05-29Raise default line limit 40->100. 40 is not even a screenful.Fedja Beader1-1/+1
2024-05-29Fix paste in registration windowFedja Beader2-9/+8
Addendum to cbab9d6d "Fix for login button" See also mana/plus!67 and mana/plus#64 **** mana/plus!86
2024-05-16Refactor loadFromLogFile calls into ChatTab contructorFedja Beader8-16/+3
This has the side effect that now #Debug history is also loaded. **** mana/plus!84
2024-05-15Rename axis tolerance to joystick dead zone + reformat as per discussionFedja Beader1-6/+6
2024-05-15Enable joystick by default, update default toleranceewewukek2-8/+1
2024-05-15Consume input event in QuitDialog instead of relying on a hackewewukek2-15/+12
2024-05-15Heuristic to detect controller triggersewewukek2-3/+27
2024-05-15Refactor joystick input codeewewukek2-58/+74
2024-05-15Make sticks/triggers behave like regular buttonsewewukek4-7/+103
2024-05-15Extend gui support to joystick hat (d-pad)ewewukek4-2/+12
2024-05-15Gui support for joystick buttonsewewukek4-2/+36
2024-05-15Add a checkbox for d-pad to switch between movement and button behaviorewewukek5-22/+50
2024-05-15Make D-Pad behave like regular buttonsewewukek3-29/+125
2024-05-14Switch joystick axis tolerance type to floatewewukek4-15/+26
2024-05-14Remove joystick calibration logicewewukek4-95/+3
2024-05-14Add a slider to joystick settings to set axis toleranceewewukek4-8/+40
2024-05-14Use single tolerance value for all 4 joystick movement directionsewewukek3-40/+19
2024-05-14Fix: Job XP Bar not updating on monster kill in mini status windowasuratva1-2/+5
**** mana/plus!83
2024-05-09Fix guild lvl-up packet parsing AND change password causing client exit in MLFedja Beader1-3/+1
What happened: 1) herc evol sends 0x100 as packet ID offset 2) 0x100 is added to 0x0062 of SMSG_CHAR_PASSWORD_RESPONSE 3) SMSG_CHAR_PASSWORD_RESPONSE is then inserted into 0x162 slot of packet map, shadowing SMSG_GUILD_SKILL_INFO 4) on guild lvl-up, server sends this in SMSG_GUILD_SKILL_INFO 5) ManaVerse exits in confusion. Note 1: due to popupmenu paste not working in change password dialog, tested password change only with invalid old password, which worked (opened error dialog instead of client exiting). Note 2: Some packet handlers are bound using &Ea::LoginRecv prefix, this one had &LoginRecv and this was kept this way (uses vtable lookup?). ~~TODO: SMSG_CHAR_PASSWORD_RESPONSE seems to be something about password changes, but I could not find this packet either in TMWA or herc. Still, I need to test if these still work on all active servers~~ Tested. Squashed with: * Fix exit on password change, too * Fix guild lvl-up packet parsing causing client exit in ML **** mana/plus!81
2024-05-08Don't use pathJoin for URLsFedja Beader1-2/+1
Problem happens only on Windows that uses \ for path separators and only when primary download location does not contain requested file with requested checksum. To repro, it should be enough to change one checksum in resources.xml Report from Manatauro: ![pathjoin](/uploads/4b969168ba7babc21108c1db1a680f66/pathjoin.jpg) **** mana/plus!82
2024-04-27Rename color identifiers for clarityFedja Beader1-9/+10
2024-04-27ReformatFedja Beader1-13/+7
Should this function gain emplace()-like semantics?
2024-04-27deduplicate branchesFedja Beader1-12/+7
2024-04-27Correct ommision of 0 in hexadecimal format specFedja Beader1-1/+3
2024-04-27Fix "Show items" (equipment display on other players)Fedja Beader2-3/+2
See #73 for discussion Squashed with: * Fix mana pearl showing in arrows slot in Classic * Fix off-by-one. Was causing Old Towel to render in torso slot in ML. **** mana/plus!78