Closed GoogleCodeExporter closed 8 years ago
[deleted comment]
Hi, I have no experience at all in building anything on Linux. Sadly, I got
stuck to Windows, lately I've installed Ubuntu to start knowing it, but I spend
all my time to develop new stuff.
But, VDrift builds under Linux and so does OGRE, this could be possible. It's a
challenge though, even building under Windows probably is. There is a section
about compiling it (under Windows) in my README, basically every library (dll)
has to be compiled before the game.
I would be very happy if someone did succeed in building it under Linux so
other people could play it too.
Original comment by Cry...@gmail.com
on 7 Aug 2010 at 7:58
Although the latest version works rather nicely on Linux with the latest
version of Wine, native build would always be the best.
Seems the only building method provided with Stunt Rally is plain Visual Studio
project file, so the first thing to do would be to add a real build system. I
might actually take a crack at it with CMake, which I consider the best option
(it works on Windows too and is able to generate those VC projects).
Original comment by tapiovie...@gmail.com
on 2 Mar 2011 at 1:18
So I've been tinkering with the sources... I have initialized a CMake build
system, but it is not yet ready for prime-time. However, I have been able to
find/debug/fix compilation errors / portability issues with it. I attached a
file describing the errors I encountered (I hope I remembered to add them all,
I started to take notes a bit too late and since this is not under version
control, changes are harder to track :/ ).
I didn't create a patch, because some problems I "fixed" by commenting stuff
out, but the majority of them are rather trivial corrections. There are a
couple that require a bit more work, but I think none are particularly hard.
I'm now at a stage where the game compiles, but I still need to sort out some
library linking errors. After I get there, I might be able to look into
correcting those few larger portability issues that are preventing full
functionality.
Some general portability notes:
* Use forward slashes and correct casing in paths (Unix/Linux is case-sensitive
and backslash is used for escaping).
* Don't use WinAPI or anything that starts with a couple of underscores.
* If you must break the above guidelines, use include guards to exclude Windows
stuff from other platforms.
Original comment by tapiovie...@gmail.com
on 16 Mar 2011 at 9:44
Attachments:
Hey,
sorry that I only mailed CryHam and didnt post here, but I was already working
on a linux version too, a few weeks ago. I got the game to a runnable state,
everything kinda works, except car steering because I didnt yet got it working
to replace GetAsyncKeyState with OIS. I did however use Eclipse as build
environment and not CMake (which would of course be better).
I expect to resolve the last issues (input and some minor stuff) this weekend.
It would be nice if you could send me your CMake build system because I have no
experience at all writing CMake files :(
P.S. havn't started with editor yet.
Original comment by scrawl...@gmail.com
on 18 Mar 2011 at 7:40
Screenshot: StuntRally "running" on Linux
Original comment by scrawl...@gmail.com
on 18 Mar 2011 at 7:44
Oh, another thing I forgot, I commited all the code I changed to this bazaar
repository: https://code.launchpad.net/~scrawl/+junk/StuntRally
There are still many stubs in it, and I'm not sure if it would even still build
on windows. But it has to be merged later anyway so it can be fixed then.
Original comment by scrawl...@gmail.com
on 18 Mar 2011 at 7:52
Hi and welcome, nice to see Linux programmers and thanks for help.
I also think that CMake would be best, so if you're familiar with it, go for
it. Perhaps it's also good to leave the vc proj and eclipse so users not
familiar to CMake but having those could get it easier.
I've commited my last version to hg repo, it has most Linux issues merged. It
also uses now OIS for car input, hope it works under Linux too.
Anyway let's keep our modifications local and commit only official code that
would compile the game on windows.
Original comment by Cry...@gmail.com
on 19 Mar 2011 at 12:46
I'm now adding my changes step my step to your repo. I'll be careful so it will
still build on windows.
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 1:58
I've now committed initial CMake build system version. It still needs some
tweaks to make it work everywhere and also editor is not yet supported.
Original comment by tapiovie...@gmail.com
on 19 Mar 2011 at 3:33
First version that compiles (at least for me) is now in repo. Doesn't run yet.
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 3:49
Also compiles for me but doesn't run. It would be useful to know if this still
works on Windows. Also, feel free to test the CMake system and report errors. I
added a guide to the project wiki, but I see scrawl123 did too, simultaneously.
They should be merged together and I think one page should be used for all
platforms, since otherwise there would a lot of duplicate information.
Original comment by tapiovie...@gmail.com
on 19 Mar 2011 at 4:18
After copying the data files, game still doesnt run. It immediately exits, but
without an error or segmentation fault. Here is output:
INFO: Starting VDrift-Ogre: 2010-05-01, O/S: Unix-like
INFO: Home directory: /home/scrawl
INFO: Settings file: _game.cfg
INFO: Data directory: data
DATA_DIR: data
INFO: Log file: _log.txt
INFO: 0 joysticks found.
INFO: Loading car controls from: _controls.cfg
INFO: Sound initialization information:
INFO: Obtained audio device:
Frequency: 44100
Format: 32784
Bits per sample: 16
Channels: 2
Silence: 0
Samples: 940
Size: 3760
Sound initialization successful
INFO: Exiting
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 4:29
The problem has to be in BaseApp::configure. I can tell more when eclipse build
is ready and I can debug it.
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 4:33
[deleted comment]
Yeah found it scrawl: you have put the Run() in the multi threaded if block
(move it after).
The if was only for CreateThread.
if (settings.mult_thr > 0) ///
{
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
hpr = CreateThread(NULL,0,VprThread,(LPVOID)pApp,0,NULL);
pApp->Run( settings.ogre_dialog || lpCmdLine[0]!=0 ); //Release change-
#else
pApp->Run( settings.ogre_dialog);
#endif
}
Original comment by Cry...@gmail.com
on 19 Mar 2011 at 4:53
game starts now, error was in main.cpp (see commit log)
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 5:08
Yep I already found it. Next problem: When starting a game there is only trees
and sky, nothing else.
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 5:14
The issue seems to be that my QTimer implementation doesnt work. I'll look into
it.
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 5:33
Fixed QTimer implementation. Game works now :)
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 8:43
As far as I can tell everything works. tapiovierros, maybe you can test if it
works on your linux machine too with the latest code?
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 9:02
Depth Shadows are not working. When I set shadows to depth shadows and click
apply, the program freezes. When I go to the system monitor, I can see the game
slowly starts using more and more memory. But nothing happens.
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 9:16
Happens with WINE too, so not sure if its a problem with linux or with the gpu
or the gpu driver or anything else.
Original comment by scrawl...@gmail.com
on 19 Mar 2011 at 9:17
Whoa, Depth Shadows were only for test.
but they didn't work and they are more demanding than our Normal color shadows
(no depth written unluckily that's why they look bad).
Original comment by Cry...@gmail.com
on 19 Mar 2011 at 9:43
For me it runs, but I only get a light blue background with an fps counter -
nothing else. It might be related to MyGUI as I get gazillion runtime
deprecated warnings, e.g. "StaticText factory is deprecated, use TextBox
[Options.layout]". What version of MyGUI are you using? Also, I'm on Ubuntu
10.10 64bit.
Btw, do you guys use IRC? I'd say a real time conversation and coordination
would be much nicer. Usually open-source projects have channels in the
freenode-network, so I'd say that would be the place to create #stuntrally, but
do tell me if there already is a channel (or if you can't be bothered with
that).
Original comment by tapiovie...@gmail.com
on 19 Mar 2011 at 11:54
At start this backgroud appears and GUI should be visible. I'm using MyGUI
v3.0.1, the newest.
You can try with setting autostartgame = on in [ misc ] group in _game.cfg file.
This should skip GUI and load the track at start.
We don't have IRC, but it looks useful now. So you can create a channel there.
Just email us how to get there, I have no experience with IRC so far.
Original comment by Cry...@gmail.com
on 20 Mar 2011 at 6:55
With autostartgame, I get an assert:
/home/tapio/src/ogre/OgreMain/src/OgreRenderQueueSortingGrouping.cpp:386: void
Ogre::QueuedRenderableCollection::addRenderable(Ogre::Pass*,
Ogre::Renderable*): Assertion `retPair.second && "Error inserting new pass
entry into PassGroupRenderableMap"' failed.
I'll investigate more later.
#stuntrally @ freenode is up. You can join it with a web browser through
webchat:
http://webchat.freenode.net/?channels=#stuntrally
Best would be of course if you had access to a shell server and could connect
there with Irssi inside a Screen, which would mean the messages would wait
there even if the user himself is offline.
Original comment by tapiovie...@gmail.com
on 20 Mar 2011 at 9:28
Googled your error, here are some links:
http://www.ogre3d.org/forums/viewtopic.php?t=26469
http://www.ogre3d.org/forums/viewtopic.php?t=21068&highlight=retpair+second
http://redmine.rigsofrods.org/issues/16
It is also said in some thread that it should be safe to disable the assert.
Original comment by scrawl...@gmail.com
on 20 Mar 2011 at 10:47
Zaandvoort track doesnt work. When I select it and click new game, there is
just the car in the middle of nowhere. The track doesnt render. Can't drive the
car (but camera can move)
Original comment by scrawl...@gmail.com
on 20 Mar 2011 at 11:24
[deleted comment]
[deleted comment]
Just realised, I have it also with Zandvoort. Ok I've fixed it, it's in repo.
Original comment by Cry...@gmail.com
on 20 Mar 2011 at 12:30
Ok, next issue: While in a game, this message is spit out multiple times every
frame:
Error prior to using GLSL Program Object : invalid value
Which makes the game run a lot slower (output is always slow).
Google lead me to this thread:
http://www.ogre3d.org/forums/viewtopic.php?f=5&t=63604
It seems you shouldnt have shininess parameter greater than 128 in the material
scripts.
Original comment by scrawl...@gmail.com
on 20 Mar 2011 at 12:57
only happens on terrain tracks, not on zandvoort.
Original comment by scrawl...@gmail.com
on 20 Mar 2011 at 1:06
Hmm, didn't know we had one. Only glass in car.material has 128 but this is a
parameter, and it's not fixed function.
Must be something with terrain textures, maybe they have alpha so it get such
high shininess value, maybe other tracks don't have this problem, so we could
locate textures ? But this is in debug only ?
Original comment by Cry...@gmail.com
on 20 Mar 2011 at 1:22
For the record (if there is someone outsider watching this), the issue
(building on linux) is practically solved - the game runs with hardly any
issues and the editor is almost ported too (compiles and runs, but without
input). I'll leave this open until everything is polished, though.
Original comment by tapiovie...@gmail.com
on 21 Mar 2011 at 11:03
Building on Linux has been possible for some time now, so closing.
Original comment by tapiovie...@gmail.com
on 25 Mar 2011 at 9:25
Original issue reported on code.google.com by
masirm...@gmail.com
on 7 Aug 2010 at 11:34