TMW Client Patch (binaryMind)

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
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

Perhaps i didn't explain myself clearly. When you try to assing a key combination in Keyboard Setup, it immediately assumes the first key pressed, wich is the modifier, so key combinations aren't allowed.

I have made a patch with the Book system modifications only, and made it available on my site (http://mana.mentebinaria.com/).
A few things that i should mention:
- keys in keyboard setup have been reordered;
- the patch also implements the fix i mention in mantis issue 972;
- the patch implements a command delay of 500ms, to prevent sending multiple commands at once;
- "commands.xml" and "command_shortcut_bgr.png" are also included.

I understand it isn't the "unified shortcut system" and that it could be a little bit better (the list display and the missing buttons come to mind), but i'll keep working on it... who knows, perhaps i may even be able to implement the unification. (I would'nt bet on it, though :D)
User avatar
Jaxad0127
Manasource
Manasource
Posts: 4209
Joined: 01 Nov 2007, 17:35
Location: Internet

Re: TMW Client Patch (binaryMind)

Post by Jaxad0127 »

binarymind wrote:Perhaps i didn't explain myself clearly. When you try to assing a key combination in Keyboard Setup, it immediately assumes the first key pressed, wich is the modifier, so key combinations aren't allowed.
Try http://gitorious.org/~jaxad0127/mana/guichan-input. It allows modifiers and such in keyboard shortcuts. Still a WIP.
Image
User avatar
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

Here's a sample of some improvements to the Book Window:
ImageImage
The server commands are View/Use only, and are generated automatically if there is no commands.xml file.

I still have to implement the Add/Edit/Remove system, but everything else seems to be working.
As always, any sugestions are wellcome.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: TMW Client Patch (binaryMind)

Post by Bertram »

Hi BinaryMind,

(Btw, the book system seem a very good in-game dynamic reference to me :) )
The server commands are View/Use only, and are generated automatically if there is no commands.xml file.
:arrow: I'm curious. ;) How do you generate it for Server tab?

- Also, I can see that a 'Add entry' is there in Server's view although you said it's there for View/use only.
- Again, for instance, the /ignore command needs a parameter, I didn't try the patch, but can you add a parameter to a command 'on call', or do you have to create you're own entries with the playername in that case?
- What is the generic tab for?

Now a question about magic open for everyone:
If we can add/handle/remove custom magic entries, what would be the better way to handle the short and long descriptions of them the best?
Shall the player handle it all? Or should the client get the description from the server in order not to spoil the magic spells available? Or, can we make the client download the full spell list, and only show description for recognized entries.

Thanks again for all the work being put on.

Best regards.
User avatar
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

Hello Bertram,

For the default data, i have a function that creates and stores each of the commands. It would be best to get a default file from the server, but that is something for the future.

The default "server" commands are View/Use only, but the player can add more, hence the "Add" button. Also, any command added by the player will be set by default with View/Modify/Use permissions.

The generic tab is a tab for any command that isn't "server" or "magic". "hello <target>" would be such a command.

Each command has a target mode (wich currently can be "ignored", "allowed" or "required") and target type (wich currently can be "none", "player", "npc", "monster" or "all"), so in the case of /ignore we would have a "required" mode and a "player" type. When using the command it automatically adds the current target's name (if appliable), so you would only have to target any player and use the "/ignore" command.

I think the best way to handle the descriptions of spells (and the rest of the data, for all the commands) would be for the server to store each learned spell in the player's account, like the inventory is. That way, we would have a centralised command list (like items.xml) and a book that would work like the inventory. I think that solution would also allow the player to add his own commands, wich would be stored locally.

Best regards.
User avatar
Kage
Manasource
Manasource
Posts: 929
Joined: 02 May 2009, 18:12

Re: TMW Client Patch (binaryMind)

Post by Kage »

binaryMind... This looks very interesting. I have wanted to do a system where you can setup macros of awhile.

Ill talk to the other developers about including parts of this command system into the main client.

Good Job.
<Kage_Jittai> ... are you saying I am elite :D
<thorbjorn> Yes. :P
User avatar
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

Hello everyone.

My revision of the Book system seems to be complete.
Can anyone tell me the best way to generate a patch file between two directories, that includes file renames, excludes unmodified files, and includes the binary data from new non-text files? It must be compatible with cygwin, msys or windows.
I've been using "git diff -p -M --binary dir1 dir2 > patchfile", but i'm getting sick of having to manually remove the generated garbage.
User avatar
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

I give up...:x
- diff allows me to exclude files/folders and doesn't include unmodified files, but doesn't detect file renames and doesn't include binary data in an efficient way;
- git diff detects file renames and is good with binary data, but doesn't allow me to exclude files/folders and also includes unmodified files;
- WinMerge produces an error when generating a patch from binary files or more than one file selected;
- KDiff3 doesn't even generate patch files;
- manually editing patch files is no longer feasible.
Since no one was willing or able to help me, i guess i'll just make the Win32 binaries available and forget about the patch files. (score 1 for the Windows side...:()
PS:.I'm sorry if i sound blunt, but i see no other way around it.:|
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: TMW Client Patch (binaryMind)

Post by Bertram »

Hi Binary,

Sorry, I just read the whole thing since my last post.

If it's not possible to get a good diff for it, send me the diff for the source files (even with the garbage),
and the binary files in a zip or whatever, and I'll make a diff out of it, since I'll have a little bit of time the next few days coming.

If everyone agrees about the diff, it would be good also to think about committing it in the mainline.

Of course, I'm not the only one able to create the diff, so if someone else wants to do it, or has got a better idea, I won't mind at all.

Merry Christmas BinaryMind.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: TMW Client Patch (binaryMind)

Post by Crush »

Did you already try to make a commit with your changes and then do a git format-patch?
  • 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.
User avatar
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

Hello everyone.

I really should have given up, but i didn't.
After a Cygwin update and some more testing with flags git diff finally "spat out" what i wanted (i still had to manually select and remove most of the files i wanted to exclude before running the tool). But after those two hours i just wasn't in the mood to filter the Book implementation from the rest of my modifications, and since they are few and easy to spot, i'll leave that work to the developer who takes on the task of commiting it to the mainline. I'll be more than willing to help.
So, just visit http://mana.mentebinaria.com to download the files.

A question, to finish this post: are the versions being used by the developers still the ones provided here (http://forums.themanaworld.org/viewtopic.php?f=6&t=5356). I implemented an editable text box that doesn't work with the guichan version included, so i tried to update to the latest version but i couldn't compile the game because of the errors. Now i compile the game with the original headers and libraries, and execute it with the new dlls... :)

Merry Christmas Bertram!
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: TMW Client Patch (binaryMind)

Post by Crush »

The best way to make a patch with git is this:
1. use git add to add the source files with your changes to your next commit
2. use git commit to create a commit
3. use git format-patch to create a patch file of the commit

When you give this patch file to someone they can use git am to automatically apply your commit to their source tree including your authorship information and your commit comment. The best thing: When the commit is pushed to mainline and you pull it afterwards git will notice that the commit is coming from yourself and will skip it without any annoying merge problems.

Creating commits and sending them around with format-patch and am or push and pull is the usual way to collaborate with git. The git diff command is not meant for exchanging development progress but only for personal usage.
  • 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.
User avatar
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

Thank you for the advice Crush, but i'm not very good with git and i still don't understand how to make it work the way i want to (or perhaps it just isn't supposed to work that way), and i don't think that format-patch would work the way things are now.
In the future i'll try to do as you sugest.
User avatar
binarymind
Peon
Peon
Posts: 20
Joined: 01 Dec 2009, 12:04
Location: Portugal
Contact:

Re: TMW Client Patch (binaryMind)

Post by binarymind »

I am truly sorry to disappoint the developpers who showed interest in my work, but i have lost enthusiasm for the game (and time to play it). So, i am now removing the page from my website and deleting the last remnants from my system. I do hope some of my ideas made it to the main stream. Perhaps i'll regain some interest with the new server, but for now it is goodbye.

Best wishes,
Sergio S
Omnicide
Newly Registered User
Posts: 3
Joined: 17 Jun 2010, 19:17

Re: TMW Client Patch (binaryMind)

Post by Omnicide »

There's a bug the official client has that manaplus 4144 does not. On the create character screen and you choose to create a character name that is already been taken, and click create after putting in all the stat points, it does not give you a dialog box displaying that the name is already taken. it simply does nothing at all. Not sure where to post bugs/glitches perhaps an added forum section for that could be in order.

Image

Post Reply