Info on who to talk to when wanting to help?

For code related discussions and questions
Post Reply
d00fd00f
Greenhorn
Posts: 12
Joined: 30 Dec 2013, 16:46

Info on who to talk to when wanting to help?

Post by d00fd00f » 30 Dec 2013, 17:02

Hello!

New on the boards, busy playing again since yesterday :) Good to see this long time favorite of mine is still as good as ever :)

I do software dev/design for a living and would like to know if and how I can pitch in to make this project even better than it already is.. Wanting to do some more game-related coding anyway and I figure this is just as good as anything to do besides trying to get my own game code off the ground.

I'm good with OGL/C++ too, even though I never get to use it at work. That's what you get for doing M$ .NET for mostly web projects.. Obviously I'd prefer to do most of the work on Windows, but I do have Hyper-V with an ubuntu box.. Haven't spent any time coding for Linux though.

Maybe I can help sort out some of the graphics/AI isssues in my spare time?

Regards and thanks,
d00fd00f

Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3753
Joined: 03 Aug 2006, 19:39

Re: Info on who to talk to when wanting to help?

Post by Per » 30 Dec 2013, 20:52

Welcome :-)

We could use some assistance.

I suggest starting with some bugs from the bug tracker. While bugs may not be as sexy and interesting as features, bug tracing is a nice way to dive into and learn a code base. We don't have much documentation, but if you have questions, people usually answer on this forum quickly, or you can try to find people on the IRC development channel.


d00fd00f
Greenhorn
Posts: 12
Joined: 30 Dec 2013, 16:46

Re: Info on who to talk to when wanting to help?

Post by d00fd00f » 30 Dec 2013, 21:26

Are the tickets in traq up to date? I see a lot of -REALLY- old tickets still open there..

If there is anything (like the guide/techtree) anyone would like assistance on or see prioritized, just let me know.

Agreed on the debugging = good introduction :)

What visual studio version are the project files? 2010?

User avatar
vexed
Inactive
Inactive
Posts: 2471
Joined: 27 Jul 2010, 02:07

Re: Info on who to talk to when wanting to help?

Post by vexed » 31 Dec 2013, 04:46

d00fd00f wrote:Are the tickets in traq up to date? I see a lot of -REALLY- old tickets still open there..

If there is anything (like the guide/techtree) anyone would like assistance on or see prioritized, just let me know.

Agreed on the debugging = good introduction :)

What visual studio version are the project files? 2010?
Yeah, there are some really, really old ones up there, some going as far back as 1490 days. :stressed: :oops: :stressed:

The breakdown for developers is, 1 (me) uses MSVC 2010 primarily for developing / debugging, but, also uses linux at times for certain things, 3 (Per, Cyp, and Cybersphinx) use linux, and 0 mac developers at this time. (developers = coding for game)

We are always looking for help, and as Per mentioned, it is best (easiest ?) to start off with some bug ticket stuff, to get a feel on how things work. (though, that isn't to say that you can't branch off and do what you want, like this thread shows: viewtopic.php?f=6&t=11391)
We also have some coding information here Coding.

You can use newer versions of MSVC, since it auto-converts the solution file.
Building all the required libs isn't that difficult either.
We have removed the Bison/flex hurdle as well, so those aren't needed any longer.
For Qt, you can either compile it yourself, or just get the pre-built libs @ Qt's site. Just set $QTDIR to where you installed the Qt libs/compiler (we use moc for some stuff).
I think that is all you need to know for getting MSVC builds up and running.

For linux, you got it a bit easier on the compile side, but, I have yet to find a debugger than can match what MSVC's offers.

Mingw isn't really supported on windows, I don't think anyone has tested that in a long time, last time I tried it was buggy, much uglier than the environment that MSVC offers.

Hope that helps.
/facepalm ...Grinch stole Warzone🙈🙉🙊 contra principia negantem non est disputandum
Super busy, don't expect a timely reply back.

d00fd00f
Greenhorn
Posts: 12
Joined: 30 Dec 2013, 16:46

Re: Info on who to talk to when wanting to help?

Post by d00fd00f » 31 Dec 2013, 10:31

My main development environment would be MSVS (preferrably 2013) for now.. Reason for me asking is it will convert the files for me, but when I check those in you will start getting errors.. Maybe it's best I go the 2k10 route for now?

What is the main branch to start developing from? I'm assuming Master.. I could also fork my own so we could merge later if needed.

I'd be interested firstly in fixing/implementing graphics, AI and generic performance fixes, but wouldn't mind looking at anything else, too.

Professionally I'm a Microsoft ASP.NET (MVC) dev in C#, and as such also know MS-SQL, HTML5, CSS and JavaScript. At home I also do PHP etc. and a bunch of other stuff.. Basically, if someone shouts out what they feel is important, I'd be happy to look :)

crab_
Trained
Trained
Posts: 345
Joined: 29 Jul 2013, 18:09

Re: Info on who to talk to when wanting to help?

Post by crab_ » 31 Dec 2013, 11:48

d00fd00f wrote: Basically, if someone shouts out what they feel is important, I'd be happy to look :)
For my taste In Warzone we have too comlplicated UI code. It makes impossible to improve UI.
What wrong with current UI:
- UI not scalable
- Construction menu too long. We need categories for different type of buildings (applies to scirmish/mp mode)
- Unit design has lack of information. Most parameters of units are hidden.
- Research menu has lack of information. We need to be able to show research paths somethere.(applies to scirmish/mp mode)

So as far i understand, we need modern scalable and scriptable and 'styleable' UI :)
Warzone2100 Guide - http://betaguide.wz2100.net/

d00fd00f
Greenhorn
Posts: 12
Joined: 30 Dec 2013, 16:46

