Page 3 of 4

Posted: 25 Mar 2007 16:50
by Purno
eis_os wrote:I wonder where the other people of the Project are?
Trying to follow the code talk and not understanding much of it, while feeling a bit useless, even though I'm supposed to draw 128x128 textures for doors and such, which is damn huge, and that's why I didn't do it yet.

Crappy sentence, that was.

Posted: 25 Mar 2007 16:55
by Arathorn
Lol, I read this thread too, but I don't understand any of it. I just like the idea of progress. And Purno, you can put those textures on hold for now, I have to experiment with the ones you've already made, but I don't have time this weekend.

Posted: 27 Mar 2007 09:22
by uzurpator
Progress:

The logical flow of the terrain display is 80% ready.

Next:
Make the logical flow threadproof
Tile factory, Material factory

Posted: 29 Mar 2007 09:37
by uzurpator
Terrain renedring pipeline is 70% complete

Now - conceptual work on tile factory

Posted: 02 Apr 2007 16:53
by uzurpator
Progress:

Some framework and researach. I plan to upload my code to some SVN (either sourceforge or the TE SVN from the forums)

Posted: 11 Apr 2007 06:03
by uzurpator
Please excuse lack of updates on progress :) I had... other things to attend to.

Nevertheless - I have fixed some minor bugs and am now working on the scene organisation scheme.

Posted: 15 Apr 2007 12:54
by uzurpator
Light is abit wonky - now getting resolved.

Next: Controls

Posted: 15 Apr 2007 13:22
by Purno
Looks interesting... :)

Posted: 16 Apr 2007 06:32
by uzurpator
Getting there

Posted: 22 Apr 2007 12:03
by uzurpator
most recent source

Posted: 05 May 2007 17:43
by uzurpator
latest news :)

I work on the gui. Mouse cursor now works, as well as zoom in/out. Moving map with mouse also works, but needs certain tweaks.

Posted: 05 May 2007 18:09
by Hyronymus
Sounds good, surprise us with a screenshot when you think you have something solid :).

Posted: 05 May 2007 20:07
by Steve
uzurpator wrote:most recent source
Is it still windows only?

Posted: 05 May 2007 20:13
by uzurpator
If you get the dependancies right & change the timing functions then it should compile under linux.

Posted: 08 May 2007 23:06
by Steve
Is the source going to be SVNed?

Edit: There's no makefile? What do I need to do to make it?

Posted: 09 May 2007 08:49
by uzurpator
Build the makefile I persume. I use Visual Studio - so I have .sln.

Ahyhow - The SVN is going to be created as soon as I get internet connection @ home.

I'm trying to port this to Linux.....

Posted: 19 May 2007 21:37
by neroden
So, uzurpator, I grabbed your last source code archive and am working on porting it to Linux, which hopefully shouldn't be too hard. Anyone else should feel free to try, though, since my free time is very limited right now.

So far I've hit the following snags:
-- Where's cwrap.h ? Edit: figured out this isn't used
-- Where's ttdvar.h ? Edit: figured out this isn't used
-- In main.c do you mean
#include <time.h>
since you've written
#include "time.h"
After all, time.h is a standard header and you haven't included your
own copy of time.h.... or it is another missing header?

I think I've found all the external dependencies:
-- the standard C++ library
-- BOOST
-- OGRE -- what version are you using?
-- OIS -- what version are you using?

(It will definitely be simpler if I use the same versions you're using)

It looks like I have to write a Linux version of timing.h to replace the Windows-centric version you have? That shouldn't be too hard.

There's probably more portability stuff worth doing, but right now I'm just trying to get it to a level where it builds and can be alpha-tested.

Posted: 19 May 2007 23:00
by Steve
Thanks for the work neroden, I too wish to get a Linux version working but wouldn't know where to start. Hopefully a good framework can be set up for all future versions too.

Some tips for uzu

Posted: 20 May 2007 03:49
by neroden
First tip: "latitude" has only two of letter "T". It's misspelled "lattitude" throughout the code. I suggest a search-and-replace before it gets any worse. I didn't fix this.


Second tip: the sense of "framelimit" is backwards in main.cpp. I went through and swapped all the values (true/false) so that "framelimit=true" means that there *is* a frame limit.

Third tip: the option handling sucks. I fixed it by putting it in a loop.

A patch to main.cpp for the second and third tips is attached. I also added the copyright notice and license statement.

Update
Fourth problem: unsigned int(foo) does not work as a cast with the gcc compiler (it doesn't parse properly). This is done in several places. Change it to static_cast<unsigned int>(foo) and it will work. I can provide a patch if you like.
[/b]

Ported successfully

Posted: 20 May 2007 22:32
by neroden
Well, I ported it. And actually got it to run! I see the pretty terrain grid! :-) Good start.

I'm providing it in two forms.

(1) A working source tree, for those who want to test it, *with* the media directory from the binary alpha release. In .tar.gz form, so hopefully any Linux user will know what to do with it. :-)

(2) A big patch, which is hopefully the easiest form for uzu to add my changes into his source tree. This includes the new files README.LINUX, Makefile, and timing_posix.h. It also includes copies of resources.cfg and plugins.cfg, because the 'reasonable defaults' are different on Linux. This *doesn't* include the media directory.

There were a lot of changes necessary. Most of them are because GCC is a lot pickier about syntax than Microsoft C++ (like all those casts). Some are genuine portability (the ifdef WIN32). The changes in main.cpp weren't necessary but I couldn't resist. I also put 'standard' GPL headers on the files which I made significant changes to, just as a matter of 'best practice'.

One other things I noticed:
-- common/gridArray.c and common/themes.c MUST be compiled with C++, NOT with C. I put some hackery in the Makefile to force this, but it would be better to just rename them to have .cpp or .cxx extensions.

The Makefile is real hackwork. I promise I'll do something cleaner and more elegant next time (no promises when 'next time' will be though)