4144 features review

Content and general development discussion, including quest scripts and server code. TMW Classic is a project comprising the Legacy tmwAthena server & the designated improved engine server based on evolHercules.


Forum rules

This forum houses many years of development, tracing back to some of the earliest posts that exist on the board.

Its current use is for the continued development of the server and game it has always served: TMW Classic.

User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

4144 features review

Post by Bertram »

Hi there,

This thread is mainly aimed at 4144 and all the 'senior' devs around.

I had a close look at the given features in the 4144's patch (based on the list in his website) and here are the features I'd like to be reviewed, in order, if enough generically designed for the mainline, to be included in the official client.
4144 has been very respectful and gave us help, providing patches and bug report + bugfixes for a long time now.
I truly think it's just normal to pay back by reviewing his patch, at least.
I also think, if he agrees, that 4144 should be made part of the official tmw-developers, by adding this status in mantis, in the forums, and commit access. As every developers have to get a patch review before inclusion in mainline, I really don't see why it would hurt to welcome him into the team, even if some of his feature are TmwAthena specific.

Here we go:

Here the meaning of the symbol used in front of each features:
:?: I have questions or I'm not sure, need details and it's need to be approved by other devs, but it sounds interesting!
:idea: This really should be added into mainline.

Below, the feature are listed by patch release date:

2010-04-14 New release 1.0.4.14.
:idea: fix: item amount window size.
:idea: fix: gender display.

:idea: add: trade chat tab.
Most trade messages now moving to this tab.
Also players can speak in this tab about trades.

:?: add: speed improvement.

:?: add: button store in config window.
Save configuration file to disk.

:?: add: simplify context menus.

:?: add: personal shop.
To this shop player can add items for buy/sale.
Other players can use it by selecting in context menu buy or sale.
To open own shop window you can press Shop button in inventory or press Shop Key.
add: open shop key (unassigned).

:?: add: copy chat history to chat input. ([7]) ([9])

:?: add: erased player relation.
Drawing only player name without sprites.
add: /erase command to erase player.

:?: add: coloring friends/disregarded/ignored/erased names.

:idea: add: New map view mode. (f)
It remove upper map layers. Good near houses.

:?: add: support for buggy servers with incorrect packet limiter.
It try avoid different bugs added in recent tAthena update.
Enabled by default.

:?: add: save password between disconnects.
:?: add: move to target key now can move in navigation path.

:?: add: command /mail nick message.
It send offline mesasge to player.
Using AuctionBot for storing messages.

2010-03-21 New release 1.0.3.21.
:?: fix: crashes.
:?: fix: mouse selection.
:?: fix: fixed server dialog.
:?: fix: basic skill in old servers.
:?: fix: old config restoration.

:idea: add: safe mode after client crash.
:?: add: small speed optimisations.
:?: add: remove chat log from debug chat tab.
:idea: add: add chat log to party chat tab.
:?: add: go and attack mode (end).
This mode enabled by default.

:?: add: new mode for go to target (v).
Mode A - attack range.

:?: add: /imitation command.
You can use it from player context menu, or as chat command /imitation NICK

:idea: add: bytes send/receive per second counter. :arrow: in the debug window?

