Git Product home page Git Product logo

rwengine / openrw Goto Github PK

View Code? Open in Web Editor NEW
1.8K 111.0 163.0 4.75 MB

OpenRW "Open ReWrite" is an un-official open source recreation of the classic Grand Theft Auto III game executable

Home Page: http://openrw.org

License: GNU General Public License v3.0

CMake 3.10% C++ 72.24% C 23.52% Python 1.01% Shell 0.13%
c-plus-plus video-game reimplementation linux-game game-engine multi-platform macosx-game gta gta3

openrw's Introduction

OpenRW

IRC libera.chat #openrw

About

OpenRW is a cross-platform, open source re-implementation of Rockstar Games' Grand Theft Auto III, a classic 3D action game first published in 2001. OpenRW has been ported to Linux, macOS, Windows, and several variants of BSD.

A legitimate copy of the original PC game is required to run OpenRW. Without this it will not be possible to play.

Windows Linux macOS coverage
Build status Build Status Build Status codecov

Links

Screenshots

OpenRW: GTA III Opening Cutscene OpenRW: GTA III Driving OpenRW: GTA III City

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Third Party Licenses

FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later

Bullet Physics is licensed under the zlib license

SDL 2.0 is licensed under the zlib license

openrw's People

Contributors

aldoxtor avatar amdmi3 avatar artempopof avatar christoph-heiss avatar danhedron avatar darkf avatar dracc avatar drummyfish avatar dygear avatar florin9doi avatar genuineaster avatar haphzd avatar jayfoxrox avatar jorgenpo avatar kragniz avatar krytarowski avatar lihis avatar ljrk0 avatar madebr avatar mole99 avatar nfsmonstr avatar ozkutuk avatar paulkocialkowski avatar pcercuei avatar perikiyoxd avatar qbit avatar qkolj avatar rcrit avatar svenstucki avatar tsjost 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openrw's Issues

Implement sound system

Sound is quite complicated, a fully-featured sound system should expose mechanisms for multiple audio streams: UI, Dialogue, and game-play.

Might it get away with having a simple API like Play Sound ( Stream, Sound File )

Script Disassembler

To increase the utility of the script debugger, it would be nice if we could display a simple disassembly of the game script surrounding the program counter. This is easy enough in the forward direction, since the instruction size is known, but is difficult to reliably reverse.

To make it possible to show instructions behind the program counter as well as ahead, parsing of the instructions could be done with a Disassembler that accepts the known VM opcode definitions and hard-coded funky business the SCM does, producing an in-order list of all the instruction addresses within the SCM file.

Reorganise GameObject related classes

Clean up GameWorld to be more a container for temporary runtime object state. Make sure the classes are in sensible locations too.

  • Move GameObject into rwengine/objects

The player doesn't respawn when dead

The player doesn't respawn when he dies, and this causes funny effects.

I killed myself with a rocket launcher, and it caused me to die and fall down to the ground. Although I couldn't move anymore, I was still able to jump and shoot guns.
openrw

Add config file to enter game location

At this moment you have to export the OPENRW_GAME_PATH variable to get your game to run. It would be preferable to have a config file (say ~/.config/openrw/config) to specify the location of the game. This would allow .desktop files to run the game, as you don't have to export the variable every time anymore.

