The Mana World DevPak

Ask for help regarding any technical issue or report any bug or OS independent issues.
User avatar
leeor_net
Novice
Novice
Posts: 180
Joined: 03 Feb 2008, 09:17
Location: Ohio, USA
Contact:

Re: The Mana World DevPak

Post by leeor_net »

Yes, I've rebuilt the whole project. That's the first thing I did. I've even tried building the guichan library from source and the game partially works but as soon as it gets into the main game window (after logging in and choosing a character) it quits unexpectedly both with and without openGL support. Hence why I'm back here to see if I can find a prebuilt library that's known to work.

When using the Guichan library from the devpak, there are hundreds, if not thousands of linker errors (I set my error limit at 500). Not to mention that the devpak doesn't inlcude widgetlistener.hpp from the guichan library which is what leads me to believe that it's an older build or an incomplete build.

I'm hoping that I'm just building the guichan library incorrectly and that explains the unexpected quit. If not, I'll have to do a bit of digging which is annoying because the client worked just fine before the move to guichan 0.8.0.

I ask why guichan was used because it's still under heavy development, has no backward compatibility support from version to version and is not a mature library. It has loads of missing features and isn't as robust as, for instance, FLTK or AgarGUI or GTK+ (not that I would use GTK+). It's documentation leaves a lot to be desired and, personally, I find that guichan just doesn't feel complete to me (especially when I see the 'unused variable' warnings when building the library)... at the same time, it's small, fast and relatively unintrusive.

My point is that I would have chosen a different library despite the pros. Clearly guichan seemed more appropriate so I wanted to know why the dev's chose it. "Guichan rulez" doesn't answer my question at all.
- Leeor

"Oh, no thanks. I ate a boulder on the way in." - Shrek
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: The Mana World DevPak

Post by Crush »

I also get the impression from time to time that guichan creates more problems than it solves. But the decision to use guichan for TMW has been done long before I became involved in programming and now it is too late to change the gui library anyway. So I never questioned it.

But I would still be interested in knowing why exactly guichan was chosen over other gui libraries. Just out of curiosity.
  • 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
ElvenProgrammer
Founder
Founder
Posts: 2526
Joined: 13 Apr 2004, 19:11
Location: Italy
Contact:

Re: The Mana World DevPak

Post by ElvenProgrammer »

Actually I'm not completely sure of my dynamic build, but still it works for me. If you're interested I could publish a static build of guichan which could work better.

Edit: Now that's weird, I downloaded the devpak just to find out widgetlistener.hpp was not included, that means it was not the last version. Since I was sure I updated it I redownloaded the package through FTP and this time I got the correct version. I fear somehow it didn't overwrite my local file, could it be you're experiencing the same situation? Please try redowloading and confirm the presence of widgetlistener.hpp.
User avatar
leeor_net
Novice
Novice
Posts: 180
Joined: 03 Feb 2008, 09:17
Location: Ohio, USA
Contact:

Re: The Mana World DevPak

Post by leeor_net »

I've seen this sort of problem before so I cleared my internet browsing history and temporary files. No go -- perhaps you could change the link for each new release? This may correct the problems that others are experiencing (I believe Filo is another user with this problem).

I just hate to ask someone else to build the libraries for me... I tried a number of times to build it myself using make, msys and code::blocks but I can never get it to link properly or there is some sort of obscure error somewhere. My best guess is that I don't have the dependencies guichan is looking for so it craps out on me but my debugger isn't giving me the information I need... -_-
- Leeor

"Oh, no thanks. I ate a boulder on the way in." - Shrek
User avatar
filo
Peon
Peon
Posts: 19
Joined: 01 Apr 2008, 18:56
Location: Czech republic

Re: The Mana World DevPak

Post by filo »

With this package I get these errors:
c:\dev\svn\themanaworld\tmw\trunk\src\gui\..\utils\gettext.h|33|libintl.h: No such file or directory|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\buy.cpp||In constructor `BuyDialog::BuyDialog()':|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\buy.cpp|42|error: `gettext' was not declared in this scope|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\buy.cpp||In member function `void BuyDialog::updateButtonsAndLabels()':|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\buy.cpp|202|error: `gettext' was not declared in this scope|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\buy.cpp|220|error: `gettext' was not declared in this scope|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\buy.cpp|235|error: `gettext' was not declared in this scope|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\buy.cpp|235|warning: unused variable 'gettext'|