Re: Info on who to talk to when wanting to help?

Post by d00fd00f » 31 Dec 2013, 12:42

crab_ wrote:
d00fd00f wrote: Basically, if someone shouts out what they feel is important, I'd be happy to look :)
...
- Construction menu too long. We need categories for different type of buildings (applies to scirmish/mp mode)
...
- Research menu has lack of information. We need to be able to show research paths somethere.(applies to scirmish/mp mode)
...
So as far i understand, we need modern scalable and scriptable and 'styleable' UI :)
Yea. Also, it pisses me off that those menus reset when research completes.. It happened to me a couple times that I accidentally clicked the wrong button because the buttons decided to regroup after completion :)

As far as integrating the tech tree into the game.. I wouldn't immediately know what the best UI for this would be.. integrating it into the intelligence display?

Also, it's a shame there's no list of key bindings accessible ingame :)

swenzel
New user
Posts: 5
Joined: 19 Sep 2014, 12:48

Re: Info on who to talk to when wanting to help?

Post by swenzel » 19 Sep 2014, 23:19

crab_ wrote: For my taste In Warzone we have too comlplicated UI code. It makes impossible to improve UI.
What wrong with current UI:
- UI not scalable
- Construction menu too long. We need categories for different type of buildings (applies to scirmish/mp mode)
- Unit design has lack of information. Most parameters of units are hidden.
- Research menu has lack of information. We need to be able to show research paths somethere.(applies to scirmish/mp mode)

So as far i understand, we need modern scalable and scriptable and 'styleable' UI :)
Well I've had a look at the UI stuff right now...
hci.cpp wrote: Hellish Code Incoming
or
structure.cpp wrote: Code-Bomb
are pretty neat descriptions xD
Reverseengineering is pretty hard with Vim (haven't found any usful plugin yet) much keyword seraching and stuff...
and there are some macros, that seem to be defined nowhere in the sources, namely OBJ_BACK{X, Y, WIDTH, HEIGHT}, where do they come from? I think they are used for some widget dimensions.
Did I get it right, that the hci module is good for setting up and linking all the GUI stuff together, and that the different widgets (e.g. buildinglist, researchlist or transportercontent) are defined within their own module?

Concerning the scalability there is a class called SizePolicy http://qt-project.org/doc/qt-4.8/qsizepolicy.html which can be used to determine how a widget scales with its parents size... dunno why it wasn't used though, maybe because it will also need a properly set up LayoutManager http://qt-project.org/doc/qt-4.8/layout.html. I would like to try creating one but I haven't figured out where to hook into the code yet. For me it was not possible nail down where exactly a widget is created.

d00fd00f have you found out anything useful since you started this thread?

swenzel
New user
Posts: 5
Joined: 19 Sep 2014, 12:48

Re: Info on who to talk to when wanting to help?

Post by swenzel » 21 Sep 2014, 11:23

Forget about the undefined macros... I forgot to search the headers, so I found them by now xD.

I also found out that there would be a (maybe) even better solution, namely QQuick. It would be possible to write the UI in QML then which is a js-like markuplanguage that should be easier to maintain. http://qt-project.org/wiki/Introduction ... f1bc55c92c
Here it says:
If you are starting with an application based on C++ widgets, you can reuse all your graphics assets and re-factor the QWidgets to QML. Since you already have the full interaction and design work done, developing and coding the QML is relatively easy.

If you are instead starting with an application based on a QGraphicsView [doc.qt.nokia.com], the conversion process is even easier and can proceed in stages. The entire QML application can be inserted into an existing graphics view by instantiating a QML engine. If desired, the QML interface can co-exist with the existing user interface and allow the conversion process to proceed in steps.
I would really like to try that one out, but I didn't find the keyword 'QGraphics' so I reckon the former case is given, which is not so easy. Especially because the widgets seem to be hidden and built on demand rather than being preestablished classes.

Maybe we should start a new thread on this topic...

User avatar
NoQ
Special
Special
Posts: 6194
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: Info on who to talk to when wanting to help?

Post by NoQ » 21 Sep 2014, 18:18

Reverseengineering is pretty hard with Vim (haven't found any usful plugin yet) much keyword seraching and stuff...
Well, you're probably looking for thing like ctags (implements jump-to-definition; base functionality, no plugins needed, just install the appropriate package). Was easy to find OBJ_BACKX in src/hci.h through simple

Code: Select all

ctags -R
vim -t OBJ_BACKX
(Or Ctrl+] inside the editor, Ctrl+T to jump back).

For regexp searching through all files, usually grep is enough, but there are some plugins to integrate it into vim. For advanced auto-complete, i use a clang-based plugin called YouCompleteMe.

I didn't yet care about integrating debugger into vim, but right now i use cgdb frontend, which offers syntax highlighting and vim-like hotkeys.

swenzel
New user
Posts: 5
Joined: 19 Sep 2014, 12:48

Re: Info on who to talk to when wanting to help?

Post by swenzel » 21 Sep 2014, 19:06

I also found out about ctags and it worked only partially (was using [<c-i> and [<cd>) ^] seems to work better. And I didn't know about <c-t> either.
Thank you for that :)
Started using vimgrep and looking through the quickfix entries to find what I'm looking for, also works quite well.
I have YouCompleteMe already doesn't help much during understanding phase though, since I'm actually not typing anything. :D

cybersphinx
Inactive
Inactive
Posts: 1689
Joined: 01 Sep 2006, 19:17

Re: Info on who to talk to when wanting to help?

Post by cybersphinx » 21 Sep 2014, 19:14

cscope also has a vim plugin, but is more suited for C than C++ (can't distinguish between methods with the same name in different classes).
We want information... information... information.

Post Reply