Giter Site home page Giter Site logo

ptitseb / stuntcarremake Goto Github PK

View Code? Open in Web Editor NEW
66.0 12.0 9.0 8.65 MB

A port of Stunt Car Remake to OpenPandora, Linux and Emscripten. Status: Working

Home Page: http://ptitseb.github.io/stuntcarremake/

License: Other

C++ 77.30% C 8.55% Assembly 13.94% Makefile 0.13% HTML 0.07%
stunt-car-remake linux openpandora remake game driving amiga atarist gl4es

stuntcarremake's Introduction

stuntcarremake

stuntcarremake Linux build status stuntcarremake Windows build status

This is a port to Linux & OpenPandora of Stunt Car Racer Remake, a windows remake of the old Stunt Car Racer from the AtariST/Amiga time.

To build on Linux, simply use make LINUX=1 For ODroid it will be make ODROID=1 and for PocketCHIP: make CHIP=1 a simple make will build for Pandora. Also, you can also use SDL2 instead of SDL1, by adding SDL=2 to the make command (so SDL2 Linux is make LINUX=1 SDL=2)

You can play Emscripten version, built using gl4es here: Web version

Some code (the OpenAL part) come from Forsaken/ProjectX port by chino.

Controls are: On Linux / Windows 4 Arrows for Turning / Accelerate / Brake Space for Boost

On Pandora DPad Left/Right for turning (X) Accelerate (B) Brake (R) Boost

Play on Youtube

Here is a video on StuntCarRemake running on the OpenPandora

Original project is here: http://sourceforge.net/projects/stuntcarremake/

stuntcarremake's People

Contributors

fluffyfreak avatar ptitseb avatar vanfanel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stuntcarremake's Issues

Can I use your atlas.png file?

Hi! Bonjour!
Sorry to open a ticket, but I'm not sure how else to contact you.
I'd like to ask the permission to use your atlas.png file.
I'm building an "animated" SimHub Overlay as a fun tribute to this great game.
I don't plan to sell it but I'd like to freely share it to the SimHub community.
I'll mention your work of course.
Please. Let me know if it's ok with you.
Have a nice day!

Hard mode?

Hi,

thank you for this - loved to play this game on Amiga.

FWIW, when you won the original game, you got access to a hard mode - the main differences where (1) everything got a light blue color scheme, (2) your car was much faster and (3) difficulty got insane.

Dunno how hard it would be to add that. I can only say that it was very cool to play that.

Oh, and could there be a "race won" message when you win a race? The first times I won a race I thought the game crashed because the game just stopped for no apparent reason.

Thanks, Michael.

Trying to build a simple GN/Linux+SDL2 version

Hi @ptitSeb

I am trying to build a simple GNU/Linux+SDL2 version of Stunt Car Remake usging the code in this repo.

For this, I added these to the Makefile (else it tried to build against SDL1....):


FLAGS+= -Dlinux -DUSE_SDL2
LDFLAGS= -s FULL_ES2=1 -s USE_SDL_TTF=2 -s USE_SDL=2

However I still get:

