Closed qubodup closed 9 years ago
hello ivan
Hi, the windows compile instructions are delicious. :)
;)
i guess it would be possible to compile natively on windows too (using gnustep and clang) but i'm sure it wouldn't be easy.
Thanks for providing Linux instructions.
On Arch Linux 64bit, I installed, partially from user repositories:
clang 3.6.0-4 gnustep-base-clang-svn 38451-1 gnustep-corebase-clang-svn 38451-1 gnustep-gui-clang-svn 38451-1 gnustep-libobjc2-clang-svn 38451-1 gnustep-make-clang-svn 38451-1 libdispatch-clang-git 305.0db82d9-1 freetype2 2.5.5-1 lib32-freetype2 2.5.5-1 lib32-openal 1.16.0-1 lib32-sdl 1.2.15-6 openal 1.16.0-1 python2-opengl 3.1.0-1 sdl 1.2.15-7 sdl2 2.0.3-1 sdl2_gfx 1:1.0.1-1 sdl2_image 2.0.0-2 sdl2_mixer 2.0.0-3 sdl2_ttf 2.0.12-2 sdl_gfx 2.0.25-1 sdl_image 1.2.12-3 sdl_mixer 1.2.12-4 sdl_net 1.2.8-2 sdl_sound 1.0.3-5 sdl_ttf 2.0.11-3
Arch Linux packages don't differ between normal and dev package.
However it fails to compile:
hm i didn't compile corebreach for 3 years and don't have any linux systems around so i'm not sure if i can provide much help at this point
$ GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles make http://codepad.org/ujIw0EhT
it looks like the precompiled header file for some reason is included twice. i have no clue why this happens but added a simple guard around the header to prevent problems from multiple inclusion. give it a go (updated code in github) ;)
bye, julian
Thanks! There remain some errors though: http://codepad.org/mNZ5qG9I
Am 13.04.2015 um 04:22 schrieb Iwan Gabovitch notifications@github.com:
Thanks! There remain some errors though: http://codepad.org/mNZ5qG9I
hello iwan
it seems to compile which is good news.
there are some problems when linking though.
i see two different problems:
• libffplaylib.so: undefined reference to * : the prebuilt libffplaylib.so located in DEPENDENCIES/libs-linux64//libffplaylib.so doesn't seem to work in your distribution. i'd suggest rebuilding it from source (h ttps://github.com/core-code/ffplaylib )
• /usr/lib/libgnustep-base.so: undefined reference to *: there seems to be some problems with linking to the gnustep packages you've installed it seems it can't find libicu. i'd suggest adding "-licuuc" to the ADDITIONAL_OBJC_LIBS line in CoreBreach/GNUmakefile and try again. if this doesn't work maybe the gnustep developers can help with this problem
bye, julian
Thanks!
The second part was my oversight again. I updated icu 5 days ago, and all I had to do was recompile gnustep-base-clang-svn and gnustep-gui-clang-svn
This is what remains, nice and clean: http://codepad.org/u2vJHqZF
Looks like compiling ffplaylib might be very hard https://github.com/core-code/ffplaylib/issues/1
Am 14.04.2015 um 04:35 schrieb Iwan Gabovitch notifications@github.com:
Thanks!
The second part was my oversight again. I updated icu 5 days ago, and all I had to do was recompile gnustep-base-clang-svn and gnustep-gui-clang-svn
This is what remains, nice and clean: http://codepad.org/u2vJHqZF
cool ;)
Looks like compiling ffplaylib might be very hard core-code/ffplaylib#1
i guess you can skip compiling ffplay if you just install the 0.8 release of ffmpeg and link against it
Thank you for offering to help at https://github.com/core-code/ffplaylib/issues/1#issuecomment-92993200 too!
Arch Linux doesn't provide old binary packages and it looks like back in ffmpeg 0.8 days they used a different version number system. I tried building one older version which failed for finding the right ffmpeg release source package and I doubt it would compile, so I'd rather try removing ffplay functionality, since it seems that it might be realistic to do.
I seem to have been able to remove FFPlay (diff: http://codepad.org/XHySgH6V ) Compilation finishes now. CB doesn't start:
$ CoreBreach.app/CoreBreach 2015-04-14 20:05:57.101 CoreBreach[3929:3929] Info: properOpenGL 1 gpuVendor 3 gpuSuckynessClass 0 (GL_VERSION: 3.0 Mesa 10.5.2 GL_RENDERER: Gallium 0.4 on AMD CAPE VERDE GL_VENDOR: X.Org) 2015-04-14 20:05:57.112 CoreBreach[3929:3929] Did not find correct version of backend (libgnustep-back-024.bundle), falling back to std (libgnustep-back.bundle). 2015-04-14 20:05:57.113 CoreBreach[3929:3929] NSApplication.m:304 Assertion failed in BOOL initialize_gnustep_backend(). Unable to find backend back CoreBreach.app/CoreBreach: Uncaught exception NSInternalInconsistencyException, reason: NSApplication.m:304 Assertion failed in BOOL initialize_gnustep_backend(). Unable to find backend back
So I recompile all the gnustep packages.
Then I noticed "gnustep-back" in the error message and installed the package.
Now the Start window appears! http://i.imgur.com/w3iYXiu.jpg
When I start the game, the loading screen appears. http://i.imgur.com/lKvy3lZ.jpg When I start it, after about 5 seconds I hear a voice. If I press enter, I hear something that might be an engine standby noise. Pressing ESC releases my mouse.
Probably the code changes made CB go into video mode and never return or the open source AMD graphics driver might be failing.
I changed the condition which causes goto done;
to be always true (1) and now I get the win screen after a few seconds of the game loading. http://i.imgur.com/Pc7qH5W.jpg
Perhaps I was wrong assuming ffplay is used for video file playback only and instead it handles the 3D display as well.
Thank you for offering to help at core-code/ffplaylib#1 (comment) too!
Arch Linux doesn't provide old binary packages and it looks like back in ffmpeg 0.8 days they used a different version number system. I tried building one older version which failed for finding the right ffmpeg release source package and I doubt it would compile,
actually i found ffmpeg normally compiles without many problems at all... but YMMV
so I'd rather try removing ffplay functionality, since it seems that it might be realistic to do.
I seem to have been able to remove FFPlay (diff: http://codepad.org/XHySgH6V ) Compilation finishes now. CB doesn't start:
$ CoreBreach.app/CoreBreach 2015-04-14 20:05:57.101 CoreBreach[3929:3929] Info: properOpenGL 1 gpuVendor 3 gpuSuckynessClass 0 (GL_VERSION: 3.0 Mesa 10.5.2 GL_RENDERER: Gallium 0.4 on AMD CAPE VERDE GL_VENDOR: X.Org) 2015-04-14 20:05:57.112 CoreBreach[3929:3929] Did not find correct version of backend (libgnustep-back-024.bundle), falling back to std (libgnustep-back.bundle). 2015-04-14 20:05:57.113 CoreBreach[3929:3929] NSApplication.m:304 Assertion failed in BOOL initialize_gnustep_backend(). Unable to find backend back CoreBreach.app/CoreBreach: Uncaught exception NSInternalInconsistencyException, reason: NSApplication.m:304 Assertion failed in BOOL initialize_gnustep_backend(). Unable to find backend back
So I recompile all the gnustep packages.
Then I noticed "gnustep-back" in the error message and installed the package.
Now the Start window appears! http://i.imgur.com/w3iYXiu.jpg
great ;) note that the shipped binary version (you can download the demo) uses some skins to make it less ugly
When I start the game, the loading screen appears. http://i.imgur.com/lKvy3lZ.jpg When I start it, after about 5 seconds I hear a voice. If I press enter, I hear something that might be an engine standby noise. Pressing ESC releases my mouse.
Probably the code changes made CB go into video mode and never return or the open source AMD graphics driver might be failing.
i believe seeing nothing is because some change to SDLRenderViewController is wrong. changing if (!isPlayingVideo()) to if (0) turns rendering off completely
I changed the condition which causes goto done; to be always true (1) and now I get the win screen after a few seconds of the game loading. http://i.imgur.com/Pc7qH5W.jpg
Perhaps I was wrong assuming ffplay is used for video file playback only and instead it handles the 3D display as well.
no, it just plays the videos. its inter-winded quite ugly with the rendering code though because SDL and ffmpeg APIs aren't so nice
actually i've already coded support for running without ffplay into SDLRenderViewController because ffplay doesn't work on the mac. sorry i didn't remember it earlier
so, i suggest resetting SDLRenderViewController to the GIT version and just changing
to
this activates the stub functions at the bottom of the file so you don't need to link against actual ffplay. this should work since it has been tested on the mac a few years back
Now the Start window appears! http://i.imgur.com/w3iYXiu.jpg
weird that the pictures are missing ...
Thanks! I copied ffplaylib.h to OtherSources/ and made your suggested change.
It crashes though and I can't seem to be able to reproduce it consistently.
Usually it stars at what seems to be the end of the intro sequence: http://youtu.be/JyQKRxkdecM
But attempt in which I used gdb came as far as me driving for about 4 seconds: http://i.imgur.com/RK5iw3N.jpg
gdb bt:
Program received signal SIGSEGV, Segmentation fault. 0x00000000004d2fb6 in -[Racetrack lightAtPoint:] () (gdb) bt #0 0x00000000004d2fb6 in -[Racetrack lightAtPoint:] () #1 0x00000000004c9f30 in -[Playership updateNode] () #2 0x00000000004702f5 in -[SceneNode update] () #3 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24 #4 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24 #5 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24 #6 0x000000000046f5a9 in -[Scene update:] () #7 0x000000000047d855 in -[RenderViewController mainLoop] () #8 0x00007ffff6e2b4be in ?? () from /usr/lib/libgnustep-base.so.1.24 #9 0x00007ffff6e58562 in ?? () from /usr/lib/libgnustep-base.so.1.24 #10 0x00007ffff6e2d8cc in ?? () from /usr/lib/libgnustep-base.so.1.24 #11 0x00007ffff6e2e696 in ?? () from /usr/lib/libgnustep-base.so.1.24 #12 0x00007ffff790f081 in ?? () from /usr/lib/libgnustep-gui.so.0.24 #13 0x00007fffe61274f8 in ?? () from /usr/lib/GNUstep/Bundles/libgnustep-back-024.bundle/./libgnustep-back-024 #14 0x00007ffff777fa57 in ?? () from /usr/lib/libgnustep-gui.so.0.24 #15 0x00007ffff777e4cf in ?? () from /usr/lib/libgnustep-gui.so.0.24 #16 0x00007ffff77612ef in NSApplicationMain () from /usr/lib/libgnustep-gui.so.0.24 #17 0x00007ffff4dbf800 in __libc_start_main () from /usr/lib/libc.so.6 #18 0x000000000045c399 in _start ()
I tested a few more times and it seems like without gdb it always crashes at the end of the sequence or if I press enter or LMB. With gdb, it lasts a few seconds after the countdown: http://youtu.be/sxyNuxiLkYY
Am 15.04.2015 um 09:35 schrieb Iwan Gabovitch notifications@github.com:
Thanks! I copied ffplaylib.h to OtherSources/ and made your suggested change.
It crashes though and I can't seem to be able to reproduce it consistently.
Usually it stars at what seems to be the end of the intro sequence: http://youtu.be/JyQKRxkdecM
But attempt in which I used gdb came as far as me driving for about 4 seconds: http://i.imgur.com/RK5iw3N.jpg
gdb bt:
Program received signal SIGSEGV, Segmentation fault. 0x00000000004d2fb6 in -[Racetrack lightAtPoint:]() (gdb) bt
0 0x00000000004d2fb6 in -[Racetrack lightAtPoint:]()
1 0x00000000004c9f30 in -[Playership updateNode]()
2 0x00000000004702f5 in -[SceneNode update]()
3 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24
4 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24
5 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24
6 0x000000000046f5a9 in -[Scene update:]()
7 0x000000000047d855 in -[RenderViewController mainLoop]()
8 0x00007ffff6e2b4be in ?? () from /usr/lib/libgnustep-base.so.1.24
9 0x00007ffff6e58562 in ?? () from /usr/lib/libgnustep-base.so.1.24
10 0x00007ffff6e2d8cc in ?? () from /usr/lib/libgnustep-base.so.1.24
11 0x00007ffff6e2e696 in ?? () from /usr/lib/libgnustep-base.so.1.24
12 0x00007ffff790f081 in ?? () from /usr/lib/libgnustep-gui.so.0.24
13 0x00007fffe61274f8 in ?? () from /usr/lib/GNUstep/Bundles/libgnustep-back-024.bundle/./libgnustep-back-024
14 0x00007ffff777fa57 in ?? () from /usr/lib/libgnustep-gui.so.0.24
15 0x00007ffff777e4cf in ?? () from /usr/lib/libgnustep-gui.so.0.24
16 0x00007ffff77612ef in NSApplicationMain () from /usr/lib/libgnustep-gui.so.0.24
17 0x00007ffff4dbf800 in __libc_start_main () from /usr/lib/libc.so.6
18 0x000000000045c399 in _start ()
I tested a few more times and it seems like without gdb it always crashes at the end of the sequence or if I press enter or LMB. With gdb, it lasts a few seconds after the countdown: http://youtu.be/sxyNuxiLkYY
— Reply to this email directly or view it on GitHub.
you can just change
inside Track.mm => lightAtPoint to prevent the crash
what worries me more is that you see just the track and the enemies...(its supposed to look like this: )
and also the pictures are missing in the launcher
it seems like its unable to find half of the necessary files...is there any debug warnings or output about this?
Am 15.04.2015 um 09:42 schrieb Julian Mayer julian@corecode.at:
Am 15.04.2015 um 09:35 schrieb Iwan Gabovitch notifications@github.com:
Thanks! I copied ffplaylib.h to OtherSources/ and made your suggested change.
It crashes though and I can't seem to be able to reproduce it consistently.
Usually it stars at what seems to be the end of the intro sequence: http://youtu.be/JyQKRxkdecM
But attempt in which I used gdb came as far as me driving for about 4 seconds: http://i.imgur.com/RK5iw3N.jpg
gdb bt:
Program received signal SIGSEGV, Segmentation fault. 0x00000000004d2fb6 in -[Racetrack lightAtPoint:]() (gdb) bt
0 0x00000000004d2fb6 in -[Racetrack lightAtPoint:]()
1 0x00000000004c9f30 in -[Playership updateNode]()
2 0x00000000004702f5 in -[SceneNode update]()
3 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24
4 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24
5 0x00007ffff6ceacef in ?? () from /usr/lib/libgnustep-base.so.1.24
6 0x000000000046f5a9 in -[Scene update:]()
7 0x000000000047d855 in -[RenderViewController mainLoop]()
8 0x00007ffff6e2b4be in ?? () from /usr/lib/libgnustep-base.so.1.24
9 0x00007ffff6e58562 in ?? () from /usr/lib/libgnustep-base.so.1.24
10 0x00007ffff6e2d8cc in ?? () from /usr/lib/libgnustep-base.so.1.24
11 0x00007ffff6e2e696 in ?? () from /usr/lib/libgnustep-base.so.1.24
12 0x00007ffff790f081 in ?? () from /usr/lib/libgnustep-gui.so.0.24
13 0x00007fffe61274f8 in ?? () from /usr/lib/GNUstep/Bundles/libgnustep-back-024.bundle/./libgnustep-back-024
14 0x00007ffff777fa57 in ?? () from /usr/lib/libgnustep-gui.so.0.24
15 0x00007ffff777e4cf in ?? () from /usr/lib/libgnustep-gui.so.0.24
16 0x00007ffff77612ef in NSApplicationMain () from /usr/lib/libgnustep-gui.so.0.24
17 0x00007ffff4dbf800 in __libc_start_main () from /usr/lib/libc.so.6
18 0x000000000045c399 in _start ()
I tested a few more times and it seems like without gdb it always crashes at the end of the sequence or if I press enter or LMB. With gdb, it lasts a few seconds after the countdown: http://youtu.be/sxyNuxiLkYY
— Reply to this email directly or view it on GitHub.
you can just change
ifdef TARGET_OS_IPHONE
inside Track.mm => lightAtPoint to prevent the crash
what worries me more is that you see just the track and the enemies...(its supposed to look like this<Bildschirmfoto 2015-04-15 um 09.41.38.png>: )
and also the pictures are missing in the launcher
it seems like its unable to find half of the necessary files...is there any debug warnings or output about this?
ok it seems this is because of:
// opensource build doesn't use the full datatset
license.txt explains it all...
Nice, I was able to do a full race with this change:
--- a/OtherSources/SDLRenderViewController.mm +++ b/OtherSources/SDLRenderViewController.mm @@ -527,7 +527,7 @@ RenderViewController *rvc = nil; -#ifdef __APPLE__ +#if 1 int playing = 0; char startVideo(const char *filename, SDL_Surface *surface)
Run: http://youtu.be/APepO7HRrqU
I switched #define NODATA 1
to 0
and it still runs (not sure if there's a difference): https://youtu.be/JkX6ParcsY0
Thanks a lot!
Arch Linux 64bit build summary:
GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles make
Nice, I was able to do a full race with this change:
--- a/OtherSources/SDLRenderViewController.mm +++ b/OtherSources/SDLRenderViewController.mm @@ -527,7 +527,7 @@ RenderViewController *rvc = nil;
-#ifdef APPLE +#if 1 int playing = 0;
char startVideo(const char filename, SDL_Surface surface)
cool seems you are too good for the game
one thing is still weird, after the race you should come to the "race finished" screen where you see your position in the online highscores etc. i didn't see this in the video
I switched #define NODATA 1 to 0 and it still runs (not sure if there's a difference): https://youtu.be/JkX6ParcsY0
so, i'd recommend to erasing the #define NODATA line completely
Thanks a lot!
Arch Linux 64bit build summary:
- Copy ffplaylib.h to OtherSources/ffplaylib.h.
- Make a few changes in CoreBreach (git diff)
- Install some clang-related packages from AUR.
- Compile with GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles make
glad it works more or less ;)
Thanks a lot for the help :) I'll write a blogpost with CoreBreach in it on freegamer.blogspot.com soon Looks like it won't run without NODATA. FYI: The end screen does appear: http://i.imgur.com/7ZTpcec.jpg (I usually record using GLC, which only captures OpenGL, so it doesn't record the GUI part)
Thanks a lot for the help :) I'll write a blogpost with CoreBreach in it on freegamer.blogspot.com soon
of course the blog post would look much cooler if we could get it to run in full mode, i.e. without NODATA
Looks like it won't run without NODATA.
what exactly happens if you delete the NODATA define?
FYI: The end screen does appear: http://i.imgur.com/7ZTpcec.jpg
ah cool ;)
does slackware have the gnustep-gnome theme? this would make it look much better
I'm on Arch Linux, not Slackware. :) I installed windowmaker-0.95.6-1 windowmaker-extra-0.1-5 but couldn't figure out how to change the theme in the command line.
That particular blog is for open source games, so the assets included in git are actually more interesting.
Without NODATA, the menu appears but the game won't run: http://codepad.org/W5JmmS3L
I'm on Arch Linux, not Slackware. :)
ugh sorry. being a mac user i sometimes throw the more esoteric distributions in a pot ;->
I installed windowmaker-0.95.6-1 windowmaker-extra-0.1-5 but couldn't figure out how to change the theme in the command line.
i don't believe there is a connection between windowmaker (the gnustep window manager) and the theme that gnustep uses
https://gnutopics.wordpress.com/2014/06/06/theming-and-style-in-gnustep/
That particular blog is for open source games, so the assets included in git are actually more interesting.
ok great. i'd open source at least the demo assets but those were made externally and are not owned by us.
Without NODATA, the menu appears but the game won't run: http://codepad.org/W5JmmS3L
ah ok its exiting because it isn't finding one of the meshes...since only "track1" is part of the demo dataset i'd try with track 1
Thanks for clarifying. I'm not sure which map to try though, it seems like neither uses track1. The first map produces this:
Calling [NSBitmapImageRep -_convertToFormatBitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:] with incorrect signature. Method has @68@0:8q16q24C32C36@40i48q52q60, selector has @68@0:8q16q24C32C36@40I48q52q60 2015-04-16 23:34:48.216 CoreBreach[11377:11377] File NSData.m: 162. In BOOL readContentsOfFile(NSString *, void **, off_t *, NSZone *) Open ((null)) attempt failed - bad path Error: there is no octree named: track1_1AL
Thanks for clarifying. I'm not sure which map to try though, it seems like neither uses track1. The first map produces this:
Error: there is no octree named: track1_1
yes this is the failure message that the first additional track object for track1 could not be found (track1 is the track itself which you are already seeing, track1_x are the additional objects).
actually it seems the demo dataset includes track3 and not track1
if you download the demo dataset and add the files to your installation you should be able to play track3 with full content
I forgot to mention it earlier and forgot in the meantime: the downloads at http://corebreach.corecode.at/CoreBreach/Try.html are 404
Am 18.04.2015 um 14:01 schrieb Iwan Gabovitch notifications@github.com:
I forgot to mention it earlier and forgot in the meantime: the downloads at http://corebreach.corecode.at/CoreBreach/Try.html are 404
thanks, the linux / windows links should work now
Hi, the windows compile instructions are delicious. :) Thanks for providing Linux instructions.
On Arch Linux 64bit, I installed, partially from user repositories:
Arch Linux packages don't differ between normal and dev package.
However it fails to compile:
http://codepad.org/ujIw0EhT