Assertion `x >= genType(0)' failed

You can trigger an assertion fail if you start the game and press enter during the cutscene. I got this backtrace:

Starting program: /home/g/Games/openrw/rwgame/rwgame 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff094a700 (LWP 6711)]
I [Game] Game directory: /home/g/Games/GTA3
Max UBO Size: 16384
UBO Alignment: 16
Max batch size: 128
I [Renderer] OpenGL Renderer Version: 3.0 Mesa 10.1.3 (GLSL 1.30) Vendor: Intel Open Source     Technology Center
[New Thread 0x7fffe8dc2700 (LWP 6714)]
[Thread 0x7fffe8dc2700 (LWP 6714) exited]
[New Thread 0x7fffe8dc2700 (LWP 6715)]
[New Thread 0x7fffdffff700 (LWP 6716)]
I [Data] Loaded 42 zones from /home/g/Games/GTA3/data/gta3.zon
I [Game] Started
Failed to open sound file "/home/g/Games/GTA3/audio/City.wav" (System error : No such file or directory.)
I [World] Loaded cutscene: BET
[New Thread 0x7fffd742d700 (LWP 6744)]
[Thread 0x7fffd742d700 (LWP 6744) exited]
libmad error: lost synchronizationlibmad error: lost synchronizaI [World] Loaded cutscene: JB
[New Thread 0x7fffd742d700 (LWP 6748)]
I [World] Creating Vehicle ID 116 (POLICAR)
I [World] Creating Vehicle ID 117 (ENFORCR)
I [World] Creating Vehicle ID 130 (RUMPO)
I [World] Creating Vehicle ID 96 (PATRIOT)
I [World] Creating Vehicle ID 110 (TAXI)
I [World] Creating Vehicle ID 105 (CHEETAH)
I [World] Creating Vehicle ID 92 (STINGER)
I [World] Creating Vehicle ID 105 (CHEETAH)
I [World] Creating Vehicle ID 92 (STINGER)
I [World] Creating Vehicle ID 111 (KURUMA)
I [World] Creating Vehicle ID 110 (TAXI)
I [World] Creating Vehicle ID 111 (KURUMA)
I [World] Creating Vehicle ID 110 (TAXI)
rwgame: /usr/include/glm/detail/func_exponential.inl:149: genType glm::sqrt(const genType&)     [with genType = float]: Assertion `x >= genType(0)' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff59a7cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff59a7cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff59ab0d8 in __GI_abort () at abort.c:89
#2  0x00007ffff59a0b86 in __assert_fail_base (fmt=0x7ffff5af1830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x69cb75 "x >= genType(0)", file=file@entry=0x69cb48 "/usr/include/glm/detail/func_exponential.inl", 
    line=line@entry=149, 
    function=function@entry=0x69cec0 <float glm::sqrt<float>(float const&)::__PRETTY_FUNCTION__> "genType glm::sqrt(const genType&) [with genType = float]") at assert.c:92
#3  0x00007ffff59a0c32 in __GI___assert_fail (assertion=0x69cb75 "x >= genType(0)", file=0x69cb48 "/usr/include/glm/detail/func_exponential.inl", 
    line=149, 
    function=0x69cec0 <float glm::sqrt<float>(float const&)::__PRETTY_FUNCTION__> "genType glm::sqrt(const genType&) [with genType = float]")
    at assert.c:101
#4  0x0000000000581bfa in float glm::sqrt<float>(float const&) ()
#5  0x000000000058fbb2 in float glm::length<float, (glm::precision)0>(glm::detail::tvec3<float,    (glm::precision)0> const&) ()
#6  0x00000000005e06e5 in renderGeometry(GameWorld*, Model*, unsigned long, glm::detail::tmat4x4<float, (glm::precision)0> const&, float, GameObject*, ViewCamera const&, std::vector<Renderer::RenderInstruction, std::allocator<Renderer::RenderInstruction> >&) ()
#7  0x00000000005e1b3c in renderWheel(GameWorld*, VehicleObject*, Model*, glm::detail::tmat4x4<float, (glm::precision)0> const&, std::string const&, ViewCamera const&, std::vector<Renderer::RenderInstruction, std::allocator<Renderer::RenderInstruction> >&) ()
#8  0x00000000005e22cb in renderVehicle(GameWorld*, VehicleObject*, ViewCamera const&, float, std::vector<Renderer::RenderInstruction, std::allocator<Renderer::RenderInstruction> >&) ()
#9  0x00000000005e30bd in ObjectRenderer::buildRenderList(GameWorld*, GameObject*, ViewCamera const&, float, std::vector<Renderer::RenderInstruction, std::allocator<Renderer::RenderInstruction> >&) ()
#10 0x00000000005cc843 in GameRenderer::renderWorld(GameWorld*, ViewCamera const&, float) ()
#11 0x000000000057d3e2 in RWGame::render(float, float) ()
#12 0x000000000057c380 in RWGame::run() ()
#13 0x00000000005779e2 in main ()

testing broken github issues

A header

Another header

Yet another header

  • a checkbox
  • another checkbox
  • more checkboxes
  • more checkboxes
  • foo
  • bar

Game is very slow

The game is not rendering at "normal" speed despite it is using all the processors. Maybe my netbook is too slow to play it (it has two Intel Celeron @ 1.46GHz)?

Test organisation is a mess

Tests are currently split between the tests directory, and rwengine/tests.

Tests should be organised into folder of the component they are for:

  • rwgame/tests
  • rwcore/tests
  • rwengine/tests

etc.

Fix stupid behaviour on lost focus

The game behaves in a really non-useful way when focus is lost

  • The mouse is still warped to the centre of the window
  • Stop pausing on focus lost

Rendering performance improvements