You compile with this DevPak with no problems?
User avatar
ElvenProgrammer
Founder
Founder
Posts: 2526
Joined: 13 Apr 2004, 19:11
Location: Italy
Contact:

Re: The Mana World DevPak

Post by ElvenProgrammer »

As you can see from the file name this one is made to compile 0.0 branch so libintl/gettext are not included.
User avatar
filo
Peon
Peon
Posts: 19
Joined: 01 Apr 2008, 18:56
Location: Czech republic

Re: The Mana World DevPak

Post by filo »

ElvenProgrammer wrote:As you can see from the file name this one is made to compile 0.0 branch so libintl/gettext are not included.
Eh, sorry for my mistake...
Iam new there and Iam not fully orientated here, but now is compiling successfull, but it old version or no?
I think, for old client are these librares: http://themanaworld.org/files/tmw-svn-0.0.x.tar.bz2
and for new are these librares: http://themanaworld.org/files/tmw-svn.DevPak

1)
When I try compile the new client (from SVN folder tmw/trunk) with librares for new client I get these errors:
c:\dev\svn\themanaworld\tmw\trunk\src\gui\window.h|28|guichan/widgetlistener.hpp: No such file or directory|
c:\dev\svn\themanaworld\tmw\trunk\src\gui\window.h|48|error: expected class-name before '{' token|
Why?

