I've prepared Utto - Ufo2000 Organizer (application name is temporary...or maybe not). I was thinking about it before but I didn't have knowledge enough to start. About week ago (from date of creating this post) I've realised I could make this thing. It was written in C++/Qt4.6, previously Qt4.2 (for informations about Qt see http://doc.trolltech.../4.6/index.html ). It should be compatible with Qt 4.6 or higher versions.
Utto's website : http://www.utto.yoyo.pl/
It is simple program (currently 0.2.3 version ) which allows to:
- chat with other Utto's users/Ufo2000 players (text, smilies and units toolbars included)
- check traffic and statistics at Ufo2000 server (same as by web browser but with automatic refresh for traffic - 5 sec by default)
- see who is logged in at Ufo2000 server - list of players is always visible, next to clocks with your/game time
- browse news and files from Ufo2000 website (with optional rare refreshing)
- browse information from tournament's host's website (currently part of file 'players' from my website, I can prepare XML template)
- browse Ufo2000 help file (from Ufo2000 directory)
- change program options : Ufo2000 directory, translation, refresh rate, Ufo2000 version and colors
- open Ufo2000 links
- see information about this program
- browse last news from Ufo2000 forum about Utto and first Ufo2000 forum's page
- run Ufo2000 game in two modes:normal (F9) and quick (CTRL+F9) - this solution shouldn't be buggy but be careful
- change basic translation of the application - English, Polish, Dutch, Estonian, German and Russian are available, you can prepare your own translation (see 'translation.txt')
- added system tray icon with context menu, message field ("balloon") and tooltip with "players online" counter
- sound playing when new player's connected/disconnected or back from game and when new message appeared (working when minimized to bar or tray too)
- work with application in compact mode and/or stay on top with full chat's functionality
- auto-detecting new version of the application
- view the manual included to package
- switched from Qt 4.2 to 4.6
- added Russian translation
- ufo2000.net as default server
CONTENT WARNING: Very long post - read next informations, only if above ones made you courious (or don't have other things to do ).
Downloads - version 0.2.3 ( try to do first use without internet connection to see if program runs properly):
NOTE: Please, read all informations in this post before running application (I know, it is much to read) - it is for your and other users safety.
For Windows (executable and important files to run):
Method I - download from hereThis method is recommended if you have already Qt4.6 or higher installed or you have properly working DLLs.
Utto_0.2.3_for_windows.zip 507.6K 12 downloads
List of these DLL's :
DLLs from previous versions of Utto (0.2.2 or older) won't work with the current one!
Method II - download from FUEL's website (make sure it is the newest version) : http://www.7kplay.net/phpBB3/utto.phpIn this case you will have all Utto's files and DLLs in a single ZIP file - you don't need other files (thanks to FUEL for storage space).
For Linux(sources and important files to run):
Utto_0.2.3_for_linux_sources_.zip 403.6K 6 downloads
NOTE: I advise you to make any changes in source code only if you have Qt programming experience - Qt has got some unique features (e.g. signals&slots, autodeleting pointers of QWidget and inherited classes), unexperienced person could make some extra bugs and errors.
Known and unknown bugs and errors:
- after running Ufo2000 by Lauch 'Ufo2000' button, the game (not Organizer) may become closed if you run Task Manager (Windows)
- when site isn't available there should appear proper information in application but this is not guaranteed (crashes might occur without warning)
- I couldn't test this program on Linux so I will be grateful if user of Linux reports detected bugs
- there might be memory leaks (but don't have to) so also someone could debug this application
- if player's nickname contains <sometext> (something like tag starter) his name at table of connected players is displayed without this part of name - it is html processing effect.
- 'back from game' sound/message can't work because server don't change status 'in game XXXX' to 'in server chat' after match's ending (user is still displayed as 'in game' but can talk through the Ufo2000's chat room).
- if Ufo2000 server would generate XML file (see Appendix A below) like current server status page, it would be possible to change display method for traffic.
I can analize current status page html code now and get players names, version etc. but it is more difficult than from XML file.
- there could be something like download manager at 'updates' tab which would check maps/weaponsets/others in player's Ufo2000 directory and asking for download if player don't have certain file.
I think this solution require XML file on server with files listed.
- news could be in XML file too, but current truncated Ufo2000 website is enough I think
- informations about tournament could be loaded directly from host's website or XML file (both solutions could have combobox for choosing tournament's host from list loaded from ... XML )
- Ufo2000 help can contain future Ufo2000 html help (currently in progress) - loading it from Ufo2000 directory
- there could be more options changeable at options tab, current are very basic
- optimized translations
- Qt provides full OpenGL support (OpenGL libraries are distributed with Qt), so there is possibility to make Geoscape globe in application and use it.
It may be hard to connect such feature with Ufo2000 game.
- there is possibilty in Qt to communicate between Qt application and application run by QProcess - it could bring some extra functionality
As you may noticed, I suggest mostly XML solutions - I like XML and know how to use it in Qt.
Those XML files could be stored at Ufo2000 website server or somewhere at ufo2000.xcomufo.com.
XML structure of those file should be discussed too.
I would like to know which of features (current and possible to add) would you like to see in this application.
Also, put any suggestions,ideas, detected bugs or opinions here, I want to know if you like or hate the idea.
Especially I want to know developers opinions and suggestions.
This section is available at Utto's Manual - see http://www.utto.yoyo...tml/manual.html
Appendix A (for developers and curious people) : XML status page equivalent:
I've searched Ufo2000 code (server part of it) and I have found 'void ServerDispatch::MakeHtmlReport(std::string &html_body)' function in server_protocol.cpp file (declared in server.h),
which probably generates Ufo2000 server status page. That function is used in
void ServerDispatch::HandleSocket(NLsocket socket) function in server_transport.cpp file (declared in server.cpp too).
I've made equivalent of first function for XML generating (MakeXMLReport):
XMLreport.zip 1.24K 41 downloads
I don't know where output file name is set and even can'y be sure if two files can be made.
It would be good if server generates both status versions (XML for Utto and HTML for web browsers).
Alternative solution is using XHTML instead of XML and HTML. In that case there would be only one function needed.
Appendix B: Getting Qt for Windows/Linux to copmpile this application(Qt in Windows may be hard thing to do, trust me) :
1. type in website browser: ftp://ftp.trolltech.com/qt/source/ (I think it is correct place for download).
2. try to download Qt 4.6 or higher
I have windows 4.6.3 version of Qt (I think it needs also MinGW installed from somewhere, I've got 5.0.2 version)- its file name is:
qt-win-opensource-4.6.3-mingw.exe - MinGW should be installed automaticly too but not sure for that.
Other way is to compile file: qt-win-opensource-src-4.6.3.zip sources in Windows but this is very hard (I've tried long time ago and failed)
3. sorry but I don't know exactly and can't predict next steps in Linux - I think you should have to compiling Qt sources
I also can't remember what I was doing during Qt for Windows installation (installing MinGW before or after Qt - I think before is better).
NOTE:It can take much time to set Qt to work properly after installing or compiling it.
For Windows, it is better to use final .exe file of Organizer application.
For Linux, it is better if you already have Qt installed (I think Qt is added to many distributions of Linux).
Hmm... that is all for now.
Edited by Intri, 10 September 2010 - 03:30 AM.