The renderer is very primitive at the moment. Some notes:

  • There's a lot of logic in GameRenderer.cpp, I think for the most part this could be moved elsewhere, leaving just low level culling and rendering command / scene stuff in GameRenderer.
  • Visible objects should be converted to drawing commands that are sortable by texture, transparency, geometry etc so that GameRenderer doesn't need to know anything about GameObjects

Improve camera behaviour

The camera should be modelled as a floating mass that gets pulled toward a fixed radius around the target object. This would fix all of the current issues with the in game camera behaviour and would simply enable support for smoothly moving the camera to the player.

Panning left and right could easily be achieved by pushing the camera to the right or left as determined by the cross product of the camera -> target vector and the up vector.

Playable Missions Tracker

Story Missions

Portland

8-Ball

  • Give Me Liberty

Luigi

  • Luigi's Girls
    • Cutscene camera is wrong in one scene
  • Don't Spank Ma Bitch Up
  • Drive Misty For Me
  • Pump-Action Pimp (optional)
  • The Fuzz Ball (optional)
    • Broken world (Culling bad?)
    • Thinks the car is full (Opcodes 01EA and 01E9)
    • Missing timer

Joey

  • Mike Lips Last Lunch
    • Bombshop doesn't work
  • Farewell 'Chunky' Lee Chong
    • Missing fight AI
  • Van Heist
    • Camera in cutscene broken
    • Missing vehicle AI
    • Even if van is stolen no instructions are given
    • Van almost undrivable due to physics
  • Cipriani's Chauffeur
    • Crashes before cutscene because vehicle in opcode_01f4 is nullptr (why?)
  • Dead Skunk in the Trunk (optional)
    • Missing vehicle AI (Forelli Brothers don't work)
    • Crusher doesn't work
  • The Getaway (optional)
    • Nothing happens at pickup location

Toni

  • Taking Out The Laundry
    • Vans can not be destroyed
  • The Pick-Up
    • Can't pickup the briefcase
  • Salvatore's Called A Meeting
    • Cutscene / entering the limo at Joes does never ends

Salvatore

  • Chaperone
    • Camera in cutscene is bad
    • Cutscene never ends

Toni

  • Triads and Tribulations
    • Crash in opcode_00a1 after cutscene (character is nullptr maybe?)
  • Blow Fish

Salvatore

  • Cutting The Grass
  • Bomb Da Base: Act I

8-Ball

  • Bomb Da Base: Act II

Salvatore

  • Last Requests

Staunton Island

Asuka

  • Sayonara Salvatore
  • Under Surveillance
  • Paparazzi Purge
  • Payday For Ray
  • Two-Faced Tanner

Kenji

  • Kanbu Bust-out
  • Grand Theft Auto
  • Deal Steal
  • Shima
  • Smack Down

Ray

  • Silence The Sneak
  • Arms Shortage
  • Evidence Dash
  • Gone Fishing
  • Plaster Blaster

Donald

  • Liberator
  • Waka-Gashira Wipeout
  • A Drop In The Ocean
  • Grand Theft Aero
  • Escort Service
  • Decoy
  • Love's Disappearance

Ray

  • Marked Man

Asuka

  • Bait
  • Espresso-2-Go!
  • S.A.M.

Catalina

  • Ransom

Shoreside Vale

Catalina

  • The Exchange

[LINUX] Compiling fails

Arch Linux, all dependencies installed (I can't find "Boost Test", but I have boost installed).

Compiling fails at 71% (main.cpp):

/home/username/Git/openrw/tests/test_globals.hpp:17:8: error: ‘print_log_value’ is not a class template
 struct print_log_value<glm::vec3> {
        ^~~~~~~~~~~~~~~
/home/username/Git/openrw/tests/test_globals.hpp:17:35: error: explicit specialization of non-template ‘boost::test_tools::print_log_value’
 struct print_log_value<glm::vec3> {
                                   ^
/home/username/Git/openrw/tests/test_globals.hpp:27:8: error: ‘print_log_value’ is not a class template
 struct print_log_value<std::nullptr_t> {
        ^~~~~~~~~~~~~~~
/home/username/Git/openrw/tests/test_globals.hpp:27:38: error: ‘boost::test_tools::print_log_value’ is not a template
 struct print_log_value<std::nullptr_t> {
                                      ^
/home/username/Git/openrw/tests/test_globals.hpp:17:8: note: previous declaration here
 struct print_log_value<glm::vec3> {
        ^~~~~~~~~~~~~~~
tests/CMakeFiles/run_tests.dir/build.make:62: recipe for target 'tests/CMakeFiles/run_tests.dir/main.cpp.o' failed
make[2]: *** [tests/CMakeFiles/run_tests.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:308: recipe for target 'tests/CMakeFiles/run_tests.dir/all' failed
make[1]: *** [tests/CMakeFiles/run_tests.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Segfault when failing first mission

Game crashes with a segfault when entering the first Safehouse. (Only tested after beginning the first mission)
Hardware is an AMD A8-7410 APU with fglrx 15.3

Terminal output follows.

I [Data] Loaded 42 zones from /opt/games/Grand Theft Auto 3//data/gta3.zon
I [Game] Started
I [World] Loaded cutscene: BET
libmad error: lost synchronizationlibmad error: lost synchronizaI [World] Loaded cutscene: JB
I [World] Creating Vehicle ID 116 (POLICAR)
I [World] Creating Vehicle ID 117 (ENFORCR)
I [World] Creating Vehicle ID 130 (RUMPO)
I [World] Creating Vehicle ID 96 (PATRIOT)
I [World] Creating Vehicle ID 110 (TAXI)
I [World] Creating Vehicle ID 105 (CHEETAH)
I [World] Creating Vehicle ID 92 (STINGER)
I [World] Creating Vehicle ID 105 (CHEETAH)
I [World] Creating Vehicle ID 92 (STINGER)
I [World] Creating Vehicle ID 111 (KURUMA)
I [World] Creating Vehicle ID 110 (TAXI)
I [World] Creating Vehicle ID 111 (KURUMA)
I [World] Creating Vehicle ID 110 (TAXI)
I [World] Creating Vehicle ID 111 (KURUMA)
I [World] Creating Vehicle ID 111 (KURUMA)
I [SCM] Restarting Critical Mission
Segmentation fault

GTA 3 doesn't run on Linux

Currently, WINE must be used to run the original PC version of GTA 3 on Linux. By writing OpenRW, it should become possible to play the game with a native binary with better support for modern hardware.

Game State saving & loading

Before much more work can be done on the script VM, we need the functionality to store and retrieve the game state.

The VM state is dependant on a few other bits of information, so the following is roughly what needs to be saved to allow restoration of the state:

  • Almost everything within GameState needs to be saved.
  • Certain objects need to be saved (InstanceObjects can probably be ignored, with a few exceptions), almost everything found in .IPL files doesn't need to be restored.

Once this information is stored, the state of threads and the VM memory can be trivially restored.

No way to remap input

All input is currently hard coded. We should allow input to be re-mapped and display the correct key or button in the displayed help messages.

Allocate GameObject IDs

The script VM currently stores a pointer to game objects, this is totally unsafe as script variables rely on type erasure. scripts can pass in arbitrary data to functions which is not wanted behaviour.

GameObjects should be allocated an immutable ID that is stored in place of a pointer to the object. The script arguement construction can the look up the object and verify its existence and type.

Deferred renderering

The deferred rendering pipeline isn't merged with the main development branch yet

Several graphical glitches on proprietary NVIDIA drivers

Arch Linux, proprietary NVIDIA drivers 364.19.
The game is red, and the sky is sort of green/blueish.
After a while of running around the graphics start glitching around and colliding with each other.

untitled window_003

(ignore the minimap out of it's window, that is reported at #25 already)

Make fails with 'Could not find a package configuration file provided by "GLM"'

As of this hour, compilation now fails on my Linux system, something relating to GLM. libglm-dev is installed, but make results in

-- Found SFML 2.1.0 in /usr/include
-- Found MAD in /usr/include
CMake Error at CMakeLists.txt:61 (find_package):
By not providing "FindGLM.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "GLM", but
CMake did not find one.

Could not find a package configuration file provided by "GLM" with any of
the following names:

GLMConfig.cmake
glm-config.cmake

Add the installation prefix of "GLM" to CMAKE_PREFIX_PATH or set "GLM_DIR"
to a directory containing one of the above files. If "GLM" provides a
separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!
See also "/home/taco/stuff/openrw-git/openrw/build/CMakeFiles/CMakeOutput.log".
make: *** [cmake_check_build_system] Error 1

testing broken issue

A header

Another header

Yet another header

  • a checkbox
  • another checkbox
  • more checkboxes
  • more checkboxes
  • foo
  • bar

I can't enter cars

Using enter key, i can't enter cars. Nothing happens. I also noticed that i can walk though cars, but i'm not sure this is related.

Cmake still fails with GLM errors

GLM is installed but cmake ../ -DCMAKE_BUILD_TYPE=Release fails with the following:

-- Found SFML 2.3.2 in /usr/include
-- Found MAD in /usr/include
CMake Error at /usr/lib/cmake/glm/glmConfig.cmake:10 (message):
File or directory //include referenced by variable GLM_INCLUDE_DIRS does
not exist !
Call Stack (most recent call first):
/usr/lib/cmake/glm/glmConfig.cmake:16 (set_and_check)
CMakeLists.txt:61 (find_package)

-- Configuring incomplete, errors occurred!
#43 seems to have caused this issue.

Write (and adhere to) contribution guidelines

Suggestions for code style

  • Use google-ish convention for include guards: LIBRARY_FILE_HPP
  • document method behaviour if non-trivial
  • Adhere to the style of the containing file
  • Adopt a sensible variable naming convention:
    • Member Variable identification?
    • avoid single-letter variables outside counters

Progress

  • Add GPL notice to header files
  • Change existing header guards

Thoughts, @tsjost ?

Separate name-spaces for each object type

Trying to feed in a save game from the original game results in the player vanishing - the original game gives different objects a different name space, but OpenRW does not, resulting in the game deleting the player thinking it's a pickup.

Individual object name-spaces:

  • Players
  • Pedestrians
  • Vehicles
  • "Objects"
  • Pickups

This shouldn't be very difficult, but will requiring changing the code in a lot of places.

Playable Missions Tracker

Story Missions

Portland

8-Ball

  • Give Me Liberty

Luigi

  • Luigi's Girls
  • Don't Spank Ma Bitch Up
  • Drive Misty For Me
  • Pump-Action Pimp
  • The Fuzz Ball

Joey

  • Mike Lips Last Lunch
  • Farewell 'Chunky' Lee Chong
  • Van Heist
  • Cipriani's Chauffeur
  • Dead Skunk in the Trunk
  • The Getaway

Toni

  • Taking Out The Laundry
  • The Pick-Up
  • Salvatore's Called A Meeting

Salvatore

  • Chaperone

Toni

  • Triads and Tribulations
  • Blow Fish

Salvatore

  • Cutting The Grass
  • Bomb Da Base

8-Ball

  • Bomb Da Base

Salvatore

  • Last Requests

Staunton Island

Asuka

  • Sayonara Salvatore
  • Under Surveillance
  • Paparazzi Purge
  • Payday For Ray
  • Two-Faced Tanner

Kenji

  • Kanbu Bust-out
  • Grand Theft Auto
  • Deal Steal
  • Shima
  • Smack Down

Ray

  • Silence The Sneak
  • Arms Shortage
  • Evidence Dash
  • Gone Fishing
  • Plaster Blaster

Donald

  • Liberator
  • Waka-Gashira Wipeout
  • A Drop In The Ocean
  • Grand Theft Aero
  • Escort Service
  • Decoy
  • Love's Disappearance

Ray

  • Marked Man

Asuka

  • Bait
  • Espresso-2-Go!
  • S.A.M.

Catalina

  • Ransom

Shoreside Vale

Catalina

  • The Exchange

Game crashes on startup

Hi

After building and installing the game, running results in:

Warning: The created OpenGL context does not fully meet the settings that were requested
Requested: version = 1.1 ; depth bits = 32 ; stencil bits = 0 ; AA level = 0 ; core = false ; debug = false
Created: version = 4.5 ; depth bits = 24 ; stencil bits = 0 ; AA level = 0 ; core = false ; debug = false
I [Game] Game directory: /tank/storage/GTA3/
Max UBO Size: 65536
UBO Alignment: 256
Max batch size: 512
I [Renderer] OpenGL Renderer Version: 4.5.0 NVIDIA 352.63 (GLSL 4.50 NVIDIA) Vendor: NVIDIA Corporation
I [Data] Loaded 42 zones from /tank/storage/GTA3//data/gta3.zon
I [Game] Started
[1]    11543 segmentation fault (core dumped)  rwgame

Game stops as opening cutscene starts

screenshot_2016-05-20_08-30-11

Failed to open WAV sound file (invalid or unsupported file)
E [Data] Error loading audio clip /home/aukondk/Games/steamcmd_linux/gta3/audio//lib_a1.wav
E [Data] MP3 Audio unsupported outside cutscenes
E [SCM] Failed to load audio: lib_a1

I checked the WAV file and it plays fine in Audacity and is named correctly (all lower case).

No mouse cursor in the game

When your mouse cursor is inside the game window, it dissapears. It would be much easier to select menu options (both main menu and when pressing "escape" in-game) when there is a mouse cursor. The native system cursor will do I guess.

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.