2010-03-08 New release 1.0.3.8.
:?: fix: many crushes.
:?: fix: mouse attack.
:?: add: store button in inventory.
:?: add: allow hide shield sprite (error message as start).
:?: add: away outfit.
To set away outfit you must open outfits window (`) and set away outfit checkbox in outfit.
And now if you go to away, your char wear away outfit, and after away it restore old outfit.

2010-02-28 New release 1.0.2.28.
:?: fix: allow enter in NPC dialogs letters, assigned to prev\next chat tab keys.
:?: fix: dont redirect server messages from party tab.
:?: fix: npc flood with small dialogs.
:?: fix: fixed some crashes.
:?: add: command /navigate x y.
:?: add: visible players tab in social window (P tab).
:?: add: actions in social window.
:?: right click - context menu
:?: middle click - whisper
:?: add: damage counter for players.
You can see it in social window in P tab.

2010-02-07 New release 1.0.2.7.
:?: add: health bars in party window.
:?: add: own health in party window.
:?: fix: allow enter numbers in input fields.
:?: fix: segfault in follow.
:?: fix: other small fixes.

2010-01-17 New release 1.0.1.17.
:?: fix: D.o.S. in chat.
:?: fix: D.o.S. in trade.
:idea: add: ignore button in trade request.

:?: change : SET / theme / gui theme
:idea: add: buy/sell in npc context menu.
:idea: add: /follow command.

2010-01-02 New release 0.12.
:?: fix: improved draw chat speed.
:?: fix: fixed /closeall crush.
:?: add: limit lines in chat.
:?: change: SET / chat / Limit max lines in chat.
:idea: add: clear command in chat context menu.
:idea: add: highlight target being by bold font.
:idea: add: draw item in item popups.

2009-12-13 New release 0.11.
:?: add: highlight player and monsters attack range.
change: set / Other
Highlight Player Attack Range
Highlight Monster Attack Range
Local Player Attack Range
Local Player Attack Range Border
Monster Attack Range

:?: add: ping field in debug window. :arrow: Using roundtrip time and SDL_net features?
:idea: add: chat logger.
change: set / chat / Enable Chat Logger

:idea: add: auto complete party members in party tab.
:idea: add: highlight inactive tab if player name is writed.
change: set / Color / Tab With Player Name Highlight

2009-11-29 New release 0.10.
:?: fix: possible crush in update window.
:?: fix: localisation resources in deb packages.
:?: fix: allow using other update servers.
:?: add: auto complete chat key in settings. (TAB)
:?: add: hide input chat key. (ESC)
:?: add: limit chat messages size.
Change: set / chat / Limit max chars in chat line.

2009-11-15 New release 0.9.
:?: new: popup windows for hp, mp, xp bars.
:?: new: more font sizes in setup.
:?: new: context menu in chat tabs.
:?: new: keys to wear next/previous outfit.
:?: new: Increased outfits count to 40.
Keys for outfits 1 - 0, -, =, backspace, insert, home, q - p, [, ], \, a - l, ;, ', z
:?: new: Increased drop slots to 16.
:?: new: /target command.

2009-10-25 New release 0.8.
:?: new: Setting to disable highlighting floor items. :arrow: We’d prefer a particle effect?
:idea: new: Auto complete in chat.
To use press TAB key.
Auto complete visible nicks, commands from Commands Window and from chat history.
:?: new: Show patch update information in update window.

2009-10-18 New release 0.7.
:?: new: Text or GM commands in Commands Window.
Now you can add or edit in Commands Window spells, simple text or GM commands.
:?: new: Command /closeall for close all whisper tabs.
:?: new: Command /ignoreall for ignore all current whispers.
:?: remove: no rain.
:?: fix: disable keyboard shortcuts in drop/select item window.

2009-10-11 New release 0.6.
:?: fix: fixed "Allow magic and GM command in all chat tabs".
:?: new: bot checker. ([)
Warning: may conflict with other key bindings.
Check bindings in set / Keyboard / Bot Checker Window .
By default disabled. To enable, use set / other / enable bot checker

:?: new: in colors picker color numbers replaced to color names.

2009-10-04 New release 0.5.
:?: fix: possible crush if open emote window.
:?: fix: now work 14 slots in emote window.

:?: new: magic spells and GM commands work in all chat tabs.
Change: set / chat / All magic and GM commands in all chat tabs.

:?: Allow move to target in given distance
Move to target. (v)
Change distance. (.)

:?: new: hide or show chat colors picker.
Change: set / chat / Chow chat colors list.

:?: new: allow set home position.
Set home locaton to current position. ([5])
Go to home location. (d)
new: home locations now highlighted. :arrow: Should it be a particle effect, instead?

2009-09-29 New release 0.4.
:?: Remove colors on overhead text.
:?: Setting to hide or show portals higlighting.
Change: set / other / Highlight map portals.

:?: Whisper command in popup menu.

:?: Ability to change default text color in sended text messages.
:?: Ability to remove colors from other users messages.
Change: set / chat / Remove colors from received chat messages.

:?: Fix: Allow select dead player by mouse, if enabled seleting dead players.
:?: Fix: Joystick pick up now work like pick up from keyboard.
:?: Fix: Fixed some default colors.

2009-09-26 First patch version.
:?: Show damage inflicted near monster's name.
Change: set / other / Show damage inflicted to monsters.
:?: Select text colors for local player damage and local player misses.
Change: set / colors. Items: Local player hit monster, Local player critical hit, Local player miss.

:?: Allow target only reachable monsters.
Change: set / other / Auto target only reachable monsters.

:?: Allow target dead players.
Change: set / players / Target dead players.

:?: Nuke player (ported from qoal patch).

:?: Anti rain.
Change: set / other / No rain.

:?: /move X Y command for move to location.

:?: Quick Drops Window with 9 drop slots.
To open use drop window key. (w)
Quick drop.
Drop N items at once from 0 slot. (y)
Drop N items at once from all slots. (u)
:?: Use drop counter for drops. To change counter use (i)

:?: Changing direction (rotate player) without moves.
To rotate use Direct up/left/down/right keys. (|,;,k,')
or ALT+move keys

? Insert unicode chars in chat (ported from qoal patch).
? Player position in debug window.
:idea: Id in item popups.

:idea: Unassign key binding in keyboard setup.
You can unassign any key in key bindings window.
After changing key bindings show first conflicting key binding.

:idea: New setup page "Other". :arrow: To be renamed as ‘Misc’, maybe.
:?: New settings in setup player tab.
:idea: Added Flee bonus and target time. :arrow: For TmwAthena only

:?: Allow player to speak after death (ported from qoal patch).

Best regards.
User avatar
Jaxad0127
Manasource
Manasource
Posts: 4209
Joined: 01 Nov 2007, 17:35
Location: Internet

Re: 4144 features review

Post by Jaxad0127 »

Many of those have already been put in mainline. Once again, a lot of that looks TMW-specific.
Image
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: 4144 features review

Post by Rotonen »

There is a lot of "convenient automation" which should be grabbed as a concept from the 4144 patchset.

There is also a lot of "already existing RO features" which it is exploiting to make it better for end users. This is also stuff the users surprisingly enough love.

Do try to consider some of the concepts with a broader view than their potentially TMW-specific current implementation.

Most TMW-specific features to me seem like "mana branding package" should support those features per-server. So yes, that indeed does fall in your ballpark to add the support for those into the mana client.

What I left out the list was "providing more available relevant information for the user", which can be an option for power users to enable once they get deeper into the game. A lesser priority featureset in itself which could even be provided by an userside scripting engine "addon system", like demonstrated by for example WoW.

It's all a matter of perspective and my chosen perspective has been and will remain end user satisfaction.
This message used to be meaningful.
User avatar
Jaxad0127
Manasource
Manasource
Posts: 4209
Joined: 01 Nov 2007, 17:35
Location: Internet

Re: 4144 features review

Post by Jaxad0127 »

Rotonen wrote:A lesser priority featureset in itself which could even be provided by an userside scripting engine "addon system", like demonstrated by for example WoW.
When we move to Qt, that should be rather easy.
Image
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: 4144 features review

Post by Rotonen »

Qt is rapidly becoming the new "new server" magical solution to everything around here.

Just get 1.0 out and stable already and see if you can make any sense out of 1.1. You have not even started any work for the potential 2.0 Qt rewrite as far I've seen.
This message used to be meaningful.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: 4144 features review

Post by Bertram »

Qt is rapidly becoming the new "new server" magical solution to everything around here.

Just get 1.0 out and stable already and see if you can make any sense out of 1.1. You have not even started any work for the potential 2.0 Qt rewrite as far I've seen.
:arrow: I must agree with Rotonen, but a QT port isn't that easy, and and we're actually trying to bring a very stable client and server solution with the current given pieces.

The idea in this thread is to get the parts we agree to port in mainline. 4144 also offered to bring patches for our favourite ones. We'd be fool not to, at least, have a look at those patches.
Even without going that far with tAthena specific features, we have some nice idea in 4144's patch that can be included. So, I propose to begin with that. :)

Second point underlying with the 4144 patch, we still need some application profiling, like seeseekey did for the map pathfinding memory fingerprint. So, if someone is at ease with valgrind, for instance, I'd be glad to get some piece of advice from him/her about how to create good profiling reports.

Regards.
User avatar
Jaxad0127
Manasource
Manasource
Posts: 4209
Joined: 01 Nov 2007, 17:35
Location: Internet

Re: 4144 features review

Post by Jaxad0127 »

We've branched 1.0 development so we can focus on getting that out. Most of the changes we'll take from 4144 will likely be for 1.1, not 1.0.
Image
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: 4144 features review

Post by Bertram »

Hi Jaxad,
We've branched 1.0 development so we can focus on getting that out.
:arrow: Good point!
Most of the changes we'll take from 4144 will likely be for 1.1, not 1.0.
:arrow: Ok, np.

Regards.
4144
Knight
Knight
Posts: 965
Joined: 03 Aug 2009, 11:57

Re: 4144 features review

Post by 4144 »

So, for what features i should create patches?
I know only one request for chat logging.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: 4144 features review

Post by Bertram »

Hi 4144,

These are IMHO the patches that could come in if the implementation is fitting a generic client, or carefully enclosed for a specific server type:

- Chat logging -> yes, please and thanks in advance. The chat logging should behave in a very friendly way. Could you tell me a bit more about how you implemented it?
- Add the /follow command from chat window.
- speed improvement and mainline crash. <- Every speed improvement and crash are good to look at, if they don't provide counter bugs (like the being's name cache which can bring names discrepancies), or aren't 4144 features specific.
- New map view mode. (f) , if not already added. This could be useful, indeed.
- safe mode after client crash. <- Could you give a few word about how you implemented it?
- bytes send/receive per second counter. <- Could you give a few word about how you implemented it?
- ignore button in trade request. <- Definitely.
- buy/sell in npc context menu. <- Could you give a few word about how you implemented it?
- clear command in chat context menu. <- if not in already?
- hide or show chat colors picker. <- Could you give a few word about how you implemented it?
- highlight target being by bold font.
- draw item in item popups.
- Id in item popups.
- auto complete party members in party tab. <- if not already in?
- Unassign key binding in keyboard setup.

It's already a good start.

Thanks again for your interest and help. :)

Best regards.
4144
Knight
Knight
Posts: 965
Joined: 03 Aug 2009, 11:57

Re: 4144 features review

Post by 4144 »

Bertram wrote:Hi 4144,
Hi
Bertram wrote: - Chat logging -> yes, please and thanks in advance. The chat logging should behave in a very friendly way. Could you tell me a bit more about how you implemented it?
In client it look like irc client logging,
channels is #NameDate.log, privates/whispers is NameDate.log
Now all files in one directory.
Bertram wrote: - Add the /follow command from chat window.
- New map view mode. (f) , if not already added. This could be useful, indeed.
Two modes not added
Bertram wrote: - safe mode after client crash. <- Could you give a few word about how you implemented it?
After start, before graphics initialisation, client change some options in configuration to safe values, and write this config to disk. Then restore values in memory condifuration.
If client was crashed before correct exit, config file contain safe values. Like disabled fps limiter, disabled opengl, etc.
Bertram wrote: - bytes send/receive per second counter. <- Could you give a few word about how you implemented it?
Client count each seding/received packet and calculate average value in every second.
Bertram wrote: - ignore button in trade request. <- Definitely.
- buy/sell in npc context menu. <- Could you give a few word about how you implemented it?
In npc context menu added buy/sell lines. it work like if select sell or buy from BuySelDialog.
And this menu items working only with shop npc. In other do nothing.
Bertram wrote: - clear command in chat context menu. <- if not in already?
As i know, main line client dont have context menu in chat
Bertram wrote: - hide or show chat colors picker. <- Could you give a few word about how you implemented it?
Color picker allow select default color for local player messages.
This option allow hide or show this picker in chat window.
Bertram wrote: - auto complete party members in party tab. <- if not already in?
It's already in client.
User avatar
Jaxad0127
Manasource
Manasource
Posts: 4209
Joined: 01 Nov 2007, 17:35
Location: Internet

Re: 4144 features review

Post by Jaxad0127 »

4144 wrote:
Bertram wrote: - safe mode after client crash. <- Could you give a few word about how you implemented it?
After start, before graphics initialisation, client change some options in configuration to safe values, and write this config to disk. Then restore values in memory condifuration.
If client was crashed before correct exit, config file contain safe values. Like disabled fps limiter, disabled opengl, etc.
I'm a bit worried about this one. I often run multiple client instances at the same time to test things locally with more than one character, or check for differences between versions. Then there's also general development, when a crash due to new code will leave it with different settings. It would be nice if there was an option to block the behavior as needed.
4144 wrote:
Bertram wrote: - bytes send/receive per second counter. <- Could you give a few word about how you implemented it?
Client count each seding/received packet and calculate average value in every second.
This could be expanded to do a client-side packet limiter.
4144 wrote:
Bertram wrote: - hide or show chat colors picker. <- Could you give a few word about how you implemented it?
Color picker allow select default color for local player messages.
This option allow hide or show this picker in chat window.
So, what does this do? I'm a bit confused on that point.
Image
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: 4144 features review

Post by Crush »

Regarding the save mode feature: can we please implement it so that the user is prompted on next start if he wants to reset his config file? I think it would be pretty annoying when we have a crash bug which also resets completely unrelated config settings.

We could do this by keeping the config as it is except for writing a config key exitedgracefully=0 after load which is set to 1 on a proper exit. when the client starts without exitgracefully=1 the user is asked with a popup if he wants to reset the config file before load.
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
4144
Knight
Knight
Posts: 965
Joined: 03 Aug 2009, 11:57

Re: 4144 features review

Post by 4144 »

Crush wrote:Regarding the save mode feature: can we please implement it so that the user is prompted on next start if he wants to reset his config file? I think it would be pretty annoying when we have a crash bug which also resets completely unrelated config settings.

We could do this by keeping the config as it is except for writing a config key exitedgracefully=0 after load which is set to 1 on a proper exit. when the client starts without exitgracefully=1 the user is asked with a popup if he wants to reset the config file before load.
If player cant start game, he cant see popup.

This feature allow avoid buggy opengl drivers, and fps limiter bug in windows. With this problems player cant see any popups or images in game window. Client after start imidiatly crashed or freezed. Safe mode allow start client in this situations.

May be better write config with unsafe values to disk, after some minutes playing?
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: 4144 features review

Post by Crush »

We could use the operating systems techniques for showing a modal dialog before the game engine is initialized. I think we are already doing this when we have a fatal class log message. When the font file isn't found, for example.
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
Post Reply