D321GO!!

From ODF::Wiki

Jump to: navigation, search
D321GO

D321GO!! 0.20 public beta (Qt version) on OpenSuSE 11.2
Information
Producer: The Open Descent Foundation
Developers: King Lo, D.Cent
Current version: 0.20 beta
Latest release: 17th May 2010
Operating systems: Linux, Windows
Category: Descent Launchers
License: GPL version 3
Languages: C++
Website: http://d321go.d3.funpic.de (deprecated)
Project page: click here

D321GO!! is an Open Source Descent launcher, written by the Open Descent Foundation.

The ODF Forum also has a subforum for D321GO!!

Contents

[edit] History

Frustrated because there was no easy way to start Loki's Descent3 with a special launch link or tracker, King Lo started to write a program named "d123go". Soon the name was changed to D321GO!! (which is not a reference to the ebay-slogan.) About one year later, the first GUI was written, but it had a lot of bugs and the text was only written in German. That's why King Lo and D.Cent started working on a better GUI in 2007.

For more information, read the history of the ODF.

[edit] Details about the new GUI

Originally, the authors decided to write three different GUIs. King Lo started to write on a GTKmm based GUI, while D.Cent wrote two GUIs at the same time: one in Qt4 and the other in WxWidgets.

Soon they realized how hard it would be to use 3 different GUIs. The non-GUI framework had to be compatible with the code used for the GUI. The next problem was, everything had to be system independent. A new goal was to write a launcher that can replace Vortex, with even more stability and features.

Currently, a few goals set have been reached : The program runs stable, with a built-in checksum-filter (on Linux), and it supports Descent 1-3. The tracker also works fine. Most of the problems that still exist are problems with libodf, which has some system dependent functions. This slowed down windows developemnt

In the Summer of 2008, development of the WxWidgets version was cancelled. In January, both versions (Qt and GTKmm) were finished. Version 0.20 aplha was given to special testers to find the most annoying bugs. On 17th May 2010, version 0.20 beta was published.

[edit] Help and Documentation

For users of D321GO!!, there are video tutorials on the ODF YouTube Channel. They should explain most of the functionality of D321GO!! in an easy way.

Coders can download the most recent working sources from our bzr repository. In the "doc" folder of d321go, they can find a doxygen documentation for many classes and functions. A link to the download page can be found in the infobox on the right.

[edit] Porting to Windows

The Windows port was always a hard part of the project. At first, neither D.Cent nor King Lo own a copy of Windows, and they both did not want to install or buy one.

In the winter of 2008, D.Cent had the idea to set up a virtual machine, and that's what he did. He started porting the code with the IDE Dev-Cpp, which also uses a GNU-compiler.

The last step to port it would be fixing the optfile bug on Windows. After D.Cent fixed his problems with his virtual machine so the bug-fixing could go on, and Lo found the "bug", which was that Windows needs e.g. an fseek() call between reading and writing in the same file, the porting was finished. The bug was no segfault and was not caused by fstat(), as Lo and Cent assumed.

The first alpha test results were positive. Only 2 bugs have been identified. D.Cent fixed them and managed to implement the launchlink system Linux already had. The public beta version of release 0.20 contains DLL-binaries for Qt. To use GTKmm, a setup executable was put in the package archive to install the GTKmm runtime.

[edit] Chat

The chat feature caused a big discussion. 'Nobody would ever leave Vortex for D321GO!! without a chat', said D.Cent. due to this he started writing a chat with the help of an irc library.

Currently, you can use the client to send/receive normal messages in the main chat, use the /me command, and receive/send personal messages. Nobody knows when it will be finished, and it is written using Qt4. As the tradition says, King Lo will have to write his own in GTKmm for his GUI.

The chat itself is not implemented into the main window -- it is an external program that communicates with the main window via the Server/Client-functions of libodf. Details on the chat program can be found in the article D321GO !! chat module.

The code isn't very clean by now and it is very hard to build the program. If the program ever will be finished/implemented, it probably won't be in the next 2 years.

Personal tools