/usr/bin/ld: StuntCarRacer.o: in function `CreateFonts()':
/home/manuel/src/stuntcarremake/StuntCarRacer.cpp:605: undefined reference to `TTF_WasInit'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:605: undefined reference to `TTF_Init'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:606: undefined reference to `SDL_GetError'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:612: undefined reference to `TTF_OpenFont'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:616: undefined reference to `TTF_OpenFont'
/usr/bin/ld: StuntCarRacer.o: in function `process_events()':
/home/manuel/src/stuntcarremake/StuntCarRacer.cpp:1803: undefined reference to `SDL_PollEvent'
/usr/bin/ld: StuntCarRacer.o: in function `main':
/home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2026: undefined reference to `SDL_Init'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2037: undefined reference to `SDL_Quit'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2039: undefined reference to `TTF_Init'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2067: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2068: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2069: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2070: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2071: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2148: undefined reference to `SDL_CreateWindow'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2160: undefined reference to `SDL_GL_CreateContext'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2165: undefined reference to `SDL_GetWindowSize'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2166: undefined reference to `SDL_SetWindowTitle'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2175: undefined reference to `SDL_CreateRGBSurfaceWithFormatFrom'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2181: undefined reference to `SDL_SetWindowIcon'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2182: undefined reference to `SDL_FreeSurface'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2285: undefined reference to `SDL_GL_SwapWindow'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2293: undefined reference to `SDL_Delay'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2301: undefined reference to `TTF_Quit'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2302: undefined reference to `SDL_Quit'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2027: undefined reference to `SDL_GetError'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2067: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2068: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2069: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2070: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2071: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: StuntCarRacer.o:/home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2089: more undefined references to `SDL_GL_SetAttribute' follow
/usr/bin/ld: StuntCarRacer.o: in function `main':
/home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2157: undefined reference to `SDL_GetError'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2162: undefined reference to `SDL_GetError'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2229: undefined reference to `SDL_ShowCursor'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2152: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2153: undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: /home/manuel/src/stuntcarremake/StuntCarRacer.cpp:2154: undefined reference to `SDL_CreateWindow'
/usr/bin/ld: sound_openal.o: in function `sound_load(void*, int, int, int, int, int)':
/home/manuel/src/stuntcarremake/sound_openal.cpp:414: undefined reference to `SDL_FreeWAV'
/usr/bin/ld: dx_linux.o: in function `CDXUTTextHelper::CDXUTTextHelper(_TTF_Font*, unsigned int, int)':
/home/manuel/src/stuntcarremake/dx_linux.cpp:831: undefined reference to `TTF_FontHeight'
/usr/bin/ld: /home/manuel/src/stuntcarremake/dx_linux.cpp:851: undefined reference to `SDL_FreeSurface'
/usr/bin/ld: /home/manuel/src/stuntcarremake/dx_linux.cpp:847: undefined reference to `TTF_RenderText_Blended'
/usr/bin/ld: dx_linux.o: in function `DXUTGetTime()':
/home/manuel/src/stuntcarremake/dx_linux.cpp:945: undefined reference to `SDL_GetTicks'
collect2: error: ld returned 1 exit status
make: *** [Makefile:167: stuntcarracer] Error 1


I am missing some small piece here, but... what?

Thanks!

Seeing error when using latest emscripten

I ran into problems attempting to run stuntcarremake after building it

