diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 85d1e584..00000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior.
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Version**
-Tell us what version you're running. Find out using the debug menu (Ctrl-M, Debug -> Version Text)
-If you send a screenshot just enable it beforehand.
diff --git a/.github/workflows/re3_msvc_amd64.yml b/.github/workflows/re3_msvc_amd64.yml
index 78994650..863e2f94 100644
--- a/.github/workflows/re3_msvc_amd64.yml
+++ b/.github/workflows/re3_msvc_amd64.yml
@@ -48,22 +48,14 @@ jobs:
- name: Build
run: |
msbuild -m build/re3.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}}
- # - name: Pack artifacts
- # run: |
- # 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- - name: Move binaries to gamefiles
+ - name: Pack artifacts
run: |
- mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.exe ./gamefiles/
- mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.pdb ./gamefiles/
- - name: Move dynamic dependencies to gamefiles
- run: |
- mv ./vendor/mpg123/dist/Win64/libmpg123-0.dll ./gamefiles/
- mv ./vendor/openal-soft/dist/Win64/OpenAL32.dll ./gamefiles/
+ 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- name: Upload artifact to actions
uses: actions/upload-artifact@v2
with:
name: re3_${{matrix.buildtype}}_${{matrix.platform}}
- path: ./gamefiles/*
+ path: ./bin/${{matrix.platform}}/${{matrix.buildtype}}
# - name: Upload artifact to Bintray
# uses: hpcsc/upload-bintray-docker-action@v1
# with:
diff --git a/.github/workflows/re3_msvc_x86.yml b/.github/workflows/re3_msvc_x86.yml
index ad60ce43..ff9afb25 100644
--- a/.github/workflows/re3_msvc_x86.yml
+++ b/.github/workflows/re3_msvc_x86.yml
@@ -48,23 +48,14 @@ jobs:
- name: Build
run: |
msbuild -m build/re3.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}}
- # - name: Pack artifacts
- # run: |
- # 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- - name: Move binaries to gamefiles
+ - name: Pack artifacts
run: |
- mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.exe ./gamefiles/
- mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.pdb ./gamefiles/
- - if: contains(matrix.platform, 'oal')
- name: Move dynamic dependencies to gamefiles
- run: |
- mv ./vendor/mpg123/dist/Win32/libmpg123-0.dll ./gamefiles/
- mv ./vendor/openal-soft/dist/Win32/OpenAL32.dll ./gamefiles/
+ 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- name: Upload artifact to actions
uses: actions/upload-artifact@v2
with:
name: re3_${{matrix.buildtype}}_${{matrix.platform}}
- path: ./gamefiles/*
+ path: re3_${{matrix.buildtype}}_${{matrix.platform}}.zip
# - name: Upload artifact to Bintray
# uses: hpcsc/upload-bintray-docker-action@v1
# with:
diff --git a/.gitignore b/.gitignore
index b4f221f2..44d3eb0b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -358,5 +358,3 @@ sdk/
codewarrior/re3_Data/
codewarrior/Release/
codewarrior/Debug/
-
-src/extras/GitSHA1.cpp
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5396d3b4..8d753d80 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,10 +6,6 @@ set(PROJECT RE3)
project(${EXECUTABLE} C CXX)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
-include(GetGitRevisionDescription)
-get_git_head_revision(GIT_REFSPEC GIT_SHA1 "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR")
-message(STATUS "Building ${CMAKE_PROJECT_NAME} GIT SHA1: ${GIT_SHA1}")
-
if(WIN32)
set(${PROJECT}_AUDIOS "OAL" "MSS")
else()
diff --git a/README.md b/README.md
index bf54e9ed..e0fac061 100644
--- a/README.md
+++ b/README.md
@@ -1,101 +1,34 @@
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FGTAmodding%2Fre3%2Fbadge%3Fref%3Dmaster&style=flat)](https://actions-badge.atrox.dev/GTAmodding/re3/goto?ref=master)
-
+
## Intro
-In this repository you'll find the fully reversed source code for GTA III ([master](https://github.com/GTAmodding/re3/tree/master/) branch) and GTA VC ([miami](https://github.com/GTAmodding/re3/tree/miami/) branch).
-
-It has been tested and works on Windows, Linux and FreeBSD, on x86, amd64, arm and arm64.\
-Rendering is handled either by original RenderWare (D3D8)
-or the reimplementation [librw](https://github.com/aap/librw) (D3D9, OpenGL 2.1 or above, OpenGL ES 2.0 or above).\
-Audio is done with MSS (using dlls from original GTA) or OpenAL.
-
-The project has also been ported to the [Nintendo Switch](https://github.com/AGraber/re3-nx/),
-[Playstation Vita](https://github.com/Rinnegatamante/re3) and
-[Nintendo Wii U](https://github.com/GaryOderNichts/re3-wiiu/).
-
-We cannot build for PS2 or Xbox yet. If you're interested in doing so, get in touch with us.
-
-## Installation
-
-- re3 requires PC game assets to work, so you **must** own [a copy of GTA III](https://store.steampowered.com/app/12100/Grand_Theft_Auto_III/).
-- Build re3 or download the latest nightly build:
- - [Windows D3D9 MSS 32bit](https://nightly.link/GTAmodding/re3/workflows/re3_msvc_x86/master/re3_Release_win-x86-librw_d3d9-mss.zip)
- - [Windows D3D9 64bit](https://nightly.link/GTAmodding/re3/workflows/re3_msvc_amd64/master/re3_Release_win-amd64-librw_d3d9-oal.zip)
- - [Windows OpenGL 64bit](https://nightly.link/GTAmodding/re3/workflows/re3_msvc_amd64/master/re3_Release_win-amd64-librw_gl3_glfw-oal.zip)
- - [Linux 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/master/ubuntu-latest-gl3.zip)
- - [MacOS 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/master/macos-latest-gl3.zip)
-- Extract the downloaded zip over your GTA 3 directory and run re3. The zip includes the gamefiles and in case of OpenAL the required dlls.
-
-## Screenshots
-
-![re3 2021-02-11 22-57-03-23](https://user-images.githubusercontent.com/1521437/107704085-fbdabd00-6cbc-11eb-8406-8951a80ccb16.png)
-![re3 2021-02-11 22-43-44-98](https://user-images.githubusercontent.com/1521437/107703339-cbdeea00-6cbb-11eb-8f0b-07daa105d470.png)
-![re3 2021-02-11 22-46-33-76](https://user-images.githubusercontent.com/1521437/107703343-cd101700-6cbb-11eb-9ccd-012cb90524b7.png)
-![re3 2021-02-11 22-50-29-54](https://user-images.githubusercontent.com/1521437/107703348-d00b0780-6cbb-11eb-8afd-054249c2b95e.png)
-
-## Improvements
-
-We have implemented a number of changes and improvements to the original game.
-They can be configured in `core/config.h`.
-Some of them can be toggled at runtime, some cannot.
-
-* Fixed a lot of smaller and bigger bugs
-* User files (saves and settings) stored in GTA root directory
-* Settings stored in re3.ini file instead of gta3.set
-* Debug menu to do and change various things (Ctrl-M to open)
-* Debug camera (Ctrl-B to toggle)
-* Rotatable camera
-* Xinput controller support (Windows)
-* No loading screens between islands ("map memory usage" in menu)
-* Skinned ped support (models from Xbox or Mobile)
-* Rendering
- * Widescreen support (properly scaled HUD, Menu and FOV)
- * PS2 MatFX (vehicle reflections)
- * PS2 alpha test (better rendering of transparency)
- * PS2 particles
- * Xbox vehicle rendering
- * Xbox world lightmap rendering (needs Xbox map)
- * Xbox ped rim light
- * Xbox screen rain droplets
- * More customizable colourfilter
-* Menu
- * Map
- * More options
- * Controller configuration menu
- * ...
-* Can load DFFs and TXDs from other platforms, possibly with a performance penalty
-* ...
-
-## To-Do
-
-The following things would be nice to have/do:
-
-* Fix physics for high FPS
-* Improve performance on lower end devices, especially the OpenGL layer on the Raspberry Pi (if you have experience with this, please get in touch)
-* Compare code with PS2 code (tedious, no good decompiler)
-* [PS2 port](https://github.com/GTAmodding/re3/wiki/PS2-port)
-* Xbox port (not quite as important)
-* reverse remaining unused/debug functions
-* compare Codewarrior build with original binary for more accurate code (very tedious)
-
-## Modding
-
-Asset modifications (models, texture, handling, script, ...) should work the same way as with original GTA for the most part.
-
-Mods that make changes to the code (dll/asi, CLEO, limit adjusters) will *not* work.
-Some things these mods do are already implemented in re3 (much of SkyGFX, GInput, SilentPatch, Widescreen fix),
-others can easily be achieved (increasing limis, see `config.h`),
-others will simply have to be rewritten and integrated into the code directly.
-Sorry for the inconvenience.
+The aim of this project is to reverse GTA III for PC by replacing
+parts of the game [one by one](https://en.wikipedia.org/wiki/Ship_of_Theseus)
+such that we have a working game at all times.
-## Building from Source
+## How can I try it?
+
+- re3 requires game assets to work, so you **must** own [a copy of GTA III](https://store.steampowered.com/app/12100/Grand_Theft_Auto_III/).
+- Build re3 or download [the latest nightly build](https://github.com/GTAmodding/re3/actions) (You must be logged in.)
+- (Optional) If you want to use optional features like Russian language or menu map, copy the files in /gamefiles folder to your game root folder.
+- Move re3.exe to GTA 3 directory and run it.
+
+## Latest standalone executables to download
-When using premake, you may want to point GTA_III_RE_DIR environment variable to GTA3 root folder if you want the executable to be moved there via post-build script.
+(Put content of selected archive into gamedir)
+
+- [MacOS 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/master/macos-latest-gl3.zip)
+- [Linux 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/master/ubuntu-latest-gl3.zip)
+- [Windows D3D9 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/master/windows-latest-d3d9.zip)
+- [Windows OpenGL 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/master/windows-latest-gl3.zip)
+- [Windows D3D9 MSS 32bit](https://nightly.link/GTAmodding/re3/workflows/re3_msvc_x86/master/re3_Release_win-x86-librw_d3d9-mss.zip)
+
+## Building from Source
-Clone the repository with `git clone --recursive https://github.com/GTAmodding/re3.git`. Then `cd re3` into the cloned repository.
+If you gonna use premake, then before starting you may want to point GTA_III_RE_DIR environment variable to GTA3 root folder, if you want executable to be moved there via post-build script.
Linux Premake
@@ -105,6 +38,13 @@ For Linux using premake, proceed: [Building on Linux](https://github.com/GTAmodd
Linux Conan
+Obtain source code.
+```
+git clone https://github.com/GTAmodding/re3.git
+cd re3
+git submodule init
+git submodule update --recursive
+```
Install python and conan, and then run build.
```
conan export vendor/librw librw/master@
@@ -123,61 +63,36 @@ For FreeBSD using premake, proceed: [Building on FreeBSD](https://github.com/GTA
Windows
-Assuming you have Visual Studio 2015/2017/2019:
+Assuming you have Visual Studio:
+- Clone the repo using the argument `--recursive`.
- Run one of the `premake-vsXXXX.cmd` variants on root folder.
-- Open build/re3.sln with Visual Studio and compile the solution.
-
-Microsoft recently discontinued its downloads of the DX9 SDK. You can download an archived version here: https://archive.org/details/dxsdk_jun10
+- Open the project via Visual Studio
+
+**If you use 64-bit D3D9**: We don't ship 64-bit Dx9 SDK. You need to download it from Microsoft if you don't have it(although it should come pre-installed after some Windows version)
**If you choose OpenAL on Windows** You must read [Running OpenAL build on Windows](https://github.com/GTAmodding/re3/wiki/Running-OpenAL-build-on-Windows).
-> :information_source: premake has an `--lto` option if you want the project to be compiled with Link Time Optimization.
-
-> :information_source: There are various settings in [config.h](https://github.com/GTAmodding/re3/tree/master/src/core/config.h), you may want to take a look there.
-
-> :information_source: re3 uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw.
+> :information_source: There are various settings at the very bottom of [config.h](https://github.com/GTAmodding/re3/tree/master/src/core/config.h), you may want to take a look there. i.e. FIX_BUGS define fixes the bugs we've come across.
-If you feel the need, you can also use Codewarrior 7 to compile re3 using the supplied codewarrior/re3.mcp project - this requires the original RW33 libraries, and the DX8 SDK. The build is unstable compared to the MSVC builds though, and is mostly meant to serve as a reference.
+> :information_source: **Did you notice librw?** re3 uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw.
## Contributing
-We have a [Coding Style](https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.md) document that isn't followed or enforced very well.
+Please read the [Coding Style](https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.md) Document
-Do not use features from C++11 or later.
-
-
-## History
-
-re3 was started sometime in the spring of 2018,
-initially as a way to test reversed collision and physics code
-inside the game.
-This was done by replacing single functions of the game
-with their reversed counterparts using a dll.
-
-After a bit of work the project lay dormant for about a year
-and was picked up again and pushed to github in May 2019.
-At the time I (aap) had reversed around 10k lines of code and estimated
-the final game to have around 200-250k.
-Others quickly joined the effort and we made very quick progress
-throughout the summer of 2019
-after which the pace slowed down a bit.
-
-Due to everyone staying home during the start of the Corona pandemic
-everybody had a lot of time to work on re3 again and
-we finally got a standalone exe in April 2020 (around 180k lines by then).
-
-After the initial excitement and fixing and polishing the code further,
-reVC was started in early May 2020 by starting from re3 code,
-not by starting from scratch replacing functions with a dll.
-After a few months of mostly steady progress we considered reVC
-finished in December.
-
-Since then we have started reLCS, which is currently work in progress.
-
-
-## License
+### Unreversed / incomplete classes (at least the ones we know)
+The following classes have only unused or practically unused code left:
+```
+NameGrid.cpp - only on mobile (a player name grid, either a very early player name code ala GTA1 or a multiplayer leftover)
+PedDebug.cpp - only on mobile (debug code)
+HandlingMgr.cpp - debug functions from mobile
+CFormationInfo - unused PedAI class that could be found on mobile
+CVehicle::ProcessBikeWheel - early bike code (only on mobile)
+CAutomobile::DebugCode - debug function from mobile
+CBoat::DebugCode - debug function from mobile
+CBoat::ModifyHandlingValue - debug function from mobile
+CBoat::DisplayHandlingData - debug function from mobile
+CStreaming::PrintRequestList - debug function from mobile
+d3d8raster.c - only on PC (slight RW modification that we don't actually need)
+```
-We don't feel like we're in a position to give this code a license.\
-The code should only be used for educational, documentation and modding purposes.\
-We do not encourage piracy or commercial use.\
-Please keep derivate work open source and give proper credit.
diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake
deleted file mode 100644
index 87f691ad..00000000
--- a/cmake/GetGitRevisionDescription.cmake
+++ /dev/null
@@ -1,284 +0,0 @@
-# - Returns a version string from Git
-#
-# These functions force a re-configure on each git commit so that you can
-# trust the values of the variables in your build system.
-#
-# get_git_head_revision( [ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR])
-#
-# Returns the refspec and sha hash of the current head revision
-#
-# git_describe( [ ...])
-#
-# Returns the results of git describe on the source tree, and adjusting
-# the output so that it tests false if an error occurs.
-#
-# git_describe_working_tree( [ ...])
-#
-# Returns the results of git describe on the working tree (--dirty option),
-# and adjusting the output so that it tests false if an error occurs.
-#
-# git_get_exact_tag( [ ...])
-#
-# Returns the results of git describe --exact-match on the source tree,
-# and adjusting the output so that it tests false if there was no exact
-# matching tag.
-#
-# git_local_changes()
-#
-# Returns either "CLEAN" or "DIRTY" with respect to uncommitted changes.
-# Uses the return code of "git diff-index --quiet HEAD --".
-# Does not regard untracked files.
-#
-# Requires CMake 2.6 or newer (uses the 'function' command)
-#
-# Original Author:
-# 2009-2020 Ryan Pavlik
-# http://academic.cleardefinition.com
-#
-# Copyright 2009-2013, Iowa State University.
-# Copyright 2013-2020, Ryan Pavlik
-# Copyright 2013-2020, Contributors
-# SPDX-License-Identifier: BSL-1.0
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-if(__get_git_revision_description)
- return()
-endif()
-set(__get_git_revision_description YES)
-
-# We must run the following at "include" time, not at function call time,
-# to find the path to this module rather than the path to a calling list file
-get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
-
-# Function _git_find_closest_git_dir finds the next closest .git directory
-# that is part of any directory in the path defined by _start_dir.
-# The result is returned in the parent scope variable whose name is passed
-# as variable _git_dir_var. If no .git directory can be found, the
-# function returns an empty string via _git_dir_var.
-#
-# Example: Given a path C:/bla/foo/bar and assuming C:/bla/.git exists and
-# neither foo nor bar contain a file/directory .git. This wil return
-# C:/bla/.git
-#
-function(_git_find_closest_git_dir _start_dir _git_dir_var)
- set(cur_dir "${_start_dir}")
- set(git_dir "${_start_dir}/.git")
- while(NOT EXISTS "${git_dir}")
- # .git dir not found, search parent directories
- set(git_previous_parent "${cur_dir}")
- get_filename_component(cur_dir ${cur_dir} DIRECTORY)
- if(cur_dir STREQUAL git_previous_parent)
- # We have reached the root directory, we are not in git
- set(${_git_dir_var}
- ""
- PARENT_SCOPE)
- return()
- endif()
- set(git_dir "${cur_dir}/.git")
- endwhile()
- set(${_git_dir_var}
- "${git_dir}"
- PARENT_SCOPE)
-endfunction()
-
-function(get_git_head_revision _refspecvar _hashvar)
- _git_find_closest_git_dir("${CMAKE_CURRENT_SOURCE_DIR}" GIT_DIR)
-
- if("${ARGN}" STREQUAL "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR")
- set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR TRUE)
- else()
- set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR FALSE)
- endif()
- if(NOT "${GIT_DIR}" STREQUAL "")
- file(RELATIVE_PATH _relative_to_source_dir "${CMAKE_SOURCE_DIR}"
- "${GIT_DIR}")
- if("${_relative_to_source_dir}" MATCHES "[.][.]" AND NOT ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR)
- # We've gone above the CMake root dir.
- set(GIT_DIR "")
- endif()
- endif()
- if("${GIT_DIR}" STREQUAL "")
- set(${_refspecvar}
- "GITDIR-NOTFOUND"
- PARENT_SCOPE)
- set(${_hashvar}
- "GITDIR-NOTFOUND"
- PARENT_SCOPE)
- return()
- endif()
-
- # Check if the current source dir is a git submodule or a worktree.
- # In both cases .git is a file instead of a directory.
- #
- if(NOT IS_DIRECTORY ${GIT_DIR})
- # The following git command will return a non empty string that
- # points to the super project working tree if the current
- # source dir is inside a git submodule.
- # Otherwise the command will return an empty string.
- #
- execute_process(
- COMMAND "${GIT_EXECUTABLE}" rev-parse
- --show-superproject-working-tree
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- OUTPUT_VARIABLE out
- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(NOT "${out}" STREQUAL "")
- # If out is empty, GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a submodule
- file(READ ${GIT_DIR} submodule)
- string(REGEX REPLACE "gitdir: (.*)$" "\\1" GIT_DIR_RELATIVE
- ${submodule})
- string(STRIP ${GIT_DIR_RELATIVE} GIT_DIR_RELATIVE)
- get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH)
- get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE}
- ABSOLUTE)
- set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD")
- else()
- # GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a worktree
- file(READ ${GIT_DIR} worktree_ref)
- # The .git directory contains a path to the worktree information directory
- # inside the parent git repo of the worktree.
- #
- string(REGEX REPLACE "gitdir: (.*)$" "\\1" git_worktree_dir
- ${worktree_ref})
- string(STRIP ${git_worktree_dir} git_worktree_dir)
- _git_find_closest_git_dir("${git_worktree_dir}" GIT_DIR)
- set(HEAD_SOURCE_FILE "${git_worktree_dir}/HEAD")
- endif()
- else()
- set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD")
- endif()
- set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data")
- if(NOT EXISTS "${GIT_DATA}")
- file(MAKE_DIRECTORY "${GIT_DATA}")
- endif()
-
- if(NOT EXISTS "${HEAD_SOURCE_FILE}")
- return()
- endif()
- set(HEAD_FILE "${GIT_DATA}/HEAD")
- configure_file("${HEAD_SOURCE_FILE}" "${HEAD_FILE}" COPYONLY)
-
- configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in"
- "${GIT_DATA}/grabRef.cmake" @ONLY)
- include("${GIT_DATA}/grabRef.cmake")
-
- set(${_refspecvar}
- "${HEAD_REF}"
- PARENT_SCOPE)
- set(${_hashvar}
- "${HEAD_HASH}"
- PARENT_SCOPE)
-endfunction()
-
-function(git_describe _var)
- if(NOT GIT_FOUND)
- find_package(Git QUIET)
- endif()
- get_git_head_revision(refspec hash)
- if(NOT GIT_FOUND)
- set(${_var}
- "GIT-NOTFOUND"
- PARENT_SCOPE)
- return()
- endif()
- if(NOT hash)
- set(${_var}
- "HEAD-HASH-NOTFOUND"
- PARENT_SCOPE)
- return()
- endif()
-
- # TODO sanitize
- #if((${ARGN}" MATCHES "&&") OR
- # (ARGN MATCHES "||") OR
- # (ARGN MATCHES "\\;"))
- # message("Please report the following error to the project!")
- # message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}")
- #endif()
-
- #message(STATUS "Arguments to execute_process: ${ARGN}")
-
- execute_process(
- COMMAND "${GIT_EXECUTABLE}" describe --tags --always ${hash} ${ARGN}
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- RESULT_VARIABLE res
- OUTPUT_VARIABLE out
- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(NOT res EQUAL 0)
- set(out "${out}-${res}-NOTFOUND")
- endif()
-
- set(${_var}
- "${out}"
- PARENT_SCOPE)
-endfunction()
-
-function(git_describe_working_tree _var)
- if(NOT GIT_FOUND)
- find_package(Git QUIET)
- endif()
- if(NOT GIT_FOUND)
- set(${_var}
- "GIT-NOTFOUND"
- PARENT_SCOPE)
- return()
- endif()
-
- execute_process(
- COMMAND "${GIT_EXECUTABLE}" describe --dirty ${ARGN}
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- RESULT_VARIABLE res
- OUTPUT_VARIABLE out
- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(NOT res EQUAL 0)
- set(out "${out}-${res}-NOTFOUND")
- endif()
-
- set(${_var}
- "${out}"
- PARENT_SCOPE)
-endfunction()
-
-function(git_get_exact_tag _var)
- git_describe(out --exact-match ${ARGN})
- set(${_var}
- "${out}"
- PARENT_SCOPE)
-endfunction()
-
-function(git_local_changes _var)
- if(NOT GIT_FOUND)
- find_package(Git QUIET)
- endif()
- get_git_head_revision(refspec hash)
- if(NOT GIT_FOUND)
- set(${_var}
- "GIT-NOTFOUND"
- PARENT_SCOPE)
- return()
- endif()
- if(NOT hash)
- set(${_var}
- "HEAD-HASH-NOTFOUND"
- PARENT_SCOPE)
- return()
- endif()
-
- execute_process(
- COMMAND "${GIT_EXECUTABLE}" diff-index --quiet HEAD --
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- RESULT_VARIABLE res
- OUTPUT_VARIABLE out
- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(res EQUAL 0)
- set(${_var}
- "CLEAN"
- PARENT_SCOPE)
- else()
- set(${_var}
- "DIRTY"
- PARENT_SCOPE)
- endif()
-endfunction()
diff --git a/cmake/GetGitRevisionDescription.cmake.in b/cmake/GetGitRevisionDescription.cmake.in
deleted file mode 100644
index 116efc4e..00000000
--- a/cmake/GetGitRevisionDescription.cmake.in
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# Internal file for GetGitRevisionDescription.cmake
-#
-# Requires CMake 2.6 or newer (uses the 'function' command)
-#
-# Original Author:
-# 2009-2010 Ryan Pavlik
-# http://academic.cleardefinition.com
-# Iowa State University HCI Graduate Program/VRAC
-#
-# Copyright 2009-2012, Iowa State University
-# Copyright 2011-2015, Contributors
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-# SPDX-License-Identifier: BSL-1.0
-
-set(HEAD_HASH)
-
-file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024)
-
-string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
-if(HEAD_CONTENTS MATCHES "ref")
- # named branch
- string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
- if(EXISTS "@GIT_DIR@/${HEAD_REF}")
- configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
- else()
- configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY)
- file(READ "@GIT_DATA@/packed-refs" PACKED_REFS)
- if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}")
- set(HEAD_HASH "${CMAKE_MATCH_1}")
- endif()
- endif()
-else()
- # detached HEAD
- configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY)
-endif()
-
-if(NOT HEAD_HASH)
- file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024)
- string(STRIP "${HEAD_HASH}" HEAD_HASH)
-endif()
diff --git a/gamefiles/TEXT/american.gxt b/gamefiles/TEXT/american.gxt
index ebd1ac39..cf4bb1e5 100644
Binary files a/gamefiles/TEXT/american.gxt and b/gamefiles/TEXT/american.gxt differ
diff --git a/gamefiles/TEXT/french.gxt b/gamefiles/TEXT/french.gxt
index 5b4c9e05..cb2874f9 100644
Binary files a/gamefiles/TEXT/french.gxt and b/gamefiles/TEXT/french.gxt differ
diff --git a/gamefiles/TEXT/german.gxt b/gamefiles/TEXT/german.gxt
index 88c54095..d5a986cf 100644
Binary files a/gamefiles/TEXT/german.gxt and b/gamefiles/TEXT/german.gxt differ
diff --git a/gamefiles/TEXT/italian.gxt b/gamefiles/TEXT/italian.gxt
index 746f07da..95e2dd36 100644
Binary files a/gamefiles/TEXT/italian.gxt and b/gamefiles/TEXT/italian.gxt differ
diff --git a/gamefiles/TEXT/polish.gxt b/gamefiles/TEXT/polish.gxt
old mode 100755
new mode 100644
index 5519c290..1782ef87
Binary files a/gamefiles/TEXT/polish.gxt and b/gamefiles/TEXT/polish.gxt differ
diff --git a/gamefiles/TEXT/russian.gxt b/gamefiles/TEXT/russian.gxt
index aeb3f0b5..026222ac 100644
Binary files a/gamefiles/TEXT/russian.gxt and b/gamefiles/TEXT/russian.gxt differ
diff --git a/gamefiles/TEXT/spanish.gxt b/gamefiles/TEXT/spanish.gxt
index be659528..6b188fc6 100644
Binary files a/gamefiles/TEXT/spanish.gxt and b/gamefiles/TEXT/spanish.gxt differ
diff --git a/gamefiles/models/frontend_ds3.txd b/gamefiles/models/frontend_ds3.txd
deleted file mode 100644
index 7481e9b9..00000000
Binary files a/gamefiles/models/frontend_ds3.txd and /dev/null differ
diff --git a/gamefiles/models/frontend_ds4.txd b/gamefiles/models/frontend_ds4.txd
deleted file mode 100644
index 594de328..00000000
Binary files a/gamefiles/models/frontend_ds4.txd and /dev/null differ
diff --git a/gamefiles/models/frontend_x360.txd b/gamefiles/models/frontend_x360.txd
deleted file mode 100644
index a57b8d13..00000000
Binary files a/gamefiles/models/frontend_x360.txd and /dev/null differ
diff --git a/gamefiles/models/frontend_xone.txd b/gamefiles/models/frontend_xone.txd
deleted file mode 100644
index 03dfefda..00000000
Binary files a/gamefiles/models/frontend_xone.txd and /dev/null differ
diff --git a/gamefiles/models/generic.txd b/gamefiles/models/generic.txd
deleted file mode 100644
index 8e0d60f3..00000000
Binary files a/gamefiles/models/generic.txd and /dev/null differ
diff --git a/gamefiles/models/ps3btns.txd b/gamefiles/models/ps3btns.txd
deleted file mode 100644
index ed216263..00000000
Binary files a/gamefiles/models/ps3btns.txd and /dev/null differ
diff --git a/gamefiles/models/x360btns.txd b/gamefiles/models/x360btns.txd
index 95a68c8b..27837c2f 100644
Binary files a/gamefiles/models/x360btns.txd and b/gamefiles/models/x360btns.txd differ
diff --git a/premake5.lua b/premake5.lua
index d4459f94..f715f1e5 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -204,7 +204,6 @@ project "librw"
architecture "amd64"
filter "platforms:win*"
- defines { "_CRT_SECURE_NO_WARNINGS", "_CRT_NONSTDC_NO_DEPRECATE" }
staticruntime "on"
buildoptions { "/Zc:sizedDealloc-" }
@@ -236,10 +235,6 @@ project "re3"
targetname "re3"
targetdir "bin/%{cfg.platform}/%{cfg.buildcfg}"
- if(_OPTIONS["with-librw"]) then
- dependson "librw"
- end
-
files { addSrcFiles("src") }
files { addSrcFiles("src/animation") }
files { addSrcFiles("src/audio") }
@@ -263,7 +258,6 @@ project "re3"
files { addSrcFiles("src/vehicles") }
files { addSrcFiles("src/weapons") }
files { addSrcFiles("src/extras") }
- files { "src/extras/GitSHA1.cpp" } -- this won't be in repo in first build
includedirs { "src" }
includedirs { "src/animation" }
@@ -314,7 +308,7 @@ project "re3"
filter {}
if(os.getenv("GTA_III_RE_DIR")) then
- setpaths(os.getenv("GTA_III_RE_DIR") .. "/", "%(cfg.buildtarget.name)")
+ setpaths("$(GTA_III_RE_DIR)/", "%(cfg.buildtarget.name)")
end
filter "platforms:win*"
@@ -328,10 +322,6 @@ project "re3"
-- external librw is dynamic
staticruntime "on"
end
- prebuildcommands { '"%{prj.location}..\\printHash.bat" "%{prj.location}..\\src\\extras\\GitSHA1.cpp"' }
-
- filter "platforms:not win*"
- prebuildcommands { '"%{prj.location}/../printHash.sh" "%{prj.location}/../src/extras/GitSHA1.cpp"' }
filter "platforms:win*glfw*"
staticruntime "off"
diff --git a/printHash.bat b/printHash.bat
deleted file mode 100644
index ef1cd9d6..00000000
--- a/printHash.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-@echo off
-
-REM creates version.h with HEAD commit hash
-REM params: $1=full path to output file (usually points version.h)
-
-setlocal enableextensions enabledelayedexpansion
-
-cd /d "%~dp0"
-
-break> %1
-
- %1
-
-where git
-if "%errorlevel%" == "0" ( goto :havegit ) else ( goto :writeending )
-
-:havegit
-for /f %%v in ('git rev-parse --short HEAD') do set version=%%v
-> %1
-
-:writeending
-
-echo ^" >> %1
-echo const char* g_GIT_SHA1 = GIT_SHA1; >> %1
-
-EXIT /B
\ No newline at end of file
diff --git a/printHash.sh b/printHash.sh
deleted file mode 100755
index 71f54466..00000000
--- a/printHash.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-> $1
-
-echo -n "#define GIT_SHA1 \"" > $1
-
-if (command -v "git" >/dev/null) then
-git rev-parse --short HEAD | tr -d '\n' >> $1
-fi
-
-echo "\"" >> $1
-echo "const char* g_GIT_SHA1 = GIT_SHA1;" >> $1
\ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c81873fd..df39c7c9 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,5 @@
-find_package(Threads REQUIRED)
set(THREADS_PREFER_PTHREAD_FLAG ON)
+find_package(Threads REQUIRED)
file(GLOB_RECURSE ${PROJECT}_SOURCES "*.cpp" "*.h" "*.rc")
@@ -17,9 +17,6 @@ endfunction()
header_directories(${PROJECT}_INCLUDES)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/extras/GitSHA1.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/extras/GitSHA1.cpp" @ONLY)
-list(APPEND ${PROJECT}_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/extras/GitSHA1.cpp")
-
add_executable(${EXECUTABLE} WIN32
${${PROJECT}_SOURCES}
)
@@ -49,8 +46,6 @@ if(LIBRW_PLATFORM_D3D9)
)
endif()
-target_compile_definitions(${EXECUTABLE} PRIVATE CMAKE_BUILD)
-
if(${PROJECT}_AUDIO STREQUAL "OAL")
find_package(OpenAL REQUIRED)
target_include_directories(${EXECUTABLE} PRIVATE ${OPENAL_INCLUDE_DIR})
diff --git a/src/animation/AnimManager.cpp b/src/animation/AnimManager.cpp
index c66997ce..557bd842 100644
--- a/src/animation/AnimManager.cpp
+++ b/src/animation/AnimManager.cpp
@@ -19,68 +19,68 @@ CAnimBlendAssocGroup *CAnimManager::ms_aAnimAssocGroups;
CLinkList CAnimManager::ms_animCache;
AnimAssocDesc aStdAnimDescs[] = {
- { ANIM_STD_WALK, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK },
- { ANIM_STD_RUN, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK },
- { ANIM_STD_RUNFAST, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK },
- { ANIM_STD_IDLE, ASSOC_REPEAT },
- { ANIM_STD_STARTWALK, ASSOC_HAS_TRANSLATION },
- { ANIM_STD_RUNSTOP1, ASSOC_DELETEFADEDOUT | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_RUNSTOP2, ASSOC_DELETEFADEDOUT | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_IDLE_CAM, ASSOC_REPEAT | ASSOC_PARTIAL },
- { ANIM_STD_IDLE_HBHB, ASSOC_REPEAT | ASSOC_PARTIAL },
- { ANIM_STD_IDLE_TIRED, ASSOC_REPEAT },
- { ANIM_STD_IDLE_BIGGUN, ASSOC_REPEAT | ASSOC_PARTIAL },
- { ANIM_STD_CHAT, ASSOC_REPEAT | ASSOC_PARTIAL },
- { ANIM_STD_HAILTAXI, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_KO_FRONT, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
- { ANIM_STD_KO_LEFT, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
- { ANIM_STD_KO_BACK, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
- { ANIM_STD_KO_RIGHT, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
- { ANIM_STD_KO_SHOT_FACE, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
- { ANIM_STD_KO_SHOT_STOMACH, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_KO_SHOT_ARM_L, ASSOC_PARTIAL | ASSOC_FRONTAL },
- { ANIM_STD_KO_SHOT_ARM_R, ASSOC_PARTIAL | ASSOC_FRONTAL },
- { ANIM_STD_KO_SHOT_LEG_L, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_KO_SHOT_LEG_R, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_SPINFORWARD_LEFT, ASSOC_PARTIAL | ASSOC_FRONTAL },
- { ANIM_STD_SPINFORWARD_RIGHT, ASSOC_PARTIAL | ASSOC_FRONTAL },
- { ANIM_STD_HIGHIMPACT_FRONT, ASSOC_PARTIAL },
- { ANIM_STD_HIGHIMPACT_LEFT, ASSOC_PARTIAL },
- { ANIM_STD_HIGHIMPACT_BACK, ASSOC_PARTIAL | ASSOC_FRONTAL },
- { ANIM_STD_HIGHIMPACT_RIGHT, ASSOC_PARTIAL },
- { ANIM_STD_HITBYGUN_FRONT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_HITBYGUN_LEFT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_HITBYGUN_BACK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_HITBYGUN_RIGHT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_HIT_FRONT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HIT_LEFT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_HIT_BACK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HIT_RIGHT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_HIT_FLOOR, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_WALK, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK },
+ { ANIM_RUN, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK },
+ { ANIM_SPRINT, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK },
+ { ANIM_IDLE_STANCE, ASSOC_REPEAT },
+ { ANIM_WALK_START, ASSOC_HAS_TRANSLATION },
+ { ANIM_RUN_STOP, ASSOC_DELETEFADEDOUT | ASSOC_HAS_TRANSLATION },
+ { ANIM_RUN_STOP_R, ASSOC_DELETEFADEDOUT | ASSOC_HAS_TRANSLATION },
+ { ANIM_IDLE_CAM, ASSOC_REPEAT | ASSOC_PARTIAL },
+ { ANIM_IDLE_HBHB, ASSOC_REPEAT | ASSOC_PARTIAL },
+ { ANIM_IDLE_TIRED, ASSOC_REPEAT },
+ { ANIM_IDLE_ARMED, ASSOC_REPEAT | ASSOC_PARTIAL },
+ { ANIM_IDLE_CHAT, ASSOC_REPEAT | ASSOC_PARTIAL },
+ { ANIM_IDLE_TAXI, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_KO_SHOT_FRONT1, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
+ { ANIM_KO_SHOT_FRONT2, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
+ { ANIM_KO_SHOT_FRONT3, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
+ { ANIM_KO_SHOT_FRONT4, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
+ { ANIM_KO_SHOT_FACE, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
+ { ANIM_KO_SHOT_STOM, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_KO_SHOT_ARML, ASSOC_PARTIAL | ASSOC_FRONTAL },
+ { ANIM_KO_SHOT_ARMR, ASSOC_PARTIAL | ASSOC_FRONTAL },
+ { ANIM_KO_SHOT_LEGL, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_KO_SHOT_LEGR, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_KD_LEFT, ASSOC_PARTIAL | ASSOC_FRONTAL },
+ { ANIM_KD_RIGHT, ASSOC_PARTIAL | ASSOC_FRONTAL },
+ { ANIM_KO_SKID_FRONT, ASSOC_PARTIAL },
+ { ANIM_KO_SPIN_R, ASSOC_PARTIAL },
+ { ANIM_KO_SKID_BACK, ASSOC_PARTIAL | ASSOC_FRONTAL },
+ { ANIM_KO_SPIN_L, ASSOC_PARTIAL },
+ { ANIM_SHOT_FRONT_PARTIAL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_SHOT_LEFT_PARTIAL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_SHOT_BACK_PARTIAL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_SHOT_RIGHT_PARTIAL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_HIT_FRONT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_HIT_LEFT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_HIT_BACK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_HIT_RIGHT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FLOOR_HIT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
#if GTA_VERSION <= GTA3_PS2_160
- { ANIM_STD_HIT_BODY, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_HIT_BODY, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
#endif
- { ANIM_STD_HIT_BODYBLOW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HIT_CHEST, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HIT_HEAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HIT_WALK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HIT_WALL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HIT_FLOOR_FRONT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL | ASSOC_FRONTAL },
- { ANIM_STD_HIT_BEHIND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_PUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_KICKGROUND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_WEAPON_BAT_H, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_WEAPON_BAT_V, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_WEAPON_HGUN_BODY, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_WEAPON_AK_BODY, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_WEAPON_PUMP, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_WEAPON_SNIPER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_WEAPON_THROW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_THROW_UNDER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_START_THROW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_DETONATE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_HGUN_RELOAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_AK_RELOAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_HIT_BODYBLOW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_HIT_CHEST, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_HIT_HEAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_HIT_WALK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_HIT_WALL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_FLOOR_HIT_F, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL | ASSOC_FRONTAL },
+ { ANIM_HIT_BEHIND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_PUNCH_R, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_KICK_FLOOR, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_BAT_H, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_BAT_V, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_HGUN_BODY, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_WEAPON_AK_BODY, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_PUMP, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_SNIPER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_THROW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_THROWU, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_WEAPON_START_THROW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_BOMBER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_HGUN_RELOAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_AK_RELOAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
#ifdef PC_PLAYER_CONTROLS
// maybe wrong define, but unused anyway
{ ANIM_FPS_PUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
@@ -91,121 +91,121 @@ AnimAssocDesc aStdAnimDescs[] = {
{ ANIM_FPS_M16, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FPS_ROCKET, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
#endif
- { ANIM_STD_FIGHT_IDLE, ASSOC_REPEAT },
- { ANIM_STD_FIGHT_2IDLE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_FIGHT_SHUFFLE_F, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_FIGHT_BODYBLOW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_FIGHT_HEAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_FIGHT_KICK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_FIGHT_KNEE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_FIGHT_LHOOK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_FIGHT_PUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_FIGHT_ROUNDHOUSE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_FIGHT_LONGKICK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_PARTIAL_PUNCH, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_JACKEDCAR_RHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_JACKEDCAR_LO_RHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_JACKEDCAR_LHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_JACKEDCAR_LO_LHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_QUICKJACK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_QUICKJACKED, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_CAR_ALIGN_DOOR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_ALIGNHI_DOOR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_OPEN_DOOR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CARDOOR_LOCKED_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_PULL_OUT_PED_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_PULL_OUT_PED_LO_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_GET_IN_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_GET_IN_LO_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_DOOR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_DOOR_LO_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LO_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_GETOUT_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_GETOUT_LO_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_ALIGN_DOOR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_ALIGNHI_DOOR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_OPEN_DOOR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CARDOOR_LOCKED_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_PULL_OUT_PED_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_PULL_OUT_PED_LO_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_GET_IN_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_GET_IN_LO_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_DOOR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_DOOR_LO_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_SHUFFLE_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_SHUFFLE_LO_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_SIT, ASSOC_DELETEFADEDOUT },
- { ANIM_STD_CAR_SIT_LO, ASSOC_DELETEFADEDOUT },
- { ANIM_STD_CAR_SIT_P, ASSOC_DELETEFADEDOUT },
- { ANIM_STD_CAR_SIT_P_LO, ASSOC_DELETEFADEDOUT },
- { ANIM_STD_CAR_DRIVE_LEFT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_CAR_DRIVE_RIGHT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_CAR_DRIVE_LEFT_LO, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_CAR_DRIVE_RIGHT_LO, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_CAR_DRIVEBY_LEFT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_CAR_DRIVEBY_RIGHT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_CAR_LOOKBEHIND, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_BOAT_DRIVE, ASSOC_DELETEFADEDOUT },
- { ANIM_STD_GETOUT_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_GETOUT_LO_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_CLOSE_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CAR_HOOKERTALK, ASSOC_REPEAT | ASSOC_PARTIAL },
- { ANIM_STD_COACH_OPEN_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_COACH_OPEN_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_COACH_GET_IN_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_COACH_GET_IN_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_COACH_GET_OUT_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_TRAIN_GETIN, ASSOC_PARTIAL },
- { ANIM_STD_TRAIN_GETOUT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CRAWLOUT_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_CRAWLOUT_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_OPEN_DOOR_REAR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_GET_IN_REAR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_GET_OUT_REAR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_OPEN_DOOR_REAR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_GET_IN_REAR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_VAN_GET_OUT_REAR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_GET_UP, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_GET_UP_LEFT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_GET_UP_RIGHT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_GET_UP_FRONT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_JUMP_LAUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_JUMP_GLIDE, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_JUMP_LAND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_FALL, ASSOC_REPEAT | ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_FALL_GLIDE, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_FALL_LAND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_FALL_COLLAPSE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_EVADE_STEP, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_EVADE_DIVE, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
- { ANIM_STD_XPRESS_SCRATCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_IDLE },
- { ANIM_STD_ROADCROSS, ASSOC_REPEAT | ASSOC_PARTIAL },
- { ANIM_STD_TURN180, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_ARREST, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_DROWN, ASSOC_PARTIAL },
- { ANIM_MEDIC_CPR, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_DUCK_DOWN, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_DUCK_LOW, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_RBLOCK_SHOOT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
- { ANIM_STD_THROW_UNDER2, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_HANDSUP, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_HANDSCOWER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
- { ANIM_STD_PARTIAL_FUCKU, ASSOC_DELETEFADEDOUT | ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
- { ANIM_STD_PHONE_IN, ASSOC_PARTIAL },
- { ANIM_STD_PHONE_OUT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
- { ANIM_STD_PHONE_TALK, ASSOC_REPEAT | ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_FIGHT_IDLE, ASSOC_REPEAT },
+ { ANIM_FIGHT2_IDLE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FIGHT_SH_F, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_FIGHT_BODYBLOW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FIGHT_HEAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FIGHT_KICK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FIGHT_KNEE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FIGHT_LHOOK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FIGHT_PUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_FIGHT_ROUNDHOUSE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_FIGHT_LONGKICK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_FIGHT_PPUNCH, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_CAR_JACKED_RHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_CAR_LJACKED_RHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_CAR_JACKED_LHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_CAR_LJACKED_LHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_CAR_QJACK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_QJACKED, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_CAR_ALIGN_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_ALIGNHI_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_OPEN_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_DOORLOCKED_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_PULLOUT_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_PULLOUT_LOW_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_GETIN_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_GETIN_LOW_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CLOSEDOOR_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CLOSEDOOR_LOW_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_ROLLDOOR, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_ROLLDOOR_LOW, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_GETOUT_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_GETOUT_LOW_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CLOSE_LHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_ALIGN_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_ALIGNHI_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_OPEN_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_DOORLOCKED_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_PULLOUT_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_PULLOUT_LOW_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_GETIN_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_GETIN_LOW_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CLOSEDOOR_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CLOSEDOOR_LOW_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_SHUFFLE_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_LSHUFFLE_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_SIT, ASSOC_DELETEFADEDOUT },
+ { ANIM_CAR_LSIT, ASSOC_DELETEFADEDOUT },
+ { ANIM_CAR_SITP, ASSOC_DELETEFADEDOUT },
+ { ANIM_CAR_SITPLO, ASSOC_DELETEFADEDOUT },
+ { ANIM_DRIVE_L, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_DRIVE_R, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_DRIVE_LOW_L, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_DRIVE_LOW_R, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_DRIVEBY_L, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_DRIVEBY_R, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_CAR_LB, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_DRIVE_BOAT, ASSOC_DELETEFADEDOUT },
+ { ANIM_CAR_GETOUT_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_GETOUT_LOW_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CLOSE_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_HOOKERTALK, ASSOC_REPEAT | ASSOC_PARTIAL },
+ { ANIM_COACH_OPEN_L, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_COACH_OPEN_R, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_COACH_IN_L, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_COACH_IN_R, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_COACH_OUT_L, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_TRAIN_GETIN, ASSOC_PARTIAL },
+ { ANIM_TRAIN_GETOUT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CRAWLOUT_RHS, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_CAR_CRAWLOUT_RHS2, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_OPEN_L, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_GETIN_L, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_CLOSE_L, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_GETOUT_L, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_OPEN, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_GETIN, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_CLOSE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_VAN_GETOUT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_GETUP1, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_GETUP2, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_GETUP3, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_GETUP_FRONT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_JUMP_LAUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_JUMP_GLIDE, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_JUMP_LAND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_FALL_FALL, ASSOC_REPEAT | ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_FALL_GLIDE, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_FALL_LAND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_FALL_COLLAPSE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_EV_STEP, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_EV_DIVE, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION | ASSOC_FRONTAL },
+ { ANIM_XPRESS_SCRATCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_IDLE },
+ { ANIM_ROAD_CROSS, ASSOC_REPEAT | ASSOC_PARTIAL },
+ { ANIM_TURN_180, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_ARREST_GUN, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_DROWN, ASSOC_PARTIAL },
+ { ANIM_CPR, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_DUCK_DOWN, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_DUCK_LOW, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_RBLOCK_CSHOOT, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
+ { ANIM_WEAPON_THROWU2, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_HANDSUP, ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_HANDSCOWER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
+ { ANIM_FUCKU, ASSOC_DELETEFADEDOUT | ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
+ { ANIM_PHONE_IN, ASSOC_PARTIAL },
+ { ANIM_PHONE_OUT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
+ { ANIM_PHONE_TALK, ASSOC_REPEAT | ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
};
#ifdef PC_PLAYER_CONTROLS
AnimAssocDesc aStdAnimDescsSide[] = {
- { ANIM_STD_WALK, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK | ASSOC_HAS_X_TRANSLATION },
- { ANIM_STD_RUN, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK | ASSOC_HAS_X_TRANSLATION },
- { ANIM_STD_RUNFAST, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK | ASSOC_HAS_X_TRANSLATION },
- { ANIM_STD_IDLE, ASSOC_REPEAT },
- { ANIM_STD_STARTWALK, ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION },
+ { ANIM_WALK, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK | ASSOC_HAS_X_TRANSLATION },
+ { ANIM_RUN, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK | ASSOC_HAS_X_TRANSLATION },
+ { ANIM_SPRINT, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_WALK | ASSOC_HAS_X_TRANSLATION },
+ { ANIM_IDLE_STANCE, ASSOC_REPEAT },
+ { ANIM_WALK_START, ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION },
};
#endif
char const *aStdAnimations[] = {
diff --git a/src/animation/AnimationId.h b/src/animation/AnimationId.h
index baf6eb33..4b3dd92d 100644
--- a/src/animation/AnimationId.h
+++ b/src/animation/AnimationId.h
@@ -2,82 +2,68 @@
enum AnimationId
{
- ANIM_STD_WALK,
- ANIM_STD_RUN,
- ANIM_STD_RUNFAST,
- ANIM_STD_IDLE,
- ANIM_STD_STARTWALK,
- ANIM_STD_RUNSTOP1,
- ANIM_STD_RUNSTOP2,
- ANIM_STD_IDLE_CAM,
- ANIM_STD_IDLE_HBHB,
- ANIM_STD_IDLE_TIRED,
- ANIM_STD_IDLE_BIGGUN,
- ANIM_STD_CHAT,
- ANIM_STD_HAILTAXI,
- ANIM_STD_KO_FRONT,
- ANIM_STD_KO_LEFT,
- ANIM_STD_KO_BACK,
- ANIM_STD_KO_RIGHT,
- ANIM_STD_KO_SHOT_FACE,
- ANIM_STD_KO_SHOT_STOMACH,
- ANIM_STD_KO_SHOT_ARM_L,
- ANIM_STD_KO_SHOT_ARM_R,
- ANIM_STD_KO_SHOT_LEG_L,
- ANIM_STD_KO_SHOT_LEG_R,
- ANIM_STD_SPINFORWARD_LEFT,
- ANIM_STD_SPINFORWARD_RIGHT,
- ANIM_STD_HIGHIMPACT_FRONT,
- ANIM_STD_HIGHIMPACT_LEFT,
- ANIM_STD_HIGHIMPACT_BACK,
- ANIM_STD_HIGHIMPACT_RIGHT,
- ANIM_STD_HITBYGUN_FRONT,
- ANIM_STD_HITBYGUN_LEFT,
- ANIM_STD_HITBYGUN_BACK,
- ANIM_STD_HITBYGUN_RIGHT,
- ANIM_STD_HIT_FRONT,
- ANIM_STD_HIT_LEFT,
- ANIM_STD_HIT_BACK,
- ANIM_STD_HIT_RIGHT,
- ANIM_STD_HIT_FLOOR,
-
- /* names made up */
+ ANIM_WALK,
+ ANIM_RUN,
+ ANIM_SPRINT,
+ ANIM_IDLE_STANCE,
+ ANIM_WALK_START,
+ ANIM_RUN_STOP,
+ ANIM_RUN_STOP_R,
+ ANIM_IDLE_CAM,
+ ANIM_IDLE_HBHB,
+ ANIM_IDLE_TIRED,
+ ANIM_IDLE_ARMED,
+ ANIM_IDLE_CHAT,
+ ANIM_IDLE_TAXI,
+ ANIM_KO_SHOT_FRONT1,
+ ANIM_KO_SHOT_FRONT2,
+ ANIM_KO_SHOT_FRONT3,
+ ANIM_KO_SHOT_FRONT4,
+ ANIM_KO_SHOT_FACE,
+ ANIM_KO_SHOT_STOM,
+ ANIM_KO_SHOT_ARML,
+ ANIM_KO_SHOT_ARMR,
+ ANIM_KO_SHOT_LEGL,
+ ANIM_KO_SHOT_LEGR,
+ ANIM_KD_LEFT,
+ ANIM_KD_RIGHT,
+ ANIM_KO_SKID_FRONT,
+ ANIM_KO_SPIN_R, // named left in VC
+ ANIM_KO_SKID_BACK,
+ ANIM_KO_SPIN_L, // named right in VC
+ ANIM_SHOT_FRONT_PARTIAL,
+ ANIM_SHOT_LEFT_PARTIAL,
+ ANIM_SHOT_BACK_PARTIAL,
+ ANIM_SHOT_RIGHT_PARTIAL,
+ ANIM_HIT_FRONT,
+ ANIM_HIT_LEFT,
+ ANIM_HIT_BACK,
+ ANIM_HIT_RIGHT,
+ ANIM_FLOOR_HIT,
#if GTA_VERSION <= GTA3_PS2_160
- ANIM_STD_HIT_BODY,
+ ANIM_HIT_BODY,
#endif
- ANIM_STD_HIT_BODYBLOW,
- ANIM_STD_HIT_CHEST,
- ANIM_STD_HIT_HEAD,
- ANIM_STD_HIT_WALK,
- /**/
-
- ANIM_STD_HIT_WALL,
- ANIM_STD_HIT_FLOOR_FRONT,
- ANIM_STD_HIT_BEHIND,
- ANIM_STD_PUNCH,
- ANIM_STD_KICKGROUND,
-
- /* names made up */
- ANIM_STD_WEAPON_BAT_H,
- ANIM_STD_WEAPON_BAT_V,
- ANIM_STD_WEAPON_HGUN_BODY,
- ANIM_STD_WEAPON_AK_BODY,
- ANIM_STD_WEAPON_PUMP,
- ANIM_STD_WEAPON_SNIPER,
- ANIM_STD_WEAPON_THROW,
- /**/
-
- ANIM_STD_THROW_UNDER,
-
- /* names made up */
- ANIM_STD_START_THROW,
- /**/
-
- ANIM_STD_DETONATE,
-
- /* names made up */
- ANIM_STD_HGUN_RELOAD,
- ANIM_STD_AK_RELOAD,
+ ANIM_HIT_BODYBLOW,
+ ANIM_HIT_CHEST,
+ ANIM_HIT_HEAD,
+ ANIM_HIT_WALK,
+ ANIM_HIT_WALL,
+ ANIM_FLOOR_HIT_F,
+ ANIM_HIT_BEHIND,
+ ANIM_PUNCH_R,
+ ANIM_KICK_FLOOR,
+ ANIM_WEAPON_BAT_H,
+ ANIM_WEAPON_BAT_V,
+ ANIM_WEAPON_HGUN_BODY,
+ ANIM_WEAPON_AK_BODY,
+ ANIM_WEAPON_PUMP,
+ ANIM_WEAPON_SNIPER,
+ ANIM_WEAPON_THROW,
+ ANIM_WEAPON_THROWU,
+ ANIM_WEAPON_START_THROW,
+ ANIM_BOMBER,
+ ANIM_HGUN_RELOAD,
+ ANIM_AK_RELOAD,
#ifdef PC_PLAYER_CONTROLS
// maybe wrong define, but unused anyway
ANIM_FPS_PUNCH,
@@ -88,123 +74,113 @@ enum AnimationId
ANIM_FPS_M16,
ANIM_FPS_ROCKET,
#endif
- /**/
-
- ANIM_STD_FIGHT_IDLE,
- ANIM_STD_FIGHT_2IDLE,
- ANIM_STD_FIGHT_SHUFFLE_F,
-
- /* names made up */
- ANIM_STD_FIGHT_BODYBLOW,
- ANIM_STD_FIGHT_HEAD,
- ANIM_STD_FIGHT_KICK,
- ANIM_STD_FIGHT_KNEE,
- ANIM_STD_FIGHT_LHOOK,
- ANIM_STD_FIGHT_PUNCH,
- ANIM_STD_FIGHT_ROUNDHOUSE,
- ANIM_STD_FIGHT_LONGKICK,
- /**/
-
- ANIM_STD_PARTIAL_PUNCH,
- ANIM_STD_JACKEDCAR_RHS,
- ANIM_STD_JACKEDCAR_LO_RHS,
- ANIM_STD_JACKEDCAR_LHS,
- ANIM_STD_JACKEDCAR_LO_LHS,
- ANIM_STD_QUICKJACK,
- ANIM_STD_QUICKJACKED,
- ANIM_STD_CAR_ALIGN_DOOR_LHS,
- ANIM_STD_CAR_ALIGNHI_DOOR_LHS,
- ANIM_STD_CAR_OPEN_DOOR_LHS,
- ANIM_STD_CARDOOR_LOCKED_LHS,
- ANIM_STD_CAR_PULL_OUT_PED_LHS,
- ANIM_STD_CAR_PULL_OUT_PED_LO_LHS,
- ANIM_STD_CAR_GET_IN_LHS,
- ANIM_STD_CAR_GET_IN_LO_LHS,
- ANIM_STD_CAR_CLOSE_DOOR_LHS,
- ANIM_STD_CAR_CLOSE_DOOR_LO_LHS,
- ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS,
- ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LO_LHS,
- ANIM_STD_GETOUT_LHS,
- ANIM_STD_GETOUT_LO_LHS,
- ANIM_STD_CAR_CLOSE_LHS,
- ANIM_STD_CAR_ALIGN_DOOR_RHS,
- ANIM_STD_CAR_ALIGNHI_DOOR_RHS,
- ANIM_STD_CAR_OPEN_DOOR_RHS,
- ANIM_STD_CARDOOR_LOCKED_RHS,
- ANIM_STD_CAR_PULL_OUT_PED_RHS,
- ANIM_STD_CAR_PULL_OUT_PED_LO_RHS,
- ANIM_STD_CAR_GET_IN_RHS,
- ANIM_STD_CAR_GET_IN_LO_RHS,
- ANIM_STD_CAR_CLOSE_DOOR_RHS,
- ANIM_STD_CAR_CLOSE_DOOR_LO_RHS,
- ANIM_STD_CAR_SHUFFLE_RHS,
- ANIM_STD_CAR_SHUFFLE_LO_RHS,
- ANIM_STD_CAR_SIT,
- ANIM_STD_CAR_SIT_LO,
- ANIM_STD_CAR_SIT_P,
- ANIM_STD_CAR_SIT_P_LO,
- ANIM_STD_CAR_DRIVE_LEFT,
- ANIM_STD_CAR_DRIVE_RIGHT,
- ANIM_STD_CAR_DRIVE_LEFT_LO,
- ANIM_STD_CAR_DRIVE_RIGHT_LO,
- ANIM_STD_CAR_DRIVEBY_LEFT,
- ANIM_STD_CAR_DRIVEBY_RIGHT,
- ANIM_STD_CAR_LOOKBEHIND,
- ANIM_STD_BOAT_DRIVE,
- ANIM_STD_GETOUT_RHS,
- ANIM_STD_GETOUT_LO_RHS,
- ANIM_STD_CAR_CLOSE_RHS,
- ANIM_STD_CAR_HOOKERTALK,
- ANIM_STD_COACH_OPEN_LHS,
- ANIM_STD_COACH_OPEN_RHS,
- ANIM_STD_COACH_GET_IN_LHS,
- ANIM_STD_COACH_GET_IN_RHS,
- ANIM_STD_COACH_GET_OUT_LHS,
- ANIM_STD_TRAIN_GETIN,
- ANIM_STD_TRAIN_GETOUT,
- ANIM_STD_CRAWLOUT_LHS,
- ANIM_STD_CRAWLOUT_RHS,
- ANIM_STD_VAN_OPEN_DOOR_REAR_LHS,
- ANIM_STD_VAN_GET_IN_REAR_LHS,
- ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS,
- ANIM_STD_VAN_GET_OUT_REAR_LHS,
- ANIM_STD_VAN_OPEN_DOOR_REAR_RHS,
- ANIM_STD_VAN_GET_IN_REAR_RHS,
- ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS,
- ANIM_STD_VAN_GET_OUT_REAR_RHS,
- ANIM_STD_GET_UP,
- ANIM_STD_GET_UP_LEFT,
- ANIM_STD_GET_UP_RIGHT,
- ANIM_STD_GET_UP_FRONT,
- ANIM_STD_JUMP_LAUNCH,
- ANIM_STD_JUMP_GLIDE,
- ANIM_STD_JUMP_LAND,
- ANIM_STD_FALL,
- ANIM_STD_FALL_GLIDE,
- ANIM_STD_FALL_LAND,
- ANIM_STD_FALL_COLLAPSE,
- ANIM_STD_EVADE_STEP,
- ANIM_STD_EVADE_DIVE,
- ANIM_STD_XPRESS_SCRATCH,
- ANIM_STD_ROADCROSS,
- ANIM_STD_TURN180,
- ANIM_STD_ARREST,
- ANIM_STD_DROWN,
- ANIM_MEDIC_CPR,
- ANIM_STD_DUCK_DOWN,
- ANIM_STD_DUCK_LOW,
- ANIM_STD_RBLOCK_SHOOT,
-
- /* names made up */
- ANIM_STD_THROW_UNDER2,
- /**/
-
- ANIM_STD_HANDSUP,
- ANIM_STD_HANDSCOWER,
- ANIM_STD_PARTIAL_FUCKU,
- ANIM_STD_PHONE_IN,
- ANIM_STD_PHONE_OUT,
- ANIM_STD_PHONE_TALK,
+ ANIM_FIGHT_IDLE,
+ ANIM_FIGHT2_IDLE,
+ ANIM_FIGHT_SH_F,
+ ANIM_FIGHT_BODYBLOW,
+ ANIM_FIGHT_HEAD,
+ ANIM_FIGHT_KICK,
+ ANIM_FIGHT_KNEE,
+ ANIM_FIGHT_LHOOK,
+ ANIM_FIGHT_PUNCH,
+ ANIM_FIGHT_ROUNDHOUSE,
+ ANIM_FIGHT_LONGKICK,
+ ANIM_FIGHT_PPUNCH,
+ ANIM_CAR_JACKED_RHS,
+ ANIM_CAR_LJACKED_RHS,
+ ANIM_CAR_JACKED_LHS,
+ ANIM_CAR_LJACKED_LHS,
+ ANIM_CAR_QJACK,
+ ANIM_CAR_QJACKED,
+ ANIM_CAR_ALIGN_LHS,
+ ANIM_CAR_ALIGNHI_LHS,
+ ANIM_CAR_OPEN_LHS,
+ ANIM_CAR_DOORLOCKED_LHS,
+ ANIM_CAR_PULLOUT_LHS,
+ ANIM_CAR_PULLOUT_LOW_LHS,
+ ANIM_CAR_GETIN_LHS,
+ ANIM_CAR_GETIN_LOW_LHS,
+ ANIM_CAR_CLOSEDOOR_LHS,
+ ANIM_CAR_CLOSEDOOR_LOW_LHS,
+ ANIM_CAR_ROLLDOOR,
+ ANIM_CAR_ROLLDOOR_LOW,
+ ANIM_CAR_GETOUT_LHS,
+ ANIM_CAR_GETOUT_LOW_LHS,
+ ANIM_CAR_CLOSE_LHS,
+ ANIM_CAR_ALIGN_RHS,
+ ANIM_CAR_ALIGNHI_RHS,
+ ANIM_CAR_OPEN_RHS,
+ ANIM_CAR_DOORLOCKED_RHS,
+ ANIM_CAR_PULLOUT_RHS,
+ ANIM_CAR_PULLOUT_LOW_RHS,
+ ANIM_CAR_GETIN_RHS,
+ ANIM_CAR_GETIN_LOW_RHS,
+ ANIM_CAR_CLOSEDOOR_RHS,
+ ANIM_CAR_CLOSEDOOR_LOW_RHS,
+ ANIM_CAR_SHUFFLE_RHS,
+ ANIM_CAR_LSHUFFLE_RHS,
+ ANIM_CAR_SIT,
+ ANIM_CAR_LSIT,
+ ANIM_CAR_SITP,
+ ANIM_CAR_SITPLO,
+ ANIM_DRIVE_L,
+ ANIM_DRIVE_R,
+ ANIM_DRIVE_LOW_L,
+ ANIM_DRIVE_LOW_R,
+ ANIM_DRIVEBY_L,
+ ANIM_DRIVEBY_R,
+ ANIM_CAR_LB,
+ ANIM_DRIVE_BOAT,
+ ANIM_CAR_GETOUT_RHS,
+ ANIM_CAR_GETOUT_LOW_RHS,
+ ANIM_CAR_CLOSE_RHS,
+ ANIM_CAR_HOOKERTALK,
+ ANIM_COACH_OPEN_L,
+ ANIM_COACH_OPEN_R,
+ ANIM_COACH_IN_L,
+ ANIM_COACH_IN_R,
+ ANIM_COACH_OUT_L,
+ ANIM_TRAIN_GETIN,
+ ANIM_TRAIN_GETOUT,
+ ANIM_CAR_CRAWLOUT_RHS,
+ ANIM_CAR_CRAWLOUT_RHS2,
+ ANIM_VAN_OPEN_L,
+ ANIM_VAN_GETIN_L,
+ ANIM_VAN_CLOSE_L,
+ ANIM_VAN_GETOUT_L,
+ ANIM_VAN_OPEN,
+ ANIM_VAN_GETIN,
+ ANIM_VAN_CLOSE,
+ ANIM_VAN_GETOUT,
+ ANIM_GETUP1,
+ ANIM_GETUP2,
+ ANIM_GETUP3,
+ ANIM_GETUP_FRONT,
+ ANIM_JUMP_LAUNCH,
+ ANIM_JUMP_GLIDE,
+ ANIM_JUMP_LAND,
+ ANIM_FALL_FALL,
+ ANIM_FALL_GLIDE,
+ ANIM_FALL_LAND,
+ ANIM_FALL_COLLAPSE,
+ ANIM_EV_STEP,
+ ANIM_EV_DIVE,
+ ANIM_XPRESS_SCRATCH,
+ ANIM_ROAD_CROSS,
+ ANIM_TURN_180,
+ ANIM_ARREST_GUN,
+ ANIM_DROWN,
+ ANIM_CPR,
+ ANIM_DUCK_DOWN,
+ ANIM_DUCK_LOW,
+ ANIM_RBLOCK_CSHOOT,
+ ANIM_WEAPON_THROWU2,
+ ANIM_HANDSUP,
+ ANIM_HANDSCOWER,
+ ANIM_FUCKU,
+ ANIM_PHONE_IN,
+ ANIM_PHONE_OUT,
+ ANIM_PHONE_TALK,
- ANIM_STD_NUM
+ NUM_ANIMS
};
\ No newline at end of file
diff --git a/src/audio/AudioLogic.cpp b/src/audio/AudioLogic.cpp
index ec364c27..eab14ce6 100644
--- a/src/audio/AudioLogic.cpp
+++ b/src/audio/AudioLogic.cpp
@@ -7927,7 +7927,7 @@ cAudioManager::ProcessFrontEnd()
frontendBank = true;
stereo = true;
break;
- case SOUND_FRONTEND_RADIO_TURN_OFF:
+ case SOUND_FRONTEND_NO_RADIO:
case SOUND_FRONTEND_RADIO_CHANGE:
m_sQueueSample.m_nSampleIndex = SFX_RADIO_CLICK;
break;
diff --git a/src/audio/MusicManager.cpp b/src/audio/MusicManager.cpp
index 3e1a7384..54c1b0bc 100644
--- a/src/audio/MusicManager.cpp
+++ b/src/audio/MusicManager.cpp
@@ -15,9 +15,6 @@
#include "World.h"
#include "sampman.h"
-#if !defined FIX_BUGS && (defined RADIO_SCROLL_TO_PREV_STATION || defined RADIO_OFF_TEXT)
-static_assert(false, "RADIO_SCROLL_TO_PREV_STATION and RADIO_OFF_TEXT won't work correctly without FIX_BUGS");
-#endif
cMusicManager MusicManager;
int32 gNumRetunePresses;
@@ -29,8 +26,8 @@ cMusicManager::cMusicManager()
m_bIsInitialised = false;
m_bDisabled = false;
m_nMusicMode = MUSICMODE_DISABLED;
- m_nNextTrack = NO_TRACK;
- m_nPlayingTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
+ m_nPreviousStreamedSound = NO_TRACK;
m_bFrontendTrackFinished = false;
m_bPlayInFrontend = false;
m_bSetNextStation = false;
@@ -38,7 +35,7 @@ cMusicManager::cMusicManager()
m_bPreviousPlayerInCar = false;
m_bPlayerInCar = false;
m_bAnnouncementInProgress = false;
- m_bVerifyAmbienceTrackStartedToPlay = false;
+ m_bDontServiceAmbienceTrack = false;
bHasStarted = false;
}
@@ -86,15 +83,16 @@ cMusicManager::DisplayRadioStationName()
if(m_bPlayerInCar && !m_bPreviousPlayerInCar)
pCurrentStation = nil;
-#ifdef FIX_BUGS
- const int curRadio = GetCarTuning();
-#else
- const int curRadio = m_nNextTrack;
-#endif
-
#ifdef RADIO_SCROLL_TO_PREV_STATION
if(gNumRetunePresses < 0) {
- gStreamedSound = curRadio;
+ gStreamedSound = m_nCurrentStreamedSound;
+
+ if(gStreamedSound == STREAMED_SOUND_CITY_AMBIENT ||
+ gStreamedSound == STREAMED_SOUND_WATER_AMBIENT) {
+ gStreamedSound = POLICE_RADIO; // which means OFF
+
+ } else if(gStreamedSound > STREAMED_SOUND_RADIO_MP3_PLAYER)
+ return;
gRetuneCounter = gNumRetunePresses;
pRetune = gStreamedSound;
@@ -102,7 +100,7 @@ cMusicManager::DisplayRadioStationName()
while(gRetuneCounter < 0) {
if(pRetune == HEAD_RADIO) {
pRetune = RADIO_OFF;
- } else if(pRetune == RADIO_OFF || pRetune == NUM_RADIOS) {
+ } else if(pRetune == RADIO_OFF || pRetune == POLICE_RADIO) {
pRetune = SampleManager.IsMP3RadioChannelAvailable() ? USERTRACK : USERTRACK - 1;
} else
pRetune--;
@@ -112,38 +110,31 @@ cMusicManager::DisplayRadioStationName()
} else
#endif
if(SampleManager.IsMP3RadioChannelAvailable()) {
- gStreamedSound = curRadio;
+ gStreamedSound = m_nCurrentStreamedSound;
if(gStreamedSound == STREAMED_SOUND_CITY_AMBIENT ||
- gStreamedSound == STREAMED_SOUND_WATER_AMBIENT) { // which means OFF
- gStreamedSound = NUM_RADIOS;
+ gStreamedSound == STREAMED_SOUND_WATER_AMBIENT) {
+ gStreamedSound = POLICE_RADIO; // which means OFF
} else if(gStreamedSound > STREAMED_SOUND_RADIO_MP3_PLAYER)
return;
pRetune = gNumRetunePresses + gStreamedSound;
-#ifdef FIX_BUGS
- while(pRetune > NUM_RADIOS)
- pRetune -= (NUM_RADIOS + 1);
-#endif
- if(pRetune == NUM_RADIOS) {
+ if(pRetune == POLICE_RADIO) {
pRetune = RADIO_OFF;
+ } else if(pRetune > POLICE_RADIO) {
+ pRetune = pRetune - RADIO_OFF;
}
-#ifndef FIX_BUGS
- else if(pRetune > NUM_RADIOS) {
- pRetune = pRetune - (NUM_RADIOS + 1);
- }
-#endif
} else {
- gStreamedSound = curRadio;
+ gStreamedSound = m_nCurrentStreamedSound;
pRetune = gNumRetunePresses + gStreamedSound;
if(pRetune >= USERTRACK) {
gRetuneCounter = gNumRetunePresses;
- pRetune = curRadio;
+ pRetune = m_nCurrentStreamedSound;
if(gStreamedSound == STREAMED_SOUND_WATER_AMBIENT)
- pRetune = STREAMED_SOUND_CITY_AMBIENT; // which is RADIO_OFF
+ pRetune = RADIO_OFF;
while(gRetuneCounter) {
if(pRetune == RADIO_OFF) {
@@ -158,7 +149,7 @@ cMusicManager::DisplayRadioStationName()
}
}
- wchar *string;
+ wchar *string = nil;
switch(pRetune) {
case HEAD_RADIO: string = TheText.Get("FEA_FM0"); break;
@@ -170,27 +161,22 @@ cMusicManager::DisplayRadioStationName()
case MSX_FM: string = TheText.Get("FEA_FM6"); break;
case FLASHBACK: string = TheText.Get("FEA_FM7"); break;
case CHATTERBOX: string = TheText.Get("FEA_FM8"); break;
- case USERTRACK:
- if (!SampleManager.IsMP3RadioChannelAvailable())
- return;
- string = TheText.Get("FEA_FM9"); break;
+ case USERTRACK: string = TheText.Get("FEA_FM9"); break;
#ifdef RADIO_OFF_TEXT
- case RADIO_OFF: {
- extern wchar WideErrorString[];
-
- string = TheText.Get("FEA_FMN");
- if(string == WideErrorString) {
- pCurrentStation = nil;
- return;
- }
- break;
- }
+ case RADIO_OFF: case POLICE_RADIO: string = TheText.Get("FEM_OFF"); break;
#endif
default: return;
};
- if(pCurrentStation != string ||
- m_nNextTrack == STREAMED_SOUND_RADIO_MP3_PLAYER && m_nPlayingTrack != STREAMED_SOUND_RADIO_MP3_PLAYER) {
+#ifdef RADIO_OFF_TEXT
+ if(pRetune == USERTRACK && !SampleManager.IsMP3RadioChannelAvailable()) { string = TheText.Get("FEM_OFF"); }
+#else
+ if(pRetune > CHATTERBOX && !SampleManager.IsMP3RadioChannelAvailable()) { return; }
+#endif
+
+ if(string && pCurrentStation != string ||
+ m_nCurrentStreamedSound == STREAMED_SOUND_RADIO_MP3_PLAYER &&
+ m_nPreviousStreamedSound != STREAMED_SOUND_RADIO_MP3_PLAYER) {
pCurrentStation = string;
cDisplay = 60;
} else {
@@ -271,7 +257,7 @@ cMusicManager::Initialise()
m_bDoTrackService = false;
m_bIgnoreTimeDelay = false;
m_bRadioSetByScript = false;
- m_nRadioStationScript = HEAD_RADIO;
+ m_nRadioStation = HEAD_RADIO;
m_nRadioPosition = -1;
m_nRadioInCar = NO_TRACK;
gNumRetunePresses = 0;
@@ -288,8 +274,8 @@ cMusicManager::Terminate()
if (SampleManager.IsStreamPlaying(0)) {
SampleManager.StopStreamedFile(0);
- m_nNextTrack = NO_TRACK;
- m_nPlayingTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
+ m_nPreviousStreamedSound = NO_TRACK;
}
m_bIsInitialised = false;
}
@@ -317,14 +303,14 @@ cMusicManager::ChangeMusicMode(uint8 mode)
case MUSICMODE_CUTSCENE:
case MUSICMODE_DISABLED:
if (SampleManager.IsStreamPlaying(0)) {
- if (m_nNextTrack < TOTAL_STREAMED_SOUNDS) {
- m_aTracks[m_nNextTrack].m_nPosition = SampleManager.GetStreamedFilePosition(0);
- m_aTracks[m_nNextTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ if (m_nCurrentStreamedSound < TOTAL_STREAMED_SOUNDS) {
+ m_aTracks[m_nCurrentStreamedSound].m_nPosition = SampleManager.GetStreamedFilePosition(0);
+ m_aTracks[m_nCurrentStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
}
SampleManager.StopStreamedFile(0);
}
- m_nNextTrack = NO_TRACK;
- m_nPlayingTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
+ m_nPreviousStreamedSound = NO_TRACK;
m_bFrontendTrackFinished = false;
m_bPlayInFrontend = false;
m_bSetNextStation = false;
@@ -334,7 +320,7 @@ cMusicManager::ChangeMusicMode(uint8 mode)
m_nTimer = m_nLastTrackServiceTime = CTimer::GetTimeInMillisecondsPauseMode();
m_bDoTrackService = false;
m_bIgnoreTimeDelay = true;
- m_bVerifyAmbienceTrackStartedToPlay = false;
+ m_bDontServiceAmbienceTrack = false;
m_nMusicMode = mode2;
break;
default: return;
@@ -384,7 +370,7 @@ cMusicManager::SetRadioChannelByScript(uint8 station, int32 pos)
{
if (m_bIsInitialised && station < RADIO_OFF) {
m_bRadioSetByScript = true;
- m_nRadioStationScript = station;
+ m_nRadioStation = station;
m_nRadioPosition = pos == -1 ? -1 : pos % m_aTracks[station].m_nLength;
}
}
@@ -394,7 +380,7 @@ void
cMusicManager::ResetMusicAfterReload()
{
m_bRadioSetByScript = false;
- m_nRadioStationScript = 0;
+ m_nRadioStation = 0;
m_nRadioPosition = -1;
m_nAnnouncement = NO_TRACK;
m_bAnnouncementInProgress = false;
@@ -433,7 +419,7 @@ cMusicManager::Service()
m_nLastTrackServiceTime = m_nTimer;
} else m_bDoTrackService = false;
- if (m_nNextTrack == NO_TRACK && SampleManager.IsStreamPlaying(0))
+ if (m_nCurrentStreamedSound == NO_TRACK && SampleManager.IsStreamPlaying(0))
SampleManager.StopStreamedFile(0);
else switch (m_nMusicMode) {
case MUSICMODE_FRONTEND: ServiceFrontEndMode(); break;
@@ -444,10 +430,10 @@ cMusicManager::Service()
void
cMusicManager::ServiceFrontEndMode()
{
- if (m_nNextTrack < TOTAL_STREAMED_SOUNDS) {
+ if (m_nCurrentStreamedSound < TOTAL_STREAMED_SOUNDS) {
if (m_bFrontendTrackFinished) {
if (!SampleManager.IsStreamPlaying(0)) {
- switch (m_nNextTrack)
+ switch (m_nCurrentStreamedSound)
{
case STREAMED_SOUND_MISSION_COMPLETED:
if (!AudioManager.m_nUserPause)
@@ -459,15 +445,15 @@ cMusicManager::ServiceFrontEndMode()
default:
break;
}
- m_nNextTrack = NO_TRACK;
- m_nPlayingTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
+ m_nPreviousStreamedSound = NO_TRACK;
}
} else if (bHasStarted) {
if (!SampleManager.IsStreamPlaying(0))
- SampleManager.StartStreamedFile(m_nNextTrack, 0, 0);
+ SampleManager.StartStreamedFile(m_nCurrentStreamedSound, 0, 0);
} else {
SampleManager.SetStreamedVolumeAndPan(0, 63, 0, 0);
- if (!SampleManager.StartStreamedFile(m_nNextTrack, m_nNextTrack < NUM_RADIOS ? GetTrackStartPos(m_nNextTrack) : 0, 0))
+ if (!SampleManager.StartStreamedFile(m_nCurrentStreamedSound, m_nCurrentStreamedSound < STREAMED_SOUND_RADIO_POLICE ? GetTrackStartPos(m_nCurrentStreamedSound) : 0, 0))
return;
SampleManager.SetStreamedVolumeAndPan(100, 63, 0, 0);
if (m_bPlayInFrontend) bHasStarted = true;
@@ -487,7 +473,7 @@ cMusicManager::ServiceGameMode()
m_bPreviousPlayerInCar = m_bPlayerInCar;
m_bPlayerInCar = PlayerInCar();
- m_nPlayingTrack = m_nNextTrack;
+ m_nPreviousStreamedSound = m_nCurrentStreamedSound;
if (m_bPlayerInCar) {
if (FindPlayerPed() != nil
&& !FindPlayerPed()->DyingOrDead()
@@ -499,13 +485,10 @@ cMusicManager::ServiceGameMode()
gRetuneCounter = 30;
gNumRetunePresses++;
AudioManager.PlayOneShot(AudioManager.m_nFrontEndEntity, SOUND_FRONTEND_RADIO_CHANGE, 1.0f);
- // This needs loop, and this is not the right place. Now done elsewhere.
-#ifndef FIX_BUGS
if (SampleManager.IsMP3RadioChannelAvailable()) {
if (gNumRetunePresses > RADIO_OFF)
gNumRetunePresses -= RADIO_OFF;
}
-#endif
}
#ifdef RADIO_SCROLL_TO_PREV_STATION
else if(CPad::GetPad(0)->GetMouseWheelDownJustDown() || CPad::GetPad(0)->GetMouseWheelUpJustDown()) {
@@ -528,8 +511,8 @@ cMusicManager::ServiceGameMode()
m_bPreviousPlayerInCar = false;
if (!m_bPlayerInCar) {
if (m_bPreviousPlayerInCar) {
- if (m_nNextTrack != STREAMED_SOUND_RADIO_POLICE)
- m_nRadioInCar = m_nNextTrack;
+ if (m_nCurrentStreamedSound != STREAMED_SOUND_RADIO_POLICE)
+ m_nRadioInCar = m_nCurrentStreamedSound;
}
ServiceAmbience();
return;
@@ -537,22 +520,22 @@ cMusicManager::ServiceGameMode()
if (m_bPreviousPlayerInCar) {
if (m_nAnnouncement < TOTAL_STREAMED_SOUNDS
- && (m_nNextTrack < RADIO_OFF || m_bAnnouncementInProgress)
+ && (m_nCurrentStreamedSound < STREAMED_SOUND_CITY_AMBIENT || m_bAnnouncementInProgress)
&& ServiceAnnouncement())
{
if (m_bAnnouncementInProgress) {
m_bSetNextStation = false;
return;
}
- m_nPlayingTrack = m_nNextTrack;
- m_nNextTrack = GetCarTuning();
+ m_nPreviousStreamedSound = m_nCurrentStreamedSound;
+ m_nCurrentStreamedSound = GetCarTuning();
}
if (SampleManager.IsMP3RadioChannelAvailable()
- && m_nNextTrack != STREAMED_SOUND_RADIO_MP3_PLAYER
+ && m_nCurrentStreamedSound != STREAMED_SOUND_RADIO_MP3_PLAYER
&& ControlsManager.GetIsKeyboardKeyJustDown(rsF9))
{
- m_nPlayingTrack = m_nNextTrack;
- m_nNextTrack = STREAMED_SOUND_RADIO_MP3_PLAYER;
+ m_nPreviousStreamedSound = m_nCurrentStreamedSound;
+ m_nCurrentStreamedSound = STREAMED_SOUND_RADIO_MP3_PLAYER;
if (FindPlayerVehicle() != nil)
FindPlayerVehicle()->m_nRadioStation = STREAMED_SOUND_RADIO_MP3_PLAYER;
AudioManager.PlayOneShot(AudioManager.m_nFrontEndEntity, SOUND_FRONTEND_RADIO_CHANGE, 1.0f);
@@ -580,22 +563,22 @@ cMusicManager::ServiceGameMode()
AudioManager.DoPoliceRadioCrackle();
if (m_bSetNextStation) {
m_bSetNextStation = false;
- m_nPlayingTrack = m_nNextTrack;
- m_nNextTrack = GetNextCarTuning();
- if (m_nNextTrack == STREAMED_SOUND_CITY_AMBIENT || m_nNextTrack == STREAMED_SOUND_WATER_AMBIENT)
+ m_nPreviousStreamedSound = m_nCurrentStreamedSound;
+ m_nCurrentStreamedSound = GetNextCarTuning();
+ if (m_nCurrentStreamedSound == STREAMED_SOUND_CITY_AMBIENT || m_nCurrentStreamedSound == STREAMED_SOUND_WATER_AMBIENT)
bRadioOff = true;
- if (m_nPlayingTrack == STREAMED_SOUND_CITY_AMBIENT || m_nPlayingTrack == STREAMED_SOUND_WATER_AMBIENT)
+ if (m_nPreviousStreamedSound == STREAMED_SOUND_CITY_AMBIENT || m_nPreviousStreamedSound == STREAMED_SOUND_WATER_AMBIENT)
AudioManager.PlayOneShot(AudioManager.m_nFrontEndEntity, SOUND_FRONTEND_RADIO_CHANGE, 0.0f);
}
- if (m_nNextTrack < RADIO_OFF) {
+ if (m_nCurrentStreamedSound < STREAMED_SOUND_CITY_AMBIENT) {
if (ChangeRadioChannel()) {
ServiceTrack();
} else {
m_bPlayerInCar = false;
if (FindPlayerVehicle())
- FindPlayerVehicle()->m_nRadioStation = m_nNextTrack;
- m_nNextTrack = NO_TRACK;
+ FindPlayerVehicle()->m_nRadioStation = m_nCurrentStreamedSound;
+ m_nCurrentStreamedSound = NO_TRACK;
}
if (CTimer::GetIsSlowMotionActive()) {
if (TheCamera.pTargetEntity != nil) {
@@ -648,56 +631,56 @@ cMusicManager::ServiceGameMode()
return;
}
if (bRadioOff) {
- m_nNextTrack = m_nPlayingTrack;
+ m_nCurrentStreamedSound = m_nPreviousStreamedSound;
if (FindPlayerVehicle() != nil)
FindPlayerVehicle()->m_nRadioStation = RADIO_OFF;
- AudioManager.PlayOneShot(AudioManager.m_nFrontEndEntity, SOUND_FRONTEND_RADIO_TURN_OFF, 0.0f);
+ AudioManager.PlayOneShot(AudioManager.m_nFrontEndEntity, SOUND_FRONTEND_NO_RADIO, 0.0f);
}
ServiceAmbience();
return;
}
if (m_bRadioSetByScript) {
if (UsesPoliceRadio(FindPlayerVehicle())) {
- m_nNextTrack = STREAMED_SOUND_RADIO_POLICE;
+ m_nCurrentStreamedSound = STREAMED_SOUND_RADIO_POLICE;
} else {
- m_nNextTrack = m_nRadioStationScript;
- if (FindPlayerVehicle()->m_nRadioStation == m_nNextTrack) {
- m_nPlayingTrack = NO_TRACK;
+ m_nCurrentStreamedSound = m_nRadioStation;
+ if (FindPlayerVehicle()->m_nRadioStation == m_nCurrentStreamedSound) {
+ m_nPreviousStreamedSound = NO_TRACK;
SampleManager.SetStreamedVolumeAndPan(0, 63, 0, 0);
SampleManager.StopStreamedFile(0);
}
if (m_nRadioPosition != -1) {
- m_aTracks[m_nNextTrack].m_nPosition = m_nRadioPosition;
- m_aTracks[m_nNextTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ m_aTracks[m_nCurrentStreamedSound].m_nPosition = m_nRadioPosition;
+ m_aTracks[m_nCurrentStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
}
}
} else {
- m_nNextTrack = GetCarTuning();
+ m_nCurrentStreamedSound = GetCarTuning();
}
- if (m_nNextTrack >= RADIO_OFF) {
+ if (m_nCurrentStreamedSound >= RADIO_OFF) {
ServiceAmbience();
return;
}
if (ChangeRadioChannel()) {
if (m_bRadioSetByScript) {
m_bRadioSetByScript = false;
- FindPlayerVehicle()->m_nRadioStation = m_nNextTrack;
+ FindPlayerVehicle()->m_nRadioStation = m_nCurrentStreamedSound;
}
} else {
m_bPlayerInCar = false;
- m_nNextTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
}
}
void
cMusicManager::StopFrontEndTrack()
{
- if (IsInitialised() && !m_bDisabled && m_nMusicMode == MUSICMODE_FRONTEND && m_nNextTrack != NO_TRACK) {
- m_aTracks[m_nNextTrack].m_nPosition = SampleManager.GetStreamedFilePosition(0);
- m_aTracks[m_nNextTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ if (IsInitialised() && !m_bDisabled && m_nMusicMode == MUSICMODE_FRONTEND && m_nCurrentStreamedSound != NO_TRACK) {
+ m_aTracks[m_nCurrentStreamedSound].m_nPosition = SampleManager.GetStreamedFilePosition(0);
+ m_aTracks[m_nCurrentStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
SampleManager.StopStreamedFile(0);
- m_nPlayingTrack = NO_TRACK;
- m_nNextTrack = NO_TRACK;
+ m_nPreviousStreamedSound = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
}
}
@@ -713,30 +696,30 @@ cMusicManager::PlayFrontEndTrack(uint8 track, uint8 bPlayInFrontend)
{
if (IsInitialised() && !m_bDisabled && track < TOTAL_STREAMED_SOUNDS) {
if (m_nMusicMode == MUSICMODE_GAME) {
- if (m_nNextTrack != NO_TRACK) {
+ if (m_nCurrentStreamedSound != NO_TRACK) {
if (m_bAnnouncementInProgress) {
m_nAnnouncement = NO_TRACK;
m_bAnnouncementInProgress = false;
}
- m_aTracks[m_nNextTrack].m_nPosition = SampleManager.GetStreamedFilePosition(0);
- m_aTracks[m_nNextTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ m_aTracks[m_nCurrentStreamedSound].m_nPosition = SampleManager.GetStreamedFilePosition(0);
+ m_aTracks[m_nCurrentStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
}
SampleManager.StopStreamedFile(0);
} else if (m_nMusicMode == MUSICMODE_FRONTEND) {
- if (m_nNextTrack != NO_TRACK) {
- m_aTracks[m_nNextTrack].m_nPosition = SampleManager.GetStreamedFilePosition(0);
- m_aTracks[m_nNextTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ if (m_nCurrentStreamedSound != NO_TRACK) {
+ m_aTracks[m_nCurrentStreamedSound].m_nPosition = SampleManager.GetStreamedFilePosition(0);
+ m_aTracks[m_nCurrentStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
}
SampleManager.StopStreamedFile(0);
}
- m_nPlayingTrack = m_nNextTrack;
- m_nNextTrack = track;
+ m_nPreviousStreamedSound = m_nCurrentStreamedSound;
+ m_nCurrentStreamedSound = track;
m_bPlayInFrontend = !!bPlayInFrontend;
m_bFrontendTrackFinished = false;
m_bDoTrackService = true;
bHasStarted = false;
- if (m_nNextTrack < NUM_RADIOS) {
+ if (m_nCurrentStreamedSound < STREAMED_SOUND_RADIO_POLICE) {
gRetuneCounter = 0;
gNumRetunePresses = 0;
}
@@ -752,7 +735,7 @@ cMusicManager::PreloadCutSceneMusic(uint8 track)
SampleManager.StopStreamedFile(0);
SampleManager.PreloadStreamedFile(track, 0);
SampleManager.SetStreamedVolumeAndPan(MAX_VOLUME, 63, 1, 0);
- m_nNextTrack = track;
+ m_nCurrentStreamedSound = track;
}
}
@@ -768,7 +751,7 @@ cMusicManager::StopCutSceneMusic(void)
{
if (IsInitialised() && !m_bDisabled && m_nMusicMode == MUSICMODE_CUTSCENE) {
SampleManager.StopStreamedFile(0);
- m_nNextTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
}
}
@@ -812,45 +795,45 @@ cMusicManager::ServiceAmbience()
m_nAnnouncement = NO_TRACK;
m_bAnnouncementInProgress = false;
}
- if (m_nNextTrack < RADIO_OFF) {
+ if (m_nCurrentStreamedSound < STREAMED_SOUND_CITY_AMBIENT) {
if (SampleManager.IsStreamPlaying(0)) {
- m_aTracks[m_nNextTrack].m_nPosition = SampleManager.GetStreamedFilePosition(0);
- m_aTracks[m_nNextTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ m_aTracks[m_nCurrentStreamedSound].m_nPosition = SampleManager.GetStreamedFilePosition(0);
+ m_aTracks[m_nCurrentStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
SampleManager.StopStreamedFile(0);
- m_nNextTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
return;
}
- m_nNextTrack = RADIO_OFF;
+ m_nCurrentStreamedSound = STREAMED_SOUND_CITY_AMBIENT;
}
if (CWorld::Players[CWorld::PlayerInFocus].m_WBState != WBSTATE_PLAYING && !SampleManager.IsStreamPlaying(0)) {
- m_nNextTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
return;
}
- m_nPlayingTrack = m_nNextTrack;
- m_nNextTrack = TheCamera.DistanceToWater <= 45.0f ? STREAMED_SOUND_WATER_AMBIENT : STREAMED_SOUND_CITY_AMBIENT;
+ m_nPreviousStreamedSound = m_nCurrentStreamedSound;
+ m_nCurrentStreamedSound = TheCamera.DistanceToWater <= 45.0f ? STREAMED_SOUND_WATER_AMBIENT : STREAMED_SOUND_CITY_AMBIENT;
- if (m_nNextTrack == m_nPlayingTrack) {
+ if (m_nCurrentStreamedSound == m_nPreviousStreamedSound) {
ComputeAmbienceVol(false, volume);
SampleManager.SetStreamedVolumeAndPan(volume, 63, 1, 0);
- if (m_bVerifyAmbienceTrackStartedToPlay) {
+ if (m_bDontServiceAmbienceTrack) {
if (SampleManager.IsStreamPlaying(0))
- m_bVerifyAmbienceTrackStartedToPlay = false;
+ m_bDontServiceAmbienceTrack = false;
} else ServiceTrack();
} else {
- if (m_nPlayingTrack < TOTAL_STREAMED_SOUNDS) {
- m_aTracks[m_nPlayingTrack].m_nPosition = SampleManager.GetStreamedFilePosition(0);
- m_aTracks[m_nPlayingTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ if (m_nPreviousStreamedSound < TOTAL_STREAMED_SOUNDS) {
+ m_aTracks[m_nPreviousStreamedSound].m_nPosition = SampleManager.GetStreamedFilePosition(0);
+ m_aTracks[m_nPreviousStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
SampleManager.StopStreamedFile(0);
}
- uint32 pos = GetTrackStartPos(m_nNextTrack);
+ uint32 pos = GetTrackStartPos(m_nCurrentStreamedSound);
SampleManager.SetStreamedVolumeAndPan(0, 63, 1, 0);
- if (SampleManager.StartStreamedFile(m_nNextTrack, pos, 0)) {
+ if (SampleManager.StartStreamedFile(m_nCurrentStreamedSound, pos, 0)) {
ComputeAmbienceVol(true, volume);
SampleManager.SetStreamedVolumeAndPan(volume, 63, 1, 0);
- m_bVerifyAmbienceTrackStartedToPlay = true;
+ m_bDontServiceAmbienceTrack = true;
} else
- m_nNextTrack = NO_TRACK;
+ m_nCurrentStreamedSound = NO_TRACK;
}
}
@@ -879,7 +862,7 @@ cMusicManager::ServiceTrack()
{
if (m_bDoTrackService) {
if (!SampleManager.IsStreamPlaying(0))
- SampleManager.StartStreamedFile(m_nNextTrack, 0, 0);
+ SampleManager.StartStreamedFile(m_nCurrentStreamedSound, 0, 0);
}
}
@@ -899,9 +882,9 @@ cMusicManager::ServiceAnnouncement()
cCheck = 0;
int pos = SampleManager.GetStreamedFilePosition(0);
if (SampleManager.IsStreamPlaying(0)) {
- if (m_nNextTrack != NO_TRACK) {
- m_aTracks[m_nNextTrack].m_nPosition = pos;
- m_aTracks[m_nNextTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ if (m_nCurrentStreamedSound != NO_TRACK) {
+ m_aTracks[m_nCurrentStreamedSound].m_nPosition = pos;
+ m_aTracks[m_nCurrentStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
SampleManager.StopStreamedFile(0);
}
}
@@ -910,8 +893,8 @@ cMusicManager::ServiceAnnouncement()
if (SampleManager.StartStreamedFile(m_nAnnouncement, 0, 0)) {
SampleManager.SetStreamedVolumeAndPan(AudioManager.ShouldDuckMissionAudio() ? 25 : 100, 63, 0, 0);
m_bAnnouncementInProgress = true;
- m_nPlayingTrack = m_nNextTrack;
- m_nNextTrack = m_nAnnouncement;
+ m_nPreviousStreamedSound = m_nCurrentStreamedSound;
+ m_nCurrentStreamedSound = m_nAnnouncement;
return true;
}
@@ -946,7 +929,7 @@ cMusicManager::GetNextCarTuning()
while (gNumRetunePresses < 0) {
if(veh->m_nRadioStation == HEAD_RADIO) {
veh->m_nRadioStation = RADIO_OFF;
- } else if(veh->m_nRadioStation == RADIO_OFF || veh->m_nRadioStation == NUM_RADIOS) {
+ } else if(veh->m_nRadioStation == RADIO_OFF || veh->m_nRadioStation == POLICE_RADIO) {
veh->m_nRadioStation = SampleManager.IsMP3RadioChannelAvailable() ? USERTRACK : USERTRACK - 1;
} else
veh->m_nRadioStation--;
@@ -957,18 +940,12 @@ cMusicManager::GetNextCarTuning()
#endif
if (SampleManager.IsMP3RadioChannelAvailable()) {
if (veh->m_nRadioStation == RADIO_OFF)
- veh->m_nRadioStation = NUM_RADIOS;
+ veh->m_nRadioStation = POLICE_RADIO;
veh->m_nRadioStation += gNumRetunePresses;
-#ifdef FIX_BUGS
- while (veh->m_nRadioStation > NUM_RADIOS)
- veh->m_nRadioStation -= (NUM_RADIOS + 1);
-#endif
- if (veh->m_nRadioStation == NUM_RADIOS)
+ if (veh->m_nRadioStation == POLICE_RADIO)
veh->m_nRadioStation = RADIO_OFF;
-#ifndef FIX_BUGS
- else if (veh->m_nRadioStation > NUM_RADIOS)
- veh->m_nRadioStation -= (NUM_RADIOS + 1);
-#endif
+ else if (veh->m_nRadioStation > POLICE_RADIO)
+ veh->m_nRadioStation -= RADIO_OFF;
} else if (gNumRetunePresses + veh->m_nRadioStation >= USERTRACK) {
while (gNumRetunePresses) {
if (veh->m_nRadioStation == RADIO_OFF)
@@ -990,16 +967,16 @@ cMusicManager::GetNextCarTuning()
bool
cMusicManager::ChangeRadioChannel()
{
- if (m_nNextTrack != m_nPlayingTrack) {
- if (m_nPlayingTrack < TOTAL_STREAMED_SOUNDS) {
- m_aTracks[m_nPlayingTrack].m_nPosition = SampleManager.GetStreamedFilePosition(0);
- m_aTracks[m_nPlayingTrack].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
+ if (m_nCurrentStreamedSound != m_nPreviousStreamedSound) {
+ if (m_nPreviousStreamedSound < TOTAL_STREAMED_SOUNDS) {
+ m_aTracks[m_nPreviousStreamedSound].m_nPosition = SampleManager.GetStreamedFilePosition(0);
+ m_aTracks[m_nPreviousStreamedSound].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
SampleManager.SetStreamedVolumeAndPan(0, 63, 0, 0);
SampleManager.StopStreamedFile(0);
}
if (SampleManager.IsStreamPlaying(0))
return false;
- if (!SampleManager.StartStreamedFile(m_nNextTrack, GetTrackStartPos(m_nNextTrack), 0))
+ if (!SampleManager.StartStreamedFile(m_nCurrentStreamedSound, GetTrackStartPos(m_nCurrentStreamedSound), 0))
return false;
SampleManager.SetStreamedVolumeAndPan(AudioManager.ShouldDuckMissionAudio() ? 25 : 100, 63, 0, 0);
}
diff --git a/src/audio/MusicManager.h b/src/audio/MusicManager.h
index 5d277f0e..e8b94da6 100644
--- a/src/audio/MusicManager.h
+++ b/src/audio/MusicManager.h
@@ -18,8 +18,8 @@ public:
bool m_bIsInitialised;
bool m_bDisabled;
uint8 m_nMusicMode;
- uint8 m_nNextTrack;
- uint8 m_nPlayingTrack;
+ uint8 m_nCurrentStreamedSound;
+ uint8 m_nPreviousStreamedSound;
bool m_bFrontendTrackFinished;
bool m_bPlayInFrontend;
bool m_bSetNextStation;
@@ -34,9 +34,9 @@ public:
uint32 m_nTimer;
bool m_bDoTrackService;
bool m_bIgnoreTimeDelay;
- bool m_bVerifyAmbienceTrackStartedToPlay;
+ bool m_bDontServiceAmbienceTrack;
bool m_bRadioSetByScript;
- uint8 m_nRadioStationScript;
+ uint8 m_nRadioStation;
int32 m_nRadioPosition;
uint8 m_nRadioInCar;
@@ -44,7 +44,7 @@ public:
cMusicManager();
bool IsInitialised() { return m_bIsInitialised; }
uint32 GetMusicMode() { return m_nMusicMode; }
- uint8 GetNextTrack() { return m_nNextTrack; }
+ uint8 GetCurrentTrack() { return m_nCurrentStreamedSound; }
bool Initialise();
void Terminate();
diff --git a/src/audio/audio_enums.h b/src/audio/audio_enums.h
index 027042cb..8c6d35aa 100644
--- a/src/audio/audio_enums.h
+++ b/src/audio/audio_enums.h
@@ -12,9 +12,8 @@ enum eRadioStation
FLASHBACK,
CHATTERBOX,
USERTRACK,
- POLICE_RADIO = 10,
- NUM_RADIOS = 10,
- RADIO_OFF = 11,
+ POLICE_RADIO,
+ RADIO_OFF,
};
enum eMusicMode
diff --git a/src/audio/oal/channel.cpp b/src/audio/oal/channel.cpp
index d1fd0aea..673a4aed 100644
--- a/src/audio/oal/channel.cpp
+++ b/src/audio/oal/channel.cpp
@@ -15,8 +15,6 @@ ALuint alFilters[MAXCHANNELS+MAX2DCHANNELS];
ALuint alBuffers[MAXCHANNELS+MAX2DCHANNELS];
bool bChannelsCreated = false;
-int32 CChannel::channelsThatNeedService = 0;
-
void
CChannel::InitChannels()
{
@@ -61,9 +59,7 @@ void CChannel::SetDefault()
Position[0] = 0.0f; Position[1] = 0.0f; Position[2] = 0.0f;
Distances[0] = 0.0f; Distances[1] = FLT_MAX;
-
- LoopCount = 1;
- LastProcessedOffset = UINT32_MAX;
+ LoopCount = 1;
LoopPoints[0] = 0; LoopPoints[1] = -1;
Frequency = MAX_FREQ;
@@ -71,10 +67,6 @@ void CChannel::SetDefault()
void CChannel::Reset()
{
- // Here is safe because ctor don't call this
- if (LoopCount > 1)
- channelsThatNeedService--;
-
ClearBuffer();
SetDefault();
}
@@ -173,51 +165,10 @@ void CChannel::SetCurrentFreq(uint32 freq)
SetPitch(ALfloat(freq) / Frequency);
}
-void CChannel::SetLoopCount(int32 count)
+void CChannel::SetLoopCount(int32 loopCount) // fake. TODO:
{
if ( !HasSource() ) return;
-
- // 0: loop indefinitely, 1: play one time, 2: play two times etc...
- // only > 1 needs manual processing
-
- if (LoopCount > 1 && count < 2)
- channelsThatNeedService--;
- else if (LoopCount < 2 && count > 1)
- channelsThatNeedService++;
-
- alSourcei(alSources[id], AL_LOOPING, count == 1 ? AL_FALSE : AL_TRUE);
- LoopCount = count;
-}
-
-bool CChannel::Update()
-{
- if (!HasSource()) return false;
- if (LoopCount < 2) return false;
-
- ALint state;
- alGetSourcei(alSources[id], AL_SOURCE_STATE, &state);
- if (state == AL_STOPPED) {
- debug("Looping channels(%d in this case) shouldn't report AL_STOPPED, but nvm\n", id);
- SetLoopCount(1);
- return true;
- }
-
- assert(channelsThatNeedService > 0 && "Ref counting is broken");
-
- ALint offset;
- alGetSourcei(alSources[id], AL_SAMPLE_OFFSET, &offset);
-
- // Rewound
- if (offset < LastProcessedOffset) {
- LoopCount--;
- if (LoopCount == 1) {
- // Playing last tune...
- channelsThatNeedService--;
- alSourcei(alSources[id], AL_LOOPING, AL_FALSE);
- }
- }
- LastProcessedOffset = offset;
- return true;
+ alSourcei(alSources[id], AL_LOOPING, loopCount == 1 ? AL_FALSE : AL_TRUE);
}
void CChannel::SetLoopPoints(ALint start, ALint end)
@@ -249,7 +200,6 @@ void CChannel::SetPan(int32 pan)
void CChannel::ClearBuffer()
{
if ( !HasSource() ) return;
- alSourcei(alSources[id], AL_LOOPING, AL_FALSE);
alSourcei(alSources[id], AL_BUFFER, AL_NONE);
Data = nil;
DataSize = 0;
diff --git a/src/audio/oal/channel.h b/src/audio/oal/channel.h
index b081be25..81817a32 100644
--- a/src/audio/oal/channel.h
+++ b/src/audio/oal/channel.h
@@ -19,10 +19,7 @@ class CChannel
float Distances[2];
int32 LoopCount;
ALint LoopPoints[2];
- ALint LastProcessedOffset;
public:
- static int32 channelsThatNeedService;
-
static void InitChannels();
static void DestroyChannels();
@@ -40,7 +37,7 @@ public:
void SetVolume(int32 vol);
void SetSampleData(void *_data, size_t _DataSize, int32 freq);
void SetCurrentFreq(uint32 freq);
- void SetLoopCount(int32 count);
+ void SetLoopCount(int32 loopCount); // fake
void SetLoopPoints(ALint start, ALint end);
void SetPosition(float x, float y, float z);
void SetDistances(float max, float min);
@@ -48,7 +45,6 @@ public:
void ClearBuffer();
void SetReverbMix(ALuint slot, float mix);
void UpdateReverb(ALuint slot);
- bool Update();
};
#endif
\ No newline at end of file
diff --git a/src/audio/oal/stream.cpp b/src/audio/oal/stream.cpp
index 61cd243d..74ed86f4 100644
--- a/src/audio/oal/stream.cpp
+++ b/src/audio/oal/stream.cpp
@@ -492,7 +492,6 @@ public:
m_bOpened = mpg123_open(m_pMH, path) == MPG123_OK
&& mpg123_getformat(m_pMH, &rate, &channels, &encoding) == MPG123_OK;
-
m_nRate = rate;
m_nChannels = channels;
@@ -926,8 +925,7 @@ CStream::CStream(char *filename, ALuint *sources, ALuint (&buffers)[NUM_STREAMBU
m_bReset(false),
m_nVolume(0),
m_nPan(0),
- m_nPosBeforeReset(0),
- m_nLoopCount(1)
+ m_nPosBeforeReset(0)
{
// Be case-insensitive on linux (from https://github.com/OneSadCookie/fcaseopen/)
@@ -1023,7 +1021,7 @@ bool CStream::IsPlaying()
ALint sourceState[2];
alGetSourcei(m_pAlSources[0], AL_SOURCE_STATE, &sourceState[0]);
alGetSourcei(m_pAlSources[1], AL_SOURCE_STATE, &sourceState[1]);
- if (sourceState[0] == AL_PLAYING || sourceState[1] == AL_PLAYING)
+ if ( m_bActive || sourceState[0] == AL_PLAYING || sourceState[1] == AL_PLAYING)
return true;
}
@@ -1181,8 +1179,6 @@ bool CStream::Setup()
{
if ( IsOpened() )
{
- alSourcei(m_pAlSources[0], AL_LOOPING, AL_FALSE);
- alSourcei(m_pAlSources[1], AL_LOOPING, AL_FALSE);
m_pSoundFile->Seek(0);
//SetPosition(0.0f, 0.0f, 0.0f);
SetPitch(1.0f);
@@ -1193,13 +1189,6 @@ bool CStream::Setup()
return IsOpened();
}
-void CStream::SetLoopCount(int32 count)
-{
- if ( !HasSource() ) return;
-
- m_nLoopCount = count;
-}
-
void CStream::SetPlay(bool state)
{
if ( !HasSource() ) return;
@@ -1259,7 +1248,7 @@ void CStream::Update()
if ( !m_bPaused )
{
- ALint totalBuffers[2] = { 0, 0 };
+ ALint sourceState[2];
ALint buffersProcessed[2] = { 0, 0 };
// Relying a lot on left buffer states in here
@@ -1267,51 +1256,44 @@ void CStream::Update()
do
{
//alSourcef(m_pAlSources[0], AL_ROLLOFF_FACTOR, 0.0f);
- alGetSourcei(m_pAlSources[0], AL_BUFFERS_QUEUED, &totalBuffers[0]);
+ alGetSourcei(m_pAlSources[0], AL_SOURCE_STATE, &sourceState[0]);
alGetSourcei(m_pAlSources[0], AL_BUFFERS_PROCESSED, &buffersProcessed[0]);
//alSourcef(m_pAlSources[1], AL_ROLLOFF_FACTOR, 0.0f);
- alGetSourcei(m_pAlSources[1], AL_BUFFERS_QUEUED, &totalBuffers[1]);
+ alGetSourcei(m_pAlSources[1], AL_SOURCE_STATE, &sourceState[1]);
alGetSourcei(m_pAlSources[1], AL_BUFFERS_PROCESSED, &buffersProcessed[1]);
} while (buffersProcessed[0] != buffersProcessed[1]);
- assert(buffersProcessed[0] == buffersProcessed[1]);
-
- // Correcting OpenAL concepts here:
- // AL_BUFFERS_QUEUED = Number of *all* buffers in queue, including processed, processing and pending
- // AL_BUFFERS_PROCESSED = Index of the buffer being processing right now. Buffers coming after that(have greater index) are pending buffers.
- // which means: totalBuffers[0] - buffersProcessed[0] = pending buffers
-
- bool buffersRefilled = false;
-
- // We should wait queue to be cleared to loop track, because position calculation relies on queue.
- if (m_nLoopCount != 1 && m_bActive && totalBuffers[0] == 0)
+ ALint looping = AL_FALSE;
+ alGetSourcei(m_pAlSources[0], AL_LOOPING, &looping);
+
+ if ( looping == AL_TRUE )
{
- Setup();
- buffersRefilled = FillBuffers() != 0;
- if (m_nLoopCount != 0)
- m_nLoopCount--;
+ TRACE("stream set looping");
+ alSourcei(m_pAlSources[0], AL_LOOPING, AL_TRUE);
+ alSourcei(m_pAlSources[1], AL_LOOPING, AL_TRUE);
}
- else
+
+ assert(buffersProcessed[0] == buffersProcessed[1]);
+
+ while( buffersProcessed[0]-- )
{
- while( buffersProcessed[0]-- )
+ ALuint buffer[2];
+
+ alSourceUnqueueBuffers(m_pAlSources[0], 1, &buffer[0]);
+ alSourceUnqueueBuffers(m_pAlSources[1], 1, &buffer[1]);
+
+ if (m_bActive && FillBuffer(buffer))
{
- ALuint buffer[2];
-
- alSourceUnqueueBuffers(m_pAlSources[0], 1, &buffer[0]);
- alSourceUnqueueBuffers(m_pAlSources[1], 1, &buffer[1]);
-
- if (m_bActive && FillBuffer(buffer))
- {
- buffersRefilled = true;
- alSourceQueueBuffers(m_pAlSources[0], 1, &buffer[0]);
- alSourceQueueBuffers(m_pAlSources[1], 1, &buffer[1]);
- }
+ alSourceQueueBuffers(m_pAlSources[0], 1, &buffer[0]);
+ alSourceQueueBuffers(m_pAlSources[1], 1, &buffer[1]);
}
}
-
- // Two reasons: 1-Source may be starved to audio and stopped itself, 2- We're already waiting it to starve and die for looping track!
- if (m_bActive && (buffersRefilled || (totalBuffers[1] - buffersProcessed[1] != 0)))
- SetPlay(true);
+
+ if ( sourceState[0] != AL_PLAYING )
+ {
+ alGetSourcei(m_pAlSources[0], AL_BUFFERS_PROCESSED, &buffersProcessed[0]);
+ SetPlay(buffersProcessed[0]!=0);
+ }
}
}
@@ -1323,7 +1305,6 @@ void CStream::ProviderInit()
{
SetPan(m_nPan);
SetVolume(m_nVolume);
- SetLoopCount(m_nLoopCount);
SetPosMS(m_nPosBeforeReset);
if (m_bActive)
FillBuffers();
diff --git a/src/audio/oal/stream.h b/src/audio/oal/stream.h
index b3e96809..bcbc5e54 100644
--- a/src/audio/oal/stream.h
+++ b/src/audio/oal/stream.h
@@ -69,7 +69,6 @@ class CStream
uint32 m_nVolume;
uint8 m_nPan;
uint32 m_nPosBeforeReset;
- int32 m_nLoopCount;
IDecoder *m_pSoundFile;
@@ -104,8 +103,6 @@ public:
void Start();
void Stop();
void Update(void);
- void SetLoopCount(int32);
-
void ProviderInit();
void ProviderTerm();
diff --git a/src/audio/sampman_miles.cpp b/src/audio/sampman_miles.cpp
index 9b601d52..11e2b0ff 100644
--- a/src/audio/sampman_miles.cpp
+++ b/src/audio/sampman_miles.cpp
@@ -1514,7 +1514,7 @@ cSampleManager::LoadPedComment(uint32 nComment)
case MUSICMODE_FRONTEND:
{
- if ( MusicManager.GetNextTrack() == STREAMED_SOUND_GAME_COMPLETED )
+ if ( MusicManager.GetCurrentTrack() == STREAMED_SOUND_GAME_COMPLETED )
return false;
break;
@@ -1753,8 +1753,8 @@ cSampleManager::SetChannelEmittingVolume(uint32 nChannel, uint32 nVolume)
// increase the volume for JB.MP3 and S4_BDBD.MP3
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
- && MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
- && MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_NEWS_INTRO
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
{
nChannelVolume[nChannel] >>= 2;
}
@@ -1792,8 +1792,8 @@ cSampleManager::SetChannelVolume(uint32 nChannel, uint32 nVolume)
// increase the volume for JB.MP3 and S4_BDBD.MP3
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
- && MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
- && MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_NEWS_INTRO
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
{
nChannelVolume[nChannel] >>= 2;
}
diff --git a/src/audio/sampman_oal.cpp b/src/audio/sampman_oal.cpp
index d9adef5b..798ea287 100644
--- a/src/audio/sampman_oal.cpp
+++ b/src/audio/sampman_oal.cpp
@@ -14,6 +14,8 @@
#include
#include
+#pragma comment(lib, "OpenAL32.lib")
+
// for user MP3s
#include
#include
@@ -22,10 +24,6 @@
#define _getcwd getcwd
#endif
-#if defined _MSC_VER && !defined CMAKE_NO_AUTOLINK
-#pragma comment( lib, "OpenAL32.lib" )
-#endif
-
#include "common.h"
#include "crossplatform.h"
@@ -46,6 +44,7 @@
//TODO: fix eax3 reverb
//TODO: max channels
+//TODO: loop count
cSampleManager SampleManager;
bool _bSampmanInitialised = false;
@@ -118,6 +117,7 @@ char _mp3DirectoryPath[MAX_PATH];
CStream *aStream[MAX_STREAMS];
uint8 nStreamPan [MAX_STREAMS];
uint8 nStreamVolume[MAX_STREAMS];
+uint8 nStreamLoopedFlag[MAX_STREAMS];
uint32 _CurMP3Index;
int32 _CurMP3Pos;
bool _bIsMp3Active;
@@ -1318,7 +1318,7 @@ cSampleManager::LoadPedComment(uint32 nComment)
case MUSICMODE_FRONTEND:
{
- if ( MusicManager.GetNextTrack() == STREAMED_SOUND_GAME_COMPLETED )
+ if ( MusicManager.GetCurrentTrack() == STREAMED_SOUND_GAME_COMPLETED )
return false;
break;
@@ -1533,8 +1533,8 @@ cSampleManager::SetChannelEmittingVolume(uint32 nChannel, uint32 nVolume)
// reduce channel volume when JB.MP3 or S4_BDBD.MP3 playing
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
- && MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
- && MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_NEWS_INTRO
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
{
nChannelVolume[nChannel] = vol / 4;
}
@@ -1575,8 +1575,8 @@ cSampleManager::SetChannelVolume(uint32 nChannel, uint32 nVolume)
// reduce the volume for JB.MP3 and S4_BDBD.MP3
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
- && MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
- && MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_NEWS_INTRO
+ && MusicManager.GetCurrentTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
{
nChannelVolume[nChannel] = vol / 4;
}
@@ -1666,7 +1666,7 @@ cSampleManager::PreloadStreamedFile(uint8 nFile, uint8 nStream)
ASSERT(stream != NULL);
aStream[nStream] = stream;
- if ( !stream->Setup() )
+ if ( !stream->IsOpened() )
{
delete stream;
aStream[nStream] = NULL;
@@ -1696,7 +1696,7 @@ cSampleManager::StartPreloadedStreamedFile(uint8 nStream)
if ( stream )
{
- if ( stream->IsOpened() )
+ if ( stream->Setup() )
{
stream->Start();
}
@@ -1742,11 +1742,13 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
aStream[nStream] = stream;
- if (stream->Setup()) {
- if (position != 0)
- stream->SetPosMS(position);
+ if (stream->IsOpened()) {
+ if (stream->Setup()) {
+ if (position != 0)
+ stream->SetPosMS(position);
- stream->Start();
+ stream->Start();
+ }
return true;
} else {
@@ -1767,8 +1769,10 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
aStream[nStream] = new CStream(filename, ALStreamSources[nStream], ALStreamBuffers[nStream], IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
}
- if (aStream[nStream]->Setup()) {
- aStream[nStream]->Start();
+ if (aStream[nStream]->IsOpened()) {
+ if (aStream[nStream]->Setup()) {
+ aStream[nStream]->Start();
+ }
return true;
} else {
@@ -1794,11 +1798,13 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
aStream[nStream] = stream;
- if (stream->Setup()) {
- if (position != 0)
- stream->SetPosMS(position);
+ if (stream->IsOpened()) {
+ if (stream->Setup()) {
+ if (position != 0)
+ stream->SetPosMS(position);
- stream->Start();
+ stream->Start();
+ }
return true;
} else {
@@ -1819,11 +1825,13 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
aStream[nStream] = new CStream(filename, ALStreamSources[nStream], ALStreamBuffers[nStream]);
}
- if (aStream[nStream]->Setup()) {
- if (position != 0)
- aStream[nStream]->SetPosMS(position);
+ if (aStream[nStream]->IsOpened()) {
+ if (aStream[nStream]->Setup()) {
+ if (position != 0)
+ aStream[nStream]->SetPosMS(position);
- aStream[nStream]->Start();
+ aStream[nStream]->Start();
+ }
_bIsMp3Active = true;
return true;
@@ -1847,11 +1855,13 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
aStream[nStream] = stream;
- if ( stream->Setup() ) {
- if (position != 0)
- stream->SetPosMS(position);
+ if ( stream->IsOpened() ) {
+ if ( stream->Setup() ) {
+ if (position != 0)
+ stream->SetPosMS(position);
- stream->Start();
+ stream->Start();
+ }
return true;
} else {
@@ -1874,9 +1884,6 @@ cSampleManager::StopStreamedFile(uint8 nStream)
{
delete stream;
aStream[nStream] = NULL;
-
- if ( nStream == 0 )
- _bIsMp3Active = false;
}
}
@@ -1889,21 +1896,7 @@ cSampleManager::GetStreamedFilePosition(uint8 nStream)
if ( stream )
{
- if ( _bIsMp3Active )
- {
- tMP3Entry *mp3 = _GetMP3EntryByIndex(_CurMP3Index);
-
- if ( mp3 != NULL )
- {
- return stream->GetPosMS() + mp3->nTrackStreamPos;
- }
- else
- return 0;
- }
- else
- {
- return stream->GetPosMS();
- }
+ return stream->GetPosMS();
}
return 0;
@@ -1970,12 +1963,6 @@ cSampleManager::Service(void)
if ( stream )
stream->Update();
}
- int refCount = CChannel::channelsThatNeedService;
- for ( int32 i = 0; refCount && i < MAXCHANNELS+MAX2DCHANNELS; i++ )
- {
- if ( aChannel[i].Update() )
- refCount--;
- }
}
bool
diff --git a/src/audio/soundlist.h b/src/audio/soundlist.h
index 4bbc3dde..7c3b30a7 100644
--- a/src/audio/soundlist.h
+++ b/src/audio/soundlist.h
@@ -160,7 +160,7 @@ enum eSound
SOUND_FRONTEND_MONO,
SOUND_FRONTEND_AUDIO_TEST,
SOUND_FRONTEND_FAIL,
- SOUND_FRONTEND_RADIO_TURN_OFF,
+ SOUND_FRONTEND_NO_RADIO,
SOUND_FRONTEND_RADIO_CHANGE,
SOUND_HUD,
SOUND_AMMUNATION_WELCOME_1,
diff --git a/src/control/AutoPilot.cpp b/src/control/AutoPilot.cpp
index 77cbd0b4..4038c93e 100644
--- a/src/control/AutoPilot.cpp
+++ b/src/control/AutoPilot.cpp
@@ -52,8 +52,8 @@ void CAutoPilot::Save(uint8*& buf)
WriteSaveBuf(buf, m_nCurrentRouteNode);
WriteSaveBuf(buf, m_nNextRouteNode);
WriteSaveBuf(buf, m_nPrevRouteNode);
- WriteSaveBuf(buf, m_nTimeEnteredCurve);
- WriteSaveBuf(buf, m_nTimeToSpendOnCurrentCurve);
+ WriteSaveBuf(buf, m_nTimeEnteredCurve);
+ WriteSaveBuf(buf, m_nTimeToSpendOnCurrentCurve);
WriteSaveBuf(buf, m_nCurrentPathNodeInfo);
WriteSaveBuf(buf, m_nNextPathNodeInfo);
WriteSaveBuf(buf, m_nPreviousPathNodeInfo);
@@ -91,8 +91,8 @@ void CAutoPilot::Load(uint8*& buf)
m_nCurrentRouteNode = ReadSaveBuf(buf);
m_nNextRouteNode = ReadSaveBuf(buf);
m_nPrevRouteNode = ReadSaveBuf(buf);
- m_nTimeEnteredCurve = ReadSaveBuf(buf);
- m_nTimeToSpendOnCurrentCurve = ReadSaveBuf(buf);
+ m_nTimeEnteredCurve = ReadSaveBuf(buf);
+ m_nTimeToSpendOnCurrentCurve = ReadSaveBuf(buf);
m_nCurrentPathNodeInfo = ReadSaveBuf(buf);
m_nNextPathNodeInfo = ReadSaveBuf(buf);
m_nPreviousPathNodeInfo = ReadSaveBuf(buf);
diff --git a/src/control/AutoPilot.h b/src/control/AutoPilot.h
index c7707ed6..6349fce6 100644
--- a/src/control/AutoPilot.h
+++ b/src/control/AutoPilot.h
@@ -57,8 +57,8 @@ public:
int32 m_nCurrentRouteNode;
int32 m_nNextRouteNode;
int32 m_nPrevRouteNode;
- int32 m_nTimeEnteredCurve;
- int32 m_nTimeToSpendOnCurrentCurve;
+ uint32 m_nTimeEnteredCurve;
+ uint32 m_nTimeToSpendOnCurrentCurve;
uint32 m_nCurrentPathNodeInfo;
uint32 m_nNextPathNodeInfo;
uint32 m_nPreviousPathNodeInfo;
diff --git a/src/control/Phones.cpp b/src/control/Phones.cpp
index ef7ecead..f649d435 100644
--- a/src/control/Phones.cpp
+++ b/src/control/Phones.cpp
@@ -58,9 +58,9 @@ CPhoneInfo::Update(void)
TheCamera.SetWideScreenOff();
pPhoneDisplayingMessages = nil;
bDisplayingPhoneMessage = false;
- CAnimBlendAssociation *talkAssoc = RpAnimBlendClumpGetAssociation(player->GetClump(), ANIM_STD_PHONE_TALK);
+ CAnimBlendAssociation *talkAssoc = RpAnimBlendClumpGetAssociation(player->GetClump(), ANIM_PHONE_TALK);
if (talkAssoc && talkAssoc->blendAmount > 0.5f) {
- CAnimBlendAssociation *endAssoc = CAnimManager::BlendAnimation(player->GetClump(), ASSOCGRP_STD, ANIM_STD_PHONE_OUT, 8.0f);
+ CAnimBlendAssociation *endAssoc = CAnimManager::BlendAnimation(player->GetClump(), ASSOCGRP_STD, ANIM_PHONE_OUT, 8.0f);
endAssoc->flags &= ~ASSOC_DELETEFADEDOUT;
endAssoc->SetFinishCallback(PhonePutDownCB, player);
} else {
@@ -117,7 +117,7 @@ CPhoneInfo::Update(void)
CPad::GetPad(0)->SetDisablePlayerControls(PLAYERCONTROL_PHONE);
TheCamera.SetWideScreenOn();
playerInfo->MakePlayerSafe(true);
- CAnimBlendAssociation *phonePickAssoc = CAnimManager::BlendAnimation(player->GetClump(), ASSOCGRP_STD, ANIM_STD_PHONE_IN, 4.0f);
+ CAnimBlendAssociation *phonePickAssoc = CAnimManager::BlendAnimation(player->GetClump(), ASSOCGRP_STD, ANIM_PHONE_IN, 4.0f);
phonePickAssoc->SetFinishCallback(PhonePickUpCB, &m_aPhones[phoneId]);
bPickingUpPhone = true;
pCallBackPed = player;
@@ -442,10 +442,10 @@ PhonePickUpCB(CAnimBlendAssociation *assoc, void *arg)
CPed *ped = CPhoneInfo::pCallBackPed;
ped->m_nMoveState = PEDMOVE_STILL;
- CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE, 8.0f);
+ CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_IDLE_STANCE, 8.0f);
if (assoc->blendAmount > 0.5f && ped)
- CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_PHONE_TALK, 8.0f);
+ CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_PHONE_TALK, 8.0f);
CPhoneInfo::pCallBackPed = nil;
}
diff --git a/src/control/Replay.cpp b/src/control/Replay.cpp
index d8b15385..2dd66333 100644
--- a/src/control/Replay.cpp
+++ b/src/control/Replay.cpp
@@ -457,7 +457,7 @@ void CReplay::StoreDetailedPedAnimation(CPed *ped, CStoredDetailedAnimationState
state->aFunctionCallbackID[i] = 0;
}
}else{
- state->aAnimId[i] = ANIM_STD_NUM;
+ state->aAnimId[i] = NUM_ANIMS;
state->aCurTime[i] = 0;
state->aSpeed[i] = 85;
state->aFunctionCallbackID[i] = 0;
@@ -484,7 +484,7 @@ void CReplay::StoreDetailedPedAnimation(CPed *ped, CStoredDetailedAnimationState
}
}
else {
- state->aAnimId2[i] = ANIM_STD_NUM;
+ state->aAnimId2[i] = NUM_ANIMS;
state->aCurTime2[i] = 0;
state->aSpeed2[i] = 85;
state->aFunctionCallbackID2[i] = 0;
@@ -558,7 +558,7 @@ void CReplay::RetrievePedAnimation(CPed *ped, CStoredAnimationState *state)
float time = state->partAnimTime * 4.0f / 255.0f;
float speed = state->partAnimSpeed * 3.0f / 255.0f;
float blend = state->partBlendAmount * 2.0f / 255.0f;
- if (blend > 0.0f && state->partAnimId != ANIM_STD_IDLE){
+ if (blend > 0.0f && state->partAnimId != ANIM_IDLE_STANCE){
CAnimBlendAssociation* anim3 = CAnimManager::BlendAnimation(
(RpClump*)ped->m_rwObject, ASSOCGRP_STD, (AnimationId)state->partAnimId, 1000.0f);
anim3->SetCurrentTime(time);
@@ -578,7 +578,7 @@ void CReplay::RetrieveDetailedPedAnimation(CPed *ped, CStoredDetailedAnimationSt
assoc->SetBlend(0.0f, -1.0f);
#endif
for (int i = 0; i < NUM_MAIN_ANIMS_IN_REPLAY; i++) {
- if (state->aAnimId[i] == ANIM_STD_NUM)
+ if (state->aAnimId[i] == NUM_ANIMS)
continue;
#ifdef FIX_REPLAY_BUGS
CAnimBlendAssociation* anim = CAnimManager::AddAnimation(ped->GetClump(),
@@ -607,7 +607,7 @@ void CReplay::RetrieveDetailedPedAnimation(CPed *ped, CStoredDetailedAnimationSt
anim->SetDeleteCallback(FindCBFunction(callback & 0x7F), ped);
}
for (int i = 0; i < NUM_PARTIAL_ANIMS_IN_REPLAY; i++) {
- if (state->aAnimId2[i] == ANIM_STD_NUM)
+ if (state->aAnimId2[i] == NUM_ANIMS)
continue;
#ifdef FIX_REPLAY_BUGS
CAnimBlendAssociation* anim = CAnimManager::AddAnimation(ped->GetClump(),
diff --git a/src/control/Script.cpp b/src/control/Script.cpp
index 5598f3c9..e70bd508 100644
--- a/src/control/Script.cpp
+++ b/src/control/Script.cpp
@@ -4266,7 +4266,7 @@ int8 CRunningScript::ProcessCommands200To299(int32 command)
#ifdef FIX_BUGS
AnimationId anim = pVehicle->GetDriverAnim();
#else
- AnimationId anim = pVehicle->bLowVehicle ? ANIM_STD_CAR_SIT_LO : ANIM_STD_CAR_SIT;
+ AnimationId anim = pVehicle->bLowVehicle ? ANIM_CAR_LSIT : ANIM_CAR_SIT;
#endif
pPed->m_pVehicleAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, anim, 100.0f);
pPed->StopNonPartialAnims();
@@ -4309,7 +4309,7 @@ int8 CRunningScript::ProcessCommands200To299(int32 command)
pPlayer->m_pPed->m_pVehicleAnim->blendDelta = -1000.0f;
pPlayer->m_pPed->m_pVehicleAnim = nil;
pPlayer->m_pPed->SetMoveState(PEDMOVE_NONE);
- CAnimManager::BlendAnimation(pPlayer->m_pPed->GetClump(), pPlayer->m_pPed->m_animGroup, ANIM_STD_IDLE, 100.0f);
+ CAnimManager::BlendAnimation(pPlayer->m_pPed->GetClump(), pPlayer->m_pPed->m_animGroup, ANIM_IDLE_STANCE, 100.0f);
pPlayer->m_pPed->RestartNonPartialAnims();
AudioManager.PlayerJustLeftCar();
pos.z += pPlayer->m_pPed->GetDistanceFromCentreOfMassToBaseOfModel();
diff --git a/src/control/Script2.cpp b/src/control/Script2.cpp
index 5c953011..9329b3bc 100644
--- a/src/control/Script2.cpp
+++ b/src/control/Script2.cpp
@@ -913,7 +913,7 @@ int8 CRunningScript::ProcessCommands400To499(int32 command)
if (strcmp(m_abScriptName, "camera") == 0){
pPlayer->m_pPed->SetMoveSpeed(0.0f, 0.0f, 0.0f);
pPlayer->m_pPed->SetTurnSpeed(0.0f, 0.0f, 0.0f);
- CAnimManager::BlendAnimation((RpClump*)pPlayer->m_pPed->m_rwObject, pPlayer->m_pPed->m_animGroup, ANIM_STD_IDLE, 1000.0f);
+ CAnimManager::BlendAnimation((RpClump*)pPlayer->m_pPed->m_rwObject, pPlayer->m_pPed->m_animGroup, ANIM_IDLE_STANCE, 1000.0f);
}
}
return 0;
@@ -1156,7 +1156,7 @@ int8 CRunningScript::ProcessCommands400To499(int32 command)
#ifdef FIX_BUGS
AnimationId anim = pVehicle->GetDriverAnim();
#else
- AnimationId anim = pVehicle->bLowVehicle ? ANIM_STD_CAR_SIT_LO : ANIM_STD_CAR_SIT;
+ AnimationId anim = pVehicle->bLowVehicle ? ANIM_CAR_LSIT : ANIM_CAR_SIT;
#endif
pPed->m_pVehicleAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, anim, 100.0f);
pPed->StopNonPartialAnims();
diff --git a/src/control/Script3.cpp b/src/control/Script3.cpp
index ac88347b..f49835db 100644
--- a/src/control/Script3.cpp
+++ b/src/control/Script3.cpp
@@ -417,7 +417,7 @@ int8 CRunningScript::ProcessCommands500To599(int32 command)
pPed->FlagToDestroyWhenNextProcessed();
}
else {
- pPed->SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ pPed->SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
}
return 0;
}
diff --git a/src/control/Script4.cpp b/src/control/Script4.cpp
index 93956ea2..40f9f2f1 100644
--- a/src/control/Script4.cpp
+++ b/src/control/Script4.cpp
@@ -68,7 +68,7 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
pPed->ApplyHeadShot(WEAPONTYPE_SNIPERRIFLE, pPed->GetNodePosition(PED_HEAD), true);
}
else {
- pPed->SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ pPed->SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
}
return 0;
}
@@ -81,7 +81,7 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
pPed->ApplyHeadShot(WEAPONTYPE_SNIPERRIFLE, pPed->GetNodePosition(PED_HEAD), true);
}
else {
- pPed->SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ pPed->SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
}
return 0;
}
@@ -793,7 +793,7 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
pPed->m_pVehicleAnim = nil;
pPed->RestartNonPartialAnims();
pPed->SetMoveState(PEDMOVE_NONE);
- CAnimManager::BlendAnimation(pPed->GetClump(), pPed->m_animGroup, ANIM_STD_IDLE, 100.0f);
+ CAnimManager::BlendAnimation(pPed->GetClump(), pPed->m_animGroup, ANIM_IDLE_STANCE, 100.0f);
pos.z += pPed->GetDistanceFromCentreOfMassToBaseOfModel();
pPed->Teleport(pos);
CTheScripts::ClearSpaceForMissionEntity(pos, pPed);
diff --git a/src/control/Script5.cpp b/src/control/Script5.cpp
index 464a77d8..b54d425c 100644
--- a/src/control/Script5.cpp
+++ b/src/control/Script5.cpp
@@ -2450,10 +2450,10 @@ bool CTheScripts::IsPlayerStopped(CPlayerInfo* pPlayer)
CPed* pPed = pPlayer->m_pPed;
if (pPed->bInVehicle)
return IsVehicleStopped(pPed->m_pMyVehicle);
- if (RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_STD_RUNSTOP1) ||
- RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_STD_RUNSTOP2) ||
- RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_STD_JUMP_LAUNCH) ||
- RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_STD_JUMP_GLIDE))
+ if (RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_RUN_STOP) ||
+ RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_RUN_STOP_R) ||
+ RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_JUMP_LAUNCH) ||
+ RpAnimBlendClumpGetAssociation(pPed->GetClump(), ANIM_JUMP_GLIDE))
return false;
return pPed->m_nMoveState == PEDMOVE_NONE || pPed->m_nMoveState == PEDMOVE_STILL;
}
diff --git a/src/core/AnimViewer.cpp b/src/core/AnimViewer.cpp
index 946693a7..a888d528 100644
--- a/src/core/AnimViewer.cpp
+++ b/src/core/AnimViewer.cpp
@@ -230,7 +230,7 @@ CAnimViewer::Update(void)
if (modelInfo->GetModelType() == MITYPE_PED) {
int animGroup = ((CPedModelInfo*)modelInfo)->m_animGroup;
- if (animId > ANIM_STD_IDLE)
+ if (animId > ANIM_IDLE_STANCE)
animGroup = ASSOCGRP_STD;
if (reloadIFP) {
@@ -318,14 +318,14 @@ CAnimViewer::Update(void)
CMessages::AddMessage(gUString, 1000, 0);
} else if (pad->GetCircleJustDown()) {
- PlayAnimation(pTarget->GetClump(), animGroup, ANIM_STD_IDLE);
+ PlayAnimation(pTarget->GetClump(), animGroup, ANIM_IDLE_STANCE);
AsciiToUnicode("Idle animation playing", gUString);
CMessages::AddMessage(gUString, 1000, 0);
} else if (pad->GetDPadUpJustDown()) {
animId--;
if (animId < 0) {
- animId = ANIM_STD_NUM - 1;
+ animId = NUM_ANIMS - 1;
}
PlayAnimation(pTarget->GetClump(), animGroup, (AnimationId)animId);
@@ -334,7 +334,7 @@ CAnimViewer::Update(void)
CMessages::AddMessage(gUString, 1000, 0);
} else if (pad->GetDPadDownJustDown()) {
- animId = (animId == (ANIM_STD_NUM - 1) ? 0 : animId + 1);
+ animId = (animId == (NUM_ANIMS - 1) ? 0 : animId + 1);
PlayAnimation(pTarget->GetClump(), animGroup, (AnimationId)animId);
sprintf(gString, "Current anim: %d", animId);
diff --git a/src/core/Cam.cpp b/src/core/Cam.cpp
index e0497fe2..f43ff57a 100644
--- a/src/core/Cam.cpp
+++ b/src/core/Cam.cpp
@@ -1644,10 +1644,10 @@ CCam::Process_FollowPedWithMouse(const CVector &CameraTarget, float TargetOrient
if(CamTargetEntity->m_rwObject){
// what's going on here?
- if(RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_STD_WEAPON_PUMP) ||
- RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_STD_WEAPON_THROW) ||
- RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_STD_THROW_UNDER) ||
- RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_STD_START_THROW)){
+ if(RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_WEAPON_PUMP) ||
+ RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_WEAPON_THROW) ||
+ RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_WEAPON_THROWU) ||
+ RpAnimBlendClumpGetAssociation(CamTargetEntity->GetClump(), ANIM_WEAPON_START_THROW)){
CPed *player = FindPlayerPed();
float PlayerDist = (Source - player->GetPosition()).Magnitude();
if(PlayerDist < 2.75f)
@@ -4631,7 +4631,7 @@ CCam::Process_FollowPed_Rotation(const CVector &CameraTarget, float TargetOrient
*/
{
LookLeftRight = -CPad::GetPad(0)->LookAroundLeftRight();
- LookUpDown = CPad::GetPad(0)->LookAroundUpDown();
+ LookUpDown = -CPad::GetPad(0)->LookAroundUpDown();
}
float AlphaOffset, BetaOffset;
if(UseMouse){
diff --git a/src/core/CdStreamPosix.cpp b/src/core/CdStreamPosix.cpp
index e18280e5..50d823d2 100644
--- a/src/core/CdStreamPosix.cpp
+++ b/src/core/CdStreamPosix.cpp
@@ -1,8 +1,8 @@
#ifndef _WIN32
#include "common.h"
#include "crossplatform.h"
-#include
#include
+#include
#include
#include
#include
@@ -12,7 +12,11 @@
#include
#include
#include
+#include
+
+#ifdef __linux__
#include
+#endif
#include "CdStream.h"
#include "rwcore.h"
@@ -25,6 +29,58 @@
bool flushStream[MAX_CDCHANNELS];
#endif
+#ifdef USE_UNNAMED_SEM
+
+#define RE3_SEM_OPEN(name, ...) re3_sem_open()
+sem_t*
+re3_sem_open(void)
+{
+ sem_t* sem = (sem_t*)malloc(sizeof(sem_t));
+ if (sem_init(sem, 0, 1) == -1) {
+ sem = SEM_FAILED;
+ }
+
+ return sem;
+}
+
+#define RE3_SEM_CLOSE(sem, format, ...) re3_sem_close(sem)
+void
+re3_sem_close(sem_t* sem)
+{
+ sem_destroy(sem);
+ free(sem);
+}
+
+#else
+
+#define RE3_SEM_OPEN re3_sem_open
+sem_t*
+re3_sem_open(const char* format, ...)
+{
+ char semName[20];
+ va_list va;
+ va_start(va, format);
+ vsprintf(semName, format, va);
+
+ return sem_open(semName, O_CREAT, 0644, 1);
+}
+
+#define RE3_SEM_CLOSE re3_sem_close
+void
+re3_sem_close(sem_t* sem, const char* format, ...)
+{
+ sem_close(sem);
+
+ char semName[20];
+ va_list va;
+ va_start(va, format);
+ vsprintf(semName, format, va);
+
+ sem_unlink(semName);
+}
+
+#endif
+
struct CdReadInfo
{
uint32 nSectorOffset;
@@ -69,14 +125,13 @@ void
CdStreamInitThread(void)
{
int status;
- char semName[20];
#ifndef ONE_THREAD_PER_CHANNEL
gChannelRequestQ.items = (int32 *)calloc(gNumChannels + 1, sizeof(int32));
gChannelRequestQ.head = 0;
gChannelRequestQ.tail = 0;
gChannelRequestQ.size = gNumChannels + 1;
ASSERT(gChannelRequestQ.items != nil );
- gCdStreamSema = sem_open("/semaphore_cd_stream", O_CREAT, 0644, 0);
+ gCdStreamSema = RE3_SEM_OPEN("/semaphore_cd_stream");
if (gCdStreamSema == SEM_FAILED) {
@@ -90,8 +145,7 @@ CdStreamInitThread(void)
{
for ( int32 i = 0; i < gNumChannels; i++ )
{
- sprintf(semName,"/semaphore_done%d",i);
- gpReadInfo[i].pDoneSemaphore = sem_open(semName, O_CREAT, 0644, 0);
+ gpReadInfo[i].pDoneSemaphore = RE3_SEM_OPEN("/semaphore_done%d", i);
if (gpReadInfo[i].pDoneSemaphore == SEM_FAILED)
{
@@ -101,8 +155,7 @@ CdStreamInitThread(void)
}
#ifdef ONE_THREAD_PER_CHANNEL
- sprintf(semName,"/semaphore_start%d",i);
- gpReadInfo[i].pStartSemaphore = sem_open(semName, O_CREAT, 0644, 0);
+ gpReadInfo[i].pStartSemaphore = RE3_SEM_OPEN("/semaphore_start%d", i);
if (gpReadInfo[i].pStartSemaphore == SEM_FAILED)
{
@@ -464,21 +517,14 @@ void *CdStreamThread(void *param)
#ifndef ONE_THREAD_PER_CHANNEL
for ( int32 i = 0; i < gNumChannels; i++ )
{
- sem_close(gpReadInfo[i].pDoneSemaphore);
- sprintf(semName,"/semaphore_done%d",i);
- sem_unlink(semName);
+ RE3_SEM_CLOSE(gpReadInfo[i].pDoneSemaphore, "/semaphore_done%d", i);
}
- sem_close(gCdStreamSema);
- sem_unlink("/semaphore_cd_stream");
+ RE3_SEM_CLOSE(gCdStreamSema, "/semaphore_cd_stream");
free(gChannelRequestQ.items);
#else
- sem_close(gpReadInfo[channel].pStartSemaphore);
- sprintf(semName,"/semaphore_start%d",channel);
- sem_unlink(semName);
+ RE3_SEM_CLOSE(gpReadInfo[channel].pStartSemaphore, "/semaphore_start%d", channel);
- sem_close(gpReadInfo[channel].pDoneSemaphore);
- sprintf(semName,"/semaphore_done%d",channel);
- sem_unlink(semName);
+ RE3_SEM_CLOSE(gpReadInfo[channel].pDoneSemaphore, "/semaphore_done%d", channel);
#endif
if (gpReadInfo)
free(gpReadInfo);
diff --git a/src/core/ControllerConfig.cpp b/src/core/ControllerConfig.cpp
index e72af7e4..4115cd38 100644
--- a/src/core/ControllerConfig.cpp
+++ b/src/core/ControllerConfig.cpp
@@ -354,11 +354,6 @@ uint32 CControllerConfigManager::ms_padButtonsInited = 0;
void CControllerConfigManager::InitDefaultControlConfigJoyPad(uint32 buttons)
{
-#ifdef XINPUT
- // No manual bindings for you, honey.
- return;
-#endif
-
m_bFirstCapture = true;
uint32 btn = buttons;
@@ -2624,6 +2619,11 @@ const char *XboxButtons[][MAX_CONTROLLERACTIONS] = CONTROLLER_BUTTONS("~T~", "~O
#define PS2_CIRCLE "|"
#define PS2_CROSS "/"
#define PS2_SQUARE "^"
+#elif defined(BUTTON_ICONS)
+#define PS2_TRIANGLE "~T~"
+#define PS2_CIRCLE "~O~"
+#define PS2_CROSS "~X~"
+#define PS2_SQUARE "~Q~"
#else
#define PS2_TRIANGLE "TRIANGLE"
#define PS2_CIRCLE "CIRCLE"
@@ -2636,7 +2636,7 @@ const char *PlayStationButtons_noIcons[][MAX_CONTROLLERACTIONS] =
#ifdef BUTTON_ICONS
const char *PlayStationButtons[][MAX_CONTROLLERACTIONS] =
- CONTROLLER_BUTTONS("~T~", "~O~", "~X~", "~Q~", "~K~", "~M~", "~A~", "~J~", "~V~", "~C~", "SELECT");
+ CONTROLLER_BUTTONS(PS2_TRIANGLE, PS2_CIRCLE, PS2_CROSS, PS2_SQUARE, "~K~", "~M~", "~A~", "~J~", "~V~", "~C~", "SELECT");
#endif
#undef PS2_TRIANGLE
@@ -2653,36 +2653,11 @@ void CControllerConfigManager::GetWideStringOfCommandKeys(uint16 action, wchar *
if (CPad::GetPad(0)->IsAffectedByController) {
wchar wstr[16];
- const char* (*Buttons)[MAX_CONTROLLERACTIONS];
-
+ // TODO: INI and/or menu setting for Xbox/PS switch
#ifdef BUTTON_ICONS
- #ifdef GAMEPAD_MENU
- switch (FrontEndMenuManager.m_PrefsControllerType)
- {
- case CMenuManager::CONTROLLER_DUALSHOCK2:
- case CMenuManager::CONTROLLER_DUALSHOCK3:
- case CMenuManager::CONTROLLER_DUALSHOCK4:
- Buttons = CFont::ButtonsSlot != -1 ? PlayStationButtons : PlayStationButtons_noIcons;
- break;
- default:
- #endif
- Buttons = CFont::ButtonsSlot != -1 ? XboxButtons : XboxButtons_noIcons;
- #ifdef GAMEPAD_MENU
- break;
- }
- #endif
+ const char *(*Buttons)[MAX_CONTROLLERACTIONS] = CFont::ButtonsSlot != -1 ? XboxButtons : XboxButtons_noIcons;
#else
- switch (FrontEndMenuManager.m_PrefsControllerType)
- {
- case CMenuManager::CONTROLLER_DUALSHOCK2:
- case CMenuManager::CONTROLLER_DUALSHOCK3:
- case CMenuManager::CONTROLLER_DUALSHOCK4:
- Buttons = PlayStationButtons_noIcons;
- break;
- default:
- Buttons = XboxButtons_noIcons;
- break;
- }
+ const char *(*Buttons)[MAX_CONTROLLERACTIONS] = XboxButtons_noIcons;
#endif
assert(Buttons[CPad::GetPad(0)->Mode][action] != nil); // we cannot use these
diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp
index 07b8f996..bd72a15f 100644
--- a/src/core/Frontend.cpp
+++ b/src/core/Frontend.cpp
@@ -141,10 +141,6 @@ int8 CMenuManager::m_nDisplayMSAALevel = 0;
int8 CMenuManager::m_PrefsIslandLoading = ISLAND_LOADING_LOW;
#endif
-#ifdef GAMEPAD_MENU
-int8 CMenuManager::m_PrefsControllerType = CONTROLLER_XBOXONE;
-#endif
-
int32 CMenuManager::OS_Language = LANG_ENGLISH;
int8 CMenuManager::m_PrefsUseVibration;
int8 CMenuManager::m_DisplayControllerOnFoot;
@@ -1165,16 +1161,6 @@ CMenuManager::Draw()
CFont::SetScale(MENU_X(MENU_TEXT_SIZE_X = BIGTEXT_X_SCALE), MENU_Y(MENU_TEXT_SIZE_Y = BIGTEXT_Y_SCALE));
CFont::SetCentreOn();
break;
-#ifdef FIX_BUGS
- case MENUPAGE_CONTROLLER_SETTINGS:
- columnWidth = 50;
- headerHeight = -50;
- lineHeight = 20;
- CFont::SetFontStyle(FONT_LOCALE(FONT_HEADING));
- CFont::SetScale(MENU_X(MENU_TEXT_SIZE_X = MEDIUMTEXT_X_SCALE), MENU_Y(MENU_TEXT_SIZE_Y = MEDIUMTEXT_Y_SCALE));
- CFont::SetRightJustifyOff();
- break;
-#endif
case MENUPAGE_SOUND_SETTINGS:
case MENUPAGE_DISPLAY_SETTINGS:
case MENUPAGE_MULTIPLAYER_CREATE:
@@ -3636,10 +3622,6 @@ CMenuManager::LoadAllTextures()
m_aFrontEndSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
}
-#ifdef GAMEPAD_MENU
- LoadController(m_PrefsControllerType);
-#endif
-
int menuTxdSlot = CTxdStore::FindTxdSlot("menu");
if (menuTxdSlot == -1)
@@ -3655,13 +3637,7 @@ CMenuManager::LoadAllTextures()
m_aMenuSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
}
#ifdef MENU_MAP
- static bool menuOptionAdded = false;
for (int i = 0; i < ARRAY_SIZE(MapFilenames); i++) {
- if (!menuOptionAdded && RwTextureRead(MapFilenames[i][0], MapFilenames[i][1])) {
- FrontendOptionSetCursor(MENUPAGE_PAUSE_MENU, 2, false);
- FrontendOptionAddBuiltinAction("FEG_MAP", MENUACTION_CHANGEMENU, MENUPAGE_MAP, SAVESLOT_NONE);
- menuOptionAdded = true;
- }
m_aMapSprites[i].SetTexture(MapFilenames[i][0], MapFilenames[i][1]);
m_aMapSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
}
@@ -3677,71 +3653,6 @@ CMenuManager::LoadAllTextures()
CTxdStore::PopCurrentTxd();
}
-#ifdef GAMEPAD_MENU
-const char* controllerTypesPaths[] = {
- nil,
- "MODELS/FRONTEND_DS3.TXD",
- "MODELS/FRONTEND_DS4.TXD",
- "MODELS/FRONTEND_X360.TXD",
- "MODELS/FRONTEND_XONE.TXD",
-};
-
-void
-CMenuManager::LoadController(int8 type)
-{
- switch (type)
- {
- case CONTROLLER_DUALSHOCK2:
- case CONTROLLER_DUALSHOCK3:
- case CONTROLLER_DUALSHOCK4:
- CFont::LoadButtons("MODELS/PS3BTNS.TXD");
- break;
- default:
- CFont::LoadButtons("MODELS/X360BTNS.TXD");
- break;
- }
-
- // Unload current textures
- for (int i = FE_CONTROLLER; i <= FE_ARROWS4; i++)
- m_aFrontEndSprites[i].Delete();
-
- // Unload txd
- int frontend_controller = CTxdStore::FindTxdSlot("frontend_controller");
- if (frontend_controller != -1)
- CTxdStore::RemoveTxd(frontend_controller);
-
- // Find the new txd to load
- bool bTxdMissing = true;
- if (controllerTypesPaths[type])
- if (int file = CFileMgr::OpenFile(controllerTypesPaths[type])) {
- CFileMgr::CloseFile(file);
- bTxdMissing = false;
- }
-
- int txdSlot = -1;
-
- if (bTxdMissing)
- // Not found, fall back to original textures
- txdSlot = CTxdStore::FindTxdSlot("frontend");
- else {
- // Found, load txd
- txdSlot = frontend_controller;
- if (txdSlot == -1)
- txdSlot = CTxdStore::AddTxdSlot("frontend_controller");
- CTxdStore::LoadTxd(txdSlot, controllerTypesPaths[type]);
- CTxdStore::AddRef(txdSlot);
- }
-
- assert(txdSlot != -1);
- // Load new textures
- CTxdStore::SetCurrentTxd(txdSlot);
- for (int i = FE_CONTROLLER; i <= FE_ARROWS4; i++) {
- m_aFrontEndSprites[i].SetTexture(FrontendFilenames[i][0], FrontendFilenames[i][1]);
- m_aFrontEndSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
- }
-}
-#endif // GAMEPAD_MENU
-
void
CMenuManager::LoadSettings()
{
@@ -5351,17 +5262,6 @@ CMenuManager::ProcessButtonPresses(void)
if (changeValueBy != 0) {
switch (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action) {
-#ifdef FIX_BUGS
- case MENUACTION_CTRLCONFIG:
- CPad::GetPad(0)->Mode += changeValueBy;
- if (CPad::GetPad(0)->Mode > 3)
- CPad::GetPad(0)->Mode = 0;
- else if (CPad::GetPad(0)->Mode < 0)
- CPad::GetPad(0)->Mode = 3;
- SaveSettings();
- DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0);
- break;
-#endif
case MENUACTION_RADIO:
m_PrefsRadioStation += changeValueBy;
DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0);
@@ -5500,18 +5400,13 @@ CMenuManager::ProcessOnOffMenuOptions()
TimeToStopPadShaking = CTimer::GetTimeInMillisecondsPauseMode() + 500;
}
DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0);
-#ifdef FIX_BUGS
- SaveSettings();
-#endif // !FIX_BUGS
break;
-#ifndef FIX_BUGS
case MENUACTION_CTRLCONFIG:
CPad::GetPad(0)->Mode++;
if (CPad::GetPad(0)->Mode > 3)
CPad::GetPad(0)->Mode = 0;
DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0);
break;
-#endif // !FIX_BUGS
case MENUACTION_CTRLDISPLAY:
m_DisplayControllerOnFoot = !m_DisplayControllerOnFoot;
DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0);
@@ -5781,12 +5676,6 @@ CMenuManager::UnloadTextures()
int frontend = CTxdStore::FindTxdSlot("frontend");
CTxdStore::RemoveTxd(frontend);
-#ifdef GAMEPAD_MENU
- int frontend_controllerTxdSlot = CTxdStore::FindTxdSlot("frontend_controller");
- if (frontend_controllerTxdSlot != -1)
- CTxdStore::RemoveTxd(frontend_controllerTxdSlot);
-#endif
-
printf("REMOVE menu textures\n");
for (int i = 0; i < ARRAY_SIZE(MenuFilenames); ++i)
m_aMenuSprites[i].Delete();
@@ -5828,301 +5717,6 @@ CMenuManager::WaitForUserCD()
}
}
-#ifdef GAMEPAD_MENU
-void
-CMenuManager::PrintController(void)
-{
- const float scale = 0.9f;
- const float CONTROLLER_SIZE_X = 235.2f;
- const float CONTROLLER_SIZE_Y = 175.2f;
- const float CONTROLLER_POS_X = (DEFAULT_SCREEN_WIDTH - CONTROLLER_SIZE_X) / 2.0f;
- const float CONTROLLER_POS_Y = 160.0f;
-
- float centerX = CONTROLLER_POS_X + CONTROLLER_SIZE_X / 2;
- float centerY = CONTROLLER_POS_Y + CONTROLLER_SIZE_Y / 2;
-
-#define X(f) ((f)*scale + centerX)
-#define Y(f) ((f)*scale + centerY)
-
- m_aFrontEndSprites[FE_CONTROLLERSH].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X((CONTROLLER_SIZE_X + 4.8f) * scale), MENU_Y((CONTROLLER_SIZE_Y + 4.8f) * scale), CRGBA(0, 0, 0, 255));
- m_aFrontEndSprites[FE_CONTROLLER].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, 255));
- if (m_DisplayControllerOnFoot) {
- if (CTimer::GetTimeInMillisecondsPauseMode() & 0x400)
- m_aFrontEndSprites[FE_ARROWS1].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, 255));
- else
- m_aFrontEndSprites[FE_ARROWS3].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, 255));
- } else {
- if (CTimer::GetTimeInMillisecondsPauseMode() & 0x400)
- m_aFrontEndSprites[FE_ARROWS2].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, 255));
- else
- m_aFrontEndSprites[FE_ARROWS4].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, 255));
- }
-
- CFont::SetFontStyle(FONT_LOCALE(FONT_BANK));
- CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * scale), MENU_Y(SMALLESTTEXT_Y_SCALE * scale)); // X
-
- // CFont::SetColor(CRGBA(128, 128, 128, FadeIn(255)));
- CFont::SetDropColor(CRGBA(0, 0, 0, FadeIn(255)));
- CFont::SetDropShadowPosition(1);
- CFont::SetColor(CRGBA(255, 255, 255, FadeIn(255)));
- CFont::SetWrapx(SCREEN_WIDTH);
-
- float TEXT_L2_X = 50.0f + CONTROLLER_POS_X - centerX, TEXT_L2_Y = -14.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_L1_X = -4.0f + CONTROLLER_POS_X - centerX, TEXT_L1_Y = 25.0f + CONTROLLER_POS_Y - centerY, TEXT_L1_Y_VEH = 3.0f + TEXT_L1_Y;
- float TEXT_DPAD_X = -4.0f + CONTROLLER_POS_X - centerX, TEXT_DPAD_Y = 65.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_LSTICK_X = -4.0f + CONTROLLER_POS_X - centerX, TEXT_LSTICK_Y = 97.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_SELECT_X = 103.0f + CONTROLLER_POS_X - centerX, TEXT_SELECT_Y = 141.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_START_X = 130.0f + CONTROLLER_POS_X - centerX, TEXT_START_Y = 128.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_R2_X = 184.0F + CONTROLLER_POS_X - centerX, TEXT_R2_Y = -14.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_R1_X = 238.0f + CONTROLLER_POS_X - centerX, TEXT_R1_Y = 25.0f + CONTROLLER_POS_Y - centerY;
-
- float TEXT_SQUARE_X = 144.0f + CONTROLLER_POS_X - centerX, TEXT_SQUARE_Y = 18.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_TRIANGLE_X = 238.0f + CONTROLLER_POS_X - centerX, TEXT_TRIANGLE_Y = 52.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_CIRCLE_X = 238.0f + CONTROLLER_POS_X - centerX, TEXT_CIRCLE_Y = 65.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_CROSS_X = 238.0f + CONTROLLER_POS_X - centerX, TEXT_CROSS_Y = 78.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_RSTICK_X = 238.0f + CONTROLLER_POS_X - centerX, TEXT_RSTICK_Y = 94.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_R3_X = 238.0f + CONTROLLER_POS_X - centerX, TEXT_R3_Y = 109.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_L3_X = 84.0f + CONTROLLER_POS_X - centerX, TEXT_L3_Y = 162.0f + CONTROLLER_POS_Y - centerY;
- float TEXT_L2R2_X = 74.0f + CONTROLLER_POS_X - centerX, TEXT_L2R2_Y = -6.0f + CONTROLLER_POS_Y - centerY;
-
- switch (m_PrefsControllerType)
- {
- case CONTROLLER_DUALSHOCK4:
- TEXT_L1_Y += 7.0f;
- TEXT_L1_Y_VEH = TEXT_L1_Y;
- TEXT_R1_Y += 7.0f;
- TEXT_TRIANGLE_Y -= 1.0f;
- TEXT_CIRCLE_Y -= 1.0f;
- TEXT_CROSS_Y -= 1.0f;
- TEXT_RSTICK_Y -= 4.0f;
- TEXT_R3_Y -= 4.0f;
- TEXT_DPAD_Y -= 1.0f;
- TEXT_LSTICK_Y -= 6.0f;
- TEXT_L3_X -= 2.0f;
- break;
- case CONTROLLER_XBOXONE:
- TEXT_L2_X -= 2.0f;
- TEXT_R2_X += 2.0f;
- TEXT_L1_Y += 15.0f;
- TEXT_L1_Y_VEH = TEXT_L1_Y;
- TEXT_R1_Y += 15.0f;
- TEXT_TRIANGLE_Y += 4.0f;
- TEXT_CIRCLE_Y += 4.0f;
- TEXT_CROSS_Y += 4.0f;
- TEXT_RSTICK_Y += 1.0f;
- TEXT_R3_Y += 1.0f;
- TEXT_DPAD_Y += 29.0f;
- TEXT_LSTICK_Y -= 22.0f;
- TEXT_L3_X -= 36.0f;
- TEXT_L2R2_Y += 5.0f;
- TEXT_SELECT_X += 4.0f;
- break;
- case CONTROLLER_XBOX360:
- TEXT_L2_X += 8.0f;
- TEXT_R2_X -= 8.0f;
- TEXT_L1_Y += 15.0f;
- TEXT_L1_Y_VEH = TEXT_L1_Y;
- TEXT_R1_Y += 15.0f;
- TEXT_TRIANGLE_Y += 4.0f;
- TEXT_CIRCLE_Y += 4.0f;
- TEXT_CROSS_Y += 4.0f;
- TEXT_RSTICK_Y += 4.0f;
- TEXT_R3_Y += 4.0f;
- TEXT_DPAD_Y += 30.0f;
- TEXT_LSTICK_Y -= 21.0f;
- TEXT_L3_X -= 36.0f;
- TEXT_L2R2_Y += 5.0f;
- TEXT_SELECT_X += 3.0f;
- break;
- };
-
- if (m_DisplayControllerOnFoot) {
- switch (CPad::GetPad(0)->Mode) {
- case 0:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_LOF"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_MOV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_TAR"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_ENV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_ATT"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_RUN"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
- break;
- case 1:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_LOF"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_NA"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_TAR"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_ENV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_ATT"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_RUN"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
- break;
- case 2:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_ENV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_MOV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_TAR"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_LOF"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_RUN"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ATT"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
- break;
- case 3:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_TAR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_NA"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_ATT"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_ENV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_LOF"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_RUN"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
- break;
- default:
- return;
- }
- } else {
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2R2_X)), MENU_Y(Y(TEXT_L2R2_Y)), TheText.Get("FEC_LB"));
- switch (CPad::GetPad(0)->Mode) {
- case 0:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_RSC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_VES"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_HO3"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_HAB"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_BRA"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_EXV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_CAW"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ACC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_TUC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_SM3"));
- break;
- case 1:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_HOR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_NA"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_RSC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_HAB"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_BRA"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_EXV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_CAW"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ACC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_TUC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_SM3"));
- break;
- case 2:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_EXV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_VES"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_RS3"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_HOR"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_BRA"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_HAB"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_CAW"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ACC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_TUC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_SM3"));
- break;
- case 3:
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_HAB"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_TUC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_HO3"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_CAW"));
- CFont::SetRightJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_SMT"));
- CFont::SetJustifyOn(); // X
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_EXV"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_RSC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_NA"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_ACC"));
- CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_BRA"));
- break;
- default:
- return;
- }
- }
-
- CFont::SetDropShadowPosition(0); // X
-
-#undef X
-#undef Y
-}
-#else
void
CMenuManager::PrintController(void)
{
@@ -6343,7 +5937,6 @@ CMenuManager::PrintController(void)
CFont::SetDropShadowPosition(0); // X
}
-#endif
#ifdef MENU_MAP
diff --git a/src/core/Frontend.h b/src/core/Frontend.h
index 5c3523ab..b0100fdc 100644
--- a/src/core/Frontend.h
+++ b/src/core/Frontend.h
@@ -235,15 +235,15 @@ enum eMenuScreen
MENUPAGE_KEYBOARD_CONTROLS = 55,
MENUPAGE_MOUSE_CONTROLS = 56,
MENUPAGE_MISSION_RETRY = 57,
-#ifdef CUSTOM_FRONTEND_OPTIONS
-
#ifdef MENU_MAP
MENUPAGE_MAP = 58,
#endif
+#ifdef CUSTOM_FRONTEND_OPTIONS
+
#ifdef GRAPHICS_MENU_OPTIONS
MENUPAGE_GRAPHICS_SETTINGS,
#endif
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
MENUPAGE_DETECT_JOYSTICK,
#endif
@@ -725,19 +725,6 @@ public:
#define ISLAND_LOADING_ISNT(p)
#endif
-#ifdef GAMEPAD_MENU
- enum
- {
- CONTROLLER_DUALSHOCK2 = 0,
- CONTROLLER_DUALSHOCK3,
- CONTROLLER_DUALSHOCK4,
- CONTROLLER_XBOX360,
- CONTROLLER_XBOXONE,
- };
-
- static int8 m_PrefsControllerType;
-#endif
-
public:
static void BuildStatLine(Const char *text, void *stat, bool itsFloat, void *stat2);
static void CentreMousePointer();
@@ -797,9 +784,6 @@ public:
void PageDownList(bool);
int8 GetPreviousPageOption();
void ProcessList(bool &goBack, bool &optionSelected);
-#ifdef GAMEPAD_MENU
- void LoadController(int8 type);
-#endif
};
#ifndef IMPROVED_VIDEOMODE
diff --git a/src/core/Game.cpp b/src/core/Game.cpp
index 2a6afa97..4fd30b53 100644
--- a/src/core/Game.cpp
+++ b/src/core/Game.cpp
@@ -414,11 +414,6 @@ bool CGame::Initialise(const char* datFile)
CTxdStore::Create(gameTxdSlot);
CTxdStore::AddRef(gameTxdSlot);
-#ifdef EXTENDED_PIPELINES
- // for generic fallback
- CustomPipes::SetTxdFindCallback();
-#endif
-
LoadingScreen("Loading the Game", "Loading particles", nil);
int particleTxdSlot = CTxdStore::AddTxdSlot("particle");
CTxdStore::LoadTxd(particleTxdSlot, "MODELS/PARTICLE.TXD");
@@ -503,6 +498,10 @@ bool CGame::Initialise(const char* datFile)
CFileLoader::LoadLevel("GTA3.DAT");
#endif
+#ifdef EXTENDED_PIPELINES
+ // for generic fallback
+ CustomPipes::SetTxdFindCallback();
+#endif
CWorld::AddParticles();
CVehicleModelInfo::LoadVehicleColours();
CVehicleModelInfo::LoadEnvironmentMaps();
diff --git a/src/core/MenuScreens.cpp b/src/core/MenuScreens.cpp
index 3bd9adf4..7c90ea12 100644
--- a/src/core/MenuScreens.cpp
+++ b/src/core/MenuScreens.cpp
@@ -394,6 +394,9 @@ CMenuScreen aScreens[MENUPAGES] = {
{ "FET_PAU", 1, MENUPAGE_DISABLED, MENUPAGE_DISABLED, 0, 0,
MENUACTION_RESUME, "FEM_RES", SAVESLOT_NONE, MENUPAGE_NONE,
MENUACTION_CHANGEMENU, "FEN_STA", SAVESLOT_NONE, MENUPAGE_NEW_GAME,
+#ifdef MENU_MAP
+ MENUACTION_CHANGEMENU, "FEG_MAP", SAVESLOT_NONE, MENUPAGE_MAP,
+#endif
MENUACTION_CHANGEMENU, "FEP_STA", SAVESLOT_NONE, MENUPAGE_STATS,
MENUACTION_CHANGEMENU, "FEP_BRI", SAVESLOT_NONE, MENUPAGE_BRIEFS,
MENUACTION_CHANGEMENU, "FET_OPT", SAVESLOT_NONE, MENUPAGE_OPTIONS,
@@ -438,6 +441,14 @@ CMenuScreen aScreens[MENUPAGES] = {
},
#endif
+#ifdef MENU_MAP
+ // MENUPAGE_MAP
+ { "FEG_MAP", 1, MENUPAGE_NONE, MENUPAGE_NONE, 2, 2,
+ MENUACTION_UNK110, "", SAVESLOT_NONE, MENUPAGE_NONE, // to prevent cross/enter to go back
+ MENUACTION_CHANGEMENU, "FEDS_TB", SAVESLOT_NONE, MENUPAGE_NONE,
+ },
+#endif
+
// MENUPAGE_UNK
{ "", 0, MENUPAGE_NONE, MENUPAGE_NONE, 0, 0,
diff --git a/src/core/MenuScreensCustom.cpp b/src/core/MenuScreensCustom.cpp
index 6e23f76a..3eee8dd2 100644
--- a/src/core/MenuScreensCustom.cpp
+++ b/src/core/MenuScreensCustom.cpp
@@ -1,13 +1,4 @@
#include "common.h"
-#if defined DETECT_JOYSTICK_MENU && defined XINPUT
-#include
-#include
-#if !defined(PSAPI_VERSION) || (PSAPI_VERSION > 1)
-#pragma comment( lib, "Xinput9_1_0.lib" )
-#else
-#pragma comment( lib, "Xinput.lib" )
-#endif
-#endif
#include "platform.h"
#include "crossplatform.h"
#include "Renderer.h"
@@ -83,12 +74,6 @@
#define INVERT_PAD_SELECTOR
#endif
-#ifdef GAMEPAD_MENU
- #define SELECT_CONTROLLER_TYPE MENUACTION_CFO_SELECT, "FEC_TYP", { new CCFOSelect((int8*)&CMenuManager::m_PrefsControllerType, "Controller", "Type", controllerTypes, ARRAY_SIZE(controllerTypes), false, ControllerTypeAfterChange) },
-#else
- #define SELECT_CONTROLLER_TYPE
-#endif
-
const char *filterNames[] = { "FEM_NON", "FEM_SIM", "FEM_NRM", "FEM_MOB" };
const char *off_on[] = { "FEM_OFF", "FEM_ON" };
@@ -195,6 +180,38 @@ void IslandLoadingAfterChange(int8 before, int8 after) {
}
#endif
+#ifdef MORE_LANGUAGES
+void LangPolSelect(int8 action)
+{
+ if (action == FEOPTION_ACTION_SELECT) {
+ FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_POLISH;
+ FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
+ FrontEndMenuManager.InitialiseChangedLanguageSettings();
+ FrontEndMenuManager.SaveSettings();
+ }
+}
+
+void LangRusSelect(int8 action)
+{
+ if (action == FEOPTION_ACTION_SELECT) {
+ FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_RUSSIAN;
+ FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
+ FrontEndMenuManager.InitialiseChangedLanguageSettings();
+ FrontEndMenuManager.SaveSettings();
+ }
+}
+
+void LangJapSelect(int8 action)
+{
+ if (action == FEOPTION_ACTION_SELECT) {
+ FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_JAPANESE;
+ FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
+ FrontEndMenuManager.InitialiseChangedLanguageSettings();
+ FrontEndMenuManager.SaveSettings();
+ }
+}
+#endif
+
#ifndef MULTISAMPLING
void GraphicsGoBack() {
}
@@ -274,13 +291,11 @@ void ScreenModeAfterChange(int8 before, int8 after)
#endif
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
wchar selectedJoystickUnicode[128];
int cachedButtonNum = -1;
wchar* DetectJoystickDraw(bool* disabled, bool userHovering) {
-
-#if defined RW_GL3 && !defined LIBRW_SDL2
int numButtons;
int found = -1;
const char *joyname;
@@ -311,37 +326,6 @@ wchar* DetectJoystickDraw(bool* disabled, bool userHovering) {
}
}
if (PSGLOBAL(joy1id) == -1)
-#elif defined XINPUT
- int found = -1;
- XINPUT_STATE xstate;
- memset(&xstate, 0, sizeof(XINPUT_STATE));
- if (userHovering) {
- for (int i = 0; i <= 3; i++) {
- if (XInputGetState(i, &xstate) == ERROR_SUCCESS) {
- if (xstate.Gamepad.bLeftTrigger || xstate.Gamepad.bRightTrigger) {
- found = i;
- break;
- }
- for (int j = XINPUT_GAMEPAD_DPAD_UP; j != XINPUT_GAMEPAD_Y << 1; j = (j << 1)) {
- if (xstate.Gamepad.wButtons & j) {
- found = i;
- break;
- }
- }
- if (found != -1)
- break;
- }
- }
- if (found != -1 && CPad::XInputJoy1 != found) {
- // We should never leave pads -1, so we can process them when they're connected and kinda support hotplug.
- CPad::XInputJoy2 = (CPad::XInputJoy1 == -1 ? (found + 1) % 4 : CPad::XInputJoy1);
- CPad::XInputJoy1 = found;
- cachedButtonNum = 0; // fake too, because xinput bypass CControllerConfig
- }
- }
- sprintf(gSelectedJoystickName, "%d", CPad::XInputJoy1); // fake, on xinput we only store gamepad ids(thanks MS) so this is a temp variable to be used below
- if (CPad::XInputJoy1 == -1)
-#endif
AsciiToUnicode("Not found", selectedJoystickUnicode);
else
AsciiToUnicode(gSelectedJoystickName, selectedJoystickUnicode);
@@ -362,14 +346,6 @@ void DetectJoystickGoBack() {
}
#endif
-#ifdef GAMEPAD_MENU
-const char* controllerTypes[] = { "FEC_DS2", "FEC_DS3", "FEC_DS4", "FEC_360", "FEC_ONE" };
-void ControllerTypeAfterChange(int8 before, int8 after)
-{
- FrontEndMenuManager.LoadController(after);
-}
-#endif
-
CMenuScreenCustom aScreens[MENUPAGES] = {
// MENUPAGE_NONE = 0
{ "", MENUPAGE_DISABLED, MENUPAGE_DISABLED, nil, nil, },
@@ -393,16 +369,10 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
},
// MENUPAGE_CONTROLLER_SETTINGS = 4
-#ifdef GAMEPAD_MENU
- { "FET_AGS", MENUPAGE_CONTROLLER_PC, MENUPAGE_CONTROLLER_PC, nil, nil,
-#else
{ "FET_CON", MENUPAGE_OPTIONS, MENUPAGE_OPTIONS, nil, nil,
-#endif
MENUACTION_CTRLCONFIG, "FEC_CCF", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS },
MENUACTION_CTRLDISPLAY, "FEC_CDP", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS },
- INVERT_PAD_SELECTOR
MENUACTION_CTRLVIBRATION, "FEC_VIB", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS },
- SELECT_CONTROLLER_TYPE
MENUACTION_CHANGEMENU, "FEDS_TB", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
},
@@ -462,7 +432,11 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
MENUACTION_LANG_GER, "FEL_GER", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
MENUACTION_LANG_ITA, "FEL_ITA", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
MENUACTION_LANG_SPA, "FEL_SPA", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
- // CustomFrontendOptionsPopulate will add languages here, if files are found
+#ifdef MORE_LANGUAGES
+ MENUACTION_CFO_DYNAMIC, "FEL_POL", { new CCFODynamic(nil, nil, nil, nil, LangPolSelect) },
+ MENUACTION_CFO_DYNAMIC, "FEL_RUS", { new CCFODynamic(nil, nil, nil, nil, LangRusSelect) },
+ MENUACTION_CFO_DYNAMIC, "FEL_JAP", { new CCFODynamic(nil, nil, nil, nil, LangJapSelect) },
+#endif
MENUACTION_CHANGEMENU, "FEDS_TB", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
},
@@ -669,10 +643,7 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
MENUACTION_CTRLMETHOD, "FET_CME", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC },
#endif
MENUACTION_KEYBOARDCTRLS,"FET_RDK", { nil, SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS },
-#ifdef GAMEPAD_MENU
- MENUACTION_CHANGEMENU, "FET_AGS", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS },
-#endif
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
MENUACTION_CHANGEMENU, "FEC_JOD", { nil, SAVESLOT_NONE, MENUPAGE_DETECT_JOYSTICK },
#endif
MENUACTION_CHANGEMENU, "FET_AMS", { nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS },
@@ -728,7 +699,7 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
MENUACTION_LOADRADIO, "FET_AUD", { nil, SAVESLOT_NONE, MENUPAGE_SOUND_SETTINGS },
MENUACTION_CHANGEMENU, "FET_DIS", { nil, SAVESLOT_NONE, MENUPAGE_DISPLAY_SETTINGS },
#ifdef GRAPHICS_MENU_OPTIONS
- MENUACTION_CHANGEMENU, "FET_GFX", { nil, SAVESLOT_NONE, MENUPAGE_GRAPHICS_SETTINGS },
+ MENUACTION_CHANGEMENU, "FET_GRA", { nil, SAVESLOT_NONE, MENUPAGE_GRAPHICS_SETTINGS },
#endif
MENUACTION_CHANGEMENU, "FET_LAN", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
MENUACTION_PLAYERSETUP, "FET_PSU", { nil, SAVESLOT_NONE, MENUPAGE_SKIN_SELECT },
@@ -797,7 +768,9 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
{ "FET_PAU", MENUPAGE_DISABLED, MENUPAGE_DISABLED, nil, nil,
MENUACTION_RESUME, "FEM_RES", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
MENUACTION_CHANGEMENU, "FEN_STA", { nil, SAVESLOT_NONE, MENUPAGE_NEW_GAME },
- // CMenuManager::LoadAllTextures will add map here, if MENU_MAP enabled and map textures are found
+#ifdef MENU_MAP
+ MENUACTION_CHANGEMENU, "FEG_MAP", { nil, SAVESLOT_NONE, MENUPAGE_MAP },
+#endif
MENUACTION_CHANGEMENU, "FEP_STA", { nil, SAVESLOT_NONE, MENUPAGE_STATS },
MENUACTION_CHANGEMENU, "FEP_BRI", { nil, SAVESLOT_NONE, MENUPAGE_BRIEFS },
MENUACTION_CHANGEMENU, "FET_OPT", { nil, SAVESLOT_NONE, MENUPAGE_OPTIONS },
@@ -825,9 +798,7 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
{ "FET_MTI", MENUPAGE_CONTROLLER_PC, MENUPAGE_CONTROLLER_PC, nil, nil,
MENUACTION_MOUSESENS, "FEC_MSH", { nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS },
MENUACTION_INVVERT, "FEC_IVV", { nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS },
-#ifndef GAMEPAD_MENU
INVERT_PAD_SELECTOR
-#endif
MENUACTION_MOUSESTEER, "FET_MST", { nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS },
MENUACTION_CHANGEMENU, "FEDS_TB", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
},
@@ -855,7 +826,7 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
#ifdef GRAPHICS_MENU_OPTIONS
// MENUPAGE_GRAPHICS_SETTINGS
- { "FET_GFX", MENUPAGE_OPTIONS, MENUPAGE_OPTIONS,
+ { "FET_GRA", MENUPAGE_OPTIONS, MENUPAGE_OPTIONS,
new CCustomScreenLayout({MENUSPRITE_MAINMENU, 50, 0, 20, FONT_HEADING, FESCREEN_LEFT_ALIGN, true, MEDIUMTEXT_X_SCALE, MEDIUMTEXT_Y_SCALE}), GraphicsGoBack,
MENUACTION_SCREENRES, "FED_RES", { nil, SAVESLOT_NONE, MENUPAGE_GRAPHICS_SETTINGS },
@@ -877,7 +848,7 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
},
#endif
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
// MENUPAGE_DETECT_JOYSTICK
{ "FEC_JOD", MENUPAGE_CONTROLLER_PC, MENUPAGE_CONTROLLER_PC,
new CCustomScreenLayout({MENUSPRITE_MAINMENU, 40, 60, 20, FONT_BANK, FESCREEN_LEFT_ALIGN, false, MEDIUMTEXT_X_SCALE, MEDIUMTEXT_Y_SCALE}), DetectJoystickGoBack,
diff --git a/src/core/Pad.cpp b/src/core/Pad.cpp
index 60bb7a76..95a107ee 100644
--- a/src/core/Pad.cpp
+++ b/src/core/Pad.cpp
@@ -1028,14 +1028,8 @@ void CPad::AddToPCCheatString(char c)
}
#ifdef XINPUT
-int CPad::XInputJoy1 = 0;
-int CPad::XInputJoy2 = 1;
void CPad::AffectFromXinput(uint32 pad)
{
- pad = pad == 0 ? XInputJoy1 : XInputJoy2;
- if (pad == -1) // LoadINIControllerSettings can set it to -1
- return;
-
XINPUT_STATE xstate;
memset(&xstate, 0, sizeof(XINPUT_STATE));
if (XInputGetState(pad, &xstate) == ERROR_SUCCESS)
@@ -2342,121 +2336,6 @@ bool CPad::ShiftTargetRightJustDown(void)
return !!(NewState.RightShoulder2 && !OldState.RightShoulder2);
}
-#ifdef FIX_BUGS
-// FIX: fixes from VC for the bug of double switching the controller setup
-bool CPad::GetAnaloguePadUp(void)
-{
- static int16 oldfStickY = 0;
-
- int16 leftStickY = CPad::GetPad(0)->GetLeftStickY();
-
- if ( leftStickY < -15 && oldfStickY >= -5 )
- {
- oldfStickY = leftStickY;
- return true;
- }
- else
- {
- oldfStickY = leftStickY;
- return false;
- }
-}
-
-bool CPad::GetAnaloguePadDown(void)
-{
- static int16 oldfStickY = 0;
-
- int16 leftStickY = CPad::GetPad(0)->GetLeftStickY();
-
- if ( leftStickY > 15 && oldfStickY <= 5 )
- {
- oldfStickY = leftStickY;
- return true;
- }
- else
- {
- oldfStickY = leftStickY;
- return false;
- }
-}
-
-bool CPad::GetAnaloguePadLeft(void)
-{
- static int16 oldfStickX = 0;
-
- int16 leftStickX = CPad::GetPad(0)->GetLeftStickX();
-
- if ( leftStickX < -15 && oldfStickX >= -5 )
- {
- oldfStickX = leftStickX;
- return true;
- }
- else
- {
- oldfStickX = leftStickX;
- return false;
- }
-}
-
-bool CPad::GetAnaloguePadRight(void)
-{
- static int16 oldfStickX = 0;
-
- int16 leftStickX = CPad::GetPad(0)->GetLeftStickX();
-
- if ( leftStickX > 15 && oldfStickX <= 5 )
- {
- oldfStickX = leftStickX;
- return true;
- }
- else
- {
- oldfStickX = leftStickX;
- return false;
- }
-}
-
-bool CPad::GetAnaloguePadLeftJustUp(void)
-{
- static int16 oldfStickX = 0;
-
- int16 X = GetPad(0)->GetPedWalkLeftRight();
-
- if ( X == 0 && oldfStickX < 0 )
- {
- oldfStickX = 0;
-
- return true;
- }
- else
- {
- oldfStickX = X;
-
- return false;
- }
-}
-
-bool CPad::GetAnaloguePadRightJustUp(void)
-{
- static int16 oldfStickX = 0;
-
- int16 X = GetPad(0)->GetPedWalkLeftRight();
-
- if ( X == 0 && oldfStickX > 0 )
- {
- oldfStickX = 0;
-
- return true;
- }
- else
- {
- oldfStickX = X;
-
- return false;
- }
-}
-
-#else
bool CPad::GetAnaloguePadUp(void)
{
static int16 oldfStickY = 0;
@@ -2568,7 +2447,6 @@ bool CPad::GetAnaloguePadRightJustUp(void)
return false;
}
}
-#endif
bool CPad::ForceCameraBehindPlayer(void)
{
diff --git a/src/core/Pad.h b/src/core/Pad.h
index b37659cd..20a676ef 100644
--- a/src/core/Pad.h
+++ b/src/core/Pad.h
@@ -263,8 +263,6 @@ public:
static int32 *EditCodesForControls(int32 *pRsKeys, int32 nSize);
#ifdef XINPUT
- static int XInputJoy1;
- static int XInputJoy2;
void AffectFromXinput(uint32 pad);
#endif
diff --git a/src/core/PlayerInfo.cpp b/src/core/PlayerInfo.cpp
index bd6feeed..1af8f924 100644
--- a/src/core/PlayerInfo.cpp
+++ b/src/core/PlayerInfo.cpp
@@ -155,8 +155,8 @@ CPlayerInfo::Process(void)
m_pPed->SetPedState(PED_IDLE);
m_pPed->SetMoveState(PEDMOVE_STILL);
CPed::PedSetOutCarCB(0, m_pPed);
- CAnimManager::BlendAnimation(m_pPed->GetClump(), m_pPed->m_animGroup, ANIM_STD_IDLE, 100.0f);
- CAnimManager::BlendAnimation(m_pPed->GetClump(), ASSOCGRP_STD, ANIM_STD_FALL_LAND, 100.0f);
+ CAnimManager::BlendAnimation(m_pPed->GetClump(), m_pPed->m_animGroup, ANIM_IDLE_STANCE, 100.0f);
+ CAnimManager::BlendAnimation(m_pPed->GetClump(), ASSOCGRP_STD, ANIM_FALL_LAND, 100.0f);
m_pPed->SetPosition(sth);
m_pPed->SetMoveState(PEDMOVE_STILL);
m_pPed->m_vecMoveSpeed = veh->m_vecMoveSpeed;
diff --git a/src/core/World.cpp b/src/core/World.cpp
index 90d73b09..0874b680 100644
--- a/src/core/World.cpp
+++ b/src/core/World.cpp
@@ -2123,7 +2123,7 @@ CWorld::TriggerExplosionSectorList(CPtrList &list, const CVector &position, floa
PEDPIECE_TORSO, direction);
if(pPed->m_nPedState != PED_DIE)
pPed->SetFall(2000,
- (AnimationId)(direction + ANIM_STD_HIGHIMPACT_FRONT), 0);
+ (AnimationId)(direction + ANIM_KO_SKID_FRONT), 0);
if(pCreator && pCreator->IsPed()) {
eEventType eventType = EVENT_SHOOT_PED;
if(pPed->m_nPedType == PEDTYPE_COP) eventType = EVENT_SHOOT_COP;
diff --git a/src/core/common.h b/src/core/common.h
index a8f19158..33d8910d 100644
--- a/src/core/common.h
+++ b/src/core/common.h
@@ -354,7 +354,7 @@ __inline__ void TRACE(char *f, ...) { } // this is re3 only, and so the function
#ifndef MASTER
#define assert(_Expression) (void)( (!!(_Expression)) || (re3_assert(#_Expression, __FILE__, __LINE__, __FUNCTION__), 0) )
#else
-#define assert(_Expression) (_Expression)
+#define assert(_Expression)
#endif
#define ASSERT assert
diff --git a/src/core/config.h b/src/core/config.h
index 6619be68..bb1ca5e3 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -183,11 +183,7 @@ enum Config {
// those infamous texts
#define DRAW_GAME_VERSION_TEXT
-#ifdef DRAW_GAME_VERSION_TEXT
- // unlike R* development builds, ours has runtime switch on debug menu & .ini, and disabled as default.
- #define USE_OUR_VERSIONING // If you disable this then game will fetch version from peds.col, as R* did while in development
-#endif
-//#define DRAW_MENU_VERSION_TEXT
+#define DRAW_MENU_VERSION_TEXT
// Memory allocation and compression
// #define USE_CUSTOM_ALLOCATOR // use CMemoryHeap for allocation. use with care, not finished yet
@@ -267,10 +263,6 @@ enum Config {
#define PS2_ALPHA_TEST // emulate ps2 alpha test
#define IMPROVED_VIDEOMODE // save and load videomode parameters instead of a magic number
#define DISABLE_LOADING_SCREEN // disable the loading screen which vastly improves the loading time
-#ifdef DISABLE_LOADING_SCREEN
-// enable the PC splash
-#undef RANDOMSPLASH
-#endif
#define DISABLE_VSYNC_ON_TEXTURE_CONVERSION // make texture conversion work faster by disabling vsync
#define ANISOTROPIC_FILTERING // set all textures to max anisotropic filtering
//#define USE_TEXTURE_POOL
@@ -295,8 +287,8 @@ enum Config {
#if !defined(RW_GL3) && defined(_WIN32)
#define XINPUT
#endif
-#if defined XINPUT || (defined RW_GL3 && !defined LIBRW_SDL2 && !defined __SWITCH__)
-#define DETECT_JOYSTICK_MENU // Then we'll expect user to enter Controller->Detect joysticks if his joystick isn't detected at the start.
+#if !defined(_WIN32) && !defined(__SWITCH__)
+#define DONT_TRUST_RECOGNIZED_JOYSTICKS // Then we'll only rely on GLFW gamepad DB, and expect user to enter Controller->Detect joysticks if his joystick isn't on that list.
#endif
#define DETECT_PAD_INPUT_SWITCH // Adds automatic switch of pad related stuff between controller and kb/m
#define KANGAROO_CHEAT
@@ -320,11 +312,7 @@ enum Config {
# define PS2_MENU
//# define PS2_MENU_USEALLPAGEICONS
#else
-
-# ifdef XINPUT
-# define GAMEPAD_MENU // Add gamepad menu
-# endif
-
+# define MENU_MAP // VC-like menu map. Make sure you have new menu.txd
# define SCROLLABLE_STATS_PAGE // only draggable by mouse atm
# define TRIANGLE_BACK_BUTTON
//# define CIRCLE_BACK_BUTTON
@@ -333,7 +321,6 @@ enum Config {
# define CUSTOM_FRONTEND_OPTIONS
# ifdef CUSTOM_FRONTEND_OPTIONS
-# define MENU_MAP // VC-like menu map. Won't appear if you don't have our menu.txd
# define GRAPHICS_MENU_OPTIONS // otherwise Display settings will be scrollable
# define NO_ISLAND_LOADING // disable loadscreen between islands via loading all island data at once, consumes more memory and CPU
# define CUTSCENE_BORDERS_SWITCH
@@ -353,10 +340,6 @@ enum Config {
#define USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
#define SCRIPT_LOG_FILE_LEVEL 0 // 0 == no log, 1 == overwrite every frame, 2 == full log
-#if SCRIPT_LOG_FILE_LEVEL == 0
-#undef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
-#endif
-
#ifndef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
#define USE_BASIC_SCRIPT_DEBUG_OUTPUT
#endif
@@ -485,7 +468,6 @@ enum Config {
#undef RADIO_OFF_TEXT
#undef MENU_MAP
-#undef GAMEPAD_MENU
#undef SCROLLABLE_STATS_PAGE
#undef CUSTOM_FRONTEND_OPTIONS
diff --git a/src/core/main.cpp b/src/core/main.cpp
index b47f5d37..af0d556a 100644
--- a/src/core/main.cpp
+++ b/src/core/main.cpp
@@ -1,10 +1,8 @@
#include "common.h"
-#include
#include "rpmatfx.h"
#include "rphanim.h"
#include "rpskin.h"
#include "rtbmp.h"
-#include "rtpng.h"
#ifdef ANISOTROPIC_FILTERING
#include "rpanisot.h"
#endif
@@ -72,9 +70,6 @@
#include "custompipes.h"
#include "screendroplets.h"
#include "MemoryHeap.h"
-#ifdef USE_OUR_VERSIONING
-#include "GitSHA1.h"
-#endif
GlobalScene Scene;
@@ -91,9 +86,6 @@ bool gbModelViewer;
#ifdef TIMEBARS
bool gbShowTimebars;
#endif
-#ifdef DRAW_GAME_VERSION_TEXT
-bool gDrawVersionText; // Our addition, we think it was always enabled on !MASTER builds
-#endif
volatile int32 frameCount;
@@ -362,11 +354,7 @@ RwGrabScreen(RwCamera *camera, RwChar *filename)
strcpy(temp, CFileMgr::GetRootDirName());
strcat(temp, filename);
-#ifndef LIBRW
if (RtBMPImageWrite(pImage, &temp[0]) == nil)
-#else
- if (RtPNGImageWrite(pImage, &temp[0]) == nil)
-#endif
result = false;
RwImageDestroy(pImage);
return result;
@@ -385,7 +373,6 @@ DoRWStuffEndOfFrame(void)
RsCameraShowRaster(Scene.camera);
#ifndef MASTER
char s[48];
-#ifdef THIS_IS_STUPID
if (CPad::GetPad(1)->GetLeftShockJustDown()) {
// try using both controllers for this thing... crazy bastards
if (CPad::GetPad(0)->GetRightStickY() > 0) {
@@ -397,12 +384,6 @@ DoRWStuffEndOfFrame(void)
RwGrabScreen(Scene.camera, s);
}
}
-#else
- if (CPad::GetPad(1)->GetLeftShockJustDown() || CPad::GetPad(0)->GetFJustDown(11)) {
- sprintf(s, "screen_%11lld.png", time(nil));
- RwGrabScreen(Scene.camera, s);
- }
-#endif
#endif // !MASTER
}
@@ -1094,7 +1075,7 @@ DisplayGameDebugText()
static bool bDisplayRate = false;
#ifndef FINAL
{
- SETTWEAKPATH("Debug");
+ SETTWEAKPATH("GameDebugText");
TWEAKBOOL(bDisplayPosn);
TWEAKBOOL(bDisplayRate);
}
@@ -1108,56 +1089,13 @@ DisplayGameDebugText()
#ifdef DRAW_GAME_VERSION_TEXT
wchar ver[200];
-
- if(gDrawVersionText) // This realtime switch is our thing
- {
-
-#ifdef USE_OUR_VERSIONING
- char verA[200];
- sprintf(verA,
-#if defined _WIN32
- "Win "
-#elif defined __linux__
- "Linux "
-#elif defined __APPLE__
- "Mac OS X "
-#elif defined __FreeBSD__
- "FreeBSD "
-#else
- "Posix-compliant "
-#endif
-#if defined __LP64__ || defined _WIN64
- "64-bit "
-#else
- "32-bit "
-#endif
-#if defined RW_D3D9
- "D3D9 "
-#elif defined RWLIBS
- "D3D8 "
-#elif defined RW_GL3
- "OpenGL "
-#endif
-#if defined AUDIO_OAL
- "OAL "
-#elif defined AUDIO_MSS
- "MSS "
-#endif
-#if defined _DEBUG || defined DEBUG
- "DEBUG "
-#endif
- "%.8s",
- g_GIT_SHA1);
- AsciiToUnicode(verA, ver);
- CFont::SetScale(SCREEN_SCALE_X(0.5f), SCREEN_SCALE_Y(0.7f));
-#else
+
AsciiToUnicode(version_name, ver);
- CFont::SetScale(SCREEN_SCALE_X(0.5f), SCREEN_SCALE_Y(0.5f));
-#endif
CFont::SetPropOn();
CFont::SetBackgroundOff();
CFont::SetFontStyle(FONT_BANK);
+ CFont::SetScale(SCREEN_SCALE_X(0.5f), SCREEN_SCALE_Y(0.5f));
CFont::SetCentreOff();
CFont::SetRightJustifyOff();
CFont::SetWrapx(SCREEN_WIDTH);
@@ -1169,7 +1107,6 @@ DisplayGameDebugText()
#else
CFont::PrintString(10.0f, 10.0f, ver);
#endif
- }
#endif // #ifdef DRAW_GAME_VERSION_TEXT
FrameSamples++;
diff --git a/src/core/re3.cpp b/src/core/re3.cpp
index e0f9c5c2..37b2cdf0 100644
--- a/src/core/re3.cpp
+++ b/src/core/re3.cpp
@@ -1,14 +1,6 @@
#include
#define WITHWINDOWS
#include "common.h"
-#if defined DETECT_JOYSTICK_MENU && defined XINPUT
-#include
-#if !defined(PSAPI_VERSION) || (PSAPI_VERSION > 1)
-#pragma comment( lib, "Xinput9_1_0.lib" )
-#else
-#pragma comment( lib, "Xinput.lib" )
-#endif
-#endif
#include "Renderer.h"
#include "Credits.h"
#include "Camera.h"
@@ -42,7 +34,7 @@
#include "MBlur.h"
#include "ControllerConfig.h"
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
#include "crossplatform.h"
#endif
@@ -85,49 +77,16 @@ mysrand(unsigned int seed)
#ifdef CUSTOM_FRONTEND_OPTIONS
#include "frontendoption.h"
-#ifdef MORE_LANGUAGES
-void LangPolSelect(int8 action)
-{
- if (action == FEOPTION_ACTION_SELECT) {
- FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_POLISH;
- FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
- FrontEndMenuManager.InitialiseChangedLanguageSettings();
- FrontEndMenuManager.SaveSettings();
- }
-}
-
-void LangRusSelect(int8 action)
-{
- if (action == FEOPTION_ACTION_SELECT) {
- FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_RUSSIAN;
- FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
- FrontEndMenuManager.InitialiseChangedLanguageSettings();
- FrontEndMenuManager.SaveSettings();
- }
-}
-
-void LangJapSelect(int8 action)
-{
- if (action == FEOPTION_ACTION_SELECT) {
- FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_JAPANESE;
- FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
- FrontEndMenuManager.InitialiseChangedLanguageSettings();
- FrontEndMenuManager.SaveSettings();
- }
-}
-#endif
-
void
CustomFrontendOptionsPopulate(void)
{
- // Most of custom options are done statically in MenuScreensCustom.cpp, we add them here only if they're dependent to extra files
+ // Moved to an array in MenuScreensCustom.cpp, but APIs are still available. see frontendoption.h
- // These work only if we have neo folder
- int fd;
+ // These work only if we have neo folder, so they're dynamically added
#ifdef EXTENDED_PIPELINES
const char *vehPipelineNames[] = { "FED_MFX", "FED_NEO" };
const char *off_on[] = { "FEM_OFF", "FEM_ON" };
- fd = CFileMgr::OpenFile("neo/neo.txd","r");
+ int fd = CFileMgr::OpenFile("neo/neo.txd","r");
if (fd) {
#ifdef GRAPHICS_MENU_OPTIONS
FrontendOptionSetCursor(MENUPAGE_GRAPHICS_SETTINGS, -3, false);
@@ -146,35 +105,6 @@ CustomFrontendOptionsPopulate(void)
}
#endif
- // Add outsourced language translations, if files are found
-#ifdef MORE_LANGUAGES
- int fd2;
- FrontendOptionSetCursor(MENUPAGE_LANGUAGE_SETTINGS, 5, false);
- if (fd = CFileMgr::OpenFile("text/polish.gxt","r")) {
- if (fd2 = CFileMgr::OpenFile("models/fonts_p.txd","r")) {
- FrontendOptionAddDynamic("FEL_POL", nil, nil, LangPolSelect, nil, nil);
- CFileMgr::CloseFile(fd2);
- }
- CFileMgr::CloseFile(fd);
- }
-
- if (fd = CFileMgr::OpenFile("text/russian.gxt","r")) {
- if (fd2 = CFileMgr::OpenFile("models/fonts_r.txd","r")) {
- FrontendOptionAddDynamic("FEL_RUS", nil, nil, LangRusSelect, nil, nil);
- CFileMgr::CloseFile(fd2);
- }
- CFileMgr::CloseFile(fd);
- }
-
- if (fd = CFileMgr::OpenFile("text/japanese.gxt","r")) {
- if (fd2 = CFileMgr::OpenFile("models/fonts_j.txd","r")) {
- FrontendOptionAddDynamic("FEL_JAP", nil, nil, LangJapSelect, nil, nil);
- CFileMgr::CloseFile(fd2);
- }
- CFileMgr::CloseFile(fd);
- }
-#endif
-
}
#endif
@@ -314,40 +244,8 @@ const char *iniKeyboardButtons[] = {"ESC","F1","F2","F3","F4","F5","F6","F7","F8
void LoadINIControllerSettings()
{
-#ifdef DETECT_JOYSTICK_MENU
-#ifdef XINPUT
- int storedJoy1 = -1;
- if (ReadIniIfExists("Controller", "JoystickName", &storedJoy1)) {
- CPad::XInputJoy1 = -1;
- CPad::XInputJoy2 = -1;
- XINPUT_STATE xstate;
- memset(&xstate, 0, sizeof(XINPUT_STATE));
-
- // Firstly confirm & set joy 1
- if (XInputGetState(storedJoy1, &xstate) == ERROR_SUCCESS) {
- CPad::XInputJoy1 = storedJoy1;
- }
-
- for (int i = 0; i <= 3; i++) {
- if (XInputGetState(i, &xstate) == ERROR_SUCCESS) {
- if (CPad::XInputJoy1 == -1)
- CPad::XInputJoy1 = i;
- else if (CPad::XInputJoy2 == -1 && i != CPad::XInputJoy1)
- CPad::XInputJoy2 = i;
- }
- }
-
- // There is no plug event on XInput, so let's leave XInputJoy1/2 as 0/1 respectively, and hotplug will be possible.
- if (CPad::XInputJoy1 == -1) {
- CPad::XInputJoy1 = 0;
- CPad::XInputJoy2 = 1;
- } else if (CPad::XInputJoy2 == -1) {
- CPad::XInputJoy2 = (CPad::XInputJoy1 + 1) % 4;
- }
- }
-#else
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
ReadIniIfExists("Controller", "JoystickName", gSelectedJoystickName, 128);
-#endif
#endif
// force to default GTA behaviour (never overwrite bindings on joy change/initialization) if user init'ed/set bindings before we introduced that
if (!ReadIniIfExists("Controller", "PadButtonsInited", &ControlsManager.ms_padButtonsInited)) {
@@ -445,12 +343,8 @@ void SaveINIControllerSettings()
StoreIni("Bindings", iniControllerActions[i], value, 128);
}
-#ifdef DETECT_JOYSTICK_MENU
-#ifdef XINPUT
- StoreIni("Controller", "JoystickName", CPad::XInputJoy1);
-#else
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
StoreIni("Controller", "JoystickName", gSelectedJoystickName, 128);
-#endif
#endif
StoreIni("Controller", "PadButtonsInited", ControlsManager.ms_padButtonsInited);
cfg.write_file("re3.ini");
@@ -475,7 +369,6 @@ bool LoadINISettings()
ReadIniIfExists("Controller", "HorizantalMouseSens", &TheCamera.m_fMouseAccelHorzntl);
ReadIniIfExists("Controller", "InvertMouseVertically", &MousePointerStateHelper.bInvertVertically);
ReadIniIfExists("Controller", "DisableMouseSteering", &CVehicle::m_bDisableMouseSteering);
- ReadIniIfExists("Controller", "Vibration", &FrontEndMenuManager.m_PrefsUseVibration);
ReadIniIfExists("Audio", "SfxVolume", &FrontEndMenuManager.m_PrefsSfxVolume);
ReadIniIfExists("Audio", "MusicVolume", &FrontEndMenuManager.m_PrefsMusicVolume);
ReadIniIfExists("Audio", "Radio", &FrontEndMenuManager.m_PrefsRadioStation);
@@ -516,10 +409,6 @@ bool LoadINISettings()
#ifdef FIX_SPRITES
ReadIniIfExists("Draw", "FixSprites", &CDraw::ms_bFixSprites);
#endif
-#ifdef DRAW_GAME_VERSION_TEXT
- extern bool gDrawVersionText;
- ReadIniIfExists("General", "DrawVersionText", &gDrawVersionText);
-#endif
#ifdef CUSTOM_FRONTEND_OPTIONS
bool migrate = cfg.category_size("FrontendOptions") != 0;
@@ -566,7 +455,6 @@ void SaveINISettings()
StoreIni("Controller", "HorizantalMouseSens", TheCamera.m_fMouseAccelHorzntl);
StoreIni("Controller", "InvertMouseVertically", MousePointerStateHelper.bInvertVertically);
StoreIni("Controller", "DisableMouseSteering", CVehicle::m_bDisableMouseSteering);
- StoreIni("Controller", "Vibration", FrontEndMenuManager.m_PrefsUseVibration);
StoreIni("Audio", "SfxVolume", FrontEndMenuManager.m_PrefsSfxVolume);
StoreIni("Audio", "MusicVolume", FrontEndMenuManager.m_PrefsMusicVolume);
StoreIni("Audio", "Radio", FrontEndMenuManager.m_PrefsRadioStation);
@@ -607,10 +495,6 @@ void SaveINISettings()
#ifdef FIX_SPRITES
StoreIni("Draw", "FixSprites", CDraw::ms_bFixSprites);
#endif
-#ifdef DRAW_GAME_VERSION_TEXT
- extern bool gDrawVersionText;
- StoreIni("General", "DrawVersionText", gDrawVersionText);
-#endif
#ifdef CUSTOM_FRONTEND_OPTIONS
for (int i = 0; i < MENUPAGES; i++) {
for (int j = 0; j < NUM_MENUROWS; j++) {
@@ -733,6 +617,18 @@ SwitchCarCollision(void)
FindPlayerVehicle()->bUsesCollision = !FindPlayerVehicle()->bUsesCollision;
}
+static int engineStatus;
+static void
+SetEngineStatus(void)
+{
+ CVehicle *veh = FindPlayerVehicle();
+ if(veh == nil)
+ return;
+ if(!veh->IsCar())
+ return;
+ ((CAutomobile*)veh)->Damage.SetEngineStatus(engineStatus);
+}
+
static void
ToggleComedy(void)
{
@@ -794,7 +690,7 @@ void CTweakVars::Add(CTweakVar *var)
TweakVarsListSize = 0;
}
if(TweakVarsListSize > 63)
- TweakVarsList = (CTweakVar**) realloc(TweakVarsList, (TweakVarsListSize + 1) * sizeof(CTweakVar*));
+ TweakVarsList = (CTweakVar**) realloc(TweakVarsList, (TweakVarsListSize + 1) * sizeof(*var));
TweakVarsList[TweakVarsListSize++] = var;
// TweakVarsList.push_back(var);
@@ -915,22 +811,12 @@ DebugMenuPopulate(void)
DebugMenuAddCmd("Spawn", "Spawn Predator", [](){ SpawnCar(MI_PREDATOR); });
DebugMenuAddVarBool8("Render", "Draw hud", &CHud::m_Wants_To_Draw_Hud, nil);
-
-#ifdef PROPER_SCALING
- DebugMenuAddVarBool8("Render", "Proper Scaling", &CDraw::ms_bProperScaling, nil);
-#endif
-#ifdef FIX_RADAR
- DebugMenuAddVarBool8("Render", "Fix Radar", &CDraw::ms_bFixRadar, nil);
-#endif
-#ifdef FIX_SPRITES
- DebugMenuAddVarBool8("Render", "Fix Sprites", &CDraw::ms_bFixSprites, nil);
-#endif
DebugMenuAddVarBool8("Render", "PS2 Alpha test Emu", &gPS2alphaTest, nil);
DebugMenuAddVarBool8("Render", "Frame limiter", &FrontEndMenuManager.m_PrefsFrameLimiter, nil);
DebugMenuAddVarBool8("Render", "VSynch", &FrontEndMenuManager.m_PrefsVsync, nil);
DebugMenuAddVar("Render", "Max FPS", &RsGlobal.maxFPS, nil, 1, 1, 1000, nil);
#ifdef NEW_RENDERER
- DebugMenuAddVarBool8("Render", "New Renderer", &gbNewRenderer, nil);
+ DebugMenuAddVarBool8("Render", "new renderer", &gbNewRenderer, nil);
extern bool gbRenderRoads;
extern bool gbRenderEverythingBarRoads;
//extern bool gbRenderFadingInUnderwaterEntities;
@@ -941,16 +827,16 @@ extern bool gbRenderVehicles;
extern bool gbRenderWorld0;
extern bool gbRenderWorld1;
extern bool gbRenderWorld2;
- DebugMenuAddVarBool8("Debug Render", "gbRenderRoads", &gbRenderRoads, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderEverythingBarRoads", &gbRenderEverythingBarRoads, nil);
-// DebugMenuAddVarBool8("Debug Render", "gbRenderFadingInUnderwaterEntities", &gbRenderFadingInUnderwaterEntities, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderFadingInEntities", &gbRenderFadingInEntities, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderWater", &gbRenderWater, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderBoats", &gbRenderBoats, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderVehicles", &gbRenderVehicles, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderWorld0", &gbRenderWorld0, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderWorld1", &gbRenderWorld1, nil);
- DebugMenuAddVarBool8("Debug Render", "gbRenderWorld2", &gbRenderWorld2, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderRoads", &gbRenderRoads, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderEverythingBarRoads", &gbRenderEverythingBarRoads, nil);
+// DebugMenuAddVarBool8("Render", "gbRenderFadingInUnderwaterEntities", &gbRenderFadingInUnderwaterEntities, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderFadingInEntities", &gbRenderFadingInEntities, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderWater", &gbRenderWater, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderBoats", &gbRenderBoats, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderVehicles", &gbRenderVehicles, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderWorld0", &gbRenderWorld0, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderWorld1", &gbRenderWorld1, nil);
+ DebugMenuAddVarBool8("Render", "gbRenderWorld2", &gbRenderWorld2, nil);
#endif
#ifdef EXTENDED_COLOURFILTER
@@ -974,29 +860,32 @@ extern bool gbRenderWorld2;
DebugMenuAddVarBool8("Render", "Neo Road Gloss enable", &CustomPipes::GlossEnable, nil);
DebugMenuAddVar("Render", "Mult", &CustomPipes::GlossMult, nil, 0.1f, 0, 1.0f);
#endif
- DebugMenuAddVarBool8("Debug Render", "Show Ped Paths", &gbShowPedPaths, nil);
- DebugMenuAddVarBool8("Debug Render", "Show Car Paths", &gbShowCarPaths, nil);
- DebugMenuAddVarBool8("Debug Render", "Show Car Path Links", &gbShowCarPathsLinks, nil);
- DebugMenuAddVarBool8("Debug Render", "Show Ped Road Groups", &gbShowPedRoadGroups, nil);
- DebugMenuAddVarBool8("Debug Render", "Show Car Road Groups", &gbShowCarRoadGroups, nil);
- DebugMenuAddVarBool8("Debug Render", "Show Collision Lines", &gbShowCollisionLines, nil);
- DebugMenuAddVarBool8("Debug Render", "Show Collision Polys", &gbShowCollisionPolys, nil);
- DebugMenuAddVarBool8("Debug Render", "Don't render Buildings", &gbDontRenderBuildings, nil);
- DebugMenuAddVarBool8("Debug Render", "Don't render Big Buildings", &gbDontRenderBigBuildings, nil);
- DebugMenuAddVarBool8("Debug Render", "Don't render Peds", &gbDontRenderPeds, nil);
- DebugMenuAddVarBool8("Debug Render", "Don't render Vehicles", &gbDontRenderVehicles, nil);
- DebugMenuAddVarBool8("Debug Render", "Don't render Objects", &gbDontRenderObjects, nil);
- DebugMenuAddVarBool8("Debug Render", "Don't Render Water", &gbDontRenderWater, nil);
-
+ DebugMenuAddVarBool8("Render", "Show Ped Paths", &gbShowPedPaths, nil);
+ DebugMenuAddVarBool8("Render", "Show Car Paths", &gbShowCarPaths, nil);
+ DebugMenuAddVarBool8("Render", "Show Car Path Links", &gbShowCarPathsLinks, nil);
+ DebugMenuAddVarBool8("Render", "Show Ped Road Groups", &gbShowPedRoadGroups, nil);
+ DebugMenuAddVarBool8("Render", "Show Car Road Groups", &gbShowCarRoadGroups, nil);
+ DebugMenuAddVarBool8("Render", "Show Collision Lines", &gbShowCollisionLines, nil);
+ DebugMenuAddVarBool8("Render", "Show Collision Polys", &gbShowCollisionPolys, nil);
+ DebugMenuAddVarBool8("Render", "Don't render Buildings", &gbDontRenderBuildings, nil);
+ DebugMenuAddVarBool8("Render", "Don't render Big Buildings", &gbDontRenderBigBuildings, nil);
+ DebugMenuAddVarBool8("Render", "Don't render Peds", &gbDontRenderPeds, nil);
+ DebugMenuAddVarBool8("Render", "Don't render Vehicles", &gbDontRenderVehicles, nil);
+ DebugMenuAddVarBool8("Render", "Don't render Objects", &gbDontRenderObjects, nil);
+ DebugMenuAddVarBool8("Render", "Don't Render Water", &gbDontRenderWater, nil);
-#ifdef DRAW_GAME_VERSION_TEXT
- extern bool gDrawVersionText;
- DebugMenuAddVarBool8("Debug", "Version Text", &gDrawVersionText, nil);
+#ifdef PROPER_SCALING
+ DebugMenuAddVarBool8("Draw", "Proper Scaling", &CDraw::ms_bProperScaling, nil);
#endif
- DebugMenuAddVarBool8("Debug", "Show DebugStuffInRelease", &gbDebugStuffInRelease, nil);
-#ifdef TIMEBARS
- DebugMenuAddVarBool8("Debug", "Show Timebars", &gbShowTimebars, nil);
+#ifdef FIX_RADAR
+ DebugMenuAddVarBool8("Draw", "Fix Radar", &CDraw::ms_bFixRadar, nil);
+#endif
+#ifdef FIX_SPRITES
+ DebugMenuAddVarBool8("Draw", "Fix Sprites", &CDraw::ms_bFixSprites, nil);
#endif
+
+
+
#ifndef FINAL
DebugMenuAddVarBool8("Debug", "Print Memory Usage", &gbPrintMemoryUsage, nil);
#ifdef USE_CUSTOM_ALLOCATOR
@@ -1010,19 +899,30 @@ extern bool gbRenderWorld2;
#ifdef GTA_SCENE_EDIT
DebugMenuAddVarBool8("Debug", "Edit on", &CSceneEdit::m_bEditOn, nil);
#endif
- //DebugMenuAddCmd("Debug", "Start Credits", CCredits::Start);
- //DebugMenuAddCmd("Debug", "Stop Credits", CCredits::Stop);
-
#ifdef MENU_MAP
- DebugMenuAddCmd("Game", "Teleport to map waypoint", TeleportToWaypoint);
+ DebugMenuAddCmd("Debug", "Teleport to map waypoint", TeleportToWaypoint);
#endif
- DebugMenuAddCmd("Game", "Fix Car", FixCar);
- DebugMenuAddCmd("Game", "Place Car on Road", PlaceOnRoad);
- DebugMenuAddCmd("Game", "Switch car collision", SwitchCarCollision);
- DebugMenuAddCmd("Game", "Toggle Comedy Controls", ToggleComedy);
+ DebugMenuAddCmd("Debug", "Switch car collision", SwitchCarCollision);
+ DebugMenuAddVar("Debug", "Engine Status", &engineStatus, nil, 1, 0, 226, nil);
+ DebugMenuAddCmd("Debug", "Set Engine Status", SetEngineStatus);
+ DebugMenuAddCmd("Debug", "Fix Car", FixCar);
+ DebugMenuAddCmd("Debug", "Toggle Comedy Controls", ToggleComedy);
+ DebugMenuAddCmd("Debug", "Place Car on Road", PlaceOnRoad);
+
+ DebugMenuAddVarBool8("Debug", "Catalina Heli On", &CHeli::CatalinaHeliOn, nil);
+ DebugMenuAddCmd("Debug", "Catalina Fly By", CHeli::StartCatalinaFlyBy);
+ DebugMenuAddCmd("Debug", "Catalina Take Off", CHeli::CatalinaTakeOff);
+ DebugMenuAddCmd("Debug", "Catalina Fly Away", CHeli::MakeCatalinaHeliFlyAway);
+ DebugMenuAddVarBool8("Debug", "Script Heli On", &CHeli::ScriptHeliOn, nil);
- DebugMenuAddVarBool8("Game", "Toggle popping heads on headshot", &CPed::bPopHeadsOnHeadshot, nil);
+ DebugMenuAddVarBool8("Debug", "Toggle popping heads on headshot", &CPed::bPopHeadsOnHeadshot, nil);
+ DebugMenuAddCmd("Debug", "Start Credits", CCredits::Start);
+ DebugMenuAddCmd("Debug", "Stop Credits", CCredits::Stop);
+ DebugMenuAddVarBool8("Debug", "Show DebugStuffInRelease", &gbDebugStuffInRelease, nil);
+#ifdef TIMEBARS
+ DebugMenuAddVarBool8("Debug", "Show Timebars", &gbShowTimebars, nil);
+#endif
#ifdef MISSION_SWITCHER
DebugMenuEntry *missionEntry;
static const char* missions[] = {
@@ -1042,9 +942,9 @@ extern bool gbRenderWorld2;
"Uzi Money", "Toyminator", "Rigged To Blow", "Bullion Run", "Rumble", "The Exchange"
};
- missionEntry = DebugMenuAddVar("Game", "Select mission", &nextMissionToSwitch, nil, 1, 0, ARRAY_SIZE(missions) - 1, missions);
+ missionEntry = DebugMenuAddVar("Debug", "Select mission", &nextMissionToSwitch, nil, 1, 0, ARRAY_SIZE(missions) - 1, missions);
DebugMenuEntrySetWrap(missionEntry, true);
- DebugMenuAddCmd("Game", "Start selected mission ", SwitchToMission);
+ DebugMenuAddCmd("Debug", "Start selected mission ", SwitchToMission);
#endif
extern bool PrintDebugCode;
@@ -1056,9 +956,9 @@ extern bool gbRenderWorld2;
DebugMenuAddVarBool8("Cam", "Print Debug Code", &PrintDebugCode, nil);
DebugMenuAddVar("Cam", "Cam Mode", &DebugCamMode, nil, 1, 0, CCam::MODE_EDITOR, nil);
DebugMenuAddCmd("Cam", "Normal", []() { DebugCamMode = 0; });
- // DebugMenuAddCmd("Cam", "Follow Ped With Bind", []() { DebugCamMode = CCam::MODE_FOLLOW_PED_WITH_BIND; });
- // DebugMenuAddCmd("Cam", "Reaction", []() { DebugCamMode = CCam::MODE_REACTION; });
- // DebugMenuAddCmd("Cam", "Chris", []() { DebugCamMode = CCam::MODE_CHRIS; });
+ DebugMenuAddCmd("Cam", "Follow Ped With Bind", []() { DebugCamMode = CCam::MODE_FOLLOW_PED_WITH_BIND; });
+ DebugMenuAddCmd("Cam", "Reaction", []() { DebugCamMode = CCam::MODE_REACTION; });
+ DebugMenuAddCmd("Cam", "Chris", []() { DebugCamMode = CCam::MODE_CHRIS; });
DebugMenuAddCmd("Cam", "Reset Statics", ResetCamStatics);
CTweakVars::AddDBG("Debug");
diff --git a/src/extras/GitSHA1.cpp.in b/src/extras/GitSHA1.cpp.in
deleted file mode 100644
index 6168dc79..00000000
--- a/src/extras/GitSHA1.cpp.in
+++ /dev/null
@@ -1,2 +0,0 @@
-#define GIT_SHA1 "@GIT_SHA1@"
-const char* g_GIT_SHA1 = GIT_SHA1;
diff --git a/src/extras/GitSHA1.h b/src/extras/GitSHA1.h
deleted file mode 100644
index 359bfaff..00000000
--- a/src/extras/GitSHA1.h
+++ /dev/null
@@ -1 +0,0 @@
-extern const char* g_GIT_SHA1;
\ No newline at end of file
diff --git a/src/extras/custompipes_d3d9.cpp b/src/extras/custompipes_d3d9.cpp
index dad42b33..4242c630 100644
--- a/src/extras/custompipes_d3d9.cpp
+++ b/src/extras/custompipes_d3d9.cpp
@@ -89,7 +89,6 @@ vehicleRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header)
}
int vsBits;
- rw::uint32 flags = atomic->geometry->flags;
setStreamSource(0, header->vertexStream[0].vertexBuffer, 0, header->vertexStream[0].stride);
setIndices(header->indexBuffer);
setVertexDeclaration(header->vertexDeclaration);
@@ -121,7 +120,7 @@ vehicleRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header)
reflProps[3] = m->surfaceProps.specular == 0.0f ? 0.0f : VehicleSpecularity;
d3ddevice->SetVertexShaderConstantF(VSLOC_reflProps, reflProps, 1);
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
if(m->texture)
d3d::setTexture(0, m->texture);
@@ -150,11 +149,11 @@ CreateVehiclePipe(void)
fp = ReadTweakValueTable(fp, SpecColor);
}
-#include "shaders/obj/neoVehicle_VS.inc"
+#include "shaders/neoVehicle_VS.inc"
neoVehicle_VS = rw::d3d::createVertexShader(neoVehicle_VS_cso);
assert(neoVehicle_VS);
-#include "shaders/obj/neoVehicle_PS.inc"
+#include "shaders/neoVehicle_PS.inc"
neoVehicle_PS = rw::d3d::createPixelShader(neoVehicle_PS_cso);
assert(neoVehicle_PS);
@@ -260,11 +259,11 @@ CreateWorldPipe(void)
else
ReadTweakValueTable((char*)work_buff, WorldLightmapBlend);
-#include "shaders/obj/default_UV2_VS.inc"
+#include "shaders/default_UV2_VS.inc"
neoWorld_VS = rw::d3d::createVertexShader(default_UV2_VS_cso);
assert(neoWorld_VS);
-#include "shaders/obj/neoWorldIII_PS.inc"
+#include "shaders/neoWorldIII_PS.inc"
neoWorldIII_PS = rw::d3d::createPixelShader(neoWorldIII_PS_cso);
assert(neoWorldIII_PS);
@@ -347,11 +346,11 @@ glossRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header)
void
CreateGlossPipe(void)
{
-#include "shaders/obj/neoGloss_VS.inc"
+#include "shaders/neoGloss_VS.inc"
neoGloss_VS = rw::d3d::createVertexShader(neoGloss_VS_cso);
assert(neoGloss_VS);
-#include "shaders/obj/neoGloss_PS.inc"
+#include "shaders/neoGloss_PS.inc"
neoGloss_PS = rw::d3d::createPixelShader(neoGloss_PS_cso);
assert(neoGloss_PS);
@@ -421,7 +420,6 @@ rimRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header)
}
int vsBits;
- rw::uint32 flags = atomic->geometry->flags;
setStreamSource(0, header->vertexStream[0].vertexBuffer, 0, header->vertexStream[0].stride);
setIndices(header->indexBuffer);
setVertexDeclaration(header->vertexDeclaration);
@@ -439,7 +437,7 @@ rimRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header)
SetRenderState(VERTEXALPHA, inst->vertexAlpha || m->color.alpha != 255);
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
if(m->texture){
d3d::setTexture(0, m->texture);
@@ -465,7 +463,7 @@ rimSkinRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header)
}
int vsBits;
- rw::uint32 flags = atomic->geometry->flags;
+
setStreamSource(0, (IDirect3DVertexBuffer9*)header->vertexStream[0].vertexBuffer,
0, header->vertexStream[0].stride);
setIndices((IDirect3DIndexBuffer9*)header->indexBuffer);
@@ -486,7 +484,7 @@ rimSkinRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header)
SetRenderState(VERTEXALPHA, inst->vertexAlpha || m->color.alpha != 255);
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
if(inst->material->texture){
d3d::setTexture(0, m->texture);
@@ -514,11 +512,11 @@ CreateRimLightPipes(void)
}
-#include "shaders/obj/neoRim_VS.inc"
+#include "shaders/neoRim_VS.inc"
neoRim_VS = rw::d3d::createVertexShader(neoRim_VS_cso);
assert(neoRim_VS);
-#include "shaders/obj/neoRimSkin_VS.inc"
+#include "shaders/neoRimSkin_VS.inc"
neoRimSkin_VS = rw::d3d::createVertexShader(neoRimSkin_VS_cso);
assert(neoRimSkin_VS);
@@ -612,7 +610,6 @@ AtomicFirstPass(RpAtomic *atomic, int pass)
assert(building->instHeader->platform == PLATFORM_D3D9);
building->fadeAlpha = 255;
building->lighting = !!(atomic->geometry->flags & rw::Geometry::LIGHT);
- rw::uint32 flags = atomic->geometry->flags;
bool setupDone = false;
bool defer = false;
@@ -642,7 +639,7 @@ AtomicFirstPass(RpAtomic *atomic, int pass)
setupDone = true;
}
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
if(m->texture){
d3d::setTexture(0, m->texture);
@@ -705,7 +702,7 @@ RenderBlendPass(int pass)
rw::RGBA color = m->color;
color.alpha = (color.alpha * building->fadeAlpha)/255;
- setMaterial(color, m->surfaceProps); // always modulate here
+ setMaterial(color, m->surfaceProps);
if(m->texture){
d3d::setTexture(0, m->texture);
diff --git a/src/extras/custompipes_gl.cpp b/src/extras/custompipes_gl.cpp
index f1cbfc38..caf9eb27 100644
--- a/src/extras/custompipes_gl.cpp
+++ b/src/extras/custompipes_gl.cpp
@@ -87,7 +87,6 @@ vehicleRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header)
Material *m;
- rw::uint32 flags = atomic->geometry->flags;
setWorldMatrix(atomic->getFrame()->getLTM());
lightingCB(atomic);
@@ -120,7 +119,7 @@ vehicleRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header)
while(n--){
m = inst->material;
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
setTexture(0, m->texture);
@@ -160,8 +159,8 @@ CreateVehiclePipe(void)
{
-#include "shaders/obj/neoVehicle_frag.inc"
-#include "shaders/obj/neoVehicle_vert.inc"
+#include "shaders/neoVehicle_fs_gl.inc"
+#include "shaders/neoVehicle_vs_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, neoVehicle_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, neoVehicle_frag_src, nil };
neoVehicleShader = Shader::create(vs, fs);
@@ -271,8 +270,8 @@ CreateWorldPipe(void)
ReadTweakValueTable((char*)work_buff, WorldLightmapBlend);
{
-#include "shaders/obj/neoWorldIII_frag.inc"
-#include "shaders/obj/default_UV2_vert.inc"
+#include "shaders/neoWorldIII_fs_gl.inc"
+#include "shaders/default_UV2_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, default_UV2_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, neoWorldIII_frag_src, nil };
neoWorldShader = Shader::create(vs, fs);
@@ -379,8 +378,8 @@ CreateGlossPipe(void)
using namespace rw::gl3;
{
-#include "shaders/obj/neoGloss_frag.inc"
-#include "shaders/obj/neoGloss_vert.inc"
+#include "shaders/neoGloss_fs_gl.inc"
+#include "shaders/neoGloss_vs_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, neoGloss_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, neoGloss_frag_src, nil };
neoGlossShader = Shader::create(vs, fs);
@@ -449,7 +448,6 @@ rimSkinRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header)
Material *m;
- rw::uint32 flags = atomic->geometry->flags;
setWorldMatrix(atomic->getFrame()->getLTM());
lightingCB(atomic);
@@ -473,7 +471,7 @@ rimSkinRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header)
while(n--){
m = inst->material;
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
setTexture(0, m->texture);
@@ -500,7 +498,6 @@ rimRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header)
Material *m;
- rw::uint32 flags = atomic->geometry->flags;
setWorldMatrix(atomic->getFrame()->getLTM());
lightingCB(atomic);
@@ -522,7 +519,7 @@ rimRenderCB(rw::Atomic *atomic, rw::gl3::InstanceDataHeader *header)
while(n--){
m = inst->material;
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
setTexture(0, m->texture);
@@ -553,8 +550,8 @@ CreateRimLightPipes(void)
}
{
-#include "shaders/obj/simple_frag.inc"
-#include "shaders/obj/neoRimSkin_vert.inc"
+#include "shaders/simple_fs_gl.inc"
+#include "shaders/neoRimSkin_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, neoRimSkin_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, simple_frag_src, nil };
neoRimSkinShader = Shader::create(vs, fs);
@@ -562,8 +559,8 @@ CreateRimLightPipes(void)
}
{
-#include "shaders/obj/simple_frag.inc"
-#include "shaders/obj/neoRim_vert.inc"
+#include "shaders/simple_fs_gl.inc"
+#include "shaders/neoRim_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, neoRim_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, simple_frag_src, nil };
neoRimShader = Shader::create(vs, fs);
@@ -667,7 +664,6 @@ AtomicFirstPass(RpAtomic *atomic, int pass)
assert(building->instHeader->platform == PLATFORM_GL3);
building->fadeAlpha = 255;
building->lighting = !!(atomic->geometry->flags & rw::Geometry::LIGHT);
- rw::uint32 flags = atomic->geometry->flags;
WorldLights lights;
lights.numAmbients = 1;
@@ -707,7 +703,7 @@ AtomicFirstPass(RpAtomic *atomic, int pass)
setupDone = true;
}
- setMaterial(flags, m->color, m->surfaceProps);
+ setMaterial(m->color, m->surfaceProps);
setTexture(0, m->texture);
@@ -776,7 +772,7 @@ RenderBlendPass(int pass)
rw::RGBA color = m->color;
color.alpha = (color.alpha * building->fadeAlpha)/255;
- setMaterial(color, m->surfaceProps); // always modulate here
+ setMaterial(color, m->surfaceProps);
setTexture(0, m->texture);
diff --git a/src/extras/postfx.cpp b/src/extras/postfx.cpp
index b94d245d..51b91060 100644
--- a/src/extras/postfx.cpp
+++ b/src/extras/postfx.cpp
@@ -141,16 +141,16 @@ CPostFX::Open(RwCamera *cam)
#ifdef RW_D3D9
-#include "shaders/obj/colourfilterIII_PS.inc"
+#include "shaders/colourfilterIII_PS.inc"
colourfilterIII_PS = rw::d3d::createPixelShader(colourfilterIII_PS_cso);
-#include "shaders/obj/contrastPS.inc"
+#include "shaders/contrastPS.inc"
contrast_PS = rw::d3d::createPixelShader(contrastPS_cso);
#endif
#ifdef RW_OPENGL
using namespace rw::gl3;
{
-#include "shaders/obj/im2d_vert.inc"
-#include "shaders/obj/colourfilterIII_frag.inc"
+#include "shaders/im2d_gl.inc"
+#include "shaders/colourfilterIII_fs_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, im2d_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, colourfilterIII_frag_src, nil };
colourFilterIII = Shader::create(vs, fs);
@@ -158,8 +158,8 @@ CPostFX::Open(RwCamera *cam)
}
{
-#include "shaders/obj/im2d_vert.inc"
-#include "shaders/obj/contrast_frag.inc"
+#include "shaders/im2d_gl.inc"
+#include "shaders/contrast_fs_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, im2d_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, contrast_frag_src, nil };
contrast = Shader::create(vs, fs);
diff --git a/src/extras/screendroplets.cpp b/src/extras/screendroplets.cpp
index 1412141e..74c44da0 100644
--- a/src/extras/screendroplets.cpp
+++ b/src/extras/screendroplets.cpp
@@ -112,14 +112,14 @@ ScreenDroplets::InitDraw(void)
openim2d_uv2();
#ifdef RW_D3D9
-#include "shaders/obj/screenDroplet_PS.inc"
+#include "shaders/screenDroplet_PS.inc"
screenDroplet_PS = rw::d3d::createPixelShader(screenDroplet_PS_cso);
#endif
#ifdef RW_GL3
using namespace rw::gl3;
{
-#include "shaders/obj/im2d_UV2_vert.inc"
-#include "shaders/obj/screenDroplet_frag.inc"
+#include "shaders/im2d_UV2_gl.inc"
+#include "shaders/screenDroplet_fs_gl.inc"
const char *vs[] = { shaderDecl, header_vert_src, im2d_UV2_vert_src, nil };
const char *fs[] = { shaderDecl, header_frag_src, screenDroplet_frag_src, nil };
screenDroplet = Shader::create(vs, fs);
diff --git a/src/extras/shaders/Makefile b/src/extras/shaders/Makefile
new file mode 100644
index 00000000..51e009d6
--- /dev/null
+++ b/src/extras/shaders/Makefile
@@ -0,0 +1,79 @@
+all: im2d_gl.inc simple_fs_gl.inc default_UV2_gl.inc \
+ colourfilterIII_fs_gl.inc contrast_fs_gl.inc \
+ neoRim_gl.inc neoRimSkin_gl.inc \
+ neoWorldIII_fs_gl.inc neoGloss_vs_gl.inc neoGloss_fs_gl.inc \
+ neoVehicle_vs_gl.inc neoVehicle_fs_gl.inc \
+ im2d_UV2_gl.inc screenDroplet_fs_gl.inc
+
+im2d_gl.inc: im2d.vert
+ (echo 'const char *im2d_vert_src =';\
+ sed 's/..*/"&\\n"/' im2d.vert;\
+ echo ';') >im2d_gl.inc
+
+simple_fs_gl.inc: simple.frag
+ (echo 'const char *simple_frag_src =';\
+ sed 's/..*/"&\\n"/' simple.frag;\
+ echo ';') >simple_fs_gl.inc
+
+default_UV2_gl.inc: default_UV2.vert
+ (echo 'const char *default_UV2_vert_src =';\
+ sed 's/..*/"&\\n"/' default_UV2.vert;\
+ echo ';') >default_UV2_gl.inc
+
+
+
+colourfilterIII_fs_gl.inc: colourfilterIII.frag
+ (echo 'const char *colourfilterIII_frag_src =';\
+ sed 's/..*/"&\\n"/' colourfilterIII.frag;\
+ echo ';') >colourfilterIII_fs_gl.inc
+
+contrast_fs_gl.inc: contrast.frag
+ (echo 'const char *contrast_frag_src =';\
+ sed 's/..*/"&\\n"/' contrast.frag;\
+ echo ';') >contrast_fs_gl.inc
+
+
+neoRim_gl.inc: neoRim.vert
+ (echo 'const char *neoRim_vert_src =';\
+ sed 's/..*/"&\\n"/' neoRim.vert;\
+ echo ';') >neoRim_gl.inc
+
+neoRimSkin_gl.inc: neoRimSkin.vert
+ (echo 'const char *neoRimSkin_vert_src =';\
+ sed 's/..*/"&\\n"/' neoRimSkin.vert;\
+ echo ';') >neoRimSkin_gl.inc
+
+neoWorldIII_fs_gl.inc: neoWorldIII.frag
+ (echo 'const char *neoWorldIII_frag_src =';\
+ sed 's/..*/"&\\n"/' neoWorldIII.frag;\
+ echo ';') >neoWorldIII_fs_gl.inc
+
+neoGloss_fs_gl.inc: neoGloss.frag
+ (echo 'const char *neoGloss_frag_src =';\
+ sed 's/..*/"&\\n"/' neoGloss.frag;\
+ echo ';') >neoGloss_fs_gl.inc
+
+neoGloss_vs_gl.inc: neoGloss.vert
+ (echo 'const char *neoGloss_vert_src =';\
+ sed 's/..*/"&\\n"/' neoGloss.vert;\
+ echo ';') >neoGloss_vs_gl.inc
+
+neoVehicle_vs_gl.inc: neoVehicle.vert
+ (echo 'const char *neoVehicle_vert_src =';\
+ sed 's/..*/"&\\n"/' neoVehicle.vert;\
+ echo ';') >neoVehicle_vs_gl.inc
+
+neoVehicle_fs_gl.inc: neoVehicle.frag
+ (echo 'const char *neoVehicle_frag_src =';\
+ sed 's/..*/"&\\n"/' neoVehicle.frag;\
+ echo ';') >neoVehicle_fs_gl.inc
+
+im2d_UV2_gl.inc: im2d_UV2.vert
+ (echo 'const char *im2d_UV2_vert_src =';\
+ sed 's/..*/"&\\n"/' im2d_UV2.vert;\
+ echo ';') >im2d_UV2_gl.inc
+
+screenDroplet_fs_gl.inc: screenDroplet.frag
+ (echo 'const char *screenDroplet_frag_src =';\
+ sed 's/..*/"&\\n"/' screenDroplet.frag;\
+ echo ';') >screenDroplet_fs_gl.inc
diff --git a/src/extras/shaders/obj/colourfilterIII_PS.cso b/src/extras/shaders/colourfilterIII_PS.cso
similarity index 100%
rename from src/extras/shaders/obj/colourfilterIII_PS.cso
rename to src/extras/shaders/colourfilterIII_PS.cso
diff --git a/src/extras/shaders/obj/colourfilterIII_PS.inc b/src/extras/shaders/colourfilterIII_PS.inc
similarity index 100%
rename from src/extras/shaders/obj/colourfilterIII_PS.inc
rename to src/extras/shaders/colourfilterIII_PS.inc
diff --git a/src/extras/shaders/obj/colourfilterIII_frag.inc b/src/extras/shaders/colourfilterIII_fs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/colourfilterIII_frag.inc
rename to src/extras/shaders/colourfilterIII_fs_gl.inc
diff --git a/src/extras/shaders/obj/contrastPS.cso b/src/extras/shaders/contrastPS.cso
similarity index 100%
rename from src/extras/shaders/obj/contrastPS.cso
rename to src/extras/shaders/contrastPS.cso
diff --git a/src/extras/shaders/obj/contrastPS.inc b/src/extras/shaders/contrastPS.inc
similarity index 100%
rename from src/extras/shaders/obj/contrastPS.inc
rename to src/extras/shaders/contrastPS.inc
diff --git a/src/extras/shaders/obj/contrast_frag.inc b/src/extras/shaders/contrast_fs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/contrast_frag.inc
rename to src/extras/shaders/contrast_fs_gl.inc
diff --git a/src/extras/shaders/obj/default_UV2_VS.cso b/src/extras/shaders/default_UV2_VS.cso
similarity index 100%
rename from src/extras/shaders/obj/default_UV2_VS.cso
rename to src/extras/shaders/default_UV2_VS.cso
diff --git a/src/extras/shaders/obj/default_UV2_VS.inc b/src/extras/shaders/default_UV2_VS.inc
similarity index 100%
rename from src/extras/shaders/obj/default_UV2_VS.inc
rename to src/extras/shaders/default_UV2_VS.inc
diff --git a/src/extras/shaders/obj/default_UV2_vert.inc b/src/extras/shaders/default_UV2_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/default_UV2_vert.inc
rename to src/extras/shaders/default_UV2_gl.inc
diff --git a/src/extras/shaders/obj/im2d_UV2_vert.inc b/src/extras/shaders/im2d_UV2_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/im2d_UV2_vert.inc
rename to src/extras/shaders/im2d_UV2_gl.inc
diff --git a/src/extras/shaders/obj/im2d_vert.inc b/src/extras/shaders/im2d_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/im2d_vert.inc
rename to src/extras/shaders/im2d_gl.inc
diff --git a/src/extras/shaders/make_hlsl.cmd b/src/extras/shaders/make.cmd
similarity index 58%
rename from src/extras/shaders/make_hlsl.cmd
rename to src/extras/shaders/make.cmd
index dee95283..8404ac6c 100644
--- a/src/extras/shaders/make_hlsl.cmd
+++ b/src/extras/shaders/make.cmd
@@ -1,3 +1,3 @@
@echo off
-for %%f in (*PS.hlsl) do "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T ps_2_0 /nologo /E main /Fo obj\%%~nf.cso %%f
-for %%f in (*VS.hlsl) do "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T vs_2_0 /nologo /E main /Fo obj\%%~nf.cso %%f
+for %%f in (*PS.hlsl) do "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T ps_2_0 /nologo /E main /Fo %%~nf.cso %%f
+for %%f in (*VS.hlsl) do "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T vs_2_0 /nologo /E main /Fo %%~nf.cso %%f
diff --git a/src/extras/shaders/make_glsl.sh b/src/extras/shaders/make_glsl.sh
deleted file mode 100644
index 0af98961..00000000
--- a/src/extras/shaders/make_glsl.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!sh
-for i in *.vert; do
- echo $i
- ./makeinc_glsl.sh $i
-done
-for i in *.frag; do
- echo $i
- ./makeinc_glsl.sh $i
-done
diff --git a/src/extras/shaders/makeinc_hlsl.sh b/src/extras/shaders/makeinc.sh
similarity index 93%
rename from src/extras/shaders/makeinc_hlsl.sh
rename to src/extras/shaders/makeinc.sh
index a5b12867..a649af33 100644
--- a/src/extras/shaders/makeinc_hlsl.sh
+++ b/src/extras/shaders/makeinc.sh
@@ -1,5 +1,4 @@
#!sh
-cd obj
for i in *cso; do
(echo -n 'static '
xxd -i $i | grep -v '_len = ') > ${i%cso}inc
diff --git a/src/extras/shaders/makeinc_glsl.sh b/src/extras/shaders/makeinc_glsl.sh
deleted file mode 100644
index 2bc6a387..00000000
--- a/src/extras/shaders/makeinc_glsl.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!sh
-ext=${1##*.}
-name=${1%.*}
-(echo "const char *${name}_${ext}_src =";\
-sed 's/..*/"&\\n"/' $1;\
-echo ';') > obj/${name}_${ext}.inc
diff --git a/src/extras/shaders/obj/neoGloss_PS.cso b/src/extras/shaders/neoGloss_PS.cso
similarity index 100%
rename from src/extras/shaders/obj/neoGloss_PS.cso
rename to src/extras/shaders/neoGloss_PS.cso
diff --git a/src/extras/shaders/obj/neoGloss_PS.inc b/src/extras/shaders/neoGloss_PS.inc
similarity index 100%
rename from src/extras/shaders/obj/neoGloss_PS.inc
rename to src/extras/shaders/neoGloss_PS.inc
diff --git a/src/extras/shaders/obj/neoGloss_VS.cso b/src/extras/shaders/neoGloss_VS.cso
similarity index 100%
rename from src/extras/shaders/obj/neoGloss_VS.cso
rename to src/extras/shaders/neoGloss_VS.cso
diff --git a/src/extras/shaders/obj/neoGloss_VS.inc b/src/extras/shaders/neoGloss_VS.inc
similarity index 100%
rename from src/extras/shaders/obj/neoGloss_VS.inc
rename to src/extras/shaders/neoGloss_VS.inc
diff --git a/src/extras/shaders/obj/neoGloss_frag.inc b/src/extras/shaders/neoGloss_fs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/neoGloss_frag.inc
rename to src/extras/shaders/neoGloss_fs_gl.inc
diff --git a/src/extras/shaders/obj/neoGloss_vert.inc b/src/extras/shaders/neoGloss_vs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/neoGloss_vert.inc
rename to src/extras/shaders/neoGloss_vs_gl.inc
diff --git a/src/extras/shaders/obj/neoRimSkin_VS.cso b/src/extras/shaders/neoRimSkin_VS.cso
similarity index 100%
rename from src/extras/shaders/obj/neoRimSkin_VS.cso
rename to src/extras/shaders/neoRimSkin_VS.cso
diff --git a/src/extras/shaders/obj/neoRimSkin_VS.inc b/src/extras/shaders/neoRimSkin_VS.inc
similarity index 100%
rename from src/extras/shaders/obj/neoRimSkin_VS.inc
rename to src/extras/shaders/neoRimSkin_VS.inc
diff --git a/src/extras/shaders/obj/neoRimSkin_vert.inc b/src/extras/shaders/neoRimSkin_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/neoRimSkin_vert.inc
rename to src/extras/shaders/neoRimSkin_gl.inc
diff --git a/src/extras/shaders/obj/neoRim_VS.cso b/src/extras/shaders/neoRim_VS.cso
similarity index 100%
rename from src/extras/shaders/obj/neoRim_VS.cso
rename to src/extras/shaders/neoRim_VS.cso
diff --git a/src/extras/shaders/obj/neoRim_VS.inc b/src/extras/shaders/neoRim_VS.inc
similarity index 100%
rename from src/extras/shaders/obj/neoRim_VS.inc
rename to src/extras/shaders/neoRim_VS.inc
diff --git a/src/extras/shaders/obj/neoRim_vert.inc b/src/extras/shaders/neoRim_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/neoRim_vert.inc
rename to src/extras/shaders/neoRim_gl.inc
diff --git a/src/extras/shaders/obj/neoVehicle_PS.cso b/src/extras/shaders/neoVehicle_PS.cso
similarity index 100%
rename from src/extras/shaders/obj/neoVehicle_PS.cso
rename to src/extras/shaders/neoVehicle_PS.cso
diff --git a/src/extras/shaders/obj/neoVehicle_PS.inc b/src/extras/shaders/neoVehicle_PS.inc
similarity index 100%
rename from src/extras/shaders/obj/neoVehicle_PS.inc
rename to src/extras/shaders/neoVehicle_PS.inc
diff --git a/src/extras/shaders/obj/neoVehicle_VS.cso b/src/extras/shaders/neoVehicle_VS.cso
similarity index 100%
rename from src/extras/shaders/obj/neoVehicle_VS.cso
rename to src/extras/shaders/neoVehicle_VS.cso
diff --git a/src/extras/shaders/obj/neoVehicle_VS.inc b/src/extras/shaders/neoVehicle_VS.inc
similarity index 100%
rename from src/extras/shaders/obj/neoVehicle_VS.inc
rename to src/extras/shaders/neoVehicle_VS.inc
diff --git a/src/extras/shaders/obj/neoVehicle_frag.inc b/src/extras/shaders/neoVehicle_fs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/neoVehicle_frag.inc
rename to src/extras/shaders/neoVehicle_fs_gl.inc
diff --git a/src/extras/shaders/obj/neoVehicle_vert.inc b/src/extras/shaders/neoVehicle_vs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/neoVehicle_vert.inc
rename to src/extras/shaders/neoVehicle_vs_gl.inc
diff --git a/src/extras/shaders/obj/neoWorldIII_PS.cso b/src/extras/shaders/neoWorldIII_PS.cso
similarity index 100%
rename from src/extras/shaders/obj/neoWorldIII_PS.cso
rename to src/extras/shaders/neoWorldIII_PS.cso
diff --git a/src/extras/shaders/obj/neoWorldIII_PS.inc b/src/extras/shaders/neoWorldIII_PS.inc
similarity index 100%
rename from src/extras/shaders/obj/neoWorldIII_PS.inc
rename to src/extras/shaders/neoWorldIII_PS.inc
diff --git a/src/extras/shaders/obj/neoWorldIII_frag.inc b/src/extras/shaders/neoWorldIII_fs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/neoWorldIII_frag.inc
rename to src/extras/shaders/neoWorldIII_fs_gl.inc
diff --git a/src/extras/shaders/obj/screenDroplet_PS.cso b/src/extras/shaders/screenDroplet_PS.cso
similarity index 100%
rename from src/extras/shaders/obj/screenDroplet_PS.cso
rename to src/extras/shaders/screenDroplet_PS.cso
diff --git a/src/extras/shaders/obj/screenDroplet_PS.inc b/src/extras/shaders/screenDroplet_PS.inc
similarity index 100%
rename from src/extras/shaders/obj/screenDroplet_PS.inc
rename to src/extras/shaders/screenDroplet_PS.inc
diff --git a/src/extras/shaders/obj/screenDroplet_frag.inc b/src/extras/shaders/screenDroplet_fs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/screenDroplet_frag.inc
rename to src/extras/shaders/screenDroplet_fs_gl.inc
diff --git a/src/extras/shaders/obj/simple_frag.inc b/src/extras/shaders/simple_fs_gl.inc
similarity index 100%
rename from src/extras/shaders/obj/simple_frag.inc
rename to src/extras/shaders/simple_fs_gl.inc
diff --git a/src/fakerw/fake.cpp b/src/fakerw/fake.cpp
index 1d4c881f..366dcf3e 100644
--- a/src/fakerw/fake.cpp
+++ b/src/fakerw/fake.cpp
@@ -945,43 +945,6 @@ RtBMPImageRead(const RwChar *imageName)
#endif
}
-
-RwImage *
-RtPNGImageWrite(RwImage *image, const RwChar *imageName)
-{
-#ifndef _WIN32
- char *r = casepath(imageName);
- if (r) {
- rw::writePNG(image, r);
- free(r);
- } else {
- rw::writePNG(image, imageName);
- }
-
-#else
- rw::writePNG(image, imageName);
-#endif
- return image;
-}
-RwImage *
-RtPNGImageRead(const RwChar *imageName)
-{
-#ifndef _WIN32
- RwImage *image;
- char *r = casepath(imageName);
- if (r) {
- image = rw::readPNG(r);
- free(r);
- } else {
- image = rw::readPNG(imageName);
- }
- return image;
-
-#else
- return rw::readPNG(imageName);
-#endif
-}
-
#include "rtquat.h"
RtQuat *RtQuatRotate(RtQuat * quat, const RwV3d * axis, RwReal angle, RwOpCombineType combineOp) { return (RtQuat*)((rw::Quat*)quat)->rotate(axis, angle/180.0f*3.14159f, (CombineOp)combineOp); }
diff --git a/src/fakerw/rtpng.h b/src/fakerw/rtpng.h
deleted file mode 100644
index 80f29020..00000000
--- a/src/fakerw/rtpng.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-RwImage *RtPNGImageWrite(RwImage * image, const RwChar * imageName);
-RwImage *RtPNGImageRead(const RwChar * imageName);
diff --git a/src/peds/CopPed.cpp b/src/peds/CopPed.cpp
index 44e3baf0..29612ccf 100644
--- a/src/peds/CopPed.cpp
+++ b/src/peds/CopPed.cpp
@@ -239,9 +239,9 @@ CCopPed::ArrestPlayer(void)
if (suspect && (suspect->m_nPedState == PED_ARRESTED || suspect->DyingOrDead() || suspect->EnteringCar())) {
- CAnimBlendAssociation *arrestAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_ARREST);
+ CAnimBlendAssociation *arrestAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_ARREST_GUN);
if (!arrestAssoc || arrestAssoc->blendDelta < 0.0f)
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_ARREST, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_ARREST_GUN, 4.0f);
CVector suspMidPos;
suspect->m_pedIK.GetComponentPosition(suspMidPos, PED_MID);
@@ -401,7 +401,7 @@ CCopPed::CopAI(void)
if (m_nPedState != PED_ATTACK && m_nPedState != PED_FIGHT && !m_bZoneDisabled) {
CVector targetDist = playerOrHisVeh->GetPosition() - GetPosition();
if (m_fDistanceToTarget > 30.0f) {
- CAnimBlendAssociation* crouchShootAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RBLOCK_SHOOT);
+ CAnimBlendAssociation* crouchShootAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RBLOCK_CSHOOT);
if (crouchShootAssoc)
crouchShootAssoc->blendDelta = -1000.0f;
diff --git a/src/peds/EmergencyPed.cpp b/src/peds/EmergencyPed.cpp
index d8c8309e..9f87c12b 100644
--- a/src/peds/EmergencyPed.cpp
+++ b/src/peds/EmergencyPed.cpp
@@ -317,7 +317,7 @@ CEmergencyPed::MedicAI(void)
m_nEmergencyPedState = EMERGENCY_PED_STAND_STILL;
} else {
m_nEmergencyPedState = EMERGENCY_PED_FACE_TO_PATIENT;
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_MEDIC_CPR, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CPR, 4.0f);
bIsDucking = true;
}
SetLookTimer(2000);
diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp
index 28a4e989..87e77ef3 100644
--- a/src/peds/Ped.cpp
+++ b/src/peds/Ped.cpp
@@ -329,7 +329,7 @@ CPed::SetModelIndex(uint32 mi)
SetPedStats(modelInfo->m_pedStatType);
m_headingRate = m_pedStats->m_headingChangeRate;
m_animGroup = (AssocGroupId) modelInfo->m_animGroup;
- CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE);
+ CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE);
(*RPANIMBLENDCLUMPDATA(m_rwObject))->velocity2d = &m_vecAnimMoveDelta;
@@ -496,30 +496,30 @@ CPed::SetMoveAnim(void)
CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_BLOCK);
if (!animAssoc) {
- CAnimBlendAssociation *fightIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FIGHT_IDLE);
+ CAnimBlendAssociation *fightIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FIGHT_IDLE);
animAssoc = fightIdleAssoc;
if (fightIdleAssoc && m_nPedState == PED_FIGHT)
return;
if (fightIdleAssoc) {
- CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE);
+ CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE);
if (!idleAssoc || idleAssoc->blendDelta <= 0.0f) {
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_STD_IDLE, 8.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_IDLE_STANCE, 8.0f);
}
}
}
if (!animAssoc) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_TIRED);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_TIRED);
if (animAssoc)
if (m_nWaitState == WAITSTATE_STUCK || m_nWaitState == WAITSTATE_FINISH_FLEE)
return;
if (animAssoc) {
- CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE);
+ CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE);
if (!idleAssoc || idleAssoc->blendDelta <= 0.0f) {
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_STD_IDLE, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_IDLE_STANCE, 4.0f);
}
}
}
@@ -541,20 +541,20 @@ CPed::SetMoveAnim(void)
switch (m_nMoveState) {
case PEDMOVE_STILL:
- animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_STD_IDLE, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_IDLE_STANCE, 4.0f);
break;
case PEDMOVE_WALK:
- animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_STD_WALK, 1.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_WALK, 1.0f);
break;
case PEDMOVE_RUN:
if (m_nPedState == PED_FLEE_ENTITY) {
- animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_STD_RUN, 3.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_RUN, 3.0f);
} else {
- animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_STD_RUN, 1.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_RUN, 1.0f);
}
break;
case PEDMOVE_SPRINT:
- animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_STD_RUNFAST, 1.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), animGroupToUse, ANIM_SPRINT, 1.0f);
break;
default:
break;
@@ -562,12 +562,12 @@ CPed::SetMoveAnim(void)
if (animAssoc) {
if (m_leader) {
- CAnimBlendAssociation *walkAssoc = RpAnimBlendClumpGetAssociation(m_leader->GetClump(), ANIM_STD_WALK);
+ CAnimBlendAssociation *walkAssoc = RpAnimBlendClumpGetAssociation(m_leader->GetClump(), ANIM_WALK);
if (!walkAssoc)
- walkAssoc = RpAnimBlendClumpGetAssociation(m_leader->GetClump(), ANIM_STD_RUN);
+ walkAssoc = RpAnimBlendClumpGetAssociation(m_leader->GetClump(), ANIM_RUN);
if (!walkAssoc)
- walkAssoc = RpAnimBlendClumpGetAssociation(m_leader->GetClump(), ANIM_STD_RUNFAST);
+ walkAssoc = RpAnimBlendClumpGetAssociation(m_leader->GetClump(), ANIM_SPRINT);
if (walkAssoc) {
animAssoc->speed = walkAssoc->speed;
@@ -920,7 +920,7 @@ FinishFuckUCB(CAnimBlendAssociation *animAssoc, void *arg)
{
CPed *ped = (CPed*)arg;
- if (animAssoc->animId == ANIM_STD_PARTIAL_FUCKU && ped->GetWeapon()->m_eWeaponType == WEAPONTYPE_UNARMED)
+ if (animAssoc->animId == ANIM_FUCKU && ped->GetWeapon()->m_eWeaponType == WEAPONTYPE_UNARMED)
ped->RemoveWeaponModel(0);
}
@@ -939,7 +939,7 @@ CPed::MoveHeadToLook(void)
if (!bShakeFist && GetWeapon()->m_eWeaponType == WEAPONTYPE_UNARMED) {
- CAnimBlendAssociation *fuckUAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_PARTIAL_FUCKU);
+ CAnimBlendAssociation *fuckUAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FUCKU);
if (fuckUAssoc) {
float animTime = fuckUAssoc->currentTime;
@@ -984,7 +984,7 @@ CPed::MoveHeadToLook(void)
bool notRocketLauncher = false;
bool notTwoHanded = false;
- AnimationId animToPlay = ANIM_STD_NUM;
+ AnimationId animToPlay = NUM_ANIMS;
if (!GetWeapon()->IsType2Handed())
notTwoHanded = true;
@@ -1002,24 +1002,24 @@ CPed::MoveHeadToLook(void)
#ifndef FIX_BUGS
if (m_pedStats->m_temper < 47)
#endif
- animToPlay = ANIM_STD_PARTIAL_PUNCH;
+ animToPlay = ANIM_FIGHT_PPUNCH;
} else {
- animToPlay = ANIM_STD_PARTIAL_FUCKU;
+ animToPlay = ANIM_FUCKU;
}
} else if (m_pedStats->m_temper > 49 || m_pLookTarget->GetModelIndex() == MI_POLICE) {
- animToPlay = ANIM_STD_PARTIAL_FUCKU;
+ animToPlay = ANIM_FUCKU;
}
} else if (notRocketLauncher && (CGeneral::GetRandomNumber() & 1)) {
- animToPlay = ANIM_STD_PARTIAL_FUCKU;
+ animToPlay = ANIM_FUCKU;
}
- if (animToPlay != ANIM_STD_NUM) {
+ if (animToPlay != NUM_ANIMS) {
CAnimBlendAssociation *newAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, animToPlay, 4.0f);
if (newAssoc) {
newAssoc->flags |= ASSOC_FADEOUTWHENDONE;
newAssoc->flags |= ASSOC_DELETEFADEDOUT;
- if (newAssoc->animId == ANIM_STD_PARTIAL_FUCKU)
+ if (newAssoc->animId == ANIM_FUCKU)
newAssoc->SetDeleteCallback(FinishFuckUCB, this);
}
}
@@ -1365,8 +1365,8 @@ CPed::CalculateNewVelocity(void)
m_moved = CVector2D(-Sin(walkAngle), Cos(walkAngle)) * pedSpeed;
}
- CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE);
- CAnimBlendAssociation *fightAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FIGHT_IDLE);
+ CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE);
+ CAnimBlendAssociation *fightAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FIGHT_IDLE);
#ifdef VC_PED_PORTS
if ((!idleAssoc || idleAssoc->blendAmount < 0.5f) && !fightAssoc && !bIsDucking) {
#else
@@ -1809,7 +1809,7 @@ CPed::ProcessControl(void)
++m_panicCounter;
if (m_fHealth <= 1.0f && m_nPedState <= PED_STATES_NO_AI && !bIsInTheAir && !bIsLanding)
- SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
bCollidedWithMyVehicle = false;
@@ -1900,9 +1900,9 @@ CPed::ProcessControl(void)
} else {
if (m_nPedType != PEDTYPE_COP && neededTurn < DEGTORAD(15.0f) && m_nWaitState == WAITSTATE_FALSE) {
if ((m_nStoredMoveState == PEDMOVE_RUN || m_nStoredMoveState == PEDMOVE_SPRINT) && m_vecDamageNormal.z < 0.3f) {
- CAnimBlendAssociation *runAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUN);
+ CAnimBlendAssociation *runAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN);
if (!runAssoc)
- runAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNFAST);
+ runAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_SPRINT);
if (runAssoc && runAssoc->blendAmount > 0.9f && runAssoc->IsRunning()) {
SetWaitState(WAITSTATE_HITWALL, nil);
@@ -2189,7 +2189,7 @@ CPed::ProcessControl(void)
bIsStanding = false;
CVector2D collidingEntMoveDir = -collidingVeh->m_vecMoveSpeed;
int dir = GetLocalDirection(collidingEntMoveDir);
- SetFall(1000, (AnimationId)(dir + ANIM_STD_HIGHIMPACT_FRONT), false);
+ SetFall(1000, (AnimationId)(dir + ANIM_KO_SKID_FRONT), false);
float damage;
if (collidingVeh->m_modelIndex == MI_TRAIN) {
@@ -2321,7 +2321,7 @@ CPed::ProcessControl(void)
bIsStanding = false;
CVector2D collidingEntMoveDir = -collidingVeh->m_vecMoveSpeed;
int dir = GetLocalDirection(collidingEntMoveDir);
- SetFall(1000, (AnimationId)(dir + ANIM_STD_HIGHIMPACT_FRONT), false);
+ SetFall(1000, (AnimationId)(dir + ANIM_KO_SKID_FRONT), false);
CPed *driver = collidingVeh->pDriver;
float damage;
@@ -2448,17 +2448,12 @@ CPed::ProcessControl(void)
#ifdef VC_PED_PORTS
uint8 flyDir = 0;
float feetZ = GetPosition().z - FEET_OFFSET;
-#ifdef FIX_BUGS
- if (obstacleForFlyingZ > feetZ && obstacleForFlyingOtherDirZ < 501.0f)
- flyDir = 1;
- else if (obstacleForFlyingOtherDirZ > feetZ && obstacleForFlyingZ < 500.0f)
- flyDir = 2;
-#else
- if ((obstacleForFlyingZ > feetZ && obstacleForFlyingOtherDirZ < 500.0f) || (obstacleForFlyingZ > feetZ && obstacleForFlyingOtherDirZ > feetZ))
+ if ((obstacleForFlyingZ <= feetZ || obstacleForFlyingOtherDirZ >= 500.0f) && (obstacleForFlyingZ <= feetZ || obstacleForFlyingOtherDirZ <= feetZ)) {
+ if (obstacleForFlyingOtherDirZ > feetZ && obstacleForFlyingZ < 499.0f)
+ flyDir = 2;
+ } else {
flyDir = 1;
- else if (obstacleForFlyingOtherDirZ > feetZ && obstacleForFlyingZ < 499.0f)
- flyDir = 2;
-#endif
+ }
if (flyDir != 0 && !bSomeVCflag1) {
SetPosition((flyDir == 2 ? obstacleForFlyingOtherDir.point : obstacleForFlying.point));
@@ -2476,10 +2471,6 @@ CPed::ProcessControl(void)
forceDir.z = 4.0f;
ApplyMoveForce(forceDir);
- // What was that for?? It pushes player inside of collision sometimes and kills him.
-#ifdef FIX_BUGS
- if (!IsPlayer())
-#endif
GetMatrix().GetPosition() += 0.25f * offsetToCheck;
m_fRotationCur = CGeneral::GetRadianAngleBetweenPoints(offsetToCheck.x, offsetToCheck.y, 0.0f, 0.0f);
@@ -2488,7 +2479,7 @@ CPed::ProcessControl(void)
SetHeading(m_fRotationCur);
if (m_nPedState != PED_FALL && !bIsPedDieAnimPlaying) {
- SetFall(1000, ANIM_STD_HIGHIMPACT_BACK, true);
+ SetFall(1000, ANIM_KO_SKID_BACK, true);
}
bIsInTheAir = false;
} else if (m_vecDamageNormal.z > 0.4f) {
@@ -2543,10 +2534,10 @@ CPed::ProcessControl(void)
m_fRotationCur = m_fRotationDest;
SetHeading(m_fRotationCur);
}
- CAnimBlendAssociation *jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_JUMP_GLIDE);
+ CAnimBlendAssociation *jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_JUMP_GLIDE);
if (!jumpAssoc)
- jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FALL_GLIDE);
+ jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FALL_GLIDE);
if (jumpAssoc) {
jumpAssoc->blendDelta = -3.0f;
@@ -2555,10 +2546,10 @@ CPed::ProcessControl(void)
if (m_nPedState == PED_JUMP)
m_nPedState = PED_IDLE;
} else {
- CAnimBlendAssociation *jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_JUMP_GLIDE);
+ CAnimBlendAssociation *jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_JUMP_GLIDE);
if (!jumpAssoc)
- jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FALL_GLIDE);
+ jumpAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FALL_GLIDE);
if (jumpAssoc) {
jumpAssoc->blendDelta = -3.0f;
@@ -2684,7 +2675,7 @@ CPed::ProcessControl(void)
Wait();
if (m_nPedState != PED_IDLE) {
- CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_BIGGUN);
+ CAnimBlendAssociation *idleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_ARMED);
if(idleAssoc) {
idleAssoc->blendDelta = -8.0f;
idleAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -2703,27 +2694,27 @@ CPed::ProcessControl(void)
int16 padWalkX = pad->GetPedWalkLeftRight();
int16 padWalkY = pad->GetPedWalkUpDown();
if (Abs(padWalkX) > 0.0f || Abs(padWalkY) > 0.0f) {
- if (vehAnim == ANIM_STD_CAR_OPEN_DOOR_LHS || vehAnim == ANIM_STD_CAR_OPEN_DOOR_RHS || vehAnim == ANIM_STD_COACH_OPEN_LHS || vehAnim == ANIM_STD_COACH_OPEN_RHS ||
- vehAnim == ANIM_STD_VAN_OPEN_DOOR_REAR_LHS || vehAnim == ANIM_STD_VAN_OPEN_DOOR_REAR_RHS) {
+ if (vehAnim == ANIM_CAR_OPEN_LHS || vehAnim == ANIM_CAR_OPEN_RHS || vehAnim == ANIM_COACH_OPEN_L || vehAnim == ANIM_COACH_OPEN_R ||
+ vehAnim == ANIM_VAN_OPEN_L || vehAnim == ANIM_VAN_OPEN) {
if (!m_pMyVehicle->pDriver) {
cancelJack = false;
bCancelEnteringCar = true;
} else
cancelJack = true;
- } else if (vehAnim == ANIM_STD_QUICKJACK && m_pVehicleAnim->GetTimeLeft() > 0.75f) {
+ } else if (vehAnim == ANIM_CAR_QJACK && m_pVehicleAnim->GetTimeLeft() > 0.75f) {
cancelJack = true;
- } else if (vehAnim == ANIM_STD_CAR_PULL_OUT_PED_LHS || vehAnim == ANIM_STD_CAR_PULL_OUT_PED_LO_LHS || vehAnim == ANIM_STD_CAR_PULL_OUT_PED_LO_RHS || vehAnim == ANIM_STD_CAR_PULL_OUT_PED_RHS) {
+ } else if (vehAnim == ANIM_CAR_PULLOUT_LHS || vehAnim == ANIM_CAR_PULLOUT_LOW_LHS || vehAnim == ANIM_CAR_PULLOUT_LOW_RHS || vehAnim == ANIM_CAR_PULLOUT_RHS) {
bCancelEnteringCar = true;
cancelJack = false;
}
}
- if (cancelJack && vehAnim == ANIM_STD_QUICKJACK && m_pVehicleAnim->GetTimeLeft() > 0.75f && m_pVehicleAnim->GetTimeLeft() < 0.78f) {
+ if (cancelJack && vehAnim == ANIM_CAR_QJACK && m_pVehicleAnim->GetTimeLeft() > 0.75f && m_pVehicleAnim->GetTimeLeft() < 0.78f) {
cancelJack = false;
QuitEnteringCar();
RestorePreviousObjective();
}
- if (cancelJack && (vehAnim == ANIM_STD_CAR_PULL_OUT_PED_LHS || vehAnim == ANIM_STD_CAR_PULL_OUT_PED_LO_LHS || vehAnim == ANIM_STD_CAR_PULL_OUT_PED_LO_RHS || vehAnim == ANIM_STD_CAR_PULL_OUT_PED_RHS)) {
+ if (cancelJack && (vehAnim == ANIM_CAR_PULLOUT_LHS || vehAnim == ANIM_CAR_PULLOUT_LOW_LHS || vehAnim == ANIM_CAR_PULLOUT_LOW_RHS || vehAnim == ANIM_CAR_PULLOUT_RHS)) {
cancelJack = false;
bCancelEnteringCar = true;
}
@@ -2883,25 +2874,25 @@ CPed::ProcessControl(void)
CAnimBlendAssociation *lbAssoc;
CAnimBlendAssociation *sitAssoc;
if (m_pMyVehicle->bLowVehicle) {
- sitAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT_LO);
+ sitAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_LSIT);
if (!sitAssoc || sitAssoc->blendAmount < 1.0f) {
break;
}
- lDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_LEFT_LO);
+ lDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_LOW_L);
lbAssoc = nil;
- rDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_RIGHT_LO);
+ rDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_LOW_R);
} else {
- sitAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT);
+ sitAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SIT);
if (!sitAssoc || sitAssoc->blendAmount < 1.0f) {
break;
}
- lDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_LEFT);
- rDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_RIGHT);
- lbAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_LOOKBEHIND);
+ lDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_L);
+ rDriveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_R);
+ lbAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_LB);
if (lbAssoc &&
TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_1STPERSON
@@ -2910,10 +2901,10 @@ CPed::ProcessControl(void)
}
}
- CAnimBlendAssociation *driveByAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
+ CAnimBlendAssociation *driveByAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVEBY_L);
if (!driveByAssoc)
- driveByAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
+ driveByAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVEBY_R);
if (m_pMyVehicle->bLowVehicle || m_pMyVehicle->m_fGasPedal >= 0.0f || driveByAssoc) {
if (steerAngle == 0.0f || driveByAssoc) {
@@ -2929,9 +2920,9 @@ CPed::ProcessControl(void)
if (rDriveAssoc)
rDriveAssoc->blendAmount = clamp(steerAngle * -100.0f / 61.0f, 0.0f, 1.0f);
else if (m_pMyVehicle->bLowVehicle)
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVE_RIGHT_LO);
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_DRIVE_LOW_R);
else
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVE_RIGHT);
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_DRIVE_R);
} else {
if (rDriveAssoc)
@@ -2940,9 +2931,9 @@ CPed::ProcessControl(void)
if (lDriveAssoc)
lDriveAssoc->blendAmount = clamp(steerAngle * 100.0f / 61.0f, 0.0f, 1.0f);
else if (m_pMyVehicle->bLowVehicle)
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVE_LEFT_LO);
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_DRIVE_LOW_L);
else
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVE_LEFT);
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_DRIVE_L);
}
if (lbAssoc)
@@ -2952,7 +2943,7 @@ CPed::ProcessControl(void)
if ((TheCamera.Cams[TheCamera.ActiveCam].Mode != CCam::MODE_1STPERSON
|| TheCamera.Cams[TheCamera.ActiveCam].DirectionWasLooking != LOOKING_LEFT)
&& (!lbAssoc || lbAssoc->blendAmount < 1.0f)) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_LOOKBEHIND, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_LB, 4.0f);
}
}
break;
@@ -2962,12 +2953,12 @@ CPed::ProcessControl(void)
break;
case PED_HANDS_UP:
if (m_pedStats->m_temper <= 50) {
- if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_HANDSCOWER)) {
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HANDSCOWER);
+ if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_HANDSCOWER)) {
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_HANDSCOWER);
Say(SOUND_PED_HANDS_COWER);
}
- } else if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_HANDSUP)) {
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HANDSUP);
+ } else if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_HANDSUP)) {
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_HANDSUP);
Say(SOUND_PED_HANDS_UP);
}
break;
@@ -3159,7 +3150,7 @@ CPed::ProcessEntityCollision(CEntity *collidingEnt, CColPoint *collidingPoints)
upperSpeedLimit *= 2.0f;
lowerSpeedLimit *= 1.5f;
}
- CAnimBlendAssociation *fallAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FALL);
+ CAnimBlendAssociation *fallAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FALL_FALL);
if (!bWasStanding && speed > upperSpeedLimit && (/*!bPushedAlongByCar ||*/ m_vecMoveSpeed.z < lowerSpeedLimit)
&& m_pCollidingEntity != collidingEnt) {
@@ -3183,7 +3174,7 @@ CPed::ProcessEntityCollision(CEntity *collidingEnt, CColPoint *collidingPoints)
}
#else
float speedSqr = 0.0f;
- CAnimBlendAssociation *fallAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FALL);
+ CAnimBlendAssociation *fallAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FALL_FALL);
if (!bWasStanding && (m_vecMoveSpeed.z < -0.25f || (speedSqr = m_vecMoveSpeed.MagnitudeSqr()) > sq(0.5f))) {
if (speedSqr == 0.0f)
speedSqr = sq(m_vecMoveSpeed.z);
@@ -3335,10 +3326,10 @@ CPed::PlayFootSteps(void)
if ( IsPlayer() )
{
- runStopAsoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP2);
+ runStopAsoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP);
if ( runStopAsoc == NULL )
- runStopAsoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP2);
+ runStopAsoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP_R);
}
if ( runStopAsoc != NULL && runStopAsoc->blendAmount > 0.1f )
@@ -4167,7 +4158,7 @@ CPed::PedSetOutCarCB(CAnimBlendAssociation *animAssoc, void *arg)
#ifdef VC_PED_PORTS
else if (ped->m_objective == OBJECTIVE_LEAVE_CAR_AND_DIE) {
ped->m_fHealth = 0.0f;
- ped->SetDie(ANIM_STD_HIT_FLOOR, 4.0f, 0.5f);
+ ped->SetDie(ANIM_FLOOR_HIT, 4.0f, 0.5f);
}
#endif
@@ -4295,7 +4286,7 @@ CPed::PedSetOutCarCB(CAnimBlendAssociation *animAssoc, void *arg)
ped->bOnBoat = false;
if (ped->bBusJacked) {
- ped->SetFall(1500, ANIM_STD_HIGHIMPACT_BACK, false);
+ ped->SetFall(1500, ANIM_KO_SKID_BACK, false);
ped->bBusJacked = false;
}
ped->m_nStoredMoveState = PEDMOVE_NONE;
@@ -4319,7 +4310,7 @@ CPed::PedSetDraggedOutCarCB(CAnimBlendAssociation *dragAssoc, void *arg)
CVehicle *vehicle;
CPed *ped = (CPed*)arg;
- quickJackedAssoc = RpAnimBlendClumpGetAssociation(ped->GetClump(), ANIM_STD_QUICKJACKED);
+ quickJackedAssoc = RpAnimBlendClumpGetAssociation(ped->GetClump(), ANIM_CAR_QJACKED);
if (ped->m_nPedState != PED_ARRESTED) {
ped->m_nLastPedState = PED_NONE;
if (dragAssoc)
@@ -4352,7 +4343,7 @@ CPed::PedSetDraggedOutCarCB(CAnimBlendAssociation *dragAssoc, void *arg)
if (ped->m_objective == OBJECTIVE_LEAVE_CAR_AND_DIE) {
dragAssoc->SetDeleteCallback(PedSetDraggedOutCarPositionCB, ped);
ped->m_fHealth = 0.0f;
- ped->SetDie(ANIM_STD_HIT_FLOOR, 1000.0f, 0.5f);
+ ped->SetDie(ANIM_FLOOR_HIT, 1000.0f, 0.5f);
return;
}
#endif
@@ -4362,7 +4353,7 @@ CPed::PedSetDraggedOutCarCB(CAnimBlendAssociation *dragAssoc, void *arg)
} else {
dragAssoc->SetDeleteCallback(PedSetDraggedOutCarPositionCB, ped);
if (ped->CanSetPedState())
- CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_GET_UP, 1000.0f);
+ CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_GETUP1, 1000.0f);
}
ped->ReplaceWeaponWhenExitingVehicle();
@@ -4597,14 +4588,14 @@ CPed::PedSetInCarCB(CAnimBlendAssociation *animAssoc, void *arg)
if (veh->pDriver == ped) {
if (veh->bLowVehicle) {
- ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT_LO, 100.0f);
+ ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_LSIT, 100.0f);
} else {
- ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT, 100.0f);
+ ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_SIT, 100.0f);
}
} else if (veh->bLowVehicle) {
- ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT_P_LO, 100.0f);
+ ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_SITPLO, 100.0f);
} else {
- ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT_P, 100.0f);
+ ped->m_pVehicleAnim = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_SITP, 100.0f);
}
ped->StopNonPartialAnims();
@@ -4848,7 +4839,7 @@ CPed::PreRender(void)
if (Abs(speed.x) <= 0.05f && Abs(speed.y) <= 0.05f) {
if (!OnGround() && m_nPedState != PED_ATTACK && m_nPedState != PED_FIGHT) {
- if (!IsPedHeadAbovePos(0.3f) || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_TIRED)) {
+ if (!IsPedHeadAbovePos(0.3f) || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_TIRED)) {
doSplashUp = false;
}
} else
@@ -4982,8 +4973,8 @@ CPed::Idle(void)
}
}
- CAnimBlendAssociation *armedIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_BIGGUN);
- CAnimBlendAssociation *unarmedIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE);
+ CAnimBlendAssociation *armedIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_ARMED);
+ CAnimBlendAssociation *unarmedIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE);
int waitTime;
if (m_nMoveState == PEDMOVE_STILL) {
@@ -4998,7 +4989,7 @@ CPed::Idle(void)
m_moved = CVector2D(0.0f, 0.0f);
return;
}
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_BIGGUN, 3.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_ARMED, 3.0f);
waitTime = CGeneral::GetRandomNumberInRange(4000, 7500);
} else {
armedIdleAssoc->blendDelta = -2.0f;
@@ -5122,7 +5113,7 @@ CPed::SetInTheAir(void)
return;
bIsInTheAir = true;
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FALL_GLIDE, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FALL_GLIDE, 4.0f);
if (m_nPedState == PED_ATTACK) {
ClearAttack();
@@ -5153,9 +5144,9 @@ CPed::InTheAir(void)
)
SetLanding();
} else {
- if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FALL)) {
+ if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FALL_FALL)) {
if (m_vecMoveSpeed.z < -0.1f)
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FALL, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FALL_FALL, 4.0f);
}
}
}
@@ -5168,19 +5159,19 @@ CPed::SetLanding(void)
if (DyingOrDead())
return;
- CAnimBlendAssociation *fallAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FALL);
+ CAnimBlendAssociation *fallAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FALL_FALL);
CAnimBlendAssociation *landAssoc;
RpAnimBlendClumpSetBlendDeltas(GetClump(), ASSOC_PARTIAL, -1000.0f);
if (fallAssoc) {
- landAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FALL_COLLAPSE);
+ landAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_FALL_COLLAPSE);
DMAudio.PlayOneShot(m_audioEntityId, SOUND_FALL_COLLAPSE, 1.0f);
if (IsPlayer())
Say(SOUND_PED_LAND);
} else {
- landAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FALL_LAND);
+ landAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_FALL_LAND);
DMAudio.PlayOneShot(m_audioEntityId, SOUND_FALL_LAND, 1.0f);
}
@@ -5231,25 +5222,25 @@ CPed::SetGetUp(void)
bGetUpAnimStarted = true;
m_pCollidingEntity = nil;
bKnockedUpIntoAir = false;
- CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNFAST);
+ CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_SPRINT);
if (animAssoc) {
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUN)) {
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_RUN, 8.0f);
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN)) {
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_RUN, 8.0f);
} else {
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 8.0f);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 8.0f);
}
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
}
if (RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_FRONTAL))
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GET_UP_FRONT, 1000.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_GETUP_FRONT, 1000.0f);
else
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GET_UP, 1000.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_GETUP1, 1000.0f);
animAssoc->SetFinishCallback(PedGetupCB,this);
} else {
m_fHealth = 0.0f;
- SetDie(ANIM_STD_NUM, 4.0f, 0.0f);
+ SetDie(NUM_ANIMS, 4.0f, 0.0f);
}
}
@@ -6096,7 +6087,7 @@ CPed::SetEvasiveStep(CEntity *reason, uint8 animType)
if (neededTurn <= DEGTORAD(90.0f) || veh->GetModelIndex() == MI_RCBANDIT || vehPressedHorn || animType != 0) {
SetLookFlag(veh, true);
if ((CGeneral::GetRandomNumber() & 1) && veh->GetModelIndex() != MI_RCBANDIT && animType == 0) {
- stepAnim = ANIM_STD_HAILTAXI;
+ stepAnim = ANIM_IDLE_TAXI;
} else {
float vehDirection = CGeneral::GetRadianAngleBetweenPoints(
@@ -6119,11 +6110,11 @@ CPed::SetEvasiveStep(CEntity *reason, uint8 animType)
else
angleToFace = vehDirection + HALFPI;
- stepAnim = ANIM_STD_NUM;
+ stepAnim = NUM_ANIMS;
if (animType == 0 || animType == 1)
- stepAnim = ANIM_STD_EVADE_STEP;
+ stepAnim = ANIM_EV_STEP;
else if (animType == 2)
- stepAnim = ANIM_STD_HANDSCOWER;
+ stepAnim = ANIM_HANDSCOWER;
}
if (!RpAnimBlendClumpGetAssociation(GetClump(), stepAnim)) {
CAnimBlendAssociation *stepAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, stepAnim, 8.0f);
@@ -6225,11 +6216,11 @@ CPed::SetEvasiveDive(CPhysical *reason, uint8 onlyRandomJump)
ClearLookFlag();
ClearAimFlag();
SetLookFlag(reason, true);
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_HANDSUP);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_HANDSUP);
if (animAssoc)
return;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HANDSUP, 8.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_HANDSUP, 8.0f);
animAssoc->flags &= ~ASSOC_DELETEFADEDOUT;
animAssoc->SetFinishCallback(PedEvadeCB, this);
SetStoredState();
@@ -6240,7 +6231,7 @@ CPed::SetEvasiveDive(CPhysical *reason, uint8 onlyRandomJump)
ClearAimFlag();
SetStoredState();
SetPedState(PED_DIVE_AWAY);
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_EVADE_DIVE, 8.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_EV_DIVE, 8.0f);
animAssoc->SetFinishCallback(PedEvadeCB, this);
}
@@ -6271,7 +6262,7 @@ CPed::PedEvadeCB(CAnimBlendAssociation* animAssoc, void* arg)
if (ped->m_nPedState == PED_DIVE_AWAY || ped->m_nPedState == PED_STEP_AWAY)
ped->RestorePreviousState();
- } else if (animAssoc->animId == ANIM_STD_EVADE_DIVE) {
+ } else if (animAssoc->animId == ANIM_EV_DIVE) {
ped->bUpdateAnimHeading = true;
ped->ClearLookFlag();
if (ped->m_nPedState == PED_DIVE_AWAY)
@@ -6329,7 +6320,7 @@ CPed::SetDie(AnimationId animId, float delta, float speed)
}
SetPedState(PED_DIE);
- if (animId == ANIM_STD_NUM) {
+ if (animId == NUM_ANIMS) {
bIsPedDieAnimPlaying = false;
} else {
CAnimBlendAssociation *dieAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, animId, delta);
@@ -6438,7 +6429,7 @@ CPed::Chat(void)
}
if (bIsTalking) {
if (CGeneral::GetRandomNumber() < 512) {
- CAnimBlendAssociation *chatAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CHAT);
+ CAnimBlendAssociation *chatAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_CHAT);
if (chatAssoc) {
chatAssoc->blendDelta = -4.0f;
chatAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -6450,10 +6441,10 @@ CPed::Chat(void)
} else {
if (CGeneral::GetRandomNumber() < 20 && !RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_IDLE)) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_XPRESS_SCRATCH, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_XPRESS_SCRATCH, 4.0f);
}
if (!bIsTalking && !RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_IDLE)) {
- CAnimBlendAssociation *chatAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CHAT, 4.0f);
+ CAnimBlendAssociation *chatAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_CHAT, 4.0f);
float chatTime = CGeneral::GetRandomNumberInRange(0.0f, 3.0f);
chatAssoc->SetCurrentTime(chatTime);
@@ -6470,7 +6461,7 @@ CPed::Chat(void)
void
CPed::ClearChat(void)
{
- CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CHAT);
+ CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_CHAT);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -6486,10 +6477,10 @@ ReportPhonePickUpCB(CAnimBlendAssociation* assoc, void* arg)
{
CPed* ped = (CPed*)arg;
ped->m_nMoveState = PEDMOVE_STILL;
- CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE, 8.0f);
+ CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_IDLE_STANCE, 8.0f);
if (assoc->blendAmount > 0.5f && ped) {
- CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_PHONE_TALK, 8.0f);
+ CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_PHONE_TALK, 8.0f);
}
}
@@ -6533,7 +6524,7 @@ CPed::FacePhone(void)
ClearLookFlag();
SetIdle();
m_phoneTalkTimer = CTimer::GetTimeInMilliseconds() + 10000;
- CAnimBlendAssociation* assoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_PHONE_IN, 4.0f);
+ CAnimBlendAssociation* assoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_PHONE_IN, 4.0f);
assoc->SetFinishCallback(ReportPhonePickUpCB, this);
return true;
}
@@ -6588,9 +6579,9 @@ CPed::MakePhonecall(void)
return false;
#ifdef PEDS_REPORT_CRIMES_ON_PHONE
- CAnimBlendAssociation* talkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_PHONE_TALK);
+ CAnimBlendAssociation* talkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_PHONE_TALK);
if (talkAssoc && talkAssoc->blendAmount > 0.5f) {
- CAnimBlendAssociation* endAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_PHONE_OUT, 8.0f);
+ CAnimBlendAssociation* endAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_PHONE_OUT, 8.0f);
endAssoc->flags &= ~ASSOC_DELETEFADEDOUT;
endAssoc->SetFinishCallback(ReportPhonePutDownCB, this);
}
@@ -6920,18 +6911,18 @@ CPed::SetPedPositionInCar(void)
if (bChangedSeat) {
bool notYet = false;
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_GET_IN_LHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_GET_IN_LO_LHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_CLOSE_DOOR_LHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_CLOSE_DOOR_LO_LHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SHUFFLE_RHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SHUFFLE_LO_RHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_VAN_GET_IN_REAR_LHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_VAN_GET_IN_REAR_RHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_COACH_GET_IN_LHS)
- || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_COACH_GET_IN_RHS)) {
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_GETIN_LHS)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_GETIN_LOW_LHS)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_CLOSEDOOR_LHS)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_CLOSEDOOR_LOW_LHS)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SHUFFLE_RHS)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_LSHUFFLE_RHS)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_VAN_CLOSE_L)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_VAN_CLOSE)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_VAN_GETIN_L)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_VAN_GETIN)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_COACH_IN_L)
+ || RpAnimBlendClumpGetAssociation(GetClump(), ANIM_COACH_IN_R)) {
notYet = true;
}
if (notYet) {
@@ -7184,7 +7175,7 @@ CPed::LookForInterestingNodes(void)
void
CPed::SetWaitState(eWaitState state, void *time)
{
- AnimationId waitAnim = ANIM_STD_NUM;
+ AnimationId waitAnim = NUM_ANIMS;
CAnimBlendAssociation *animAssoc;
if (!IsPedInControl())
@@ -7200,10 +7191,10 @@ CPed::SetWaitState(eWaitState state, void *time)
break;
case WAITSTATE_CROSS_ROAD:
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 1000;
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_HBHB, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_HBHB, 4.0f);
break;
case WAITSTATE_CROSS_ROAD_LOOK:
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_ROADCROSS, 8.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_ROAD_CROSS, 8.0f);
if (time)
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + *(int*)time;
@@ -7219,7 +7210,7 @@ CPed::SetWaitState(eWaitState state, void *time)
case WAITSTATE_DOUBLEBACK:
m_headingRate = 0.0f;
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 3500;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_HBHB, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_HBHB, 4.0f);
#ifdef FIX_BUGS
animAssoc->SetFinishCallback(RestoreHeadingRateCB, this);
#endif
@@ -7227,7 +7218,7 @@ CPed::SetWaitState(eWaitState state, void *time)
case WAITSTATE_HITWALL:
m_headingRate = 2.0f;
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 5000;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_WALL, 16.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_HIT_WALL, 16.0f);
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
animAssoc->flags |= ASSOC_FADEOUTWHENDONE;
animAssoc->SetDeleteCallback(FinishedWaitCB, this);
@@ -7241,14 +7232,14 @@ CPed::SetWaitState(eWaitState state, void *time)
case WAITSTATE_TURN180:
m_headingRate = 0.0f;
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 5000;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_TURN180, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_TURN_180, 4.0f);
animAssoc->SetFinishCallback(FinishedWaitCB, this);
animAssoc->SetDeleteCallback(RestoreHeadingRateCB, this);
break;
case WAITSTATE_SURPRISE:
m_headingRate = 0.0f;
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 2000;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_WALL, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_HIT_WALL, 4.0f);
animAssoc->SetFinishCallback(FinishedWaitCB, this);
break;
case WAITSTATE_STUCK:
@@ -7256,7 +7247,7 @@ CPed::SetWaitState(eWaitState state, void *time)
SetMoveAnim();
m_headingRate = 0.0f;
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 5000;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_TIRED, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_TIRED, 4.0f);
#ifdef FIX_BUGS
animAssoc->SetFinishCallback(RestoreHeadingRateCB, this);
#endif
@@ -7272,20 +7263,20 @@ CPed::SetWaitState(eWaitState state, void *time)
SetMoveAnim();
m_headingRate = 0.0f;
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 5000;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_HBHB, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_HBHB, 4.0f);
#ifdef FIX_BUGS
animAssoc->SetFinishCallback(RestoreHeadingRateCB, this);
#endif
break;
case WAITSTATE_PLAYANIM_COWER:
- waitAnim = ANIM_STD_HANDSCOWER;
+ waitAnim = ANIM_HANDSCOWER;
case WAITSTATE_PLAYANIM_HANDSUP:
- if (waitAnim == ANIM_STD_NUM)
- waitAnim = ANIM_STD_HANDSUP;
+ if (waitAnim == NUM_ANIMS)
+ waitAnim = ANIM_HANDSUP;
case WAITSTATE_PLAYANIM_HANDSCOWER:
- if (waitAnim == ANIM_STD_NUM)
- waitAnim = ANIM_STD_HANDSCOWER;
+ if (waitAnim == NUM_ANIMS)
+ waitAnim = ANIM_HANDSCOWER;
m_headingRate = 0.0f;
if (time)
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + *(int*)time;
@@ -7296,13 +7287,13 @@ CPed::SetWaitState(eWaitState state, void *time)
animAssoc->SetDeleteCallback(FinishedWaitCB, this);
break;
case WAITSTATE_PLAYANIM_DUCK:
- waitAnim = ANIM_STD_DUCK_DOWN;
+ waitAnim = ANIM_DUCK_DOWN;
case WAITSTATE_PLAYANIM_TAXI:
- if (waitAnim == ANIM_STD_NUM)
- waitAnim = ANIM_STD_HAILTAXI;
+ if (waitAnim == NUM_ANIMS)
+ waitAnim = ANIM_IDLE_TAXI;
case WAITSTATE_PLAYANIM_CHAT:
- if (waitAnim == ANIM_STD_NUM)
- waitAnim = ANIM_STD_CHAT;
+ if (waitAnim == NUM_ANIMS)
+ waitAnim = ANIM_IDLE_CHAT;
if (time)
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + *(int*)time;
else
@@ -7318,7 +7309,7 @@ CPed::SetWaitState(eWaitState state, void *time)
SetMoveAnim();
m_headingRate = 0.0f;
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 2500;
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_TIRED, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_TIRED, 4.0f);
#ifdef FIX_BUGS
animAssoc->SetFinishCallback(RestoreHeadingRateCB, this);
#endif
@@ -7334,7 +7325,7 @@ CPed::SetWaitState(eWaitState state, void *time)
void
CPed::Wait(void)
{
- AnimationId mustHaveAnim = ANIM_STD_NUM;
+ AnimationId mustHaveAnim = NUM_ANIMS;
CAnimBlendAssociation *animAssoc;
CPed *pedWeLook;
@@ -7362,7 +7353,7 @@ CPed::Wait(void)
else
SetWaitState(WAITSTATE_CROSS_ROAD_LOOK, nil);
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_HBHB);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_HBHB);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -7373,7 +7364,7 @@ CPed::Wait(void)
case WAITSTATE_CROSS_ROAD_LOOK:
if (CTimer::GetTimeInMilliseconds() > m_nWaitTimer) {
m_nWaitState = WAITSTATE_FALSE;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_ROADCROSS);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_ROAD_CROSS);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -7386,7 +7377,7 @@ CPed::Wait(void)
uint32 timeLeft = m_nWaitTimer - CTimer::GetTimeInMilliseconds();
if (timeLeft < 2500 && timeLeft > 2000) {
m_nWaitTimer -= 500;
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_XPRESS_SCRATCH, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_XPRESS_SCRATCH, 4.0f);
}
} else {
m_nWaitState = WAITSTATE_FALSE;
@@ -7420,8 +7411,8 @@ CPed::Wait(void)
case WAITSTATE_SURPRISE:
if (CTimer::GetTimeInMilliseconds() > m_nWaitTimer) {
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_HIT_WALL)) {
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_XPRESS_SCRATCH, 4.0f);
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_HIT_WALL)) {
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_XPRESS_SCRATCH, 4.0f);
animAssoc->SetFinishCallback(FinishedWaitCB, this);
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 5000;
} else {
@@ -7434,14 +7425,14 @@ CPed::Wait(void)
if (CTimer::GetTimeInMilliseconds() <= m_nWaitTimer)
break;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_TIRED);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_TIRED);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_TURN180);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_TURN_180);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_XPRESS_SCRATCH);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_XPRESS_SCRATCH);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_ROADCROSS);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_ROAD_CROSS);
if (animAssoc) {
if (animAssoc->IsPartial()) {
@@ -7449,10 +7440,10 @@ CPed::Wait(void)
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
} else {
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 4.0f);
}
- if (animAssoc->animId == ANIM_STD_TURN180) {
+ if (animAssoc->animId == ANIM_TURN_180) {
m_fRotationCur = CGeneral::LimitRadianAngle(PI + m_fRotationCur);
m_nWaitState = WAITSTATE_FALSE;
SetMoveState(PEDMOVE_WALK);
@@ -7466,16 +7457,16 @@ CPed::Wait(void)
switch (CGeneral::GetRandomNumber() & 3) {
case 0:
- animToPlay = ANIM_STD_ROADCROSS;
+ animToPlay = ANIM_ROAD_CROSS;
break;
case 1:
- animToPlay = ANIM_STD_IDLE_TIRED;
+ animToPlay = ANIM_IDLE_TIRED;
break;
case 2:
- animToPlay = ANIM_STD_XPRESS_SCRATCH;
+ animToPlay = ANIM_XPRESS_SCRATCH;
break;
case 3:
- animToPlay = ANIM_STD_TURN180;
+ animToPlay = ANIM_TURN_180;
break;
default:
break;
@@ -7483,7 +7474,7 @@ CPed::Wait(void)
animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, animToPlay, 4.0f);
- if (animToPlay == ANIM_STD_TURN180)
+ if (animToPlay == ANIM_TURN_180)
animAssoc->SetFinishCallback(FinishedWaitCB, this);
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + CGeneral::GetRandomNumberInRange(1500, 5000);
@@ -7492,7 +7483,7 @@ CPed::Wait(void)
case WAITSTATE_LOOK_ABOUT:
if (CTimer::GetTimeInMilliseconds() > m_nWaitTimer) {
m_nWaitState = WAITSTATE_FALSE;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_HBHB);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_HBHB);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -7501,11 +7492,11 @@ CPed::Wait(void)
break;
case WAITSTATE_PLAYANIM_HANDSUP:
- mustHaveAnim = ANIM_STD_HANDSUP;
+ mustHaveAnim = ANIM_HANDSUP;
case WAITSTATE_PLAYANIM_HANDSCOWER:
- if (mustHaveAnim == ANIM_STD_NUM)
- mustHaveAnim = ANIM_STD_HANDSCOWER;
+ if (mustHaveAnim == NUM_ANIMS)
+ mustHaveAnim = ANIM_HANDSCOWER;
animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), mustHaveAnim);
pedWeLook = (CPed*) m_pLookTarget;
@@ -7573,19 +7564,19 @@ CPed::Wait(void)
}
break;
case WAITSTATE_PLAYANIM_COWER:
- mustHaveAnim = ANIM_STD_HANDSCOWER;
+ mustHaveAnim = ANIM_HANDSCOWER;
case WAITSTATE_PLAYANIM_DUCK:
- if (mustHaveAnim == ANIM_STD_NUM)
- mustHaveAnim = ANIM_STD_DUCK_DOWN;
+ if (mustHaveAnim == NUM_ANIMS)
+ mustHaveAnim = ANIM_DUCK_DOWN;
case WAITSTATE_PLAYANIM_TAXI:
- if (mustHaveAnim == ANIM_STD_NUM)
- mustHaveAnim = ANIM_STD_HAILTAXI;
+ if (mustHaveAnim == NUM_ANIMS)
+ mustHaveAnim = ANIM_IDLE_TAXI;
case WAITSTATE_PLAYANIM_CHAT:
- if (mustHaveAnim == ANIM_STD_NUM)
- mustHaveAnim = ANIM_STD_CHAT;
+ if (mustHaveAnim == NUM_ANIMS)
+ mustHaveAnim = ANIM_IDLE_CHAT;
if (CTimer::GetTimeInMilliseconds() > m_nWaitTimer) {
animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), mustHaveAnim);
@@ -7611,11 +7602,11 @@ CPed::Wait(void)
break;
case WAITSTATE_FINISH_FLEE:
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_TIRED);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_TIRED);
if (animAssoc) {
if (CTimer::GetTimeInMilliseconds() > m_nWaitTimer) {
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 4.0f);
int timer = 2000;
m_nWaitState = WAITSTATE_FALSE;
SetWaitState(WAITSTATE_CROSS_ROAD_LOOK, &timer);
@@ -7695,7 +7686,7 @@ CPed::SetSolicit(uint32 time)
m_chatTimer = CTimer::GetTimeInMilliseconds() + time;
if(!m_carInObjective->bIsVan && !m_carInObjective->bIsBus)
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_HOOKERTALK, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_HOOKERTALK, 4.0f);
SetPedState(PED_SOLICIT);
}
@@ -7722,7 +7713,7 @@ CPed::Solicit(void)
if ((GetPosition() - doorPos).MagnitudeSqr() <= 1.0f)
return;
- CAnimBlendAssociation *talkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_HOOKERTALK);
+ CAnimBlendAssociation *talkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_HOOKERTALK);
if (talkAssoc) {
talkAssoc->blendDelta = -1000.0f;
talkAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -7968,12 +7959,12 @@ CPed::SetJump(void)
{
if (!bInVehicle &&
#if defined VC_PED_PORTS || defined FIX_BUGS
- m_nPedState != PED_JUMP && !RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_JUMP_LAUNCH) &&
+ m_nPedState != PED_JUMP && !RpAnimBlendClumpGetAssociation(GetClump(), ANIM_JUMP_LAUNCH) &&
#endif
(m_nSurfaceTouched != SURFACE_STEEP_CLIFF || DotProduct(GetForward(), m_vecDamageNormal) >= 0.0f)) {
SetStoredState();
SetPedState(PED_JUMP);
- CAnimBlendAssociation *jumpAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_JUMP_LAUNCH, 8.0f);
+ CAnimBlendAssociation *jumpAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_JUMP_LAUNCH, 8.0f);
jumpAssoc->SetFinishCallback(FinishLaunchCB, this);
m_fRotationDest = m_fRotationCur;
}
@@ -8002,7 +7993,7 @@ CPed::FinishLaunchCB(CAnimBlendAssociation *animAssoc, void *arg)
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
// ANIM_HIT_WALL in VC (which makes more sense)
- CAnimBlendAssociation *handsCoverAssoc = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_HANDSCOWER, 8.0f);
+ CAnimBlendAssociation *handsCoverAssoc = CAnimManager::BlendAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_HANDSCOWER, 8.0f);
handsCoverAssoc->flags &= ~ASSOC_FADEOUTWHENDONE;
handsCoverAssoc->SetFinishCallback(FinishHitHeadCB, ped);
ped->bIsLanding = true;
@@ -8010,12 +8001,12 @@ CPed::FinishLaunchCB(CAnimBlendAssociation *animAssoc, void *arg)
}
float velocityFromAnim = 0.1f;
- CAnimBlendAssociation *sprintAssoc = RpAnimBlendClumpGetAssociation(ped->GetClump(), ANIM_STD_RUNFAST);
+ CAnimBlendAssociation *sprintAssoc = RpAnimBlendClumpGetAssociation(ped->GetClump(), ANIM_SPRINT);
if (sprintAssoc) {
velocityFromAnim = 0.05f * sprintAssoc->blendAmount + 0.17f;
} else {
- CAnimBlendAssociation *runAssoc = RpAnimBlendClumpGetAssociation(ped->GetClump(), ANIM_STD_RUN);
+ CAnimBlendAssociation *runAssoc = RpAnimBlendClumpGetAssociation(ped->GetClump(), ANIM_RUN);
if (runAssoc) {
velocityFromAnim = 0.07f * runAssoc->blendAmount + 0.1f;
}
@@ -8059,7 +8050,7 @@ CPed::FinishLaunchCB(CAnimBlendAssociation *animAssoc, void *arg)
ped->bIsStanding = false;
ped->bIsInTheAir = true;
animAssoc->blendDelta = -1000.0f;
- CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_JUMP_GLIDE);
+ CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_JUMP_GLIDE);
if (ped->bDoBloodyFootprints) {
CVector bloodPos(0.0f, 0.0f, 0.0f);
@@ -8327,7 +8318,7 @@ CPed::WarpPedIntoCar(CVehicle *car)
#else
if (car->IsBoat()) {
#ifndef FIX_BUGS
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_BOAT_DRIVE, 100.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_DRIVE_BOAT, 100.0f);
#else
m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, car->GetDriverAnim(), 100.0f);
#endif
@@ -8338,9 +8329,9 @@ CPed::WarpPedIntoCar(CVehicle *car)
RemoveWeaponWhenEnteringVehicle();
if (car->bLowVehicle)
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT_LO, 100.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_LSIT, 100.0f);
else
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT, 100.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_SIT, 100.0f);
}
#endif
diff --git a/src/peds/PedAI.cpp b/src/peds/PedAI.cpp
index 7f7120af..089c8d9d 100644
--- a/src/peds/PedAI.cpp
+++ b/src/peds/PedAI.cpp
@@ -1121,7 +1121,7 @@ CPed::ProcessObjective(void)
if (m_attackTimer < CTimer::GetTimeInMilliseconds()
&& distWithTargetSc < wepRange && m_pedInObjective->m_nPedState != PED_GETUP && m_pedInObjective->m_nPedState != PED_DRAG_FROM_CAR) {
if (bIsDucking) {
- CAnimBlendAssociation *duckAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_DUCK_DOWN);
+ CAnimBlendAssociation *duckAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DUCK_DOWN);
if (duckAnim) {
duckAnim->blendDelta = -2.0f;
break;
@@ -1202,14 +1202,14 @@ CPed::ProcessObjective(void)
// This is weird...
if (bNotAllowedToDuck && bKindaStayInSamePlace) {
if (!bIsDucking) {
- CAnimBlendAssociation* duckAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_DUCK_DOWN);
+ CAnimBlendAssociation* duckAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DUCK_DOWN);
if (!duckAnim || duckAnim->blendDelta < 0.0f) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_DUCK_DOWN, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_DUCK_DOWN, 4.0f);
bIsDucking = true;
}
break;
} else {
- CAnimBlendAssociation* duckAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_DUCK_DOWN);
+ CAnimBlendAssociation* duckAnim = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DUCK_DOWN);
if (!duckAnim || duckAnim->blendDelta < 0.0f) {
bIsDucking = false;
} else {
@@ -1701,9 +1701,9 @@ CPed::ProcessObjective(void)
}
break;
case OBJECTIVE_HAIL_TAXI:
- if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_HAILTAXI) && CTimer::GetTimeInMilliseconds() > m_nWaitTimer) {
+ if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_TAXI) && CTimer::GetTimeInMilliseconds() > m_nWaitTimer) {
Say(SOUND_PED_TAXI_WAIT);
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HAILTAXI, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_TAXI, 4.0f);
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + 2000;
}
break;
@@ -1813,7 +1813,7 @@ CPed::ProcessObjective(void)
float distWithTargetScSqr = distWithTarget.MagnitudeSqr();
if (distWithTargetScSqr <= sq(10.0f)) {
if (distWithTargetScSqr <= sq(1.4f)) {
- CAnimBlendAssociation *reloadAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_AK_RELOAD);
+ CAnimBlendAssociation *reloadAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_AK_RELOAD);
m_fRotationDest = CGeneral::GetRadianAngleBetweenPoints(
m_pedInObjective->GetPosition().x, m_pedInObjective->GetPosition().y,
GetPosition().x, GetPosition().y);
@@ -1821,7 +1821,7 @@ CPed::ProcessObjective(void)
if (reloadAssoc || !m_pedInObjective->IsPedShootable()) {
if (reloadAssoc &&
(!reloadAssoc->IsRunning() || reloadAssoc->currentTime / reloadAssoc->hierarchy->totalLength > 0.8f)) {
- CAnimBlendAssociation *punchAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_PARTIAL_PUNCH, 8.0f);
+ CAnimBlendAssociation *punchAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FIGHT_PPUNCH, 8.0f);
punchAssoc->flags |= ASSOC_DELETEFADEDOUT;
punchAssoc->flags |= ASSOC_FADEOUTWHENDONE;
CVector2D offset(distWithTarget.x, distWithTarget.y);
@@ -1850,13 +1850,13 @@ CPed::ProcessObjective(void)
if (weaponType != WEAPONTYPE_UNARMED && weaponType != WEAPONTYPE_BASEBALLBAT)
SetCurrentWeapon(WEAPONTYPE_UNARMED);
- CAnimBlendAssociation *newReloadAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_AK_RELOAD, 8.0f);
+ CAnimBlendAssociation *newReloadAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_AK_RELOAD, 8.0f);
newReloadAssoc->flags |= ASSOC_DELETEFADEDOUT;
newReloadAssoc->flags |= ASSOC_FADEOUTWHENDONE;
}
} else {
SetSeek(m_pedInObjective, 1.0f);
- CAnimBlendAssociation *walkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_WALK);
+ CAnimBlendAssociation *walkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_WALK);
if (walkAssoc)
walkAssoc->speed = 1.3f;
@@ -2256,26 +2256,26 @@ CPed::PedAnimAlignCB(CAnimBlendAssociation *animAssoc, void *arg)
}
if (enterDoor != DOOR_FRONT_LEFT && enterDoor != DOOR_REAR_LEFT) {
if (itsVan) {
- enterAnim = ANIM_STD_VAN_GET_IN_REAR_RHS;
+ enterAnim = ANIM_VAN_GETIN;
} else if (itsBus) {
- enterAnim = ANIM_STD_COACH_GET_IN_RHS;
+ enterAnim = ANIM_COACH_IN_R;
#ifdef FIX_BUGS
} else if (itsLow) {
- enterAnim = ANIM_STD_CAR_GET_IN_LO_RHS;
+ enterAnim = ANIM_CAR_GETIN_LOW_RHS;
#endif
} else {
- enterAnim = ANIM_STD_CAR_GET_IN_RHS;
+ enterAnim = ANIM_CAR_GETIN_RHS;
}
} else if (itsVan) {
- enterAnim = ANIM_STD_VAN_GET_IN_REAR_LHS;
+ enterAnim = ANIM_VAN_GETIN_L;
} else if (itsBus) {
- enterAnim = ANIM_STD_COACH_GET_IN_LHS;
+ enterAnim = ANIM_COACH_IN_L;
#ifdef FIX_BUGS
} else if (itsLow) {
- enterAnim = ANIM_STD_CAR_GET_IN_LO_LHS;
+ enterAnim = ANIM_CAR_GETIN_LOW_LHS;
#endif
} else {
- enterAnim = ANIM_STD_CAR_GET_IN_LHS;
+ enterAnim = ANIM_CAR_GETIN_LHS;
}
ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, enterAnim);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimGetInCB, ped);
@@ -2285,16 +2285,16 @@ CPed::PedAnimAlignCB(CAnimBlendAssociation *animAssoc, void *arg)
veh->AutoPilot.m_nCruiseSpeed = 0;
if (enterDoor != DOOR_FRONT_LEFT && enterDoor != DOOR_REAR_LEFT) {
if (itsVan) {
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_VAN_OPEN_DOOR_REAR_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_VAN_OPEN);
} else if (itsBus) {
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_COACH_OPEN_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_COACH_OPEN_R);
} else {
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_OPEN_DOOR_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_OPEN_RHS);
}
} else if (itsVan) {
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_VAN_OPEN_DOOR_REAR_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_VAN_OPEN_L);
} else if (itsBus) {
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_COACH_OPEN_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_COACH_OPEN_L);
} else {
if (ped->m_objective == OBJECTIVE_ENTER_CAR_AS_DRIVER && veh->pDriver) {
@@ -2303,7 +2303,7 @@ CPed::PedAnimAlignCB(CAnimBlendAssociation *animAssoc, void *arg)
&& veh->pDriver->CharCreatedBy != MISSION_CHAR
&& veh->pDriver->m_nPedState == PED_DRIVING) {
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_QUICKJACK);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_QJACK);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimGetInCB, ped);
veh->pDriver->SetBeingDraggedFromCar(veh, ped->m_vehDoor, true);
@@ -2312,15 +2312,15 @@ CPed::PedAnimAlignCB(CAnimBlendAssociation *animAssoc, void *arg)
return;
}
}
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_OPEN_DOOR_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_OPEN_LHS);
}
ped->m_pVehicleAnim->SetFinishCallback(PedAnimDoorOpenCB, ped);
} else {
if (enterDoor != DOOR_FRONT_LEFT && enterDoor != DOOR_REAR_LEFT)
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CARDOOR_LOCKED_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_DOORLOCKED_RHS);
else
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CARDOOR_LOCKED_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_DOORLOCKED_LHS);
ped->bCancelEnteringCar = true;
ped->m_pVehicleAnim->SetFinishCallback(PedAnimDoorOpenCB, ped);
@@ -2393,13 +2393,13 @@ CPed::PedAnimDoorOpenCB(CAnimBlendAssociation* animAssoc, void* arg)
if (veh->m_vecMoveSpeed.Magnitude() > 0.2f) {
ped->QuitEnteringCar();
if (ped->m_vehDoor != CAR_DOOR_LF && ped->m_vehDoor != CAR_DOOR_LR)
- ped->SetFall(1000, ANIM_STD_HIGHIMPACT_LEFT, false);
+ ped->SetFall(1000, ANIM_KO_SPIN_R, false);
else
- ped->SetFall(1000, ANIM_STD_HIGHIMPACT_RIGHT, false);
+ ped->SetFall(1000, ANIM_KO_SPIN_L, false);
return;
}
- veh->ProcessOpenDoor(ped->m_vehDoor, ANIM_STD_CAR_OPEN_DOOR_LHS, 1.0f);
+ veh->ProcessOpenDoor(ped->m_vehDoor, ANIM_CAR_OPEN_LHS, 1.0f);
if (ped->m_vehDoor == CAR_DOOR_LF || ped->m_vehDoor == CAR_DOOR_RF)
isVan = false;
@@ -2409,22 +2409,22 @@ CPed::PedAnimDoorOpenCB(CAnimBlendAssociation* animAssoc, void* arg)
if (ped->m_vehDoor != CAR_DOOR_LF && ped->m_vehDoor != CAR_DOOR_LR) {
if (isVan) {
- animToPlay = ANIM_STD_VAN_GET_IN_REAR_RHS;
+ animToPlay = ANIM_VAN_GETIN;
} else if (isBus) {
- animToPlay = ANIM_STD_COACH_GET_IN_RHS;
+ animToPlay = ANIM_COACH_IN_R;
} else if (isLow) {
- animToPlay = ANIM_STD_CAR_GET_IN_LO_RHS;
+ animToPlay = ANIM_CAR_GETIN_LOW_RHS;
} else {
- animToPlay = ANIM_STD_CAR_GET_IN_RHS;
+ animToPlay = ANIM_CAR_GETIN_RHS;
}
} else if (isVan) {
- animToPlay = ANIM_STD_VAN_GET_IN_REAR_LHS;
+ animToPlay = ANIM_VAN_GETIN_L;
} else if (isBus) {
- animToPlay = ANIM_STD_COACH_GET_IN_LHS;
+ animToPlay = ANIM_COACH_IN_L;
} else if (isLow) {
- animToPlay = ANIM_STD_CAR_GET_IN_LO_LHS;
+ animToPlay = ANIM_CAR_GETIN_LOW_LHS;
} else {
- animToPlay = ANIM_STD_CAR_GET_IN_LHS;
+ animToPlay = ANIM_CAR_GETIN_LHS;
}
ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, animToPlay);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimGetInCB, ped);
@@ -2451,9 +2451,9 @@ CPed::PedAnimDoorOpenCB(CAnimBlendAssociation* animAssoc, void* arg)
pedToDragOut = nil;
} else {
if (isLow)
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_PULL_OUT_PED_LO_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_PULLOUT_LOW_RHS);
else
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_PULL_OUT_PED_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_PULLOUT_RHS);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimPullPedOutCB, ped);
}
@@ -2468,9 +2468,9 @@ CPed::PedAnimDoorOpenCB(CAnimBlendAssociation* animAssoc, void* arg)
} else {
// BUG: Probably we will sit on top of the passenger if his m_ped_flagF4 is true.
if (isLow)
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_GET_IN_LO_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_GETIN_LOW_LHS);
else
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_GET_IN_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_GETIN_LHS);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimGetInCB, ped);
}
@@ -2483,17 +2483,17 @@ CPed::PedAnimDoorOpenCB(CAnimBlendAssociation* animAssoc, void* arg)
pedToDragOut = nil;
} else {
if (isLow)
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_PULL_OUT_PED_LO_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_PULLOUT_LOW_LHS);
else
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_PULL_OUT_PED_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_PULLOUT_LHS);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimPullPedOutCB, ped);
}
} else {
if (isLow)
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_GET_IN_LO_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_GETIN_LOW_LHS);
else
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_GET_IN_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_GETIN_LHS);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimGetInCB, ped);
}
@@ -2577,13 +2577,13 @@ CPed::PedAnimPullPedOutCB(CAnimBlendAssociation* animAssoc, void* arg)
AnimationId animToPlay;
if (ped->m_vehDoor != CAR_DOOR_LF && ped->m_vehDoor != CAR_DOOR_LR) {
if (isLow)
- animToPlay = ANIM_STD_CAR_GET_IN_LO_RHS;
+ animToPlay = ANIM_CAR_GETIN_LOW_RHS;
else
- animToPlay = ANIM_STD_CAR_GET_IN_RHS;
+ animToPlay = ANIM_CAR_GETIN_RHS;
} else if (isLow) {
- animToPlay = ANIM_STD_CAR_GET_IN_LO_LHS;
+ animToPlay = ANIM_CAR_GETIN_LOW_LHS;
} else {
- animToPlay = ANIM_STD_CAR_GET_IN_LHS;
+ animToPlay = ANIM_CAR_GETIN_LHS;
}
ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, animToPlay);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimGetInCB, ped);
@@ -2717,18 +2717,18 @@ CPed::PedAnimGetInCB(CAnimBlendAssociation *animAssoc, void *arg)
AnimationId animToPlay;
if (enterDoor != DOOR_FRONT_LEFT && enterDoor != DOOR_REAR_LEFT) {
if (isVan) {
- animToPlay = ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS;
+ animToPlay = ANIM_VAN_CLOSE;
} else if (isLow) {
- animToPlay = ANIM_STD_CAR_CLOSE_DOOR_LO_RHS;
+ animToPlay = ANIM_CAR_CLOSEDOOR_LOW_RHS;
} else {
- animToPlay = ANIM_STD_CAR_CLOSE_DOOR_RHS;
+ animToPlay = ANIM_CAR_CLOSEDOOR_RHS;
}
} else if (isVan) {
- animToPlay = ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS;
+ animToPlay = ANIM_VAN_CLOSE_L;
} else if (isLow) {
- animToPlay = ANIM_STD_CAR_CLOSE_DOOR_LO_LHS;
+ animToPlay = ANIM_CAR_CLOSEDOOR_LOW_LHS;
} else {
- animToPlay = ANIM_STD_CAR_CLOSE_DOOR_LHS;
+ animToPlay = ANIM_CAR_CLOSEDOOR_LHS;
}
ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, animToPlay);
ped->m_pVehicleAnim->SetFinishCallback(PedAnimDoorCloseCB, ped);
@@ -2749,7 +2749,7 @@ CPed::PedAnimDoorCloseCB(CAnimBlendAssociation *animAssoc, void *arg)
bool isLow = !!veh->bLowVehicle;
if (!veh->bIsBus)
- veh->ProcessOpenDoor(ped->m_vehDoor, ANIM_STD_CAR_CLOSE_DOOR_LHS, 1.0f);
+ veh->ProcessOpenDoor(ped->m_vehDoor, ANIM_CAR_CLOSEDOOR_LHS, 1.0f);
eDoors door;
switch (ped->m_vehDoor) {
@@ -2796,9 +2796,9 @@ CPed::PedAnimDoorCloseCB(CAnimBlendAssociation *animAssoc, void *arg)
animAssoc->blendDelta = -1000.0f;
if (isLow)
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SHUFFLE_LO_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_LSHUFFLE_RHS);
else
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SHUFFLE_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_SHUFFLE_RHS);
ped->m_pVehicleAnim->SetFinishCallback(PedSetInCarCB, ped);
}
@@ -2902,7 +2902,7 @@ CPed::PedAnimStepOutCarCB(CAnimBlendAssociation* animAssoc, void* arg)
veh->m_vecMoveSpeed += CVector(0.001f, 0.001f, 0.001f);
veh->m_vecTurnSpeed += CVector(0.001f, 0.001f, 0.001f);
if (!veh->bIsBus)
- veh->ProcessOpenDoor(ped->m_vehDoor, ANIM_STD_GETOUT_LHS, 1.0f);
+ veh->ProcessOpenDoor(ped->m_vehDoor, ANIM_CAR_GETOUT_LHS, 1.0f);
/*
// Duplicate and only in PC for some reason
@@ -2991,16 +2991,16 @@ CPed::PedAnimStepOutCarCB(CAnimBlendAssociation* animAssoc, void* arg)
} else {
switch (door) {
case DOOR_FRONT_LEFT:
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_CLOSE_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_CLOSE_LHS);
break;
case DOOR_FRONT_RIGHT:
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_CLOSE_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_CLOSE_RHS);
break;
case DOOR_REAR_LEFT:
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_CLOSE_LHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_CLOSE_LHS);
break;
case DOOR_REAR_RIGHT:
- ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_CLOSE_RHS);
+ ped->m_pVehicleAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_CAR_CLOSE_RHS);
break;
default:
break;
@@ -3026,19 +3026,19 @@ CPed::LineUpPedWithCar(PedLineUpPhase phase)
return;
if (!bChangedSeat && phase != LINE_UP_TO_CAR_2) {
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT)) {
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SIT)) {
SetPedPositionInCar();
return;
}
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT_LO)) {
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_LSIT)) {
SetPedPositionInCar();
return;
}
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT_P)) {
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SITP)) {
SetPedPositionInCar();
return;
}
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT_P_LO)) {
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SITPLO)) {
SetPedPositionInCar();
return;
}
@@ -3093,22 +3093,22 @@ CPed::LineUpPedWithCar(PedLineUpPhase phase)
vehAnim = m_pVehicleAnim->animId;
switch (vehAnim) {
- case ANIM_STD_JACKEDCAR_RHS:
- case ANIM_STD_JACKEDCAR_LO_RHS:
- case ANIM_STD_JACKEDCAR_LHS:
- case ANIM_STD_JACKEDCAR_LO_LHS:
- case ANIM_STD_VAN_GET_IN_REAR_LHS:
- case ANIM_STD_VAN_GET_IN_REAR_RHS:
+ case ANIM_CAR_JACKED_RHS:
+ case ANIM_CAR_LJACKED_RHS:
+ case ANIM_CAR_JACKED_LHS:
+ case ANIM_CAR_LJACKED_LHS:
+ case ANIM_VAN_GETIN_L:
+ case ANIM_VAN_GETIN:
#ifdef VC_PED_PORTS
multExtractedFromAnim = true;
zBlend = Max(m_pVehicleAnim->currentTime / m_pVehicleAnim->hierarchy->totalLength - 0.3f, 0.0f) / (1.0f - 0.3f);
// fall through
#endif
- case ANIM_STD_QUICKJACKED:
- case ANIM_STD_GETOUT_LHS:
- case ANIM_STD_GETOUT_LO_LHS:
- case ANIM_STD_GETOUT_RHS:
- case ANIM_STD_GETOUT_LO_RHS:
+ case ANIM_CAR_QJACKED:
+ case ANIM_CAR_GETOUT_LHS:
+ case ANIM_CAR_GETOUT_LOW_LHS:
+ case ANIM_CAR_GETOUT_RHS:
+ case ANIM_CAR_GETOUT_LOW_RHS:
#ifdef VC_PED_PORTS
if (!multExtractedFromAnim) {
multExtractedFromAnim = true;
@@ -3116,14 +3116,14 @@ CPed::LineUpPedWithCar(PedLineUpPhase phase)
}
// fall through
#endif
- case ANIM_STD_CRAWLOUT_LHS:
- case ANIM_STD_CRAWLOUT_RHS:
- case ANIM_STD_VAN_GET_OUT_REAR_LHS:
- case ANIM_STD_VAN_GET_OUT_REAR_RHS:
+ case ANIM_CAR_CRAWLOUT_RHS:
+ case ANIM_CAR_CRAWLOUT_RHS2:
+ case ANIM_VAN_GETOUT_L:
+ case ANIM_VAN_GETOUT:
seatPosMult = m_pVehicleAnim->currentTime / m_pVehicleAnim->hierarchy->totalLength;
break;
- case ANIM_STD_CAR_GET_IN_RHS:
- case ANIM_STD_CAR_GET_IN_LHS:
+ case ANIM_CAR_GETIN_RHS:
+ case ANIM_CAR_GETIN_LHS:
#ifdef VC_PED_PORTS
if (veh && veh->IsCar() && veh->bIsBus) {
multExtractedFromAnimBus = true;
@@ -3131,27 +3131,27 @@ CPed::LineUpPedWithCar(PedLineUpPhase phase)
}
// fall through
#endif
- case ANIM_STD_QUICKJACK:
- case ANIM_STD_CAR_GET_IN_LO_LHS:
- case ANIM_STD_CAR_GET_IN_LO_RHS:
- case ANIM_STD_BOAT_DRIVE:
+ case ANIM_CAR_QJACK:
+ case ANIM_CAR_GETIN_LOW_LHS:
+ case ANIM_CAR_GETIN_LOW_RHS:
+ case ANIM_DRIVE_BOAT:
seatPosMult = m_pVehicleAnim->GetTimeLeft() / m_pVehicleAnim->hierarchy->totalLength;
break;
- case ANIM_STD_CAR_CLOSE_DOOR_LHS:
- case ANIM_STD_CAR_CLOSE_DOOR_LO_LHS:
- case ANIM_STD_CAR_CLOSE_DOOR_RHS:
- case ANIM_STD_CAR_CLOSE_DOOR_LO_RHS:
- case ANIM_STD_CAR_SHUFFLE_RHS:
- case ANIM_STD_CAR_SHUFFLE_LO_RHS:
+ case ANIM_CAR_CLOSEDOOR_LHS:
+ case ANIM_CAR_CLOSEDOOR_LOW_LHS:
+ case ANIM_CAR_CLOSEDOOR_RHS:
+ case ANIM_CAR_CLOSEDOOR_LOW_RHS:
+ case ANIM_CAR_SHUFFLE_RHS:
+ case ANIM_CAR_LSHUFFLE_RHS:
seatPosMult = 0.0f;
break;
- case ANIM_STD_CAR_CLOSE_LHS:
- case ANIM_STD_CAR_CLOSE_RHS:
- case ANIM_STD_COACH_OPEN_LHS:
- case ANIM_STD_COACH_OPEN_RHS:
- case ANIM_STD_COACH_GET_IN_LHS:
- case ANIM_STD_COACH_GET_IN_RHS:
- case ANIM_STD_COACH_GET_OUT_LHS:
+ case ANIM_CAR_CLOSE_LHS:
+ case ANIM_CAR_CLOSE_RHS:
+ case ANIM_COACH_OPEN_L:
+ case ANIM_COACH_OPEN_R:
+ case ANIM_COACH_IN_L:
+ case ANIM_COACH_IN_R:
+ case ANIM_COACH_OUT_L:
seatPosMult = 1.0f;
break;
default:
@@ -3203,10 +3203,10 @@ CPed::LineUpPedWithCar(PedLineUpPhase phase)
} else {
#endif
currentZ = GetPosition().z;
- if (m_pVehicleAnim && vehAnim != ANIM_STD_VAN_GET_IN_REAR_LHS && vehAnim != ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS && vehAnim != ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS && vehAnim != ANIM_STD_VAN_GET_IN_REAR_RHS) {
+ if (m_pVehicleAnim && vehAnim != ANIM_VAN_GETIN_L && vehAnim != ANIM_VAN_CLOSE_L && vehAnim != ANIM_VAN_CLOSE && vehAnim != ANIM_VAN_GETIN) {
neededPos.z = autoZPos.z;
m_vecMoveSpeed = CVector(0.0f, 0.0f, 0.0f);
- } else if (neededPos.z < currentZ && m_pVehicleAnim && vehAnim != ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS && vehAnim != ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS) {
+ } else if (neededPos.z < currentZ && m_pVehicleAnim && vehAnim != ANIM_VAN_CLOSE_L && vehAnim != ANIM_VAN_CLOSE) {
adjustedTimeStep = Max(m_pVehicleAnim->timeStep, 0.1f);
// Smoothly change ped position
@@ -3227,8 +3227,8 @@ CPed::LineUpPedWithCar(PedLineUpPhase phase)
} else {
#endif
if (m_pVehicleAnim &&
- (vehAnim == ANIM_STD_CAR_GET_IN_RHS || vehAnim == ANIM_STD_CAR_GET_IN_LO_RHS || vehAnim == ANIM_STD_CAR_GET_IN_LHS || vehAnim == ANIM_STD_CAR_GET_IN_LO_LHS
- || vehAnim == ANIM_STD_QUICKJACK || vehAnim == ANIM_STD_VAN_GET_IN_REAR_LHS || vehAnim == ANIM_STD_VAN_GET_IN_REAR_RHS)) {
+ (vehAnim == ANIM_CAR_GETIN_RHS || vehAnim == ANIM_CAR_GETIN_LOW_RHS || vehAnim == ANIM_CAR_GETIN_LHS || vehAnim == ANIM_CAR_GETIN_LOW_LHS
+ || vehAnim == ANIM_CAR_QJACK || vehAnim == ANIM_VAN_GETIN_L || vehAnim == ANIM_VAN_GETIN)) {
adjustedTimeStep = Max(m_pVehicleAnim->timeStep, 0.1f);
// Smoothly change ped position
@@ -3358,9 +3358,9 @@ CPed::SetCarJack_AllClear(CVehicle *car, uint32 doorNode, uint32 doorFlag)
bUsesCollision = false;
if (m_vehDoor == CAR_DOOR_LF || m_vehDoor == CAR_DOOR_LR)
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, zDiff > 4.4f ? ANIM_STD_CAR_ALIGNHI_DOOR_LHS : ANIM_STD_CAR_ALIGN_DOOR_LHS, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, zDiff > 4.4f ? ANIM_CAR_ALIGNHI_LHS : ANIM_CAR_ALIGN_LHS, 4.0f);
else
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, zDiff > 4.4f ? ANIM_STD_CAR_ALIGNHI_DOOR_RHS : ANIM_STD_CAR_ALIGN_DOOR_RHS, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, zDiff > 4.4f ? ANIM_CAR_ALIGNHI_RHS : ANIM_CAR_ALIGN_RHS, 4.0f);
m_pVehicleAnim->SetFinishCallback(PedAnimAlignCB, this);
}
@@ -3408,14 +3408,14 @@ CPed::BeingDraggedFromCar(void)
PedLineUpPhase lineUpType;
if (!m_pVehicleAnim) {
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 100.0f);
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 100.0f);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SIT);
if (!animAssoc) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT_LO);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_LSIT);
if (!animAssoc) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT_P);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SITP);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_SIT_P_LO);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_SITPLO);
}
}
if (animAssoc)
@@ -3423,17 +3423,17 @@ CPed::BeingDraggedFromCar(void)
if (m_vehDoor == CAR_DOOR_LF || m_vehDoor == CAR_DOOR_LR) {
if (bWillBeQuickJacked) {
- enterAnim = ANIM_STD_QUICKJACKED;
+ enterAnim = ANIM_CAR_QJACKED;
} else if (m_pMyVehicle->bLowVehicle) {
- enterAnim = ANIM_STD_JACKEDCAR_LO_LHS;
+ enterAnim = ANIM_CAR_LJACKED_LHS;
} else {
- enterAnim = ANIM_STD_JACKEDCAR_LHS;
+ enterAnim = ANIM_CAR_JACKED_LHS;
}
} else if (m_vehDoor == CAR_DOOR_RF || m_vehDoor == CAR_DOOR_RR) {
if (m_pMyVehicle->bLowVehicle)
- enterAnim = ANIM_STD_JACKEDCAR_LO_RHS;
+ enterAnim = ANIM_CAR_LJACKED_RHS;
else
- enterAnim = ANIM_STD_JACKEDCAR_RHS;
+ enterAnim = ANIM_CAR_JACKED_RHS;
} else
dontRunAnim = true;
@@ -3454,7 +3454,7 @@ CPed::BeingDraggedFromCar(void)
#ifdef VC_PED_PORTS
if (m_objective == OBJECTIVE_LEAVE_CAR_AND_DIE) {
if (m_pMyVehicle) {
- m_pMyVehicle->ProcessOpenDoor(m_vehDoor, ANIM_STD_NUM, m_pVehicleAnim->currentTime * 5.0f);
+ m_pMyVehicle->ProcessOpenDoor(m_vehDoor, NUM_ANIMS, m_pVehicleAnim->currentTime * 5.0f);
}
}
#endif
@@ -3534,16 +3534,16 @@ CPed::SetEnterCar_AllClear(CVehicle *car, uint32 doorNode, uint32 doorFlag)
#ifdef VC_PED_PORTS
// VC checks for handling flag, but we can't do that
if(car->GetModelIndex() == MI_SPEEDER)
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT, 100.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_SIT, 100.0f);
else
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_BOAT_DRIVE, 100.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_DRIVE_BOAT, 100.0f);
PedSetInCarCB(nil, this);
bVehExitWillBeInstant = true;
#else
#ifndef FIX_BUGS
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_BOAT_DRIVE, 100.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_DRIVE_BOAT, 100.0f);
#else
m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, car->GetDriverAnim(), 100.0f);
#endif
@@ -3555,15 +3555,15 @@ CPed::SetEnterCar_AllClear(CVehicle *car, uint32 doorNode, uint32 doorFlag)
} else {
if (zDiff > 4.4f) {
if (m_vehDoor == CAR_DOOR_RF || m_vehDoor == CAR_DOOR_RR)
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_ALIGNHI_DOOR_RHS, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_ALIGNHI_RHS, 4.0f);
else
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_ALIGNHI_DOOR_LHS, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_ALIGNHI_LHS, 4.0f);
} else {
if (m_vehDoor == CAR_DOOR_RF || m_vehDoor == CAR_DOOR_RR)
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_ALIGN_DOOR_RHS, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_ALIGN_RHS, 4.0f);
else
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_ALIGN_DOOR_LHS, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_ALIGN_LHS, 4.0f);
}
m_pVehicleAnim->SetFinishCallback(PedAnimAlignCB, this);
car->AutoPilot.m_nCruiseSpeed = 0;
@@ -3588,7 +3588,7 @@ CPed::EnterCar(void)
LineUpPedWithCar(LINE_UP_TO_CAR_START);
} else {
QuitEnteringCar();
- SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
}
}
@@ -3601,8 +3601,8 @@ CPed::QuitEnteringCar(void)
RestartNonPartialAnims();
- if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE))
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 100.0f);
+ if (!RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE))
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 100.0f);
if (veh) {
if (m_objective == OBJECTIVE_ENTER_CAR_AS_DRIVER || m_nPedState == PED_CARJACK)
@@ -3677,9 +3677,9 @@ CPed::SetExitBoat(CVehicle *boat)
#ifndef VC_PED_PORTS
SetPedState(PED_IDLE);
CVector firstPos = GetPosition();
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 100.0f);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 100.0f);
if (boat->GetModelIndex() == MI_SPEEDER && boat->IsUpsideDown()) {
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CRAWLOUT_LHS, 8.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_CRAWLOUT_RHS, 8.0f);
m_pVehicleAnim->SetFinishCallback(PedSetOutCarCB, this);
m_vehDoor = CAR_DOOR_RF;
SetPedState(PED_EXIT_CAR);
@@ -3926,7 +3926,7 @@ CPed::SetExitCar(CVehicle *veh, uint32 wantedDoorNode)
if (m_pVehicleAnim && m_pVehicleAnim->flags & ASSOC_PARTIAL)
m_pVehicleAnim->blendDelta = -1000.0f;
SetMoveState(PEDMOVE_NONE);
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 100.0f);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 100.0f);
RemoveInCarAnims();
veh->AutoPilot.m_nCruiseSpeed = 0;
if (teleportNeeded) {
@@ -3966,12 +3966,12 @@ CPed::SetExitCar(CVehicle *veh, uint32 wantedDoorNode)
switch (m_vehDoor) {
case CAR_DOOR_RF:
if (veh->bIsBus) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_COACH_GET_OUT_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_COACH_OUT_L);
} else {
if (isLow)
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_LO_RHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_LOW_RHS);
else
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_RHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_RHS);
if (addDoorSmoke)
AddYardieDoorSmoke(veh, CAR_DOOR_RF);
@@ -3979,21 +3979,21 @@ CPed::SetExitCar(CVehicle *veh, uint32 wantedDoorNode)
break;
case CAR_DOOR_RR:
if (veh->bIsVan) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_VAN_GET_OUT_REAR_RHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_VAN_GETOUT);
} else if (isLow) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_LO_RHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_LOW_RHS);
} else {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_RHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_RHS);
}
break;
case CAR_DOOR_LF:
if (veh->bIsBus) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_COACH_GET_OUT_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_COACH_OUT_L);
} else {
if (isLow)
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_LO_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_LOW_LHS);
else
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_LHS);
if (addDoorSmoke)
AddYardieDoorSmoke(veh, CAR_DOOR_LF);
@@ -4001,11 +4001,11 @@ CPed::SetExitCar(CVehicle *veh, uint32 wantedDoorNode)
break;
case CAR_DOOR_LR:
if (veh->bIsVan) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_VAN_GET_OUT_REAR_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_VAN_GETOUT_L);
} else if (isLow) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_LO_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_LOW_LHS);
} else {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_GETOUT_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_GETOUT_LHS);
}
break;
default:
@@ -4032,9 +4032,9 @@ CPed::SetExitCar(CVehicle *veh, uint32 wantedDoorNode)
m_pVehicleAnim->SetFinishCallback(PedAnimStepOutCarCB, this);
} else {
if (m_vehDoor == CAR_DOOR_RF || m_vehDoor == CAR_DOOR_RR) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CRAWLOUT_RHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_CRAWLOUT_RHS2);
} else if (m_vehDoor == CAR_DOOR_LF || m_vehDoor == CAR_DOOR_LR) {
- m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CRAWLOUT_LHS);
+ m_pVehicleAnim = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_CRAWLOUT_RHS);
}
m_pVehicleAnim->SetFinishCallback(PedSetOutCarCB, this);
}
@@ -4067,7 +4067,7 @@ CPed::ExitCar(void)
if (m_pSeekTarget) {
// Car is upside down
if (m_pMyVehicle->GetUp().z > -0.8f) {
- if (exitAnim == ANIM_STD_CAR_CLOSE_RHS || exitAnim == ANIM_STD_CAR_CLOSE_LHS || animTime > 0.3f)
+ if (exitAnim == ANIM_CAR_CLOSE_RHS || exitAnim == ANIM_CAR_CLOSE_LHS || animTime > 0.3f)
LineUpPedWithCar(LINE_UP_TO_CAR_END);
else
LineUpPedWithCar((m_pMyVehicle->GetModelIndex() == MI_DODO ? LINE_UP_TO_CAR_END : LINE_UP_TO_CAR_START));
@@ -4086,7 +4086,7 @@ CPed::ExitCar(void)
}
}
if (foundPed && animTime > 0.4f && foundPed->IsPedInControl())
- foundPed->SetFall(1000, ANIM_STD_HIGHIMPACT_FRONT, 1);
+ foundPed->SetFall(1000, ANIM_KO_SKID_FRONT, 1);
}
}
@@ -4248,7 +4248,7 @@ CPed::SetAnimOffsetForEnterOrExitVehicle(void)
{
// FIX: If there were no translations on enter anims, there were overflows all over this function.
- CAnimBlendHierarchy *enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_STD_JACKEDCAR_LHS)->hierarchy;
+ CAnimBlendHierarchy *enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_CAR_JACKED_LHS)->hierarchy;
CAnimBlendSequence *seq = enterAssoc->sequences;
CAnimManager::UncompressAnimation(enterAssoc);
if (seq->numFrames > 0) {
@@ -4260,7 +4260,7 @@ CPed::SetAnimOffsetForEnterOrExitVehicle(void)
}
}
- enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_STD_CAR_GET_IN_LHS)->hierarchy;
+ enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_CAR_GETIN_LHS)->hierarchy;
seq = enterAssoc->sequences;
CAnimManager::UncompressAnimation(enterAssoc);
if (seq->numFrames > 0) {
@@ -4272,7 +4272,7 @@ CPed::SetAnimOffsetForEnterOrExitVehicle(void)
}
}
- enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_STD_CAR_GET_IN_LO_LHS)->hierarchy;
+ enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_CAR_GETIN_LOW_LHS)->hierarchy;
seq = enterAssoc->sequences;
CAnimManager::UncompressAnimation(enterAssoc);
if (seq->numFrames > 0) {
@@ -4284,7 +4284,7 @@ CPed::SetAnimOffsetForEnterOrExitVehicle(void)
}
}
- enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_STD_QUICKJACKED)->hierarchy;
+ enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_CAR_QJACKED)->hierarchy;
seq = enterAssoc->sequences;
CAnimManager::UncompressAnimation(enterAssoc);
if (seq->numFrames > 0) {
@@ -4296,7 +4296,7 @@ CPed::SetAnimOffsetForEnterOrExitVehicle(void)
}
}
- enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_STD_VAN_GET_IN_REAR_LHS)->hierarchy;
+ enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_VAN_GETIN_L)->hierarchy;
seq = enterAssoc->sequences;
CAnimManager::UncompressAnimation(enterAssoc);
if (seq->numFrames > 0) {
@@ -4308,7 +4308,7 @@ CPed::SetAnimOffsetForEnterOrExitVehicle(void)
}
}
- enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_STD_TRAIN_GETOUT)->hierarchy;
+ enterAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, ANIM_TRAIN_GETOUT)->hierarchy;
seq = enterAssoc->sequences;
CAnimManager::UncompressAnimation(enterAssoc);
if (seq->numFrames > 0) {
@@ -4614,7 +4614,7 @@ CPed::SetEnterTrain(CVehicle *train, uint32 unused)
m_pMyVehicle->RegisterReference((CEntity **) &m_pMyVehicle);
SetPedState(PED_ENTER_TRAIN);
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_TRAIN_GETIN, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_TRAIN_GETIN, 4.0f);
m_pVehicleAnim->SetFinishCallback(PedSetInTrainCB, this);
bUsesCollision = false;
LineUpPedWithTrain();
@@ -4688,7 +4688,7 @@ CPed::SetExitTrain(CVehicle* train)
GetNearestTrainPedPosition(train, exitPos);
*/
SetPedState(PED_EXIT_TRAIN);
- m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_TRAIN_GETOUT, 4.0f);
+ m_pVehicleAnim = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_TRAIN_GETOUT, 4.0f);
m_pVehicleAnim->SetFinishCallback(PedSetOutTrainCB, this);
bUsesCollision = false;
LineUpPedWithTrain();
@@ -5060,16 +5060,16 @@ CPed::SetDuck(uint32 time)
return;
if (bCrouchWhenShooting && (m_nPedState == PED_ATTACK || m_nPedState == PED_AIM_GUN)) {
- CAnimBlendAssociation *duckAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_DUCK_LOW);
+ CAnimBlendAssociation *duckAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DUCK_LOW);
if (!duckAssoc || duckAssoc->blendDelta < 0.0f) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_DUCK_LOW, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_DUCK_LOW, 4.0f);
bIsDucking = true;
m_duckTimer = CTimer::GetTimeInMilliseconds() + time;
}
} else {
- CAnimBlendAssociation *duckAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_DUCK_DOWN);
+ CAnimBlendAssociation *duckAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DUCK_DOWN);
if (!duckAssoc || duckAssoc->blendDelta < 0.0f) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_DUCK_DOWN, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_DUCK_DOWN, 4.0f);
bIsDucking = true;
m_duckTimer = CTimer::GetTimeInMilliseconds() + time;
}
@@ -5086,9 +5086,9 @@ CPed::Duck(void)
void
CPed::ClearDuck(void)
{
- CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_DUCK_DOWN);
+ CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DUCK_DOWN);
if (!animAssoc) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_DUCK_LOW);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DUCK_LOW);
if (!animAssoc) {
bIsDucking = false;
@@ -5102,9 +5102,9 @@ CPed::ClearDuck(void)
if (m_nPedState != PED_ATTACK && m_nPedState != PED_AIM_GUN)
return;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RBLOCK_SHOOT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RBLOCK_CSHOOT);
if (!animAssoc || animAssoc->blendDelta < 0.0f) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_RBLOCK_SHOOT, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_RBLOCK_CSHOOT, 4.0f);
}
}
@@ -5154,9 +5154,9 @@ CPed::PedAnimDoorCloseRollingCB(CAnimBlendAssociation* animAssoc, void* arg)
animAssoc->blendDelta = -1000.0f;
if (veh->bLowVehicle) {
- veh->ProcessOpenDoor(CAR_DOOR_LF, ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LO_LHS, 1.0f);
+ veh->ProcessOpenDoor(CAR_DOOR_LF, ANIM_CAR_ROLLDOOR_LOW, 1.0f);
} else {
- veh->ProcessOpenDoor(CAR_DOOR_LF, ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS, 1.0f);
+ veh->ProcessOpenDoor(CAR_DOOR_LF, ANIM_CAR_ROLLDOOR, 1.0f);
}
veh->m_nGettingOutFlags &= ~CAR_DOOR_FLAG_LF;
@@ -5235,40 +5235,40 @@ CPed::RemoveInCarAnims(void)
CAnimBlendAssociation *animAssoc;
if (m_pMyVehicle && m_pMyVehicle->bLowVehicle) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_LEFT_LO);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_LOW_L);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_RIGHT_LO);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_LOW_R);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVEBY_L);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVEBY_R);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
} else {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_LEFT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_L);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVE_RIGHT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_R);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVEBY_L);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVEBY_R);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
}
#ifdef VC_PED_PORTS
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_BOAT_DRIVE);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_DRIVE_BOAT);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
#endif
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_LOOKBEHIND);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_LB);
if (animAssoc)
animAssoc->blendDelta = -1000.0f;
}
diff --git a/src/peds/PedFight.cpp b/src/peds/PedFight.cpp
index c03d492a..8625f23e 100644
--- a/src/peds/PedFight.cpp
+++ b/src/peds/PedFight.cpp
@@ -29,30 +29,30 @@ RpClump *flyingClumpTemp;
// This is beta fistfite.dat array. Not used anymore since they're being fetched from fistfite.dat.
FightMove tFightMoves[NUM_FIGHTMOVES] = {
- {ANIM_STD_NUM, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_PUNCH, 0.2f, 8.0f / 30.0f, 0.0f, 0.3f, HITLEVEL_HIGH, 1, 0},
- {ANIM_STD_FIGHT_IDLE, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_FIGHT_SHUFFLE_F, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_FIGHT_KNEE, 4.0f / 30.0f, 0.2f, 0.0f, 0.6f, HITLEVEL_LOW, 2, 0},
- {ANIM_STD_FIGHT_HEAD, 4.0f / 30.0f, 0.2f, 0.0f, 0.7f, HITLEVEL_HIGH, 3, 0},
- {ANIM_STD_FIGHT_PUNCH, 4.0f / 30.0f, 7.0f / 30.0f, 10.0f / 30.0f, 0.4f, HITLEVEL_HIGH, 1, 0},
- {ANIM_STD_FIGHT_LHOOK, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.4f, HITLEVEL_HIGH, 3, 0},
- {ANIM_STD_FIGHT_KICK, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.5, HITLEVEL_MEDIUM, 2, 0},
- {ANIM_STD_FIGHT_LONGKICK, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.5, HITLEVEL_MEDIUM, 4, 0},
- {ANIM_STD_FIGHT_ROUNDHOUSE, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.6f, HITLEVEL_MEDIUM, 4, 0},
- {ANIM_STD_FIGHT_BODYBLOW, 5.0f / 30.0f, 7.0f / 30.0f, 0.0f, 0.35f, HITLEVEL_LOW, 2, 0},
- {ANIM_STD_KICKGROUND, 10.0f / 30.0f, 14.0f / 30.0f, 0.0f, 0.4f, HITLEVEL_GROUND, 1, 0},
- {ANIM_STD_HIT_FRONT, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_BACK, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_RIGHT, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_LEFT, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_BODYBLOW, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_CHEST, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_WALK, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_FLOOR, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_HIT_BEHIND, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
- {ANIM_STD_FIGHT_2IDLE, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {NUM_ANIMS, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_PUNCH_R, 0.2f, 8.0f / 30.0f, 0.0f, 0.3f, HITLEVEL_HIGH, 1, 0},
+ {ANIM_FIGHT_IDLE, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_FIGHT_SH_F, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_FIGHT_KNEE, 4.0f / 30.0f, 0.2f, 0.0f, 0.6f, HITLEVEL_LOW, 2, 0},
+ {ANIM_FIGHT_HEAD, 4.0f / 30.0f, 0.2f, 0.0f, 0.7f, HITLEVEL_HIGH, 3, 0},
+ {ANIM_FIGHT_PUNCH, 4.0f / 30.0f, 7.0f / 30.0f, 10.0f / 30.0f, 0.4f, HITLEVEL_HIGH, 1, 0},
+ {ANIM_FIGHT_LHOOK, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.4f, HITLEVEL_HIGH, 3, 0},
+ {ANIM_FIGHT_KICK, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.5, HITLEVEL_MEDIUM, 2, 0},
+ {ANIM_FIGHT_LONGKICK, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.5, HITLEVEL_MEDIUM, 4, 0},
+ {ANIM_FIGHT_ROUNDHOUSE, 8.0f / 30.0f, 10.0f / 30.0f, 0.0f, 0.6f, HITLEVEL_MEDIUM, 4, 0},
+ {ANIM_FIGHT_BODYBLOW, 5.0f / 30.0f, 7.0f / 30.0f, 0.0f, 0.35f, HITLEVEL_LOW, 2, 0},
+ {ANIM_KICK_FLOOR, 10.0f / 30.0f, 14.0f / 30.0f, 0.0f, 0.4f, HITLEVEL_GROUND, 1, 0},
+ {ANIM_HIT_FRONT, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_BACK, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_RIGHT, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_LEFT, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_BODYBLOW, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_CHEST, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_WALK, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_FLOOR_HIT, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_HIT_BEHIND, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
+ {ANIM_FIGHT2_IDLE, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0},
};
static PedOnGroundState
@@ -247,7 +247,7 @@ CPed::SetAttack(CEntity *victim)
if (victim && victim->IsPed())
victimPed = (CPed*)victim;
- CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_BIGGUN);
+ CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_ARMED);
if (animAssoc) {
animAssoc->blendDelta = -1000.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -256,12 +256,12 @@ CPed::SetAttack(CEntity *victim)
if (m_attackTimer > CTimer::GetTimeInMilliseconds() || m_nWaitState == WAITSTATE_SURPRISE)
return;
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_HGUN_RELOAD)) {
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_HGUN_RELOAD)) {
bIsAttacking = false;
return;
}
- if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_AK_RELOAD)) {
+ if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_AK_RELOAD)) {
if (!IsPlayer() || m_nPedState != PED_ATTACK || ((CPlayerPed*)this)->m_bHaveTargetSelected)
bIsAttacking = false;
else
@@ -351,7 +351,7 @@ CPed::SetAttack(CEntity *victim)
SetPedState(PED_ATTACK);
SetMoveState(PEDMOVE_NONE);
if (bCrouchWhenShooting) {
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_RBLOCK_SHOOT, 4.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_RBLOCK_CSHOOT, 4.0f);
} else {
float animDelta = 8.0f;
if (curWeapon->m_eWeaponFire == WEAPON_FIRE_MELEE)
@@ -418,7 +418,7 @@ CPed::ClearAttackByRemovingAnim(void)
weaponAssoc = RpAnimBlendClumpGetAssociation(GetClump(), weapon->m_Anim2ToPlay);
if (!weaponAssoc && weapon->IsFlagSet(WEAPONFLAG_THROW))
- weaponAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_THROW_UNDER);
+ weaponAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_WEAPON_THROWU);
if (!weaponAssoc) {
ClearAttack();
@@ -440,27 +440,27 @@ CPed::FinishedAttackCB(CAnimBlendAssociation *attackAssoc, void *arg)
if (attackAssoc) {
switch (attackAssoc->animId) {
- case ANIM_STD_START_THROW:
+ case ANIM_WEAPON_START_THROW:
// what?!
if ((!ped->IsPlayer() || ((CPlayerPed*)ped)->m_bHaveTargetSelected) && ped->IsPlayer()) {
attackAssoc->blendDelta = -1000.0f;
- newAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_THROW_UNDER);
+ newAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_WEAPON_THROWU);
} else {
attackAssoc->blendDelta = -1000.0f;
- newAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_STD_WEAPON_THROW);
+ newAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_WEAPON_THROW);
}
newAnim->SetFinishCallback(FinishedAttackCB, ped);
return;
- case ANIM_STD_PARTIAL_PUNCH:
+ case ANIM_FIGHT_PPUNCH:
attackAssoc->blendDelta = -8.0f;
attackAssoc->flags |= ASSOC_DELETEFADEDOUT;
ped->ClearAttack();
return;
- case ANIM_STD_WEAPON_THROW:
- case ANIM_STD_THROW_UNDER:
+ case ANIM_WEAPON_THROW:
+ case ANIM_WEAPON_THROWU:
if (ped->GetWeapon()->m_nAmmoTotal > 0) {
currentWeapon = CWeaponInfo::GetWeaponInfo(ped->GetWeapon()->m_eWeaponType);
ped->AddWeaponModel(currentWeapon->m_nModelId);
@@ -535,16 +535,16 @@ CPed::Attack(void)
weaponAnimAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ourWeapon->m_AnimToPlay);
attackShouldContinue = bIsAttacking;
reloadAnimAssoc = nil;
- reloadAnim = ANIM_STD_NUM;
+ reloadAnim = NUM_ANIMS;
delayBetweenAnimAndFire = ourWeapon->m_fAnimFrameFire;
weaponAnim = ourWeapon->m_AnimToPlay;
- if (weaponAnim == ANIM_STD_WEAPON_HGUN_BODY)
- reloadAnim = ANIM_STD_HGUN_RELOAD;
- else if (weaponAnim == ANIM_STD_WEAPON_AK_BODY)
- reloadAnim = ANIM_STD_AK_RELOAD;
+ if (weaponAnim == ANIM_WEAPON_HGUN_BODY)
+ reloadAnim = ANIM_HGUN_RELOAD;
+ else if (weaponAnim == ANIM_WEAPON_AK_BODY)
+ reloadAnim = ANIM_AK_RELOAD;
- if (reloadAnim != ANIM_STD_NUM)
+ if (reloadAnim != NUM_ANIMS)
reloadAnimAssoc = RpAnimBlendClumpGetAssociation(GetClump(), reloadAnim);
if (bIsDucking)
@@ -566,7 +566,7 @@ CPed::Attack(void)
// Long throw granade, molotov
if (!weaponAnimAssoc && ourWeapon->IsFlagSet(WEAPONFLAG_THROW)) {
- weaponAnimAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_THROW_UNDER);
+ weaponAnimAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_WEAPON_THROWU);
delayBetweenAnimAndFire = 0.2f;
}
@@ -619,7 +619,7 @@ CPed::Attack(void)
firePos = GetMatrix() * firePos;
} else if (GetWeapon()->m_eWeaponType != WEAPONTYPE_UNARMED) {
- TransformToNode(firePos, weaponAnimAssoc->animId == ANIM_STD_KICKGROUND ? PED_FOOTR : PED_HANDR);
+ TransformToNode(firePos, weaponAnimAssoc->animId == ANIM_KICK_FLOOR ? PED_FOOTR : PED_HANDR);
} else {
firePos = GetMatrix() * firePos;
}
@@ -636,7 +636,7 @@ CPed::Attack(void)
if (GetWeapon()->m_eWeaponState != WEAPONSTATE_MELEE_MADECONTACT) {
// If reloading just began, start the animation
// Last condition will always return true, even IDA hides it
- if (GetWeapon()->m_eWeaponState == WEAPONSTATE_RELOADING && reloadAnim != ANIM_STD_NUM /* && !reloadAnimAssoc*/) {
+ if (GetWeapon()->m_eWeaponState == WEAPONSTATE_RELOADING && reloadAnim != NUM_ANIMS /* && !reloadAnimAssoc*/) {
CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, reloadAnim, 8.0f);
ClearLookFlag();
ClearAimFlag();
@@ -646,9 +646,9 @@ CPed::Attack(void)
return;
}
} else {
- if (weaponAnimAssoc->animId == ANIM_STD_WEAPON_BAT_V || weaponAnimAssoc->animId == ANIM_STD_WEAPON_BAT_H) {
+ if (weaponAnimAssoc->animId == ANIM_WEAPON_BAT_V || weaponAnimAssoc->animId == ANIM_WEAPON_BAT_H) {
DMAudio.PlayOneShot(m_audioEntityId, SOUND_WEAPON_BAT_ATTACK, 1.0f);
- } else if (weaponAnimAssoc->animId == ANIM_STD_PARTIAL_PUNCH) {
+ } else if (weaponAnimAssoc->animId == ANIM_FIGHT_PPUNCH) {
DMAudio.PlayOneShot(m_audioEntityId, SOUND_FIGHT_PUNCH_39, 0.0f);
}
@@ -712,7 +712,7 @@ CPed::Attack(void)
weaponAnim = weaponAnimAssoc->animId;
if (ourWeapon->m_eWeaponFire != WEAPON_FIRE_MELEE || CheckForPedsOnGroundToAttack(this, nil) < PED_ON_THE_FLOOR) {
- if (weaponAnim != ourWeapon->m_Anim2ToPlay || weaponAnim == ANIM_STD_RBLOCK_SHOOT) {
+ if (weaponAnim != ourWeapon->m_Anim2ToPlay || weaponAnim == ANIM_RBLOCK_CSHOOT) {
weaponAnimAssoc->Start(ourWeapon->m_fAnimLoopStart);
} else {
CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ourWeapon->m_AnimToPlay, 8.0f);
@@ -785,16 +785,16 @@ CPed::StartFightAttack(uint8 buttonPressure)
SetPedState(PED_FIGHT);
m_fightButtonPressure = 0;
RpAnimBlendClumpRemoveAssociations(GetClump(), ASSOC_REPEAT);
- CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_STARTWALK);
+ CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_WALK_START);
if (animAssoc) {
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
animAssoc->blendDelta = -1000.0f;
}
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP1);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP2);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP_R);
if (animAssoc) {
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -805,7 +805,7 @@ CPed::StartFightAttack(uint8 buttonPressure)
SetMoveState(PEDMOVE_NONE);
m_nStoredMoveState = PEDMOVE_NONE;
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FIGHT_IDLE)->blendAmount = 1.0f;
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_FIGHT_IDLE)->blendAmount = 1.0f;
CPed *pedOnGround = nil;
if (IsPlayer() && CheckForPedsOnGroundToAttack(this, &pedOnGround) > PED_IN_FRONT_OF_ATTACKER) {
@@ -845,7 +845,7 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
if (hitLevel == HITLEVEL_GROUND) {
CAnimBlendAssociation *floorHitAssoc;
if (RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_FRONTAL)) {
- floorHitAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_FLOOR_FRONT, 8.0f);
+ floorHitAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FLOOR_HIT_F, 8.0f);
} else {
floorHitAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, tFightMoves[FIGHTMOVE_HITONFLOOR].animId, 8.0f);
}
@@ -867,8 +867,8 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
} else if (m_nPedState == PED_FALL) {
if (hitLevel == HITLEVEL_GROUND && !IsPedHeadAbovePos(-0.3f)) {
CAnimBlendAssociation *floorHitAssoc = RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_FRONTAL) ?
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_FLOOR_FRONT, 8.0f) :
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_FLOOR, 8.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FLOOR_HIT_F, 8.0f) :
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FLOOR_HIT, 8.0f);
if (floorHitAssoc) {
floorHitAssoc->flags &= ~ASSOC_FADEOUTWHENDONE;
floorHitAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -887,16 +887,16 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
AnimationId shotAnim;
switch (direction) {
case 1:
- shotAnim = ANIM_STD_HITBYGUN_LEFT;
+ shotAnim = ANIM_SHOT_LEFT_PARTIAL;
break;
case 2:
- shotAnim = ANIM_STD_HITBYGUN_BACK;
+ shotAnim = ANIM_SHOT_BACK_PARTIAL;
break;
case 3:
- shotAnim = ANIM_STD_HITBYGUN_RIGHT;
+ shotAnim = ANIM_SHOT_RIGHT_PARTIAL;
break;
default:
- shotAnim = ANIM_STD_HITBYGUN_FRONT;
+ shotAnim = ANIM_SHOT_FRONT_PARTIAL;
break;
}
CAnimBlendAssociation *shotAssoc = RpAnimBlendClumpGetAssociation(GetClump(), shotAnim);
@@ -914,16 +914,16 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
#ifndef VC_PED_PORTS
switch (direction) {
case 1:
- SetFall(500, ANIM_STD_HIGHIMPACT_LEFT, false);
+ SetFall(500, ANIM_KO_SPIN_R, false);
break;
case 2:
- SetFall(500, ANIM_STD_HIGHIMPACT_BACK, false);
+ SetFall(500, ANIM_KO_SKID_BACK, false);
break;
case 3:
- SetFall(500, ANIM_STD_HIGHIMPACT_RIGHT, false);
+ SetFall(500, ANIM_KO_SPIN_L, false);
break;
default:
- SetFall(500, ANIM_STD_KO_SHOT_STOMACH, false);
+ SetFall(500, ANIM_KO_SHOT_STOM, false);
break;
}
#else
@@ -931,30 +931,30 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
AnimationId hitAnim;
switch (direction) {
case 1:
- hitAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ hitAnim = ANIM_KO_SPIN_R;
break;
case 2:
if (CGeneral::GetRandomNumber() & 1) {
fall = false;
- hitAnim = ANIM_STD_HIT_BACK;
+ hitAnim = ANIM_HIT_BACK;
} else {
- hitAnim = ANIM_STD_HIGHIMPACT_BACK;
+ hitAnim = ANIM_KO_SKID_BACK;
}
break;
case 3:
- hitAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ hitAnim = ANIM_KO_SPIN_L;
break;
default:
if (hitLevel == HITLEVEL_LOW) {
- hitAnim = ANIM_STD_KO_SHOT_STOMACH;
+ hitAnim = ANIM_KO_SHOT_STOM;
} else if (CGeneral::GetRandomNumber() & 1) {
fall = false;
- hitAnim = ANIM_STD_HIT_WALK;
+ hitAnim = ANIM_HIT_WALK;
} else if (CGeneral::GetRandomNumber() & 1) {
fall = false;
- hitAnim = ANIM_STD_HIT_HEAD;
+ hitAnim = ANIM_HIT_HEAD;
} else {
- hitAnim = ANIM_STD_KO_SHOT_FACE;
+ hitAnim = ANIM_KO_SHOT_FACE;
}
break;
}
@@ -981,15 +981,15 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
case HITLEVEL_LOW:
#ifndef VC_PED_PORTS
if (direction == 2) {
- SetFall(1000, ANIM_STD_HIGHIMPACT_BACK, false);
+ SetFall(1000, ANIM_KO_SKID_BACK, false);
return;
}
#else
if (direction == 2 && (!IsPlayer() || ((CGeneral::GetRandomNumber() & 1) && m_fHealth < 30.0f))) {
- SetFall(1000, ANIM_STD_HIGHIMPACT_BACK, false);
+ SetFall(1000, ANIM_KO_SKID_BACK, false);
return;
} else if (direction != 2 && !IsPlayer() && (CGeneral::GetRandomNumber() & 1) && m_fHealth < 30.0f) {
- SetFall(1000, ANIM_STD_KO_SHOT_STOMACH, false);
+ SetFall(1000, ANIM_KO_SHOT_STOM, false);
return;
}
#endif
@@ -1061,14 +1061,14 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
SetPedState(PED_FIGHT);
m_fightButtonPressure = 0;
RpAnimBlendClumpRemoveAssociations(GetClump(), ASSOC_REPEAT);
- CAnimBlendAssociation *walkStartAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_STARTWALK);
+ CAnimBlendAssociation *walkStartAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_WALK_START);
if (walkStartAssoc) {
walkStartAssoc->flags |= ASSOC_DELETEFADEDOUT;
walkStartAssoc->blendDelta = -1000.0f;
}
- CAnimBlendAssociation *walkStopAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP1);
+ CAnimBlendAssociation *walkStopAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP);
if (!walkStopAssoc)
- walkStopAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP2);
+ walkStopAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP_R);
if (walkStopAssoc) {
walkStopAssoc->flags |= ASSOC_DELETEFADEDOUT;
walkStopAssoc->blendDelta = -1000.0f;
@@ -1076,7 +1076,7 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
}
SetMoveState(PEDMOVE_NONE);
m_nStoredMoveState = PEDMOVE_NONE;
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FIGHT_IDLE)->blendAmount = 1.0f;
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_FIGHT_IDLE)->blendAmount = 1.0f;
CAnimBlendAssociation *moveAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, tFightMoves[m_curFightMove].animId, 8.0f);
moveAssoc->SetFinishCallback(FinishFightMoveCB, this);
m_fightState = FIGHTSTATE_NO_MOVE;
@@ -1445,22 +1445,22 @@ CPed::EndFight(uint8 endType)
m_curFightMove = FIGHTMOVE_NULL;
RestorePreviousState();
- CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FIGHT_IDLE);
+ CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FIGHT_IDLE);
if (animAssoc)
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
switch (endType) {
case ENDFIGHT_NORMAL:
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 8.0f);
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FIGHT_2IDLE, 8.0f);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 8.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FIGHT2_IDLE, 8.0f);
break;
case ENDFIGHT_WITH_A_STEP:
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 1.0f);
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_STARTWALK, 8.0f);
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 1.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_WALK_START, 8.0f);
break;
case ENDFIGHT_FAST:
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 8.0f);
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_FIGHT_2IDLE, 8.0f)->speed = 2.0f;
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 8.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FIGHT2_IDLE, 8.0f)->speed = 2.0f;
break;
default:
break;
@@ -1656,7 +1656,7 @@ CPed::FightStrike(CVector &touchedNodePos)
|| GetWeapon()->m_eWeaponType != WEAPONTYPE_UNARMED && IsPlayer()
|| nearPed->m_pedStats->m_flags & STAT_ONE_HIT_KNOCKDOWN)) {
- nearPed->SetFall(0, (AnimationId)(direction + ANIM_STD_HIGHIMPACT_FRONT), 0);
+ nearPed->SetFall(0, (AnimationId)(direction + ANIM_KO_SKID_FRONT), 0);
if (nearPed->m_nPedState == PED_FALL)
nearPed->bIsStanding = false;
}
@@ -1778,7 +1778,7 @@ CPed::LoadFightData(void)
animAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, animName);
tFightMoves[moveId].animId = (AnimationId)animAssoc->animId;
} else {
- tFightMoves[moveId].animId = ANIM_STD_WALK;
+ tFightMoves[moveId].animId = ANIM_WALK;
}
moveId++;
}
@@ -1802,7 +1802,7 @@ CPed::SetInvestigateEvent(eEventType event, CVector2D pos, float distanceToCount
if (m_eventType >= EVENT_ICECREAM)
m_lookTimer = 0;
else
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_HANDSCOWER, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_HANDSCOWER, 4.0f);
}
@@ -1842,7 +1842,7 @@ CPed::InvestigateEvent(void)
case EVENT_HIT_AND_RUN_COP:
if (CTimer::GetTimeInMilliseconds() > m_lookTimer) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_ROADCROSS);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_ROAD_CROSS);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
@@ -1854,7 +1854,7 @@ CPed::InvestigateEvent(void)
} else if (CGeneral::GetRandomNumber() & 3) {
ClearLookFlag();
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_ROADCROSS, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_ROAD_CROSS, 4.0f);
SetLookTimer(CGeneral::GetRandomNumberInRange(1000, 2500));
Say(SOUND_PED_CHAT_EVENT);
@@ -1868,16 +1868,16 @@ CPed::InvestigateEvent(void)
case EVENT_EXPLOSION:
if (bHasACamera && CTimer::GetTimeInMilliseconds() > m_lookTimer) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_CAM);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_CAM);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE);
- if (animAssoc && animAssoc->animId == ANIM_STD_IDLE_CAM) {
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 4.0f);
+ if (animAssoc && animAssoc->animId == ANIM_IDLE_CAM) {
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 4.0f);
SetLookTimer(CGeneral::GetRandomNumberInRange(1000, 2500));
} else if (CGeneral::GetRandomNumber() & 3) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_CAM, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_CAM, 4.0f);
SetLookTimer(CGeneral::GetRandomNumberInRange(2500, 5000));
Say(SOUND_PED_CHAT_EVENT);
@@ -1886,30 +1886,30 @@ CPed::InvestigateEvent(void)
}
} else if (CTimer::GetTimeInMilliseconds() > m_lookTimer) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_HBHB);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_HBHB);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_XPRESS_SCRATCH);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_XPRESS_SCRATCH);
- if (animAssoc && animAssoc->animId == ANIM_STD_IDLE) {
+ if (animAssoc && animAssoc->animId == ANIM_IDLE_STANCE) {
if (CGeneral::GetRandomNumber() & 1)
- animToPlay = ANIM_STD_IDLE_HBHB;
+ animToPlay = ANIM_IDLE_HBHB;
else
- animToPlay = ANIM_STD_XPRESS_SCRATCH;
+ animToPlay = ANIM_XPRESS_SCRATCH;
CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, animToPlay, 4.0f);
SetLookTimer(CGeneral::GetRandomNumberInRange(1500, 4000));
- } else if (animAssoc && animAssoc->animId == ANIM_STD_IDLE_HBHB) {
+ } else if (animAssoc && animAssoc->animId == ANIM_IDLE_HBHB) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
if (CGeneral::GetRandomNumber() & 1) {
- animToPlay = ANIM_STD_IDLE;
+ animToPlay = ANIM_IDLE_STANCE;
animGroup = m_animGroup;
} else {
- animToPlay = ANIM_STD_XPRESS_SCRATCH;
+ animToPlay = ANIM_XPRESS_SCRATCH;
animGroup = ASSOCGRP_STD;
}
@@ -1918,10 +1918,10 @@ CPed::InvestigateEvent(void)
} else {
if (CGeneral::GetRandomNumber() & 1) {
- animToPlay = ANIM_STD_IDLE;
+ animToPlay = ANIM_IDLE_STANCE;
animGroup = m_animGroup;
} else {
- animToPlay = ANIM_STD_IDLE_HBHB;
+ animToPlay = ANIM_IDLE_HBHB;
animGroup = ASSOCGRP_STD;
}
@@ -1938,26 +1938,26 @@ CPed::InvestigateEvent(void)
if (CTimer::GetTimeInMilliseconds() > m_lookTimer) {
if (m_lookTimer) {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_ROADCROSS);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_ROAD_CROSS);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
if (m_eventType == EVENT_ICECREAM)
- animToPlay = ANIM_STD_CHAT;
+ animToPlay = ANIM_IDLE_CHAT;
else
- animToPlay = ANIM_STD_XPRESS_SCRATCH;
+ animToPlay = ANIM_XPRESS_SCRATCH;
CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, animToPlay,4.0f);
SetLookTimer(CGeneral::GetRandomNumberInRange(2000, 5000));
} else {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CHAT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_CHAT);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
ClearInvestigateEvent();
} else {
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_XPRESS_SCRATCH);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_XPRESS_SCRATCH);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -1966,7 +1966,7 @@ CPed::InvestigateEvent(void)
}
}
} else {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_ROADCROSS, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_ROAD_CROSS, 4.0f);
SetLookTimer(CGeneral::GetRandomNumberInRange(1000, 2500));
}
}
@@ -2009,13 +2009,13 @@ CPed::InvestigateEvent(void)
void
CPed::ClearInvestigateEvent(void)
{
- CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_ROADCROSS);
+ CAnimBlendAssociation *animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_ROAD_CROSS);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_XPRESS_SCRATCH);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_XPRESS_SCRATCH);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_HBHB);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_HBHB);
if (!animAssoc)
- animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CHAT);
+ animAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_CHAT);
if (animAssoc) {
animAssoc->blendDelta = -8.0f;
animAssoc->flags |= ASSOC_DELETEFADEDOUT;
@@ -2037,7 +2037,7 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
CPlayerPed *player = FindPlayerPed();
float dieDelta = 4.0f;
float dieSpeed = 0.0f;
- AnimationId dieAnim = ANIM_STD_KO_FRONT;
+ AnimationId dieAnim = ANIM_KO_SHOT_FRONT1;
bool headShot = false;
bool willLinger = false;
int random;
@@ -2069,14 +2069,14 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
if (m_nPedState == PED_FALL || m_nPedState == PED_GETUP) {
if (!IsPedHeadAbovePos(-0.3f)) {
if (RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_FRONTAL))
- dieAnim = ANIM_STD_HIT_FLOOR_FRONT;
+ dieAnim = ANIM_FLOOR_HIT_F;
else
- dieAnim = ANIM_STD_HIT_FLOOR;
+ dieAnim = ANIM_FLOOR_HIT;
dieDelta *= 2.0f;
dieSpeed = 0.5f;
detectDieAnim = false;
} else if (m_nPedState == PED_FALL) {
- dieAnim = ANIM_STD_NUM;
+ dieAnim = NUM_ANIMS;
detectDieAnim = false;
}
}
@@ -2088,28 +2088,28 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
if (m_nPedState == PED_FALL) {
if (IsPedHeadAbovePos(-0.3f)) {
- dieAnim = ANIM_STD_NUM;
+ dieAnim = NUM_ANIMS;
} else {
if (RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_FRONTAL))
- dieAnim = ANIM_STD_HIT_FLOOR_FRONT;
+ dieAnim = ANIM_FLOOR_HIT_F;
else
- dieAnim = ANIM_STD_HIT_FLOOR;
+ dieAnim = ANIM_FLOOR_HIT;
dieDelta = dieDelta * 2.0f;
dieSpeed = 0.5f;
}
} else {
switch (direction) {
case 0:
- dieAnim = ANIM_STD_HIGHIMPACT_FRONT;
+ dieAnim = ANIM_KO_SKID_FRONT;
break;
case 1:
- dieAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ dieAnim = ANIM_KO_SPIN_R;
break;
case 2:
- dieAnim = ANIM_STD_HIGHIMPACT_BACK;
+ dieAnim = ANIM_KO_SKID_BACK;
break;
case 3:
- dieAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ dieAnim = ANIM_KO_SPIN_L;
break;
default:
break;
@@ -2122,28 +2122,28 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
if (m_nPedState == PED_FALL) {
if (IsPedHeadAbovePos(-0.3f)) {
- dieAnim = ANIM_STD_NUM;
+ dieAnim = NUM_ANIMS;
} else {
if (RpAnimBlendClumpGetFirstAssociation(GetClump(), ASSOC_FRONTAL))
- dieAnim = ANIM_STD_HIT_FLOOR_FRONT;
+ dieAnim = ANIM_FLOOR_HIT_F;
else
- dieAnim = ANIM_STD_HIT_FLOOR;
+ dieAnim = ANIM_FLOOR_HIT;
dieDelta = dieDelta * 2.0f;
dieSpeed = 0.5f;
}
} else {
switch (direction) {
case 0:
- dieAnim = ANIM_STD_HIGHIMPACT_FRONT;
+ dieAnim = ANIM_KO_SKID_FRONT;
break;
case 1:
- dieAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ dieAnim = ANIM_KO_SPIN_R;
break;
case 2:
- dieAnim = ANIM_STD_HIGHIMPACT_BACK;
+ dieAnim = ANIM_KO_SKID_BACK;
break;
case 3:
- dieAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ dieAnim = ANIM_KO_SPIN_L;
break;
default:
break;
@@ -2183,56 +2183,56 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
if (method == WEAPONTYPE_SHOTGUN) {
switch (direction) {
case 0:
- dieAnim = ANIM_STD_HIGHIMPACT_FRONT;
+ dieAnim = ANIM_KO_SKID_FRONT;
break;
case 1:
- dieAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ dieAnim = ANIM_KO_SPIN_R;
break;
case 2:
- dieAnim = ANIM_STD_HIGHIMPACT_BACK;
+ dieAnim = ANIM_KO_SKID_BACK;
break;
case 3:
- dieAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ dieAnim = ANIM_KO_SPIN_L;
break;
default:
break;
}
} else
- dieAnim = ANIM_STD_KO_FRONT;
+ dieAnim = ANIM_KO_SHOT_FRONT1;
willLinger = false;
} else {
switch (pedPiece) {
case PEDPIECE_TORSO:
willLinger = false;
- dieAnim = ANIM_STD_KO_FRONT;
+ dieAnim = ANIM_KO_SHOT_FRONT1;
break;
case PEDPIECE_MID:
willLinger = false;
- dieAnim = ANIM_STD_KO_SHOT_STOMACH;
+ dieAnim = ANIM_KO_SHOT_STOM;
break;
case PEDPIECE_LEFTARM:
- dieAnim = ANIM_STD_KO_SHOT_ARM_L;
+ dieAnim = ANIM_KO_SHOT_ARML;
RemoveBodyPart(PED_UPPERARML, direction);
willLinger = true;
break;
case PEDPIECE_RIGHTARM:
- dieAnim = ANIM_STD_KO_SHOT_ARM_R;
+ dieAnim = ANIM_KO_SHOT_ARMR;
RemoveBodyPart(PED_UPPERARMR, direction);
willLinger = true;
break;
case PEDPIECE_LEFTLEG:
- dieAnim = ANIM_STD_KO_SHOT_LEG_L;
+ dieAnim = ANIM_KO_SHOT_LEGL;
RemoveBodyPart(PED_UPPERLEGL, direction);
willLinger = true;
break;
case PEDPIECE_RIGHTLEG:
- dieAnim = ANIM_STD_KO_SHOT_LEG_R;
+ dieAnim = ANIM_KO_SHOT_LEGR;
RemoveBodyPart(PED_UPPERLEGR, direction);
willLinger = true;
break;
case PEDPIECE_HEAD:
- dieAnim = ANIM_STD_KO_SHOT_FACE;
+ dieAnim = ANIM_KO_SHOT_FACE;
RemoveBodyPart(PED_HEAD, direction);
headShot = true;
willLinger = true;
@@ -2272,16 +2272,16 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
switch (direction) {
case 0:
- dieAnim = ANIM_STD_HIGHIMPACT_FRONT;
+ dieAnim = ANIM_KO_SKID_FRONT;
break;
case 1:
- dieAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ dieAnim = ANIM_KO_SPIN_R;
break;
case 2:
- dieAnim = ANIM_STD_HIGHIMPACT_BACK;
+ dieAnim = ANIM_KO_SKID_BACK;
break;
case 3:
- dieAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ dieAnim = ANIM_KO_SPIN_L;
break;
default:
break;
@@ -2291,7 +2291,7 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
if (bFireProof)
return false;
- dieAnim = ANIM_STD_KO_FRONT;
+ dieAnim = ANIM_KO_SHOT_FRONT1;
break;
case WEAPONTYPE_RAMMEDBYCAR:
case WEAPONTYPE_RUNOVERBYCAR:
@@ -2306,36 +2306,36 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
if (pedPiece == PEDPIECE_RIGHTARM && random > 1
|| pedPiece == PEDPIECE_MID && random == 2)
- dieAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ dieAnim = ANIM_KO_SPIN_L;
else
- dieAnim = ANIM_STD_HIGHIMPACT_FRONT;
+ dieAnim = ANIM_KO_SKID_FRONT;
} else
- dieAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ dieAnim = ANIM_KO_SPIN_R;
break;
case 1:
if (m_nPedState == PED_DIVE_AWAY)
- dieAnim = ANIM_STD_SPINFORWARD_LEFT;
+ dieAnim = ANIM_KD_LEFT;
else
- dieAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ dieAnim = ANIM_KO_SPIN_R;
break;
case 2:
if ((pedPiece != PEDPIECE_LEFTARM || random <= 1)
&& (pedPiece != PEDPIECE_MID || random != 1)) {
if ((pedPiece != PEDPIECE_RIGHTARM || random <= 1)
&& (pedPiece != PEDPIECE_MID || random != 2)) {
- dieAnim = ANIM_STD_HIGHIMPACT_BACK;
+ dieAnim = ANIM_KO_SKID_BACK;
} else {
- dieAnim = ANIM_STD_SPINFORWARD_RIGHT;
+ dieAnim = ANIM_KD_RIGHT;
}
} else
- dieAnim = ANIM_STD_SPINFORWARD_LEFT;
+ dieAnim = ANIM_KD_LEFT;
break;
case 3:
if (m_nPedState == PED_DIVE_AWAY)
- dieAnim = ANIM_STD_SPINFORWARD_RIGHT;
+ dieAnim = ANIM_KD_RIGHT;
else
- dieAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ dieAnim = ANIM_KO_SPIN_L;
break;
default:
break;
@@ -2353,7 +2353,7 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
}
break;
case WEAPONTYPE_DROWNING:
- dieAnim = ANIM_STD_DROWN;
+ dieAnim = ANIM_DROWN;
break;
case WEAPONTYPE_FALL:
if (bCollisionProof)
@@ -2361,16 +2361,16 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
switch (direction) {
case 0:
- dieAnim = ANIM_STD_HIGHIMPACT_FRONT;
+ dieAnim = ANIM_KO_SKID_FRONT;
break;
case 1:
- dieAnim = ANIM_STD_HIGHIMPACT_LEFT;
+ dieAnim = ANIM_KO_SPIN_R;
break;
case 2:
- dieAnim = ANIM_STD_HIGHIMPACT_BACK;
+ dieAnim = ANIM_KO_SKID_BACK;
break;
case 3:
- dieAnim = ANIM_STD_HIGHIMPACT_RIGHT;
+ dieAnim = ANIM_KO_SPIN_L;
break;
default:
break;
@@ -2460,7 +2460,7 @@ CPed::InflictDamage(CEntity *damagedBy, eWeaponType method, float damage, ePedPi
if (player == this)
m_pMyVehicle->SetStatus(STATUS_PLAYER_DISABLED);
- SetDie(ANIM_STD_NUM, 4.0f, 0.0f);
+ SetDie(NUM_ANIMS, 4.0f, 0.0f);
return true;
} else {
m_fHealth = 0.0f;
@@ -2663,7 +2663,7 @@ CPed::ApplyHeadShot(eWeaponType weaponType, CVector pos, bool evenOnPlayer)
// BUG: This condition will always return true. Even fixing it won't work, because these states are unused.
// if (m_nPedState != PED_PASSENGER || m_nPedState != PED_TAXI_PASSENGER) {
- SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
// }
bBodyPartJustCameOff = true;
@@ -2887,7 +2887,7 @@ CPed::CollideWithPed(CPed *collideWith)
} else {
SetLookFlag(collideWith, false);
TurnBody();
- animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_PARTIAL_PUNCH, 8.0f);
+ animAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_FIGHT_PPUNCH, 8.0f);
animAssoc->flags |= ASSOC_FADEOUTWHENDONE;
#ifdef VC_PED_PORTS
m_nPedStateTimer = CTimer::GetTimeInMilliseconds() + 2000;
@@ -2912,22 +2912,22 @@ CPed::CollideWithPed(CPed *collideWith)
moveForce.z += 0.1f;
ApplyMoveForce(moveForce);
if (collideWith->m_nMoveState != PEDMOVE_RUN && collideWith->m_nMoveState != PEDMOVE_SPRINT)
- animToPlay = ANIM_STD_HIT_LEFT;
+ animToPlay = ANIM_HIT_LEFT;
else
- animToPlay = ANIM_STD_HITBYGUN_LEFT;
+ animToPlay = ANIM_SHOT_LEFT_PARTIAL;
} else if (heLooksToUs) {
CVector moveForce = GetRight() * -1.0f;
moveForce.z += 0.1f;
ApplyMoveForce(moveForce);
if (collideWith->m_nMoveState != PEDMOVE_RUN && collideWith->m_nMoveState != PEDMOVE_SPRINT)
- animToPlay = ANIM_STD_HIT_RIGHT;
+ animToPlay = ANIM_HIT_RIGHT;
else
- animToPlay = ANIM_STD_HITBYGUN_RIGHT;
+ animToPlay = ANIM_SHOT_RIGHT_PARTIAL;
} else {
if (collideWith->m_nMoveState != PEDMOVE_RUN && collideWith->m_nMoveState != PEDMOVE_SPRINT)
- animToPlay = ANIM_STD_HIT_BACK;
+ animToPlay = ANIM_HIT_BACK;
else
- animToPlay = ANIM_STD_HITBYGUN_BACK;
+ animToPlay = ANIM_SHOT_BACK_PARTIAL;
}
if (collideWith->IsPedInControl() && CTimer::GetTimeInMilliseconds() > collideWith->m_nPedStateTimer) {
@@ -2944,17 +2944,17 @@ CPed::CollideWithPed(CPed *collideWith)
moveForce.z += 0.1f;
ApplyMoveForce(moveForce);
if (heLooksToUs)
- animToPlay = ANIM_STD_HIGHIMPACT_RIGHT;
+ animToPlay = ANIM_KO_SPIN_L;
else
- animToPlay = ANIM_STD_SPINFORWARD_RIGHT;
+ animToPlay = ANIM_KD_RIGHT;
} else {
CVector moveForce = GetRight();
moveForce.z += 0.1f;
ApplyMoveForce(moveForce);
if (heLooksToUs)
- animToPlay = ANIM_STD_HIGHIMPACT_LEFT;
+ animToPlay = ANIM_KO_SPIN_R;
else
- animToPlay = ANIM_STD_SPINFORWARD_LEFT;
+ animToPlay = ANIM_KD_LEFT;
}
if (m_nPedState == PED_ATTACK && collideWith->IsPedInControl())
@@ -3209,7 +3209,7 @@ CPed::KillPedWithCar(CVehicle *car, float impulse)
damage = 30.0f;
InflictDamage(car, WEAPONTYPE_RAMMEDBYCAR, damage, PEDPIECE_TORSO, fallDirection);
- SetFall(1000, (AnimationId)(fallDirection + ANIM_STD_HIGHIMPACT_FRONT), true);
+ SetFall(1000, (AnimationId)(fallDirection + ANIM_KO_SKID_FRONT), true);
if (OnGround() && !m_pCollidingEntity &&
(!IsPlayer() || bHasHitWall || car->GetModelIndex() == MI_TRAIN || m_vecDamageNormal.z < -0.8f)) {
diff --git a/src/peds/PlayerPed.cpp b/src/peds/PlayerPed.cpp
index 53187d0b..ae981d1d 100644
--- a/src/peds/PlayerPed.cpp
+++ b/src/peds/PlayerPed.cpp
@@ -206,7 +206,7 @@ CPlayerPed::MakeChangesForNewWeapon(int8 weapon)
void
CPlayerPed::ReApplyMoveAnims(void)
{
- static AnimationId moveAnims[] = { ANIM_STD_WALK, ANIM_STD_RUN, ANIM_STD_RUNFAST, ANIM_STD_IDLE, ANIM_STD_STARTWALK };
+ static AnimationId moveAnims[] = { ANIM_WALK, ANIM_RUN, ANIM_SPRINT, ANIM_IDLE_STANCE, ANIM_WALK_START };
for(int i = 0; i < ARRAY_SIZE(moveAnims); i++) {
CAnimBlendAssociation *curMoveAssoc = RpAnimBlendClumpGetAssociation(GetClump(), moveAnims[i]);
@@ -262,13 +262,13 @@ CPlayerPed::SetInitialState(void)
void
CPlayerPed::SetRealMoveAnim(void)
{
- CAnimBlendAssociation *curWalkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_WALK);
- CAnimBlendAssociation *curRunAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUN);
- CAnimBlendAssociation *curSprintAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNFAST);
- CAnimBlendAssociation *curWalkStartAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_STARTWALK);
- CAnimBlendAssociation *curIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE);
- CAnimBlendAssociation *curRunStopAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP1);
- CAnimBlendAssociation *curRunStopRAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_RUNSTOP2);
+ CAnimBlendAssociation *curWalkAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_WALK);
+ CAnimBlendAssociation *curRunAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN);
+ CAnimBlendAssociation *curSprintAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_SPRINT);
+ CAnimBlendAssociation *curWalkStartAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_WALK_START);
+ CAnimBlendAssociation *curIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_STANCE);
+ CAnimBlendAssociation *curRunStopAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP);
+ CAnimBlendAssociation *curRunStopRAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_RUN_STOP_R);
if (bResetWalkAnims) {
if (curWalkAssoc)
curWalkAssoc->SetCurrentTime(0.0f);
@@ -280,9 +280,9 @@ CPlayerPed::SetRealMoveAnim(void)
}
if (!curIdleAssoc)
- curIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_TIRED);
+ curIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_TIRED);
if (!curIdleAssoc)
- curIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FIGHT_IDLE);
+ curIdleAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FIGHT_IDLE);
if (!((curRunStopAssoc && curRunStopAssoc->IsRunning()) || (curRunStopRAssoc && curRunStopRAssoc->IsRunning()))) {
@@ -301,10 +301,10 @@ CPlayerPed::SetRealMoveAnim(void)
if (!curIdleAssoc) {
if (m_fCurrentStamina < 0.0f && !CWorld::TestSphereAgainstWorld(GetPosition(), 0.5f,
nil, true, false, false, false, false, false)) {
- curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_TIRED, 8.0f);
+ curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_TIRED, 8.0f);
} else {
- curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 8.0f);
+ curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 8.0f);
}
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + CGeneral::GetRandomNumberInRange(2500, 4000);
}
@@ -315,25 +315,25 @@ CPlayerPed::SetRealMoveAnim(void)
if (!curIdleAssoc) {
if (m_fCurrentStamina < 0.0f && !CWorld::TestSphereAgainstWorld(GetPosition(), 0.5f,
nil, true, false, false, false, false, false)) {
- curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_TIRED, 4.0f);
+ curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_TIRED, 4.0f);
} else {
- curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 4.0f);
+ curIdleAssoc = CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 4.0f);
}
m_nWaitTimer = CTimer::GetTimeInMilliseconds() + CGeneral::GetRandomNumberInRange(2500, 4000);
}
- if (m_fCurrentStamina > 0.0f && curIdleAssoc->animId == ANIM_STD_IDLE_TIRED) {
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 4.0f);
+ if (m_fCurrentStamina > 0.0f && curIdleAssoc->animId == ANIM_IDLE_TIRED) {
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 4.0f);
} else if (m_nPedState != PED_FIGHT) {
- if (m_fCurrentStamina < 0.0f && curIdleAssoc->animId != ANIM_STD_IDLE_TIRED
+ if (m_fCurrentStamina < 0.0f && curIdleAssoc->animId != ANIM_IDLE_TIRED
&& !CWorld::TestSphereAgainstWorld(GetPosition(), 0.5f, nil, true, false, false, false, false, false)) {
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE_TIRED, 4.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_TIRED, 4.0f);
- } else if (curIdleAssoc->animId != ANIM_STD_IDLE) {
- CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_IDLE, 4.0f);
+ } else if (curIdleAssoc->animId != ANIM_IDLE_STANCE) {
+ CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_IDLE_STANCE, 4.0f);
}
}
m_nMoveState = PEDMOVE_STILL;
@@ -344,7 +344,7 @@ CPlayerPed::SetRealMoveAnim(void)
curWalkStartAssoc->blendAmount = 1.0f;
curWalkStartAssoc->blendDelta = 0.0f;
} else {
- curWalkStartAssoc = CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_STD_STARTWALK);
+ curWalkStartAssoc = CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_WALK_START);
}
if (curWalkAssoc)
curWalkAssoc->SetCurrentTime(0.0f);
@@ -352,8 +352,8 @@ CPlayerPed::SetRealMoveAnim(void)
curRunAssoc->SetCurrentTime(0.0f);
delete curIdleAssoc;
- delete RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_IDLE_TIRED);
- delete RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FIGHT_IDLE);
+ delete RpAnimBlendClumpGetAssociation(GetClump(), ANIM_IDLE_TIRED);
+ delete RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FIGHT_IDLE);
delete curSprintAssoc;
curSprintAssoc = nil;
@@ -368,11 +368,11 @@ CPlayerPed::SetRealMoveAnim(void)
RestoreHeadingRate();
}
if (!curWalkAssoc) {
- curWalkAssoc = CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_STD_WALK);
+ curWalkAssoc = CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_WALK);
curWalkAssoc->blendAmount = 0.0f;
}
if (!curRunAssoc) {
- curRunAssoc = CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_STD_RUN);
+ curRunAssoc = CAnimManager::AddAnimation(GetClump(), m_animGroup, ANIM_RUN);
curRunAssoc->blendAmount = 0.0f;
}
if (curWalkStartAssoc && !(curWalkStartAssoc->IsRunning())) {
@@ -399,9 +399,9 @@ CPlayerPed::SetRealMoveAnim(void)
if (m_fMoveSpeed < 0.4f) {
AnimationId runStopAnim;
if (curSprintAssoc->currentTime / curSprintAssoc->hierarchy->totalLength < 0.5) // double
- runStopAnim = ANIM_STD_RUNSTOP1;
+ runStopAnim = ANIM_RUN_STOP;
else
- runStopAnim = ANIM_STD_RUNSTOP2;
+ runStopAnim = ANIM_RUN_STOP_R;
CAnimBlendAssociation* newRunStopAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, runStopAnim);
newRunStopAssoc->blendAmount = 1.0f;
newRunStopAssoc->SetDeleteCallback(RestoreHeadingRateCB, this);
@@ -444,7 +444,7 @@ CPlayerPed::SetRealMoveAnim(void)
// Transition between run-sprint
curWalkAssoc->blendAmount = 0.0f;
curRunAssoc->blendAmount = 1.0f;
- curSprintAssoc = CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_STD_RUNFAST, 2.0f);
+ curSprintAssoc = CAnimManager::BlendAnimation(GetClump(), m_animGroup, ANIM_SPRINT, 2.0f);
}
UseSprintEnergy();
} else {
@@ -539,14 +539,14 @@ CPlayerPed::DoesTargetHaveToBeBroken(CVector target, CWeapon *weaponUsed)
void
CPlayerPed::RunningLand(CPad *padUsed)
{
- CAnimBlendAssociation *landAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_FALL_LAND);
+ CAnimBlendAssociation *landAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_FALL_LAND);
if (landAssoc && landAssoc->currentTime == 0.0f && m_fMoveSpeed > 1.5f
&& padUsed && (padUsed->GetPedWalkLeftRight() != 0.0f || padUsed->GetPedWalkUpDown() != 0.0f)) {
landAssoc->blendDelta = -1000.0f;
landAssoc->flags |= ASSOC_DELETEFADEDOUT;
- CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_JUMP_LAND)->SetFinishCallback(FinishJumpCB, this);
+ CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_JUMP_LAND)->SetFinishCallback(FinishJumpCB, this);
if (m_nPedState == PED_JUMP)
RestorePreviousState();
@@ -1009,7 +1009,7 @@ CPlayerPed::ProcessPlayerWeapon(CPad *padUsed)
TheCamera.SetNewPlayerWeaponMode(CCam::MODE_M16_1STPERSON, 0, 0);
m_fMoveSpeed = 0.0f;
- CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_IDLE, 1000.0f);
+ CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_IDLE_STANCE, 1000.0f);
}
if (GetWeapon()->m_eWeaponType == WEAPONTYPE_ROCKETLAUNCHER || GetWeapon()->m_eWeaponType == WEAPONTYPE_SNIPERRIFLE
|| TheCamera.PlayerWeaponMode.Mode == CCam::MODE_M16_1STPERSON)
@@ -1280,24 +1280,24 @@ CPlayerPed::ProcessControl(void)
}
if (m_nPedState == PED_DRIVING && m_objective != OBJECTIVE_LEAVE_CAR) {
if (m_pMyVehicle->IsCar() && ((CAutomobile*)m_pMyVehicle)->Damage.GetDoorStatus(DOOR_FRONT_LEFT) == DOOR_STATUS_SWINGING) {
- CAnimBlendAssociation *rollDoorAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS);
+ CAnimBlendAssociation *rollDoorAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_ROLLDOOR);
- if (m_pMyVehicle->m_nGettingOutFlags & CAR_DOOR_FLAG_LF || rollDoorAssoc || (rollDoorAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LO_LHS))) {
+ if (m_pMyVehicle->m_nGettingOutFlags & CAR_DOOR_FLAG_LF || rollDoorAssoc || (rollDoorAssoc = RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_ROLLDOOR_LOW))) {
if (rollDoorAssoc)
- m_pMyVehicle->ProcessOpenDoor(CAR_DOOR_LF, ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS, rollDoorAssoc->currentTime);
+ m_pMyVehicle->ProcessOpenDoor(CAR_DOOR_LF, ANIM_CAR_ROLLDOOR, rollDoorAssoc->currentTime);
} else {
// These comparisons are wrong, they return uint16
if (padUsed && (padUsed->GetAccelerate() != 0.0f || padUsed->GetSteeringLeftRight() != 0.0f || padUsed->GetBrake() != 0.0f)) {
if (rollDoorAssoc)
- m_pMyVehicle->ProcessOpenDoor(CAR_DOOR_LF, ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS, rollDoorAssoc->currentTime);
+ m_pMyVehicle->ProcessOpenDoor(CAR_DOOR_LF, ANIM_CAR_ROLLDOOR, rollDoorAssoc->currentTime);
} else {
m_pMyVehicle->m_nGettingOutFlags |= CAR_DOOR_FLAG_LF;
if (m_pMyVehicle->bLowVehicle)
- rollDoorAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LO_LHS);
+ rollDoorAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_ROLLDOOR_LOW);
else
- rollDoorAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS);
+ rollDoorAssoc = CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_CAR_ROLLDOOR);
rollDoorAssoc->SetFinishCallback(PedAnimDoorCloseRollingCB, this);
}
diff --git a/src/peds/Population.cpp b/src/peds/Population.cpp
index a0bf8be6..053cf5e4 100644
--- a/src/peds/Population.cpp
+++ b/src/peds/Population.cpp
@@ -847,7 +847,7 @@ CPopulation::AddPedInCar(CVehicle* car)
}
#else
{
- newPed->m_pVehicleAnim = CAnimManager::BlendAnimation(newPed->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_SIT, 100.0f);
+ newPed->m_pVehicleAnim = CAnimManager::BlendAnimation(newPed->GetClump(), ASSOCGRP_STD, ANIM_CAR_SIT, 100.0f);
}
#endif
diff --git a/src/render/Clouds.cpp b/src/render/Clouds.cpp
index 684f5d74..b5af6619 100644
--- a/src/render/Clouds.cpp
+++ b/src/render/Clouds.cpp
@@ -273,8 +273,8 @@ CClouds::Render(void)
for(i = 0; i < 37; i++){
RwV3d pos = { 2.0f*CoorsOffsetX[i], 2.0f*CoorsOffsetY[i], 40.0f*CoorsOffsetZ[i] + 40.0f };
- worldpos.x = pos.x*rot_cos + pos.y*rot_sin + campos.x;
- worldpos.y = pos.x*rot_sin - pos.y*rot_cos + campos.y;
+ worldpos.x = campos.x*rot_cos + campos.y*rot_sin + pos.x;
+ worldpos.y = campos.x*rot_sin + campos.y*rot_cos + pos.y;
worldpos.z = pos.z;
if(bCloudOnScreen[i] && CSprite::CalcScreenCoors(worldpos, &screenpos, &szx, &szy, false)){
// BUG: this is stupid....would have to do this for each cloud individually
diff --git a/src/render/Font.cpp b/src/render/Font.cpp
index 6a9944e1..7eed0933 100644
--- a/src/render/Font.cpp
+++ b/src/render/Font.cpp
@@ -348,26 +348,11 @@ CFont::Initialise(void)
SetDropShadowPosition(0);
CTxdStore::PopCurrentTxd();
-#if !defined(GAMEPAD_MENU) && defined(BUTTON_ICONS)
- // loaded in CMenuManager with GAMEPAD_MENU defined
- LoadButtons("MODELS/X360BTNS.TXD");
-#endif
-}
-
#ifdef BUTTON_ICONS
-void
-CFont::LoadButtons(const char* txdPath)
-{
- if (int file = CFileMgr::OpenFile(txdPath)) {
+ if (int file = CFileMgr::OpenFile("MODELS/X360BTNS.TXD")) {
CFileMgr::CloseFile(file);
- if (ButtonsSlot == -1)
- ButtonsSlot = CTxdStore::AddTxdSlot("buttons");
- else {
- for (int i = 0; i < MAX_BUTTON_ICONS; i++)
- ButtonSprite[i].Delete();
- CTxdStore::RemoveTxd(ButtonsSlot);
- }
- CTxdStore::LoadTxd(ButtonsSlot, txdPath);
+ ButtonsSlot = CTxdStore::AddTxdSlot("buttons");
+ CTxdStore::LoadTxd(ButtonsSlot, "MODELS/X360BTNS.TXD");
CTxdStore::AddRef(ButtonsSlot);
CTxdStore::PushCurrentTxd();
CTxdStore::SetCurrentTxd(ButtonsSlot);
@@ -389,16 +374,8 @@ CFont::LoadButtons(const char* txdPath)
ButtonSprite[BUTTON_R3].SetTexture("r3");
CTxdStore::PopCurrentTxd();
}
- else {
- if (ButtonsSlot != -1) {
- for (int i = 0; i < MAX_BUTTON_ICONS; i++)
- ButtonSprite[i].Delete();
- CTxdStore::RemoveTxdSlot(ButtonsSlot);
- ButtonsSlot = -1;
- }
- }
-}
#endif // BUTTON_ICONS
+}
#ifdef MORE_LANGUAGES
void
@@ -451,7 +428,6 @@ CFont::Shutdown(void)
for (int i = 0; i < MAX_BUTTON_ICONS; i++)
ButtonSprite[i].Delete();
CTxdStore::RemoveTxdSlot(ButtonsSlot);
- ButtonsSlot = -1;
}
#endif
Sprite[0].Delete();
diff --git a/src/render/Font.h b/src/render/Font.h
index 9316ed34..621375d6 100644
--- a/src/render/Font.h
+++ b/src/render/Font.h
@@ -109,7 +109,6 @@ public:
static CSprite2d ButtonSprite[MAX_BUTTON_ICONS];
static int PS2Symbol;
- static void LoadButtons(const char *txdPath);
static void DrawButton(float x, float y);
#endif // BUTTON_ICONS
diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp
index 4991e024..2f7b9001 100644
--- a/src/render/Hud.cpp
+++ b/src/render/Hud.cpp
@@ -1150,18 +1150,18 @@ void CHud::Draw()
if (IntroRect.m_nTextureId >= 0) {
CRect rect (
IntroRect.m_sRect.left,
- IntroRect.m_sRect.bottom,
+ IntroRect.m_sRect.top,
IntroRect.m_sRect.right,
- IntroRect.m_sRect.top );
+ IntroRect.m_sRect.bottom );
CTheScripts::ScriptSprites[IntroRect.m_nTextureId].Draw(rect, IntroRect.m_sColor);
}
else {
CRect rect (
IntroRect.m_sRect.left,
- IntroRect.m_sRect.bottom,
+ IntroRect.m_sRect.top,
IntroRect.m_sRect.right,
- IntroRect.m_sRect.top );
+ IntroRect.m_sRect.bottom );
CSprite2d::DrawRect(rect, IntroRect.m_sColor);
}
diff --git a/src/render/Shadows.cpp b/src/render/Shadows.cpp
index d7eccbfd..8c892be3 100644
--- a/src/render/Shadows.cpp
+++ b/src/render/Shadows.cpp
@@ -21,8 +21,8 @@
#include "Shadows.h"
#ifdef DEBUGMENU
-//SETTWEAKPATH("Shadows");
-//TWEAKBOOL(gbPrintShite);
+SETTWEAKPATH("Shadows");
+TWEAKBOOL(gbPrintShite);
#endif
RwImVertexIndex ShadowIndexList[24];
diff --git a/src/render/WaterCannon.cpp b/src/render/WaterCannon.cpp
index 5cc9d0b8..f54b31b9 100644
--- a/src/render/WaterCannon.cpp
+++ b/src/render/WaterCannon.cpp
@@ -231,7 +231,7 @@ void CWaterCannon::PushPeds(void)
ped->m_vecMoveSpeed.x = (0.6f * m_avecVelocity[j].x + ped->m_vecMoveSpeed.x) * 0.5f;
ped->m_vecMoveSpeed.y = (0.6f * m_avecVelocity[j].y + ped->m_vecMoveSpeed.y) * 0.5f;
- ped->SetFall(2000, AnimationId(ANIM_STD_HIGHIMPACT_FRONT + localDir), 0);
+ ped->SetFall(2000, AnimationId(ANIM_KO_SKID_FRONT + localDir), 0);
CFire *fire = ped->m_pFire;
if ( fire )
diff --git a/src/skel/crossplatform.h b/src/skel/crossplatform.h
index e5f4c7ba..8c4fb14c 100644
--- a/src/skel/crossplatform.h
+++ b/src/skel/crossplatform.h
@@ -71,7 +71,7 @@ void CapturePad(RwInt32 padID);
void joysChangeCB(int jid, int event);
#endif
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
extern char gSelectedJoystickName[128];
#endif
diff --git a/src/skel/glfw/glfw.cpp b/src/skel/glfw/glfw.cpp
index baed9000..9643c63b 100644
--- a/src/skel/glfw/glfw.cpp
+++ b/src/skel/glfw/glfw.cpp
@@ -52,11 +52,6 @@ long _dwOperatingSystemVersion;
#define MAX_SUBSYSTEMS (16)
-#ifdef _WIN32
-#define GLFW_EXPOSE_NATIVE_WIN32
-#include
-#endif
-
rw::EngineOpenParams openParams;
@@ -86,7 +81,7 @@ static psGlobalType PsGlobal;
size_t _dwMemAvailPhys;
RwUInt32 gGameState;
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
char gSelectedJoystickName[128] = "";
#endif
@@ -209,7 +204,6 @@ psGrabScreen(RwCamera *pCamera)
}
#else
rw::Image *image = RwCameraGetRaster(pCamera)->toImage();
- image->removeMask();
if(image)
return image;
#endif
@@ -847,7 +841,7 @@ void joysChangeCB(int jid, int event);
bool IsThisJoystickBlacklisted(int i)
{
-#ifndef DETECT_JOYSTICK_MENU
+#ifndef DONT_TRUST_RECOGNIZED_JOYSTICKS
return false;
#else
if (glfwJoystickIsGamepad(i))
@@ -912,7 +906,7 @@ void _InputInitialiseJoys()
if (PSGLOBAL(joy1id) != -1) {
int count;
glfwGetJoystickButtons(PSGLOBAL(joy1id), &count);
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
strcpy(gSelectedJoystickName, glfwGetJoystickName(PSGLOBAL(joy1id)));
#endif
ControlsManager.InitDefaultControlConfigJoyPad(count);
@@ -1565,15 +1559,6 @@ main(int argc, char *argv[])
return 0;
}
-#ifdef _WIN32
- HWND wnd = glfwGetWin32Window(PSGLOBAL(window));
-
- HICON icon = LoadIcon(instance, MAKEINTRESOURCE(IDI_MAIN_ICON));
-
- SendMessage(wnd, WM_SETICON, ICON_BIG, (LPARAM)icon);
- SendMessage(wnd, WM_SETICON, ICON_SMALL, (LPARAM)icon);
-#endif
-
psPostRWinit();
ControlsManager.InitDefaultControlConfigMouse(MousePointerStateHelper.GetMouseSetUp());
@@ -2165,7 +2150,7 @@ void joysChangeCB(int jid, int event)
if (event == GLFW_CONNECTED && !IsThisJoystickBlacklisted(jid)) {
if (PSGLOBAL(joy1id) == -1) {
PSGLOBAL(joy1id) = jid;
-#ifdef DETECT_JOYSTICK_MENU
+#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
strcpy(gSelectedJoystickName, glfwGetJoystickName(jid));
#endif
// This is behind LOAD_INI_SETTINGS, because otherwise the Init call below will destroy/overwrite your bindings.
diff --git a/src/skel/win/gta3.ico b/src/skel/win/gta3.ico
index d0a47713..2017c811 100644
Binary files a/src/skel/win/gta3.ico and b/src/skel/win/gta3.ico differ
diff --git a/src/skel/win/win.cpp b/src/skel/win/win.cpp
index 86b0b214..3bda4e9d 100644
--- a/src/skel/win/win.cpp
+++ b/src/skel/win/win.cpp
@@ -121,10 +121,6 @@ DWORD _dwOperatingSystemVersion;
RwUInt32 gGameState;
CJoySticks AllValidWinJoys;
-#ifdef DETECT_JOYSTICK_MENU
-char gSelectedJoystickName[128] = "";
-#endif
-
// What is that for anyway?
#ifndef IMPROVED_VIDEOMODE
static RwBool defaultFullscreenRes = TRUE;
@@ -259,7 +255,6 @@ psGrabScreen(RwCamera *pCamera)
}
#else
rw::Image *image = RwCameraGetRaster(pCamera)->toImage();
- image->removeMask();
if(image)
return image;
#endif
@@ -1330,11 +1325,7 @@ InitApplication(HANDLE instance)
windowClass.cbClsExtra = 0;
windowClass.cbWndExtra = 0;
windowClass.hInstance = (HINSTANCE)instance;
-#ifdef FIX_BUGS
- windowClass.hIcon = LoadIcon((HINSTANCE)instance, MAKEINTRESOURCE(IDI_MAIN_ICON));
-#else
windowClass.hIcon = nil;
-#endif
windowClass.hCursor = LoadCursor(nil, IDC_ARROW);
windowClass.hbrBackground = nil;
windowClass.lpszMenuName = NULL;
diff --git a/src/text/Text.cpp b/src/text/Text.cpp
index 08ab0e1e..fe37d0f1 100644
--- a/src/text/Text.cpp
+++ b/src/text/Text.cpp
@@ -8,7 +8,7 @@
#include "Messages.h"
#include "Text.h"
-wchar WideErrorString[25];
+static wchar WideErrorString[25];
CText TheText;
diff --git a/src/vehicles/Automobile.cpp b/src/vehicles/Automobile.cpp
index 4863b945..7e8c4702 100644
--- a/src/vehicles/Automobile.cpp
+++ b/src/vehicles/Automobile.cpp
@@ -3058,21 +3058,21 @@ CAutomobile::DoDriveByShootings(void)
if(lookingLeft || lookingRight){
if(lookingLeft){
- anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
+ anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_R);
if(anim)
anim->blendDelta = -1000.0f;
- anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
+ anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_L);
if(anim == nil || anim->blendDelta < 0.0f)
- CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVEBY_LEFT);
+ CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_DRIVEBY_L);
else
anim->SetRun();
}else if(pDriver->m_pMyVehicle->pPassengers[0] == nil || TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_1STPERSON){
- anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
+ anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_L);
if(anim)
anim->blendDelta = -1000.0f;
- anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
+ anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_R);
if(anim == nil || anim->blendDelta < 0.0f)
- CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_STD_CAR_DRIVEBY_RIGHT);
+ CAnimManager::AddAnimation(pDriver->GetClump(), ASSOCGRP_STD, ANIM_DRIVEBY_R);
else
anim->SetRun();
}
@@ -3083,10 +3083,10 @@ CAutomobile::DoDriveByShootings(void)
}
}else{
weapon->Reload();
- anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_LEFT);
+ anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_L);
if(anim)
anim->blendDelta = -1000.0f;
- anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_STD_CAR_DRIVEBY_RIGHT);
+ anim = RpAnimBlendClumpGetAssociation(pDriver->GetClump(), ANIM_DRIVEBY_R);
if(anim)
anim->blendDelta = -1000.0f;
}
@@ -3094,11 +3094,11 @@ CAutomobile::DoDriveByShootings(void)
// TODO: what is this?
if(!lookingLeft && m_weaponDoorTimerLeft > 0.0f){
m_weaponDoorTimerLeft = Max(m_weaponDoorTimerLeft - CTimer::GetTimeStep()*0.1f, 0.0f);
- ProcessOpenDoor(CAR_DOOR_LF, ANIM_STD_NUM, m_weaponDoorTimerLeft);
+ ProcessOpenDoor(CAR_DOOR_LF, NUM_ANIMS, m_weaponDoorTimerLeft);
}
if(!lookingRight && m_weaponDoorTimerRight > 0.0f){
m_weaponDoorTimerRight = Max(m_weaponDoorTimerRight - CTimer::GetTimeStep()*0.1f, 0.0f);
- ProcessOpenDoor(CAR_DOOR_RF, ANIM_STD_NUM, m_weaponDoorTimerRight);
+ ProcessOpenDoor(CAR_DOOR_RF, NUM_ANIMS, m_weaponDoorTimerRight);
}
}
@@ -3736,55 +3736,55 @@ CAutomobile::ProcessOpenDoor(uint32 component, uint32 anim, float time)
return;
switch(anim){
- case ANIM_STD_QUICKJACK:
- case ANIM_STD_CAR_OPEN_DOOR_LHS:
- case ANIM_STD_CAR_OPEN_DOOR_RHS:
+ case ANIM_CAR_QJACK:
+ case ANIM_CAR_OPEN_LHS:
+ case ANIM_CAR_OPEN_RHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.66f, 0.8f);
break;
- case ANIM_STD_CAR_CLOSE_DOOR_LHS:
- case ANIM_STD_CAR_CLOSE_DOOR_LO_LHS:
- case ANIM_STD_CAR_CLOSE_DOOR_RHS:
- case ANIM_STD_CAR_CLOSE_DOOR_LO_RHS:
+ case ANIM_CAR_CLOSEDOOR_LHS:
+ case ANIM_CAR_CLOSEDOOR_LOW_LHS:
+ case ANIM_CAR_CLOSEDOOR_RHS:
+ case ANIM_CAR_CLOSEDOOR_LOW_RHS:
ProcessDoorCloseAnimation(this, component, door, time, 0.2f, 0.63f);
break;
- case ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LHS:
- case ANIM_STD_CAR_CLOSE_DOOR_ROLLING_LO_LHS:
+ case ANIM_CAR_ROLLDOOR:
+ case ANIM_CAR_ROLLDOOR_LOW:
ProcessDoorOpenCloseAnimation(this, component, door, time, 0.1f, 0.6f, 0.95f);
break;
- case ANIM_STD_GETOUT_LHS:
- case ANIM_STD_GETOUT_LO_LHS:
- case ANIM_STD_GETOUT_RHS:
- case ANIM_STD_GETOUT_LO_RHS:
+ case ANIM_CAR_GETOUT_LHS:
+ case ANIM_CAR_GETOUT_LOW_LHS:
+ case ANIM_CAR_GETOUT_RHS:
+ case ANIM_CAR_GETOUT_LOW_RHS:
ProcessDoorOpenAnimation(this, component, door, time, 0.06f, 0.43f);
break;
- case ANIM_STD_CAR_CLOSE_LHS:
- case ANIM_STD_CAR_CLOSE_RHS:
+ case ANIM_CAR_CLOSE_LHS:
+ case ANIM_CAR_CLOSE_RHS:
ProcessDoorCloseAnimation(this, component, door, time, 0.1f, 0.23f);
break;
- case ANIM_STD_CAR_PULL_OUT_PED_RHS:
- case ANIM_STD_CAR_PULL_OUT_PED_LO_RHS:
+ case ANIM_CAR_PULLOUT_RHS:
+ case ANIM_CAR_PULLOUT_LOW_RHS:
OpenDoor(component, door, 1.0f);
break;
- case ANIM_STD_COACH_OPEN_LHS:
- case ANIM_STD_COACH_OPEN_RHS:
+ case ANIM_COACH_OPEN_L:
+ case ANIM_COACH_OPEN_R:
ProcessDoorOpenAnimation(this, component, door, time, 0.66f, 0.8f);
break;
- case ANIM_STD_COACH_GET_OUT_LHS:
+ case ANIM_COACH_OUT_L:
ProcessDoorOpenAnimation(this, component, door, time, 0.0f, 0.3f);
break;
- case ANIM_STD_VAN_OPEN_DOOR_REAR_LHS:
- case ANIM_STD_VAN_OPEN_DOOR_REAR_RHS:
+ case ANIM_VAN_OPEN_L:
+ case ANIM_VAN_OPEN:
ProcessDoorOpenAnimation(this, component, door, time, 0.37f, 0.55f);
break;
- case ANIM_STD_VAN_CLOSE_DOOR_REAR_LHS:
- case ANIM_STD_VAN_CLOSE_DOOR_REAR_RHS:
+ case ANIM_VAN_CLOSE_L:
+ case ANIM_VAN_CLOSE:
ProcessDoorCloseAnimation(this, component, door, time, 0.5f, 0.8f);
break;
- case ANIM_STD_VAN_GET_OUT_REAR_LHS:
- case ANIM_STD_VAN_GET_OUT_REAR_RHS:
+ case ANIM_VAN_GETOUT_L:
+ case ANIM_VAN_GETOUT:
ProcessDoorOpenAnimation(this, component, door, time, 0.5f, 0.6f);
break;
- case ANIM_STD_NUM:
+ case NUM_ANIMS:
OpenDoor(component, door, time);
break;
}
@@ -3879,7 +3879,7 @@ CAutomobile::BlowUpCar(CEntity *culprit)
if(!pDriver->IsPlayer())
pDriver->FlagToDestroyWhenNextProcessed();
}else
- pDriver->SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ pDriver->SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
}
for(i = 0; i < m_nNumMaxPassengers; i++){
if(pPassengers[i]){
@@ -3889,7 +3889,7 @@ CAutomobile::BlowUpCar(CEntity *culprit)
if(!pPassengers[i]->IsPlayer())
pPassengers[i]->FlagToDestroyWhenNextProcessed();
}else
- pPassengers[i]->SetDie(ANIM_STD_KO_FRONT, 4.0f, 0.0f);
+ pPassengers[i]->SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
}
}
diff --git a/src/vehicles/Vehicle.h b/src/vehicles/Vehicle.h
index fcfa3401..a6a4f815 100644
--- a/src/vehicles/Vehicle.h
+++ b/src/vehicles/Vehicle.h
@@ -182,7 +182,7 @@ public:
float m_fMapObjectHeightBehind; // rear Z?
eCarLock m_nDoorLock;
int8 m_nLastWeaponDamage; // see eWeaponType, -1 if no damage
- uint8 m_nRadioStation;
+ int8 m_nRadioStation;
uint8 m_bRainAudioCounter;
uint8 m_bRainSamplesCounter;
uint8 m_nCarHornTimer;
@@ -276,7 +276,7 @@ public:
#endif
CVehicleModelInfo* GetModelInfo() { return (CVehicleModelInfo*)CModelInfo::GetModelInfo(GetModelIndex()); }
bool IsTaxi(void) { return GetModelIndex() == MI_TAXI || GetModelIndex() == MI_CABBIE || GetModelIndex() == MI_BORGNINE; }
- AnimationId GetDriverAnim(void) { return IsCar() && bLowVehicle ? ANIM_STD_CAR_SIT_LO : (IsBoat() && GetModelIndex() != MI_SPEEDER ? ANIM_STD_BOAT_DRIVE : ANIM_STD_CAR_SIT); }
+ AnimationId GetDriverAnim(void) { return IsCar() && bLowVehicle ? ANIM_CAR_LSIT : (IsBoat() && GetModelIndex() != MI_SPEEDER ? ANIM_DRIVE_BOAT : ANIM_CAR_SIT); }
static bool bWheelsOnlyCheat;
static bool bAllDodosCheat;
diff --git a/src/weapons/BulletInfo.cpp b/src/weapons/BulletInfo.cpp
index bfe27e18..e87a7407 100644
--- a/src/weapons/BulletInfo.cpp
+++ b/src/weapons/BulletInfo.cpp
@@ -121,7 +121,7 @@ void CBulletInfo::Update(void)
if (pPed->DoesLOSBulletHitPed(point)) {
if (pPed->IsPedInControl() && !pPed->bIsDucking) {
pPed->ClearAttackByRemovingAnim();
- CAnimBlendAssociation* pAnim = CAnimManager::AddAnimation(pPed->GetClump(), ASSOCGRP_STD, ANIM_STD_HITBYGUN_FRONT);
+ CAnimBlendAssociation* pAnim = CAnimManager::AddAnimation(pPed->GetClump(), ASSOCGRP_STD, ANIM_SHOT_FRONT_PARTIAL);
pAnim->SetBlend(0.0f, 8.0f);
}
pPed->InflictDamage(pBullet->m_pSource, pBullet->m_eWeaponType, pBullet->m_nDamage, (ePedPieceTypes)point.pieceB, pPed->GetLocalDirection(pPed->GetPosition() - point.point));
@@ -146,9 +146,9 @@ void CBulletInfo::Update(void)
if (pPed->GetPedState() == PED_DEAD) {
CAnimBlendAssociation* pAnim;
if (RpAnimBlendClumpGetFirstAssociation(pPed->GetClump(), ASSOC_FRONTAL))
- pAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_FLOOR_FRONT, 8.0f);
+ pAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, ANIM_FLOOR_HIT_F, 8.0f);
else
- pAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_FLOOR, 8.0f);
+ pAnim = CAnimManager::BlendAnimation(pPed->GetClump(), ASSOCGRP_STD, ANIM_FLOOR_HIT, 8.0f);
if (pAnim) {
pAnim->SetCurrentTime(0.0f);
pAnim->flags |= ASSOC_RUNNING;
diff --git a/src/weapons/Weapon.cpp b/src/weapons/Weapon.cpp
index dab510be..a987a4c7 100644
--- a/src/weapons/Weapon.cpp
+++ b/src/weapons/Weapon.cpp
@@ -473,9 +473,9 @@ CWeapon::FireMelee(CEntity *shooter, CVector &fireSource)
victimPed->ApplyMoveForce(posOffset.x*-5.0f, posOffset.y*-5.0f, 3.0f);
if ( isBat && victimPed->IsPlayer() )
- victimPed->SetFall(3000, AnimationId(ANIM_STD_HIGHIMPACT_FRONT + localDir), false);
+ victimPed->SetFall(3000, AnimationId(ANIM_KO_SKID_FRONT + localDir), false);
else
- victimPed->SetFall(1500, AnimationId(ANIM_STD_HIGHIMPACT_FRONT + localDir), false);
+ victimPed->SetFall(1500, AnimationId(ANIM_KO_SKID_FRONT + localDir), false);
shooterPed->m_pSeekTarget = victimPed;
shooterPed->m_pSeekTarget->RegisterReference(&shooterPed->m_pSeekTarget);
@@ -904,7 +904,7 @@ CWeapon::DoBulletImpact(CEntity *shooter, CEntity *victim,
victimPed->bIsStanding = false;
victimPed->ApplyMoveForce(posOffset.x*-5.0f, posOffset.y*-5.0f, 5.0f);
- victimPed->SetFall(1500, AnimationId(ANIM_STD_HIGHIMPACT_FRONT + localDir), false);
+ victimPed->SetFall(1500, AnimationId(ANIM_KO_SKID_FRONT + localDir), false);
victimPed->InflictDamage(shooter, m_eWeaponType, info->m_nDamage, (ePedPieceTypes)point->pieceB, localDir);
}
@@ -917,7 +917,7 @@ CWeapon::DoBulletImpact(CEntity *shooter, CEntity *victim,
{
victimPed->ClearAttackByRemovingAnim();
- CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_STD_HITBYGUN_FRONT + localDir));
+ CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_SHOT_FRONT_PARTIAL + localDir));
ASSERT(asoc!=nil);
asoc->blendAmount = 0.0f;
@@ -933,7 +933,7 @@ CWeapon::DoBulletImpact(CEntity *shooter, CEntity *victim,
{
victimPed->ClearAttackByRemovingAnim();
- CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_STD_HITBYGUN_FRONT + localDir));
+ CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_SHOT_FRONT_PARTIAL + localDir));
ASSERT(asoc!=nil);
asoc->blendAmount = 0.0f;
@@ -983,9 +983,9 @@ CWeapon::DoBulletImpact(CEntity *shooter, CEntity *victim,
{
CAnimBlendAssociation *asoc;
if ( RpAnimBlendClumpGetFirstAssociation(victimPed->GetClump(), ASSOC_FRONTAL) )
- asoc = CAnimManager::BlendAnimation(victimPed->GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_FLOOR_FRONT, 8.0f);
+ asoc = CAnimManager::BlendAnimation(victimPed->GetClump(), ASSOCGRP_STD, ANIM_FLOOR_HIT_F, 8.0f);
else
- asoc = CAnimManager::BlendAnimation(victimPed->GetClump(), ASSOCGRP_STD, ANIM_STD_HIT_FLOOR, 8.0f);
+ asoc = CAnimManager::BlendAnimation(victimPed->GetClump(), ASSOCGRP_STD, ANIM_FLOOR_HIT, 8.0f);
if ( asoc )
{
@@ -1248,7 +1248,7 @@ CWeapon::FireShotgun(CEntity *shooter, CVector *fireSource)
victimPed->ApplyMoveForce(posOffset.x*-2.0f, posOffset.y*-2.0f, 0.0f);
if ( cantStandup )
- victimPed->SetFall(1500, AnimationId(ANIM_STD_HIGHIMPACT_FRONT + localDir), false);
+ victimPed->SetFall(1500, AnimationId(ANIM_KO_SKID_FRONT + localDir), false);
victimPed->InflictDamage(shooter, m_eWeaponType, info->m_nDamage, (ePedPieceTypes)point.pieceB, localDir);
@@ -1719,7 +1719,7 @@ CWeapon::FireInstantHitFromCar(CAutomobile *shooter, bool left)
victimPed->ReactToAttack(FindPlayerPed());
victimPed->ClearAttackByRemovingAnim();
- CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_STD_HITBYGUN_FRONT + localDir));
+ CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_SHOT_FRONT_PARTIAL + localDir));
ASSERT(asoc!=nil);
asoc->blendAmount = 0.0f;
asoc->blendDelta = 8.0f;
@@ -2089,7 +2089,7 @@ FireOneInstantHitRound(CVector *source, CVector *target, int32 damage)
victimPed->ClearAttackByRemovingAnim();
- CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_STD_HITBYGUN_FRONT + localDir));
+ CAnimBlendAssociation *asoc = CAnimManager::AddAnimation(victimPed->GetClump(), ASSOCGRP_STD, AnimationId(ANIM_SHOT_FRONT_PARTIAL + localDir));
ASSERT(asoc!=nil);
asoc->blendAmount = 0.0f;
asoc->blendDelta = 8.0f;
diff --git a/src/weapons/WeaponInfo.cpp b/src/weapons/WeaponInfo.cpp
index ba872454..10737acb 100644
--- a/src/weapons/WeaponInfo.cpp
+++ b/src/weapons/WeaponInfo.cpp
@@ -37,8 +37,8 @@ CWeaponInfo::Initialise(void)
debug("Initialising CWeaponInfo...\n");
for (int i = 0; i < WEAPONTYPE_TOTALWEAPONS; i++) {
aWeaponInfo[i].m_eWeaponFire = WEAPON_FIRE_INSTANT_HIT;
- aWeaponInfo[i].m_AnimToPlay = ANIM_STD_PUNCH;
- aWeaponInfo[i].m_Anim2ToPlay = ANIM_STD_NUM;
+ aWeaponInfo[i].m_AnimToPlay = ANIM_PUNCH_R;
+ aWeaponInfo[i].m_Anim2ToPlay = NUM_ANIMS;
aWeaponInfo[i].m_Flags = WEAPONFLAG_USE_GRAVITY | WEAPONFLAG_SLOWS_DOWN | WEAPONFLAG_RAND_SPEED | WEAPONFLAG_EXPANDS | WEAPONFLAG_EXPLODES;
}
debug("Loading weapon data...\n");
@@ -96,7 +96,7 @@ CWeaponInfo::LoadWeaponData(void)
fireType[0] = '\0';
fireOffsetY = 0.0f;
fireOffsetZ = 0.0f;
- animId = ANIM_STD_WALK;
+ animId = ANIM_WALK;
sscanf(
&line[lp],
"%s %s %f %d %d %d %d %f %f %f %f %f %f %f %s %s %f %f %f %f %d %d",
diff --git a/utils/gxt/american.txt b/utils/gxt/american.txt
index cf71c958..95e9d280 100644
--- a/utils/gxt/american.txt
+++ b/utils/gxt/american.txt
@@ -2221,11 +2221,11 @@ Car bombs are $1000 each
[GA_5]
Your car is already fitted with a bomb.
-[GA_6] { re3 change }
-Park it, prime it by pressing the ~h~~k~~VEHICLE_FIREWEAPON~ button~w~ and LEG IT!
+[GA_6]
+Park it, prime it by pressing the ~h~~k~~PED_FIREWEAPON~ button~w~ and LEG IT!
-[GA_7] { re3 change }
-Arm with ~h~~k~~VEHICLE_FIREWEAPON~ button~w~. Bomb will go off when engine is started.
+[GA_7]
+Arm with ~h~~k~~PED_FIREWEAPON~ button~w~. Bomb will go off when engine is started.
[GA_8]
Use the detonator to activate the bomb.
@@ -2440,6 +2440,33 @@ Accelerate
[FEC_SMT]
Special mission trigger
+[FEC_CCF]
+Configuration:
+
+[FEC_CF1]
+Setup1
+
+[FEC_CF2]
+Setup2
+
+[FEC_CF3]
+Setup3
+
+[FEC_CF4]
+Setup4
+
+[FEC_CDP]
+Controller Display:
+
+[FEC_ONF]
+On Foot
+
+[FEC_INC]
+In Car
+
+[FEC_VIB]
+Vibration:
+
[FEA_OUT]
Output:
@@ -3565,11 +3592,11 @@ Alright?
[JM6_1]
Get to the bank on the main drag.
-[GA_6B] { re3 change }
-Park it, prime it by pressing the ~h~~k~~VEHICLE_FIREWEAPON~ button~w~ and LEG IT!
+[GA_6B]
+Park it, prime it by pressing the ~h~~k~~PED_FIREWEAPON~ button~w~ and LEG IT!
-[GA_7B] { re3 change }
-Arm with ~h~~k~~VEHICLE_FIREWEAPON~ button~w~. Bomb will go off when engine is started.
+[GA_7B]
+Arm with ~h~~k~~PED_FIREWEAPON~ button~w~. Bomb will go off when engine is started.
[BAT1]
~g~Pick up the bat!
@@ -4000,11 +4027,11 @@ Drive your vehicle into the spray shop to lose your ~h~wanted level~w~, ~h~repai
[HM1_1]
~g~Ice 20 Purple Nines in 2 minutes 30 seconds.
-[KM1_8A] { re3 change }
-Press the~h~ ~k~~VEHICLE_FIREWEAPON~ button~w~ to ~h~activate the bomb,~w~ remember to get out of the way.
+[KM1_8A]
+Press the~h~ ~k~~PED_FIREWEAPON~ button~w~ to ~h~activate the bomb,~w~ remember to get out of the way.
-[KM1_8D] { re3 change }
-Press the~h~ ~k~~VEHICLE_FIREWEAPON~ button~w~ to ~h~activate the bomb,~w~ remember to get out of the way.
+[KM1_8D]
+Press the~h~ ~k~~PED_FIREWEAPON~ button~w~ to ~h~activate the bomb,~w~ remember to get out of the way.
[KM1_12]
~g~Get him to the dojo but get rid of the cops first!
@@ -4141,11 +4168,11 @@ I don't need to see any I.D. you look trustworthy.
[DETON]
DETONATION:
-[DRIVE_A] { re3 change }
-Have an Uzi selected when entering a vehicle then look left or right and press the ~h~~k~~VEHICLE_FIREWEAPON~ button~w~ to fire.
+[DRIVE_A]
+Have an Uzi selected when entering a vehicle then look left or right and press the ~h~~k~~PED_FIREWEAPON~ button~w~ to fire.
-[DRIVE_B] { re3 change }
-Have an Uzi selected when entering a vehicle then look left or right and press the ~h~~k~~VEHICLE_FIREWEAPON~ button~w~ to fire.
+[DRIVE_B]
+Have an Uzi selected when entering a vehicle then look left or right and press the ~h~~k~~PED_FIREWEAPON~ button~w~ to fire.
[RECORD]
~g~NEW RECORD!!
@@ -4153,11 +4180,11 @@ Have an Uzi selected when entering a vehicle then look left or right and press t
[NRECORD]
~r~NO NEW RECORD!
-[RCHELP] { re3 change }
-Press ~k~~VEHICLE_FIREWEAPON~, or drive the RC car into a vehicle's wheels to detonate.
+[RCHELP]
+Press ~k~~PED_FIREWEAPON~, or drive the RC car into a vehicle's wheels to detonate.
-[RCHELPA] { re3 change }
-Press the ~k~~VEHICLE_FIREWEAPON~ button, or drive the RC car into a vehicle's wheels to detonate.
+[RCHELPA]
+Press the ~k~~PED_FIREWEAPON~ button, or drive the RC car into a vehicle's wheels to detonate.
[RC_1]
You have 2 minutes to blow up as many Diablo Gang Cars as possible!
@@ -4657,11 +4684,11 @@ LOVE'S DISAPPEARANCE
[RM5_6]
~g~He's bailed out!! Smash his bodycast with a vehicle or an explosion!!
-[PBOAT_1] { re3 change }
-Press the ~h~~k~~VEHICLE_FIREWEAPON~ button~w~ to fire the boat cannons.
+[PBOAT_1]
+Press the ~h~~k~~PED_FIREWEAPON~ button~w~ to fire the boat cannons.
-[PBOAT_2] { re3 change }
-Press the ~h~~k~~VEHICLE_FIREWEAPON~ button~w~ to fire the boat cannons.
+[PBOAT_2]
+Press the ~h~~k~~PED_FIREWEAPON~ button~w~ to fire the boat cannons.
[DIAB1_B]
This is El Burro of the Diablos.
@@ -4675,11 +4702,11 @@ There's a street race starting by the old school hall near the Callahan Bridge.
[DIAB1_F]
Get yourself some wheels and first through all the checkpoints wins the prize.
-[HM2_1] { re3 change }
-Use the RC buggies to destroy the armored cars. Press the ~h~~k~~VEHICLE_FIREWEAPON~ button ~w~to detonate.
+[HM2_1]
+Use the RC buggies to destroy the armored cars. Press the ~h~~k~~PED_FIREWEAPON~ button ~w~to detonate.
-[HM2_1A] { re3 change }
-Use the RC buggies to destroy the armored cars. Press the ~h~~k~~VEHICLE_FIREWEAPON~ button ~w~to detonate.
+[HM2_1A]
+Use the RC buggies to destroy the armored cars. Press the ~h~~k~~PED_FIREWEAPON~ button ~w~to detonate.
[HM2_2]
~r~You failed to destroy all the armored cars!
@@ -6490,11 +6517,11 @@ This Memory Card (PS2) is already formatted.
[FEDSAS4]
;=<> - CHANGE SELECTION
-[SPRAY_4] { re3 change }
-Use the ~h~~k~~VEHICLE_FIREWEAPON~ button ~w~to fire the water cannon.
+[SPRAY_4]
+Use the ~h~~k~~PED_FIREWEAPON~ button ~w~to fire the water cannon.
-[SPRAY_1] { re3 change }
-Use the ~h~~k~~VEHICLE_FIREWEAPON~ button ~w~to fire the water cannon.
+[SPRAY_1]
+Use the ~h~~k~~PED_FIREWEAPON~ button ~w~to fire the water cannon.
[LITTLE]
LITTLE T
@@ -7216,6 +7243,9 @@ CONNECTION
[FET_AUD]
AUDIO SETUP
+[FET_GFX]
+GFX SETUP
+
[FET_DIS]
DISPLAY SETUP
@@ -7927,7 +7957,7 @@ POLISH
RUSSIAN
{ new display menus }
-[FET_GFX]
+[FET_GRA]
GRAPHICS SETUP
[FED_MIP]
@@ -7992,7 +8022,6 @@ REPLAY MISSION
[FESZ_RM]
RETRY?
-{ more graphics }
[FED_VPL]
VEHICLE PIPELINE
@@ -8032,68 +8061,15 @@ PS2
[FEM_XBX]
XBOX
-[FEM_AUT] { aspect ratio related }
+[FEM_AUT]
AUTO
-{ controls }
[FEC_IVP]
INVERT PAD VERTICALLY
-{ map }
[FEM_TWP]
Toggle Waypoint
-[FEA_FMN]
-RADIO OFF
-
-[FEC_DS2]
-DUALSHOCK 2
-
-[FEC_DS3]
-DUALSHOCK 3
-
-[FEC_DS4]
-DUALSHOCK 4
-
-[FEC_360]
-XBOX 360 CONTROLLER
-
-[FEC_ONE]
-XBOX ONE CONTROLLER
-
-[FEC_TYP]
-GAMEPAD TYPE
-
-[FEC_CCF]
-CONFIGURATION
-
-[FEC_CF1]
-SETUP 1
-
-[FEC_CF2]
-SETUP 2
-
-[FEC_CF3]
-SETUP 3
-
-[FEC_CF4]
-SETUP 4
-
-[FEC_CDP]
-CONTROLLER DISPLAY
-
-[FEC_ONF]
-ON FOOT
-
-[FEC_INC]
-IN CAR
-
-[FEC_VIB]
-VIBRATION
-
-[FET_AGS]
-GAMEPAD SETTINGS
-
{ end of file }
[DUMMY]
diff --git a/utils/gxt/build.bat b/utils/gxt/build.bat
index a674850e..17eb7983 100644
--- a/utils/gxt/build.bat
+++ b/utils/gxt/build.bat
@@ -4,5 +4,4 @@ gxt -g III -i "french.txt" -o "../../gamefiles/TEXT/french.gxt"
gxt -g III -i "german.txt" -o "../../gamefiles/TEXT/german.gxt"
gxt -g III -i "italian.txt" -o "../../gamefiles/TEXT/italian.gxt"
gxt -g III -i "spanish.txt" -o "../../gamefiles/TEXT/spanish.gxt"
-gxt -g III -r -i "russian.txt" -o "../../gamefiles/TEXT/russian.gxt"
-gxt -g III -p -i "polish.txt" -o "../../gamefiles/TEXT/polish.gxt"
+gxt -g III -r -i "russian.txt" -o "../../gamefiles/TEXT/russian.gxt"
\ No newline at end of file
diff --git a/utils/gxt/french.txt b/utils/gxt/french.txt
index 09a1f5c2..c2c125f0 100644
--- a/utils/gxt/french.txt
+++ b/utils/gxt/french.txt
@@ -1,11 +1,4 @@
-{
- New strings are at the bottom of file.
- Do not change the order of strings.
- You can fix the typos of existing translation but please refrain from
- unnecessary edits like rephasing because you think it suits better for your taste.
-}
-
-[LETTER1]
+[LETTER1]
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789"$,.'-?!!SDBF
[DEFNAM]
@@ -2240,11 +2233,11 @@ Une voiture piégée coûte 1000$ pièce!
[GA_5]
Ta voiture est déjà équipée d'une bombe.
-[GA_6] { re3 change }
-Gare-la, arme la bombe avec la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ et CASSE-TOI!
+[GA_6]
+Gare-la, arme la bombe avec la ~h~touche ~k~~PED_FIREWEAPON~~w~ et CASSE-TOI!
-[GA_7] { re3 change }
-Arme la bombe avec la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~. Elle explose au démarrage.
+[GA_7]
+Arme la bombe avec la ~h~touche ~k~~PED_FIREWEAPON~~w~. Elle explose au démarrage.
[GA_8]
Utilise le détonateur pour armer la bombe.
@@ -2459,6 +2452,33 @@ Accélérateur
[FEC_SMT]
Déclencheur de mission spéciale
+[FEC_CCF]
+Configuration:
+
+[FEC_CF1]
+Config1
+
+[FEC_CF2]
+Config2
+
+[FEC_CF3]
+Config3
+
+[FEC_CF4]
+Config4
+
+[FEC_CDP]
+Affichage de la manette:
+
+[FEC_ONF]
+A pied
+
+[FEC_INC]
+Dans un véhicule
+
+[FEC_VIB]
+Vibrations:
+
[FEA_OUT]
Sortie audio:
@@ -3491,11 +3511,11 @@ D'accord ?
[JM6_1]
Va à la banque par la rue principale.
-[GA_6B] { re3 change }
-Tu la gares, tu l'amorces en appuyant sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ et tu te barres!
+[GA_6B]
+Tu la gares, tu l'amorces en appuyant sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ et tu te barres!
-[GA_7B] { re3 change }
-Pour armer la bombe, appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~. Elle explosera au démarrage.
+[GA_7B]
+Pour armer la bombe, appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~. Elle explosera au démarrage.
[BAT1]
~g~Ramasse la batte!
@@ -3926,11 +3946,11 @@ Amène ton véhicule à l'atelier de peinture pour annuler ton ~h~indice de rech
[HM1_1]
~G~Refroidis 20 Nines violets en 2 minutes et 30 secondes.
-[KM1_8A] { re3 change }
-Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour ~h~activer la bombe~w~, n'oublie pas de t'éloigner.
+[KM1_8A]
+Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour ~h~activer la bombe~w~, n'oublie pas de t'éloigner.
-[KM1_8D] { re3 change }
-Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour ~h~activer la bombe~w~, n'oublie pas de t'éloigner.
+[KM1_8D]
+Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour ~h~activer la bombe~w~, n'oublie pas de t'éloigner.
[KM1_12]
~g~Amène-le au dojo mais débarrasse-toi des flics d'abord!
@@ -4067,11 +4087,11 @@ J'ai pas besoin de tes papiers d'identité. Je pense qu'on peut te faire confian
[DETON]
DETONATION :
-[DRIVE_A] { re3 change }
-Selectionne un Uzi quand tu montes dans la voiture, regarde à gauche ou à droite et appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour tirer.
+[DRIVE_A]
+Selectionne un Uzi quand tu montes dans la voiture, regarde à gauche ou à droite et appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour tirer.
-[DRIVE_B] { re3 change }
-Selectionne un Uzi quand tu montes dans la voiture, regarde à gauche ou à droite et appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour tirer.
+[DRIVE_B]
+Selectionne un Uzi quand tu montes dans la voiture, regarde à gauche ou à droite et appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour tirer.
[RECORD]
~g~NOUVEAU RECORD!
@@ -4079,11 +4099,11 @@ Selectionne un Uzi quand tu montes dans la voiture, regarde à gauche ou à droi
[NRECORD]
~r~PAS DE RECORD!
-[RCHELP] { re3 change }
-Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ ou heurte une roue de voiture avec le véhicule télécommandé pour le faire exploser.
+[RCHELP]
+Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ ou heurte une roue de voiture avec le véhicule télécommandé pour le faire exploser.
-[RCHELPA] { re3 change }
-Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ ou heurte une roue de voiture avec le véhicule télécommandé pour le faire exploser.
+[RCHELPA]
+Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ ou heurte une roue de voiture avec le véhicule télécommandé pour le faire exploser.
[RC_1]
Tu as 2 minutes pour faire péter autant de voitures de Diablo que tu peux!
@@ -4583,11 +4603,11 @@ LA DISPARITION DE LOVE
[RM5_6]
~g~Il s'est enfui! Bousille-lui son plâtre avec une bagnole ou une explosion!
-[PBOAT_1] { re3 change }
-Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour tirer avec les canons du bateau.
+[PBOAT_1]
+Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour tirer avec les canons du bateau.
-[PBOAT_2] { re3 change }
-Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour tirer avec les canons du bateau.
+[PBOAT_2]
+Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour tirer avec les canons du bateau.
[DIAB1_B]
C'est El Burro des Diablos.
@@ -4601,11 +4621,11 @@ Il y a une course de bagnoles qui va partir de la vieille école près du pont d
[DIAB1_F]
Trouve-toi une caisse et le premier qui franchit tous les points de passage, gagne le gros lot.
-[HM2_1] { re3 change }
-Utilise les buggies télécommandés pour détruire les voitures blindées. Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour les faire exploser.
+[HM2_1]
+Utilise les buggies télécommandés pour détruire les voitures blindées. Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour les faire exploser.
-[HM2_1A] { re3 change }
-Utilise les buggies télécommandés pour détruire les voitures blindées. Appuie sur la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour les faire exploser.
+[HM2_1A]
+Utilise les buggies télécommandés pour détruire les voitures blindées. Appuie sur la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour les faire exploser.
[HM2_2]
~r~T'as pas réussi à détruire toutes leurs voitures blindées!
@@ -6617,11 +6637,11 @@ Cette memory card (PS2) est déjà formatée.
[FEDSAS4]
;=<> - CHANGER SELECTION
-[SPRAY_4] { re3 change }
-Utilise la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour tirer à l'aide du canon à eau.
+[SPRAY_4]
+Utilise la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour tirer à l'aide du canon à eau.
-[SPRAY_1] { re3 change }
-Utilise la ~h~touche ~k~~VEHICLE_FIREWEAPON~~w~ pour tirer à l'aide du canon à eau.
+[SPRAY_1]
+Utilise la ~h~touche ~k~~PED_FIREWEAPON~~w~ pour tirer à l'aide du canon à eau.
[AM1_10]
~g~Salvatore Leone partira de chez Luigi vers 0~1~:~1~.
@@ -7484,6 +7504,9 @@ CONNEXION
[FET_AUD]
CONFIG. AUDIO
+[FET_GFX]
+CONFIG. EFFETS SPECIAUX
+
[FET_DIS]
CONFIG. AFFICHAGE
@@ -8183,187 +8206,6 @@ MATERIEL INDISPONIBLE - PARAMETRE D'ORIGINE RETABLI
[CRED270]
MIKE HONG
-{ re3 updates }
-{ new languages }
-[FEL_JAP]
-JAPONAIS
-
-[FEL_POL]
-POLONAIS
-
-[FEL_RUS]
-RUSSE
-
-{ new display menus }
-[FET_GFX] { this probably needs to be retranslated }
-CONFIG. EFFETS SPECIAUX
-
-[FED_MIP]
-MIP MAPPING
-
-[FED_AAS]
-ANTI ALIASING
-
-[FED_FIL]
-TEXTURE FILTERING
-
-[FED_BIL]
-BILINEAR
-
-[FED_TRL]
-TRILINEAR
-
-[FED_WND]
-WINDOWED
-
-[FED_FLS]
-FULLSCREEN
-
-[FEM_CSB]
-CUTSCENE BORDERS
-
-[FEM_SCF]
-SCREEN FORMAT
-
-[FEM_ISL]
-MAP MEMORY USAGE
-
-[FEM_LOW]
-LOW
-
-[FEM_MED]
-MEDIUM
-
-[FEM_HIG]
-HIGH
-
-[FEM_2PR]
-PS2 ALPHA TEST
-
-[FEC_FRC]
-FREE CAM
-
-{ Linux joy detection }
-[FEC_JOD]
-DETECT JOYSTICK
-
-[FEC_JPR]
-Press any key on the joystick of your choice that you want to use on the game, and it will be selected.
-
-[FEC_JDE]
-Detected joystick
-
-{ mission restart }
-[FET_RMS]
-REJOUER MISSION
-
-[FESZ_RM]
-REJOUER?
-
-{ more graphics }
-[FED_VPL]
-VEHICLE PIPELINE
-
-[FED_PRM]
-PED RIM LIGHT
-
-[FED_RGL]
-ROAD GLOSS
-
-[FED_CLF]
-COLOUR FILTER
-
-[FED_WLM]
-WORLD LIGHTMAPS
-
-[FED_MBL]
-MOTION BLUR
-
-[FEM_SIM]
-SIMPLE
-
-[FEM_NRM]
-NORMAL
-
-[FEM_MOB]
-MOBILE
-
-[FED_MFX]
-MATFX
-
-[FED_NEO]
-NEO
-
-[FEM_PS2]
-PS2
-
-[FEM_XBX]
-XBOX
-
-[FEM_AUT] { aspect ratio related }
-AUTO
-
-{ controls }
-[FEC_IVP]
-INVERT PAD VERTICALLY
-
-{ map }
-[FEM_TWP]
-Toggle Waypoint
-
-[FEA_FMN]
-RADIO ETEINTE
-
-[FEC_DS2]
-DUALSHOCK 2
-
-[FEC_DS3]
-DUALSHOCK 3
-
-[FEC_DS4]
-DUALSHOCK 4
-
-[FEC_360]
-XBOX 360 CONTROLLER
-
-[FEC_ONE]
-XBOX ONE CONTROLLER
-
-[FEC_TYP]
-GAMEPAD TYPE
-
-[FEC_CCF]
-CONFIGURATION
-
-[FEC_CF1]
-CONFIGURATION 1
-
-[FEC_CF2]
-CONFIGURATION 2
-
-[FEC_CF3]
-CONFIGURATION 3
-
-[FEC_CF4]
-CONFIGURATION 4
-
-[FEC_CDP]
-AFFICHAGE DE LA MANETTE
-
-[FEC_ONF]
-A PIED
-
-[FEC_INC]
-DANS UN VÉHICULE
-
-[FEC_VIB]
-VIBRATIONS
-
-[FET_AGS]
-GAMEPAD SETTINGS
-
-{ end of file }
-
[DUMMY]
THIS LABEL NEEDS TO BE HERE !!!
AS THE LAST LABEL DOES NOT GET COMPILED
\ No newline at end of file
diff --git a/utils/gxt/german.txt b/utils/gxt/german.txt
index 2ab4df6a..8f3f207e 100644
--- a/utils/gxt/german.txt
+++ b/utils/gxt/german.txt
@@ -1,11 +1,4 @@
-{
- New strings are at the bottom of file.
- Do not change the order of strings.
- You can fix the typos of existing translation but please refrain from
- unnecessary edits like rephasing because you think it suits better for your taste.
-}
-
-[LETTER1]
+[LETTER1]
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789"$,.'-?!!SDBF
[DEFNAM]
@@ -2276,11 +2269,11 @@ Autobomben kosten $1000 pro Stück.
[GA_5]
In deinem Wagen ist schon eine Autobombe.
-[GA_6] { re3 change }
-Park die Karre, mach sie durch Drücken der ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~ scharf, und dann nichts wie weg!
+[GA_6]
+Park die Karre, mach sie durch Drücken der ~h~~k~~PED_FIREWEAPON~-Taste~w~ scharf, und dann nichts wie weg!
-[GA_7] { re3 change }
-Mach die Bombe mit der ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~ scharf. Dann geht sie hoch, wenn der Wagen angelassen wird.
+[GA_7]
+Mach die Bombe mit der ~h~~k~~PED_FIREWEAPON~-Taste~w~ scharf. Dann geht sie hoch, wenn der Wagen angelassen wird.
[GA_8]
Benutze den Zünder, um die Bombe hochgehen zu lassen.
@@ -2495,6 +2488,33 @@ Beschleunigen
[FEC_SMT]
Spezialmission aktivieren
+[FEC_CCF]
+Konfiguration:
+
+[FEC_CF1]
+Konfig1
+
+[FEC_CF2]
+Konfig2
+
+[FEC_CF3]
+Konfig3
+
+[FEC_CF4]
+Konfig4
+
+[FEC_CDP]
+Controller-Anzeige:
+
+[FEC_ONF]
+Zu Fuß
+
+[FEC_INC]
+Im Auto
+
+[FEC_VIB]
+Vibration:
+
[FEA_OUT]
Tonausgabe:
@@ -3635,11 +3655,11 @@ Okay?
[JM6_1]
Fahr zu der Bank auf dem Boulevard.
-[GA_6B] { re3 change }
-Park die Karre, mach sie durch Drücken der ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~ scharf, und dann HAU AB!
+[GA_6B]
+Park die Karre, mach sie durch Drücken der ~h~~k~~PED_FIREWEAPON~-Taste~w~ scharf, und dann HAU AB!
-[GA_7B] { re3 change }
-Mach die Bombe mit der ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~ scharf. Sie geht hoch, wenn der Wagen angelassen wird.
+[GA_7B]
+Mach die Bombe mit der ~h~~k~~PED_FIREWEAPON~-Taste~w~ scharf. Sie geht hoch, wenn der Wagen angelassen wird.
[BAT1]
~g~Nimm dir den Schlãger!
@@ -4073,11 +4093,11 @@ Fahre deinen Wagen in die Lackiererei, um deinen ~h~Fahndungslevel~w~ loszuwerde
[HM1_1]
~g~Fertige 20 Purple Nines in 2 Min. 30 Sek. ab.
-[KM1_8A] { re3 change }
-Drücke die~h~ ~k~~VEHICLE_FIREWEAPON~-Taste~w~ zum ~h~Zünden der Bombe~w~. Aber geh vorher in Deckung!
+[KM1_8A]
+Drücke die~h~ ~k~~PED_FIREWEAPON~-Taste~w~ zum ~h~Zünden der Bombe~w~. Aber geh vorher in Deckung!
-[KM1_8D] { re3 change }
-Drücke die~h~ ~k~~VEHICLE_FIREWEAPON~-Taste~w~ zum ~h~Zünden der Bombe~w~. Aber geh vorher in Deckung!
+[KM1_8D]
+Drücke die~h~ ~k~~PED_FIREWEAPON~-Taste~w~ zum ~h~Zünden der Bombe~w~. Aber geh vorher in Deckung!
[KM1_12]
~g~Bring ihm zum Dojo, aber hãng vorher die Cops ab!
@@ -4214,11 +4234,11 @@ Auf den Ausweis verzichte ich. Du siehst vertrauenswürdig aus.
[DETON]
DETONATION:
-[DRIVE_A] { re3 change }
-Halt eine Uzi im Anschlag, wenn du in ein Fahrzeug steigst. Schau dann nach links oder rechts und drücke die ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~, um zu feuern.
+[DRIVE_A]
+Halt eine Uzi im Anschlag, wenn du in ein Fahrzeug steigst. Schau dann nach links oder rechts und drücke die ~h~~k~~PED_FIREWEAPON~-Taste~w~, um zu feuern.
-[DRIVE_B] { re3 change }
-Halt eine Uzi im Anschlag, wenn du in ein Fahrzeug steigst. Schau dann nach links oder rechts und drücke die ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~, um zu feuern.
+[DRIVE_B]
+Halt eine Uzi im Anschlag, wenn du in ein Fahrzeug steigst. Schau dann nach links oder rechts und drücke die ~h~~k~~PED_FIREWEAPON~-Taste~w~, um zu feuern.
[RECORD]
~g~NEUER REKORD!!
@@ -4226,11 +4246,11 @@ Halt eine Uzi im Anschlag, wenn du in ein Fahrzeug steigst. Schau dann nach link
[NRECORD]
~r~KEIN NEUER REKORD!
-[RCHELP] { re3 change }
-Drücke die ~k~~VEHICLE_FIREWEAPON~-Taste oder fahre das ferngesteuerte Auto in die Rãder eines Fahrzeugs, um es zu sprengen.
+[RCHELP]
+Drücke die ~k~~PED_FIREWEAPON~-Taste oder fahre das ferngesteuerte Auto in die Rãder eines Fahrzeugs, um es zu sprengen.
-[RCHELPA] { re3 change }
-Drücke die ~k~~VEHICLE_FIREWEAPON~-Taste oder fahre das ferngesteuerte Auto in die Rãder eines Fahrzeugs, um es zu sprengen.
+[RCHELPA]
+Drücke die ~k~~PED_FIREWEAPON~-Taste oder fahre das ferngesteuerte Auto in die Rãder eines Fahrzeugs, um es zu sprengen.
[RC_1]
Du hast 2 Minuten, um so viele Diablo-Autos wie möglich zu sprengen!
@@ -4730,11 +4750,11 @@ LOVES VERSCHWINDEN
[RM5_6]
~g~Er ist abgehauen! Zerstöre seine Panzerung mit einem Auto oder einer Explosion!!
-[PBOAT_1] { re3 change }
-Drücke die ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~, um die Bordkanonen abzufeuern.
+[PBOAT_1]
+Drücke die ~h~~k~~PED_FIREWEAPON~-Taste~w~, um die Bordkanonen abzufeuern.
-[PBOAT_2] { re3 change }
-Drücke die ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~, um die Bordkanonen abzufeuern.
+[PBOAT_2]
+Drücke die ~h~~k~~PED_FIREWEAPON~-Taste~w~, um die Bordkanonen abzufeuern.
[DIAB1_B]
Hier El Burro, von den Diablos.
@@ -4748,11 +4768,11 @@ Bei der alten Schulhalle nahe der Callahan Bridge findet ein Rennen statt.
[DIAB1_F]
Besorg dir 'nen fahrbaren Untersatz. Wer als erster alle Checkpoints abfãhrt, ist Sieger.
-[HM2_1] { re3 change }
-Zerstöre die gepanzerten Fahrzeuge mit den Buggies. Zur Zündung drücke die ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~.
+[HM2_1]
+Zerstöre die gepanzerten Fahrzeuge mit den Buggies. Zur Zündung drücke die ~h~~k~~PED_FIREWEAPON~-Taste~w~.
-[HM2_1A] { re3 change }
-Zerstöre die gepanzerten Fahrzeuge mit den Buggies. Zur Zündung drücke die ~h~~k~~VEHICLE_FIREWEAPON~-Taste~w~.
+[HM2_1A]
+Zerstöre die gepanzerten Fahrzeuge mit den Buggies. Zur Zündung drücke die ~h~~k~~PED_FIREWEAPON~-Taste~w~.
[HM2_2]
~r~Du hast nicht alle gepanzerten Fahrzeuge zerstört!
@@ -6575,11 +6595,11 @@ Diese Memory Card (PS2) ist bereits formatiert.
[FEDSAS4]
;=<> - AUSWAHL ÃNDERN
-[SPRAY_4] { re3 change }
-~h~~k~~VEHICLE_FIREWEAPON~-Taste ~w~benutzen, um die Wasserkanone abzufeuern.
+[SPRAY_4]
+~h~~k~~PED_FIREWEAPON~-Taste ~w~benutzen, um die Wasserkanone abzufeuern.
-[SPRAY_1] { re3 change }
-~h~~k~~VEHICLE_FIREWEAPON~-Taste ~w~benutzen, um die Wasserkanone abzufeuern.
+[SPRAY_1]
+~h~~k~~PED_FIREWEAPON~-Taste ~w~benutzen, um die Wasserkanone abzufeuern.
[LITTLE]
LITTLE T
@@ -7307,6 +7327,9 @@ VERBINDUNG
[FET_AUD]
AUDIO-SETUP
+[FET_GFX]
+GRAFIK-SETUP
+
[FET_DIS]
ANZEIGEN-SETUP
@@ -8000,185 +8023,6 @@ HARDWARE NICHT VERFÜGBAR - ORIGINAL-EINSTELLG. WIEDERHERGESTELLT
[CRED270]
MIKE HONG
-{ re3 updates }
-{ new languages }
-[FEL_JAP]
-JAPANISCH
-
-[FEL_POL]
-POLNISCH
-
-[FEL_RUS]
-RUSSISCH
-
-{ new display menus }
-[FET_GFX]
-GRAFIK-SETUP
-
-[FED_MIP]
-MIP MAPPING
-
-[FED_AAS]
-ANTI ALIASING
-
-[FED_FIL]
-TEXTURE FILTERING
-
-[FED_BIL]
-BILINEAR
-
-[FED_TRL]
-TRILINEAR
-
-[FED_WND]
-WINDOWED
-
-[FED_FLS]
-FULLSCREEN
-
-[FEM_CSB]
-CUTSCENE BORDERS
-
-[FEM_SCF]
-SCREEN FORMAT
-
-[FEM_ISL]
-MAP MEMORY USAGE
-
-[FEM_LOW]
-LOW
-
-[FEM_MED]
-MEDIUM
-
-[FEM_HIG]
-HIGH
-
-[FEM_2PR]
-PS2 ALPHA TEST
-
-[FEC_FRC]
-FREE CAM
-
-{ Linux joy detection }
-[FEC_JOD]
-DETECT JOYSTICK
-
-[FEC_JPR]
-Press any key on the joystick of your choice that you want to use on the game, and it will be selected.
-
-[FEC_JDE]
-Detected joystick
-
-{ mission restart }
-[FET_RMS]
-MISSION WIEDERHOLEN
-
-[FESZ_RM]
-WIEDERHOLEN?
-
-{ more graphics }
-[FED_VPL]
-VEHICLE PIPELINE
-
-[FED_PRM]
-PED RIM LIGHT
-
-[FED_RGL]
-ROAD GLOSS
-
-[FED_CLF]
-COLOUR FILTER
-
-[FED_WLM]
-WORLD LIGHTMAPS
-
-[FED_MBL]
-MOTION BLUR
-
-[FEM_SIM]
-SIMPLE
-
-[FEM_NRM]
-NORMAL
-
-[FEM_MOB]
-MOBILE
-
-[FED_MFX]
-MATFX
-
-[FED_NEO]
-NEO
-
-[FEM_PS2]
-PS2
-
-[FEM_XBX]
-XBOX
-
-[FEM_AUT] { aspect ratio related }
-AUTO
-
-{ controls }
-[FEC_IVP]
-INVERT PAD VERTICALLY
-
-{ map }
-[FEM_TWP]
-Toggle Waypoint
-
-[FEA_FMN]
-RADIO AUS
-
-[FEC_DS2]
-DUALSHOCK 2
-
-[FEC_DS3]
-DUALSHOCK 3
-
-[FEC_DS4]
-DUALSHOCK 4
-
-[FEC_360]
-XBOX 360 CONTROLLER
-
-[FEC_ONE]
-XBOX ONE CONTROLLER
-
-[FEC_TYP]
-GAMEPAD TYPE
-
-[FEC_CCF]
-KONFIGURATION
-
-[FEC_CF1]
-KONFIGURATION 1
-
-[FEC_CF2]
-KONFIGURATION 2
-
-[FEC_CF3]
-KONFIGURATION 3
-
-[FEC_CF4]
-KONFIGURATION 4
-
-[FEC_CDP]
-CONTROLLER-ANZEIGE
-
-[FEC_ONF]
-ZU FUß
-
-[FEC_INC]
-IM AUTO
-
-[FEC_VIB]
-VIBRATION
-
-[FET_AGS]
-GAMEPAD SETTINGS
-
[DUMMY]
THIS LABEL NEEDS TO BE HERE !!!
AS THE LAST LABEL DOES NOT GET COMPILED
\ No newline at end of file
diff --git a/utils/gxt/italian.txt b/utils/gxt/italian.txt
index 54c9fee8..822a30b8 100644
--- a/utils/gxt/italian.txt
+++ b/utils/gxt/italian.txt
@@ -1,11 +1,4 @@
-{
- New strings are at the bottom of file.
- Do not change the order of strings.
- You can fix the typos of existing translation but please refrain from
- unnecessary edits like rephasing because you think it suits better for your taste.
-}
-
-[LETTER1]
+[LETTER1]
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789"$,.'-?!!SDBFàèéìòùÀÈÉÌÒÙ
[DEFNAM]
@@ -2267,11 +2260,11 @@ Le bombe per le macchine costano 1000$
[GA_5]
La tua macchina ha già una bomba installata.
-[GA_6] { re3 change }
-Parcheggiala, attivala premendo il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ e DATTELA A GAMBE!
+[GA_6]
+Parcheggiala, attivala premendo il ~h~tasto ~k~~PED_FIREWEAPON~~w~ e DATTELA A GAMBE!
-[GA_7] { re3 change }
-Arma la bomba con il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~: esploderà non appena qualcuno cercherà di avviarla.
+[GA_7]
+Arma la bomba con il ~h~tasto ~k~~PED_FIREWEAPON~~w~: esploderà non appena qualcuno cercherà di avviarla.
[GA_8]
Usa il detonatore per attivare la bomba.
@@ -2486,6 +2479,33 @@ Accelera
[FEC_SMT]
Attivatore missione speciale
+[FEC_CCF]
+Configurazione:
+
+[FEC_CF1]
+Config1
+
+[FEC_CF2]
+Config2
+
+[FEC_CF3]
+Config3
+
+[FEC_CF4]
+Config4
+
+[FEC_CDP]
+Schermata controller:
+
+[FEC_ONF]
+A piedi
+
+[FEC_INC]
+In macchina
+
+[FEC_VIB]
+Vibrazione:
+
[FEA_OUT]
Uscita:
@@ -3626,11 +3646,11 @@ OK?
[JM6_1]
Raggiungi la banca sulla strada principale.
-[GA_6B] { re3 change }
-Parcheggiala, innesca la bomba schiacciando il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ e BATTITELA!
+[GA_6B]
+Parcheggiala, innesca la bomba schiacciando il ~h~tasto ~k~~PED_FIREWEAPON~~w~ e BATTITELA!
-[GA_7B] { re3 change }
-Innescala col ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~. La bomba esploderà quando si tenterà di avviare il motore.
+[GA_7B]
+Innescala col ~h~tasto ~k~~PED_FIREWEAPON~~w~. La bomba esploderà quando si tenterà di avviare il motore.
[BAT1]
~g~Prendi la mazza!
@@ -4064,11 +4084,11 @@ Porta l'auto dal carrozziere per perdere il ~h~livello di sospetto~w~, ~h~ripara
[HM1_1]
~g~Fredda 20 Purple Nine in 2 minuti e 30 secondi.
-[KM1_8A] { re3 change }
-Premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per ~h~attivare la bomba~w~: ricorda di toglierti di mezzo!
+[KM1_8A]
+Premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per ~h~attivare la bomba~w~: ricorda di toglierti di mezzo!
-[KM1_8D] { re3 change }
-Premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per ~h~attivare la bomba~w~: e ricorda di toglierti di mezzo!
+[KM1_8D]
+Premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per ~h~attivare la bomba~w~: e ricorda di toglierti di mezzo!
[KM1_12]
~g~Portalo nel dojo, ma prima sbarazzati degli sbirri!
@@ -4205,11 +4225,11 @@ Non mi serve che mi mostri i documenti, hai una faccia fidata.
[DETON]
DETONAZIONE:
-[DRIVE_A] { re3 change }
-Seleziona un Uzi quando entri in un veicolo, poi guarda a destra o a sinistra e premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per sparare.
+[DRIVE_A]
+Seleziona un Uzi quando entri in un veicolo, poi guarda a destra o a sinistra e premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per sparare.
-[DRIVE_B] { re3 change }
-Seleziona un Uzi quando entri in un veicolo, poi guarda a destra o a sinistra e premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per sparare.
+[DRIVE_B]
+Seleziona un Uzi quando entri in un veicolo, poi guarda a destra o a sinistra e premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per sparare.
[RECORD]
~g~NUOVO RECORD!!!
@@ -4217,11 +4237,11 @@ Seleziona un Uzi quando entri in un veicolo, poi guarda a destra o a sinistra e
[NRECORD]
~r~NESSUN NUOVO RECORD!
-[RCHELP] { re3 change }
-Premi il tasto ~k~~VEHICLE_FIREWEAPON~ o dirigi l'auto radiocomandata contro i pneumatici di un veicolo per provocarne la detonazione.
+[RCHELP]
+Premi il tasto ~k~~PED_FIREWEAPON~ o dirigi l'auto radiocomandata contro i pneumatici di un veicolo per provocarne la detonazione.
-[RCHELPA] { re3 change }
-Premi il tasto ~k~~VEHICLE_FIREWEAPON~ o dirigi l'auto radiocomandata contro i pneumatici di un veicolo per provocarne la detonazione.
+[RCHELPA]
+Premi il tasto ~k~~PED_FIREWEAPON~ o dirigi l'auto radiocomandata contro i pneumatici di un veicolo per provocarne la detonazione.
[RC_1]
Hai 2 minuti per far esplodere quante più auto dei Diablo possibile!
@@ -4724,11 +4744,11 @@ LA SCOMPARSA DI LOVE
[RM5_6]
~g~Ci è scappato! Spaccagli la corazza con un veicolo o con una bella esplosione!
-[PBOAT_1] { re3 change }
-Premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per sparare con i cannoni della barca.
+[PBOAT_1]
+Premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per sparare con i cannoni della barca.
-[PBOAT_2] { re3 change }
-Premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per sparare con i cannoni della barca.
+[PBOAT_2]
+Premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per sparare con i cannoni della barca.
[DIAB1_B]
Sono El Burro dei Diablo.
@@ -4742,11 +4762,11 @@ C'e una corsa d'auto con inizio alla vecchia scuola vicino al ponte Callahan.
[DIAB1_F]
Procurati un mezzo, il primo che attraversa tutti i posti di blocco vince il premio.
-[HM2_1] { re3 change }
-Usa i maggiolini radiocomandati per distruggere le auto blindate. Premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per farli esplodere.
+[HM2_1]
+Usa i maggiolini radiocomandati per distruggere le auto blindate. Premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per farli esplodere.
-[HM2_1A] { re3 change }
-Usa i maggiolini radiocomandati per distruggere le auto blindate. Premi il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per farli esplodere.
+[HM2_1A]
+Usa i maggiolini radiocomandati per distruggere le auto blindate. Premi il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per farli esplodere.
[HM2_2]
~r~Non sei riuscito a distruggere tutte le auto blindate!
@@ -6572,11 +6592,11 @@ Questa memory card (PS2) è già formattata.
[FEDSAS4]
;=<> - CAMBIA SELEZIONE
-[SPRAY_4] { re3 change }
-Usa il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per sparare col cannone ad acqua.
+[SPRAY_4]
+Usa il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per sparare col cannone ad acqua.
-[SPRAY_1] { re3 change }
-Usa il ~h~tasto ~k~~VEHICLE_FIREWEAPON~~w~ per sparare col cannone ad acqua.
+[SPRAY_1]
+Usa il ~h~tasto ~k~~PED_FIREWEAPON~~w~ per sparare col cannone ad acqua.
[LITTLE]
LITTLE T
@@ -7313,6 +7333,9 @@ CONNESSIONE
[FET_AUD]
IMPOSTAZIONI AUDIO
+[FET_GFX]
+IMPOSTAZIONI GRAFICA
+
[FET_DIS]
IMPOSTAZIONI VIDEO
@@ -8012,185 +8035,6 @@ RIPRISTINATE IMPOSTAZIONI ORIGINALI
[FET_RSC]
HARDWARE NON DISPONIBILE - RIPRISTINATE IMPOSTAZIONI ORIGINALI
-{ re3 updates }
-{ new languages }
-[FEL_JAP]
-GIAPPONESE
-
-[FEL_POL]
-POLACCO
-
-[FEL_RUS]
-RUSSO
-
-{ new display menus }
-[FET_GFX]
-IMPOSTAZIONI GRAFICA
-
-[FED_MIP]
-MIP MAPPING
-
-[FED_AAS]
-ANTI ALIASING
-
-[FED_FIL]
-TEXTURE FILTERING
-
-[FED_BIL]
-BILINEAR
-
-[FED_TRL]
-TRILINEAR
-
-[FED_WND]
-WINDOWED
-
-[FED_FLS]
-FULLSCREEN
-
-[FEM_CSB]
-CUTSCENE BORDERS
-
-[FEM_SCF]
-SCREEN FORMAT
-
-[FEM_ISL]
-MAP MEMORY USAGE
-
-[FEM_LOW]
-LOW
-
-[FEM_MED]
-MEDIUM
-
-[FEM_HIG]
-HIGH
-
-[FEM_2PR]
-PS2 ALPHA TEST
-
-[FEC_FRC]
-FREE CAM
-
-{ Linux joy detection }
-[FEC_JOD]
-DETECT JOYSTICK
-
-[FEC_JPR]
-Press any key on the joystick of your choice that you want to use on the game, and it will be selected.
-
-[FEC_JDE]
-Detected joystick
-
-{ mission restart }
-[FET_RMS]
-RIGIOCA MISSIONE
-
-[FESZ_RM]
-RIGIOCA?
-
-{ more graphics }
-[FED_VPL]
-VEHICLE PIPELINE
-
-[FED_PRM]
-PED RIM LIGHT
-
-[FED_RGL]
-ROAD GLOSS
-
-[FED_CLF]
-COLOUR FILTER
-
-[FED_WLM]
-WORLD LIGHTMAPS
-
-[FED_MBL]
-MOTION BLUR
-
-[FEM_SIM]
-SIMPLE
-
-[FEM_NRM]
-NORMAL
-
-[FEM_MOB]
-MOBILE
-
-[FED_MFX]
-MATFX
-
-[FED_NEO]
-NEO
-
-[FEM_PS2]
-PS2
-
-[FEM_XBX]
-XBOX
-
-[FEM_AUT] { aspect ratio related }
-AUTO
-
-{ controls }
-[FEC_IVP]
-INVERT PAD VERTICALLY
-
-{ map }
-[FEM_TWP]
-Toggle Waypoint
-
-[FEA_FMN]
-RADIO SPENTA
-
-[FEC_DS2]
-DUALSHOCK 2
-
-[FEC_DS3]
-DUALSHOCK 3
-
-[FEC_DS4]
-DUALSHOCK 4
-
-[FEC_360]
-XBOX 360 CONTROLLER
-
-[FEC_ONE]
-XBOX ONE CONTROLLER
-
-[FEC_TYP]
-GAMEPAD TYPE
-
-[FEC_CCF]
-CONFIGURAZIONE
-
-[FEC_CF1]
-CONFIGURAZIONE 1
-
-[FEC_CF2]
-CONFIGURAZIONE 2
-
-[FEC_CF3]
-CONFIGURAZIONE 3
-
-[FEC_CF4]
-CONFIGURAZIONE 4
-
-[FEC_CDP]
-SCHERMATA CONTROLLER
-
-[FEC_ONF]
-A PIEDI
-
-[FEC_INC]
-IN MACCHINA
-
-[FEC_VIB]
-VIBRAZIONE
-
-[FET_AGS]
-GAMEPAD SETTINGS
-
[DUMMY]
THIS LABEL NEEDS TO BE HERE !!!
AS THE LAST LABEL DOES NOT GET COMPILED
\ No newline at end of file
diff --git a/utils/gxt/polish.txt b/utils/gxt/polish.txt
deleted file mode 100755
index 39727554..00000000
--- a/utils/gxt/polish.txt
+++ /dev/null
@@ -1,8108 +0,0 @@
-{
- New strings are at the bottom of file.
- Do not change the order of strings.
- You can fix the typos of existing translation but please refrain from
- unnecessary edits like rephasing because you think it suits better for your taste.
-}
-
-[LETTER1]
-abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789'$,.'-?!!SDBF
-
-[DEFNAM]
-Claude----------------------
-
-[IN_VEH]
-~g~Hej! Wracaj do samochodu!
-
-[IN_VEH2]
-~g~Do tej roboty jest ci potrzebna jakaś gablota!
-
-[IN_BOAT]
-~g~Do tej roboty jest ci potrzebna łódź!
-
-[HEY]
-~g~Nie idź sam, trzymaj się całej paczki!
-
-[HEY2]
-~g~Nie rozdzielajcie się, niech cała grupa porusza się razem!
-
-[HEY3]
-~g~Straciłeś z oczu swojego podopiecznego - wracaj i odszukaj 8-Balla!
-
-[HEY4]
-~g~Jeżeli stracisz Misty, to Luigi zadba, abyś stracił życie! Wracaj po nią!
-
-[HEY5]
-~g~One of the girls is AWOL, Go back and round her up!
-
-[HEY6]
-~g~Twój honor jest związany z osobą Kanbu z Yakuzy. Musisz go chronić!
-
-[HEY7]
-~g~Przydałaby się dodatkowa spluwa. Wracaj i zabierz ze sobą swój kontakt!
-
-[HEY8]
-~g~Ochrona oznacza właśnie to, co podejrzewasz - ochraniaj starego dżentelmena z dalekiego wschodu!
-
-[HEY9]
-~g~Chcesz posłuchać, co się dzieje w mieście? Odszukaj swój kontakt!
-
-[HELP2_A]
-Jeżeli w trakcie biegu chcesz ~h~przyspieszyć~h~, naciśnij klawisz ~h~/~w~.
-
-[HELP3]
-Sprintem można pokonywać wyłącznie krótkie odcinki, dopóki postać ma zapas sił.
-
-[HELP4_A]
-Aby ~h~przyspieszyć~w~, naciśnij klawisz ~h~ ~k~~VEHICLE_ACCELERATE~~w~.
-
-[HELP4_D]
-Aby ~h~przyspieszyć~w~, popchnij ~h~prawy drążek analogowy~w~ do góry.
-
-[HELP5_A]
-Naciśnij klawisz ~h~ ~k~~VEHICLE_BRAKE~~w~, aby ~h~zahamować~w~ lub włączyć ~h~wsteczny bieg~w~, jeżeli pojazd już stoi.
-
-[HELP5_D]
-Pociągnij ~h~prawy drążek analogowy~w~ do tyłu, aby ~h~zahamować~w~ lub włączyć ~h~wsteczny bieg~w~, jeżeli pojazd już stoi.
-
-[HELP6_A]
-Aby skorzystać z ~h~hamulca ręcznego~w~, naciśnij klawisz ~h~ ~k~~VEHICLE_HANDBRAKE~~w~.
-
-[HELP6_C]
-Aby skorzystać z ~h~hamulca ręcznego~w~, naciśnij klawisz ~h~ ~k~~VEHICLE_HANDBRAKE~~w~.
-
-[HELP6_D]
-Aby skorzystać z ~h~hamulca ręcznego~w~, naciśnij klawisz ~h~ ~k~~VEHICLE_HANDBRAKE~~w~.
-
-[HELP7_A]
-Aby ~h~wycelować~w~ karabin snajperski, naciśnij i przytrzymaj klawisz~h~ ~k~~PED_LOCK_TARGET~~w~.
-
-[HELP7_D]
-Aby ~h~wycelować~w~ karabin snajperski, naciśnij i przytrzymaj klawisz~h~ ~k~~PED_LOCK_TARGET~~w~.
-
-[HELP8_A]
-Naciśnij klawisz~h~ ~k~~PED_SNIPER_ZOOM_IN~~w~, aby ~h~przybliżyć ~w~widok przez lunetkę karabinu oraz klawisz~h~ ~k~~PED_SNIPER_ZOOM_OUT~~w~, aby ~h~oddalić~w~ widok.
-
-[HELP9_A]
-Naciśnij klawisz~h~ ~k~~PED_FIREWEAPON~~w~, aby oddać ~h~strzał~w~ z karabinu snajperskiego.
-
-[HELP10]
-Gwiazda szeryfa oznacza, że jesteś poszukiwany przez policję.
-
-[HELP11]
-Im więcej gwiazdek, tym wyższy jest poziom twojej złej sławy.
-
-[HELP13]
-Niekiedy trzeba będzie skorzystać z tras, które nie są zaznaczone na radarze.
-
-[TIMER]
-Jest to misja na czas - musisz ją wykonać, zanim licznik czasu osiągnie zero.
-
-[MISTY1]
-~r~Misty nadaje się już tylko na łóżko w kostnicy!
-
-[OUT_VEH]
-~g~Wysiądź z samochodu!
-
-[GARAGE]
-Wprowadź samochód do garażu, a potem wyjdź na zewnątrz.
-
-[WANTED1]
-~g~Zgub gliniarzy i obniż swój poziom złej sławy!
-
-[NODOORS]
-~g~To nie są sardynki! Załatw furę, która pomieści więcej osób.
-
-[TRASH]
-~g~Doprowadziłeś gablotę do ruiny! Połataj ją trochę!
-
-[WRECKED]
-~r~Samochód jest zniszczony!
-
-[HORN]
-~g~Naciśnij klakson.
-
-[NOMONEY]
-~g~Masz za mało forsy!
-
-[OUTTIME]
-~r~Za wolno, koleś, za wolno!
-
-[SPOTTED]
-~r~Gonią cię!
-
-[REWARD]
-NAGRODA $~1~
-
-[GAMEOVR]
-KONIEC GRY
-
-[Z]
-Wartość osi Z: ~1~
-
-[M_FAIL]
-MISJA NIEUDANA!
-
-[M_PASS]
-MISJA ZALICZONA! $~1~
-
-[O_PASS]
-ROBOTA ZAKOŃCZONA
-
-[O_FAIL]
-ROBOTA NIEUDANA
-
-[DEAD]
-KONIEC Z TOBĄ!
-
-[BUSTED]
-WPADKA!
-
-[S_PROMP]
-Kiedy nie jesteś w trakcie misji, możesz w tym miejscu ~h~zapisać stan gry~w~. Wiąże się to z upływem sześciu godzin w grze.
-
-[NUMBER]
-~1~
-
-[SCORE]
-$~1~
-
-[LOADCAR]
-ŁADOWANIE POJAZDU (NACIŚNIJ L1, ABY ANULOWAĆ)
-
-[CARSOFF]
-Wyłączone samochody:
-
-[CARS_ON]
-Uruchomione samochody:
-
-[TEXTXYZ]
-Zapisywanie współrzędnych w pliku...
-
-[CHEATON]
-Tryb ułatwień WŁĄCZONY
-
-[CHEATOF]
-Tryb ułatwień WYŁĄCZONY
-
-[UZI_IN]
-Amu-Nacja zaczyna sprzedawać uzi!
-
-[IMPORT1]
-Wyjdź na zewnątrz i poczekaj na swój samochód.
-
-[PAGEB1]
-Pistolet dostarczony do kryjówki
-
-[PAGEB2]
-Uzi dostarczone do kryjówki
-
-[PAGEB3]
-Pancerz dostarczony do kryjówki
-
-[PAGEB4]
-Obrzyn dostarczony do kryjówki
-
-[PAGEB5]
-Granaty dostarczone do kryjówki
-
-[PAGEB6]
-Koktajle Mołotowa dostarczone do kryjówki
-
-[PAGEB7]
-AK 47 dostarczony do kryjówki
-
-[PAGEB8]
-Karabin snajperski dostarczony do kryjówki
-
-[PAGEB9]
-M16 dostarczony do kryjówki
-
-[PAGEB10]
-Wyrzutnia rakiet dostarczona do kryjówki
-
-[PAGEB11]
-Miotacz ognia dostarczony do kryjówki
-
-[WANT_A]
-Aresztowanie grozi ci dopiero wtedy, kiedy posiadasz ~h~złą sławę.
-
-[WANT_B]
-Twój ~h~poziom złej sławy~w~ przedstawia rząd gwiazdek znajdujących się w prawym górnym rogu ekranu.
-
-[WANT_C]
-W tym momencie twój ~h~poziom złej sławy~w~ wynosi jeden...
-
-[WANT_D]
-dwa...
-
-[WANT_E]
-trzy...
-
-[WANT_F]
-W miarę wzrostu ~h~złej sławy~w~ ścigać cię będą coraz potężniejsze siły policyjne.
-
-[WANT_G]
-Kiedy zaliczysz ~h~'wpadkę'~w~, zostajesz odwieziony na najbliższy posterunek policji.
-
-[WANT_H]
-Gliniarze zarekwirują ci całą broń i będziesz musiał wypłacić im małą łapówkę.
-
-[WANT_I]
-Misja, którą właśnie wykonywałeś, zostanie uznana za nieudaną.
-
-[WANT_J]
-W miarę rozwoju gry odkryjesz sposoby zmniejszania swojego poziomu złej sławy.
-
-[WANT_K]
-Jeżeli jesdziesz samochodem, ~h~WARSZTATY LAKIERNICZE~w~ umożliwiają ~h~usunięcie złej sławy.
-
-[HEAL_B]
-Kiedy zostajesz ~h~'załatwiony'~w~, trafiasz do najbliższego szpitala.
-
-[HEAL_C]
-Tracisz całą broń oraz musisz zapłacić lekarzom trochę forsy za ich wysiłki.
-
-[HEAL_E]
-W trakcie gry poznasz rozmaite metody leczenia bądź chronienia głównego bohatera.
-
-[DAM]
-USZKODZENIA:
-
-[KILLS]
-OFIARY:
-
-[FARES]
-PRZEJAZDY:
-
-[BULL]
-SZTABKI:
-
-[EVID]
-DOWODY:
-
-[HEALTH]
-STAN POJAZDU:
-
-[COLLECT]
-ZEBRANO:
-
-[BOMB]
-Wprowadź samochód do garażu, aby przymocować do niego ~h~bombę~w~. Cena - ~h~$1000.
-
-[SAVE1]
-Aby ~h~zapisać stan gry~w~, przejdź przez drzwi. Jeżeli jesteś w trakcie misji, nie można zapisać gry.
-
-[SAVE2]
-Samochody pozostawione w tym garażu zostaną zachowane wraz z zapisem stanu gry.
-
-[AMMU]
-Wejdź do Amu-nacji, aby zakupić broń.
-
-[BRIDGE1]
-Kiedy naprawa Mostu Callahan zostanie ukończona, będziesz mógł przejechać nim na Wyspę Staunton.
-
-[TUNNEL]
-Kiedy Tunel Porter zostanie otwarty, będziesz mógł przejechać na Wyspę Staunton.
-
-[LUIGI]
-MISJE LUIGIEGO
-
-[TONI]
-MISJE TONIEGO
-
-[JOEY]
-MISJE JOEYA
-
-[FRANK]
-MISJE SALVATORE
-
-[DIABLO]
-MISJE DIABLO
-
-[ASUKA]
-MISJE ASUKI
-
-[B_SITE]
-MISJE PODMIEJSKIE ASUKI
-
-[KENJI]
-MISJE KENJIEGO
-
-[RAY]
-MISJE RAYA
-
-[LOVE]
-MISJE LOVE'A
-
-[YARDIE]
-MISJE DLA GANGU YARDIE
-
-[HOOD]
-MISJE DLA GANGU HOOD
-
-[CITYZON]
-Liberty City
-
-[IND_ZON]
-Portland
-
-[PORT_W]
-Callahan Point
-
-[PORT_S]
-Atlantic Quays
-
-[PORT_E]
-Portland Harbor
-
-[PORT_I]
-Trenton
-
-[S_VIEW]
-Portland View
-
-[CHINA]
-Chinatown
-
-[EASTBAY]
-Plaza Portland
-
-[LITTLEI]
-Saint Mark's
-
-[REDLIGH]
-Dz. Czerwonych Świateł
-
-[TOWERS]
-Wzgórza Hepburn
-
-[HARWOOD]
-Harwood
-
-[ROADBR1]
-Most Callahan
-
-[ROADBR2]
-Most Callahan
-
-[TUNNELP]
-Tunel Porter
-
-[BOMB1]
-Warsztat 8-Balla.
-
-[COM_ZON]
-Wyspa Staunton
-
-[STADIUM]
-Aspatria
-
-[HOSPI_2]
-Rockford
-
-[UNIVERS]
-Kampus Liberty
-
-[CONSTRU]
-Fort Staunton
-
-[PARK]
-Park Belleville
-
-[COM_EAS]
-Newport
-
-[SHOPING]
-Bedford Point
-
-[YAKUSA]
-Torrington
-
-[SUB_ZON]
-Shoreside Vale
-
-[AIRPORT]
-Port Lotniczy Francis
-
-[PROJECT]
-Wichita Gardens
-
-[SUB_IND]
-Pike Creek
-
-[SWANKS]
-Cedar Grove
-
-[BIG_DAM]
-Tama Cochrane
-
-[SUB_ZO2]
-Shoreside Vale
-
-[SUB_ZO3]
-Shoreside Vale
-
-[CAR_1]
-Karetka
-
-[CAR_2]
-Straż pożarna
-
-[CAR_3]
-Radiowóz
-
-[CAR_4]
-Enforcer
-
-[CAR_5]
-Barracks
-
-[CAR_6]
-Hipcio
-
-[CAR_7]
-Samochód FBI
-
-[CAR_8]
-Konwojowóz
-
-[CAR_9]
-Moonbeam
-
-[CAR_10]
-Autokar
-
-[CAR_11]
-Flatbed
-
-[CAR_12]
-Linerunner
-
-[CAR_13]
-Śmieciożer
-
-[CAR_14]
-Patriot
-
-[CAR_15]
-Pan Smakołyk
-
-[CAR_16]
-Muł
-
-[CAR_17]
-Yankee
-
-[CAR_18]
-Pony
-
-[CAR_19]
-Bobcat
-
-[CAR_20]
-Rumpo
-
-[CAR_21]
-Blista
-
-[CAR_22]
-Dodo
-
-[CAR_23]
-Autobus
-
-[CAR_24]
-Sentinel
-
-[CAR_25]
-Cheetah
-
-[CAR_26]
-Demon
-
-[CAR_27]
-Stinger
-
-[CAR_28]
-Infernus
-
-[CAR_29]
-Esperanto
-
-[CAR_30]
-Kuruma
-
-[CAR_31]
-Stretch
-
-[CAR_32]
-Perennial
-
-[CAR_33]
-Landstalker
-
-[CAR_34]
-Manana
-
-[CAR_35]
-Idaho
-
-[CAR_36]
-Ogier
-
-[CAR_37]
-Taksówka
-
-[CAR_38]
-Taksówka
-
-[CAR_39]
-Buggy
-
-[LUIGIS]
-Lokal Luigiego
-
-[GOAWAY]
-~g~Już podjąłeś się jednej misji!
-
-[LUIGGO]
-~g~Luigi sprawdza nowe dziewczyny. Przyjdź później!
-
-[JOEYGO]
-~g~Joey wyszedł do miasta z Misty. Przyjdź później.
-
-[TONIGO]
-~g~Toni zabrał swoją Mamuśkę do opery - wpadnij kiedy indziej!
-
-[KEMUGO]
-~g~Maria i Kemuri mają chwilowo inne obowiązki - wpadnij później!
-
-[KENJGO]
-~g~Kenji jest na naradzie Yakuzy. Wpadnij innym razem!
-
-[RAYGO]
-~g~Ray kręci się przy innych kiblach - wpadnij później!
-
-[LOVEGO]
-~g~Donald Love chwilowo zajmuje się innymi sprawami. Umów się z nim na późniejszą godzinę!
-
-[KENSGO]
-~g~Kenji jest zajęty! Wpadnij później!
-
-[HOODGO]
-~g~Hoods są aktualnie niedostępni!
-
-[WRONGT1]
-~g~Jeżeli szukasz zajęcia, wróć między 5:00 a 21:00.
-
-[WRONGT2]
-~g~Jeżeli szukasz zajęcia, wróć między 6:00 a 14:00.
-
-[WRONGT3]
-~g~Jeżeli szukasz zajęcia, wróć między 15:00 a 00:00.
-
-[GUN_1A]
-Użyj klawiszy ~h~~k~~PED_CYCLE_WEAPON_RIGHT~~w~ oraz ~h~~k~~PED_CYCLE_WEAPON_LEFT~ ~w~, aby przełączać się między kolejnymi rodzajami broni.
-
-[GUN_2A]
-Przytrzymaj klawisz ~h~~k~~PED_LOCK_TARGET~ ~w~, aby ~h~wykonać autocelowanie~w~ i naciśnij klawisz ~h~ ~k~~PED_FIREWEAPON~ ~w~, aby ~h~otworzyć ogień! Spróbuj postrzelać do celu...
-
-[GUN_2C]
-Przytrzymaj klawisz ~h~~k~~PED_LOCK_TARGET~ ~w~, aby ~h~wykonać autocelowanie~w~ i naciśnij klawisz ~h~ ~k~~PED_FIREWEAPON~ ~w~, aby ~h~otworzyć ogień! Spróbuj postrzelać do celu...
-
-[GUN_2D]
-Przytrzymaj klawisz ~h~~k~~PED_LOCK_TARGET~ ~w~, aby ~h~wykonać autocelowanie~w~ i naciśnij klawisz ~h~ ~k~~PED_FIREWEAPON~ ~w~, aby ~h~otworzyć ogień! Spróbuj postrzelać do celu...
-
-[GUN_3A]
-Trzymając wciśnięty klawisz ~h~~k~~PED_LOCK_TARGET~,~w~ naciśnij klawisz ~h~~k~~PED_CYCLE_TARGET_LEFT~~w~ lub klawisz ~h~~k~~PED_CYCLE_TARGET_RIGHT~ , aby przełączać się między celami.
-
-[GUN_3B]
-Trzymając wciśnięty klawisz ~h~~k~~PED_LOCK_TARGET~,~w~ naciśnij klawisz ~h~~k~~PED_CYCLE_TARGET_LEFT~~w~ lub klawisz ~h~~k~~PED_CYCLE_TARGET_RIGHT~ , aby przełączać się między celami.
-
-[GUN_4A]
-Trzymając wciśnięty klawisz ~h~~k~~PED_LOCK_TARGET~~w~, możesz chodzić lub biegać, a celownik cały czas pozostanie zablokowany na wybranym celu.
-
-[GUN_4B]
-Trzymając wciśnięty klawisz ~h~~k~~PED_LOCK_TARGET~~w~, możesz chodzić lub biegać, a celownik cały czas pozostanie zablokowany na wybranym celu.
-
-[GUN_5]
-Możesz przećwiczyć wybieranie celów i prowadzenie ognia na tych papierowych celach. Po treningu wróć do wykonywania misji.
-
-[TAXI1]
-~g~Poszukaj pasażera.
-
-[FARE1]
-~g~Cel podróży ~w~'Klub Seksownego Kociaka Miauu'~g~ w Dzielnicy Czerwonych Świateł.
-
-[FARE2]
-~g~Cel podróży ~w~Super Przecena~g~ w Portland View.
-
-[FARE3]
-~g~Cel podróży ~w~'stara szkoła'~g~ w Chinatown.
-
-[FARE4]
-~g~Cel podróży ~w~'kawiarenka Tłustego Joe'~g~ w Callahan Point.
-
-[FARE5]
-~g~Cel podróży ~w~'Amu-Nacja'~g~ w Dzielnicy Czerwonych Świateł.
-
-[FARE6]
-~g~Cel podróży ~w~'Auta na Kredyt'~g~ w Saint Mark's.
-
-[FARE7]
-~g~Cel podróży ~w~'bar topless 'U Woody'ego''~g~ w Dzielnicy Czerwonych Świateł.
-
-[FARE8]
-~g~Cel podróży ~w~'Bistro Marcos'~g~ w Saint Mark's.
-
-[FARE9]
-~g~Cel podróży ~w~'warsztat importowo-eksportowy'~g~ w Portland Harbor.
-
-[FARE10]
-~g~Cel podróży ~w~'Smażony Makaron'~g~ w Chinatown.
-
-[FARE12]
-~g~Cel podróży ~w~'stadion piłkarski'~g~ w Aspatrii.
-
-[FARE13]
-~g~Cel podróży ~w~'kościół'~g~ w Bedford Point.
-
-[FARE14]
-~g~Cel podróży ~w~'kasyno'~g~ w Torrington.
-
-[FARE15]
-~g~Cel podróży ~w~biblioteka Liberty~g~ w Kampusie Liberty.
-
-[FARE16]
-~g~Cel podróży ~w~galeria handlowa~g~ w okolicach Belville Park.
-
-[FARE17]
-~g~Cel podróży ~w~muzeum~g~ w Newport.
-
-[FARE18]
-~g~Cel podróży ~w~siedziba AmCo~g~ w Torrington.
-
-[FARE19]
-~g~Cel podróży ~w~Bolt Burgers~g~ w Bedford Point.
-
-[FARE20]
-~g~Cel podróży ~w~park~g~ w Belville.
-
-[FARE21]
-~g~Cel podróży ~w~Port Lotniczy im. Francisa.
-
-[FARE22]
-~g~Cel podróży ~w~'Tama Cochrane'.
-
-[FARE24]
-~g~Cel podróży ~w~'szpital' ~g~w Pike Creek.
-
-[FARE25]
-~g~Cel podróży ~w~'park'~g~ w Soherside Vale.
-
-[FARE26]
-~g~Cel podróży ~w~'North West Towers'~g~ w Wichita Gardens.
-
-[NEW_TAX]
-WIĘKSZE! SZYBSZE! MOCNIEJSZE! Nowe taksówki Borgnine rozpoczynają pracę w Harwood. Dzwoń już dziś: 555-BORGNINE.
-
-[TSCORE2]
-$~1~
-
-[IN_ROW]
-~1~Premia za SEKWENCJĘ! $~1~
-
-[TTUTOR]
-Naciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~~w~, aby włączyć lub wyłączyć misje w taksówce.
-
-[TTUTOR2]
-Naciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~~w~, aby włączyć lub wyłączyć misje taksówkarskie.
-
-[A_TIME]
-+~1~ sekund
-
-[A_FULL]
-~r~Karetka jest pełna!
-
-[A_RANGE]
-~g~Radiostacja w karetce ma zbyt mały zasięg, zbliż się bardziej w stronę szpitala!
-
-[FTUTOR]
-Naciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~~w~, aby włączyć lub wyłączyc misje strażackie.
-
-[FTUTOR2]
-Naciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~~w~, aby włączyć lub wyłączyc misje strażackie.
-
-[F_PASS1]
-Pożar ugaszony!
-
-[F_RANGE]
-~g~Radiostacja w samochodzie strażackim ma zbyt mały zasięg - zbliż się bardziej w stronę remizy!
-
-[C_BREIF]
-~g~Podejrzany ostatnio widziany był w rejonie ~a~.
-
-[C_RANGE]
-~g~Radiostacja w samochodzie ma zbyt mały zasięg, zbliż się bardziej w stronę komisariatu!
-
-[DODO_FT]
-Leciałeś przez ~1~ sekund!
-
-[EBAL_A]
-Znam takie miejsce na skraju Dzielnicy Czerwonych Świateł, w którym możemy się zamelinować na jakiś czas,
-
-[EBAL_A1]
-ale moje ręce są do niczego, więc lepiej ty prowadź, brachu.
-
-[EBAL_1]
-Naciśnij klawisz ~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, aby ~h~wsiąść ~w~lub ~h~wysiąść~w~ z pojazdu.
-
-[EBAL_1B]
-Naciśnij klawisz ~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, aby ~h~wsiąść ~w~lub ~h~wysiąść~w~ z pojazdu.
-
-[EBAL_2]
-~g~Wracaj do samochodu!
-
-[EBAL_3]
-To jest ~h~radar~w~. Korzystaj z niego podczas poruszania się po mieście. Jedź za ~h~kropką~w~ na ~h~radarze~w~, aby dotrzeć do kryjówki!
-
-[EBAL_D]
-Jest tu taki jeden gość, który zna kogo trzeba. Nazywa się Luigi.
-
-[EBAL_D1]
-Niejedno razem przeszliśmy. Dla ciebie też pewnie znajdzie się jakaś robota. Zajrzyjmy do niego!
-
-[EBAL_E]
-Wpadniemy tam, a ja przedstawię cię komu trzeba.
-
-[EBAL_I]
-Szef zaraz wyjdzie do ciebie...
-
-[EBAL_J]
-8-Ball ma jakiś interes na górze.
-
-[EBAL_K]
-Może zrobisz coś dla mnie?
-
-[EBAL_L]
-Trzeba podwieźć jedną z moich dziewczynek. Załatw gablotę i odbierz Misty z kliniki. Przywieź ją tutaj.
-
-[EBAL_N]
-I lepiej cały czas gap się tylko na drogę!
-
-[EBAL_4]
-~r~8-Ball nie żyje~!
-
-[EBAL_5]
-~g~Załatw samochód!
-
-[EBAL_6]
-~g~Zabierz Misty!
-
-[LM1]
-'DZIEWCZYNKI LUIGIEGO'
-
-[LM2]
-'MOJE DZIWKI NIE ĆPAJĄ!'
-
-[LM3]
-'WOŻĄC PANNĘ MISTY'
-
-[LM5]
-'ACH, CÓŻ TO BYŁ ZA BAL...'
-
-[LM1_2]
-~g~Zabierz Misty do klubu 'U Luigiego'.
-
-[LM1_3]
-~g~Naciśnij klakson, aby zaprosić dziewczynę do samochodu.
-
-[LM1_6]
-~g~Wracaj do samochodu!
-
-[LM1_7]
-Zatrzymaj samochód obok Misty i poczekaj, aż wsiądzie.
-
-[LM1_8]
-Możesz wrócić do Luigiego i zapytać go o pracę albo pozwiedzać Liberty City.
-
-[LM2_A]
-Na ulicy pojawił się nowy towar, HEROINA.
-
-[LM2_E]
-Jakiś mądrala wciska ten syf moim dziewczynkom na Portland Harbor.
-
-[LM2_B]
-Jedź tam i zapoznaj jego twarz z bejsbolem!
-
-[LM2_G]
-Należy mi się jakaś rekompensata za tę zniewagę!
-
-[LM2_1]
-~g~Weź jego samochód i przemaluj go.
-
-[LM2_2A]
-Użyj klawisza ~h~ ~k~~PED_FIREWEAPON~~w~, aby zadawać ciosy ~h~pięścią ~w~i ~h~nogą~w~ lub ~h~uderzyć kijem ~w~!
-
-[LM2_2C]
-Użyj klawisza ~h~ ~k~~PED_FIREWEAPON~~w~, aby zadawać ciosy ~h~pięścią ~w~i ~h~nogą~w~ lub ~h~uderzyć kijem ~w~!
-
-[LM2_2D]
-Użyj klawisza ~h~ ~k~~PED_FIREWEAPON~~w~, aby zadawać ciosy ~h~pięścią ~w~i ~h~nogą~w~ lub ~h~uderzyć kijem ~w~!
-
-[LM2_3]
-~g~Schowaj samochód w kryjówce Luigiego!
-
-[LM2_4]
-~g~Przemaluj samochód!
-
-[LM3_A]
-Ej, muszę z tobą pogadać... Spoko, Mick, dokończymy później.
-
-[LM3_B]
-Jak leci, młody?
-
-[LM3_C]
-Syn Dona, Joey, chce się zabawić ze swoją ulubioną dziewczynką, Misty.
-
-[LM3_D]
-Jedź po nią na Wzgórza Hepburn...
-
-[LM3_E]
-ale uważaj, to terytorium gangu Diablo.
-
-[LM3_F]
-Potem odwieź ją do warsztatu Joeya w Trenton, byle szybko.
-
-[LM3_H]
-więc gap się na drogę, a nie na cycki Misty!
-
-[LM3_2]
-~g~Zabierz Misty do Joeya.
-
-[LM3_4]
-~g~Jedź po Misty!
-
-[LM3_5]
-To ty pracujesz teraz jako szoferak dla Luigiego, co? Najwyższy czas, od dawna potrzebujemy zaufanego kierowcy!
-
-[LM3_7]
-Zajmę się tobą za chwilkę, iskierko.
-
-[LM3_10]
-~g~Zdobądź samochód!
-
-[LM4_B]
-Jedź tam i załatw dla mnie ten problem.
-
-[LM4_C]
-Jeżeli potrzebujesz spluwy, wpadnij na zaplecze sklepu Amu-Nacja, naprzeciwko stacji metra.
-
-[LM5_A]
-Przy Moście Callahan, w budynku starej szkoły trwa Bal Policjanta.
-
-[LM5_B]
-Skoro budynek jest stary, to i goście zapewne będą szukać rozrywek 'w starym stylu'.
-
-[LM5_C]
-Moje dziewczyny pracują na ulicach w całym mieście.
-
-[LM5_D]
-Zawieź je na bal, aby mogły solidnie popracować.
-
-[LM5_1]
-~g~Jeżeli zabierzesz za dużo dziewczyn, to się poobijają w środku!~g~ Najpierw wysadź te, które już masz, potem wróć po następne.
-
-[LM5_2]
-~r~Jedna z dziewczyn Luigiego jest już tylko kupą padliny!
-
-[LM5_3]
-~g~Jest ci potrzebny samochód!
-
-[LM5_4]
-~g~Zgarnij dziewczyny pracujące w St. Mark's.
-
-[LM5_5]
-~g~Zawieź dziewczyny na Bal Policjanta!
-
-[LM5_8]
-~g~Dziewczyny na balu: ~1~
-
-[JM2]
-'ŻEGNAJ 'OKRĄGŁY' LEE CHONG'
-
-[JM4]
-'SZOFER CIPRIANIEGO'
-
-[JM5]
-'TRUP W BAGAŻNIKU'
-
-[JM1_1]
-~g~Zabierz samochód Forelliego do warsztatu 8-Balla na północ stąd, zaraz za salonem 'Auta na Kredyt'.
-
-[JM1_2]
-~g~Potem zaparkuj wózek z powrotem na właściwym miejscu pod Bistro Marcos.
-
-[JM1_3]
-~g~Uaktywnij bombę i spadaj stamtąd!
-
-[JM1_4]
-~g~Niszczysz samochód! Napraw go!
-
-[JM1_5]
-~g~Bomba w samochodzie nie została uzbrojona!
-
-[JM1_6]
-~g~Zaparkuj samochód we właściwej pozycji.
-
-[JM1_8A]
-~y~Hej, przecież to mój kumpel!
-
-[JM1_8B]
-~y~Warsztat jest zautomatyzowany. Po prostu wjedź do środka, zatrzymaj samochód, a obsługa załatwi całą resztę.
-
-[JM1_8C]
-~y~Pierwszy raz montujemy ładunek za darmo, ale za każdym następnym razem będziesz musiał zapłacić.
-
-[JM2_A]
-'Okrągły' Lee Chong handluje prochami dla jakiegoś nowego gangu z Kolumbii... Czy z Kolorado... Nieważne...
-
-[JM2_B]
-Nie pamiętam. Zresztą, kogo to obchodzi.
-
-[JM2_D]
-Ten szczurek właśnie sprzedaje ostatnie sajgonki, rozumiesz?
-
-[JM2_E]
-Masz go zdmuchnąć!
-
-[JM2_G]
-Załatw sobie dziewiątkę. Znajdziesz ten sklep, nie?
-
-[JM2_H]
-Tylko pamiętaj, w Chinatown lepiej dobrze pilnować własnego dupska. To terytorium Triady.
-
-[JM3_A]
-W porządku, mam zamiar skubnąć ciężarówkę z wypłatami.
-
-[JM3_B]
-Codziennie wyjeżdża na miasto z okolic Chinatown.
-
-[JM3_C]
-Zwykłe kule nawet nie zarysują jej pancerza, więc musisz po prostu zdobyć ciężki samochód i zepchnąć ją z drogi.
-
-[JM3_D]
-Jak mocno walniesz, to ci tchórze z ochrony zwieją, gdzie pieprz rośnie.
-
-[JM3_E]
-Wtedy zabierz ciężarówkę do magazynu w dokach - moi ludzie już się nią tam zajmą.
-
-[JM3_F]
-Ciężarówka nie będzie na ciebie czekać, dlatego lepiej się streszczaj.
-
-[JM3_1]
-~g~Zabierz ciężarówkę do kryjówki.
-
-[JM3_2]
-~g~Taranuj ciężarówkę dopóki poziom jej uszkodzeń nie przekroczy 70 procent.
-
-[JM4_B]
-O, to jest ten gość, o którym ci mówiłem!
-
-[JM4_C]
-Posłuchaj, on nie jest Włochem i żaden z niego mechanik, ale potrafi radzić sobie z problemami.
-
-[JM4_D]
-To jest Pops Capo, a to Tony Cipriani.
-
-[JM4_E]
-Tak, Tony Cipriani to ja.
-
-[JM4_F]
-Podrzuć go do restauracji Mamuśki w St. Marks.
-
-[JM4_G]
-Jeszcze jedno. Posłuchaj, planuję taką robótkę, do której potrzebny jest dobry kierowca. Wpadnij później, to pogadamy, OK?
-
-[JM4_2]
-Zaczekaj tutaj. Nie gaś silnika - to nie jest wizyta towarzyska.
-
-[JM4_3]
-To pułapka Triad! Zabierz nas stąd, młody!
-
-[JM4_4]
-Triady myślą, że mogą ze mną zadzierać... ZE MNĄ!
-
-[JM4_6]
-Ostrożnie z tym wozem! Mówiłem, bez numerów!
-
-[JM4_7]
-~g~Zabierz Toniego do restauracji jego matki.
-
-[JM4_8]
-~r~Toni został załatwiony!
-
-[JM5_A]
-Pięknie! Po prostu pięknie.
-
-[JM5_B]
-Oto i facet, którego mi potrzeba!
-
-[JM5_D]
-Jeden z braci Forelli myślał, że jest bystrzejszy niż woda w kiblu, a więc doczekał się odpowiedniej kary.
-
-[JM5_E]
-Zabierz samochód z ciałem do zgniatarki w Harwood, OK?
-
-[JM5_1]
-~g~Zabierz samochód do zgniatarki!
-
-[JM5_2]
-~g~To bracia Forelli!
-
-[JM6_A]
-Ale z niej sztuka, co?
-
-[JM6_B]
-W porząsiu, posłuchaj. Załatw sobie gablotę i jedź do kryjówki w St. Marks. Tam zabierzesz paru moich kumpli.
-
-[JM6_C]
-Robią napad na bank i potrzebują kierowcy.
-
-[JM6_D]
-Dałem im słowo, że znasz się na tym fachu, więc nie spieprz sprawy, dobra?
-
-[JM6_E]
-Dowieź ich do banku przed godziną piątą i nie waż się spóźnić nawet minutę.
-
-[JM6_2]
-Nie gaś silnika, zaraz wracamy.
-
-[JM6_3]
-Zabierz nas stąd!!
-
-[JM6_4]
-Zgub gliniarzy i dowież nas do kryjówki!
-
-[JM6_6]
-~g~Skombinuj jakiś samochód, który będzie trochę mniej rzucał się w oczy.
-
-[JM6_7]
-~g~Musisz zabrać wszystkich 3 bandytów, aby móc przeprowadzić skok!
-
-[TM1]
-'ZABIERZ BRUDY DO PRALNI'
-
-[TM2]
-'HARACZ'
-
-[TM3]
-'SALVATORE ZWOŁUJE NARADĘ'
-
-[TM4]
-'TRIADY I TROSKI'
-
-[TM5]
-'SMAŻONE RYBY'
-
-[TONI_P]
-Mam dla ciebie pilną pracę, Toni!
-
-[TM1_A]
-~w~Siadaj, synu! Siadaj, zamknij jadaczkę i słuchaj.
-
-[TM1_B]
-~w~Więc pralnie nie chcą płacić haraczu, co?
-
-[TM1_C]
-~w~Triady myślą, że mogą mi podskakiwać?
-
-[TM1_D]
-~w~Nauczymy tych dmuchanych twardzieli, co to znaczy być prawdziwym twardzielem.
-
-[TM1_E]
-~w~Tak, damy im lekcję pokory. Mój syn nie będzie znosić upokorzeń od jakiejś Triady!
-
-[TM1_F]
-~w~Twój ojciec, Panie świeć nad jego duszą, jeszcze na Sycylii trzymał ich krótko i nie pozwalał, żeby Triady wciskały mu kit.v
-
-[TM1_G]
-~w~Przepraszam, Mamo. Tak jest, Mamo.
-
-[TM1_H]
-~w~Chcę, żebyś zniszczył ciężarówki z pralni
-
-[TM1_I]
-~w~i rozdeptał każdego sługusa Triad, który wejdzie ci w drogę.
-
-[TM1_J]
-~w~8-Ball załatwi ci wszystko, co jest potrzebne do tej roboty.
-
-[TM2_A]
-~w~TONI gdzieś polazł, znowu będzie straszyć ludzi albo przynajmniej usiłować kogoś przestraszyć.
-
-[TM2_AA]
-~w~Nigdy nie będzie nawet w połowie takim twardzielem jak jego Papa. Zostawił dla ciebie kartkę na stole.
-
-[TM2_B]
-~w~Pralnie zgodziły się zapłacić - spisałeś się dobrze, synu!
-
-[TM2_C]
-~w~Odbierz forsę i przywieź ją tutaj. Uważaj na Triady.
-
-[TM2_D]
-~w~Możliwe, że będą chcieli podłożyć nam świnię, ale nie daj sobie wciskać żadnego gówna.
-
-[TM2_E]
-~w~Nikt, powtarzam, nikt nie zadziera z TONIM CIPRIANI!
-
-[TM2_1]
-~g~Odwieź forsę Toniemu!!!
-
-[TM2_2]
-~g~Zdmuchnąłeś ich wszystkich!
-
-[TM3_MA]
-~w~Nie wiem, gdzie on się podziewa!
-
-[TM3_MB]
-~w~Jak pragnę zdrowia, ten mój chłopak czasami jest taki głupi.
-
-[TM3_MC]
-~w~Jego ojciec był zupełnie inny. Zawsze silny, męski, u steru wydarzeń...
-
-[TM3_A]
-~w~Don Salvatore zwołał naradę.
-
-[TM3_B]
-~w~Masz odebrać z warsztatu limuzynę i jego chłopaka, Joeya.
-
-[TM3_C]
-~w~Potem zabierz Luigiego z klubu i wróć tutaj po mnie.
-
-[TM3_D]
-~w~Razem pojedziemy do domu szefa.
-
-[TM3_E]
-~w~Triady nie znają umiaru.
-
-[TM3_F]
-~w~Chcą wojny, będą mieli wojnę.
-
-[TM3_G]
-~w~Teraz zmykaj.
-
-[TM3_1]
-~g~Odbierz limuzynę od Joeya.
-
-[TM3_2]
-~g~Teraz jedź po Luigiego.
-
-[TM3_3]
-~g~Teraz jedź po Toniego.
-
-[TM3_4]
-~g~Zawieź ferajnę do rezydencji Salvatore.
-
-[TM3_5]
-~y~Triady przygotowały zasadzkę!
-
-[TM4_B]
-~w~A więc WOJNA! Triady używają jako przykrywki fabryki przetwórstwa ryb.
-
-[TM4_C]
-~w~Większość ich interesów odbywa się na targu rybnym w chińskiej dzielnicy.
-
-[TM4_D]
-~w~Pralnie nadal wiszą nam haracz za ochronę.
-
-[TM4_E]
-~w~Żółtki myślą, że Triady ich obronią, więc czas wymierzyć im stosowną karę.
-
-[TM4_F]
-~w~Weź tych dwóch chłopaków i załatwcie szefów Triady!
-
-[TM4_G]
-~w~Tam, u diabła, jeżeli nadarzy się okazja, to załatwcie też paru żołnierzy Triady.
-
-[TM4_GAT]
-~g~Do środka może wjechać tylko ciężarówka Triad.
-
-[TM5_B]
-~w~Wystarczy już tego pitolenia.
-
-[TM5_C]
-~w~Czas wykończyć Triady w Liberty raz na zawsze!
-
-[TM5_D]
-8-Ball założył ładunek wybuchowy w śmieciarce.
-
-[TM5_E]
-~w~To jest bomba z zegarem czasowym, więc jak się spóźnisz, nie pozostanie po tobie żaden ślad. Jedź po śmieciarkę.
-
-[TM5_F]
-~w~Tylko ostrożnie, 8-Ball mówi, że mechanizm jest cholernie czuły i byle wstrząs może spowodować wybuch!
-
-[TM5_G]
-~w~Zaparkuj między cysternami z benzyną i znikaj stamtąd!
-
-[TM5_H]
-~w~Zaparkuj pomiędzy zbiornikami z gazem i spadaj gdzie pieprz rośnie!
-
-[TM5_I]
-~w~Chcę, żeby na miasto spadł deszcz makreli.
-
-[TM5_J]
-~w~Zobaczysz, tym razem to nie żadne wielkanocne bum-bum, tylko prawdziwa plaga biblijna!
-
-[FM2]
-'RÓWNO Z TRAWĄ'
-
-[FM4]
-'OSTATNIE PROŚBY'
-
-[FM1_A]
-~w~Ja i moi ludzie musimy obgadać parę kwestii,
-
-[FM1_B]
-~w~a więc ty zapewnisz mojej dziewczynie rozrywkę na wieczór.
-
-[FM1_C]
-~w~HEJ, MARIA! RUSZ DUPĘ!
-
-[FM1_D]
-~w~Głupia suka, zawsze się tak zachowuje.
-
-[FM1_E]
-~w~A oto i ona, jedyna w swoim rodzaju królowa piękności!
-
-[FM1_F]
-~w~Co tam robiłaś tyle czasu?
-
-[FM1_G]
-~w~Cokolwiek to było, na pewno straciłem na tym jakieś pieniądze.
-
-[FM1_H]
-~w~Chyba nie myślisz, że jestem tu, bo lubię z tobą gadać?
-
-[FM1_I]
-~w~Wsiadaj do samochodu i zamknij swoją wielką gębę.
-
-[FM1_J]
-~w~Możesz zabrać limuzynę, ale przyprowadź ją z powrotem w jednym kawałku, zrozumiano?
-
-[FM1_K]
-~w~I uważaj na nią! Ona lubi pakować się w kłopoty!
-
-[FM1_L]
-~w~Dość! Twój nowy piesek gończy na pewno zna już te historyjki,
-
-[FM1_M]
-~w~a poza tym to przecież kawał chłopa!
-
-[FM1_N]
-~w~Hej, piesku! Odwiedzimy Chico i załatwimy jakieś dopalacze na imprezę.
-
-[FM1_P]
-~g~To właśnie Chico, podjedź do niego.
-
-[FM1_S]
-~w~Jak sobie życzysz, moja pani.
-
-[FM1_TT]
-~w~NALOT POLICYJNY!
-
-[FM1_1]
-~g~Wracaj do limuzyny!
-
-[FM1_2]
-~g~Wsiadaj do limuzyny!
-
-[FM1_3]
-~r~Jeżeli zostawisz Marię, Salvatore każe cię obić jak psa! Zawróćj i zabierz ją ze sobą!
-
-[FM1_4]
-~g~Zostawiłeś kobietę Dona! Wracaj do magazynu i zaczekaj na Marię!
-
-[FM1_5]
-~g~Zawieź Marię do domu Salvatore tak, aby włos jej z głowy nie spadł!
-
-[FM1_6]
-~g~Chico nie będzie czekał wiecznie - zabierz Marię na wybrzeże!
-
-[FM1_7]
-~r~Maria nie żyje! Salvatore nie ucieszy się z tej wiadomości...
-
-[FM1_8]
-~r~Załatwiłeś dostawcę Marii!!!
-
-[FM2_J]
-Zostaw nas na chwilkę samych.
-
-[FM2_A]
-Kartel Kolumbijski produkuje HEROINĘ gdzieś na terenie Liberty.
-
-[FM2_K]
-ale nadal nie wiemy, gdzie, a oni działają tak, jakby z góry znali wszystkie nasze posunięcia.
-
-[FM2_L]
-Za barem 'U Luigiego' pracuje pewien gość. Nazywa się Kudłaty Bob.
-
-[FM2_M]
-Ostatnio wydaje więcej kasy niż mógłby zarobić.
-
-[FM2_N]
-Zazwyczaj po pracy wraca do domu taksówką. Jedź za nim.
-
-[FM2_O]
-A jeżeli okaże się, że to nasz kret... Zabij go!
-
-[FM2_F]
-Oto nasz mały przyjaciel, pan wielka gęba we własnej osobie.
-
-[FM2_G]
-Ktoś cię śledził? Wiesz, że to, co się tu dzieje, to nasz mały sekret.
-
-[FM2_H]
-Nie, nikt mnie nie śledził. Masz mój towar?
-
-[FM2_I]
-Masz swoje prochy, śmieciu, a teraz mów.
-
-[FM2_P]
-A więc rodzina Leone prowadzi teraz wojnę na dwa fronty.
-
-[FM2_Q]
-Z Triadami toczą wojnę o terytorium i wygląda na to, że żadna ze stron nie ma zamiaru się poddać.
-
-[FM2_R]
-Z drugiej strony, Joey Leone wplątał się w krwawe porachunki z rodziną Forellich.
-
-[FM2_S]
-Rodzina Leone z każdym dniem traci ludzi i wpływy w mieście.
-
-[FM2_T]
-Salvatore zaczyna zachowywać się jak niebezpieczny dla otoczenia paranoik. Podejrzewa wszystkich i wszędzie wietrzy spisek.
-
-[FM2_U]
-Ale jeżeli wszyscy są tak lojalni jak ty, to nie ma się o co martwić, prawda?
-
-[FM2_1]
-~g~To Kudłaty Bob!
-
-[FM2_2]
-~g~Kudłaty wyszedł z klubu - śledź go!
-
-[FM2_5]
-~g~Zabierz go do Portland Harbor.
-
-[FM2_6]
-~r~Kudłaty nie wsiądzie do porozbijanej taksówki!
-
-[FM2_7]
-~r~Kudłaty zwiał! Spotkanie odwołane!
-
-[FM2_8]
-~g~Walnij Kudłatego Boba!
-
-[FM2_9]
-~r~Kudłaty Bob nie żyje!
-
-[FM2_10]
-~r~Kudłaty ucieka!
-
-[FM2_11]
-~g~Zaparkuj przed klubem 'U Luigiego'! Kudłaty Bob powinien niedługo wyjść.
-
-[FM2_12]
-~r~Zgubiłeś go!
-
-[FM3_A]
-~w~Powinniśmy sprzątnąć tych łajdaków z Kartelu,
-
-[FM3_B]
-~w~ale dopóki mamy na głowie wojnę z Triadami, nie mamy na to dość sił.
-
-[FM3_C]
-~w~Kartel zarabia ogromne pieniądze na sprzedaży tej syfiastej HEROINY.
-
-[FM3_D]
-~w~Jeżeli przypuścimy otwarty atak, rozsmarują nas na miazgę.
-
-[FM3_E]
-~w~Zapewne produkują prochy na tym wielkim statku, do którego doprowadził cię Kudłaty.
-
-[FM3_F]
-~w~Dlatego właśnie musimy działać z głową. I to z twoją głową.
-
-[FM3_G]
-~w~Chciałbym prosić cię, abyś zrobił mi osobistą przysługę i zniszczył tę fabrykę HERY, Salvatore.
-
-[FM3_H]
-~w~Jeżeli to ci się uda, spędzisz resztę życia w dostatku.
-
-[FM3_I]
-~w~Spotkaj się z 8-Ballem. On zna się na dynamicie jak nikt inny - będziesz potrzebował jego doświadczenia.
-
-[FM3_8A]
-~w~Mój czarnuch! Salvatore już dzwonił,
-
-[FM3_8B]
-~w~ale do takiej roboty potrzeba będzie sporo fajerwerków.
-
-[FM3_8D]
-~w~ale chyba wiesz, że żaden dolar z tej sumy nie zostanie zmarnowany.
-
-[FM3_8E]
-~w~W porządku, zróbmy to!
-
-[FM3_8F]
-~w~Mogę nastawić to maleństwo na wybuch, ale rany na moich łapskach jeszcze się nie wygoiły i nie poradzę sobię z giwerą.
-
-[FM3_8G]
-~w~Weź karabin i rozwal parę łbów.
-
-[FM3_4]
-~g~Zatrzymaj samochód i wypuść 8-Balla!
-
-[FM3_7]
-~r~Zgubiłeś 8-Balla!
-
-[FM3_8]
-~r~Strażnicy podnieśli alarm!
-
-[FM4_A]
-~w~To mój ulubiony czyściciel.
-
-[FM4_B]
-~w~Jestem z ciebie dumny, chłopcze Wybiłeś tym tępakom to ich gówno z głów.
-
-[FM4_C]
-~w~Zanim będziemy mogli uczcić twój sukces, mam dla ciebie jeszcze jedną małą robótkę.
-
-[FM4_D]
-~w~Na następnej przecznicy stoi samochód z klubu Lugiego.
-
-[FM4_E]
-~w~W środku jest cały upaćkany mózgiem.
-
-[FM4_F]
-~w~Musieliśmy pomóc jednemu gościowi namyślić się nad paroma sprawami i wyszedł z tego niezły bałagan.
-
-[FM4_H]
-~w~Zabierz ten samochód do zgniatacza, zanim wypatrzą go gliniarze.
-
-[AM3]
-'PAPARAZZO NA DNIE'
-
-[AM4]
-'WYPŁATA DLA RAYA'
-
-[AM5]
-DWULICOWY TANNER
-
-[AM1_A]
-Zanim przejdziemy do jakichkolwiek interesów, musimy wyjaśnić sobie
-
-[AM1_B]
-pewne kwestie. Wyłóżmy nasze karty na stół.
-
-[AM1_C]
-Należę do Yakuzy i wiem, że pracowałeś dla rodziny Salvatore Leone.
-
-[AM1_D]
-Myślę, że znajdzie się dla ciebie miejsce w naszej organiacji.
-
-[AM1_E]
-Ale najpierw musisz udowodnić, że naprawdę zerwałeś wszystkie związki z Mafią.
-
-[AM1_G]
-Zadbaj, aby nie dotarł do celu żywy.
-
-[AM1_H]
-W międzyczasie, ja i Maria pogawędzimy o starych dobrych czasach.
-
-[AM1_I]
-Asuka, przyszedł twój masażysta.
-
-[AM1_J]
-To nie żaden masażysta.
-
-[AM1_1]
-~g~Salvatore wychodzi z knajpy 'U Luigiego'!
-
-[AM1_2]
-~r~Zostałeś zauważony!
-
-[AM1_3]
-~r~Spudłowałeś do Salvatore!
-
-[AM1_4]
-~r~Znakomicie, wystraszyłeś cel! I ty uważasz się za zawodowca?
-
-[AM1_5]
-~g~Jedź do Dzielnicy Czerwonych Świateł i poczekaj, aż Salvatore wyjdzie z klubu.
-
-[AM1_7]
-~r~Salvatore siedzi sobie bezpiecznie w domu i sączy swój koktajl. Nie spodziewaj się, że ktoś nazwie cię 'Szakalem'!
-
-[AM1_8]
-~g~Salvatore będzie wychodzić z klubu Luigiego około ~1~:~1~
-
-[AM2_4]
-~g~Skradałeś się z gracją słonia w składzie porcelany!
-
-[AM3_A]
-Jakiś nieproszony reporter wtykał tu swój nos
-
-[AM3_B]
-Maria i ja jedziemy razem na małe wakacje, a ty pozbądź się tego zboczonego podglądacza.
-
-[AM4_A]
-A oto i mój ulubiony człowiek do każdej roboty!
-
-[AM4_B]
-Maria chciałaby cię widzieć, ale... nie może podejść. Powiem jej, że pytałeś.
-
-[AM4_C]
-Kto tam? Asuka? Wiem, że byłam niegrzeczną dziewczynką, ale naprawdę muszę do toalety! OK?
-
-[AM4_D]
-Czas, abyś poznał naszą wtyczkę w tutejszej policji.
-
-[AM4_E]
-Tu masz zapłatę za ostatnią robótkę, jaką dla nas wykonał.
-
-[AM4_F]
-Facet jest bardzo ostrożny, to chyba jasne.
-
-[AM4_G]
-Jak najszybciej odszukaj budkę telefoniczną w Torrington i czekaj na instrukcje.
-
-[AM5_A]
-Maria i ja wyszliśmy na zakupy.
-
-[AM5_B]
-Nasze źródło w policji donosi, że jeden z naszych kierowców to policyjny tajniak.
-
-[AM5_C]
-Bez samochodu nie jest groźny. Przyczepiliśmy do jego gabloty nadajnik.
-
-[AM5_D]
-Niech się dowie, czym grozi taka zabawa.
-
-[AM5_1]
-Tanner chyba ma coś do ciebie!
-
-[AS1]
-'PRZYNĘTA'
-
-[AS2]
-'ESPRESSO NA WYNOS!'
-
-[AS4]
-'OKUP'
-
-[AS1_A]
-~w~Miguel chyba uważa, że źle go traktuję.
-
-[AS1_B]
-~w~Mimo to zdradził mi, jak bardzo Catalina obawia się twojej zemsty.
-
-[AS2_A]
-~w~Nie doceniliśmy planów, jakie Catalina wiąże ze swoją heroiną.
-
-[AS2_B]
-~w~Marzy jej się coś więcej niż banda Yardies sprzedająca prochy na rogu.
-
-[AS2_D]
-~w~Sprzedają herę w swojej sieci budek ulicznych.
-
-[AS2_1]
-~g~Wszystkie budki z espresso w Portland zostałyzniszczone!!
-
-[AS2_2]
-~g~Wszystkie budki z espresso na Wyspie Staunton zostały zniszczone!!
-
-[AS2_3]
-~g~Wszystkie budki z espresso w Shoreside Vale zostały zniszczone!!
-
-[AS2_4]
-~r~Kartel ostrzegł swoich dilerów!!
-
-[AS2_5]
-~g~W Shoreside Vale i na Wyspie Staunton nadal stoi kilka budek z espresso!
-
-[AS2_6]
-~g~W Shoreside Vale nadal stoi kilka budek z espresso!
-
-[AS2_7]
-~g~Na Wyspie Staunton nadal stoi kilka budek z espresso!
-
-[AS2_8]
-~g~W Portland nadal stoi kilka budek z espresso
-
-[AS2_9]
-~g~W Portland i Shoreside Vale nadal stoi kilka budek z espresso
-
-[AS2_10]
-~g~W Portland i na Wyspie Staunton nadal stoi kilka budek z espresso
-
-[AS2_12]
-~g~Badaj dzielnice miasta i szukaj budek Espresso-2-Go!
-
-[AS3_A]
-~W~Przyciskamy już teraz czy poczekamy, aż trochę osłabnie?
-
-[AS3_B]
-~w~Popieść go trochę...
-
-[AS3_D]
-~w~Mój Człowiek do Każdej Roboty!
-
-[AS3_E]
-~w~Nudziłam się, więc wpadłam żeby dotrzymać Asuce towarzystwa.
-
-[AS3_1]
-~g~Odszukaj ~r~łódź~g~ i dopłyń do ~b~boi!
-
-[AS3_3]
-~g~Odczekaj, aż ~y~samolot~g~ rozpocznie podejście!!
-
-[AS3_5]
-~g~Zbierz ładunek!
-
-[AS3_4]
-~g~Użyj wyrzutni rakietowej aby zestrzelić ~y~samolot~g~!!
-
-[AS3_2]
-~b~Płyń do boi wyznaczających lądowisko! ~y~Samolot wykonuje już ostatnie podejście!!
-
-[AS3_6]
-~g~~1~ Z 8!
-
-[KM1]
-'UCIECZKA KANBU'
-
-[KM3]
-'ZDUSIĆ UKŁADY'
-
-[KM4]
-'SHIMA'
-
-[KM5]
-'UDERZENIE'
-
-[KM1_A]
-Moja siostra ma o tobie dobre mniemanie,
-
-[KM1_E]
-choć nie mogę sobie wyobrazić, żeby gaijin mógł dać nam coś innego niż rozczarowania.
-
-[KM1_B]
-Być może mógłbyś pomóc w rozwiązaniu problemu, który leży mi na sercu.
-
-[KM1_F]
-Rzecz jasna, porażka oznacza utratę honoru.
-
-[KM1_C]
-Kanbu, członek Yakuzy, przebywa w areszcie, gdzie czeka na proces.
-
-[KM1_G]
-To ceniony członek rodziny.
-
-[KM1_H]
-Odbij go z aresztu i przywieź do dojo w Bedford Point.
-
-[KM1_D]
-Dziękujemy ci za twoje bezinteresowne działania. Jeżeli kiedykolwiek będziesz potrzebował pomocy, dojo z radością przydzieli ci dwóch wojowników, którzy staną u twego boku.
-
-[KM1_1]
-~g~Ukradnij radiowóz!
-
-[KM1_2]
-~g~Załóż bombę w samochodzie!
-
-[KM1_3]
-~g~Teraz zawieź go do dojo Yakuzy.
-
-[KM1_5]
-~g~W porządku, teraz jazda na posterunek.
-
-[KM1_6]
-~g~Zamontuj w samochodzie ładunek wybuchowy!
-
-[KM1_7]
-~g~Tylko dla pojazdów policyjnych!
-
-[KM1_9]
-~r~Nie użyłeś bomby samochodowej, aby zniszczyć mur.
-
-[KM1_10]
-~r~Kanbu z Yakuzy jest trupem - tak samo jak twój honor!
-
-[KM1_11]
-~r~Ściągnąłeś sobie na głowę kłopoty!
-
-[KM2_A]
-Nie sposób przecenić znaczenia etykiety w tej branży.
-
-[KM2_B]
-Na moją hańbę, pewien człowiek oddał mi kiedyś przysługę, a ja nigdy nie miałem okazji, aby mu się odwdzięczyć.
-
-[KM2_C]
-Konikiem tego człowieka są samochody. Poprosił mnie, abym zgromadził pewne modele aut do jego kolekcji.
-
-[KM2_F]
-Od tego zależy mój honor.
-
-[KM2_2]
-~g~Samochód dostarczony.
-
-[KM3_A]
-Kiedy nadciągają ciemne chmury, głupiec odwraca wzrok, a mędrzec stawia im czoła.
-
-[KM3_B]
-Kartel Kolumbijski zignorował liczne prośby, aby nie naruszać naszych interesów w Liberty City.
-
-[KM3_C]
-Teraz negocjują układ z Jamajczykami, aby jeszcze bardziej nas upokorzyć.
-
-[KM3_D]
-Właśnie finalizują układ o podziale wpływów w mieście.
-
-[KM3_F]
-Weź jednego z moich ludzi, ukradnij samochód gangu Yardie i jedź przekazać Kolumbijczykom nasze wyrazy szacunku.
-
-[KM3_E]
-Nasz honor wymaga, aby wszyscy umarli.
-
-[KM3_2]
-~g~Jedź po swój kontakt.
-
-[KM3_3]
-~g~Spotkanie odbędzie się na parkingu szpitalnym w Rockford!
-
-[KM3_4]
-~r~Uciekają!
-
-[KM3_6]
-~g~Zabij ich, zabij ich wszystkich!
-
-[KM3_8]
-~g~Aby wykonać zadanie, potrzebujesz samochodu gangu Yardie.
-
-[KM3_9]
-~r~Jeden z Kolumbiczyków nie żyje, układ odwołany.
-
-[KM3_10]
-~r~Twój kontakt nie żyje!
-
-[KM4_A]
-Jeżeli chcesz być naprawdę silny, nie możesz nigdy okazywać słabości.
-
-[KM4_C]
-Jak najszybciej odbierz pieniądze, abyśmy mogli wpłacić je na konto kasyna.
-
-[KM4_1]
-Nie mam wam czym zapłacić, ale nawet gdybym miał, to i tak bym tego nie zrobił!
-
-[KM4_9]
-Jakaś banda szczeniaków właśnie stąd uciekła! Zabrali wszystko!
-
-[KM4_2]
-Nie ma z was żadnego pożytku.
-
-[KM4_10]
-A czy ty w ogóle należysz do Yakuzy...?
-
-[KM4_3]
-Nie za to wam płacę, obwiesie. Gdybym chciał takiej ochrony, to zaprosiłbym cholerną policję.
-
-[KM4_4]
-~g~Wymierz karę gangowi odpowiedzialnemu za napad i odzyskaj ~b~opłatę za ochronę~g~!
-
-[KM4_7]
-~r~Sklepikarz wydał ostatnie tchnienie!
-
-[KM4_5]
-Donald Love zaprasza cię do swojego ogrodu herbacianego na rozmowę.
-
-[KM4_6]
-Tam są pieniądze!
-
-[KM4_8]
-~r~Teczka odebrana!
-
-[KM5_A]
-TO TY! Wybrałeś najwłaściwszy moment, aby pokazać swoją bezwartościową postać!
-
-[KM5_B]
-Zdaje się, że twoje marne próby, aby odwieść Jamajczyków
-
-[KM5_B1]
-od skumplowania się z Kartelem były całkowicie chybione!
-
-[KM5_C]
-Handlarze Yardie krążą po ulicach Liberty, sprzedając woreczki HERY tak, jakby sprzedawali hotdogi!
-
-[KM5_D]
-Te wieprze z Kartelu śmieją się z nas, ze mnie!
-
-[KM5_E]
-Dam ci ostatnią szansę, abyś mógł dowieść, że zaufanie, jakim obdarzyła cię moja siostra, nie było bezpodstawne.
-
-[KM5_F]
-Rozjedź tych śmieci i spłucz swoją hańbę w potokach krwi naszych wrogów!!!
-
-[KM5_3]
-~r~Nie udało ci się zabić co najmniej ~1~ członków gangu Yardie.
-
-[KM5_4]
-~g~Gratulacje, zabiłeś ~1~ członków gangu Yardie.
-
-[KM5_5]
-~g~Gratulacje, zabiłeś ~1~ członków gangu Yardie. PREMIA $~1~.
-
-[RM1]
-'UCISZYĆ KAPUSIA'
-
-[RM3]
-'GONIĄC DOWODY'
-
-[RM4]
-'NA RYBY'
-
-[RM5]
-'DOKOŃCZYĆ DZIEŁO'
-
-[RM1_D]
-Siedzi pod ochroną policji w budynku WitSec w Newport, w którymś z mieszkań za parkingiem.
-
-[RM1_E]
-Podpal tę budę, to powinno ich wypłoszyć. Wtedy na nich zapoluj - zadbaj, aby McAffrey już nigdy z nikim nie rozmawiał!
-
-[RM1_1]
-~g~Znajdź miejsce, w którym przebywa chroniony świadek.
-
-[RM1_2]
-~g~Wykończ McAffrey'a!
-
-[RM2_A1]
-Hej, synu, chodź tutaj!
-
-[RM2_A]
-Mój stary kumpel z wojska prowadzi sklepik w Rockford.
-
-[RM2_D]
-Potrzeba mu wsparcia. W zamian możesz liczyć na spore obniżki cen na spluwy, które ma na składzie.
-
-[RM2_E]
-Ray wspominał, że ktoś przyjdzie... ale nie myślałem, że przyśle takiego szczeniaka.
-
-[RM2_F]
-No cóż, trzy ramiona to zawsze więcej niż jedno, więc bierz broń według życzenia.
-
-[RM2_G]
-~g~Zasuwaj i pilnuj Phila!
-
-[RM2_H]
-~r~Phil zginął!
-
-[RM2_L]
-No, no! Gdybyś był z nami wtedy w Nikaragui, może jeszcze miałbym swoją rękę!
-
-[RM2_N]
-Zostaw forsę. Teraz lepiej znikaj, sam zajmę się policją.
-
-[RM3_D]
-Dowody będą przewożone przez miasto.
-
-[RM3_E]
-Musisz staranować ten samochód i zebrać wszystkie dowody, co do jednego!
-
-[RM3_F]
-Kiedy już je zbierzesz, zostaw je w samochodzie i podpal go.
-
-[RM3_G]
-Obaj będziemy mieć sporo korzyści, chłopcze.
-
-[RM3_1]
-~g~Zostaw dowody w samochodzie i podpal wóz.
-
-[RM3_4]
-~g~Samochód prokuratury zgubił dowody!
-
-[RM3_6]
-~r~Teraz te fotografie obejrzy całe miasto!
-
-[RM3_7]
-~g~Podpal samochód!
-
-[RM4_A]
-Podejrzewam, że mój wspólnik to kret.
-
-[RM4_C]
-On każdego wieczoru wypływa na morze, w okolice latarni przy Portland Rock, aby łowić ryby.
-
-[RM4_D]
-Podwędź policyjną łódź i dopilnuj, aby poszedł na dno razem ze swoimi zdradzieckimi planami!
-
-[RM4_1]
-~g~Ukradnij łódź policyjną!
-
-[RM4_2]
-~g~Płyń do latarni morskiej i załatw kolegę Raya!
-
-[RM5_A]
-Ty nieudaczny łajdaku!
-
-[RM5_A1]
-Schrzaniłeś robotę! Moja dupa już się zaczyna smażyć, a ty nie potrafisz zabić nawet cholernej muchy.
-
-[RM5_B]
-Zapłaciłem ci kupę szmalu, żebyś sprzątnął świadka, a on dalej żyje!
-
-[RM5_B1]
-Dzisiaj będzie składał pierwsze zeznania w Sądzie Federalnym!
-
-[RM5_C]
-Lada chwila będzie wyjeżdżał ze Szpitala Ogólnego Carson w Rockford.
-
-[RM5_D]
-Jeżeli on zacznie sypać, koniec ze mną...
-
-[RM5_E]
-więc lepiej zrób to, za co ci zapłaciłem!
-
-[RM5_1]
-~g~Przechwyć karetkę.
-
-[RM5_2]
-~g~Zostałeś rozpoznany!
-
-[RM5_3]
-~g~To była tylko przynęta!
-
-[RM5_4]
-~g~Kule nie przebiją pancernego kadłuba!
-
-[RM5_5]
-~g~Pancerna karoseria jest ognioodporna!
-
-[RM5_7]
-~r~Świadek dotarł na miejsce!
-
-[RM5_8]
-~g~Świadek poszedł na dno!
-
-[LOVE2]
-'SPRZĄTNĄĆ WAKA-GASHIRĘ'
-
-[LOVE3]
-'KROPLA W OCEANIE'
-
-[LOVE1_A]
-Przede wszystkim pozwól mi podziękować, że zechciałeś zająć się tą sprawą o charakterze osobistym.
-
-[LOVE1_F]
-W dzisiejszych czasach ludzie nie szanują żadnych porozumień.
-
-[LOVE1_D]
-Usiłują wymusić na mnie dodatkowe pieniądze, ale ja nie wierzę w renegocjacje.
-
-[LOVE1_E]
-Umowa to umowa, więc nie powinni spodziewać się ode mnie nawet grosza.
-
-[LOVE1_G]
-Uratuj mojego przyjaciela, zrób wszystko, co będzie trzeba.
-
-[LOVE1_2]
-~g~Uratuj starego pana z dalekiego wschodu.
-
-[LOVE1_3]
-~g~Zabierz starego pana z dalekiego wschodu do budynku Donalda Love'a.
-
-[LOVE1_4]
-~g~Stary pan z dalekiego wschodu musi się znajdować w jednym z tych garaży...
-
-[LOVE1_6]
-~r~Flaki starego pana z dalekiego wschodu zostały rozsmarowane po całej ulicy!
-
-[LOVE1_7]
-~g~Brama otworzy się wyłącznie przed samochodem gangu kolumbijskiego.
-
-[LOVE2_A]
-Nic tak nie wpływa na spadek cen nieruchomości, jak stara dobra wojna gangów.
-
-[LOVE2_B]
-No, może z wyjątkiem wybuchu epidemii... ale w tym wypadku nie trzeba się posuwać aż tak daleko.
-
-[LOVE2_C]
-Zauważyłem, że Yakuza i Kolumbijczycy nie są do siebie przyjaźnie nastawieni.
-
-[LOVE2_D]
-Skorzystajmy z tej szansy.
-
-[LOVE2_E]
-Masz zabić Waka-gashirę gangu Yakuzy, Kenji'ego Kasena.
-
-[LOVE2_F]
-Kenji właśnie jest na spotkaniu na szczycie parkingu piętrowego w Newport.
-
-[LOVE2_G]
-Załatw sobie samochód Kartelu i rozsmaruj go na ścianie!
-
-[LOVE2_H]
-Zrób to tak, aby Yakuza obciążyła Kartel za ten akt.
-
-[LOVE2_1]
-~g~Jedź do Fort Staunton i zwędź samochód gangu kolumbijskiego!
-
-[LOVE2_2]
-~g~Teraz jedź na ~p~parking wielopiętrowy w Newport~p~ i załatw Kenjiego!
-
-[LOVE2_3]
-~r~Jeżeli pojedziesz tam bez samochodu Kartelu, zostaniesz rozpoznany!
-
-[LOVE2_4]
-~r~Członkowie Yakuzy cię rozpoznali!
-
-[LOVE2_6]
-~r~Zabiłeś wszystkich świadków!!!
-
-[LOVE3_A]
-W czasach hipokryzji moralnej ciężko jest zdobyć niektóre cenne towary z zagranicy.
-
-[LOVE3_C]
-Pilot zrzuci do wody kilka pakunków.
-
-[LOVE3_D]
-Zbierz je, zanim wpadną w niepowołane ręce.
-
-[LOVE3_1]
-~g~Załatw sobie ~r~łódź~g~ i płyń za ~y~samolotem~g~!
-
-[LOVE4]
-'GRAND THEFT AERO'
-
-[LOVE5]
-'KONWOJENT'
-
-[LOVE4_A]
-Dziękuję za odzyskanie paczek. Przykro mi to mówić, ale była to jedynie przynęta.
-
-[LOVE4_B]
-Nie chciałem cię urazić, po prostu czasami w interesach trzeba tak postąpić.
-
-[LOVE4_C]
-Mój prawdziwy cel przez cały czas był ukryty w samolocie.
-
-[LOVE4_F]
-Przekupiłem kogo trzeba.
-
-[LOVE4_1]
-~r~Są tu ludzie z Kartelu Kolumbijskiego!
-
-[LOVE4_2]
-~g~Pakunek zniknął! Wyśledź Kolumbijczyków i odzyskaj ładunek.
-
-[LOVE4_3]
-~g~Firma budowlana Panlantic Construction?
-
-[LOVE4_5]
-~g~Paczka powinna nadal być w samolocie...
-
-[LOVE4_6]
-~g~Wjedź windą na wieżę!
-
-[LOVE5_B]
-Mój orientalny przyjaciel potrzebuje eskorty, kiedy będze wiózł mój najnowszy nabytek do specjalistów.
-
-[LOVE5_1]
-~g~Ruszamy!
-
-[LOVE5_2]
-~g~Potrzebujesz samochodu!
-
-[LOVE5_3]
-~g~Jedź przodem i zbadaj wylot tunelu!
-
-[LOVE5_4]
-~r~Osłaniaj ciężarówkę!
-
-[RM6]
-'NA WIDELCU'
-
-[RM6_A]
-Nikt cię nie śledził? To dobrze.
-
-[RM6_B]
-To już koniec. Jestem po uszy w gównie i nadal się zapadam.
-
-[RM6_D]
-Jestem na widelcu, więc postanowiłem zniknąć.
-
-[RM6_E]
-Zawieź mnie na mój samolot, a dobrze ci się odwdzięczę!
-
-[RM6_666]
-Zatroszcz się o mojego kuloodpornego Patriota. Do zobaczenia w Miami, Ray.
-
-[CAT1]
-'OKUP'
-
-[CAT2]
-'WYMIANA'
-
-[CAT1_A]
-Mam twoją słodziutką Marię. Jeżeli nie chcesz, żeby jej twarz wyglądała jak po randce z rzeźnikiem,
-
-[CAT2_F]
-Złamałam paznokieć i cała jestem potargana. Nie do wiary! Ta fryzura kosztowała mnie pięćdziesiąt dolców!
-
-[CAT2_G]
-Strasznie się bałam, ale w końcu powiedziałam sobie: jesteś już przecież dużą dziewczyną.
-
-[CAT2_H]
-Och, będziemy się wspaniale bawić, bo moja siostra powiedziała, że chciałaby wpaść do nas ze swoimi dziećmi,
-
-[CAT2_I]
-bo jej mąż znowu się gdzieś szwenda i...
-
-[CAT1_E]
-XXXX
-
-[CAT1_F]
-Dotrzyj do Cataliny sprzed upływem wyznaczonego czasu!
-
-[CAT_MON]
-~g~Nie masz jeszcze tyle pieniędzy. Potrzebujesz $500.000
-
-[BITCH_D]
-~g~Maria nie żyje!
-
-[WEATHER]
-POGODA WYMUSZONA
-
-[WEATHE2]
-ZWYKŁA POGODA
-
-[8001]
-Marnie kończysz!!
-
-[1000]
-JESTEŚ MARTWY
-
-[1001]
-JESTEŚ MARTWY
-
-[1002]
-JESTEŚ MARTWY
-
-[1003]
-JESTEŚ MARTWY
-
-[1004]
-JESTEŚ MARTWY
-
-[1005]
-WPADKA
-
-[1006]
-WPADKA
-
-[1007]
-WPADKA
-
-[1008]
-WPADKA
-
-[1009]
-WPADKA
-
-[GA_4]
-Bomby samochodowe kosztują 1000 dolarów za sztukę.
-
-[GA_5]
-W twoim samochodzie bomba już została zainstalowana.
-
-[GA_6] { re3 change }
-Zaparkuj wóz, włącz mechanizm klawiszem ~h~~k~~VEHICLE_FIREWEAPON~~w~ i W NOGI!
-
-[GA_7] { re3 change }
-Uaktywnij bombę za pomocą klawisza ~h~~k~~VEHICLE_FIREWEAPON~~w~. Bomba wybuchnie w momencie włączenia silnika.
-
-[GA_8]
-Użyj detonatora, aby aktywować bombę.
-
-[GA_9]
-Zgromadziłeś ~1~ z 10 samochodów specjalnych.
-
-[GA_10]
-Ładne cacko. Oto twoje ~1~$.
-
-[GA_11]
-Mamy już taki wózek. Dla nas jest on bez wartości.
-
-[GA_12]
-Bomba uzbrojona
-
-[GA_13]
-Robota zawodowca. Skombinuj dla mnie wszystkie wózki z listy, a czeka cię premia.
-
-[GA_14]
-Wszystkie samochody? DOSKONALE! Oto niespodzianka dla ciebie!
-
-[GA_15]
-Mam nadzieję, że podoba ci się nowy kolor.
-
-[GA_16]
-Lakierowanie zakończone.
-
-[GA_19]
-Nie interesuje nas ten model.
-
-[GA_20]
-Mamy tego więcej, niż możemy zepchnąć. Sorry, facet, ale nie wchodzę w to.
-
-[CR_1]
-Dźwig nie jest w stanie podnieść tego pojazdu.
-
-[PU_MONY]
-Nie masz dość forsy.
-
-[CO_ALL]
-Masz już wszystkie. Oto mała niespodzianka...
-
-[PAUSED]
-GRA ZATRZYMANA
-
-[HEALTH1]
-Spadaj stąd! Jesteś zdrów jak ryba.
-
-[HEALTH2]
-Koszty opieki medycznej.
-
-[HEALTH3]
-Trochę cię połatam.
-
-[HEALTH4]
-To kosztuje 250 dolarów.
-
-[FEB_STA]
-Statystyki
-
-[FEB_BRI]
-Zadania
-
-[FEB_CON]
-Sterowanie
-
-[FEB_AUD]
-Audio
-
-[FEB_DIS]
-Ekran
-
-[FEB_LAN]
-Język
-
-[FEP_STA]
-STATYSTYKI
-
-[FEP_BRI]
-CELE
-
-[FEP_CON]
-STEROWANIE
-
-[FEP_AUD]
-DŹWIĘK
-
-[FEP_DIS]
-EKRAN
-
-[FEP_LAN]
-JĘZYK
-
-[FEF_ST1]
-Kto tu jest złym facetem?
-
-[FEF_ST2]
-Ile paniki dzisiaj wzbudziłeś?
-
-[FEF_BR1]
-Straciłeś wątek?
-
-[FEF_CO1]
-Potrzebujesz lepszej kontroli, perfekcjonisto?
-
-[FEF_CO2]
-Określ taką konfigurację klawiszy sterujących, która najlepiej odpowiada preferowanemu stylowi gry.
-
-[FEF_SA1]
-Trzymaj wszystko na kupie!
-
-[FEF_SA2]
-Zapisuj i wczytuj swoje gry
-
-[FEF_AU1]
-Więcej czadu!
-
-[FEF_AU2]
-Wybierz stację radiową oraz efekty dźwiękowe
-
-[FEF_DI1]
-Zmień grę!
-
-[FEF_DI2]
-Dostosuj grę do odbiornika TV
-
-[FEF_LA1]
-O czym gadasz?
-
-[FEF_LA2]
-Wybierz preferowany język
-
-[FEB_PMB]
-Cele poprzednich misji:
-
-[FEC_NA]
-N.D.
-
-[FEC_CWL]
-Przełącz rodzaj broni w lewo
-
-[FEC_CWR]
-Przełącz rodzaj broni w prawo
-
-[FEC_LOF]
-Spójrz do przodu
-
-[FEC_TAR]
-Cel
-
-[FEC_MOV]
-Ruch
-
-[FEC_CAM]
-Tryby kamery
-
-[FEC_PAU]
-Pauza
-
-[FEC_ENV]
-Wsiadanie do pojazdu
-
-[FEC_JUM]
-Skok
-
-[FEC_ATT]
-Atak lub strzał z broni
-
-[FEC_RUN]
-Bieg
-
-[FEC_FPC]
-Kamera - widok z oczu postaci
-
-[FEC_LL]
-Spójrz w lewo
-
-[FEC_LB1]
-Spójrz
-
-[FEC_LB2]
-do tyłu
-
-[FEC_LB]
-Spójrz do tyłu
-
-[FEC_LR]
-Spójrz w prawo
-
-[FEC_HOR]
-Klakson
-
-[FEC_VES]
-Sterowanie w pojeździe
-
-[FEC_RSC]
-Przełącz stacje radiowe
-
-[FEC_BRA]
-Hamulec lub wsteczny
-
-[FEC_HAB]
-Hamulec ręczny
-
-[FEC_CAW]
-Broń w samochodzie
-
-[FEC_ACC]
-Przyspieszenie
-
-[FEC_SMT]
-Włączenie misji specjalnych
-
-[FEA_OUT]
-Wyjście:
-
-[FEA_ST]
-stereo
-
-[FEA_MNO]
-mono
-
-[FEA_NON]
-Brak
-
-[FEA_FM0]
-HEAD RADIO
-
-[FEA_FM1]
-DOUBLE CLEFF FM
-
-[FEA_FM2]
-JAH RADIO
-
-[FEA_FM3]
-RISE FM
-
-[FEA_FM4]
-LIPS 106
-
-[FEA_FM5]
-GAME FM
-
-[FEA_FM6]
-MSX FM
-
-[FEA_FM7]
-FLASHBACK 95.6
-
-[FEA_FM8]
-GADUŁA 109
-
-[FED_DBG]
-Menu debugowania
-
-[FED_RID]
-Ponowne wczytanie IDE
-
-[FED_RIP]
-Ponowne wczytanie IPL
-
-[FED_PAH]
-Parse Heap
-
-[FED_RCD]
-CCullZones::RecalculateCullZoneData
-
-[FED_DFL]
-CTheScripts::DbgFlag
-
-[FED_DLS]
-Big White Debug Light Switched
-
-[FED_SPR]
-Show Ped Road Groups
-
-[FED_SCR]
-Show Car Road Grups
-
-[FED_SCZ]
-Show Cull Zones
-
-[FED_DSR]
-Żądania przetworzenia w trybie debugowania
-
-[FED_SCP]
-gbShowCollisionPolys
-
-[FEM_MCM]
-Menu karty pamięci
-
-[FEM_RMC]
-Register MemCard One
-
-[FEM_TFM]
-Próbne formatowanie karty pamięci 1
-
-[FEM_TUM]
-Próbne odformatowanie karty pamięci 1
-
-[FEM_CRD]
-Utwórz katalog główny
-
-[FEM_CLI]
-Twórz i wczytuj ikony
-
-[FEM_FFF]
-Fill First File with Guff
-
-[FEM_SOG]
-Zapisz tylko grę
-
-[FEM_CES]
-Check Every 0kB4 Save
-
-[FEM_STG]
-Zapisz grę
-
-[FEM_STS]
-Zapisz grę pod nazwą GTA3
-
-[FEM_CPD]
-Utwórz chroniony katalog magazynowy
-
-[FEM_MC2]
-Menu karty pamięci 2
-
-[FEM_TS]
-Próbne zapisywanie:
-
-[FEM_TL]
-Próbne wczytywanie:
-
-[FEM_TD]
-Próbne kasowanie:
-
-[PL_STAT]
-Statystyki gracza
-
-[PE_WAST]
-Ludzie załatwieni przez gracza
-
-[PE_WSOT]
-Ludzie załatwieni przez innych
-
-[CAR_EXP]
-Wysadzone samochody:
-
-[TM_BUST]
-Liczba wpadek
-
-[M_WASTE]
-Załatwieni mężczyźni-cywile
-
-[F_WASTE]
-Załatwione kobiety-cywile:
-
-[PIG_WST]
-Załatwieni gliniarze
-
-[GNG_WST]
-Członkowie gangu załatwieni.
-
-[MED_WST]
-Załatwieni lekarze
-
-[FIRE_WS]
-Strażak załatwiony
-
-[DED_CRI]
-Załatwieni przestępcy:
-
-[DED_DED]
-Załatwione lumpy:
-
-[DED_HOK]
-Załatwione dziwki:
-
-[HEL_DST]
-Zniszczone helikoptery
-
-[PER_COM]
-Procent ukończenia gry
-
-[KGS_EXP]
-Użyte materiały wybuchowe (kg)
-
-[ACCURA]
-Dokładność
-
-[ELBURRO]
-Najlepsze czasy wyścigu w sekundach:
-
-[CAR_CRU]
-Zmiażdżone samochody:
-
-[HED_EX]
-Rozbite głowy
-
-[TM_DED]
-Wizyty w szpitalu
-
-[DAYSPS]
-Liczba dni, które upłynęły w grze:
-
-[MMRAIN]
-mm deszczu
-
-[MXCARD]
-Maks. odległość SZALONEGO skoku (w stopach)
-
-[MXCARJ]
-Maks. wysokość SZALONEGO skoku (w stopach)
-
-[MXCARDM]
-Maks. odległość SZALONEGO skoku (w metrach)
-
-[MXCARJM]
-Maks. wysokość SZALONEGO skoku (w metrach)
-
-[MXFLIP]
-Maks. liczba salt w SZALONYM skoku
-
-[MXJUMP]
-Maks. liczba obrotów w SZALONYM skoku
-
-[BSTSTU]
-Najlepszy SZALONY skok do tej pory:
-
-[INSTUN]
-Szalony skok
-
-[PRINST]
-Bezbłędny szalony skok
-
-[DBINST]
-Podwójny szalony skok
-
-[DBPINS]
-Bezbłędny podwójny szalony skok
-
-[TRINST]
-Potrójny szalony skok
-
-[PRTRST]
-Bezbłędny potrójny szalony skok
-
-[QUINST]
-Poczwórny szalony skok
-
-[PQUINS]
-Bezbłędny poczwórny szalony skok
-
-[NOSTUC]
-Nie wykonano żadnych SZALONYCH skoków
-
-[NOUNIF]
-Wyjątkowe skoki wykonane
-
-[NOUNGM]
-Wyjątkowe skoki razem
-
-[NMISON]
-Próby wykonania misji
-
-[NMMISP]
-Wykonane misje
-
-[PASDRO]
-Zgubieni pasażerowie
-
-[MONTAX]
-Forsa zarobiona w taksówce
-
-[DAYPLC]
-Dzienne wydatki policji:
-
-[CRIMRA]
-Ranking zbrodni:
-
-[GMSTOR]
-Zachowanie gry
-
-[PREBRF]
-Poprzednie zapisy
-
-[CNTLS]
-Sterowanie
-
-[MUSMEN]
-Muzyka/dźwięki
-
-[GAMSET]
-Ustawienia gry
-
-[LANGUA]
-Język
-
-[DSPLAY]
-Ekran
-
-[DEBUGM]
-Menu funkcji debugowania
-
-[QUITOP]
-Wyjście z menu opcji
-
-[CONTRL]
-Konfiguracja sterowania
-
-[SET1EN]
-SetUp 1. Enabled
-
-[SET1]
-SetUp 1.
-
-[SET2EN]
-SetUp 2. Enabled
-
-[SET2]
-SetUp 2
-
-[SET3EN]
-SetUp 3. Enabled
-
-[SET3]
-SetUp 3
-
-[SET4EN]
-SetUp 4. Enabled
-
-[SET4]
-SetUp 4
-
-[GOBACK]
-Wróć
-
-[SOUND]
-DŹWIĘK
-
-[MUSVOL]
-Głośność muzyki
-
-[SFXVOL]
-Głośność efektów dźwiękowych
-
-[SCROPT]
-OPCJE EKRANU
-
-[CTRSCR]
-Wyśrodkowanie Ekranu
-
-[SCRFOR]
-Format ekranu
-
-[GMSVLQ]
-WCZYTAJ-ZAPISZ-WYJDŹ Z GRY
-
-[GMREST]
-Ponowne uruchomienie gry
-
-[NOGMSV]
-Zapisywanie stanu gry jest możliwe tylko w kryjówce.
-
-[DLFILE]
-Skasować pliki Grand Theft Auto III
-
-[CHFILE]
-WYBIERZ PLIK, KTÓRY MA ZOSTAĆ WCZYTANY
-
-[CHFIDL]
-WYBIERZ PLIK, KTÓRY MA ZOSTAĆ SKASOWANY
-
-[SVCONF]
-POTWIERDZENIE ZAPISU
-
-[LANGSL]
-WYBÓR JĘZYKA
-
-[ENGLIS]
-Polski
-
-[GERMAN]
-Niemiecki
-
-[ITALIA]
-Włoski
-
-[FRENCH]
-Francuski
-
-[SPAIN]
-Hiszpański
-
-[RELIDE]
-ReLoadIde
-
-[RELIPE]
-ReLoadIpl
-
-[PARSHP]
-Parse Heap
-
-[DBGFON]
-CTheScripts::DbgFlag On
-
-[DBFOFF]
-CTheScripts::DbgFlag Off
-
-[BGWHON]
-Big White Debug Light - włączony
-
-[BGWOFF]
-Big White Debug Light - wyłączony
-
-[DSTRON]
-Debug Streaming Requests On
-
-[DSTROFF]
-Debug Streaming Requests Off
-
-[PDRGON]
-ShowPedRoadGroups On
-
-[PRGOFF]
-ShowPedRoadGroups Off
-
-[CRRGON]
-ShowCarRoad Group Włączone
-
-[CRGOFF]
-ShowCarRoadGroups Wyłączone
-
-[CLZOON]
-Wyłączone pokazywanie stref zniszczeń
-
-[CLZOOF]
-Włączone pokazywanie stref zniszczeń
-
-[SHPLON]
-gbShowCollisionPolys On
-
-[SHPLOF]
-gbShowCollisionPolys Off
-
-[CULREC]
-CCullZones::RecalculateCullZoneData()
-
-[FORMM1]
-FormatMemCard 1 (element testowy)
-
-[UNFRM1]
-UnFormatMemCard 1 (element próbny)
-
-[GORLEV]
-Poziom 'Krwawy'
-
-[SICASS]
-Sick Fuck
-
-[SICSIC]
-Sick Fucker
-
-[SCASSL]
-Sick Fuck wybrany
-
-[SCSCSL]
-Sick Fucker wybrany
-
-[PRVMEN]
-Cele poprzednich misji
-
-[FORMEN]
-Menu formatu
-
-[MEMTST]
-Ekran TestKartPamięci
-
-[REGCAR]
-Rejestracja KartaPamięci Jeden
-
-[TEFONE]
-Próbne formatowanie karty pamięci 1
-
-[TEUFON]
-Próbne odformatowanie karty pamięci 1
-
-[CRROOT]
-Utwórz Katalog Główny
-
-[CRLDIC]
-Tworzenie i wczytywanie ikon
-
-[FLFSGF]
-Fill First File With Guff
-
-[PUSAVE]
-Zapisz tylko grę
-
-[CHEVOK]
-CheckEveryOkB4Save
-
-[SVGMON]
-Zapisz grę
-
-[CNTSAV]
-Nie można zapisać stanu gry. Jesteś w trakcie misji.
-
-[CNCSAV]
-Nie można zapisać stanu gry. Jesteś w samochodzie.
-
-[CRMGSV]
-Utwórz chroniony katalog magazynowy
-
-[MGSVCN]
-Katalog magazynowy utworzony
-
-[MGSVNC]
-Katalog magazynowy nieutworzony
-
-[YES]
-Tak
-
-[NO]
-Nie
-
-[X]
-x
-
-[LAST]
-Ostatnia wiadomość
-
-[FEDS_XB]
-Wybierz
-
-[FEDS_ST]
-klawisz START - WZNÓW
-
-[FEST_OO]
-z
-
-[FEC_TUC]
-Sterowanie wieżyczką
-
-[FEC_SM3]
-Włączenie misji specjalnych (klawisz R3)
-
-[FEC_RS3]
-Przełącz stacje radiowe (klawisz L3)
-
-[FEC_HO3]
-Klakson (klawisz lewy SHIFT)
-
-[DIAB1]
-'WYŚCIG'
-
-[DIAB2]
-'PRZEŁAMAĆ LODY'
-
-[DIAB3]
-'PRÓBA OGNIA'
-
-[DIAB4]
-'WIELKI I ŻYLASTY'
-
-[DIAB1_A]
-El Burro ma dla ciebie propozycję. Jeżeli jesteś zainteresowany, odszukaj budkę telefoniczną w Hepburn Heights.
-
-[DIAB1_C]
-Niezły z ciebie kierowca! Jedź do wskazanej budki telefonicznej, a może El Burro da ci jakieś zajęcie.
-
-[DIAB1_1]
-~g~3... 2... 1... NAPRZÓD! NAPRZÓD! NAPRZÓD!
-
-[DIAB1_4]
-~g~Załatw sobie szybki wóz i jedź na miejsce startu.
-
-[DIAB1_3]
-~r~Nie wygrałbyś nawet z własną babcią, LESZCZU!
-
-[DIAB1_2]
-~g~Gratulacje, wygrywasz, uzyskując niesamowity czas: ~1~sekund.
-
-[FIRST]
-~g~pierwszy
-
-[SECOND]
-~g~drugi
-
-[THIRD]
-~g~trzeci
-
-[FOURTH]
-~g~4
-
-[DIAB2_1]
-~g~Zabierz teczkę z Harwood.
-
-[DIAB2_2]
-~g~Odszukaj półciężarówkę lodziarza.
-
-[DIAB2_3]
-~g~Zaparkuj samochód lodziarza na Atlantic Quays.
-
-[DIAB2_4]
-~g~Naciśnij klawisz ~w~~k~~VEHICLE_HORN~~g~, aby włączyć sygnał reklamujący lody.
-
-[DIAB2_6]
-~g~Naciśnij klawisz ~w~~k~~VEHICLE_HORN~~g~, aby włączyć sygnał reklamujący lody.
-
-[DIAB2_7]
-~g~Naciśnij klawisz ~w~~k~~VEHICLE_HORN~~g~, aby włączyć sygnał reklamujący lody.
-
-[DIAB2_5]
-~g~Wysiądź z samochodu, a następnie zdetonuj go za pomocą nadajnika.
-
-[YD1]
-'SZUKAJ PUNKTÓW!'
-
-[YD2]
-'RUCHOMY CEL'
-
-[YD3]
-'KOLEKCJONER WOZÓW'
-
-[YD4]
-'KRÓLESTWO NIEBIESKIE'
-
-[YD_P]
-King Courtney prosi cię na słówko. Znajdź budkę telefoniczną w Aspatrii!!
-
-[YD1_A]
-~w~Z tej strony King Courtney.
-
-[YD1_A1]
-~w~Moja paczka, Yardies, potrzebuje kierowcy, a ty masz reputację bystrego faceta.
-
-[YD1_B]
-~w~Jedź na wysypisko naprzeciwko stadionu i poczekaj na innych zawodników.
-
-[YD1_C]
-~w~Moi ludzie pilnują punktów kontrolnych w całym Staunton.
-
-[YD1_D]
-~w~Kierowca, który pierwszy dotrze do takiego miejsca, otrzymuje jeden punkt. Potem ścigamy się do następnego przystanku.
-
-[YD1_D1]
-~w~Jeżeli zaliczysz więcej punktów niż inni kierowcy, być może będę miał dla ciebie zadanie.
-
-[YD1_E]
-~g~Gotowi do wyścigu!
-
-[YD1_F]
-~g~Minąłeś punkt startu - podoba mi się twój styl!!!
-
-[YD1_G]
-~r~To jest WYŚCIG SAMOCHODOWY. Masz jechać SAMOCHODEM, IDIOTO!
-
-[YD1GO]
-~g~START!
-
-[YD1_1]
-~r~1
-
-[YD1_2]
-~r~2
-
-[YD1_3]
-~r~3
-
-[YD1_BON]
-$1000!!
-
-[Y1_1ST]
-~g~Kończysz na pierwszym miejscu i pomyślnie zaliczasz ~1~ punktów kontrolnych!
-
-[Y1_2ND]
-~y~Jesteś drugi, pomyślnie zaliczyłeś ~1~ punktów kontrolnych. ~r~Było blisko, ale trochę ci jeszcze brakuje.
-
-[Y1_3RD]
-~r~Jesteś trzeci, pomyślnie zaliczyłeś ~1~ punktów kontrolnych. ~r~A mówiłeś, że jesteś niezły!
-
-[Y1_LAST]
-~r~Jesteś ostatni! ~r~Tylko marnujesz mój czas, IDIOTO!
-
-[Y1_J1ST]
-~y~Pierwsze miejsce ex aequo, pomyślnie zaliczyłeś ~1~ punktów kontrolnych. ~y~Nieźle, ale musisz być najlepszy z najlepszych, aby móc jeździć dla Królowej Lizzy!
-
-[Y1_J2ND]
-~r~Drugie miejsce ex aequo, pomyślnie zaliczyłeś ~1~ punktów kontrolnych. Jechałeś jak wściekły goryl!
-
-[Y1JLAST]
-~r~Ostatnie miejsce ex aequo! Wymądrzałeś się jak stary kierowca, ale kierowałeś jak stary przemądrzalec!
-
-[Y1_TEST]
-SAMOCHÓD W WODZIE!!
-
-[YD2_A]
-~w~Muszę sprawdzić, czy dajesz sobie radę z mokrą robotą.
-
-[YD2_A1]
-~w~Zobaczymy, czy można ci zaufać.
-
-[YD2_B]
-~w~Dwóch moich chłopców zaraz po ciebie przyjedzie, żeby zabrać cię na przejażdżkę
-
-[YD2_B1]
-~w~i sprawdzić, czy naprawdę umiesz tyle, ile twierdzisz.
-
-[YD2_C]
-~w~Jedziemy na mały wypad na Wzgórza Hepburn, żeby sprzątnąc paru śmierdziuchów z gangu Diablo, którzy wkurzali Królową Lizzy.
-
-[YD2_CC]
-~w~Będziesz potrzebował gnata, trzymaj.
-
-[YD2_D]
-~w~Ty kierujesz i strzelasz. My zadbamy, żeby nie zabrakło ci odwagi.
-
-[YD2_E]
-~w~Jazda!
-
-[YD2_F]
-~w~Oszukał nas! Dorwać jego zdradliwą dupę!
-
-[YD2_G1]
-~w~Wzgórza Hepburn. Zabijmy paru śmierdzących Diablo...
-
-[YD2_G2]
-~w~Tylko pamiętaj, ~r~ masz nie wysiadać z samochodu!!!
-
-[YD2_H]
-~w~W porządku, wracamy na terytorium Yardies! JAZDA, SZYBCIEJ!!
-
-[YD2_L]
-~w~Dobrze się spisałeś, żniwiarzu!
-
-[YD2_M]
-~r~Rozwalił mój samochód! Załatwić go!
-
-[YD2_N]
-~w~Posadź tyłek z powrotem w samochodzie!
-
-[YD3_A]
-Masz porwać dla mnie kilka samochodów gangów tak,
-
-[YD3_A1]
-abyśmy mogli uderzyć we wrogów na ich własnym terytorium.
-
-[YD3_B]
-Potrzebuję mafijnego Sentinela,
-
-[YD3_B1]
-Stingera Yakuzy oraz
-
-[YD3_B2]
-Ogiera gangu Diablo. Wtedy będzie można uderzyć na każdego w Liberty.
-
-[YD3_C]
-Zostaw je przy garażu w Newport, ale pamiętaj,
-
-[YD3_C1]
-potrzebujemy tylko fury w dobrym stanie!!!
-
-[YD3_D]
-Wolne miejsce na tekst
-
-[YD3_E]
-~r~Już zdobyłeś samochód gangu Diablo!
-
-[YD3_F]
-~r~Już zdobyłeś samochód mafii!
-
-[YD3_G]
-~r~Już zdobyłeś samochód Yakuzy!
-
-[YD3_H]
-~r~Zdobyłeś samochód gangu Diablo!
-
-[YD3_I]
-~r~Zdobyłeś samochód mafii!
-
-[YD3_J]
-~r~Zdobyłeś samochód Yakuzy!
-
-[YD3_K]
-~r~Ten samochód to ruina! Musisz go naprawić!
-
-[YD3_L]
-~g~Zabierz samochód do garażu!
-
-[YD3_M]
-~r~Straciłeś wóz! Musisz zdobyć jeszcze jeden!
-
-[YD4_A]
-Posłuchaj!
-
-[YD4_A1]
-Jedź do Bedford Point.
-
-[YD4_A2]
-W starym samochodzie jest coś, czego potrzebuję, pronto!
-
-[YD4_B]
-LIST: Słyszałam, że ostatnio byłeś pilnym uczniem. Cóż, ja byłam pilną uczennicą.
-
-[YD4_C]
-Czas, abyś poznał prawdziwą siłę HEROINY! Besos y fuderes, Catalina, xxx.
-
-[YD4_D]
-PS. ZDYCHAJ KUNDLU!
-
-[YD4_1]
-~g~Naćpani szaleńcy!
-
-[YD4_2]
-~g~Zniszcz ciężarówki wariatów!
-
-[HM_1]
-'AGRESYWNA JAZDA'
-
-[HM_2]
-'ZABAWKOWY ZABÓJCA'
-
-[HM_3]
-'ZDĄŻYĆ PRZED WYBUCHEM'v
-
-[HM_5]
-'ROZRÓBA'
-
-[HOOD1_A]
-Znajdź budkę telefoniczną w Wichita Gardens, to pogadamy o interesach.
-
-[HM1_A]
-Yo! Z tej strony D-Ice z gangu Red Jacks!
-
-[HM1_C]
-Te szczeniaki wyłażą na ulice i myślą tylko o tym, kogo by tu zastrzelić i co zaćpać.
-
-[HM1_3]
-~g~'Dziewiątki' mają swoje terytorium w Wichita Gardens.
-
-[HM2_3]
-Jeżeli uderzysz zdalnie sterowanym samochodzikiem w koła pojazdu, ładunek wybuchnie!
-
-[HM2_4]
-Jeżeli samochodzik wyjedzie poza zasięg nadajnika, ładunek wybuchnie!
-
-[HM2_5]
-~r~Samochodzik poza zasięgiem!
-
-[HM3_1]
-~g~Zabierz samochód do warsztatu, ale uważaj! Jeżeli samochód zostanie mocno uszkodzony, ładunek może wybuchnąć!
-
-[HM3_2]
-~g~Zwróć samochód właścicielowi. Jedź ostrożnie, wóz musi być w doskonałym stanie!
-
-[HM3_3]
-~g~Napraw samochód!
-
-[HM4_D]
-~g~Zdobądź samochód!
-
-[HM4_E]
-TEKST NIEPOTRZEBNY
-
-[HM4_1]
-~g~Jedź do miejsca, w któym rozsypał się ładunek. Musisz zebrać 30 sztabek.
-
-[HM4_2]
-~g~Pamiętaj, kiedy samochód zrobi się ciężki, poturlaj się do garażu i wysyp ładunek.
-
-[HM5_3]
-~r~Miałeś używać wyłącznie kija bejsbolowego!
-
-[HM5_4]
-~r~Twój kontakt nie żyje!
-
-[MEA1]
-'CWANIAK'
-
-[MEA2]
-'ZŁODZIEJE'
-
-[MEA3]
-'ŻONA'
-
-[MEA4]
-'KOCHANEK'
-
-[MEAT1_A]
-Znajomy powiedział mi, że potrafisz rozwiązywać problemy. Jeżeli chcesz zająć się moimi kłopotami, znajdź budkę telefoniczną w Trenton.
-
-[MEA1_B3]
-~g~Spotkaj się z kierownikiem banku.
-
-[MEA1_B6]
-~g~Zabierz samochód do zgniatarki, aby pozbyć się dowodów. Wysiądź z samochodu, a dźwig już się wszystkim zajmie.
-
-[MEA1_1]
-~r~Kierownik banku nie żyje!
-
-[MEA1_2]
-~r~Miałeś zniszczyć ten pojazd!
-
-[MEA1_3]
-~g~Wysiądź z samochodu!
-
-[MEA1_4]
-~r~Zgubiłeś kierownika banku!
-
-[MEA2_B3]
-~g~Jedź po złodziei.
-
-[MEA2_B4]
-~g~Zabierz ich do fabryki Delikatesów Pod Psem.
-
-[MEA2_B6]
-~g~Przemaluj samochód, aby zatrzeć ślady.
-
-[MEA2_1]
-~r~Miałeś zniszczyć ten pojazd!
-
-[MEA2_2]
-~r~Złodziej nie żyje!
-
-[MEA2_4]
-~r~Zgubiłeś jednego ze złodziei!
-
-[MEA3_B3]
-~g~Jedź po panią Chonks.
-
-[MEA3_B6]
-~g~Zabierz samochód i wrzuć go do wody, aby pozbyć się dowodów.
-
-[MEA3_1]
-~r~Żona nie żyje!
-
-[MEA3_2]
-~r~Miałeś wrzucić samochód do wody!
-
-[MEA3_3]
-~r~Zgubiłeś żonę Marty'ego!
-
-[MEA4_B3]
-~g~Zabierz kochanka żony.
-
-[MEA4_B6]
-Na to już za późno, Marty. Miałeś szansę, ale teraz przejmuję twoją budę...
-
-[MEA4_1]
-~r~Carlos nie żyje!
-
-[MEA4_3]
-~r~Zgubiłeś Carlosa lichwiarza!
-
-[LOOK_A]
-Naciśnij i przytrzymaj klawisz ~h~~k~~VEHICLE_LOOKLEFT~ ~w~lub klawisz ~h~~k~~VEHICLE_LOOKRIGHT~ ~w~, aby spojrzeć ~h~w lewo~w~ lub ~h~w prawo~w~ przez szyby pojadu. Naciśnij oba klawisze naraz, aby spojrzeć ~h~do tyłu~w~.
-
-[LOVE6_1]
-~g~Teraz odciągnij gliniarzy od magazynu!
-
-[LOVE6_2]
-~r~Nie udało ci się odciągnąć glin na wystarczającą odległość!
-
-[RM4_3]
-~r~Kumpel Raya zwiał!
-
-[RM6_C]
-Zdaje się, że CIA ma jakiś swój interes w utrzymaniu handlu PROCHAMI
-
-[RM6_C1]
-i nie spodobało im się, że zadarliśmy z Kartelem.
-
-[C_PASS]
-ZAGROŻENIE ZLIKWIDOWANE
-
-[CTUTOR]
-Naciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~, aby włączyć lub wyłączyć misje patrolowe.
-
-[CTUTOR2]
-Naciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~, aby włączyć lub wyłączyć misje patrolowe.
-
-[COPCART]
-~g~Masz ~1~ sekund na powrót do radiowozu albo misja zakończy się.
-
-[C_FAIL]
-Misja patrolowa zakończona!
-
-[C_CANC]
-~r~Misja patrolowa anulowana!
-
-[C_ESCP]
-~r~Podejrzany uciekł!
-
-[C_TIME]
-~r~Twój czas w roli stróża prawa minął!
-
-[C_VIGIL]
-PREMIA PATROLOWA!!
-
-[A_FAIL2]
-~r~Twoje ślamazarność kosztowała pacjenta życie!
-
-[A_FAIL3]
-~r~Pacjent nie żyje!
-
-[A_PASS]
-Uratowany!
-
-[F_FAIL2]
-~r~Spóźniłeś się!
-
-[A_COMP2]
-Ty chyba nigdy się nie męczysz!
-
-[RM2_M]
-Jak będziesz potrzebował spluwy, wpadaj do mnie jak w dym i bierz z szafek, co ci się podoba.
-
-[HEAL_A]
-Twój ~h~poziom życia~w~ jest wyświetlony na pomarańczowo w prawym górnym narożniku ekranu.
-
-[YD1_CNT]
-~1~ z 15!
-
-[FM1_9]
-~g~Przed nami miejsce imprezy - wysadź Marię przed budynkiem.
-
-[FM1_Y]
-~w~Wiesz, dawno się tak dobrze nie bawiłam, a ty traktowałeś mnie naprawdę dobrze. Z szacunkiem i w ogóle..
-
-[FM1_AA]
-~w~Chyba już pójdę. W takim razie - do zobaczenia!
-
-[NOCONTE]
-Aby kontynuować, proszę ponownie umieścić wtyczki kontrolera analogowego (DUALSHOCK@) lub kontrolera analogowego (DUALSHOCK@2) w porcie kontrolerów gry nr 1.
-
-[WRCONT]
-Kontroler w porcie nr 1 nie jest rozpoznany. Gra Grand Theft Auto III wymaga kontrolera analogowego (DUALSHOCK@) lub kontrolera analogowego (DUALSHOCK@2).
-
-[WRCONTE]
-Kontroler w porcie nr 2 nie jest rozpoznany. Gra Grand Theft Auto III wymaga kontrolera analogowego (DUALSHOCK@) lub kontrolera analogowego (DUALSHOCK@2).
-
-[WRONGCD]
-Niewłaściwa płyta. Proszę włożyć właściwą płytę.
-
-[NOCD]
-Nie znaleziono GTAIII CD w czytniku.
-
-[OPENCD]
-Taca napędu jest wysunięta. Wsuń tacę napędu CD-ROM.
-
-[CDERROR]
-Błąd w odczycie płyty Grand Theft Auto III.
-
-[RESTART]
-Trwa rozpoczynanie nowej gry
-
-[GA_3]
-Koniec z promocjami. 1000 dolców za malowanie!
-
-[GA_1]
-Coś ty! Nawet nie dotknę takiego trefnego towaru!
-
-[GA_1A]
-Wróć, kiedy będziesz miał chwilę wolnego czasu...
-
-[S_PROM2]
-Garaż znajdujący się za sąsiednimi drzwiami służy do przechowywania pojazdów podczas zapisywania stanu gry.
-
-[STOCK]
-brak towaru
-
-[FM1_O]
-~w~Myślę, że znajdziemy go nad brzegiem morza, w okolicach Chinatown.
-
-[EBAL_B]
-To właśnie tu. Zjedźmy z ulicy i poszukajmy jakichś ciuchów, żeby zmienić te więzienne łachy!
-
-[EBAL_G]
-To jest właśnie klub 'U Luigiego'. Obejdziemy tę budę i skorzystamy z tylnych drzwi.
-
-[AM4_3]
-A więc to ty jesteś nowym chłopcem na posyłki Asuki?
-
-[AM4_4]
-Masz forsę? Mam nadzieję, że wszystko jest jak trzeba?
-
-[AM4_5]
-Wiem, co sobie myślisz, następny sprzedajny gliniarz.
-
-[AM4_6]
-Cóż, każdy orze jak może.
-
-[AM4_7]
-Straciłem ostatnio paru partnerów i ci frajerzy z wydziału wewnetrznego zaczęli coś przewąchiwać.
-
-[AM4_8]
-Żeby tylko nie wyniuchali moich śladów.
-
-[AM4_9]
-To miasto to jeden wielki otwarty ściek.
-
-[AM4_10]
-Przyda mi się pomoc kogoś niezrzeszonego.
-
-[AM4_11]
-Jeżeli masz jakiś interes, wiesz gdzie mnie znaleźć.
-
-[CAM_A]
-Wciskaj klawisz ~h~~k~~CAMERA_CHANGE_VIEW_ALL_SITUATIONS~~w~, aby zmieniać tryby pracy ~h~kamery ~w~, zarówno w samochodzie jak i poza nim.
-
-[CAM_B]
-Wciskaj klawisz ~h~strzałki w gorę~w~ oraz ~h~strzałki w dół~w~, aby zmieniać tryby pracy ~h~kamery ~w~, zarówno w pojeździe jak i poza nim.
-
-[KM2_1]
-~g~Napraw samochód. Wóz musi być w idealnym stanie.
-
-[LM3_6]
-Joey...
-
-[LM3_6A]
-Znowu będę mogła się pobawić twoim drągiem?
-
-[LM3_9A]
-może będę miał dla ciebie jakieś zajęcie.
-
-[LM3_9B]
-W porządku?
-
-[AWAY2]
-~r~Uciekli.
-
-[AWAY]
-~r~Zwiał stąd, gdzie pieprz rośnie!
-
-[JM6_1]
-Jedź do banku na głównej ulicy.
-
-[GA_6B] { re3 change }
-Zaparkuj wóz, włącz mechanizm klawiszem ~h~~k~~VEHICLE_FIREWEAPON~~w~ i W NOGI!
-
-[GA_7B] { re3 change }
-Uaktywnij bombę za pomocą klawisza ~h~~k~~VEHICLE_FIREWEAPON~~w~. Bomba wybuchnie w momencie włączenia silnika.
-
-[BAT1]
-~g~Podnieś kij bejsbolowy!
-
-[EBAL_O]
-Jeśli nic nie schrzanisz, może znajdzie się dla ciebie jakaś praca. A teraz zjeżdżaj!
-
-[HELP9_B]
-Naciśnij klawisz~h~ ~k~~PED_FIREWEAPON~~w~, aby oddać ~h~strzał~w~ z karabinu snajperskiego.
-
-[HELP9_C]
-Naciśnij klawisz~h~ ~k~~PED_FIREWEAPON~~w~, aby oddać ~h~strzał~w~ z karabinu snajperskiego.
-
-[JM6_8]
-~r~Straciłeś wszystkich złodziei!
-
-[COLT_IN]
-Ammu-nacja zaczyna sprzedaż pistoletów!
-
-[TAXI2]
-~r~Koniec czasu!
-
-[TAXI3]
-~r~Przerażony pasażer ucieka!
-
-[TAXI7]
-~r~Twoja taksówka to ruina, połataj ją trochę.
-
-[TAXI4]
-Kurs wykonany!
-
-[TAXI5]
-PREMIA ZA SZYBKOŚĆ!!!
-
-[TAXI6]
-Koniec misji w taksówce
-
-[FRANGO]
-~g~Salvatore chce, abyś najpierw pomógł Toniemu załatwić porachunki z Triadami!
-
-[PAGEB12]
-Łapówka policyjna dostarczona do kryjówki
-
-[PAGEB13]
-Życie dostarczone do kryjówki
-
-[PAGEB14]
-Adrenalina dostarczona do kryjówki
-
-[KM1_4]
-~g~Do tej roboty przydałby się radiowóz!
-
-[CAT1_B]
-przynieś 500.000 $ do Willi w Cedar Grove.
-
-[JM2_C]
-Gość ma budę z makaronem w Chinatown.
-
-[RM6_1]
-Tu masz klucz do dziupli.
-
-[RM6_2]
-Znajdziesz tam trochę forsy i 'zapasów', które zbierałem na czarną godzinę.
-
-[RM6_3]
-Trzymaj się.
-
-[FE_INIP]
-Inicjalizacja i wczytywanie menu pauzy... Proszę czekać.
-
-[FESZ_CA]
-Anuluj
-
-[FESZ_QU]
-Wyjście
-
-[FESZ_L1]
-Gra została pomyślnie zapisana.
-
-[FESZ_L2]
-Gra została zapisana w pliku o nazwie:
-
-[FESZ_OK]
-OK
-
-[FES_LGA]
-Wczytaj grę
-
-[FES_NGA]
-Nowa gra
-
-[FES_CAN]
-Anuluj
-
-[FESZ_QL]
-Wszelkie niezapisane osiągnięcia i zdobycze w trwającej grze zostaną utracone. Wczytać grę?
-
-[FESZ_QD]
-Czy skasować ten zapis gry?
-
-[FESZ_QO]
-Czy nadpisać tę grę na starszym pliku?
-
-[FESZ_QR]
-Czy jesteś pewien, że chcesz rozpocząć nową grę? Wszelkie osiągnięcia i postępy poczynione od momentu ostatniego zapisu gry zostaną utracone. Kontynuować?
-
-[FESZ_QS]
-KONTYNUOWAĆ ZAPIS?
-
-[T4X4_1]
-'PLAC ZABAW PATRIOTÓW'
-
-[T4X4_2]
-'PRZEJAŻDŻKA W PARKU'
-
-[T4X4_3]
-'W POTRZASKU!'
-
-[MM_1]
-'KOSZMAR WIELU PIĘTER'
-
-[T4X4_1A]
-~g~Masz ~y~5 minut~g~ na zaliczenie ~y~15~g~ punktów kontrolnych. ~g~Możesz zaliczać je w ~y~DOWOLNEJ KOLEJNOŚCI.
-
-[T4X4_1B]
-~1~ z 15!
-
-[T4X4_1C]
-~y~PRZEJEDŹ PRZEZ~g~ pierwszy punkt kontrolny, aby uruchomić odliczanie czasu. ~g~Zaliczenie każdego punktu jest premiowane dodatkowymi ~y~20 SEKUNDAMI~g~
-
-[T4X4_2A]
-~g~Masz ~y~2 minuty~g~ na zaliczenie ~y~12~g~ punktów kontrolnych. ~g~Możesz zaliczać je w ~y~DOWOLNEJ KOLEJNOŚCI.
-
-[T4X4_2B]
-~1~ z 12!
-
-[T4X4_2C]
-~y~PRZEJEDŹ PRZEZ~g~ pierwszy punkt kontrolny, aby uruchomić odliczanie czasu. ~g~Zaliczenie każdego punktu jest premiowane dodatkowymi ~y~10 SEKUNDAMI~g~
-
-[T4X4_3A]
-~g~Masz ~y~5 minut~g~ na zaliczenie ~y~20~g~ punktów kontrolnych. ~g~Możesz zaliczać je w ~y~DOWOLNEJ KOLEJNOŚCI.
-
-[T4X4_3B]
-~y~PRZEJEDŹ PRZEZ~g~ pierwszy punkt kontrolny, aby uruchomić odliczanie czasu. ~g~Zaliczenie każdego punktu jest premiowane dodatkowymi ~y~15 SEKUNDAMI~g~
-
-[T4X4_3C]
-~1~ z 20!
-
-[T4X4_F]
-~r~Wymiękasz! Może lepiej sprawdzisz się w wyścigach na hulajnodze?!
-
-[MM_1_A]
-~g~Masz ~y~2 minuty~g~ na zaliczenie ~y~20 punktów kontrolnych~g~ w całym obiekcie! ~g~Możesz zaliczać punkty w ~y~DOWOLNEJ KOLEJNOŚCI.
-
-[MM_1_B]
-~1~ z 20!
-
-[MM_1_C]
-~g~To oznacza 20 sekund plus ~y~5 SEKUND~g~ premii za każdy zaliczony punkt. ~g~Zegar zaczyna odliczanie ~y~NATYCHMIAST.
-
-[FM2_14]
-~r~Zbliżyłeś się za bardzo i wystraszyłeś Kudłatego!
-
-[FM2_15]
-~g~Nie zbliżaj się zbytnio, bo Kudłaty zacznie coś podejrzewać!
-
-[UPSIDE]
-~r~Przewróciłeś samochód!
-
-[FM2_16]
-STRACHOMETR:
-
-[LM3_11]
-~g~Misty nie będzie jeździć autobusem, załatw inny pojazd!
-
-[LANDSTK]
-Landstalker
-
-[IDAHO]
-Idaho
-
-[STINGER]
-Stinger
-
-[LINERUN]
-Linerunner
-
-[PEREN]
-Perennial
-
-[SENTINL]
-Sentinel
-
-[PATRIOT]
-Patriot
-
-[FIRETRK]
-Wóz strażacki
-
-[TRASHM]
-Śmieciożer
-
-[STRETCH]
-Stretch
-
-[MANANA]
-Manana
-
-[INFERNS]
-Infernus
-
-[BLISTA]
-Blista
-
-[PONY]
-Pony
-
-[MULE]
-Muł
-
-[CHEETAH]
-Cheetah
-
-[AMBULAN]
-Karetka pogotowia
-
-[FBICAR]
-Samochód FBI:
-
-[MOONBM]
-Moonbeam
-
-[ESPERAN]
-Esperanto
-
-[TAXI]
-Taksówka
-
-[KURUMA]
-KURUMA
-
-[BOBCAT]
-Bobcat
-
-[WHOOPEE]
-Pan Smakołyk
-
-[BFINJC]
-Zastrzyk BF
-
-[POLICAR]
-Policja
-
-[ENFORCR]
-Enforcer
-
-[SECURI]
-Konwojowóz
-
-[BANSHEE]
-Demon
-
-[PREDATR]
-Predator
-
-[BUS]
-Autobus
-
-[RHINO]
-Hipcio
-
-[BARRCKS]
-Koszary OL
-
-[TRAIN]
-Pociąg
-
-[HELI]
-Helikopter
-
-[DODO]
-Dodo
-
-[COACH]
-Autokar
-
-[CABBIE]
-Taksówka
-
-[STALION]
-Ogier
-
-[RUMPO]
-Rumpo
-
-[RCBANDT]
-Bandziorek
-
-[BELLYUP]
-Ciężarówka Triady
-
-[MRWONGS]
-Mr Wongs
-
-[MAFIACR]
-Sentinel mafii
-
-[YARDICR]
-Lobo gangu Yardie
-
-[YAKUZCR]
-Stinger gangu Yakuza
-
-[DIABLCR]
-Ogier gangu Diablo
-
-[COLOMCR]
-Krążownik Kartelu
-
-[HOODSCR]
-Rumpo XL gangu Hoods
-
-[AEROPL]
-Samolot
-
-[SPEEDER]
-Speeder
-
-[REEFER]
-Reefer
-
-[PANLANT]
-Panlantic
-
-[FLATBED]
-Flatbed
-
-[YANKEE]
-Yankee
-
-[BORGNIN]
-Borgnine
-
-[TOYZ]
-ZABAWKI
-
-[FEST_DF]
-Odległość przebyta pieszo (w milach)
-
-[FEST_DC]
-Odległość przebyta samochodem (w milach)
-
-[FESTDFM]
-Odległość przebyta pieszo (w metrach)
-
-[FESTDCM]
-Odległość przebyta samochodem (w metrach)
-
-[FEST_R1]
-Plac Zabaw Patriotów w sekundach
-
-[FEST_R2]
-Przejażdżka w parku w sekundach
-
-[FEST_R3]
-W Potrzasku! w sekundach
-
-[FEST_RM]
-Koszmar Wielu Pięter w sekundach
-
-[FEST_LS]
-Ludzie uratowani przez karetkę
-
-[FEST_CC]
-Przestępcy zabici podczas misji patrolowych
-
-[FEST_FE]
-Liczba ugaszonych pożarów
-
-[FEST_LF]
-Najdłuższy lot dodo
-
-[FEST_BD]
-Najlepszy czas rozbrojenia bomby
-
-[FEST_RP]
-Wykonane rozwałki:
-
-[FEST_MP]
-Wykonane misje
-
-[FEST_BB]
-Szukaj Punktów
-
-[FEST_H0]
-Najwięcej punktów kontrolnych
-
-[FEST_GC]
-Łączna liczba pojazdów gangów:
-
-[FEST_H1]
-Diabelska demolka
-
-[FEST_H2]
-Mafijna masakra
-
-[FEST_H3]
-Krwawe kasyno
-
-[FEST_H4]
-Rumpo-rozróba
-
-[USJI1]
-TEKST DŁUŻEJ NIEPOTRZEBNY
-
-[USJI2]
-TEKST DŁUŻEJ NIEPOTRZEBNY
-
-[USJI3]
-TEKST DŁUŻEJ NIEPOTRZEBNY
-
-[USJ]
-PREMIA ZA NIETYPOWY SKOK!
-
-[SPRAY]
-Wprowadź samochód do warsztatu lakierniczego, aby obniżyć swój ~h~poziom złek sławy~w~, ~h~naprawić~h~ oraz przemalować~w~ swój wóz. Koszt - ~h~$1000.
-
-[HM1_1]
-~g~Załatw 20 Purpurowych Dziewiątek w 2 minuty 30 sekund.
-
-[KM1_8A] { re3 change }
-Naciśnij klawisz ~h~ ~k~~VEHICLE_FIREWEAPON~ ~w~, aby ~h~aktywować bombę.~w~ Nie zapomnij oddalić się od miejsca eksplozji.
-
-[KM1_8D] { re3 change }
-Naciśnij klawisz ~h~ ~k~~VEHICLE_FIREWEAPON~ ~w~, aby ~h~aktywować bombę.~w~ Nie zapomnij oddalić się od miejsca eksplozji.
-
-[KM1_12]
-~g~Odwieź go do dojo, ale najpierw pozbądź się gliniarzy!
-
-[RATNG1]
-Kieszonkowiec
-
-[RATNG2]
-Mięśniak
-
-[RATNG3]
-Łotr
-
-[RATNG4]
-Hazardzista
-
-[RATNG5]
-Zbir
-
-[RATNG6]
-Kierowca
-
-[RATNG7]
-Twardziel do wynajęcia
-
-[RATNG8]
-Oszust
-
-[RATNG9]
-Współpracownik
-
-[RATNG10]
-Sprzątacz
-
-[RATNG11]
-Zabójca
-
-[RATNG12]
-Złota rączka
-
-[RATNG13]
-Egzekutor
-
-[RATNG14]
-Capo
-
-[RATNG15]
-Szef
-
-[1010]
-~r~Twój pojazd dachował
-
-[1011]
-~r~Twój pojazd dachował
-
-[1012]
-~r~Twój pojazd dachował
-
-[1013]
-~r~Twój pojazd dachował
-
-[1014]
-~r~Twój pojazd dachował
-
-[JM4_10]
-Słuchaj, młody! Najpierw zawieź mnie do pralni w chińskiej dzielnicy. Mam małą sprawę do załatwienia.
-
-[JM4_11]
-Praczki przestały płacić haracz za ochronę.
-
-[JM4_12]
-Tylko uważaj na wóz, Joey dopiero poskładał ten szmelc.
-
-[JM4_13]
-Więc bez żadnych numerów, OK?
-
-[KM4_11]
-~g~Odwieź pieniądze do kasyna!
-
-[FEF_BR2]
-Możesz przypomnieć sobie fabułę gry, czytając zebrane dotąd streszczenia celów misji.
-
-[TRAIN_1]
-Stacja Kurowski
-
-[TRAIN_2]
-Stacja Rothwell
-
-[TRAIN_3]
-Stacja Baillie
-
-[SUBWAY1]
-Portland Station
-
-[SUBWAY2]
-Rockford Station
-
-[SUBWAY3]
-Staunton South Station
-
-[SUBWAY4]
-Shoreside Terminal
-
-[MEA4_2]
-~r~Marty Chonks nie żyje!
-
-[SPRAY1]
-Wprowadź samochód do warsztatu lakierniczego, aby obniżyć swój ~h~poziom złej sławy~w~, ~h~naprawić~h~ oraz przemalować~w~ swój wóz. Koszt - ~h~$1000~w~. Tym razem zrobimy to za darmo.
-
-[JM4_A]
-Tak, wiem Toni, naprawdę nieźle ją sobie wychowałem. Aż mruczy z zadowolenia, kapujesz?
-
-[JM4_5]
-Wpadnij później to damy im coś do prania - ich własne pokrwawione gacie!
-
-[AMMU_A]
-Luigi mówił, że potrzebujesz gnata...
-
-[AMMU_B]
-Joey wspominał, że potrzebna ci artyleria...
-
-[AMMU_C]
-Idź na tył sklepu. Na podwórzu zostawiłem dla ciebie dziewiątkę.
-
-[AMMU_D]
-Mam wszystko, co potrzeba do obrony własnego gospodarstwa domowego.
-
-[AMMU_E]
-Chcesz jeszcze pozwolenie?
-
-[AMMU_F]
-Nie musisz pokazywać dowodu, wyglądasz na wiarygodnego gościa.
-
-[DETON]
-DETONACJA:
-
-[DRIVE_A] { re3 change }
-Wybierz jako broń uzi i wsiądź do pojazdu. Następnie spójrz w lewo lub w prawo - aby otworzyć ogień, naciśnij klawisz ~h~~k~~VEHICLE_FIREWEAPON~~w~.
-
-[DRIVE_B] { re3 change }
-Wybierz jako broń uzi i wsiądź do pojazdu. Następnie spójrz w lewo lub w prawo - aby otworzyć ogień, naciśnij klawisz ~h~~k~~VEHICLE_FIREWEAPON~~w~.
-
-[RECORD]
-~g~NOWY REKORD!
-
-[NRECORD]
-~r~NIE MA NOWEGO REKORDU!
-
-[RCHELP] { re3 change }
-Naciśnij klawisz ~k~~VEHICLE_FIREWEAPON~ lub uderz zdalnie sterowanym samochodzikiem w koła pojazdu, aby spowodować eksplozję.
-
-[RCHELPA] { re3 change }
-Naciśnij klawisz ~k~~VEHICLE_FIREWEAPON~ lub uderz zdalnie sterowanym samochodzikiem w koła pojazdu, aby spowodować eksplozję.
-
-[RC_1]
-Masz 2 minuty, aby wysadzić tyle samochodów gangu Diablo, ile tylko się da!
-
-[RC_2]
-Masz 2 minuty, aby wysadzić tyle samochodów mafii, ile tylko się da!
-
-[RC_3]
-Masz 2 minuty, aby wysadzić tyle samochodów Yakuzy, ile tylko się da!
-
-[RC_4]
-Masz 2 minuty, aby wysadzić tyle samochodów gangu Yardie, ile tylko się da!
-
-[RC_5]
-Masz 2 minuty, aby wysadzić tyle samochodów gangu Hoods, ile tylko się da!
-
-[RC_6]
-Masz 2 minuty, aby wysadzić tyle samochodów Kartelu, ile tylko się da!
-
-[RAMPAGE]
-ROZWAŁKA!!
-
-[RAMP_P]
-ROZWAŁKA WYKONANA!
-
-[RAMP_F]
-ROZWAŁKA NIEUDANA!
-
-[PAGE_00]
-.
-
-[PAGE_01]
-Załatw ~1~ludzi z gangu Diablo w 120 sekund!
-
-[PAGE_02]
-Zniszcz ~1~ pojazdów w ciągu 120 sekund!
-
-[PAGE_03]
-Zabij ~1~ członków mafii w ciągu 120 sekund!
-
-[PAGE_04]
-Zabij ~1~ członków Triady w ciągu 120 sekund!
-
-[PAGE_05]
-Zabij ~1~ członków Triady w ciągu 120 sekund!
-
-[PAGE_06]
-Zniszcz ~1~ pojazdów w ciągu 120 sekund!
-
-[PAGE_07]
-Rozwal ~1~ łebków z gangu Yardie w ciągu 120 sekund!
-
-[PAGE_08]
-Spal ~1~ członków Yakuzy w ciągu 120 sekund!
-
-[PAGE_09]
-Zniszcz ~1~ pojazdów w ciągu 120 sekund!
-
-[PAGE_10]
-Zniszcz ~1~ pojazdów w ciągu 120 sekund!
-
-[PAGE_11]
-Skasuj ~1~ członków gangu Yardie w ciągu 120 sekund!
-
-[PAGE_12]
-Podpal ~1~ członków Yakuzy w ciągu 120 sekund!
-
-[PAGE_13]
-Wysadź w powietrze ~1~ członków gangu Yardie w ciągu 120 sekund!
-
-[PAGE_14]
-Usmaż ~1~ Kolumbijczyków w ciągu 120 sekund.
-
-[PAGE_15]
-Rozjedź ~1~ członków gangu Hoods w ciągu 120 sekund!
-
-[PAGE_16]
-Zniszcz ~1~ pojazdów w ciągu 120 sekund!
-
-[PAGE_17]
-Rozjedź samochodem ~1~ Kolumbijczyków w ciągu 120 sekund!
-
-[PAGE_18]
-Rozjedź i zniszcz ~1~ pojazdów w ciągu 120 sekund!
-
-[PAGE_19]
-Urwij ~1~ głów Kolumbijczyków w ciągu 120 sekund!
-
-[PAGE_20]
-Obetnij głowy ~1~ członkom gangu Hoods w ciągu 120 sekund!
-
-[JM1_A]
-Hej, umieram z nudów! Kiedy w końcu mnie przelecisz?
-
-[JM1_B]
-Za chwileczkę, złotko! Muszę się zająć jedną drobną kwestią...
-
-[JM1_C]
-Mam dla ciebie robótkę, kolego.
-
-[JM1_D]
-Bracia Forelli od dawna wiszą mi kasę. Od zbyt dawna.
-
-[JM1_E]
-Trzeba dać im lekcję szacunku.
-
-[JM1_F]
-Buźka Forelli napycha właśnie swój bęben w Bistro w St. Marks,
-
-[JM1_G]
-więc ukradnij jego samochód i zabierz go do warsztatu 8-Balla w Harwood.
-
-[JM1_H]
-Znasz 8-Balla, nie?
-
-[JM1_I]
-Kiedy 8-Ball założy w samochodzie ładunek, odprowadź furę na to samo miejsce, z którego ją wziąłeś.
-
-[JM1_J]
-Potem usiądź w bezpiecznej odległości i podziwiaj fajerwerki.
-
-[JM1_K]
-Tylko się pospiesz, grubas nie będzie przecież jadł cały dzień.
-
-[CAT2_A1]
-Jazda, głupia dziwko!
-
-[CAT2_A]
-Trzeba zadać sobie pytanie: czy przyjechałeś ratować Marię czy też żeby spotkać się ze mną?
-
-[CAT2_B]
-Mam dla ciebie wiadomość:
-
-[CAT2_B2]
-romans z tobą to był wyłącznie interes, za to zastrzelę cię dla przyjemności.
-
-[CAT2_C]
-Jesteś muy peccino amigo!
-
-[CAT2_D]
-Rzuć forsę.
-
-[CAT2_E]
-Ostatnio byłeś bardzo pilnym uczniem!
-
-[CAT2_E2]
-Ale nic się nie nauczyłeś. Mnie nie wolno ufać.
-
-[CAT2_E3]
-Zabić tego idiotę.
-
-[CAT2_J]
-Poderwij ten złom w powietrze!
-
-[HM5_1]
-Yo, Ice mówił, że przyjdziesz. Teraz zasady: bierzemy tylko bejsbole - bez spluw i bez samochodów.
-
-[HM5_5]
-To bitwa o honor, czaisz?
-
-[HELP14]
-Aby podnieść broń, po prostu wejdź na nią. Nie możesz podnieść broni, jeżeli siedzisz w samochodzie.
-
-[CRUSH]
-Zaparkuj w oznaczonym miejscu i wysiądź z pojazdu. Samochód zostanie zgnieciony.
-
-[DIAB2_B]
-Gang brzydkich panów zagroził, że pozbawi mnie mojego gwiazdora, jeżeli nie odpalę im doli.
-
-[DIAB2_C]
-Zatańczyli z niewłaściwym człowiekiem, amigo.
-
-[DIAB2_D]
-Oni mają słabość do lodów.
-
-[DIAB2_E]
-Odszukaj bombę, którą zostawiłem w Harwood,
-
-[DIAB2_F]
-porwij jeden z samochodów sprzedających lody w całym mieście,
-
-[DIAB2_G]
-a potem zwab tych idiotów reklamowym sygnałem lodziarza.
-
-[DIAB2_H]
-Ukrywają się w magazynach przy Atlantic Quay.
-
-[DIAB3_A]
-Jacyś niegrzeczni członkowie Triady ukradli wczoraj w nocy mój samochód,
-
-[DIAB3_B]
-rozbili go i zostawili, aby się dopalił.
-
-[DIAB3_C]
-W bagażniku miałem kilka wyjątkowo cennych pamiątek -
-
-[DIAB3_D]
-prawdziwe rzadkie okazy, których nie da się niczym zastąpić, mój przyjacielu.
-
-[DIAB3_E]
-Na granicy Chinatown ukryłem dla ciebie naprawdę potężną broń.
-
-[DIAB3_F]
-Skorzystaj z niej i naucz wandali z Triady, co oznacza zasłużony gniew El Burro.
-
-[DIAB3_1]
-ZABIJ 25 CZŁONKÓW TRIADY
-
-[DIAB4_A]
-Jakiś marny złodziejaszek ukradł mi półciężarówkę z najnowszym wydaniem moich magazynów... Prosto z drukarni!
-
-[DIAB4_B]
-Ale ten zaćpany idiota nie zamknął tylnych drzwi
-
-[DIAB4_C]
-i teraz moja starannie opracowana literatura dla dorosłych,
-
-[DIAB4_D]
-opatrzona wysmakowanymi zdjęciami, wala się po całym Liberty!
-
-[DIAB4_E]
-Weź półciężarówkę i jedź śladem magazynów 'Donkey Daje Całemu Dallas' część 1, 2 i 3.
-
-[DIAB4_F]
-Zbieraj wszystko, co znajdziesz.
-
-[DIAB4_G]
-Kiedy dotrzesz po tropie do tego złodziejskiego ĆPUNA, załatw go!
-
-[DIAB4_H]
-A potem zawieź moje książeczki z Donkey do Magazynów XXX w Dzielnicy Czerwonych Świateł.
-
-[DIAB4_1]
-~g~Zabierz samochód na zaplecze Magazynów XXX.
-
-[HM1_E]
-Pokaż tym zaćpanym siuśkom, na czym polega prawdziwa jazda samochodem.
-
-[HM1_H]
-Usuń mi te 'Dziewiątki' z widoku!
-
-[HM2_A]
-Te 'Dziewiątki' nadal nadeptują mi na odcisk.
-
-[HM2_B]
-Szczeniaki załatwiły sobie samochody opancerzone i sprzedają PROCHY...
-
-[HM2_C]
-...naszym niewinnym czarnym braciom.
-
-[HM2_D]
-Zostawiłem dla ciebie samochód.
-
-[HM2_E]
-W środku znajdziesz parę zabawek, które pomogą ci dać siuśkom nauczkę...
-
-[HM3_A]
-Jakiś samobójca wsadził bombę do mojej gabloty.
-
-[HM3_B]
-Jeżeli stracę tę furę, mogę pożegnać się z moją reputacją na ulicach.
-
-[HM3_C]
-Weź mój wóz i zabierz go do warsztatu w St. Marks, brachu.
-
-[HM3_D]
-Niech chłopaki się nim zajmą i rozbroją bombę.
-
-[HM3_E]
-Zegar już odlicza czas, a bomba chyba jest uszkodzona.
-
-[HM3_F]
-Wpadniesz w jedną dziurę za dużo i to cacko wyleci w powietrze.
-
-[HM3_G]
-Na co jeszcze czekasz?
-
-[HM4_A]
-Yo, na lotnisku im. Francisa właśnie roztrzaskał się samolot Banku Narodowego.
-
-[HM4_B]
-Platyna wala się po całym pasie startowym.
-
-[HM4_C]
-Załatw samochód i zgarnij tyle, ile tylko się da.
-
-[HM4_F]
-Możesz wysypać platynę przy jednym z moich garaży.
-
-[HM4_G]
-Platyna jest cholernie ciężka, więc nie zdziw się, kiedy przeciążysz gablotę i fura będzie się wlokła jak ślimak.
-
-[HM4_H]
-Lepiej regularnie zrzucaj towar przy jakimś garażu.
-
-[HM5_A]
-Z gangu 'Dziewiątek' zostały już tylko niedobitki...
-
-[HM5_B]
-ale nadal chcą się pobawić.
-
-[HM5_C]
-Zgodzili się na pojedynek twarzą w twarz.
-
-[HM5_D]
-Ich banda przeciwko dwóm spośród nas, a raczej...
-
-[HM5_E]
-przeciwko tobie i jeszcze komuś
-
-[HM5_F]
-Poszedłbym z tobą, ale...
-
-[HM5_G]
-jeszcze przez trzy miesiące mam wyrok w zawieszeniu i nie mogę rozrabiać,
-
-[HM5_H]
-sam rozumiesz.
-
-[HM5_I]
-Weźmiesz ze sobą mojego młodszego brata.
-
-[HM5_J]
-On ci pokaże, gdzie jesteście umówieni.
-
-[MEA1_B]
-Nazywam się Chonks, Marty Chonks.
-
-[MEA1_C]
-Prowadzę Delikatesy Pod Psem, tuż za rogiem.
-
-[MEA1_D]
-Mam kłopoty z kasą, ale kto ich dzisiaj nie ma?
-
-[MEA1_E]
-Jestem umówiony z kierownikiem mojego banku.
-
-[MEA1_F]
-Ten cwaniaczek cały czas podnosi odsetki mojego kredytu, żeby móc odkroić swoją działkę.
-
-[MEA1_G]
-Weź mój samochód, jedź po niego i przywieź go tutaj.
-
-[MEA1_H]
-Mam małą niespodziankę dla tego krwiopijcy!!
-
-[MEA2_A]
-Wynająłem paru złodziejaszków, aby włamali się do mojego mieszkania
-
-[MEA2_C]
-Te złodziejskie szumowiny grożą, że zakapują mnie w firmie ubezpieczeniowej,
-
-[MEA2_D]
-jeżeli nie odpalę im doli.
-
-[MEA2_E]
-To się po prostu w głowie nie mieści!
-
-[MEA2_F]
-W fabryce zostawiłem samochód.
-
-[MEA2_G]
-Skorzystaj z niego i zabierz złodziei z Dzielnicy Czerwonych Świateł.
-
-[MEA2_H]
-Potem przywieź ich do fabryki. Tam wytłumaczę im mój punkt widzenia w tej sprawie.
-
-[MEA3_A]
-Mój interes zbankrutuje, jeżeli szybko nie dostanę do rąk większej gotówki.
-
-[MEA3_B]
-Moja żona ma sporą polisę ubezpieczeniową, a i tak przez całe życie tylko wyciągała ode mnie pieniądze.
-
-[MEA3_C]
-Zostawiłem samochód w umówionym miejscu.
-
-[MEA3_D]
-Jedź po moją żonę do pawilonu 'Klasyczny Manicure' i przywieź ją do fabryki.
-
-[MEA4_A]
-Cholera, wpakowałem się w tarapaty!
-
-[MEA4_B]
-Okazuje się, że moja żona romansowała z gościem, któremu wiszę pieniądze.
-
-[MEA4_C]
-Jest mocno wkurzony i chce mi się zrewanżować!
-
-[MEA4_E]
-on myśli, że chcę oddać mu kasę...
-
-[MEA4_F]
-ale mnie się zdaje...
-
-[MEA4_G]
-że do misek psów z Liberty jeszcze w tym miesiącu trafi kolejny rodzaj mięska!
-
-[WELCOME]
-WITAMY W
-
-[HM1_2]
-~g~Zdobądź samochód! Pamiętaj, że liczą się tylko kolesie rozjechani samochodem!
-
-[HELP8_B]
-Naciśnij klawisz~h~ ~k~~PED_SNIPER_ZOOM_IN~~w~, aby ~h~przybliżyć ~w~widok przez lunetkę karabinu oraz klawisz~h~ ~k~~PED_SNIPER_ZOOM_OUT~~w~, aby ~h~oddalić~w~ widok.
-
-[LRQC_1]
-Muszę, hm, porozmawiać z Asuką.
-
-[LRQC_2]
-Może wyskoczysz na spacer po mieście?
-
-[LRQC_3]
-Musisz znaleźć sobie jakąś kryjówkę.
-
-[LRQC_4]
-W Belville jest magazyn, który powinien ci odpowiadać.
-
-[LRQC_5]
-Kiedy będziesz gotowy, wróć do mojego apartamentu,
-
-[LRQC_6]
-to pogadamy, co robić dalej.
-
-[JM6_5]
-~g~Musisz załatwić pojazd, którym uciekniemy, idioto!
-
-[JM2_F]
-Jeżeli potrzebujesz giwery, to idź na zaplecze Amu-Nacji naprzeciwko stacji metra.
-
-[LOVE4_7]
-~g~Na Wyspie Staunton jest jakiś plac budowy, może to właśnie tam zabrali pakunek.
-
-[LOVE4_8]
-~g~Aby otworzyć ten garaż, musisz mieć samochód.
-
-[TSCORE]
-ZAROBEK: $~1~
-
-[AM1_9]
-~r~Salvatore uciekł z powrotem do klubu 'U Luigiego'!
-
-[AM1_6]
-~g~Jeżeli będziesz kręcił się wokół klubu Luigiego, to mafia z pewnością cię wypatrzy!
-
-[TM2_3]
-~g~To pułapka! Załatw ich!!!
-
-[FM4_1]
-Tu mówi Maria. Ten samochód to pułapka! Spotkaj się ze mną na południowym końcu Mostu Callahan.
-
-[JM1_7]
-~g~Zamknij drzwi samochodu! Mike może coś zwąchać!
-
-[KM5_1]
-~g~DILER ROZJECHANY!!!
-
-[KM5_6]
-~g~Musisz zamordować co najmniej 8 dilerów z gangu Yardie.
-
-[KM5_7]
-~g~Zabijaj jak najszybciej! Kiedy sprzedadzą cały towar, pochowają się w swoich norach!
-
-[RM3_8]
-~r~Ten samochód to tylko przynęta!!
-
-[LM3_8]
-Cześć, jestem Joey.
-
-[LM3_9]
-Luigi mówił, że można ci ufać, więc wpadnij później,
-
-[KM3_5]
-~g~Naciśnij klakson, aby zacząć rozmowy.
-
-[LOVE7]
-ZNIKNIĘCIE LOVE'A
-
-[LOVE2_5]
-~g~Z Kenji'ego została już tylko kupa mięsa na twoje masce! Uciekaj z Newport i pozbądź się samochodu!
-
-[AS2_11]
-~g~~1~ Z 9!
-
-[GARAGE1]
-~g~Wysiądź z samochodu i wyjdź na zewnątrz.
-
-[KM3_11]
-~g~Kartel został zaatakowany, a teczka nie została odzyskana.
-
-[KM3_12]
-~g~Zabij wszystkich Kolumbijczyków, zniszcz pojazdy i odzyskaj teczkę.
-
-[KM3_13]
-~g~Odwieź teczkę do kasyna.
-
-[RM5_6]
-~g~Prawie go masz! Staranuj jego wóz swoim pojazdem albo rozwal materiałami wybuchowymi!
-
-[PBOAT_1] { re3 change }
-Naciśnij klawisz ~h~~k~~VEHICLE_FIREWEAPON~~w~, aby otworzyć ogień z działek na łodzi.
-
-[PBOAT_2] { re3 change }
-Naciśnij klawisz ~h~~k~~VEHICLE_FIREWEAPON~~w~, aby otworzyć ogień z działek na łodzi.
-
-[DIAB1_B]
-Mówi El Burro z gangu Diablo.
-
-[DIAB1_D]
-Jesteś nowy w Liberty, ale na ulicach już zaczyna być o tobie głośno.
-
-[DIAB1_E]
-Organizuję dla rozrywki mały wyścig. Punkt startu znajduje się przy starej szkole w okolicach Mostu Callahan.
-
-[DIAB1_F]
-Skołuj sobie gablotę. Wygrywa ten, kto pierwszy zaliczy wszystkie punkty na trasie.
-
-[HM2_1] { re3 change }
-Użyj zdalnie sterowanych samochodzików, aby zniszczyć samochody opancerzone. Naciśnij klawisz ~h~~k~~VEHICLE_FIREWEAPON~~w~, aby zdetonować ładunek.
-
-[HM2_1A] { re3 change }
-Użyj zdalnie sterowanych samochodzików, aby zniszczyć samochody opancerzone. Naciśnij klawisz ~h~~k~~VEHICLE_FIREWEAPON~~w~, aby zdetonować ładunek.
-
-[HM2_2]
-~r~Nie udało ci się zniszczyć wszystkich samochodów opancerzonych!
-
-[HM2_6]
-~g~Samochód opancerzony został zniszczony!
-
-[RM3_A]
-Znam w tym mieście jednego bardzo ważnego faceta, prawdziwą grubą rybę,
-
-[RM3_H]
-który słynie ze swych, jak to ująć, nietypowych upodobań i wielkiej fortuny, jaką na nie wydaje.
-
-[RM3_B]
-Uwikłał się w proces sądowy, a prokuratura zdobyła kompromitujące go fotografie.
-
-[RM3_C]
-Zrobili je na imprezie w kostnicy czy coś takiego.
-
-[LOVE6_A]
-Przyjacielu, przyjmij ode mnie lekcję prowadzenia interesów.
-
-[LOVE6_E]
-Jeżeli posiadasz przedmiot jedyny w swoim rodzaju, to dokładnie wszyscy, nawet ze swoimi żonami, będą się ze wszystkich sił starać ci go odebrać,
-
-[LOVE6_C]
-Oddziały antyterrorystyczne otoczyły obszar, na którym znajduje się mój współpracownik wraz z pakunkiem.
-
-[LOVE6_D]
-Jedź tam i weź ciężarówkę. Posłużysz jako przynęta.
-
-[LOVE6_F]
-Odciągnij ich uwagę tak, aby mój przyjaciel mógł spokojnie opuścić to miejsce.
-
-[AM3_C]
-Teraz najprawdopodobniej czyha na zatoce! Ukradnij łódź policyjną i raz na zawsze zakończ jego karierę!
-
-[FESZ_UC]
-ANULUJ
-
-[FEDS_SM]
-L1, R1 - ZMIANA MENU
-
-[FEDS_AS]
-;= - ZMIANA WYBORU
-
-[FEDSAS2]
-<> - ZMIANA WYBORU
-
-[FEDS_SS]
-L1, R1 - ZMIANA WYBORU
-
-[FEDSSC1]
-; - SZYBSZE PRZEWIJANIE
-
-[FEDSSC2]
-Err:509
-
-[MEA2_3]
-~g~Odwieź samochód do fabryki.
-
-[RM1_3]
-~r~McAffrey zwiał!
-
-[RM1_4]
-~g~Zużyłeś wszystkie granaty! Wróć po nowy zapas do Amu-Nacji!
-
-[RM1_5]
-~g~Wracaj i podpal ten dom!
-
-[RM6_4]
-~g~Jedź do dziupli i zabierz rzeczy Raya.
-
-[RM6_5]
-~g~CIA nieustannie obserwuje most, znajdź inną trasę.
-
-[HM2_F]
-i sprzątnąć ich pancerny złom.
-
-[HM_4]
-'W POGONI ZA KASĄ'
-
-[MEA2_B5]
-TEKST JUŻ NIEPOTRZEBNY
-
-[MEA1_B5]
-TEKST JUŻ NIEPOTRZEBNY
-
-[MEA3_B5]
-TEKST JUŻ NIEPOTRZEBNY
-
-[MEA4_B7]
-ale jeżeli zechcesz wpaść do mojego biura...
-
-[MEA3_B4]
-Marty chce się ze mną widzieć? Lepiej niech się streszcza, bo muszę jeszcze zrobić sobie dzisiaj nową fryzurę.
-
-[KM3_7]
-Ludzie, to pułapka Yakuzy!
-
-[FES_LOF]
-Wczytywanie nieudane.
-
-[FES_SLO]
-ZAPISZ PLIK
-
-[FES_ISC]
-USZKODZONY
-
-[FESZ_TI]
-ZAPISZ Z1
-
-[FESZ_SA]
-Zapis gry
-
-[MC_LDFL]
-Wczytywanie nieudane!
-
-[MC_NWRE]
-Trwa ponowne uruchamianie gry.
-
-[LOVE6_3]
-~g~Masz ~1~ sekund na powrót do konwojowozu albo misja zakończy się porażką.
-
-[LOVE6_4]
-~r~Straciłeś fałszywy konwojowóz!
-
-[HELP1]
-Zatrzymaj się wewnątrz niebieskiego pola.
-
-[HELP12]
-Stań na niebieskim polu, aby rozpocząć misję.
-
-[HJSTAT]
-Odległość: ~1~,~1~m Wysokość:~1~,~1~m Salta: ~1~ Obroty: ~1~_
-
-[HJSTATW]
-Odległość: ~1~.~1~m Wysokość: ~1~.~1~m Salta: ~1~ Obroty: ~1~_ Plus doskonałe lądowanie!
-
-[DIAB1_5]
-CZAS WYŚCIGU:
-
-[LOVE3_4]
-~r~Zniszczyłeś samolot!
-
-[F_FAIL1]
-Misja strażacka zakończona.
-
-[F_CANC]
-~r~Misja strażacka anulowana!
-
-[F_EXTIN]
-POŻARY:
-
-[A_COMP1]
-Misja ratunkowa wykonana!
-
-[A_CANC]
-~R~Misja ratunkowa anulowana!
-
-[A_COMP3]
-Misja ratunkowa wykonana! Ty chyba nigdy się nie męczysz!
-
-[ATUTOR]
-Wciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~~w~, aby włączyć lub wyłączyć misje ratunkowe.
-
-[ATUTOR3]
-Wciśnij klawisz ~h~~k~~TOGGLE_SUBMISSIONS~~w~, aby włączyć lub wyłączyć misje ratunkowe.
-
-[ALEVEL]
-Misja Ratunkowa, Poziom ~1~
-
-[A_FAIL1]
-Misja ratunkowa zakończona.
-
-[FEST_HA]
-Najwyższy poziom misji ratunkowej
-
-[A_SAVES]
-URATOWANI LUDZIE:~1~
-
-[C_KILLS]
-ZABICI PRZESTĘPCY: ~1~
-
-[HM1_B]
-Mam problem z paroma frajerami.
-
-[AM2_A]
-Śmierć Salvatore to radosna wiadomość,
-
-[AM2_A2]
-widać, że jesteś dobrym zabójcą. Lubię tę cechę u ludzi.
-
-[AM2_B]
-To mój brat Kenji.
-
-[AM2_C]
-Asuka ma dla ciebie małą robótkę. Kiedy skończysz, wpadnij do mojego kasyna, to pogadamy.
-
-[AM2_D]
-Zupełnie jak Kenji, on też zawsze chce bawić się moimi zabawkami.
-
-[AM2_E]
-Moja wtyczka w policji donosi, że Mafia obserwuje nasze lokale w całym mieście.
-
-[AM2_E2]
-Prawdopodobnie usiłują cię wytropić.
-
-[AM2_F]
-Dopóki nie załatwimy tej sprawy, nie możemy prowadzić zwykłej działalności.
-
-[AM2_G]
-Załatw tych głupawych szpiegów i raz na zawsze zakończ tę wendettę.
-
-[F_START]
-~g~W okolicach ~a~ zauważono płonący pojazd. Udaj się tam i ugaś pożar.
-
-[AM4_1A]
-Odszukaj telefon na Park West Belleville.
-
-[AM4_1B]
-Odszukaj telefon na kampusie Liberty.
-
-[AM4_1C]
-Odszukaj telefon na Park South Belleville.
-
-[AM4_1D]
-Spotkajmy się w parku przy toaletach.
-
-[HJSTATF]
-Odległość: ~1~ stóp Wysokość: ~1~ stóp Salta: ~1~ Obroty: ~1~_
-
-[HJSTAWF]
-Odległość: ~1~.~1~ stóp Wysokość: ~1~.~1~ stóp Salta: ~1~ Obroty: ~1~_ Plus doskonałe lądowanie!
-
-[HM1_F]
-Lepiej uważaj - na ulicach będą też ludzie z Jacks, którzy mogą uznać, że polujesz również na nich!
-
-[HM1_D]
-Nazywają się 'Dziewiątki' i ubierają się na purpurowo. Każdy dzień, kiedy te leszcze obnoszą się ze swoim barwami,
-
-[HM1_G]
-to dzień wstydu dla mojego gangu.
-
-[MEA2_B]
-i ukradli parę rzeczy, co pozwoli mi wyciągnąć kasę z odszkodowania.
-
-[TM3_H]
-~w~Dobrze się spisałeś, młody, naprawdę dobrze.
-
-[TM3_I]
-~w~Chodź, Don chce cię poznać.
-
-[TM3_J]
-~w~Heeeej, Luigi!
-
-[TM3_K]
-~w~Moje dziewczynki tęsknią za tobą, Salvatore, dawno cię u nas nie było.
-
-[TM3_L]
-~w~Przekaż im ode mnie, że kiedy załatwimy całą tę nieszczęsną sprawę,
-
-[TM3_M]
-~w~razem pojedziemy do klubu i uczcimy zwycięstwo
-
-[TM3_N]
-~w~Oto i mój chłopak.
-
-[TM3_N2]
-~w~Jak się masz, tato?
-
-[TM3_O]
-~w~Znalazłeś już sobie przyzwoitą kobietę?
-
-[TM3_P]
-~w~Ech, twoja matka, wieczny odpoczynek racz jej dać Panie, przewraca się w grobie,
-
-[TM3_Q]
-~w~bo jej syn jeszcze nie ma żony.
-
-[TM3_R]
-~w~Wiem, tato. Pracuję nad tym.
-
-[TM3_S]
-~w~TONI! Jak twoja Mamuśka?
-
-[TM3_T]
-~w~To wspaniała kobieta. Silna. Firenze.
-
-[TM3_U]
-~w~Mama ma się dobrze... Znakomicie.
-
-[TM3_V]
-~w~Doskonale, doskonale. Posłuchajcie, panowie, rozgośćcie się w środku, a ja porozmawiam z naszym nowym przyjacielem.
-
-[TM3_W]
-~w~Widzę przed tobą wielką przyszłość, chłopcze...
-
-[RM1_A]
-Ta szuja McAffrey wziął więcej łapówek niż ktokolwiek inny.
-
-[RM1_B]
-Teraz myśli, że zasłuży na wygodną emeryturę, jeżeli zakapuje nas policji.
-
-[RM1_C]
-Właśnie nas wsypał!
-
-[RM4_B]
-Trzeba go uciszyć raz na zawsze.
-
-[RM4_E]
-Od jutra ma spać z rybami, a nie jadać je na kolację.
-
-[LOVE3_B]
-Dziś w nocy mały samolot przeleci nad zatoką, podchodząc do lądowania.
-
-[LOVE4_D]
-Niestety, władze lotniska przejęły samolot i zaczęły rozbierać go na części,
-
-[LOVE4_H]
-dopóki nie rzuciłem na szalę całego swojego autorytetu.
-
-[LOVE4_E]
-Przejedź przez most do Shoreside Vale i jedź na lotnisko im. Francisa.
-
-[GTAB_A]
-Lepiej stąd znikajmy. Cholera wie, co to jest,
-
-[GTAB_B]
-ale zdaje się, że temu facetowi bardzo na tym zależy, więc to z pewnością musi mieć jakąś wartość.
-
-[GTAB_C]
-Co, u diabła!
-
-[GTAB_D]
-TO TY!
-
-[GTAB_E]
-Hej, spokojnie, amigo! De nada! De nada!
-
-[GTAB_F]
-Kiedy ostatni raz cię widziałem, twoje truchło spływało do ścieków!
-
-[GTAB_G]
-Nie strzelaj, amigo. Nie ma problemu. My przyjaciele. Proszę, weź to sobie.
-
-[GTAB_H]
-Nie bądź taką ciotą!
-
-[GTAB_I]
-Nie mamy wyboru, kotku!
-
-[GTAB_J]
-Zawsze mamy wybór, tępaku!
-
-[GTAB_K]
-Przepraszam za tę głupią sukę, one wszystkie są jednakowe... por favor?
-
-[GTAB_L]
-Więc ta dziwka zwiała?
-
-[GTAB_M]
-Ale zrobiłeś mi przysługę,
-
-[GTAB_N]
-nie jesteś jedyną osobą, która ma rachunki do wyrównania z Kartelem.
-
-[GTAB_O]
-Ten gnidy zabiły mi brata!
-
-[GTAB_P]
-Nigdy nie zabiłem żadnego członka Yakuzy!
-
-[GTAB_Q]
-KŁAMIESZ! Wszyscy widzieliśmy zabójcę z Kartelu.
-
-[GTAB_R]
-Wytropimy i wytłuczemy was wszystkich, wy kolumbijskie kundle!
-
-[GTAB_S]
-Pobawię się z twoim przyjacielem, aby wydobyć z niego jakieś informacje i troszkę się rozerwać.
-
-[GTAB_T]
-Ej, wpadnij później, będe cię jeszcze potrzebował.
-
-[GTAB_U]
-Proszę, amigo, nie zostawiaj mnie z nią! Ta chica to wariatka! Amigo? Hej, AMIGOOO!!!... Aaaaaa!
-
-[LOVE5_A]
-Raz po raz dowodzisz, że warto w ciebie inwestować, a to rzadkość w dzisiejszych czasach kłamstwa i obłudy.
-
-[KM3_1]
-~g~Kartel spodziewa się kolesia z Yardies, więc idź i ukradnij samochód gangu Yardie! Powinieneś znaleźć ich w Newport, na północy.
-
-[LOVE1_1]
-~g~Podwędź samochód gangu kolumbijskiego, abyś mógł swobodnie przeniknąć do ich kryjówki. Samochód znajdziesz na północ stąd, w Fort Staunton.
-
-[FM1_Q1]
-~w~Szukasz mocnych wrażeń? Może odrobinę... Hm? Odrobinę HEROINY?
-
-[FM1_R]
-~w~Czołem, Chico. Nie, daj mi to, co zawsze.
-
-[FM1_T]
-~w~Dzięki, Chico. Na razie!
-
-[FM1_W]
-~w~W porządku, piesku! Posiedź tu i popilnuj samochodu, a ja wyskoczę i poruszam trochę tyłkiem.
-
-[FM1_X]
-~w~OK, piesku! Znikajmy stąd. Hau hau!
-
-[FM1_Q]
-~g~Cześć, Mario! Moja ulubiona klientka!
-
-[FM1_S1]
-~w~Hej, może wpadniesz na imprezę w tej pustej hali magazynowej na wschodnim krańcu Atlantic Quays?
-
-[FM1_U]
-~w~Gracias i życzę przyjemnych wrażeń. To niezły towar...
-
-[FM1_V]
-~w~Jazda, piesku! Jedziemy zajrzeć na tę imprezę!
-
-[FM1_SS]
-~r~NASŁUCH RADIOWY: ~g~Cztery-pięć do wszystkich jednostek: Zapewnić wsparcie akcji antynarkotykowej w Atlantic Quays...
-
-[LOVE6_B]
-nawet jeżeli mają tylko blade pojęcie na temat jego rzeczywistej wartości.
-
-[TM3_A1]
-~r~Joey się usmażył!
-
-[TM3_A2]
-~r~Joey i Lugi spiekli się na węgiel!
-
-[TM3_A3]
-~r~Joey, Luigi i Toni usmażeni!
-
-[FM4_2]
-Posłuchaj, Salvatore podejrzewa, że kombinujemy coś za jego plecami,
-
-[FM4_3]
-dlatego postanowił sprzedać cię Kartelowi.
-
-[FM4_4]
-Nie mogę do tego dopuścić. Najgorsze w tym wszystkim jest to,
-
-[FM4_4B]
-że to moja wina... To ja mu powiedziałam, że między nami coś jest...
-
-[FM4_5]
-Nie pytaj mnie, po co. Sama nie wiem.
-
-[FM4_6]
-Posłuchaj, na terytorium mafii jesteś poszukiwany, ja też chciałabym się stąd wyrwać.
-
-[FM4_6B]
-Widziałam już za dużo śmierci, zbyt wiele krwi!
-
-[FM4_7]
-Mam starą dobrą przyjaciółkę... Nazywa się Asuka. Możemy jej zaufać.
-
-[FM4_8]
-Dobra, wystarczy już tych przemówień.
-
-[FM4_9]
-Zbierajmy się stąd, zanim pojawią się tu całe wycieczki rozhisteryzowanych Włochów, którzy będą chcieli rozstrzygać z nami rodzinne zatargi.
-
-[CRED001]
-ROCKSTAR STUDIOS
-
-[CRED002]
-PRODUCENT
-
-[CRED003]
-LESLIE BENZIES
-
-[CRED004]
-KIEROWNIK ARTYSTYCZNY
-
-[CRED005]
-AARON GARBUT
-
-[CRED006]
-KIEROWNIK TECHNICZNY
-
-[CRED007]
-OBBE VERMEIJ
-
-[CRED008]
-ADAM FOWLER
-
-[CRED009]
-PROJEKT
-
-[CRED010]
-CRAIG FILSHIE
-
-[CRED011]
-WILLIAM MILLS
-
-[CRED012]
-CHRIS ROTHWELL
-
-[CRED013]
-JAMES WORRALL
-
-[CRED014]
-SCENARIUSZ
-
-[CRED015]
-JAMES WORRALL
-
-[CRED016]
-PAUL KUROWSKI
-
-[CRED017]
-DAN HOUSER
-
-[CRED018]
-POSTACI
-
-[CRED019]
-IAN MCQUE
-
-[CRED020]
-ANIMACJA & REŻYSERIA
-
-[CRED021]
-ALEX HORTON
-
-[CRED022]
-LEE MONTGOMERY
-
-[CRED023]
-PROJEKTY POJAZDÓW
-
-[CRED024]
-PAUL KUROWSKI
-
-[CRED025]
-GRAFICY
-
-[CRED026]
-KEIRAN BAILLIE
-
-[CRED027]
-ADAM COCHRANE
-
-[CRED028]
-GARY MCADAM
-
-[CRED029]
-MICHAEL PIRSO
-
-[CRED030]
-ANDREW SOOSAY
-
-[CRED031]
-ALISDAIR WOOD
-
-[CRED032]
-KODERZY
-
-[CRED033]
-ALAN CAMPBELL
-
-[CRED034]
-MARK HANLON
-
-[CRED035]
-ANDRZEJ MADAJCZYK
-
-[CRED036]
-ALEXANDER ROGER
-
-[CRED037]
-GRAEME WILLIAMSON
-
-[CRED038]
-MUZYKA
-
-[CRED039]
-CRAIG CONNER
-
-[CRED040]
-STUART ROSS
-
-[CRED041]
-KONCEPCJA I MASTERING DŹWIĘKU
-
-[CRED042]
-ALLAN WALKER
-
-[CRED043]
-PROGRAMOWANIE AUDIO
-
-[CRED044]
-RAYMOND USHER
-
-[CRED045]
-KIEROWNIK TESTÓW
-
-[CRED046]
-CRAIG ARBUTHNOTT
-
-[CRED047]
-GŁÓWNI TESTERZY
-
-[CRED048]
-ANDY DUTHIE
-
-[CRED049]
-JOHN HAIME
-
-[CRED050]
-NEIL CORBETT
-
-[CRD050A]
-TESTERZY
-
-[CRED051]
-GRAEME JENNINGS
-
-[CRED052]
-DAVID MURDOCH
-
-[CRED053]
-DAVID BEDDOES
-
-[CRED054]
-EDWIN SMITH
-
-[CRED055]
-MARK FLETT
-
-[CRED056]
-MICHAEL SUTHERLAND
-
-[CRED057]
-POMOC TECHNICZNA
-
-[CRED058]
-LORRAINE ROY
-
-[CRED059]
-CHRISTINE CHALMERS
-
-[CRED060]
-ROCKSTAR
-
-[CRED061]
-PRODUCENT WYKONAWCZY
-
-[CRED062]
-SAM HOUSER
-
-[CRED063]
-PRODUCENT
-
-[CRED064]
-DAN HOUSER
-
-[CRED065]
-DYREKTOR DS. ROZWOJU
-
-[CRED066]
-JAMIE KING
-
-[CRED067]
-PRODUCENT TECHNICZNY
-
-[CRED068]
-GARY J. FOREMAN
-
-[CRED069]
-PRODUCENT POMOCNICZY
-
-[CRED070]
-JEREMY POPE
-
-[CRED071]
-KOORDYNACJA MUZYCZNA
-
-[CRED072]
-TERRY DONOVAN
-
-[CRED073]
-ZESPÓŁ PRODUKCYJNY ROCKSTAR
-
-[CRED074]
-TERRY DONOVAN
-
-[CRED075]
-JENNIFER KOLBE
-
-[CRED076]
-JENEFER GROSS
-
-[CRED077]
-LAURA PATERSON
-
-[CRED078]
-JEFF CASTANEDA
-
-[CRED079]
-CHRIS CARRO
-
-[CRED080]
-ADAM TEDMAN
-
-[CRED081]
-JUNG KWAK
-
-[CRED082]
-BRIAN WOOD
-
-[CRED083]
-PAUL YEATES
-
-[CRED084]
-STANTON SARJEANT
-
-[CRED085]
-WICEPREZES DS. MARKETINGU
-
-[CRED086]
-TERRY DONOVAN
-
-[CRED087]
-KOORDYNACJA TECHNICZNA
-
-[CRED088]
-BRANDON ROSE
-
-[CRED089]
-KIEROWNIK DS. ZAPEWNIENIA JAKOŚCI
-
-[CRED090]
-JEFF ROSA
-
-[CRED091]
-GŁÓWNY ANALITYK
-
-[CRED092]
-ADAM DAVIDSON
-
-[CRED093]
-ANALITYK GRY
-
-[CRED094]
-RICHARD HUIE
-
-[CRED095]
-ZESPÓŁ TESTUJĄCY
-
-[CRED096]
-LANCE WILLIAMS
-
-[CRED097]
-JOE GREENE
-
-[CRED098]
-BRIAN PLANER
-
-[CRED099]
-OSWALD GREENE
-
-[CRED100]
-REDAKCJA 'LIBERTY TREE'
-
-[CRED101]
-JAMES WORRALL
-
-[CRED102]
-DAN HOUSER
-
-[CRED103]
-ADAM TEDMAN
-
-[CRED104]
-PAUL YEATES
-
-[CRED105]
-JENEFER GROSS
-
-[CRED106]
-LAURA PATERSON
-
-[CRED107]
-SEKWENCJE FILMOWE
-
-[CRED108]
-SCENARIUSZ: DAN HOUSER I JAMES WORALL
-
-[CRED109]
-REŻYSERIA DŹWIĘKU: DAN HOUSER
-
-[CRED110]
-PRODUKCJA DŹWIĘKU: RENAUD SEBBANE
-
-[CRED111]
-OBSADA
-
-[CRED112]
-FRANK VINCENT JAKO SALVATORE LEONE
-
-[CRED113]
-JOE PANTOLIANO JAKO LUIGI GOTERELLI
-
-[CRED114]
-MICHAEL MADSEN JAKO TONI CIPRIANI
-
-[CRED115]
-MICHAEL RAPAPORT JAKO JOEY LEONE
-
-[CRED116]
-DEBBI MAZAR JAKO MARIA
-
-[CRED117]
-KYLE MACLACHLAN JAKO DONALD LOVE
-
-[CRED118]
-ROBERT LOGGIA JAKO RAY MACHOWSKI
-
-[CRED119]
-GURU JAKO 8-BALL
-
-[CRED120]
-SONDRA JAMES JAKO MAMUŚKA
-
-[CRED121]
-LIANA PAI JAKO ASUKA
-
-[CRED122]
-LES MAU JAKO KENJI
-
-[CRED123]
-CYNTHIA FARRELL JAKO CATALINA
-
-[CRED124]
-AL. ESPINOSA JAKO MIGUEL
-
-[CRED125]
-CHRIS PHILLIPS JAKO EL BURRO
-
-[CRED126]
-HUNTER PLATIN JAKO CHICO
-
-[CRED127]
-WALTER MUDU JAKO D-ICE
-
-[CRED128]
-CURTIS MCCLARIN JAKO CURTLY
-
-[CRED129]
-BILL FIORE JAKO DARKEL
-
-[CRED130]
-CHRIS PHILLIPS JAKO MARTY CHONKS
-
-[CRED131]
-HUNTER PLATIN JAKO KUDŁATY BOB
-
-[CRED132]
-WALTER MUDU JAKO KING COURTNEY
-
-[CRED133]
-HUNTER PLATIN JAKO JEDNORĘKI PHIL
-
-[CRED134]
-KIM GURNEY JAKO MISTY
-
-[CRED135]
-MOTION CAPTURE
-
-[CRED136]
-ANIMACJA
-
-[CRD136A]
-ALEX HORTON
-
-[CRED137]
-REŻYSERIA
-
-[CRD137A]
-NAVID KHONSARI
-
-[CRED138]
-PRODUKCJA
-
-[CRD138A]
-JAMIE KING
-
-[CRD138B]
-RENAUD SEBBANE
-
-[CRED139]
-NAGRANIA PRZEPROWADZONO W MODERN UPRISINGS STUDIOS, BROOKLYN
-
-[CRED140]
-AKTORZY
-
-[CRD140A]
-MARTINEZ
-
-[CRD140B]
-GISELLE JONES
-
-[CRD140C]
-STEPHEN DANIELS
-
-[CRD140D]
-ROBERT STIO
-
-[CRD140E]
-JENNY GROSS.
-
-[CRED141]
-DIALOGI PRZECHODNIÓW
-
-[CRED142]
-TEKST: DAN HOUSER, NAVID KHONSARI I JAMES WORALL
-
-[CRED143]
-REŻYSERIA: CRAIG CONNER, DAN HOUSER I LAZLOW
-
-[CRED144]
-PRODUKCJA: RENAUD SEBBANE
-
-[CRED145]
-OBSADA
-
-[CRED146]
-HUNTER PLATIN
-
-[CRED147]
-DAN HOUSER
-
-[CRED148]
-RENAUD SEBBANE
-
-[CRED149]
-MARIA CHAMBERS
-
-[CRED150]
-JEFF STANTON
-
-[CRED151]
-RYAN CROY
-
-[CRED152]
-DEENA BERMAN
-
-[CRED153]
-MARIA CHAMBERS
-
-[CRED154]
-ALICE B. SALTZMAN
-
-[CRED155]
-ALEX ANTHONY SIOUKAS
-
-[CRED156]
-SEAN R. LYNCH
-
-[CRED157]
-AMY SALZMAN
-
-[CRED158]
-COLIN MCSHANE
-
-[CRED159]
-COREY WADE
-
-[CRED160]
-GERALD COSGROVE
-
-[CRED161]
-STEPHANIE ROY
-
-[CRED162]
-DORIS WOO
-
-[CRED163]
-JOSEPH GREENE
-
-[CRED164]
-LAZLOW JONES
-
-[CRED165]
-HSIANG LIN
-
-[CRED166]
-STEVE MICHAEL ROBERT
-
-[CRED167]
-MATHEW MURRAY
-
-[CRED168]
-RICHARD HUIE
-
-[CRED169]
-GARVIN ATWELL
-
-[CRED170]
-STEVE KNEZEVICH
-
-[CRED171]
-YUKIMURA SATO
-
-[CRED172]
-FRANK CHAVEZ
-
-[CRED173]
-LIEZL JACINTO
-
-[CRED174]
-CANAAN MCKOY
-
-[CRED175]
-ADAM DAVIDSON
-
-[CRED176]
-LANCE WILLIAMS
-
-[CRED177]
-NEIL MCCAFFREY
-
-[CRED178]
-LAURA PATERSON
-
-[CRED179]
-REY CONCEPCION
-
-[CRED180]
-CHARLES HEROLD
-
-[CRED181]
-ANDREW GREENWALD
-
-[CRED182]
-JAMES MIELKE
-
-[CRED183]
-PETER SUCIU
-
-[CRED184]
-ALEX ODULIO
-
-[CRED185]
-DON NKRUMAH
-
-[CRED186]
-KENDALL PITTMAN
-
-[CRED187]
-SAL SUAZO
-
-[CRED188]
-EREK MATEO
-
-[CRED189]
-CHRIS DIFATE
-
-[CRED190]
-LEILA MILTON
-
-[CRED191]
-DARREN ZOLTOWSKI
-
-[CRED192]
-VIRGINIA SMITH
-
-[CRED193]
-KEVIN CASSIN
-
-[CRED194]
-JASON SHIGEMORI
-
-[CRED195]
-KELLY KINSELLA
-
-[CRED196]
-MOLLIE STICKNEY
-
-[CRED197]
-STANTON SARJEANT
-
-[CRED198]
-LAURA WALSH
-
-[CRED199]
-MARK GARONE
-
-[CRED200]
-JOANNA SLY
-
-[CRED201]
-ELIZABETH HOWELL
-
-[CRED202]
-ANA HERCULES
-
-[CRED203]
-SHIRLEY IRICK
-
-[CRED204]
-KASHONA FIELDS
-
-[CRED205]
-JOEL M. LILJE
-
-[CRED206]
-JOHN DIBENEDETTO
-
-[CRED207]
-NANCY GILES
-
-[CRED208]
-RYAN CROY
-
-[CRED209]
-JENNIFER KOLBE
-
-[CRED210]
-LIAM BURKE
-
-[CRED211]
-SIGRID PREISSL
-
-[CRED212]
-ANITA FITZSIMONS
-
-[CRED213]
-PHILIPPA RASELLI
-
-[CRED214]
-WIL QUESNEL
-
-[CRED215]
-FALKO BURKERT
-
-[CRED216]
-SARA SEWELL
-
-[CRED217]
-STACJE RADIOWE ORAZ MUZYKA
-
-[CRED218]
-PRODUKCJA DLA ROCKSTAR UK
-
-[CRD218A]
-CRAIG CONNER
-
-[CRD218B]
-STUART ROSS
-
-[CRED219]
-KOORDYNATOR ŚCIEŻKI DŹWIĘKOWEJ
-
-[CRED220]
-TERRY DONOVAN
-
-[CRED221]
-PRODUKCJA DLA ROCKSTAR GAMES
-
-[CRED222]
-DAN HOUSER
-
-[CRED223]
-REDAKCJA
-
-[CRED224]
-CRAIG CONNER
-
-[CRED225]
-ALLAN WALKER
-
-[CRED226]
-LAZLOW
-
-[CRED227]
-TEKSTY I WIZERUNKI PREZENTERÓW:
-
-[CRED228]
-DAN HOUSER
-
-[CRED229]
-LAZLOW
-
-[CRED230]
-SPECJALNE PODZIĘKOWANIA DLA:
-
-[CRED231]
-ADAM TEDMAN
-
-[CRED232]
-ALEX MASON
-
-[CRED233]
-JUDY HENDERSON CASTING
-
-[CRED234]
-HAMISH BROWN
-
-[CRED235]
-CHRISSY HOBAN
-
-[CRED236]
-INNES RICARD
-
-[CRED237]
-LILION BROZSKA
-
-[CRED238]
-BOB HILLARY
-
-[CRED239]
-EMILY ANDERSON
-
-[CRED240]
-RICHIE HENDERSON
-
-[CRED241]
-CHRSTIAN CANTAMESSA
-
-[CRED242]
-JERONIMO BARRERA
-
-[CRED243]
-ALEXANDER ILLES
-
-[CRED244]
-BARANE CHAN
-
-[CRED245]
-DUNCAN SHIELDS
-
-[CRED246]
-BARANE CHAN
-
-[CRED247]
-DEREK PAYNE
-
-[CRED248]
-KEVIN WONG
-
-[CRED249]
-ROSS ELLIOTT
-
-[CRED250]
-ROSS BEAZLEY
-
-[CRED251]
-ALEX BAZLINTON
-
-[CRED252]
-DAVE WATSON
-
-[CRED253]
-MALCOLM SMITH
-
-[CRED255]
-ANDREW SEMPLE
-
-[CRED256]
-ARTYŚCI
-
-[CRED257]
-STUART PETRI
-
-[CRED258]
-JERONIMO BARRERA
-
-[CRED259]
-CARLY SLATER
-
-[CRED260]
-GREG LAU
-
-[CRED261]
-STEVE KNEZEVICH
-
-[CRED262]
-DEVIN WINTERBOTTOM
-
-[CRED263]
-JAMEEL VEGA
-
-[CRED264]
-LEE CUMMINGS
-
-[CRED265]
-DEVIN BENNET
-
-[CRED266]
-ELIZABETH SATTERWHITE
-
-[CRED267]
-AARON RIGBY
-
-[CRED268]
-STEVE K.
-
-[CRED269]
-GREG LAU
-
-[CRED270]
-MIKE HONG
-
-[CINCAM]
-Kamera Filmowa
-
-[KM1_13]
-Wprowadź samochód do garażu!
-
-[KM3_14]
-~r~Zostałeś zauważony, układ odwołany!
-
-[EBAL_H]
-Poczekaj tutaj, brachu, a ja pójdę do środka i pogadam z Luigim.
-
-[EBAL_M]
-Tylko pamiętaj - nic nie kombinuj z moimi dziewczynami!
-
-[LM2_F]
-Potem zabierz jego samochód i przemaluj go.
-
-[LM2_D]
-proszę bardzo.
-
-[LM1_9]
-Cześć, jestem Misty...
-
-[LM4_A]
-Jakaś gnida z gangu Diablo nasyła swoje brudne dziwki na moje terytorium.
-
-[FM2_B]
-Mamy kreta!
-
-[FM2_C]
-Żaden z niego alfons czy diler, więc pewnie dorabia na boku sprzedając informacje.
-
-[FM3_CC]
-~w~Bracie, wróć, kiedy będziesz miał pieniądze.
-
-[FEDS_AM]
-<> - ZMIANA MENU
-
-[LOVE5_5]
-~r~Nie udało cię się ochronić ciężarówki!
-
-[RM6_6]
-~r~Ray nie żyje!
-
-[RM6_7]
-~r~Ray spóźnił się na samolot.
-
-[RM6_8]
-~r~Zgubiłeś Raya, wracaj po niego.
-
-[FM1_10]
-~g~Zostawiłeś Marię - zawróć i ją zabierz.
-
-[LOVE4_9]
-~r~Samolot został zniszczony!
-
-[LOV4_10]
-~r~Jedyny ślad, który wskazywał, gdzie zniknęła paczka, został zniszczony!
-
-[KM2_D]
-Nie muszę chyba dodawać, że przekażę mu te samochody w darze, aby spłacić dług, który u niego zaciągnąłem.
-
-[KM4_B]
-Interes idzie na tyle dobrze, że dziś możemy odebrać należną nam opłatę za ochronę.
-
-[KM2_E]
-Zdobądź samochody z tej listy i dostarcz je do warsztatu za parkingiem w Newport.
-
-[FM3_8I]
-~w~Znajdź dobre stanowisko strzeleckie. Kiedy oddasz pierwszy strzał, ja zrobię to, co do mnie należy.
-
-[LOVE1_B]
-Doświadczenie uczy mnie, że ludzie tacy jak ty potrafią być niezwykle lojalni za odpowiednią cenę.
-
-[LOVE1_H]
-ale niektórzy ludzie robią się coraz bardziej chciwi.
-
-[LOVE1_C]
-Znam pewnego starszego pana, pochodzącego z krajów Orientu, który jest dla mnie niezwykle cenny.
-
-[LOVE1_I]
-Niestety został on porwany przez jakiś gang z Ameryki Południowej w okolicach Aspatrii.
-
-[MEA4_D]
-Zgodziłem się z nim spotkać...
-
-[MEA4_B4]
-Marty cię przysyła, co? W porząsiu, pokażę tej gliście, jak się robi interesy.
-
-[MEA4_B5]
-Carl, cześć! Ee, potrzebuję jeszcze trochę czasu, żeby zebrać dla ciebie pieniądze.
-
-[MEA1_B4]
-Ach, przysłał cię Chonks, prawda? Chodźmy odwiedzić naszego wspólnego przyjaciela.
-
-[HM5_6]
-Trzeba rozłupać parę łbów...
-
-[LOVE1_5]
-~g~Przestań się obijać, załatw samochód Kolumbijczyków i uratuj przyjaciela Love'a.
-
-[AS1_D]
-~w~Posłuzysz jako przynęta i ściągniesz szwadrony śmierci za sobą do Pike Creek,
-
-[AS1_E]
-~w~gdzie moi ludzie urzadzą im właściwe przyjęcie.
-
-[AS2_C]
-~w~Kartel działa pod przykrywką firmy Dom Kawy Kappa.
-
-[AS2_E]
-~w~Nie mamy wyjścia, trzeba wyłączyć z gry te punkty sprzedaży dragów.
-
-[AS2_F]
-~w~Rozwal je w drzazgi!!
-
-[AS2_A1]
-~w~Miguel to doskonały przykład słynnej latynoskiej odporności.
-
-[AS2_A2]
-~w~Ręce opadają mi ze zmęczenia.
-
-[SIREN_3]
-Aby włączyc syrenę pojazdu, naciśnij klawisz ~h~~k~~VEHICLE_HORN~ ~w~.
-
-[SIREN_4]
-Aby włączyc syrenę pojazdu, naciśnij klawisz ~h~~k~~VEHICLE_HORN~ ~w~.
-
-[AS3_C]
-~w~Eeej! Co to za lepkie żółte świństwo?
-
-[AS3_C1]
-~w~O, cześć, kochanie.
-
-[AS3_F]
-~w~Ta dziewczyna po prostu ma talent.
-
-[AS3_F1]
-~w~Udało jej się wydobyć z naszego gościa ten oto klejnocik.
-
-[AS3_G]
-~w~Za 2 godziny na Lotnisko Francisa przyleci pewien samolot.
-
-[AS3_G1]
-~w~Jest on wyładowany trucizną Cataliny.
-
-[AS3_H]
-~w~Możesz ominąć lotniskowe służby bezpieczeństwa, jeżeli popłyniesz łodzią
-
-[AS3_H1]
-do boi wyznaczających lądowisko i zestrzelisz lądujący samolot.
-
-[AS3_I]
-~w~Zabierz z wraku ładunek!
-
-[AS3_J]
-~w~Tylko bądź ostrożny, dobrze, kochanie?
-
-[AS3_K]
-~w~A teraz spróbujemy olejku chilli...
-
-[RM2_F1]
-Kolumbijczycy będą tutaj lada chwila!
-
-[RM2_K]
-Cholera, już tu są! OGNIA!
-
-[LOVE2_7]
-~g~Teraz pozbądź się samochodu!v
-
-[LOVE2_8]
-~g~Uciekaj z Newport!
-
-[AM1_F]
-Za około trzy godziny (~1~:~1~), Salvatore Leone będzie wychodził z klubu 'U Luigiego'.
-
-[LOVE5_C]
-Masz za nim jechać i pilnować, aby zarówno on, jak i mój pakunek dotarli do Pike Creek bez szwanku.
-
-[FESZ_SR]
-Zapisywanie zakończone niepowodzeniem! Sprawdź kartę pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 i ponów próbę.
-
-[FESZ_FO]
-Czy chcesz sformatować kartę pamięci (PS2) w gnieździe KART PAMIĘCI nr 1?
-
-[FELZ_FO]
-Karta pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 nie jest sformatowana.
-
-[FES_NOC]
-Brak karty pamięci (PS2) w gnieździe KART PAMIĘCI nr 1.
-
-[FES_LOE]
-Wczytywanie zakończone niepowodzeniem! Sprawdź kartę pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 i ponów próbę.
-
-[FES_DEE]
-Kasowanie zakończone niepowodzeniem! Sprawdź kartę pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 i ponów próbę.
-
-[SLONFM]
-Błąd podczas formatowania karty pamięci (PS2) w gnieździe KART PAMIĘCI nr 1.
-
-[SLONDR]
-Niewystarczająca ilość miejsca, aby zapisać stan gry. Proszę włożyć kartę pamięci (PS2) zawierającą co najmniej 500KB wolnego miejsca do gniazda KART PAMIĘCI nr 1.
-
-[SLNSP]
-Niewystarczająca ilość miejsca, aby zapisać stan gry. Proszę włożyć kartę pamięci (PS2) zawierającą co najmniej 200KB wolnego miejsca do gniazda KART PAMIĘCI nr 1.
-
-[FEFD_WR]
-Trwa formatowanie karty pamięci (PS2) w gnieździe KART PAMIĘCI nr 1. Proszę nie wyjmować karty pamięci (PS2), nie resetować ani nie wyłączać konsoli
-
-[FES_ISF]
-NIEOBECNY
-
-[FES_SAG]
-OBECNY
-
-[SLONNO]
-No Memory Card (PS2) in MEMORY CARD slot 1.
-
-[SLONNF]
-Brak karty pamięci (PS2) w gnieździe KART PAMIĘCI nr 1.
-
-[FESZ_FM]
-Karta pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 nie jest sformatowana. Czy chcesz sformatować kartę pamięci (PS2) w gnieździe KART PAMIĘCI nr 1?
-
-[FESZ_FF]
-Formatowanie zakończone niepowodzeniem! Sprawdź kartę pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 i ponów próbę.
-
-[MCDNSP]
-Na karcie pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 jest zbyt mało wolnego miejsca. Aby zapisać dane aplikacji wymagane jest co najmniej 500KB. Czy chcesz kontynuować? (TAK lub NIE)
-
-[MCGNSP]
-Na karcie pamięci (PS2) w gnieździe KART PAMIĘCI nr 1 jest zbyt mało wolnego miejsca. Aby zapisać dane aplikacji wymagane jest co najmniej 200KB. Czy chcesz kontynuować? (TAK lub NIE)
-
-[FESZ_WR]
-Trwa zapisywanie danych. Proszę nie wyjmować karty pamięci (PS2) z gniazda KART PAMIĘCI nr 1, nie resetować ani nie wyłączać konsoli.
-
-[FESZ_OW]
-Trwa nadpisywanie danych. Proszę nie wyjmować karty pamięci (PS2) z gniazda KART PAMIĘCI nr 1, nie resetować ani nie wyłączać konsoli.
-
-[FELD_WR]
-Trwa wczytywanie danych. Proszę nie wyjmować karty pamięci (PS2), nie resetować ani nie wyłączać konsoli.
-
-[FEDL_WR]
-Trwa usuwanie danych. Proszę nie wyjmować karty pamięci (PS2) z gniazda KART PAMIĘCI nr 1, nie resetować ani nie wyłączać konsoli.
-
-[LM2_C]
-Luigi kazał ci to przekazać, więc...
-
-[LM3_G]
-Joey nie lubi czekać. Pamiętaj, to może być twoja szansa na karierę...
-
-[LM5_E]
-Zawieź tam jak najwięcej dziewczyn, zanim gliniarze przepiją wszystkie pieniądze!
-
-[JM5_C]
-Jest taka kwestia: przy kawiarni w Callahan Point stoi samochód z truposzem w środku.
-
-[RM2_B]
-Powąchaliśmy razem prochu w Nikaragui, kiedy w tym kraju jeszcze rządzili ludzie, którzy wiedzieli, o co chodzi.
-
-[RM2_C]
-Wczoraj groziły mu jakieś mendy z Kartelu. Powiedzieli, że wrócą i zabiorą mu towar.
-
-[RM2_D1]
-Poszedłbym sam, ale moje korzonki znowu się odzywają - więc, ee... Powodzenia!
-
-[CATINF1]
-~g~Dorwij Catalinę!
-
-[CATINF2]
-~g~Śledź helikopter, aby odszukać Catalinę.
-
-[BOATIN1]
-Wskakuj do łodzi i wciśnij klawisz ~h~~k~~VEHICLE_ENTER_EXIT~ button ~w~, aby zająć miejsce.
-
-[BOATIN2]
-Jeżeli jesteś w pobliżu łodzi, możesz wcisnąć klawisz ~h~~k~~VEHICLE_ENTER_EXIT~~w~, aby zająć w niej miejsce.
-
-[BOATIN3]
-Wskakuj do łodzi i wciśnij klawisz ~h~~k~~VEHICLE_ENTER_EXIT~ button ~w~, aby zająć miejsce.
-
-[BOATIN4]
-Jeżeli jesteś w pobliżu łodzi, możesz wcisnąć klawisz ~h~~k~~VEHICLE_ENTER_EXIT~~w~, aby zająć w niej miejsce.
-
-[JM6]
-'UCIECZKA'
-
-[FM1]
-'NIAŃKA'
-
-[JM1]
-'OSTATNI OBIAD MIKE'A BUŹKI'
-
-[FM21]
-'CIOS W SERCE: AKT I'
-
-[FM3]
-'CIOS W SERCE: AKT II'
-
-[AM1]
-'SAYONARA SALVATORE'
-
-[AM2]
-'POD OBSERWACJĄ'
-
-[KM2]
-'GRAND THEFT AUTO'
-
-[AS3]
-'WYRZUTNIA ZIEMIA-POWIETRZE'
-
-[RM2]
-'TOWARZYSZE BRONI'
-
-[LOVE6]
-'ZMYŁKA'
-
-[LOVE1]
-'WYZWOLICIEL'
-
-[RC1]
-'DIABELSKA DEMOLKA'
-
-[RC2]
-'MAFIJNA MASAKRA'
-
-[RC3]
-'KRWAWE KASYNO'
-
-[RC4]
-'RUMPO-ROZRÓBA'
-
-[RM2_E1]
-Nie mogę uwierzyć, że te żółte pokraki znowu zostawiły mnie bez ochrony.
-
-[GREN_1]
-Im dłużej przytrzymasz klawisz ~h~~k~~PED_FIREWEAPON~~w~, tym dalej rzucisz granatem.
-
-[GREN_2]
-Im dłużej przytrzymasz klawisz ~h~~k~~PED_FIREWEAPON~~w~, tym dalej rzucisz granatem.
-
-[GREN_3]
-Im dłużej przytrzymasz klawisz ~h~~k~~PED_FIREWEAPON~~w~, tym dalej rzucisz granatem.
-
-[LOVE4_G]
-Rzecz, która do mnie należy, będzie czekać na ciebie w hangarze celnym przy kadłubie samolotu.
-
-[KABOOM]
-BUM!
-
-[SPLAT]
-PLASK!
-
-[PANCAK]
-UPIECZONY!
-
-[SOAKED]
-DO SUCHEJ NITKI!
-
-[HEAD]
-Head Radio
-
-[DBL_CLF]
-Double Clef FM
-
-[FLASHB]
-Flashback FM
-
-[RISE]
-Rise FM
-
-[LIPS]
-Lips 106
-
-[CHAT]
-Gaduła FM
-
-[K_JAH]
-Radio K-Jah
-
-[GAM_FM]
-Game Radio FM
-
-[MSX_FM]
-MSX FM
-
-[TUBE1]
-Kiedy metro zostanie otwarte, będziesz mógł przejechać pociągiem na Wyspę Staunton.
-
-[TUBE2]
-Kiedy Shoreside Vale zostanie otwarte, będziesz mógł dotrzeć do stacji końcowej Shoreside Terminal i na Lotnisko Międzynarodowe im. Francisa.
-
-[TUBE_2]
-Aby wsiąść do metra, naciśnij klawisz ~h~'wsiadania do pojazdu'~w~.
-
-[LEGAL]
-~g~Wyeliminuj element przestępczy!
-
-[GA_2]
-Nowy silnik i lakier. Masz spokój z gliniarzami!
-
-[LM1_8A]
-Jeżeli chcesz trochę sobie dorobić, możesz spróbować 'pożyczyć' taksówkę...
-
-[TAXIH1]
-Zatrzymaj się w pobliżu podświetlonego przechodnia i pozwól mu wsiąść, a potem zawieź go pod wskazany adres przed upływem wyznaczonego czasu.
-
-[LM5_7]
-~g~Jeżeli na ~p~Balu Policjanta~g~ pojawią się mniej niż cztery dziewczyny, Luigi będzie niezadowolony!
-
-[KM2_3]
-~g~Pamiętaj, ~r~samochody~g~ muszą być w idealnym stanie albo nie zostaną przyjęte w ~p~warsztacie~g~.
-
-[KM5_2]
-~g~Yardies zniknęli z ulic.
-
-[BETRA_A]
-Przykro mi, kotku.
-
-[BETRA_B]
-Jestem ambitną dziewczyną,
-
-[BETRA_C]
-a ty jesteś tylko małą płotką.
-
-[JAILB_C]
-*
-
-[JAILB_D]
-*
-
-[JAILB_E]
-*
-
-[JAILB_F]
-*
-
-[JAILB_G]
-*
-
-[JAILB_H]
-*
-
-[JAILB_I]
-*
-
-[JAILB_J]
-*
-
-[JAILB_P]
-*
-
-[JAILB_Q]
-Jazda!
-
-[JAILB_R]
-Panie frajerze!
-
-[JAILB_S]
-Zabiję cię bez najmniejszego problemu.
-
-[JAILB_T]
-Pożałujesz tego.
-
-[JAILB_U]
-Dobrze, dobrze! Znikaj stąd.
-
-[HELP15]
-Jeżeli jesteś poza pojazdem i chcesz ~h~spojrzeć za siebie~w~, naciśnij klawisz ~h~~k~~PED_LOOKBEHIND~~w~.
-
-[FEC_LB3]
-Spójrz do tyłu
-
-[FEC_R3]
-(klawisz R3)
-
-[FES_AFO]
-Ta karta pamięci (PS2) jest już sformatowana.
-
-[FEA_UP]
-;
-
-[FEA_DO]
-=
-
-[FEA_LE]
-<
-
-[FEA_RI]
->
-
-[FEDSAS3]
-- ZMIANA WYBORU
-
-[FEDSAS4]
-;=<> - ZMIANA WYBORU
-
-[SPRAY_4] { re3 change }
-Użyj klawisza ~h~~k~~VEHICLE_FIREWEAPON~~w~, aby strzelać z armatki wodnej.
-
-[SPRAY_1] { re3 change }
-Użyj klawisza ~h~~k~~VEHICLE_FIREWEAPON~~w~, aby strzelać z armatki wodnej.
-
-[LITTLE]
-MAŁY T
-
-[NICK]
-NICK LOVE
-
-[AM1_10]
-~g~Salvatore opuści knajpę 'U Luigiego' około 0~1~:~1~
-
-[JAILB_V]
-*
-
-[JAILB_A]
-*
-
-[JAILB_B]
-*
-
-[JAILB_W]
-*
-
-[JAILB_K]
-*
-
-[JAILB_L]
-*
-
-[JAILB_M]
-*
-
-[JAILB_N]
-*
-
-[JAILB_O]
-*
-
-[JAILB_X]
-*
-
-[FEDS_SE]
-klawisz / - WYBIERZ
-
-[FEDS_SB]
-klawisz / - WYBIERZ klawisz ' - WSTECZ
-
-[TM4_A]
-~w~Ach, to ty. TONIEGO nie ma.
-
-[TM4_A2]
-~w~Ale zostawił na stole jeden ze swoich słodziutkich listów miłosnych do ciebie.
-
-[DIAB2_A]
-Kiedy zaczynałem robić interesy w branży rozrywek egzotycznych, nie miałem nic oprócz pokaźnej zawartości mojego rozporka!
-
-[LM5_9]
-DZIEWCZYNY:
-
-[PERPIC]
-Znalezione ukryte paczki
-
-[CO_ONE]
-Ukryta Paczka ~1~ z ~1~
-
-[LOVE3_3]
-~g~Samolot zrzucił ~1~ z 6 pakunków.
-
-[FARE11]
-~g~Cel podróży ~w~'Teren budowy'~g~ w Fort Staunton.
-
-[GA_21]
-W tym garażu nie możesz przechowywać więcej samochodów.
-
-[CHEAT1]
-Ułatwienie uaktywnione
-
-[CHEAT2]
-Ułatwienie - broń
-
-[CHEAT3]
-Ułatwienie - życie
-
-[CHEAT4]
-Ułatwienie - pancerz
-
-[CHEAT5]
-Ułatwienie - poziom wanted
-
-[CHEAT6]
-Ułatwienie - pieniądze
-
-[CHEAT7]
-Ułatwienie - pogoda
-
-[AS1_H]
-~w~Nie udało ci się wprowadzić Szwadronu Śmierci w pułapkę Yakuzy!!
-
-[FEDS_BA]
-klawisz ' - WSTECZ
-
-[RAMP_A]
-WSZYSTKIE ROZWAŁKI ZALICZONE!
-
-[USJ_ALL]
-WSZYSTKIE NIETYPOWE SKOKI WYKONANE!
-
-[FARE23]
-~g~Cel podróży ~w~'warsztat importowo-eksportowy'~g~ w okolicach Tamy Cochrane.
-
-[L_TRN_1]
-Po Portland możesz się też poruszać kolejką. Naciśnij klawisz ~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, aby ~h~wsiąść ~w~lub ~h~wysiąść~w~ z pociągu.
-
-[L_TRN_2]
-Po Portland możesz się też poruszać kolejką. Naciśnij klawisz ~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, aby ~h~wsiąść ~w~lub ~h~wysiąść~w~ z pociągu.
-
-[S_TRN_1]
-Przez Liberty możesz także podróżować metrem. Naciśnij klawisz~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, aby ~h~wsiąść ~w~lub ~h~wysiąść~w~ z pociągu.
-
-[S_TRN_2]
-Przez Liberty możesz także podróżować metrem. Naciśnij klawisz~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, aby ~h~wsiąść ~w~lub ~h~wysiąść~w~ z pociągu.
-
-[AS1_C]
-~w~Rozmieściła w całym Liberty trzy szwadrony śmierci, których zadaniem jest wytropić twój tyłek.
-
-[AS1_G]
-~w~Wszyscy członkowie Yakuzy nie żyją!!
-
-[JAN]
-stycz.
-
-[FEB]
-luty
-
-[MAR]
-marzec
-
-[APR]
-kwiec.
-
-[MAY]
-maj
-
-[JUN]
-czerw.
-
-[JUL]
-lip.
-
-[AUG]
-sierp.
-
-[SEP]
-wrz.
-
-[OCT]
-paźdz.
-
-[NOV]
-listop.
-
-[DEC]
-grudz.
-
-[DEFDT]
---:---:---- --:--:--
-
-[BUGGY]
-POZOSTAŁE GARBUSKI:
-
-[BONUS]
-~g~PREMIA $~1~v
-
-[HORN1]
-Naciśnij ~h~klawisz L3 ~w~, aby użyć ~h~klaksonu.
-
-[HORN2]
-Naciśnij ~h~klawisz L1 ~w~, aby użyć ~h~klaksonu.
-
-[HORN3]
-Naciśnij ~h~klawisz R1 ~w~, aby użyć ~h~klaksonu.
-
-[LM3_1A]
-Naciśnij klawisz~h~ ~k~~VEHICLE_HORN~~w~, aby użyć ~h~klaksonu~w~ i zaprosić Misty do środka.
-
-[LM3_1B]
-Naciśnij klawisz~h~ ~k~~VEHICLE_HORN~~w~, aby użyć ~h~klaksonu~w~ i zaprosić Misty do środka.
-
-[LM3_1C]
-Naciśnij klawisz~h~ ~k~~VEHICLE_HORN~~w~, aby użyć ~h~klaksonu~w~ i zaprosić Misty do środka.
-
-[RADIO_A]
-Naciśnij klawisz ~h~~k~~VEHICLE_CHANGE_RADIO_STATION~~w~, aby przełączać ~h~stacje radiowe.
-
-[RADIO_B]
-Naciśnij klawisz ~h~~k~~VEHICLE_CHANGE_RADIO_STATION~~w~, aby przełączać ~h~stacje radiowe.
-
-[RADIO_C]
-Naciśnij klawisz ~h~~k~~VEHICLE_CHANGE_RADIO_STATION~~w~, aby przełączać ~h~stacje radiowe.v
-
-[RADIO_D]
-Naciśnij klawisz ~h~~k~~VEHICLE_CHANGE_RADIO_STATION~~w~, aby przełączać ~h~stacje radiowe.
-
-[FEC_EXV]
-Wsiadanie i wysiadanie z pojazdu
-
-[TAXI_M]
-'TAKSÓWKARZ'
-
-[COP_M]
-'PATROL'
-
-[FIRE_M]
-'STRAŻAK'
-
-[AMBUL_M]
-'SANITARIUSZ'
-
-[HJ_IS]
-PREMIA ZA SZALONY SKOK: $~1~
-
-[HJ_PIS]
-PREMIA ZA BEZBŁĘDNY SZALONY SKOK: $~1~
-
-[HJ_DIS]
-PREMIA ZA PODWÓJNY SZALONY SKOK: $~1~
-
-[HJ_PDIS]
-PREMIA ZA BEZBŁĘDNY PODWÓJNY SZALONY SKOK: $~1~
-
-[HJ_TIS]
-PREMIA ZA POTRÓJNY SZALONY SKOK: $~1~
-
-[HJ_PTIS]
-PREMIA ZA BEZBŁĘDNY POTRÓJNY SZALONY SKOK: $~1~
-
-[HJ_QIS]
-PREMIA ZA POCZWÓRNY SZALONY SKOK: $~1~
-
-[HJ_PQIS]
-PREMIA ZA BEZBŁĘDNY POCZWÓRNY SZALONY SKOK: $~1~
-
-[AM1_K]
-Za około trzy godziny (0~1~:~1~), Salvatore Leone będzie wychodził z klubu 'U Luigiego'.
-
-[IMPEXPP]
-Warsztat import-eksport w Portland Harbor. Mamy zamówienia na różne pojazdy. Listę aktualnie skupowanych wozów znajdziesz na naszej tablicy ogłoszeniowej.
-
-[VANHSTP]
-Chcesz rozbić konwojowóz? Przywieź go do naszego warsztatu w Portland Harbor!
-
-[EMVHPUP]
-Doskonałe ceny za nowe i używane pojazdy służb miejskich! Skup odbywa się przy dźwigu na północny wschód od Portland Harbor.
-
-[STANDS]
-ROZBITE BUDKI:
-
-[STASH]
-~g~Odwieź PROCHY z powrotem na ~p~teren budowy!
-
-[MCSTNS]
-W gnieździe KART PAMIĘCI nr 1 nie ma karty pamięci (PS2). Czy chcesz kontynuować? (TAK lub NIE)
-
-[LOVE3_5]
-~g~Samolot jest w zasięgu.
-
-[LOVE3_6]
-~r~Policja dotarła do pakunków przed tobą!
-
-[SIREN_1]
-Aby włączyc syrenę pojazdu, naciśnij klawisz ~h~~k~~VEHICLE_HORN~ ~w~.
-
-[SIREN_2]
-Aby włączyc syrenę pojazdu, naciśnij klawisz ~h~~k~~VEHICLE_HORN~ ~w~.
-
-[FM3_8C]
-~w~Potrzebuję jakieś 100 000 dolarów na niezbędne wydatki,
-
-[MCLOAD]
-Trwa wczytywanie danych. Proszę nie wyjmować karty pamięci (PS2) z gniazda KART PAMIĘCI nr 1, nie resetować ani nie wyłączać konsoli.
-
-[FES_GME]
-Błąd odczytu danych z karty pamięci (PS2) w gnieździe KART PAMIĘCI nr 1. Sprawdź kartę i ponów próbę.
-
-[FESZ_QF]
-Czy na pewno chcesz sformatować kartę pamięci (PS2) w gnieździe KART PAMIĘCI nr 1?
-
-[FESZ_LS]
-Pomyślne wczytywanie
-
-[RM3_5]
-~g~Masz już ~1~ z 6 pakietów dowodów.
-
-[LOVE3_2]
-~g~Masz już wszystkie pakunki! Zawieź je do Donalda Love'a.
-
-[LOVE4_4]
-~g~Zabierz pakunek do Donalda Love'a!
-
-[FEB_SAV]
-Wczytanie
-
-[FEP_SAV]
-WCZYTAJ GRĘ
-
-[AS2_12A]
-~g~Od momentu rozwalenia pierwszej budki będziesz miał 8 minut, zanim Kartel ostrzeże swoich dilerów!
-
-[AS3_1A]
-~g~Teraz płyń do ~b~boi !
-
-[NOCONT]
-Aby kontynuować, proszę ponownie podłączyć kontroler analogowy (DUALSHOCK@) lub kontroler analogowy (DUALSHOCK@2) do portu kontrolerów gry nr 1.
-
-[BET_JB]
-CATALINA, JEGO KOCHANKA, ZDRADZIŁA GO I POZOSTAWIŁA NA PEWNĄ ŚMIERĆ. TERAZ, OSĄDZONY I SKAZANY, ROZPOCZYNA PODRÓŻ DO ZAKŁADU KARNEGO W LIBERTY CITY. ALE W JEGO ZBRODNICZYM UMYŚLE PŁONIE TYLKO JEDNA MYŚL......ZEMSTA!
-
-[END_A]
-Mieszkańcy Cedar Grove nadal dochodzą do siebie
-
-[END_B]
-po gwałtownych wydarzeniach, jakie rozegrały się wczoraj
-
-[END_C]
-w tej dzielnicy, a przypominały regularną wojnę.
-
-[END_D]
-Pan Clive Denver, mieszkający w tej okolicy od lat, opisał wczoraj policji
-
-[END_E]
-samotnego strzelca, który uciekał z miejsca przestępstwa z ciemnowłosą kobietą.
-
-[END_F]
-Och, będziemy się razem świetnie bawić! Bo... no, wiesz...
-
-[END_G]
-Ja cię kocham, naprawdę... Bo jesteś taki silny i w ogóle...
-
-[END_H]
-A właśnie kogoś takiego szukałam.
-
-[END_I]
-Ale... o czym to ja mówiłam?
-
-[END_J]
-Wyleciało mi z głowy! Ale wiesz, o co mi chodzi, prawda?
-
-[END_K]
-Odgłosy eksplozji wstrząsały okolicznymi budynkami, z których wybiegali przerażeni ludzie.
-
-[END_L]
-Kilkunastu obywateli doznało obrażań w wyniku wymiany ognia
-
-[END_M]
-między bandytami na ziemi a helikopterem krążącym nad tamą.
-
-[END_N]
-Tak, tutaj - z ogrodu - miałem na wszystko doskonały widok.
-
-[END_O]
-Kiedy helikopter w końcu został trafiony,
-
-[END_P]
-wyglądało to lepiej niż fajerwerki na Wielkanoc!
-
-[END_Q]
-Liczba zabitych przekroczyła już dwadzieścia osób,
-
-[END_R]
-ale policja ciągle odnajduje nowe ciała.
-
-[END_S]
-Jak dotąd nie wydano żadnego oficjalnego komunikatu, który zaprzeczyłby pogłoskom,
-
-[END_T]
-że ofiary to członkowie Kartelu Kolumbijskiego.
-
-[END_U]
-Nadal nie ma też żadnych informacji na temat przyczyn tej masakry.
-
-[END_V]
-Złamałam paznokieć i zrujnowałam sobie całą fryzurę. To skandal!
-
-[END_W]
-Kosztowała mnie pięćdziesiąt dolców...
-
-[PAPER1]
-*
-
-[PAPER2]
-*
-
-[PAPER3]
-*
-
-[FEB_CPC]
-Konfiguracja klawiszy sterujących
-
-[FEC_PED]
-Sterowanie postacią poza pojazdem
-
-[FEC_VEH]
-Klawisze sterujące pojazdem
-
-[FEC_FPR]
-Sterowanie dla trybu widoku z oczu postaci
-
-[FEC_CMM]
-Standardowe sterowanie
-
-[FEC_PWL]
-IDŹ w lewo
-
-[FEC_PWR]
-Idź w prawo
-
-[FEC_PWF]
-Idź do przodu
-
-[FEC_PWT]
-Idź w stronę kamery
-
-[FEC_PLB]
-Spójrz za siebie
-
-[FEC_PFR]
-Strzał z broni
-
-[FEC_CLE]
-Przełącz rodzaj broni w lewo
-
-[FEC_CRI]
-Przełącz rodzaj broni w prawo
-
-[FEC_LKT]
-Zablokuj cel
-
-[FEC_PJP]
-Skok
-
-[FEC_PSP]
-Szybki bieg
-
-[FEC_PSH]
-Strzał
-
-[FEC_TLF]
-Następny cel w lewo
-
-[FEC_TRG]
-Następny cel w prawo
-
-[FEC_CCM]
-Wyśrodkuj kamerę za graczem
-
-[FEC_SZI]
-Karabin snajperski - przybliżenie
-
-[FEC_SZO]
-Karabin snajperski - oddalenie
-
-[FEC_LKL]
-Spójrz w lewo w trybie widoku z oczu postaci
-
-[FEC_LRT]
-Spójrz w prawo w trybie widoku z oczu postaci
-
-[FEC_LUP]
-Spójrz w górę w trybie widoku z oczu postaci
-
-[FEC_LDN]
-Spójrz w dół w trybie widoku z oczu postaci
-
-[FEC_LBH]
-Spójrz przez tylną szybę
-
-[FEC_LLF]
-Spójrz przez lewą szybę
-
-[FEC_LRG]
-Spójrz przez prawą szybę
-
-[FEC_HRN]
-Klakson
-
-[FEC_HBR]
-Hamulec ręczny pojazdu
-
-[FEC_ACL]
-Przyspieszenie pojazdu
-
-[FEC_BRK]
-Hamulec pojazdu
-
-[FEC_TSM]
-Włącz podmisje
-
-[FEC_CRD]
-Zmiana stacji radiowej
-
-[FEC_ENT]
-Wsiadanie do pojazdu/wysiadanie z pojazdu
-
-[FEC_WPN]
-Strzał z broni
-
-[FEC_PAS]
-Pauza
-
-[FEC_FPO]
-Broń w trybie widoku z oczu postaci
-
-[FEC_SMS]
-Pokazuj kursor myszy
-
-[FEC_CMS]
-Zmiana trybu kamery dla wszystkich sytuacji.
-
-[FEC_TSS]
-Zapisz wygląd ekranu
-
-[FEN_NET]
-Sieć
-
-[FEN_CON]
-Połączenie
-
-[FEN_GAM]
-Szukaj sesji gry
-
-[FEN_TYP]
-Rodzaj gry
-
-[FEN_TY0]
-Tryb Deathmatch
-
-[FEN_TY1]
-Tryb Niewidzialny Deathmatch
-
-[FEN_TY2]
-Zespołowy tryb Deathmatch
-
-[FEN_TY3]
-Zespołowy tryb Niewidzialny Deathmatch
-
-[FEN_TY4]
-Gromadź szmal
-
-[FEN_TY5]
-Zdobądź flagę
-
-[FEN_TY6]
-Wyścig szczurów
-
-[FEN_TY7]
-Dominacja
-
-[FEN_NAM]
-Nazwa:
-
-[FEN_GNA]
-Nazwa gry:
-
-[FEM_MAP]
-Wybierz mapę
-
-[FEN_PLS]
-Ustawienia gracza
-
-[FEN_PLC]
-Kolor gracza
-
-[FEM_MA0]
-Liberty City
-
-[FEM_MA1]
-Dz. Czerwonych Świateł
-
-[FEM_MA2]
-Chinatown
-
-[FEM_MA3]
-Wieża
-
-[FEM_MA4]
-Kanały
-
-[FEM_MA5]
-Park Przemysłowy
-
-[FEM_MA6]
-Doki
-
-[FEM_MA7]
-Staunton
-
-[FEC_EMS]
-Tylko klawisze z klawiatur niestandardowych
-
-[FEC_DBG]
-MENU DEBUGOWANIA
-
-[FEC_TGD]
-Przełącznik gra/debugowanie
-
-[FEC_TDO]
-Wyłącz kamerę trybu debugowania
-
-[FEC_IVH]
-Odwróć osie myszy w poziomie:
-
-[FEC_MSL]
-Lewy przycisk myszy
-
-[FEC_MSM]
-Śr. przycisk myszy
-
-[FEC_MSR]
-Prawy przycisk myszy
-
-[FEC_QUE]
-???
-
-[FEC_TWO]
-Dozwolone są tylko dwa klawisze z klawiatury
-
-[FEC_UMS]
-Tylko przyciski myszy niestandardowych
-
-[FEC_OMS]
-Dozwolony jest tylko jeden przycisk myszy
-
-[FEC_UJS]
-Tylko przyciski joysticków niestandardowych
-
-[FEC_OJS]
-Dozwolony jest tylko jeden przycisk joysticka na daną czynność .
-
-[FEC_PTL]
-Użyj blokowania celu oraz przełączenia broni w lewo
-
-[FEC_PTR]
-Użyj blokowania celu oraz przełączenia broni w prawo
-
-[FEC_LBC]
-Użyj klawiszy 'spójrz w lewo' oraz 'spójrz w prawo'
-
-[FEC_JBO]
-JOY ~1~
-
-[NO_PAUZ]
-Nie można zatrzymać gry w trybie wieloosobowym. Dwukrotnie naciśnij klawisz, aby wyjść z gry!
-
-[FEM_SL1]
-Gniazdo 1 jest wolne
-
-[FEM_SL2]
-Gniazdo 2 jest wolne
-
-[FEM_SL3]
-Gniazdo 3 jest wolne
-
-[FEM_SL4]
-Gniazdo 4 jest wolne
-
-[FEM_SL5]
-Gniazdo 5 jest wolne
-
-[FEM_SL6]
-Gniazdo 6 jest wolne
-
-[FEM_SL7]
-Gniazdo 7 jest wolne
-
-[FEM_SL8]
-Gniazdo 8 jest wolne
-
-[FEM_MM]
-MENU GŁÓWNE
-
-[FEQ_SRE]
-Czy na pewno chcesz wyjść z gry? Efekty wszystkich działań podjętych od czasu ostatniego zapisu gry zostaną utracone. Kontynuować?
-
-[FEQ_SRW]
-Czy na pewno chcesz wyjść z gry?
-
-[FEG_SRV]
-SERWER
-
-[FEG_MAP]
-MAPA
-
-[FEG_PLY]
-GRACZE
-
-[FEG_TYP]
-RODZAJ
-
-[FEG_PNG]
-PING
-
-[FET_FG]
-ODSZUKAJ SESJĘ GRY
-
-[FET_SP]
-TRYB DLA JEDNEGO GRACZA
-
-[FET_MP]
-TRYB WIELOOSOBOWY
-
-[FET_HG]
-HOSTUJ GRĘ
-
-[FET_PS]
-KONFIGURACJA GRACZA
-
-[FET_CON]
-POŁĄCZENIE
-
-[FET_AUD]
-KONFIGURACJA DŻWIĘKU
-
-[FET_DIS]
-KONFIGURACJA EKRANU
-
-[FET_LAN]
-OKREŚL JĘZYK
-
-[FET_LG]
-WCZYTAJ GRĘ
-
-[FET_DG]
-USUŃ GRĘ
-
-[FET_NG]
-NOWA GRA
-
-[FET_SG]
-ZAPISZ GRĘ
-
-[FET_MAP]
-WYBIERZ MAPĘ
-
-[FET_GT]
-RODZAJ GRY
-
-[FET_CTL]
-KONFIGURACJA STEROWANIA
-
-[FET_OPT]
-OPCJE
-
-[FET_QG]
-WYJDŹ Z GRY
-
-[FET_STA]
-STATYSTYKI
-
-[FET_BRE]
-CELE
-
-[FEC_WAR]
-Ostrzeżenie
-
-[FEC_OKK]
-OK
-
-[FED_CON]
-Potwierdzenie usunięcia pliku
-
-[FES_SSC]
-Gra została pomyślnie zapisana.
-
-[DEL_FNM]
-Plik został pomyślnie usunięty.
-
-[PCLOAD]
-Wczytywanie danych z pliku
-
-[PCRESRT]
-Trwa uruchamianie Grand Theft Auto III
-
-[FEC_DLF]
-Kasowanie nieudane.
-
-[FEC_SVU]
-Zapis nieudany.
-
-[FEC_LUN]
-Wczytywanie nieudane. Plik uszkodzony. Proszę go usunąć.
-
-[FEN_PLA]
-Liczba graczy:
-
-[FET_NON]
-BRAK DOSTĘPNYCH GIER
-
-[FET_SFG]
-WYSZUKIWANIE SESJI GRY...
-
-[FET_SRT]
-SORTOWANIE SESJI GRY...
-
-[FEF_LAN]
-LAN
-
-[FEF_INT]
-INTERNET
-
-[FET_REF]
-Odśwież
-
-[FET_FIL]
-Filtr
-
-[FET_JG]
-Dołącz
-
-[FEC_NTW]
-Rozmowa przez sieć
-
-[FEC_ESR]
-Klawisz ESC jest zastrzeżony
-
-[FEC_GSL]
-Pokazuj wstrząsy głowy:
-
-[FIL_FLT]
-FILTR LISTY SESJI GRY
-
-[FET_SAN]
-ROZPOCZNIJ NOWĄ GRĘ
-
-[FIL_MAP]
-Mapa:
-
-[FIL_SRV]
-Serwer:
-
-[FIL_TYP]
-Rodzaj gry:
-
-[FIL_SPC]
-Gry z wolnym miejscem?
-
-[FIL_PNG]
-Ping:
-
-[FEN_UKH]
-Nieznany host
-
-[FEN_UKM]
-Nie odnaleziono mapy
-
-[FEN_UKT]
-Nie odnaleziono danego rodzaju gry
-
-[FEN_NCI]
-BRAK POŁĄCZENIA Z INTERNETEM
-
-[FET_PAU]
-MENU PAUZY
-
-[FET_SGA]
-ROZPOCZNIJ GRĘ
-
-[FEC_SGJ]
-Ustaw joystick do gry
-
-[FEC_PAD]
-Gamepad
-
-[FEC_JOY]
-Joystick
-
-[FEC_WHL]
-Kierownica
-
-[FEC_CNT]
-Typ sterownika:
-
-[FES_CSA]
-Wybierz 'skórę' z poniższej listy:
-
-[FES_SKN]
-NAZWA SKÓRY
-
-[FES_DAT]
-DATA
-
-[FES_NON]
-BRAK DOSTĘPNYCH 'SKÓR'
-
-[FEA_FM9]
-ODTWARZACZ MP3
-
-[FESZ_QZ]
-Czy jesteś pewien, że chcesz zapisać grę?
-
-[FES_CGA]
-Dostępne gniazda gry:
-
-[FES_SCG]
-Zapisać bieżącą grę?
-
-[FES_LCG]
-Wczytać grę i kontynuować rozgrywkę?
-
-[FEC_FIR]
-Strzał
-
-[FEC_NWE]
-Następna broń
-
-[FEC_PWE]
-Poprzednia broń
-
-[FEC_FOR]
-Do przodu
-
-[FEC_BAC]
-Do tyłu
-
-[FEC_LEF]
-W lewo
-
-[FEC_RIG]
-W prawo
-
-[FEC_ZIN]
-Przybliżenie
-
-[FEC_ZOT]
-Oddalenie
-
-[FEC_EEX]
-Wejście/wyjście
-
-[FEC_RAD]
-Radio
-
-[FEC_SUB]
-Podmisja
-
-[FEC_CMR]
-Zmiana kamery
-
-[FEC_JMP]
-Skok
-
-[FEC_SPN]
-Sprint
-
-[FEC_HND]
-Hamulec ręczny
-
-[FEC_TUL]
-Wieżyczka w lewo
-
-[FEC_TUR]
-Wieżyczka w prawo
-
-[FEC_LOL]
-Spójrz w lewo
-
-[FEC_LOR]
-Spójrz w prawo
-
-[FEC_NTR]
-Następny cel
-
-[FEC_PTT]
-Poprzedni cel
-
-[FEC_LBA]
-Spójrz do tyłu
-
-[FEC_CEN]
-Wyśrodkuj kamerę
-
-[FEC_UND]
-(NIE)
-
-[FET_CFT]
-PIESZO
-
-[FET_CCR]
-W AUCIE
-
-[CVT_MSG]
-Trwa konwersja tekstur do formatu optymalnego dla zainstalowanej karty graficznej.
-
-[FET_CAC]
-CZYNNOŚĆ
-
-[FEC_IBT]
--
-
-[FEC_SPC]
-SPACJA
-
-[FEC_MXO]
-MXB1
-
-[FEC_MXT]
-MXB2
-
-[FEC_UNB]
-UNBOUND
-
-[FET_CME]
-SPOSÓB STEROWANIA
-
-[FET_RDK]
-ZMIANA KLAWISZY STERUJĄCYCH
-
-[FET_AMS]
-USTAWIENIA MYSZY
-
-[FET_STI]
-ZWYKŁA KONFIGURACJA STEROWANIA
-
-[FET_CTI]
-STANDARDOWA KONFIGURACJA STEROWANIA
-
-[FET_MTI]
-KONFIGURACJA STEROWANIA MYSZĄ
-
-[FET_DAM]
-DYNAMICZNE MODELOWANIE AKUSTYCZNE
-
-[FEC_TFL]
-Wieżyczka w lewo
-
-[FEC_TFR]
-Wieżyczka w prawo
-
-[FEC_MWF]
-KÓŁKO W GÓRĘ
-
-[FEC_MWB]
-KÓŁKO W DÓŁ
-
-[FEC_ORR]
-lub
-
-[FEC_NUS]
-NIEUŻYWANY
-
-[FEC_LUD]
-Spójrz w górę
-
-[FEC_LDU]
-Spójrz w dół
-
-[FEC_CMP]
-KOMBINACJA: SPÓJRZ W LEWO + SPÓJRZ W PRAWO
-
-[FEC_NTT]
-Brak tekstu dla tego klawisza
-
-[FEC_FNC]
-F~1~
-
-[FEC_IRT]
-INSERT
-
-[FEC_DLL]
-DELETE
-
-[FEC_HME]
-HOME
-
-[FEC_END]
-END
-
-[FEC_PGU]
-PAGE UP
-
-[FEC_PGD]
-PAGE DOWN
-
-[FEC_UPA]
-STRZAŁKA W GÓRĘ
-
-[FEC_DWA]
-STRZAŁKA W DÓŁ
-
-[FEC_LFA]
-W LEWO
-
-[FEC_RFA]
-STRZAŁKA W PRAWO
-
-[FEC_NUM]
-NUM
-
-[FEC_NMN]
-NUM~1~
-
-[FEC_FWS]
-NUM /
-
-[FEC_PLS]
-NUM +
-
-[FEC_MIN]
-NUM -
-
-[FEC_DOT]
-NUM .
-
-[FEC_NLK]
-NUM LOCK
-
-[FEC_ETR]
-ENTER
-
-[FEC_SLK]
-SCROLL LOCK
-
-[FEC_PSB]
-PAUSE BREAK
-
-[FEC_BSP]
-BACKSPACE
-
-[FEC_TAB]
-TAB
-
-[FEC_CLK]
-CAPS LOCK
-
-[FEC_RTN]
-RETURN
-
-[FEC_LSF]
-LEWY SHIFT
-
-[FEC_RSF]
-PRAWY SHIFT
-
-[FEC_LCT]
-LEWY CTRL
-
-[FEC_RCT]
-PRAWY CTRL
-
-[FEC_LAL]
-LEWY ALT
-
-[FEC_RAL]
-PRAWY ALT
-
-[FEC_LWD]
-LEWY KLAWISZ WINDOWS
-
-[FEC_RWD]
-PRAWY KLAWISZ WINDOWS
-
-[FEC_WRC]
-WINCLICK
-
-[WIN_TTL]
-Grand Theft Auto III
-
-[WIN_95]
-Gra Grand Theft Auto III nie pracuje pod systemem Windows 95.
-
-[WIN_DX]
-Gra Grand Theft Auto III wymaga bibliotek DirectX w wersji 8.1 lub nowszych.
-
-[WIN_VDM]
-Gra Grand Theft Auto III wymaga karty graficznej z przynajmniej 12 MB RAM.
-
-[DIAB3_G]
-Arriba!
-
-[FEM_RES]
-WZNÓW GRĘ
-
-[FES_SNG]
-ROZPOCZNIJ NOWĄ GRĘ
-
-[FEM_SP]
-TRYB DLA JEDNEGO GRACZA
-
-[FEM_MP]
-TRYB WIELOOSOBOWY
-
-[FEM_QT]
-WYJDŹ Z GRY
-
-[FES_SG]
-ROZPOCZNIJ NOWĄ GRĘ
-
-[FES_LG]
-WCZYTAJ GRĘ
-
-[FEM_HST]
-HOST GRY
-
-[FEM_OPT]
-OPCJE
-
-[FEM_DBG]
-DEBUGOWANIE
-
-[FET_PSU]
-KONFIGURACJA GRACZA
-
-[FET_DEF]
-PRZYWRÓĆ USTAWIENIA DOMYŚLNE
-
-[FED_BRI]
-JASNOŚĆ
-
-[FED_TRA]
-ŚLADY
-
-[FEM_LOD]
-ODLEGŁOŚC RYSOWANIA
-
-[FEM_VSC]
-SYNCHRONIZACJA KLATEK
-
-[FEM_FRM]
-OGRANICZENIE KLATEK
-
-[FED_RES]
-ROZDZIELCZOŚĆ EKRANU
-
-[FED_WIS]
-SZEROKI EKRAN
-
-[FEDS_TB]
-WSTECZ
-
-[FEA_MUS]
-GŁOŚNOŚĆ MUZYKI
-
-[FEA_SFX]
-GŁOŚNOŚĆ EFEKTÓW
-
-[FEA_RSS]
-STACJA RADIOWA
-
-[FEL_ENG]
-ANGIELSKI
-
-[FEL_FRE]
-FRANCUSKI
-
-[FEL_GER]
-NIEMIECKI
-
-[FEL_ITA]
-WŁOSKI
-
-[FEL_SPA]
-HISZPAŃSKI
-
-[FEA_3DH]
-SPRZĘT AUDIO
-
-[FEA_SPK]
-KONFIGURACJA GŁOŚNIKÓW
-
-[FEA_2SP]
-DWA GŁOŚNIKI
-
-[FEA_4SP]
-WIĘCEJ NIŻ DWA GŁOŚNIKI
-
-[FEA_EAR]
-SŁUCHAWKI
-
-[FEA_NAH]
-BRAK SPRZĘTU AUDIO
-
-[FET_SNG]
-ROZPOCZNIJ NOWĄ GRĘ
-
-[FEN_STA]
-ROZPOCZNIJ GRĘ
-
-[GMLOAD]
-WCZYTAJ GRĘ
-
-[GMSAVE]
-ZAPISZ GRĘ
-
-[FES_DGA]
-USUŃ GRĘ
-
-[FEM_NON]
-BRAK
-
-[FEC_IVV]
-ODWRÓĆ OSIE MYSZY W PIONIE
-
-[FEC_MSH]
-CZUŁOŚĆ MYSZY
-
-[FET_CCN]
-STEROWANIE: STANDARDOWE
-
-[FET_SCN]
-STEROWANIE: ZWYKŁE
-
-[FES_SET]
-UŻYJ 'SKÓRY'
-
-[GHOST]
-Ghost
-
-[WIN_RSZ]
-Zmiana rozmiaru ekranu nieudana.
-
-[FEC_TFU]
-Wież./dodo w górę
-
-[FEC_TFD]
-Wież./dodo w dół
-
-[FET_APL]
-ZASTOSUJ
-
-[FET_APP]
-KLIKNIJ LPM LUB RETURN, ABY ZASTOSOWAĆ NOWE USTAWIENIA
-
-[FET_HRD]
-PRZYWRÓCONO USTAWIENIA DOMYŚLNE
-
-[FET_MST]
-STEROWANIE POJAZDAMI ZA POMOCĄ MYSZY
-
-[FEC_STR]
-NUM *
-
-[FET_MIG]
-STRZAŁKA W LEWO, W PRAWO, KÓŁKO MYSZY, ABY REGULOWAĆ
-
-[FET_CIG]
-BACKSPACE: USUWANIE - LPM, RETURN - ZMIANA
-
-[FET_RIG]
-WYBIERZ NOWY KLAWISZ LUB NACIŚNIJ ESC, ABY ANULOWAĆ
-
-[FET_EIG]
-NIE MOŻNA PRZYPISAĆ KLAWISZA TEJ CZYNNOŚCI
-
-[NO_PCCD]
-Włóż do napędu CD-ROM płytę z grą Grand Theft Auto III nr 2 albo naciśnij ESC, aby anulować.
-
-[CVT_ERR]
-Na dysku twardym zabrakło wolnego miejsca. Przed dalszą pracą z programem zwolnij odpowiednią ilość pamięci. Aby wyjść, naciśnij ESC.
-
-[FED_SUB]
-NAPISY
-
-[FET_DSN]
-Skin gracza.bmp
-
-[JM3]
-'SKOK NA KONWÓJ'
-
-[ATUTOR2]
-~g~OSTROŻNIE przewoź pacjentów do Szpitala. Każde zderzenie zmniejsza ich szanse przeżycia.
-
-[EBAL]
-'WOLNOŚĆ W LIBERTY'
-
-[LM4]
-'ALFONS'
-
-[REPLAY]
-POWTÓRKA
-
-[FEC_SFT]
-SHIFT
-
-[CRED254]
-KIEROWNIK STUDIA
-
-[CVT_CRT]
-Nie można dokonać konwersji tekstur dla zainstalowanej karty graficznej. W tym celu należy zalogować się na konto Administratora. Aby wyjść, naciśnij ESC.
-
-[FEM_ON]
-WŁ.
-
-[FEM_OFF]
-WYŁ.
-
-[FEM_YES]
-TAK
-
-[FEM_NO]
-NIE
-
-[FES_WAR]
-Trwa zapisywanie, proszę czekać...
-
-[FED_DLW]
-Trwa kasowanie, proszę czekać...
-
-[FED_LDW]
-Trwa wczytywanie, proszę czekać...
-
-[FEC_SLC]
-Gniazdo jest uszkodzone
-
-[FED_LFL]
-Nieudane wczytanie zapisanej gry. Za chwilę gra uruchomi się ponownie.
-
-[FET_RSO]
-PRZYWRÓCONO PIERWOTNE USTAWIENIA
-
-[FET_RSC]
-URZĄDZENIE NIEDOSTĘPNE - PRZYWRÓCONO PIERWOTNE USTAWIENIA
-
-{ re3 updates }
-{ new languages }
-[FEL_JAP]
-JAPOŃSKI
-
-[FEL_POL]
-POLSKI
-
-[FEL_RUS]
-ROSYJSKI
-
-{ new display menus }
-[FET_GFX]
-USTAWIENIA GRAFIKI
-
-[FED_MIP]
-MIPMAPPING
-
-[FED_AAS]
-WYGŁADZANIE KRAWĘDZI
-
-[FED_FIL]
-FILTROWANIE TEKSTUR
-
-[FED_BIL]
-DWULINIOWE
-
-[FED_TRL]
-TRÓJLINIOWE
-
-[FED_WND]
-OKIENKOWY
-
-[FED_FLS]
-PEŁNY EKRAN
-
-[FEM_CSB]
-RAMKI CUTSCENEK
-
-[FEM_SCF]
-FORMAT OBRAZU
-
-[FEM_ISL]
-PRZYPISZ WYKORZYSTANIE PAMIĘCI
-
-[FEM_LOW]
-NISKIE
-
-[FEM_MED]
-ŚREDNIE
-
-[FEM_HIG]
-WYSOKIE
-
-[FEM_2PR]
-ALFA TEST PS2
-
-[FEC_FRC]
-SWOBODNA KAMERA
-
-{ Linux joy detection }
-[FEC_JOD]
-WYKRYJ PADA
-
-[FEC_JPR]
-Naciśnij dowolny klawisz na padzie, którego chcesz użyć w grze.
-
-[FEC_JDE]
-Wykryto pada
-
-{ mission restart }
-[FET_RMS]
-PONÓW MISJĘ
-
-[FESZ_RM]
-PONOWIĆ?
-
-{ more graphics }
-[FED_VPL]
-POTOK POJAZDÓW
-
-[FED_PRM]
-PODŚWIETLENIE PED
-
-[FED_RGL]
-POŁYSK DROGI
-
-[FED_CLF]
-FILTR KOLORU
-
-[FED_WLM]
-LIGHTMAPY ŚWIATA
-
-[FED_MBL]
-ROZMYCIE RUCHU
-
-[FEM_SIM]
-PROSTE
-
-[FEM_NRM]
-NORMALNY
-
-[FEM_MOB]
-MOBILNY
-
-[FED_MFX]
-MATFX
-
-[FED_NEO]
-PODŚWIETLENIE
-
-[FEM_PS2]
-PS2
-
-[FEM_XBX]
-XBOX
-
-[FEM_AUT] { aspect ratio related }
-AUTO
-
-[FEC_IVP]
-ODWRÓĆ OŚ PADA W PIONIE
-
-{ map }
-[FEM_TWP]
-Toggle Waypoint
-
-[FEA_FMN]
-RADIO OFF
-
-[FEC_DS2]
-DUALSHOCK 2
-
-[FEC_DS3]
-DUALSHOCK 3
-
-[FEC_DS4]
-DUALSHOCK 4
-
-[FEC_360]
-XBOX 360 CONTROLLER
-
-[FEC_ONE]
-XBOX ONE CONTROLLER
-
-[FEC_TYP]
-GAMEPAD TYPE
-
-[FEC_CCF]
-KONFIGURACJA
-
-[FEC_CF1]
-SETUP1
-
-[FEC_CF2]
-SETUP2
-
-[FEC_CF3]
-SETUP3
-
-[FEC_CF4]
-SETUP4
-
-[FEC_CDP]
-STEROWNIK EKRANU
-
-[FEC_ONF]
-PIESZO
-
-[FEC_INC]
-W AUCIE
-
-[FEC_VIB]
-WIBRACJA
-
-[FET_AGS]
-GAMEPAD SETTINGS
-
-{ end of file }
-
-[DUMMY]
-
-THIS LABEL NEEDS TO BE HERE !!!
-AS THE LAST LABEL DOES NOT GET COMPILED
\ No newline at end of file
diff --git a/utils/gxt/russian.txt b/utils/gxt/russian.txt
index 59fff069..4598dad5 100644
--- a/utils/gxt/russian.txt
+++ b/utils/gxt/russian.txt
@@ -1,11 +1,4 @@
-{
- New strings are at the bottom of file.
- Do not change the order of strings.
- You can fix the typos of existing translation but please refrain from
- unnecessary edits like rephasing because you think it suits better for your taste.
-}
-
-[1000]
+[1000]
ТЫ ПОКОЙНИК
[1001]
@@ -2036,11 +2029,11 @@ Double Clef FM
[DODO_FT]
Вы были в воздухе ~1~ секунд!
-[DRIVE_A] { re3 change }
-Садясь в машину, возьми в руки Узи. Посмотри вправо или влево и нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~ для выстрела.
+[DRIVE_A]
+Садясь в машину, возьми в руки Узи. Посмотри вправо или влево и нажми ~h~~k~~PED_FIREWEAPON~~w~ для выстрела.
-[DRIVE_B] { re3 change }
-Садясь в машину, возьми в руки Узи. Посмотри вправо или влево и нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~ для выстрела.
+[DRIVE_B]
+Садясь в машину, возьми в руки Узи. Посмотри вправо или влево и нажми ~h~~k~~PED_FIREWEAPON~~w~ для выстрела.
[DSPLAY]
Экран
@@ -2432,12 +2425,30 @@ FLASHBACK 95.6
[FEC_CAW]
Оружие в машине
+[FEC_CCF]
+Конфигурация:
+
[FEC_CCM]
Поставить камеру сзади игрока.
+[FEC_CDP]
+Показ контроллера:
+
[FEC_CEN]
Центровка камеры
+[FEC_CF1]
+Setup1
+
+[FEC_CF2]
+Setup2
+
+[FEC_CF3]
+Setup3
+
+[FEC_CF4]
+Setup4
+
[FEC_CLE]
Прокрутка оружия влево
@@ -2558,6 +2569,9 @@ HOME
[FEC_IBT]
-
+[FEC_INC]
+В машине
+
[FEC_IRT]
INS
@@ -2729,6 +2743,8 @@ NUMLOCK
[FEC_OMS]
Для действия можно задать лишь одну кнопку мыши
+[FEC_ONF]
+Пешком
[FEC_ORR]
или
@@ -2946,6 +2962,9 @@ Toggle Pad Game/Debug
[FEC_VES]
Управление машиной
+[FEC_VIB]
+Vibration:
+
[FEC_WAR]
Внимание!
@@ -3673,7 +3692,7 @@ No Memory Card (PS2) in MEMORY CARD slot 1.
УДАЛЕНИЕ ИГРЫ
[FET_DIS]
-НАСТРОЙКА ДИСПЛЕЯ
+НАСТРОЙКА ГРАФИКИ
[FET_DSN]
Обычная}одежда.bmp
@@ -3687,6 +3706,9 @@ No Memory Card (PS2) in MEMORY CARD slot 1.
[FET_FIL]
Фильтр
+[FET_GFX]
+НАСТРОЙКА ГРАФИКИ
+
[FET_GT]
ТИП ИГРЫ
@@ -4287,17 +4309,17 @@ FormatMemCard 1 (teststuff)
[GA_5]
Я уже поставил в бомбу в эту тачку.
-[GA_6] { re3 change }
-Припаркуй тачку на место, нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~ и ДЕЛАЙ НОГИ!
+[GA_6]
+Припаркуй тачку на место, нажми ~h~~k~~PED_FIREWEAPON~~w~ и ДЕЛАЙ НОГИ!
-[GA_6B] { re3 change }
-Припаркуй тачку на место, нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~ и ДЕЛАЙ НОГИ!
+[GA_6B]
+Припаркуй тачку на место, нажми ~h~~k~~PED_FIREWEAPON~~w~ и ДЕЛАЙ НОГИ!
-[GA_7] { re3 change }
-Включи бомбу, нажав на ~h~~k~~VEHICLE_FIREWEAPON~~w~. Бомба взорвется как только заведется мотор.
+[GA_7]
+Включи бомбу, нажав на ~h~~k~~PED_FIREWEAPON~~w~. Бомба взорвется как только заведется мотор.
-[GA_7B] { re3 change }
-Включи бомбу, нажав на ~h~~k~~VEHICLE_FIREWEAPON~~w~. Бомба взорвется как только заведется мотор.
+[GA_7B]
+Включи бомбу, нажав на ~h~~k~~PED_FIREWEAPON~~w~. Бомба взорвется как только заведется мотор.
[GA_8]
Взорви бомбу с помощью детонатора.
@@ -4644,11 +4666,11 @@ Pull the ~h~right analog stick~w~ back to ~h~brake~w~, or to ~h~reverse~w~ if th
[HM1_H]
Сделай так, чтобы этих Девяток здесь не было!
-[HM2_1] { re3 change }
-Используй радоуправляемые машинки, чтобы подорвать броневики. Взрыв бомбы - ~h~~k~~VEHICLE_FIREWEAPON~~w~.
+[HM2_1]
+Используй радоуправляемые машинки, чтобы подорвать броневики. Взрыв бомбы - ~h~~k~~PED_FIREWEAPON~~w~.
-[HM2_1A] { re3 change }
-Используй радоуправляемые машинки, чтобы подорвать броневики. Взрыв бомбы - ~h~~k~~VEHICLE_FIREWEAPON~~w~.
+[HM2_1A]
+Используй радоуправляемые машинки, чтобы подорвать броневики. Взрыв бомбы - ~h~~k~~PED_FIREWEAPON~~w~.
[HM2_2]
~r~Ты так и не смог подорвать все броневики!
@@ -5250,11 +5272,11 @@ Italian
[KM1_7]
~g~Проезд только для полицейских!
-[KM1_8A] { re3 change }
-Чтобы ~h~подорвать бомбу~w~, нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~, но не забудь отойти подальше от машины.
+[KM1_8A]
+Чтобы ~h~подорвать бомбу~w~, нажми ~h~~k~~PED_FIREWEAPON~~w~, но не забудь отойти подальше от машины.
-[KM1_8D] { re3 change }
-Чтобы ~h~подорвать бомбу~w~, нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~, но не забудь отойти подальше от машины.
+[KM1_8D]
+Чтобы ~h~подорвать бомбу~w~, нажми ~h~~k~~PED_FIREWEAPON~~w~, но не забудь отойти подальше от машины.
[KM1_9]
~r~Установленной в машине бомбой ты должен был взорвать стену!
@@ -6498,11 +6520,11 @@ Parse Heap
[PAUSED]
ИГРА ОСТАНОВЛЕНА
-[PBOAT_1] { re3 change }
-Чтобы выстрелить из орудия катера нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~.
+[PBOAT_1]
+Чтобы выстрелить из орудия катера нажми ~h~~k~~PED_FIREWEAPON~~w~.
-[PBOAT_2] { re3 change }
-Чтобы выстрелить из орудия катера нажми ~h~~k~~VEHICLE_FIREWEAPON~~w~.
+[PBOAT_2]
+Чтобы выстрелить из орудия катера нажми ~h~~k~~PED_FIREWEAPON~~w~.
[PCLOAD]
Loading File Data
@@ -6678,11 +6700,11 @@ Quit Options
[RCBANDT]
Багги Бандит
-[RCHELP] { re3 change }
-Чтобы подорвать машинку, нажми ~k~~VEHICLE_FIREWEAPON~, или врежься в колесо жертвы.
+[RCHELP]
+Чтобы подорвать машинку, нажми ~k~~PED_FIREWEAPON~, или врежься в колесо жертвы.
-[RCHELPA] { re3 change }
-Чтобы подорвать машинку, нажми ~k~~VEHICLE_FIREWEAPON~, или врежься в колесо жертвы.
+[RCHELPA]
+Чтобы подорвать машинку, нажми ~k~~PED_FIREWEAPON~, или врежься в колесо жертвы.
[RC_1]
У тебя 2 минуты, чтобы подорвать как можно больше машин Дьяволов!
@@ -7122,11 +7144,11 @@ Speeder
[SPRAY1]
В мастерской твою тачку ~h~отремонтируют~w~ и ~h~перекрасят~w~. Копы тебя больше ~h~не узнают~w~. Стоимость - ~h~$1000~w~. Первый раз это бесплатно.
-[SPRAY_1] { re3 change }
-Чтобы включить брандспойт, нажми на ~h~~k~~VEHICLE_FIREWEAPON~~w~.
+[SPRAY_1]
+Чтобы включить брандспойт, нажми на ~h~~k~~PED_FIREWEAPON~~w~.
-[SPRAY_4] { re3 change }
-Чтобы включить брандспойт, нажми на ~h~~k~~VEHICLE_FIREWEAPON~~w~.
+[SPRAY_4]
+Чтобы включить брандспойт, нажми на ~h~~k~~PED_FIREWEAPON~~w~.
[STADIUM]
Аспатрия
@@ -7935,9 +7957,6 @@ PS: УМРИ, ПАРШИВЫЙ ПЕС, УМРИ!
РУССКИЙ
{ new display menus }
-[FET_GFX]
-НАСТРОЙКА ГРАФИКИ
-
[FED_MIP]
МИП-МАППИНГ
@@ -7953,155 +7972,6 @@ PS: УМРИ, ПАРШИВЫЙ ПЕС, УМРИ!
[FED_TRL]
ТРИЛИНЕЙНАЯ
-[FED_WND]
-ОКОННЫЙ
-
-[FED_FLS]
-ПОЛНОЭКРАННЫЙ
-
-[FEM_CSB]
-CUTSCENE BORDERS
-
-[FEM_SCF]
-ФОРМАТ ОКНА
-
-[FEM_ISL]
-MAP MEMORY USAGE
-
-[FEM_LOW]
-LOW
-
-[FEM_MED]
-MEDIUM
-
-[FEM_HIG]
-HIGH
-
-[FEM_2PR]
-PS2 ALPHA TEST
-
-[FEC_FRC]
-СВОБОДНАЯ КАМЕРА
-
-{ Linux joy detection }
-[FEC_JOD]
-DETECT JOYSTICK
-
-[FEC_JPR]
-Press any key on the joystick of your choice that you want to use on the game, and it will be selected.
-
-[FEC_JDE]
-Detected joystick
-
-{ mission restart }
-[FET_RMS]
-ПОВТОРИТЬ ЗАДАНИЕ
-
-[FESZ_RM]
-НАЧАТЬ ЗАНОВО?
-
-{ more graphics }
-[FED_VPL]
-VEHICLE PIPELINE
-
-[FED_PRM]
-PED RIM LIGHT
-
-[FED_RGL]
-ROAD GLOSS
-
-[FED_CLF]
-COLOUR FILTER
-
-[FED_WLM]
-WORLD LIGHTMAPS
-
-[FED_MBL]
-MOTION BLUR
-
-[FEM_SIM]
-SIMPLE
-
-[FEM_NRM]
-NORMAL
-
-[FEM_MOB]
-MOBILE
-
-[FED_MFX]
-MATFX
-
-[FED_NEO]
-NEO
-
-[FEM_PS2]
-PS2
-
-[FEM_XBX]
-XBOX
-
-[FEM_AUT] { aspect ratio related }
-АВТО
-
-{ controls }
-[FEC_IVP]
-ИНВЕРТИРОВАТЬ ВЕРТИКАЛЬНУЮ ОСЬ
-
-{ map }
-[FEM_TWP]
-Поставить метку
-
-[FEA_FMN]
-РАДИО ВЫКЛ
-
-[FEC_DS2]
-DUALSHOCK 2
-
-[FEC_DS3]
-DUALSHOCK 3
-
-[FEC_DS4]
-DUALSHOCK 4
-
-[FEC_360]
-КОНТРОЛЛЕР XBOX 360
-
-[FEC_ONE]
-КОНТРОЛЛЕР XBOX ONE
-
-[FEC_TYP]
-ГЕЙМПАД
-
-[FEC_CCF]
-КОНФИГУРАЦИЯ
-
-[FEC_CF1]
-СХЕМА 1
-
-[FEC_CF2]
-СХЕМА 2
-
-[FEC_CF3]
-СХЕМА 3
-
-[FEC_CF4]
-СХЕМА 4
-
-[FEC_CDP]
-ТИП УПРАВЛЕНИЯ
-
-[FEC_ONF]
-ПЕШКОМ
-
-[FEC_INC]
-В МАШИНЕ
-
-[FEC_VIB]
-ВИБРАЦИЯ
-
-[FET_AGS]
-НАСТРОЙКИ ГЕЙМПАДА
-
{ end of file }
[DUMMY]
diff --git a/utils/gxt/spanish.txt b/utils/gxt/spanish.txt
index b2e418dd..b58fa845 100644
--- a/utils/gxt/spanish.txt
+++ b/utils/gxt/spanish.txt
@@ -1,16 +1,4 @@
-{
- New strings are at the bottom of file.
- Do not change the order of strings.
- You can fix the typos of existing translation but please refrain from
- unnecessary edits like rephasing because you think it suits better for your taste.
-
- SPANISH NOTE:
- This is European Spanish, do not mix it with Latin American Spanish.
- If you want the Latin American Spanish translation you'd have to create
- a separate txt for it.
-}
-
-{ Grand Theft Auto III Spanish (Spain) Translation }
+{ Grand Theft Auto III Spanish (Spain) Translation }
{ Contains some of the official fixes made by Rockstar for the iOS port }
{ Additional translation rewrites, corrections and fixes by IlDucci }
@@ -384,7 +372,7 @@ Playa de Portland
Saint Mark's
[REDLIGH]
-Red Light District
+Barrio rojo
[TOWERS]
Cerros de Hepburn
@@ -648,7 +636,7 @@ Puedes practicar disparando a estas dianas. Vuelve a la misión cuando hayas ter
~g~Busca un cliente.
[FARE1]
-~g~Ve al ~w~club Sex Kitten Meeouch ~g~en el Red Light District.
+~g~Ve al ~w~club Sex Kitten Meeouch ~g~en el barrio rojo.
[FARE2]
~g~Ve a ~w~Supa Save ~g~en Portland View.
@@ -660,13 +648,13 @@ Puedes practicar disparando a estas dianas. Vuelve a la misión cuando hayas ter
~g~Ve a la ~w~cafetería Greasy Joe ~g~en Callahan Point.
[FARE5]
-~g~Ve a la ~w~tienda de armas Ammu-Nation ~g~en el Red Light District.
+~g~Ve a la ~w~tienda de armas Ammu-Nation ~g~en el barrio rojo.
[FARE6]
~g~Ve a ~w~Easy Credit Autos ~g~en Saint Mark's.
[FARE7]
-~g~Ve al ~w~bar de topless de Woody ~g~en el Red Light District.
+~g~Ve al ~w~bar de topless de Woody ~g~en el barrio rojo.
[FARE8]
~g~Ve al ~w~restaurante Marcos ~g~en Saint Mark's.
@@ -768,7 +756,7 @@ Pulsa ~h~~k~~TOGGLE_SUBMISSIONS~~w~ para activar o desactivar las misiones del c
¡Has volado durante ~1~ segundos!
[EBAL_A]
-Conozco un lugar en las afueras del Red Light District donde podemos escondernos,
+Conozco un lugar en las afueras del barrio rojo donde podemos escondernos,
[EBAL_A1]
pero mis manos están destrozadas, así que conduce tú, hermano.
@@ -1565,7 +1553,7 @@ Eso no es un masajeador.
~r~Muy bonito, ¡has asustado al objetivo! ¿Y te consideras un asesino?
[AM1_5]
-~g~Ve al Red Light District y espera a que Salvatore salga del club.
+~g~Ve al barrio rojo y espera a que Salvatore salga del club.
[AM1_7]
~r~Salvatore está en su casita, sano y salvo, tomándose un cóctel. ¡Nadie te va a llamar ''Chacal''!
@@ -2258,11 +2246,11 @@ Una bomba de coche vale 1.000 dólares.
[GA_5]
Tu coche ya tiene una bomba instalada.
-[GA_6] { re3 change }
-¡Apárcalo, actívala pulsando ~h~~k~~VEHICLE_FIREWEAPON~~w~ y SAL PITANDO!
+[GA_6]
+¡Apárcalo, actívala pulsando ~h~~k~~PED_FIREWEAPON~~w~ y SAL PITANDO!
-[GA_7] { re3 change }
-Activa la bomba pulsando ~h~~k~~VEHICLE_FIREWEAPON~~w~. Estallará cuando se arranque el motor.
+[GA_7]
+Activa la bomba pulsando ~h~~k~~PED_FIREWEAPON~~w~. Estallará cuando se arranque el motor.
[GA_8]
Utiliza el detonador para activar la bomba.
@@ -2478,6 +2466,33 @@ Acelerar
[FEC_SMT]
Activar misión especial
+[FEC_CCF]
+Configuración:
+
+[FEC_CF1]
+Ajuste1
+
+[FEC_CF2]
+Ajuste2
+
+[FEC_CF3]
+Ajuste3
+
+[FEC_CF4]
+Ajuste4
+
+[FEC_CDP]
+Controles a mostrar:
+
+[FEC_ONF]
+A pie
+
+[FEC_INC]
+En vehículos
+
+[FEC_VIB]
+Vibración:
+
[FEA_OUT]
Salida:
@@ -3618,11 +3633,11 @@ que tendré trabajo para ti.
[JM6_1]
Llévanos al banco de la avenida principal.
-[GA_6B] { re3 change }
-¡Apárcalo, actívala pulsando ~h~~k~~VEHICLE_FIREWEAPON~~w~ y SAL PITANDO!
+[GA_6B]
+¡Apárcalo, actívala pulsando ~h~~k~~PED_FIREWEAPON~~w~ y SAL PITANDO!
-[GA_7B] { re3 change }
-Activa la bomba pulsando ~h~~k~~VEHICLE_FIREWEAPON~~w~. Estallará cuando se arranque el motor.
+[GA_7B]
+Activa la bomba pulsando ~h~~k~~PED_FIREWEAPON~~w~. Estallará cuando se arranque el motor.
[BAT1]
~g~¡Coge el bate!
@@ -4044,11 +4059,11 @@ Mete tu vehículo en el taller de pintura para perder tu ~h~nivel de búsqueda~w
[HM1_1]
~g~Cepíllate a 20 Purple Nines en 2 minutos y 30 segundos.
-[KM1_8A] { re3 change }
-Pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para ~h~activar la bomba~w~. Acuérdate de alejarte de ella.
+[KM1_8A]
+Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para ~h~activar la bomba~w~. Acuérdate de alejarte de ella.
-[KM1_8D] { re3 change }
-Pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para ~h~activar la bomba~w~. Acuérdate de alejarte de ella.
+[KM1_8D]
+Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para ~h~activar la bomba~w~. Acuérdate de alejarte de ella.
[KM1_12]
~g~¡Llévalo al dojo, pero deshazte primero de la policía!
@@ -4185,11 +4200,11 @@ No necesito tu documentación, pareces de fiar.
[DETON]
DETONACIÓN:
-[DRIVE_A] { re3 change }
-Ten una Uzi seleccionada cuando entres en un vehículo, luego mira a la izquierda o a la derecha y pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para disparar.
+[DRIVE_A]
+Ten una Uzi seleccionada cuando entres en un vehículo, luego mira a la izquierda o a la derecha y pulsa ~h~~k~~PED_FIREWEAPON~~w~ para disparar.
-[DRIVE_B] { re3 change }
-Ten una Uzi seleccionada cuando entres en un vehículo, luego mira a la izquierda o a la derecha y pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para disparar.
+[DRIVE_B]
+Ten una Uzi seleccionada cuando entres en un vehículo, luego mira a la izquierda o a la derecha y pulsa ~h~~k~~PED_FIREWEAPON~~w~ para disparar.
[RECORD]
~g~¡NUEVO RÉCORD!
@@ -4197,11 +4212,11 @@ Ten una Uzi seleccionada cuando entres en un vehículo, luego mira a la izquierd
[NRECORD]
~r~¡NO HAY UN NUEVO RÉCORD!
-[RCHELP] { re3 change }
-Pulsa ~k~~VEHICLE_FIREWEAPON~ o lleva el coche teledirigido hasta las ruedas de otro coche para detonarlo.
+[RCHELP]
+Pulsa ~k~~PED_FIREWEAPON~ o lleva el coche teledirigido hasta las ruedas de otro coche para detonarlo.
-[RCHELPA] { re3 change }
-Pulsa ~k~~VEHICLE_FIREWEAPON~ o lleva el coche teledirigido hasta las ruedas de otro coche para detonarlo.
+[RCHELPA]
+Pulsa ~k~~PED_FIREWEAPON~ o lleva el coche teledirigido hasta las ruedas de otro coche para detonarlo.
[RC_1]
¡Tienes 2 minutos para destruir todos los coches de los Diablos que puedas!
@@ -4432,7 +4447,7 @@ tomándolos por el camino.
¡Cuando alcances a ese bandido espaciado con SPANK, chíngatelo!
[DIAB4_H]
-Luego reparte mis revistas XXX por el Red Light District.
+Luego reparte mis revistas XXX por el barrio rojo.
[DIAB4_1]
~g~Lleva la furgoneta a la parte de atrás de Revistas XXX.
@@ -4564,7 +4579,7 @@ si no les doy una parte.
He dejado un coche dentro de la fábrica.
[MEA2_G]
-Ve a recogerles con él en su territorio, en el Red Light District.
+Ve a recogerles con él en su territorio, en el barrio rojo.
[MEA2_H]
Luego tráelos a la fábrica para que conozcan la opinión de Marty.
@@ -4701,11 +4716,11 @@ Luigi dijo que eras de fiar, así que vuelve más tarde,
[RM5_6]
~g~¡Ha salido de la ambulancia! ¡Cárgate su escayola con un vehículo o una explosión!
-[PBOAT_1] { re3 change }
-Pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para disparar los cañones de la lancha.
+[PBOAT_1]
+Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para disparar los cañones de la lancha.
-[PBOAT_2] { re3 change }
-Pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para disparar los cañones de la lancha.
+[PBOAT_2]
+Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para disparar los cañones de la lancha.
[DIAB1_B]
Al habla El Burro, de los Diablos.
@@ -4719,11 +4734,11 @@ Hay una carrera que empezará junto a la sala Clásica, cerca del puente Callaha
[DIAB1_F]
Consíguete un buen carro y el primero que pase por todos los puntos de control se llevará el premio.
-[HM2_1] { re3 change }
-Usa los coches teledirigidos para destruir los furgones blindados. Pulsa ~h~~k~~VEHICLE_FIREWEAPON~ ~w~para detonarlos.
+[HM2_1]
+Usa los coches teledirigidos para destruir los furgones blindados. Pulsa ~h~~k~~PED_FIREWEAPON~ ~w~para detonarlos.
-[HM2_1A] { re3 change }
-Usa los coches teledirigidos para destruir los furgones blindados. Pulsa ~h~~k~~VEHICLE_FIREWEAPON~ ~w~para detonarlos.
+[HM2_1A]
+Usa los coches teledirigidos para destruir los furgones blindados. Pulsa ~h~~k~~PED_FIREWEAPON~ ~w~para detonarlos.
[HM2_2]
~r~¡No has destruido todos los furgones blindados!
@@ -6530,11 +6545,11 @@ Esta Memory Card (PS2) ya está formateada.
[FEDSAS4]
;=<> - CAMBIAR SELECCIÓN
-[SPRAY_4] { re3 change }
-Pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para disparar el cañón de agua.
+[SPRAY_4]
+Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para disparar el cañón de agua.
-[SPRAY_1] { re3 change }
-Pulsa ~h~~k~~VEHICLE_FIREWEAPON~~w~ para disparar el cañón de agua.
+[SPRAY_1]
+Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para disparar el cañón de agua.
[LITTLE]
LITTLE T
@@ -7138,7 +7153,7 @@ Color del jugador
Liberty City
[FEM_MA1]
-Red Light District
+Barrio rojo
[FEM_MA2]
Chinatown
@@ -7290,6 +7305,9 @@ CONEXIÓN
[FET_AUD]
AJUSTES DE AUDIO
+[FET_GFX]
+AJUSTES GRÁFICOS
+
[FET_DIS]
AJUSTES DE PANTALLA
@@ -7997,7 +8015,7 @@ POLACO
RUSO
{ new display menus }
-[FET_GFX]
+[FET_GRA]
AJUSTES GRÁFICOS
[FED_MIP]
@@ -8101,66 +8119,12 @@ PS2
[FEM_XBX]
XBOX
-[FEM_AUT]
-AUTOM.
-
[FEC_IVP]
INVERTIR VERTICALIDAD MANDO
[FEM_TWP]
Poner o quitar punto de referencia
-[FEA_FMN]
-RADIO APAGADA
-
-[FEC_DS2]
-DUALSHOCK 2
-
-[FEC_DS3]
-DUALSHOCK 3
-
-[FEC_DS4]
-DUALSHOCK 4
-
-[FEC_360]
-MANDO DE XBOX 360
-
-[FEC_ONE]
-MANDO DE XBOX ONE
-
-[FEC_TYP]
-TIPO DE MANDO
-
-[FEC_CCF]
-CONFIGURACIÓN
-
-[FEC_CF1]
-AJUSTE 1
-
-[FEC_CF2]
-AJUSTE 2
-
-[FEC_CF3]
-AJUSTE 3
-
-[FEC_CF4]
-AJUSTE 4
-
-[FEC_CDP]
-CONTROLES A MOSTRAR
-
-[FEC_ONF]
-A PIE
-
-[FEC_INC]
-EN VEHÍCULO
-
-[FEC_VIB]
-VIBRACIÓN
-
-[FET_AGS]
-AJUSTES DE MANDO
-
{ end of file }
[DUMMY]
diff --git a/vendor/librw b/vendor/librw
index 41ae7b9b..60a5ace1 160000
--- a/vendor/librw
+++ b/vendor/librw
@@ -1 +1 @@
-Subproject commit 41ae7b9b61c6736b34269df0f0350d1b5bcff4df
+Subproject commit 60a5ace16309ccd3d174a3ec14a1062540934066