2)
When I try compile the old client (from SVN folder tmw/branches/0.0) with librares for old client, compiling is success, but when I try compile I get these errors:
src\account-server\accountclient.hpp|27|enet/enet.h: No such file or directory|
src\net\netcomputer.hpp|42|error: expected `)' before '*' token|
src\net\netcomputer.hpp|86|error: ISO C++ forbids declaration of `ENetPeer' with no type|
src\net\netcomputer.hpp|86|error: expected `;' before '*' token|
src\account-server\accountclient.hpp|50|error: expected `)' before '*' token|
c:\dev\svn\themanaworld\tmwserv\trunk\src\account-server\accountclient.cpp|26|error: expected `)' before '*' token|

Whats wrong? TMW server is not for old client, its only new?

3)Whats different between new client (0.1) and old client (0.0)?
Thanks ;-)
User avatar
Jaxad0127
Manasource
Manasource
Posts: 4209
Joined: 01 Nov 2007, 17:35
Location: Internet

Re: The Mana World DevPak

Post by Jaxad0127 »

filo wrote:3)Whats different between new client (0.1) and old client (0.0)?
Thanks ;-)
The biggest difference is the the new client is for The Mana World Server, while older clients are for the eAthena Server.
Image
User avatar
filo
Peon
Peon
Posts: 19
Joined: 01 Apr 2008, 18:56
Location: Czech republic

Re: The Mana World DevPak

Post by filo »

jaxad0127 wrote:
filo wrote:3)Whats different between new client (0.1) and old client (0.0)?
Thanks ;-)
The biggest difference is the the new client is for The Mana World Server, while older clients are for the eAthena Server.
Ok thanks for asnwer, in that case I want compile and run a new client with server for it ;-).

Now, I wait answer for 1st question.
User avatar
ElvenProgrammer
Founder
Founder
Posts: 2526
Joined: 13 Apr 2004, 19:11
Location: Italy
Contact:

Re: The Mana World DevPak

Post by ElvenProgrammer »

I'm preparing a package to help compiling trunk version too, in case you can't wait you can still access nightly builds at http://nightly.themanaworld.org or try installing the devpak first and overwrite it with the 0.0 package which should upgrade guichan.
User avatar
filo
Peon
Peon
Posts: 19
Joined: 01 Apr 2008, 18:56
Location: Czech republic

Re: The Mana World DevPak

Post by filo »

ElvenProgrammer wrote:I'm preparing a package to help compiling trunk version too, in case you can't wait you can still access nightly builds at http://nightly.themanaworld.org or try installing the devpak first and overwrite it with the 0.0 package which should upgrade guichan.
I do it, and I get again some errors :-(
||Info: resolving vtable for gcn::SDLGraphicsby linking to __imp___ZTVN3gcn11SDLGraphicsE |
||Info: resolving vtable for gcn::Graphicsby linking to __imp___ZTVN3gcn8GraphicsE |
||Info: resolving vtable for gcn::Buttonby linking to __imp___ZTVN3gcn6ButtonE |
||Info: resolving vtable for gcn::CheckBoxby linking to __imp___ZTVN3gcn8CheckBoxE |
||Info: resolving vtable for gcn::FocusHandlerby linking to __imp___ZTVN3gcn12FocusHandlerE |
||Info: resolving vtable for gcn::ListBoxby linking to __imp___ZTVN3gcn7ListBoxE |
||Info: resolving vtable for gcn::Sliderby linking to __imp___ZTVN3gcn6SliderE |
||Info: resolving vtable for gcn::TextBoxby linking to __imp___ZTVN3gcn7TextBoxE |
||Info: resolving vtable for gcn::TextFieldby linking to __imp___ZTVN3gcn9TextFieldE |
||Info: resolving vtable for gcn::Fontby linking to __imp___ZTVN3gcn4FontE |
||warning: auto-importing has been activated without --enable-auto-import specified on the command line.|
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs..objs\src\net\accountserver\account.o:account.cpp:(.text+0x462)||undefined reference to `sha256(std::string const&)'|
.objs\src\net\accountserver\account.o:account.cpp:(.text+0x724)||undefined reference to `sha256(std::string const&)'|
.objs\src\net\accountserver\account.o:account.cpp:(.text+0x80c)||undefined reference to `sha256(std::string const&)'|
.objs\src\net\accountserver\accountserver.o:accountserver.cpp:(.text+0xc4)||undefined reference to `sha256(std::string const&)'|
||=== Build finished: 4 errors, 1 warnings ===|

I need success compiling, becouse I want develop this game, but I have no luck :-(
If you dont know, how help me with my problem, I wait for you recipe for compile 0.1 ver...
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: The Mana World DevPak

Post by Crush »

Seems like the new files for SHA256 encryption aren't added to the project yet. Please add the files src/utils/sha256.cpp and src/utils/sha256.h to your project file manually.
  • 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
filo
Peon
Peon
Posts: 19
Joined: 01 Apr 2008, 18:56
Location: Czech republic

Re: The Mana World DevPak

Post by filo »

Crush wrote:Seems like the new files for SHA256 encryption aren't added to the project yet. Please add the files src/utils/sha256.cpp and src/utils/sha256.h to your project file manually.
Thanks Crush ! Compiling of client seems to OK and game-server compiling is too OK, but when I try compile account-server I get these errors:
||=== TMWServ Accountserver, default ===|
.objs\src\account-server\accounthandler.o:accounthandler.cpp:(.text+0x181c)||undefined reference to `Encryption::GetSHA2Hash(std::string)'|
.objs\src\account-server\accounthandler.o:accounthandler.cpp:(.text+0x19e3)||undefined reference to `Encryption::GetSHA2Hash(std::string)'|
.objs\src\account-server\accounthandler.o:accounthandler.cpp:(.text+0x1ae6)||undefined reference to `Encryption::GetSHA2Hash(std::string)'|
.objs\src\account-server\accounthandler.o:accounthandler.cpp:(.text+0x277b)||undefined reference to `Encryption::GetSHA2Hash(std::string)'|
.objs\src\account-server\accounthandler.o:accounthandler.cpp:(.text+0x289c)||undefined reference to `Encryption::GetSHA2Hash(std::string)'|
.objs\src\utils\cipher.o:cipher.cpp:(.text+0x1df)||undefined reference to `_EVP_md5'|
.objs\src\utils\cipher.o:cipher.cpp:(.text+0x222)||undefined reference to `_EVP_Digest'|
||=== Build finished: 7 errors, 0 warnings ===|

Its too need add some fresh files to project?

Thanks for answer, now Its seems on right way ;-)
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: The Mana World DevPak

Post by Crush »

remove utils/cipher.cpp
add utils/sha256.cpp
add chat-server/party.cpp

and the corresponding header files.
  • 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