Using gl4es master from 23 May 2020 - I saw the changes merged on 23 April 2020 (https://github.com/ptitSeb/gl4es/pull/162/files)

And against
Emscripten v1.39.16: 15 May 2020

I built gl4es using the emscripten target
And then built this project after setting:
EMSCRIPTEN=1 in the makefile

I get the generated files in /docs

However when I attempt to execute in browsers chrome/firefox/safari I get the same error.
After the console lines:
LIBGL: Using GLES 2.0 backend
LIBGL: Hardware test disabled, nothing activated..
I see:
exception thrown: TypeError: Cannot read property 'getParameter' of undefined,TypeError: Cannot read property 'getParameter' of undefined
at emscriptenWebGLGet
at _emscripten_glGetIntegerv

Also went back and tried a slightly older version of emscripten, but again same error.
Emscripten v1.39.10: 09 March 2020

I was wondering if you could confirm if you see the same issue?

Odroid Go Advance problem

i'm guessing it's since i'm on the oga but i've managed to force scr to compile on retrolroller(an arch based oga distro) and i just get a black screen with a mouse cursor(if i use -f it's not there)

here's the cli output but it doesn't look useful

odroid@goadvance:stuntcarremake$ ./stuntcarracer -n -f
librga:RGA_GET_VERSION:4.00,4.000000
ctx=0x55af883230,ctx->rgaFd=3
Rga built version:version:+2017-09-28 10:12:42
StuntCarRemake v0.00.02
chdir("/home/odroid/programs/stuntcarremake")
rk-debug mali-ver=rsx-p0-1.2
listener gain: 0.500000
listener position: 0.000000 0.000000 0.000000
openal: info start
EAX2.0 support = false
default playback: OpenAL Soft
default capture: ALSA Default
playback: OpenAL Soft
capture: ALSA Default
capture: rockchip,rk817-codec, (CARD=rockchiprk817co,DEV=0)
Default device: OpenAL Soft
Default capture device: ALSA Default
ALC version: 1.1
ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_device_clock ALC_SOFT_HRTF ALC_SOFT_loopback ALC_SOFT_output_limiter ALC_SOFT_pause_device
OpenAL vendor string: OpenAL Community
OpenAL renderer string: OpenAL Soft
OpenAL version string: 1.1 ALSOFT 1.20.1
OpenAL extensions: AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_bformat_ex AL_SOFT_block_alignment AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_direct_channels_remix AL_SOFTX_effect_chain AL_SOFTX_events AL_SOFTX_filter_gain_ex AL_SOFT_gain_clamp_ex AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFT_source_resampler AL_SOFT_source_spatialize
openal: info end
Font created (0x55af9b5580 / 0x55af9c9450)
Texture loaded
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8
sound_buffer: format = mono8

Linux: Can't accelerate + boost + steer left at the same time

Just downloaded and built this - thanks a lot for the port. On Debian Testing, if I accelerate (CRSR up), add boost (SPACE) and then try to steer left (CRSR left) at the same time, the car keeps going straight forward. Acc., boost and turning right works as expected though.

Engine sound broken on Raspberry Pi (aarch64)

Hi @ptitSeb

Since I recenly enabled full OpenGL support in the KMSDRM backend in SDL2, I have specifically wanted to have this wonder playing on my Pi4 in aarch64 mode.

Game builds, but audio seems broken: all I can hear is some static noise.
The exact same code builds and sounds fine on X86_64 using the same backends, which puzzles me. Tried to pass GCC the -fsigned-char and -funsigned-char because the only difference between C code when built for x86_64 or aarch64 is char signedness, but it didn't fix it.

I see that the game seems to use 8bit audio, according to this message:

sound_buffer: format = mono8

Do you think that could be related? No way to use a "more standard" audio format?

Thanks!

In game control instructions are incorrect

Stunt Car Racer was and is one of my fave games on the C64 and Amiga so I'm happy to see a faithful open source recreation of it.

I have tried Stunt_Car_Remake-d3cc0c2-x86_64.AppImage under Debian and I noticed that the in-game, on screen instructions for the controls are wrong. It says that you should use S and D to steer left and right and ENTER to accelerate when in fact you have to use the arrow keys.

I'd love to see this get ported to the open source Uzebox games console although I expect it would have to be reduced to one of its 4 colour vector video modes with no filled polygons.

https://uzebox.org/forums/viewtopic.php?t=11348

implement draw distance?

Hey!

I was posting issue in gl4es :D. I do that because i want install and share instrucion with others how to play this game on pocketCHIP

It works now but when "menu" works fine with like 10-20fps, game itself run too slow. Idk. how you draw track model but maybe its possible to implement draw distance? maybe this could increase it

i test it with:

LD_LIBRARY_PATH=~/gl4es/lib LIBGL_FB=3 ./stuntcarracer
LD_LIBRARY_PATH=~/gl4es/lib ./stuntcarracer

and both option with -n

and i don't want to be offence because different machine spec etc. but emulating oryginal game via v64 works faster.

Adding new (already existing) tracks?

In 2004, a hacked version of the original Amiga game was released, containing 8 new tracks:

http://hol.abime.net/2345

The original author of the Remake (i.e. Dan V) hasn't replied to my mail. Would you be willing to add these new tracks to your version?

I could probably find somebody who extracts the track data of the new tracks from the Amiga game. I don't know if the remake is using the track data as is, or if it needs to be converted to a more suitable format first?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.