betawidget? [code-talk]

For code related discussions and questions
Post Reply
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

betawidget? [code-talk]

Post by -Kosh- »

There is no code-talk section in forums yet so I did it this way. :P

I was looking at the betawidget stuff in trunk, and there is no solution file for this. I tried to self compile but then I notice there are no libs made in the dev package! Someone forget to commit this stuff ?

Digging deeper it needs

Code: Select all

PKG_CHECK_MODULES([CAIRO], [cairo])
PKG_CHECK_MODULES([SVG_CAIRO], [libsvg-cairo])
PKG_CHECK_MODULES([PANGO_CAIRO], [pangocairo])
and lua
http://cairographics.org/ says check http://www.gtk.org and needs pixman. Cairo and pixman can be built ok, solution files are provided.
http://www.pango.org/ "Pango depends on 2.x series of the GLib library; more information about GLib can be found at http://www.gtk.org/. GTK is *huge*! You guys really going to require all that bloat?
Lua is not a problem.
libsvg-cairo is deprecated !! O_o
On Wed, 2006-12-13 at 20:24 -0500, Jerry wrote:
> Is anyone working with this combination on Windows?

cairo-libsvg is deprecated and unmainained. Use librsvg instead. Dll's
can be found here:
http://www.gimp.org/~tml/gimp/win32/downloads.html
There are no Dll's there.

What is the story behind this and why use deprecated and unmaintained code ? That would seem like a very bad choice.

This got me thinking from what I have read in forums and ML and the mock-up screens posted here viewtopic.php?f=6&t=2258&p=23238#p23230 there is no way those mock-up screens are even remotely possible with the codebase in this state.

All work on betawidget has stopped and the author seems to have no commits in betawidget since April 14.

Is there any reason why your guys are trying to reinvent the wheel? Here are some I have found.
http://www.cegui.org.uk/wiki/index.php/Main_Page
http://www.libnui.net/
http://libufo.sourceforge.net/
http://glgooey.sourceforge.net/
http://glam.sourceforge.net/
http://jet.ro/turska/
http://qt.nokia.com
The best one by far is Qt since it has a IDE with it and works on all platforms.
This is a waste of space. Something important should be here.
cybersphinx
Inactive
Inactive
Posts: 1695
Joined: 01 Sep 2006, 19:17

Re: betawidget? [code-talk]

Post by cybersphinx »

-Kosh- wrote:http://www.pango.org/ "Pango depends on 2.x series of the GLib library; more information about GLib can be found at http://www.gtk.org/. GTK is *huge*! You guys really going to require all that bloat?
GLib is not GTK, it's the system abstraction layer on which GTK is built and can be used without it.
libsvg-cairo is deprecated !! O_o
What is the story behind this and why use deprecated and unmaintained code ? That would seem like a very bad choice.
IIRC libsvg-cairo was nice and easy to compile and use, and the need for an alternative is one of the reasons betawidget doesn't progress.
Is there any reason why your guys are trying to reinvent the wheel?
Because all of those are C++, not C, and Warzone's pseudo-inheritance system is incompatible with clean C++ unless you rewrite it completely. That said, it should compile with "g++ -fpermissive" (no idea if and how other compilers handle this); it did years ago when I experimented with GLGooey, but that never got to the point of showing anything in-game.
Kamaze
Regular
Regular
Posts: 1017
Joined: 30 Jul 2006, 15:23

Re: betawidget? [code-talk]

Post by Kamaze »

http://tulrich.com/geekstuff/gameswf.html
gameswf (pronounced "game swiff") is an open source Public Domain library for parsing and rendering SWF movies, using 3D hardware APIs for rendering. It is designed to be used as a UI library for computer and console games.

It is written in C++, and compiles under Windows, Mac OSX and Linux, using GCC and MSVC. It includes code for rendering with OpenGL. The rendering module is factored out so that you can port to other APIs.
We all have the same heaven, but not the same horizon.
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

Re: betawidget? [code-talk]

Post by -Kosh- »

cybersphinx wrote:IIRC libsvg-cairo was nice and easy to compile and use, and the need for an alternative is one of the reasons betawidget doesn't progress.
O_o nice and easy to compile? Maybe for linux?
Then the project is looking for a new svg lib that works on all platforms? Would that not be Qt?
Because all of those are C++, not C, and Warzone's pseudo-inheritance system is incompatible with clean C++ unless you rewrite it completely. That said, it should compile with "g++ -fpermissive" (no idea if and how other compilers handle this); it did years ago when I experimented with GLGooey, but that never got to the point of showing anything in-game.
What difference does that make? You can use C++ code in C all you want.
The project is using C++ right now for some things so I do not see this as a valid argument against using C++ libs?
This is a waste of space. Something important should be here.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: betawidget? [code-talk]

Post by Per »

-Kosh- wrote:Then the project is looking for a new svg lib that works on all platforms? Would that not be Qt?
Well, who knows... Take a look at http://gitorious.org/~Per/warzone2100/per ;)

You can sort of play the game already, but the graphics and controls are a bit screwed up. Also, this project has been on the back-burner for some time, since bug-fixing and releases (and real life) has taken more priority lately, but I still think it is a worthwhile project. I just need to figure out some issues with the OpenGL state that Qt and Warzone keeps fighting over. You are most welcome to help out.
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

Re: betawidget? [code-talk]

Post by -Kosh- »

Thanks for the link!
Is there a reason why you are using git instead of svn? Support for git is pretty much linux only. Image
This is a waste of space. Something important should be here.
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

Re: betawidget? [code-talk]

Post by -Kosh- »

I did some more checking and it would appear that Qt would only be good for a front-end.
Qt is just too slow for mouse/keyboard handling in-game.

Over at amarok they say
Qt currently lacks an input handling system powerful enough for use in games - there's keyboard, but it is not entirely fast enough, there is mouse support, which is fine for point-and-click things, but not so good for e.g. first person shooters, however there is no handling of joysticks and the like.
That would mean Qt on top of SDL which would not make a whole lot of sense.

This brings us back to using SDL and one of the GUI libs that I posted before and something for svg.

For svg I found http://github.com/kiba/SDL_svg (did not try it yet)
There may be others but this was just a first look.
Is SVG support really needed though? If this is the main thing holding things back I would axe it and move on.
This is a waste of space. Something important should be here.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: betawidget? [code-talk]

Post by Per »

I have a really hard time believing that the input handling system in Qt is too slow for Warzone. Maybe it is too slow for an FPS game, although I have a hard time believing that too, but Warzone is an RTS and does not depend on millisecond differences between when someone presses a key or button.

If anyone is interested in working on the Qt port, I can move it over to the subversion tree.
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

Re: betawidget? [code-talk]

Post by -Kosh- »

Per wrote:I have a really hard time believing that the input handling system in Qt is too slow for Warzone. Maybe it is too slow for an FPS game, although I have a hard time believing that too, but Warzone is an RTS and does not depend on millisecond differences between when someone presses a key or button.

If anyone is interested in working on the Qt port, I can move it over to the subversion tree.
:nods:
I for one who take a look at it and see what I can come up with.
This is a waste of space. Something important should be here.
Post Reply