mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Compare commits
27
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d3e1bbfc6 | ||
|
|
738225d2a2 | ||
|
|
4be9b106f4 | ||
|
|
af4eeb09f4 | ||
|
|
15821498a3 | ||
|
|
54bdce6c46 | ||
|
|
433de0e67b | ||
|
|
30e5d8f91c | ||
|
|
506ea842b8 | ||
|
|
9adc1ad998 | ||
|
|
8d1877d26d | ||
|
|
d03989051a | ||
|
|
5da2ee8bf6 | ||
|
|
aa0aac2bfe | ||
|
|
ee098125e6 | ||
|
|
bada3ef31a | ||
|
|
00a805cc39 | ||
|
|
fd2c74727e | ||
|
|
ba64ed53c6 | ||
|
|
c61f57bd9b | ||
|
|
4d5593ebcb | ||
|
|
601fabf401 | ||
|
|
eb8ecb31f0 | ||
|
|
2801af552e | ||
|
|
ef30192b29 | ||
|
|
392ba66df3 | ||
|
|
d4dd5f07df |
+166
-27
@@ -9,11 +9,6 @@ on:
|
||||
# allows to manually trigger a build
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
build_all_languages:
|
||||
description: build all languages
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
assemble_release:
|
||||
description: create release
|
||||
required: false
|
||||
@@ -27,7 +22,6 @@ jobs:
|
||||
workflow_setup:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
languages_json_array: ${{ steps.global_vars.outputs.languages_json_array }}
|
||||
assemble_release: ${{ steps.global_vars.outputs.assemble_release }}
|
||||
steps:
|
||||
- id: global_vars
|
||||
@@ -37,15 +31,6 @@ jobs:
|
||||
|
||||
full_release='${{ ( github.repository == '1dot13/source' && github.ref_name == 'master' ) || startsWith(github.ref, 'refs/tags/v') }}'
|
||||
|
||||
if [[ '${{ inputs.build_all_languages }}' == 'true' || ( '${{ inputs.build_all_languages }}' == '' && "$full_release" == 'true' ) ]]
|
||||
then
|
||||
languages_json_array='["Chinese", "German", "English", "French", "Polish", "Italian", "Dutch", "Russian"]';
|
||||
else
|
||||
# English + some other language for compilation testing
|
||||
languages_json_array='["German", "English"]'
|
||||
fi
|
||||
echo "languages_json_array=$languages_json_array" >> $GITHUB_OUTPUT
|
||||
|
||||
if [[ '${{ inputs.assemble_release }}' == 'true' || ( '${{ inputs.assemble_release }}' == '' && "$full_release" == 'true' ) ]]
|
||||
then
|
||||
assemble_release='true'
|
||||
@@ -154,39 +139,193 @@ jobs:
|
||||
cat dist/versions.env
|
||||
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: versions.env
|
||||
path: dist/
|
||||
|
||||
build:
|
||||
# every executable contains all languages and picks one at runtime, so one build serves every package
|
||||
compile:
|
||||
needs: [ workflow_setup ]
|
||||
runs-on: windows-latest # required for the MSVC toolchain
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: ${{ fromJson(needs.workflow_setup.outputs.languages_json_array) }}
|
||||
uses: ./.github/workflows/build_language.yml
|
||||
with:
|
||||
language: ${{ matrix.language }}
|
||||
assemble: ${{ needs.workflow_setup.outputs.assemble_release == 'true' }}
|
||||
# at least English and some other lang have to work
|
||||
continue-on-error: ${{ matrix.language != 'English' && matrix.language != 'German' }}
|
||||
application: [ja2, ja2mapeditor, ja2ub, ja2ubmapeditor]
|
||||
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download versions.env
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: versions.env
|
||||
path: artifacts
|
||||
- name: Restore versions.env
|
||||
shell: bash
|
||||
run: cat artifacts/versions.env >> $GITHUB_ENV
|
||||
|
||||
# TODO: Move this into CMake, just taking the GitHub Actions parameters as -D variables
|
||||
- name: Update GameVersion.cpp
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
GAME_VERSION=$(echo "$GAME_VERSION" | tr -cd '[:print:]' | tr -d '"\\')
|
||||
GAME_BUILD=$(echo "$GAME_BUILD_INFORMATION" | tr -cd '[:print:]' | tr -d '"\\')
|
||||
sed -i "s|@Version@|${GAME_VERSION:0:15}|" Ja2/GameVersion.cpp
|
||||
sed -i "s|@Build@|${GAME_BUILD:0:255}|" Ja2/GameVersion.cpp
|
||||
cat Ja2/GameVersion.cpp
|
||||
|
||||
- name: Prepare build properties
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
|
||||
touch CMakePresets.json
|
||||
|
||||
JA2Application=$(echo '${{ matrix.application }}' | tr '[:lower:]' '[:upper:]')
|
||||
|
||||
echo "
|
||||
JA2Application=$JA2Application
|
||||
" >> $GITHUB_ENV
|
||||
|
||||
- uses: egor-tensin/vs-shell@v2
|
||||
with:
|
||||
arch: x86
|
||||
- name: Prepare build
|
||||
run: |
|
||||
cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DApplications="$Env:JA2Application"
|
||||
- name: Build
|
||||
run: |
|
||||
cmake --build build/ -- -v
|
||||
- name: List build artifacts
|
||||
shell: bash
|
||||
run: |
|
||||
find build/
|
||||
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ${{ matrix.application }}
|
||||
path: build/*.exe
|
||||
|
||||
# only the game data differs per language, every package gets the same executables
|
||||
assemble:
|
||||
needs: [ workflow_setup, compile ]
|
||||
if: needs.workflow_setup.outputs.assemble_release == 'true'
|
||||
runs-on: windows-latest # required for case-insensitive filesystem handling
|
||||
# at least English has to work
|
||||
continue-on-error: ${{ matrix.language != 'English' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [Chinese, German, English, French, Polish, Italian, Dutch, Russian]
|
||||
|
||||
steps:
|
||||
- name: Download versions.env
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: versions.env
|
||||
path: artifacts
|
||||
- name: Restore versions.env
|
||||
shell: bash
|
||||
run: cat artifacts/versions.env >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout gamedir
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
repository: ${{ env.GAMEDIR_REPOSITORY }}
|
||||
ref: ${{ env.GAMEDIR_COMMIT_SHA }}
|
||||
path: gamedir
|
||||
|
||||
- name: Checkout gamedir-languages
|
||||
if: matrix.language != 'English'
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
repository: ${{ env.GAMEDIR_LANGUAGES_REPOSITORY }}
|
||||
ref: ${{ env.GAMEDIR_LANGUAGES_COMMIT_SHA }}
|
||||
path: gamedir-languages
|
||||
|
||||
- name: Copy gamedir-languages files to gamedir
|
||||
if: matrix.language != 'English'
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
cp -a gamedir-languages/${{ matrix.language }}_Version/* gamedir/
|
||||
|
||||
- name: Download applications
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
pattern: ja2*
|
||||
path: artifacts
|
||||
|
||||
- name: Copy application files to gamedir
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
for APP in ja2 ja2mapeditor ja2ub ja2ubmapeditor
|
||||
do
|
||||
mv artifacts/${APP}/*.exe gamedir/${APP}.exe
|
||||
done
|
||||
|
||||
- name: Create version information file
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
|
||||
# "-" separates words, "_" combines words, see double-click behavior
|
||||
DIST_PREFIX='JA2_113'
|
||||
DIST_NAME="${DIST_PREFIX}-${GAME_VERSION}-G${GAMEDIR_COMMIT_SHA:0:4}L${GAMEDIR_LANGUAGES_COMMIT_SHA:0:4}-${{ matrix.language }}"
|
||||
echo "DIST_NAME=$DIST_NAME" >> $GITHUB_ENV
|
||||
|
||||
echo "If you encounter problems during gameplay, please provide the following version information:
|
||||
Distribution Name: $DIST_NAME
|
||||
Game Version: $GAME_VERSION
|
||||
Language: ${{ matrix.language }}
|
||||
Build Information: $GAME_BUILD_INFORMATION
|
||||
Source Repository: $GITHUB_REPOSITORY
|
||||
Source Commit SHA: $GITHUB_SHA
|
||||
Source Commit Date: $SOURCE_COMMIT_DATETIME
|
||||
Gamedir Repository: $GAMEDIR_REPOSITORY
|
||||
Gamedir Commit SHA: $GAMEDIR_COMMIT_SHA
|
||||
Gamedir Commit Date: $GAMEDIR_COMMIT_DATETIME
|
||||
Gamedir Languages Repository: $GAMEDIR_LANGUAGES_REPOSITORY
|
||||
Gamedir Languages Commit SHA: $GAMEDIR_LANGUAGES_COMMIT_SHA
|
||||
Gamedir Languages Commit Date: $GAMEDIR_LANGUAGES_COMMIT_DATETIME
|
||||
" > "gamedir/${DIST_PREFIX}-Version.txt"
|
||||
cat "gamedir/${DIST_PREFIX}-Version.txt"
|
||||
|
||||
- name: Create release archive
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
mkdir dist/
|
||||
cd gamedir/
|
||||
7z a -bb -xr'!.*' "../dist/${DIST_NAME}.7z" .
|
||||
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ${{ matrix.language }}_release
|
||||
path: dist/
|
||||
compression-level: 0
|
||||
|
||||
release:
|
||||
needs: [ workflow_setup, build ]
|
||||
needs: [ workflow_setup, assemble ]
|
||||
if: needs.workflow_setup.outputs.assemble_release == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
path: dist
|
||||
pattern: '*_release'
|
||||
merge-multiple: true
|
||||
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
path: source
|
||||
fetch-depth: 1
|
||||
|
||||
@@ -1,206 +0,0 @@
|
||||
name: build language
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
language:
|
||||
description: 'any of Chinese German English French Polish Italian Dutch Russian'
|
||||
required: true
|
||||
default: 'English'
|
||||
type: string
|
||||
assemble:
|
||||
description: 'assemble full package'
|
||||
required: true
|
||||
default: true
|
||||
type: boolean
|
||||
continue-on-error:
|
||||
description: 'allows a language to fail, used when building all languages'
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
jobs:
|
||||
compile:
|
||||
runs-on: windows-latest # required for msbuild
|
||||
continue-on-error: ${{ inputs.continue-on-error }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
application: [ja2, ja2mapeditor, ja2ub, ja2ubmapeditor]
|
||||
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download versions.env
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: versions.env
|
||||
path: artifacts
|
||||
- name: Restore versions.env
|
||||
shell: bash
|
||||
run: cat artifacts/versions.env >> $GITHUB_ENV
|
||||
|
||||
# TODO: Move this into CMake, just taking the GitHub Actions parameters as -D variables
|
||||
- name: Update GameVersion.cpp
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
INPUTS_LANGUAGE=${{ inputs.language }}
|
||||
GAME_VERSION=$(echo "$GAME_VERSION" | tr -cd '[:print:]' | tr -d '"\\')
|
||||
GAME_BUILD="${INPUTS_LANGUAGE:0:2} $GAME_BUILD_INFORMATION"
|
||||
GAME_BUILD=$(echo "$GAME_BUILD" | tr -cd '[:print:]' | tr -d '"\\')
|
||||
sed -i "s|@Version@|${GAME_VERSION:0:15}|" Ja2/GameVersion.cpp
|
||||
sed -i "s|@Build@|${GAME_BUILD:0:255}|" Ja2/GameVersion.cpp
|
||||
cat Ja2/GameVersion.cpp
|
||||
|
||||
- name: Prepare build properties
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
|
||||
touch CMakePresets.json
|
||||
|
||||
JA2Language=$(echo '${{ inputs.language }}' | tr '[:lower:]' '[:upper:]')
|
||||
JA2Application=$(echo '${{ matrix.application }}' | tr '[:lower:]' '[:upper:]')
|
||||
|
||||
echo "
|
||||
JA2Language=$JA2Language
|
||||
JA2Application=$JA2Application
|
||||
" >> $GITHUB_ENV
|
||||
|
||||
- uses: microsoft/setup-msbuild@v2
|
||||
with:
|
||||
msbuild-architecture: x86
|
||||
- uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: x86
|
||||
- name: Prepare build
|
||||
run: |
|
||||
cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLanguages="$Env:JA2Language" -DApplications="$Env:JA2Application"
|
||||
- name: Build
|
||||
run: |
|
||||
cmake --build build/ -- -v
|
||||
- name: List build artifacts
|
||||
shell: bash
|
||||
run: |
|
||||
find build/
|
||||
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.language }}_${{ matrix.application }}
|
||||
path: build/*.exe
|
||||
|
||||
assemble:
|
||||
needs: [ compile ]
|
||||
if: inputs.assemble
|
||||
runs-on: windows-latest # required for case-insensitive filesystem handling
|
||||
continue-on-error: ${{ inputs.continue-on-error }}
|
||||
|
||||
steps:
|
||||
- name: Download versions.env
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: versions.env
|
||||
path: artifacts
|
||||
- name: Restore versions.env
|
||||
shell: bash
|
||||
run: cat artifacts/versions.env >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout gamedir
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ env.GAMEDIR_REPOSITORY }}
|
||||
ref: ${{ env.GAMEDIR_COMMIT_SHA }}
|
||||
path: gamedir
|
||||
|
||||
- name: Checkout gamedir-languages
|
||||
if: inputs.language != 'English'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ env.GAMEDIR_LANGUAGES_REPOSITORY }}
|
||||
ref: ${{ env.GAMEDIR_LANGUAGES_COMMIT_SHA }}
|
||||
path: gamedir-languages
|
||||
|
||||
- name: Copy gamedir-languages files to gamedir
|
||||
if: inputs.language != 'English'
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
cp -a gamedir-languages/${{ inputs.language }}_Version/* gamedir/
|
||||
|
||||
- name: Download ja2
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.language }}_ja2
|
||||
path: artifacts/ja2
|
||||
|
||||
- name: Download ja2mapeditor
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.language }}_ja2mapeditor
|
||||
path: artifacts/ja2mapeditor
|
||||
|
||||
- name: Download ja2ub
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.language }}_ja2ub
|
||||
path: artifacts/ja2ub
|
||||
|
||||
- name: Download ja2ubmapeditor
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.language }}_ja2ubmapeditor
|
||||
path: artifacts/ja2ubmapeditor
|
||||
|
||||
- name: Copy application files to gamedir
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
for APP in ja2 ja2mapeditor ja2ub ja2ubmapeditor
|
||||
do
|
||||
mv artifacts/${APP}/*.exe gamedir/${APP}.exe
|
||||
done
|
||||
|
||||
- name: Create version information file
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
|
||||
# "-" separates words, "_" combines words, see double-click behavior
|
||||
DIST_PREFIX='JA2_113'
|
||||
DIST_NAME="${DIST_PREFIX}-${GAME_VERSION}-G${GAMEDIR_COMMIT_SHA:0:4}L${GAMEDIR_LANGUAGES_COMMIT_SHA:0:4}-${{ inputs.language }}"
|
||||
echo "DIST_NAME=$DIST_NAME" >> $GITHUB_ENV
|
||||
|
||||
echo "If you encounter problems during gameplay, please provide the following version information:
|
||||
Distribution Name: $DIST_NAME
|
||||
Game Version: $GAME_VERSION
|
||||
Language: ${{ inputs.language }}
|
||||
Build Information: $GAME_BUILD_INFORMATION
|
||||
Source Repository: $GITHUB_REPOSITORY
|
||||
Source Commit SHA: $GITHUB_SHA
|
||||
Source Commit Date: $SOURCE_COMMIT_DATETIME
|
||||
Gamedir Repository: $GAMEDIR_REPOSITORY
|
||||
Gamedir Commit SHA: $GAMEDIR_COMMIT_SHA
|
||||
Gamedir Commit Date: $GAMEDIR_COMMIT_DATETIME
|
||||
Gamedir Languages Repository: $GAMEDIR_LANGUAGES_REPOSITORY
|
||||
Gamedir Languages Commit SHA: $GAMEDIR_LANGUAGES_COMMIT_SHA
|
||||
Gamedir Languages Commit Date: $GAMEDIR_LANGUAGES_COMMIT_DATETIME
|
||||
" > "gamedir/${DIST_PREFIX}-Version.txt"
|
||||
cat "gamedir/${DIST_PREFIX}-Version.txt"
|
||||
|
||||
- name: Create release archive
|
||||
shell: bash
|
||||
run: |
|
||||
set -eux
|
||||
mkdir dist/
|
||||
cd gamedir/
|
||||
7z a -bb -xr'!.*' "../dist/${DIST_NAME}.7z" .
|
||||
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.language }}_release
|
||||
path: dist/
|
||||
compression-level: 0
|
||||
+27
-25
@@ -27,7 +27,11 @@ if(ADDRESS_SANITIZER)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
# TODO: fix the warnings here and turn them on
|
||||
# https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warnings-c4000-through-c4199
|
||||
add_compile_options("/wd4838") # silence implicit narrowing conversion warnings
|
||||
# add_compile_options("/w14061")
|
||||
# add_compile_options("/w14062")
|
||||
endif()
|
||||
|
||||
# whether we are using MSBuild as a generator
|
||||
@@ -102,15 +106,13 @@ foreach(lib IN LISTS Ja2_Libs)
|
||||
add_subdirectory(${lib})
|
||||
endforeach()
|
||||
|
||||
# language library relies on Application _and_ Language preprocessor definition. very bad.
|
||||
# language library relies on Application preprocessor definition; compiled once per app
|
||||
# with all 8 languages built in and selected at runtime (docs/plans/language-design.md).
|
||||
add_subdirectory(i18n)
|
||||
|
||||
# simple function to validate Languages and Application choices
|
||||
# simple function to validate the Application choice
|
||||
include(cmake/ValidateOptions.cmake)
|
||||
|
||||
set(ValidLanguages CHINESE DUTCH ENGLISH FRENCH GERMAN ITALIAN POLISH RUSSIAN)
|
||||
ValidateOptions("${ValidLanguages}" "Languages" "${Languages}" "LangTargets")
|
||||
|
||||
set(ValidApplications JA2 JA2MAPEDITOR JA2UB JA2UBMAPEDITOR)
|
||||
ValidateOptions("${ValidApplications}" "Applications" "${Applications}" "ApplicationTargets")
|
||||
|
||||
@@ -136,28 +138,28 @@ foreach(app IN LISTS ApplicationTargets)
|
||||
target_compile_definitions(${game_library} PRIVATE ${compilationFlags} ${debugFlags})
|
||||
endforeach()
|
||||
|
||||
foreach(lang IN LISTS LangTargets)
|
||||
# executable for an application/language combination, e.g. JA2_ENGLISH.exe
|
||||
set(exe ${app}_${lang})
|
||||
add_executable(${exe} WIN32
|
||||
sgp/sgp.cpp
|
||||
Ja2/Res/ja2.rc
|
||||
)
|
||||
target_link_libraries(${exe} PRIVATE ${Ja2_Libraries} $<IF:${usingMsBuild},legacy_stdio_definitions.lib,>)
|
||||
target_link_options(${exe} PRIVATE $<IF:${usingMsBuild},/SAFESEH:NO,>)
|
||||
target_compile_definitions(${exe} PRIVATE ${compilationFlags} ${debugFlags})
|
||||
# executable for the application, e.g. JA2.exe
|
||||
set(exe ${app})
|
||||
add_executable(${exe} WIN32
|
||||
sgp/sgp.cpp
|
||||
Ja2/Res/ja2.rc
|
||||
)
|
||||
target_link_libraries(${exe} PRIVATE ${Ja2_Libraries} $<IF:${usingMsBuild},legacy_stdio_definitions.lib,>)
|
||||
target_link_options(${exe} PRIVATE $<IF:${usingMsBuild},/SAFESEH:NO,>)
|
||||
target_compile_definitions(${exe} PRIVATE ${compilationFlags} ${debugFlags})
|
||||
|
||||
# language library for an application, e.g. JA2MAPEDITOR_ENGLISH_i18n
|
||||
set(language_library ${exe}_i18n)
|
||||
add_library(${language_library})
|
||||
target_sources(${language_library} PRIVATE ${i18nSrc})
|
||||
target_compile_definitions(${language_library} PRIVATE ${compilationFlags} ${debugFlags} ${lang})
|
||||
target_link_libraries(${exe} PRIVATE ${language_library})
|
||||
# language library for the application, e.g. JA2MAPEDITOR_i18n — one per app, all 8
|
||||
# languages compiled in, selected at runtime by BindLanguageStrings
|
||||
set(language_library ${exe}_i18n)
|
||||
add_library(${language_library})
|
||||
target_sources(${language_library} PRIVATE ${i18nSrc})
|
||||
target_compile_definitions(${language_library} PRIVATE ${compilationFlags} ${debugFlags})
|
||||
target_compile_options(${language_library} PRIVATE /w14062)
|
||||
target_link_libraries(${exe} PRIVATE ${language_library})
|
||||
|
||||
# go through all game libraries again and link them to the app/language executable
|
||||
foreach(lib IN LISTS Ja2_Libs)
|
||||
target_link_libraries(${exe} PRIVATE ${app}_${lib})
|
||||
endforeach()
|
||||
# go through all game libraries again and link them to the app executable
|
||||
foreach(lib IN LISTS Ja2_Libs)
|
||||
target_link_libraries(${exe} PRIVATE ${app}_${lib})
|
||||
endforeach()
|
||||
|
||||
# for SGP only
|
||||
|
||||
@@ -29,7 +29,7 @@ void IncreaseSelectionDensity();
|
||||
void DecreaseSelectionDensity();
|
||||
void RemoveCursors();
|
||||
|
||||
extern STR16 wszSelType[6];
|
||||
extern STR16 *wszSelType;
|
||||
|
||||
extern BOOLEAN gfCurrentSelectionWithRightButton;
|
||||
|
||||
@@ -40,4 +40,4 @@ extern BOOLEAN gfCurrentSelectionWithRightButton;
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -325,7 +325,7 @@ extern UINT8 gubCurrMercMode, gubPrevMercMode;
|
||||
|
||||
#define NUM_DIFF_LVLS 5
|
||||
|
||||
extern STR16 zDiffNames[NUM_DIFF_LVLS];
|
||||
extern STR16 *zDiffNames;
|
||||
extern INT16 sCurBaseDiff;
|
||||
extern INT16 gsSelectedMercID;
|
||||
extern INT32 gsSelectedMercGridNo;
|
||||
|
||||
@@ -40,7 +40,7 @@ MOUSE_REGION popupRegion;
|
||||
UINT16 gusEntryHeight;
|
||||
BOOLEAN fWaitingForLButtonRelease = FALSE;
|
||||
|
||||
extern CHAR16 gszScheduleActions[ NUM_SCHEDULE_ACTIONS ][20];
|
||||
extern CHAR16 (*gszScheduleActions)[20]; // NUM_SCHEDULE_ACTIONS entries
|
||||
|
||||
//Finds the string for any popup menu in JA2 -- the strings are stored
|
||||
//in different ways in each instance.
|
||||
|
||||
@@ -8,8 +8,10 @@
|
||||
#include "Campaign Types.h"
|
||||
#include "environment.h"
|
||||
|
||||
#include <string_view>
|
||||
#define GAME_INI_FILE "Ja2.ini"
|
||||
|
||||
constexpr std::string_view LANGUAGE_INI_FILE{"Language.ini"};
|
||||
//If you add any options, MAKE sure you add the corresponding string to the Options Screen string array.
|
||||
// look up : zOptionsScreenHelpText , zOptionsToggleText
|
||||
//Also, define its initialization and add its load/save to INI lines in : InitGameSettings() , SaveGameSettings() , LoadGameSettings()
|
||||
|
||||
+1
-1
@@ -174,7 +174,7 @@ private:
|
||||
|
||||
static VideoPlayer s_VP(VideoPlayer::VT_SMK | VideoPlayer::VT_BINK);
|
||||
|
||||
extern STR16 gzIntroScreen[];
|
||||
extern STR16* gzIntroScreen;
|
||||
extern HVSURFACE ghFrameBuffer;
|
||||
|
||||
enum
|
||||
|
||||
@@ -89,7 +89,7 @@ extern BOOLEAN gfDontOverRideSaveBuffer; //this variable can be unset if u
|
||||
|
||||
|
||||
extern void HandleTacticalUILoseCursorFromOtherScreen( );
|
||||
extern STR16 pUpdatePanelButtons[];
|
||||
extern STR16* pUpdatePanelButtons;
|
||||
|
||||
|
||||
#define NUM_CHAT_TOGGLES 2
|
||||
|
||||
@@ -69,7 +69,7 @@ BOOLEAN gfStartedFromMapScreen = FALSE;
|
||||
BOOLEAN fRestoreBackgroundForMessageBox = FALSE;
|
||||
BOOLEAN gfDontOverRideSaveBuffer = TRUE; //this variable can be unset if ur in a non gamescreen and DONT want the msg box to use the save buffer
|
||||
extern void HandleTacticalUILoseCursorFromOtherScreen( );
|
||||
extern STR16 pUpdatePanelButtons[];
|
||||
extern STR16* pUpdatePanelButtons;
|
||||
|
||||
CHAR16 gzUserDefinedButton1[ 128 ];
|
||||
CHAR16 gzUserDefinedButton2[ 128 ];
|
||||
|
||||
@@ -1468,31 +1468,6 @@ BOOLEAN LoadMercBioInfo(UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo)
|
||||
//{
|
||||
// if( pInfoString[i] > 33 )
|
||||
// pInfoString[i] -= 1;
|
||||
// #ifdef POLISH
|
||||
// switch( pInfoString[ i ] )
|
||||
// {
|
||||
// case 260: pInfoString[ i ] = 165; break;
|
||||
// case 262: pInfoString[ i ] = 198; break;
|
||||
// case 280: pInfoString[ i ] = 202; break;
|
||||
// case 321: pInfoString[ i ] = 163; break;
|
||||
// case 323: pInfoString[ i ] = 209; break;
|
||||
// case 211: pInfoString[ i ] = 211; break;
|
||||
|
||||
// case 346: pInfoString[ i ] = 338; break;
|
||||
// case 379: pInfoString[ i ] = 175; break;
|
||||
// case 377: pInfoString[ i ] = 143; break;
|
||||
// case 261: pInfoString[ i ] = 185; break;
|
||||
// case 263: pInfoString[ i ] = 230; break;
|
||||
// case 281: pInfoString[ i ] = 234; break;
|
||||
|
||||
// case 322: pInfoString[ i ] = 179; break;
|
||||
// case 324: pInfoString[ i ] = 241; break;
|
||||
// case 243: pInfoString[ i ] = 243; break;
|
||||
// case 347: pInfoString[ i ] = 339; break;
|
||||
// case 380: pInfoString[ i ] = 191; break;
|
||||
// case 378: pInfoString[ i ] = 376; break;
|
||||
// }
|
||||
// #endif
|
||||
//}
|
||||
|
||||
DecodeString(pInfoString, SIZE_MERC_BIO_INFO);
|
||||
@@ -1514,31 +1489,6 @@ BOOLEAN LoadMercBioInfo(UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo)
|
||||
//{
|
||||
// if( pAddInfo[i] > 33 )
|
||||
// pAddInfo[i] -= 1;
|
||||
// #ifdef POLISH
|
||||
// switch( pAddInfo[ i ] )
|
||||
// {
|
||||
// case 260: pAddInfo[ i ] = 165; break;
|
||||
// case 262: pAddInfo[ i ] = 198; break;
|
||||
// case 280: pAddInfo[ i ] = 202; break;
|
||||
// case 321: pAddInfo[ i ] = 163; break;
|
||||
// case 323: pAddInfo[ i ] = 209; break;
|
||||
// case 211: pAddInfo[ i ] = 211; break;
|
||||
|
||||
// case 346: pAddInfo[ i ] = 338; break;
|
||||
// case 379: pAddInfo[ i ] = 175; break;
|
||||
// case 377: pAddInfo[ i ] = 143; break;
|
||||
// case 261: pAddInfo[ i ] = 185; break;
|
||||
// case 263: pAddInfo[ i ] = 230; break;
|
||||
// case 281: pAddInfo[ i ] = 234; break;
|
||||
|
||||
// case 322: pAddInfo[ i ] = 179; break;
|
||||
// case 324: pAddInfo[ i ] = 241; break;
|
||||
// case 243: pAddInfo[ i ] = 243; break;
|
||||
// case 347: pAddInfo[ i ] = 339; break;
|
||||
// case 380: pAddInfo[ i ] = 191; break;
|
||||
// case 378: pAddInfo[ i ] = 376; break;
|
||||
// }
|
||||
// #endif
|
||||
//}
|
||||
|
||||
DecodeString(pAddInfo, SIZE_MERC_BIO_INFO);
|
||||
|
||||
@@ -75,7 +75,7 @@ extern INT32 iAddExplosives ;
|
||||
extern INT32 iAddMechanical ;
|
||||
|
||||
// pop up strings
|
||||
extern STR16 pImpPopUpStrings[];
|
||||
extern STR16* pImpPopUpStrings;
|
||||
|
||||
//extern BOOLEAN fIMPCompletedFlag;
|
||||
|
||||
|
||||
@@ -7,6 +7,6 @@ void RenderIMPPersonalityEntrance( void );
|
||||
void ExitIMPPersonalityEntrance( void );
|
||||
void HandleIMPPersonalityEntrance( void );
|
||||
|
||||
STR16 pSkillTraitBeginIMPStrings[];
|
||||
extern STR16* pSkillTraitBeginIMPStrings;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -9,13 +9,13 @@ void PrintImpText( void );
|
||||
void PrintIMPPersonalityQuizQuestionAndAnsers( void );
|
||||
|
||||
// buttons text
|
||||
extern STR16 pImpButtonText[];
|
||||
extern STR16* pImpButtonText;
|
||||
|
||||
|
||||
// extra strings not found in IMP Text Document
|
||||
extern STR16 pExtraIMPStrings[];
|
||||
extern STR16* pExtraIMPStrings;
|
||||
|
||||
extern STR16 pSkillTraitBeginIMPStrings[]; // added - SANDRO
|
||||
extern STR16* pSkillTraitBeginIMPStrings; // added - SANDRO
|
||||
|
||||
enum{
|
||||
IMP_HOME_1,
|
||||
@@ -145,4 +145,4 @@ enum{
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -186,7 +186,7 @@ REPAIR_PASS_SLOTS_TYPE gRepairPassSlotList[ NUM_REPAIR_PASS_TYPES ] =
|
||||
{ /* HEADROCK HAM B2.8: LBE Slot pass */ 0, 5, VESTPOCKPOS, LTHIGHPOCKPOS, RTHIGHPOCKPOS, CPACKPOCKPOS, BPACKPOCKPOS, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
|
||||
};
|
||||
|
||||
extern STR16 sRepairsDoneString[];
|
||||
extern STR16* sRepairsDoneString;
|
||||
|
||||
// PopUp Box Handles
|
||||
INT32 ghAssignmentBox = -1;
|
||||
|
||||
@@ -1133,8 +1133,12 @@ void SaveSeenAndUnseenItems( void )
|
||||
if(pipl->fExists && pipl->object.ubNumberOfObjects)
|
||||
{
|
||||
uiTotalNumberOfVisibleItems += pipl->object.ubNumberOfObjects;
|
||||
if(i > uiNumberOfSeenItems)
|
||||
if (i > uiNumberOfSeenItems)
|
||||
{
|
||||
pInventoryPoolList[uiNumberOfSeenItems] = *pipl;
|
||||
pipl->fExists = FALSE;
|
||||
}
|
||||
|
||||
uiNumberOfSeenItems++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ INT32 iHeightOfInitFastHelpText = 0;
|
||||
|
||||
extern INT32 giMapContractButton;
|
||||
extern INT32 giCharInfoButton[];
|
||||
extern STR16 pUpdatePanelButtons[];
|
||||
extern STR16* pUpdatePanelButtons;
|
||||
|
||||
// the list of soldiers that are moving
|
||||
SOLDIERTYPE * pSoldierMovingList[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
|
||||
@@ -904,7 +904,16 @@ BOOLEAN BeginStrategicRemoveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fAddRehireButto
|
||||
else
|
||||
{
|
||||
if (!is_networked)
|
||||
{
|
||||
#ifdef JA2UB
|
||||
// Leave equipment to merc's current sector by default in UB
|
||||
HandleLeavingOfEquipmentInCurrentSector(pSoldier->ubID);
|
||||
StrategicRemoveMerc(pSoldier);
|
||||
pLeaveSoldier = NULL;
|
||||
#else
|
||||
NotifyPlayerOfMercDepartureAndPromptEquipmentPlacement( pSoldier, fAddRehireButton );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
// WANNE - MP: Skip all the dialog boxes that appear. Just dismiss the merc
|
||||
|
||||
@@ -49,7 +49,7 @@ extern "C" {
|
||||
|
||||
extern CHAR16 gzUserDefinedButton1[ 128 ];
|
||||
extern CHAR16 gzUserDefinedButton2[ 128 ];
|
||||
extern CHAR16 pTownNames[MAX_TOWNS][MAX_TOWN_NAME_LENGHT];
|
||||
extern CHAR16 (*pTownNames)[MAX_TOWN_NAME_LENGHT];
|
||||
|
||||
static size_t MAX_BUTTON_LENGTH = 60;
|
||||
static size_t MAX_BODY_LENGTH = 450;
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
#define _QUEST_TEXT_H_
|
||||
|
||||
|
||||
STR16 QuestDescText[];
|
||||
STR16 FactDescText[];
|
||||
extern STR16 *QuestDescText;
|
||||
extern STR16 *FactDescText;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,7 +31,7 @@ class SOLDIERTYPE;
|
||||
|
||||
|
||||
#ifdef JA2EDITOR
|
||||
extern CHAR16 gszScheduleActions[ NUM_SCHEDULE_ACTIONS ][20];
|
||||
extern CHAR16 (*gszScheduleActions)[20]; // NUM_SCHEDULE_ACTIONS entries
|
||||
#endif
|
||||
|
||||
BOOLEAN GetEarliestMorningScheduleEvent( SCHEDULENODE *pSchedule, UINT32 * puiTime );
|
||||
|
||||
@@ -180,7 +180,7 @@ INT16 sWorldSectorLocationOfFirstBattle = 0;
|
||||
// preprocess sector for mercs in it
|
||||
extern BOOLEAN fSectorsWithSoldiers[ MAP_WORLD_X * MAP_WORLD_X ][ 4 ];
|
||||
|
||||
extern CHAR16 pTownNames[MAX_TOWNS][MAX_TOWN_NAME_LENGHT];
|
||||
extern CHAR16 (*pTownNames)[MAX_TOWN_NAME_LENGHT];
|
||||
|
||||
|
||||
|
||||
|
||||
+10
-2
@@ -613,8 +613,8 @@ extern BOOLEAN gfAutoAIAware;
|
||||
extern void HandlePreBattleInterfaceStates();
|
||||
|
||||
// the title for the contract button on the character info panel in the upper left portion of the mapscreen
|
||||
extern STR16 pContractButtonString[];
|
||||
extern STR16 pBullseyeStrings[];
|
||||
extern STR16* pContractButtonString;
|
||||
extern STR16* pBullseyeStrings;
|
||||
|
||||
extern OBJECTTYPE *gpItemDescObject;
|
||||
|
||||
@@ -12748,6 +12748,10 @@ void HandleShadingOfLinesForContractMenu( void )
|
||||
SOLDIERTYPE* pSoldier = gCharactersList[ bSelectedContractChar ].usSolID;
|
||||
const bool multipleMercsSelected = (gSelectedSoldiers.size() > 0) ? true : false;
|
||||
|
||||
#ifdef JA2UB
|
||||
// No contract renewal in UB
|
||||
const bool atLeastOneAIMmerc = false;
|
||||
#else
|
||||
bool atLeastOneAIMmerc = false;
|
||||
if (pSoldier->ubWhatKindOfMercAmI == MERC_TYPE__AIM_MERC)
|
||||
{
|
||||
@@ -12765,6 +12769,7 @@ void HandleShadingOfLinesForContractMenu( void )
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // JA2UB
|
||||
|
||||
// is guy in AIM? and well enough to talk and make such decisions?
|
||||
if( (atLeastOneAIMmerc) && ( pSoldier->stats.bLife >= OKLIFE ) )
|
||||
@@ -15372,7 +15377,10 @@ BOOLEAN CanExtendContractForCharSlot( INT16 bCharNumber )
|
||||
|
||||
// if a vehicle, in transit, or a POW
|
||||
if( /*( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) ||*/
|
||||
#ifndef JA2UB
|
||||
// Allow contract box in UB before helicopter ride, so mercs can be dismissed if player has hired more than 6 mercs
|
||||
( pSoldier->bAssignment == IN_TRANSIT ) ||
|
||||
#endif
|
||||
( pSoldier->bAssignment == ASSIGNMENT_POW ) )
|
||||
{
|
||||
// can't extend contracts at this time
|
||||
|
||||
@@ -357,7 +357,7 @@ extern HVSURFACE ghFrameBuffer;
|
||||
extern BOOLEAN gfOverrideSector;
|
||||
|
||||
extern BOOLEAN sBadSectorsList[WORLD_MAP_X][WORLD_MAP_X];
|
||||
extern STR16 pBullseyeStrings[];
|
||||
extern STR16* pBullseyeStrings;
|
||||
|
||||
extern void HandleRPCDescription( );
|
||||
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
# priority (LOW,HIGH) and description
|
||||
|
||||
LOW readd the C4838 (https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4838) warning to CMakeLists.txt once they're all fixed in the code
|
||||
HIGH get rid of ENGLISH, GERMAN, etc preprocessor definitions completely. that way i18n can be built just once and language can be changed in the options screen pending game restart (hotloading will likely require more work)
|
||||
|
||||
@@ -7035,7 +7035,7 @@ UINT8 StealItems(SOLDIERTYPE* pSoldier,SOLDIERTYPE* pOpponent, UINT8* ubIndexRet
|
||||
if ((pObject->exists() == true) && !ItemIsUndroppableByDefault(pObject->usItem)) // CHECK! Undroppable items cannot be stolen - SANDRO
|
||||
{
|
||||
// Is the enemy collapsed
|
||||
if ( pOpponent->stats.bLife < OKLIFE || pOpponent->bCollapsed )
|
||||
if ( pOpponent->stats.bLife < OKLIFE || pOpponent->bCollapsed || (pOpponent->usSoldierFlagMask & SOLDIER_POW) )
|
||||
{
|
||||
// We can steal any of his items in the inventory
|
||||
fStealItem = TRUE;
|
||||
|
||||
+1
-2
@@ -167,7 +167,6 @@ extern BOOLEAN KeyExistsInInventory( SOLDIERTYPE *pSoldier, UINT8 ubKeyID );
|
||||
extern BOOLEAN KeyExistsInKeyRing( SOLDIERTYPE *pSoldier, UINT8 ubKeyID, UINT8 * pubPos );
|
||||
extern BOOLEAN SoldierHasKey( SOLDIERTYPE *pSoldier, UINT8 ubKeyID );
|
||||
|
||||
extern STR16 sKeyDescriptionStrings[];
|
||||
/**********************************
|
||||
* Door utils add by Kris Morness *
|
||||
**********************************/
|
||||
@@ -281,4 +280,4 @@ void AttachStringToDoor( INT32 sGridNo );
|
||||
|
||||
void DropKeysInKeyRing( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, INT8 bVisible, BOOLEAN fAddToDropList, INT32 iDropListSlot, BOOLEAN fUseUnLoaded );
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -6909,7 +6909,7 @@ BOOLEAN CheckForEndOfCombatMode( BOOLEAN fIncrementTurnsNotSeen )
|
||||
for ( cnt = 0; cnt < guiNumMercSlots; cnt++ )
|
||||
{
|
||||
pTeamSoldier = MercSlots[ cnt ];
|
||||
if ( pTeamSoldier && pTeamSoldier->stats.bLife >= OKLIFE && !pTeamSoldier->aiData.bNeutral )
|
||||
if ( pTeamSoldier && pTeamSoldier->stats.bLife >= OKLIFE && !pTeamSoldier->aiData.bNeutral && !(pTeamSoldier->usSoldierFlagMask & SOLDIER_POW) )
|
||||
{
|
||||
if ( SoldierHasSeenEnemiesLastFewTurns( pTeamSoldier ) )
|
||||
{
|
||||
|
||||
@@ -4233,7 +4233,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea
|
||||
// give bonus for surprise, but not so much as struggle would still occur
|
||||
iHitChance = CalcChanceToSteal( pSoldier, pTargetSoldier, pSoldier->aiData.bAimTime ) + 20;
|
||||
}
|
||||
else if ( pTargetSoldier->stats.bLife < OKLIFE || pTargetSoldier->bCollapsed )
|
||||
else if (pTargetSoldier->stats.bLife < OKLIFE || pTargetSoldier->bCollapsed || pTargetSoldier->usSoldierFlagMask & SOLDIER_POW)
|
||||
{
|
||||
iHitChance = 100;
|
||||
fSoldierCollapsed = TRUE;
|
||||
|
||||
@@ -1180,7 +1180,7 @@ profileEndElementHandle(void *userData, const XML_Char *name)
|
||||
#include <vfs/Core/vfs_file_raii.h> // added by Flugente for vfs-stuff
|
||||
#include <iostream>
|
||||
|
||||
extern STR16 gzMercSkillTextNew[];
|
||||
extern STR16* gzMercSkillTextNew;
|
||||
|
||||
void AnalyzeProfiles()
|
||||
{
|
||||
|
||||
@@ -38,9 +38,6 @@
|
||||
typedef struct
|
||||
{
|
||||
//SB: unify structure for all versions
|
||||
// #if defined( CRIPPLED_VERSION ) || defined( RUSSIAN )
|
||||
// UINT8 ubIdentifier[4];
|
||||
// #endif
|
||||
|
||||
UINT16 fFlags;
|
||||
|
||||
@@ -74,9 +71,7 @@ typedef struct
|
||||
INT16 sActionData; // special action value
|
||||
|
||||
//SB: unify structure for all versions
|
||||
//#if !defined( CRIPPLED_VERSION ) && !defined( RUSSIAN )
|
||||
UINT8 ubUnused[4];
|
||||
//#endif
|
||||
|
||||
} _old_NPCQuoteInfo; // 32 bytes
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ UINT32 guiFireAmbientLastUpdate = 0;
|
||||
|
||||
extern STR8 pVertStrings[];
|
||||
extern STR8 pHortStrings[];
|
||||
extern CHAR16 pTownNames[MAX_TOWNS][MAX_TOWN_NAME_LENGHT];
|
||||
extern CHAR16 (*pTownNames)[MAX_TOWN_NAME_LENGHT];
|
||||
|
||||
UINT8 gubCurrentSteadyStateAmbience = SSA_NONE;
|
||||
UINT8 gubCurrentSteadyStateSound = 0;
|
||||
|
||||
@@ -8518,8 +8518,7 @@ void CalcRenderParameters(INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom )
|
||||
gsStartPointY_W = sRenderCenterY_W - sTempPosY_W;
|
||||
|
||||
// NOTE: Increase X map value by 1 tile to offset where on screen we are...
|
||||
if ( gsStartPointX_W > 0 )
|
||||
gsStartPointX_W += CELL_X_SIZE;
|
||||
gsStartPointX_W += CELL_X_SIZE;
|
||||
|
||||
// d) screen start point is screen distances minus screen center
|
||||
gsStartPointX_S = sLeft - VIEWPORT_XOFFSET_S;
|
||||
@@ -8527,8 +8526,8 @@ void CalcRenderParameters(INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom )
|
||||
|
||||
// STEP FOUR - Determine Start block
|
||||
// a) Find start block
|
||||
gsStartPointX_M = ( gsStartPointX_W ) / CELL_X_SIZE;
|
||||
gsStartPointY_M = ( gsStartPointY_W ) / CELL_Y_SIZE;
|
||||
gsStartPointX_M = floor( DOUBLE(gsStartPointX_W) / DOUBLE(CELL_X_SIZE) );
|
||||
gsStartPointY_M = floor( DOUBLE(gsStartPointY_W) / DOUBLE(CELL_Y_SIZE) );
|
||||
|
||||
// STEP 5 - Determine Deltas for center and find screen values
|
||||
//Make sure these coordinates are multiples of scroll steps
|
||||
@@ -8564,7 +8563,7 @@ void CalcRenderParameters(INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom )
|
||||
gsLEndXS = sRight + LARGER_VIEWPORT_XOFFSET_S;
|
||||
gsLEndYS = sBottom + LARGER_VIEWPORT_YOFFSET_S;
|
||||
|
||||
// STEP THREE - determine starting point in world coords
|
||||
// STEP THREE - determine starting point in world coords
|
||||
// a) Determine where in screen coords to start rendering
|
||||
gsLStartPointX_S = ( ( gsVIEWPORT_END_X - gsVIEWPORT_START_X ) /2 ) - (sLeft - LARGER_VIEWPORT_XOFFSET_S);
|
||||
gsLStartPointY_S = ( ( gsVIEWPORT_END_Y - gsVIEWPORT_START_Y ) /2 ) - (sTop - LARGER_VIEWPORT_YOFFSET_S);
|
||||
@@ -8578,8 +8577,7 @@ void CalcRenderParameters(INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom )
|
||||
gsLStartPointY_W = sRenderCenterY_W - sTempPosY_W;
|
||||
|
||||
// NOTE: Increase X map value by 1 tile to offset where on screen we are...
|
||||
if ( gsLStartPointX_W > 0 )
|
||||
gsLStartPointX_W += CELL_X_SIZE;
|
||||
gsLStartPointX_W += CELL_X_SIZE;
|
||||
|
||||
// d) screen start point is screen distances minus screen center
|
||||
gsLStartPointX_S = sLeft - LARGER_VIEWPORT_XOFFSET_S;
|
||||
@@ -8587,8 +8585,23 @@ void CalcRenderParameters(INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom )
|
||||
|
||||
// STEP FOUR - Determine Start block
|
||||
// a) Find start block
|
||||
gsLStartPointX_M = ( gsLStartPointX_W ) / CELL_X_SIZE;
|
||||
gsLStartPointY_M = ( gsLStartPointY_W ) / CELL_Y_SIZE;
|
||||
gsLStartPointX_M = floor( DOUBLE(gsLStartPointX_W) / DOUBLE(CELL_X_SIZE) );
|
||||
gsLStartPointY_M = floor( DOUBLE(gsLStartPointY_W) / DOUBLE(CELL_Y_SIZE) );
|
||||
|
||||
// Check and correct the difference between smaller and larger start blocks in tile coordinates.
|
||||
// Regardless of resolution, the difference between the start blocks are constant 10 tiles in X- and 6 tiles in Y-direction.
|
||||
// If the difference doesn't match, static world is rendered in the wrong place relative to dynamic world.
|
||||
// Mainly evident in 960x540 resolution.
|
||||
const auto ratioX_M = gsStartPointX_M - gsLStartPointX_M;
|
||||
if ( ratioX_M != 10)
|
||||
{
|
||||
gsLStartPointX_M -= 10 - ratioX_M;
|
||||
}
|
||||
const auto ratioY_M = gsStartPointY_M - gsLStartPointY_M;
|
||||
if ( ratioY_M != 6 )
|
||||
{
|
||||
gsLStartPointY_M -= 6 - ratioY_M;
|
||||
}
|
||||
|
||||
// Adjust starting screen coordinates
|
||||
gsLStartPointX_S -= sOffsetX_S;
|
||||
|
||||
@@ -8,10 +8,8 @@ set(UtilsSrc
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Encrypted File.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Event Pump.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Font Control.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/ImportStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/INIReader.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/KeyMap.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/LocalizedStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/MapUtility.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/MercTextBox.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/message.cpp"
|
||||
|
||||
@@ -96,137 +96,5 @@ void DecodeString(STR16 pDestString, UINT32 uiSeekAmount)
|
||||
if( pDestString[i] > 33 )
|
||||
pDestString[i] -= 1;
|
||||
|
||||
//#ifdef GERMAN
|
||||
// //switch( pDestString[ i ] )
|
||||
// //{
|
||||
// // // ü
|
||||
// // case 252: pDestString[i] = 252; break;
|
||||
// // // Ü
|
||||
// // case 220: pDestString[i] = 220; break;
|
||||
// // // ä
|
||||
// // case 228: pDestString[i] = 228; break;
|
||||
// // // Ä
|
||||
// // case 196: pDestString[i] = 196; break;
|
||||
// // // ö
|
||||
// // case 246: pDestString[i] = 246; break;
|
||||
// // // Ö
|
||||
// // case 214: pDestString[i] = 214; break;
|
||||
// // // ß
|
||||
// // case 223: pDestString[i] = 223; break;
|
||||
// //}
|
||||
//#endif
|
||||
|
||||
//#ifdef RUSSIAN
|
||||
// switch( pDestString[ i ] )
|
||||
// {
|
||||
// //capital letters
|
||||
// case 168: pDestString[ i ] = 1025; break; //U+0401 d0 81 CYRILLIC CAPITAL LETTER IO
|
||||
// case 192: pDestString[ i ] = 1040; break; //U+0410 A d0 90 CYRILLIC CAPITAL LETTER A
|
||||
// case 193: pDestString[ i ] = 1041; break;
|
||||
// case 194: pDestString[ i ] = 1042; break;
|
||||
// case 195: pDestString[ i ] = 1043; break;
|
||||
// case 196: pDestString[ i ] = 1044; break;
|
||||
// case 197: pDestString[ i ] = 1045; break;
|
||||
// case 198: pDestString[ i ] = 1046; break;
|
||||
// case 199: pDestString[ i ] = 1047; break;
|
||||
// case 200: pDestString[ i ] = 1048; break;
|
||||
// case 201: pDestString[ i ] = 1049; break;
|
||||
// case 202: pDestString[ i ] = 1050; break;
|
||||
// case 203: pDestString[ i ] = 1051; break;
|
||||
// case 204: pDestString[ i ] = 1052; break;
|
||||
// case 205: pDestString[ i ] = 1053; break;
|
||||
// case 206: pDestString[ i ] = 1054; break;
|
||||
// case 207: pDestString[ i ] = 1055; break;
|
||||
// case 208: pDestString[ i ] = 1056; break;
|
||||
// case 209: pDestString[ i ] = 1057; break;
|
||||
// case 210: pDestString[ i ] = 1058; break;
|
||||
// case 211: pDestString[ i ] = 1059; break;
|
||||
// case 212: pDestString[ i ] = 1060; break;
|
||||
// case 213: pDestString[ i ] = 1061; break;
|
||||
// case 214: pDestString[ i ] = 1062; break;
|
||||
// case 215: pDestString[ i ] = 1063; break;
|
||||
// case 216: pDestString[ i ] = 1064; break;
|
||||
// case 217: pDestString[ i ] = 1065; break;
|
||||
// case 218: pDestString[ i ] = 1066; break;
|
||||
// case 219: pDestString[ i ] = 1067; break;
|
||||
// case 220: pDestString[ i ] = 1068; break;
|
||||
// case 221: pDestString[ i ] = 1069; break;
|
||||
// case 222: pDestString[ i ] = 1070; break;
|
||||
// case 223: pDestString[ i ] = 1071; break; //U+042F d0 af CYRILLIC CAPITAL LETTER YA
|
||||
|
||||
// //small letters
|
||||
// case 184: pDestString[ i ] = 1105; break; //U+0451 d1 91 CYRILLIC SMALL LETTER IO
|
||||
//case 185: pDestString[ i ] = 8470; break; // ?
|
||||
//case 178: pDestString[ i ] = 1030; break; // ?
|
||||
//case 161: pDestString[ i ] = 1038; break; // í
|
||||
//case 179: pDestString[ i ] = 1110; break; // ?
|
||||
//case 162: pDestString[ i ] = 1118; break; // ó
|
||||
//case 165: pDestString[ i ] = 1168; break; // Ń
|
||||
//case 170: pDestString[ i ] = 1028; break; // Ź
|
||||
//case 175: pDestString[ i ] = 1031; break; // ť
|
||||
//case 180: pDestString[ i ] = 1169; break; // ?
|
||||
//case 186: pDestString[ i ] = 1108; break; // ?
|
||||
//case 191: pDestString[ i ] = 1111; break; // ?
|
||||
// case 224: pDestString[ i ] = 1072; break; //U+0430 a d0 b0 CYRILLIC SMALL LETTER A
|
||||
// case 225: pDestString[ i ] = 1073; break;
|
||||
// case 226: pDestString[ i ] = 1074; break;
|
||||
// case 227: pDestString[ i ] = 1075; break;
|
||||
// case 228: pDestString[ i ] = 1076; break;
|
||||
// case 229: pDestString[ i ] = 1077; break;
|
||||
// case 230: pDestString[ i ] = 1078; break;
|
||||
// case 231: pDestString[ i ] = 1079; break;
|
||||
// case 232: pDestString[ i ] = 1080; break;
|
||||
// case 233: pDestString[ i ] = 1081; break;
|
||||
// case 234: pDestString[ i ] = 1082; break;
|
||||
// case 235: pDestString[ i ] = 1083; break;
|
||||
// case 236: pDestString[ i ] = 1084; break;
|
||||
// case 237: pDestString[ i ] = 1085; break;
|
||||
// case 238: pDestString[ i ] = 1086; break;
|
||||
// case 239: pDestString[ i ] = 1087; break; //U+043F d0 bf CYRILLIC SMALL LETTER PE
|
||||
// case 240: pDestString[ i ] = 1088; break; //U+0440 p d1 80 CYRILLIC SMALL LETTER ER
|
||||
// case 241: pDestString[ i ] = 1089; break;
|
||||
// case 242: pDestString[ i ] = 1090; break;
|
||||
// case 243: pDestString[ i ] = 1091; break;
|
||||
// case 244: pDestString[ i ] = 1092; break;
|
||||
// case 245: pDestString[ i ] = 1093; break;
|
||||
// case 246: pDestString[ i ] = 1094; break;
|
||||
// case 247: pDestString[ i ] = 1095; break;
|
||||
// case 248: pDestString[ i ] = 1096; break;
|
||||
// case 249: pDestString[ i ] = 1097; break;
|
||||
// case 250: pDestString[ i ] = 1098; break;
|
||||
// case 251: pDestString[ i ] = 1099; break;
|
||||
// case 252: pDestString[ i ] = 1100; break;
|
||||
// case 253: pDestString[ i ] = 1101; break;
|
||||
// case 254: pDestString[ i ] = 1102; break;
|
||||
// case 255: pDestString[ i ] = 1103; break; //U+044F d1 8f CYRILLIC SMALL LETTER YA
|
||||
|
||||
// }
|
||||
//#endif
|
||||
|
||||
//#ifdef POLISH
|
||||
// switch( pDestString[ i ] )
|
||||
// {
|
||||
// case 165: pDestString[ i ] = 260; break;
|
||||
// case 198: pDestString[ i ] = 262; break;
|
||||
// case 202: pDestString[ i ] = 280; break;
|
||||
// case 163: pDestString[ i ] = 321; break;
|
||||
// case 209: pDestString[ i ] = 323; break;
|
||||
// case 211: pDestString[ i ] = 211; break;
|
||||
|
||||
// case 338: pDestString[ i ] = 346; break;
|
||||
// case 175: pDestString[ i ] = 379; break;
|
||||
// case 143: pDestString[ i ] = 377; break;
|
||||
// case 185: pDestString[ i ] = 261; break;
|
||||
// case 230: pDestString[ i ] = 263; break;
|
||||
// case 234: pDestString[ i ] = 281; break;
|
||||
|
||||
// case 179: pDestString[ i ] = 322; break;
|
||||
// case 241: pDestString[ i ] = 324; break;
|
||||
// case 243: pDestString[ i ] = 243; break;
|
||||
// case 339: pDestString[ i ] = 347; break;
|
||||
// case 191: pDestString[ i ] = 380; break;
|
||||
// case 376: pDestString[ i ] = 378; break;
|
||||
// }
|
||||
//#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,11 @@ typedef enum
|
||||
|
||||
LANGUAGE_LOCATION zlanguageText[1000];
|
||||
|
||||
// Single shared buffer for all languages (declared in Text.h): filled at runtime from
|
||||
// NewTacticalMessages.xml below, never from compiled-in per-language data, so it is not
|
||||
// part of the BindLanguageStrings pointer-rebind scheme.
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS];
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LANGUAGE_PARSE_STAGE curElement;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
function(CopyUserPresetTemplate)
|
||||
if(
|
||||
NOT DEFINED Languages AND
|
||||
NOT DEFINED Applications AND
|
||||
NOT EXISTS "${CMAKE_SOURCE_DIR}/CMakePresets.json" AND
|
||||
NOT EXISTS "${CMAKE_SOURCE_DIR}/CMakeUserPresets.json"
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build/${presetName}",
|
||||
"cacheVariables": {
|
||||
// Valid choices: ENGLISH;GERMAN;FRENCH;ITALIAN;POLISH;DUTCH;RUSSIAN;CHINESE. If empty (""), will configure all.
|
||||
"Languages": "ENGLISH",
|
||||
// Valid choices: JA2;JA2MAPEDITOR;JA2UB;JA2UBMAPEDITOR. If empty (""), will configure all.
|
||||
"Applications": "JA2",
|
||||
// For debugging: enter your desired gamedir. e.g. C:/Games/JA2
|
||||
|
||||
+3
-16
@@ -1,23 +1,10 @@
|
||||
set(i18nSrc
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/language.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/LanguageStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/LocalizedStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Ja2 Libs.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/ExportStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_ChineseText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_DutchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_EnglishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_FrenchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_GermanText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_ItalianText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25ChineseText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25DutchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25EnglishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25FrenchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25GermanText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25ItalianText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25PolishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25RussianText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_PolishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_RussianText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/ImportStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Multi Language Graphic Utils.cpp"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
+421
-452
File diff suppressed because it is too large
Load Diff
@@ -27,34 +27,6 @@ LibraryInitHeader gGameLibaries[ ] =
|
||||
{ "TileSets.slf", TRUE, TRUE },
|
||||
{ "LoadScreens.slf", TRUE, TRUE },
|
||||
{ "Intro.slf", TRUE, TRUE },
|
||||
|
||||
#ifdef GERMAN
|
||||
{ "German.slf", FALSE, TRUE },
|
||||
#endif
|
||||
|
||||
#ifdef POLISH
|
||||
{ "Polish.slf", FALSE, TRUE },
|
||||
#endif
|
||||
|
||||
#ifdef DUTCH
|
||||
{ "Dutch.slf", FALSE, TRUE },
|
||||
#endif
|
||||
|
||||
#ifdef ITALIAN
|
||||
{ "Italian.slf", FALSE, TRUE },
|
||||
#endif
|
||||
|
||||
#ifdef RUSSIAN
|
||||
{ "Russian.slf", FALSE, TRUE },
|
||||
#endif
|
||||
|
||||
#ifdef FRENCH
|
||||
{ "French.slf", FALSE, TRUE },
|
||||
#endif
|
||||
|
||||
#ifdef CHINESE
|
||||
{ "Chinese.slf", FALSE, TRUE },
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
#include "Text.h"
|
||||
#include "Item Statistics.h"
|
||||
|
||||
#include <language.hpp>
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
namespace lang_en {
|
||||
#include "_EnglishText.cpp"
|
||||
#include "_Ja25EnglishText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_de {
|
||||
#include "_GermanText.cpp"
|
||||
#include "_Ja25GermanText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_ru {
|
||||
#include "_RussianText.cpp"
|
||||
#include "_Ja25RussianText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_nl {
|
||||
#include "_DutchText.cpp"
|
||||
#include "_Ja25DutchText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_pl {
|
||||
#include "_PolishText.cpp"
|
||||
#include "_Ja25PolishText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_fr {
|
||||
#include "_FrenchText.cpp"
|
||||
#include "_Ja25FrenchText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_it {
|
||||
#include "_ItalianText.cpp"
|
||||
#include "_Ja25ItalianText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_zh {
|
||||
#include "_ChineseText.cpp"
|
||||
#include "_Ja25ChineseText.cpp"
|
||||
}
|
||||
|
||||
namespace lang_default = lang_en;
|
||||
|
||||
// definitions (default language)
|
||||
#define X(NAME) \
|
||||
std::decay_t<decltype(lang_default::NAME)> NAME = lang_default::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
|
||||
namespace {
|
||||
auto bind_en() -> void {
|
||||
#define X(NAME) NAME = lang_en::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
auto bind_de() -> void {
|
||||
#define X(NAME) NAME = lang_de::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
auto bind_ru() -> void {
|
||||
#define X(NAME) NAME = lang_ru::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
auto bind_nl() -> void {
|
||||
#define X(NAME) NAME = lang_nl::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
auto bind_pl() -> void {
|
||||
#define X(NAME) NAME = lang_pl::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
auto bind_fr() -> void {
|
||||
#define X(NAME) NAME = lang_fr::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
auto bind_it() -> void {
|
||||
#define X(NAME) NAME = lang_it::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
auto bind_zh() -> void {
|
||||
#define X(NAME) NAME = lang_zh::NAME;
|
||||
#include "text.def"
|
||||
#undef X
|
||||
}
|
||||
} // namespace
|
||||
|
||||
auto BindLanguageStrings(i18n::Lang lang) -> void {
|
||||
switch (lang) {
|
||||
case i18n::Lang::en:
|
||||
bind_en();
|
||||
break;
|
||||
case i18n::Lang::de:
|
||||
bind_de();
|
||||
break;
|
||||
case i18n::Lang::ru:
|
||||
bind_ru();
|
||||
break;
|
||||
case i18n::Lang::nl:
|
||||
bind_nl();
|
||||
break;
|
||||
case i18n::Lang::pl:
|
||||
bind_pl();
|
||||
break;
|
||||
case i18n::Lang::fr:
|
||||
bind_fr();
|
||||
break;
|
||||
case i18n::Lang::it:
|
||||
bind_it();
|
||||
break;
|
||||
case i18n::Lang::zh:
|
||||
bind_zh();
|
||||
break;
|
||||
}
|
||||
}
|
||||
+1
-23
@@ -1,20 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("CHINESE")
|
||||
|
||||
#if defined( CHINESE )
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_ChineseText_public_symbol(void){;}
|
||||
|
||||
#if defined( CHINESE )
|
||||
|
||||
/*
|
||||
/*
|
||||
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
@@ -110,10 +94,6 @@ FAST HELP TEXT -- Explains how the syntax of fast help text works.
|
||||
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
|
||||
//Encyclopedia
|
||||
|
||||
@@ -12297,5 +12277,3 @@ STR16 szRobotText[] =
|
||||
L"机器人的额外装甲破坏了!", //L"The robot's extra armour plating was destroyed!",
|
||||
L"机器人附加%s技能效果。", //L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //CHINESE
|
||||
|
||||
+1
-25
@@ -1,22 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("DUTCH")
|
||||
|
||||
#if defined( DUTCH )
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_DutchText_public_symbol(void){;}
|
||||
|
||||
#ifdef DUTCH
|
||||
|
||||
|
||||
|
||||
/*
|
||||
/*
|
||||
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
@@ -112,10 +94,6 @@ FAST HELP TEXT -- Explains how the syntax of fast help text works.
|
||||
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
//Encyclopedia
|
||||
|
||||
STR16 pMenuStrings[] =
|
||||
@@ -12307,5 +12285,3 @@ STR16 szRobotText[] = // TODO: Translate
|
||||
L"The robot's extra armour plating was destroyed!",
|
||||
L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //DUTCH
|
||||
|
||||
+1
-24
@@ -1,20 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("ENGLISH")
|
||||
|
||||
#if defined( ENGLISH )
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_EnglishText_public_symbol(void);
|
||||
|
||||
#if defined( ENGLISH )
|
||||
|
||||
/*
|
||||
/*
|
||||
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
@@ -110,11 +94,6 @@ FAST HELP TEXT -- Explains how the syntax of fast help text works.
|
||||
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
|
||||
//Encyclopedia
|
||||
|
||||
STR16 pMenuStrings[] =
|
||||
@@ -12297,5 +12276,3 @@ STR16 szRobotText[] =
|
||||
L"The robot's extra armour plating was destroyed!",
|
||||
L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //ENGLISH
|
||||
|
||||
+1
-23
@@ -1,20 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("FRENCH")
|
||||
|
||||
#ifdef FRENCH
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_FrenchText_public_symbol(void){;}
|
||||
|
||||
#ifdef FRENCH
|
||||
|
||||
/*
|
||||
/*
|
||||
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
@@ -115,10 +99,6 @@ FAST HELP TEXT -- Explains how the syntax of fast help text works.
|
||||
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
|
||||
//Encyclopedia
|
||||
|
||||
@@ -12289,5 +12269,3 @@ STR16 szRobotText[] = // TODO: Translate
|
||||
L"The robot's extra armour plating was destroyed!",
|
||||
L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //FRENCH
|
||||
|
||||
+1
-24
@@ -1,21 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("GERMAN")
|
||||
|
||||
#ifdef GERMAN
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_GermanText_public_symbol(void){;}
|
||||
|
||||
#ifdef GERMAN
|
||||
|
||||
|
||||
/*
|
||||
/*
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
******************************************************************************************************
|
||||
@@ -134,10 +117,6 @@ Remove any LOOTF comment that has been checked, except maybe for "alt." (alterna
|
||||
07/2010 LootFragg
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
|
||||
//Encyclopedia
|
||||
|
||||
@@ -12212,5 +12191,3 @@ STR16 szRobotText[] = // TODO: Translate
|
||||
L"The robot's extra armour plating was destroyed!",
|
||||
L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //GERMAN
|
||||
|
||||
+1
-23
@@ -1,20 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("ITALIAN")
|
||||
|
||||
#if defined( ITALIAN )
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_ItalianText_public_symbol(void){;}
|
||||
|
||||
#ifdef ITALIAN
|
||||
|
||||
/*
|
||||
/*
|
||||
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
@@ -110,10 +94,6 @@ FAST HELP TEXT -- Explains how the syntax of fast help text works.
|
||||
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
//Encyclopedia
|
||||
|
||||
STR16 pMenuStrings[] =
|
||||
@@ -12298,5 +12278,3 @@ STR16 szRobotText[] = // TODO: Translate
|
||||
L"The robot's extra armour plating was destroyed!",
|
||||
L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //ITALIAN
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("CHINESE")
|
||||
|
||||
#ifdef CHINESE
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25ChineseText_public_symbol(void){;}
|
||||
|
||||
#ifdef CHINESE
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
@@ -524,5 +511,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"隐蔽难度", //L"Stealth difficulty",
|
||||
L"陷阱等级", //L"Trap level",
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+1
-17
@@ -1,17 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("DUTCH")
|
||||
|
||||
#ifdef DUTCH
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25DutchText_public_symbol(void){;}
|
||||
|
||||
#ifdef DUTCH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
@@ -525,6 +512,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("ENGLISH")
|
||||
|
||||
#ifdef ENGLISH
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25EnglishText_public_symbol(void);
|
||||
|
||||
#ifdef ENGLISH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
@@ -524,5 +511,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("FRENCH")
|
||||
|
||||
#ifdef FRENCH
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25FrenchText_public_symbol(void){;}
|
||||
|
||||
#ifdef FRENCH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -525,6 +512,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("GERMAN")
|
||||
|
||||
#ifdef GERMAN
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25GermanText_public_symbol(void){;}
|
||||
|
||||
#ifdef GERMAN
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
@@ -526,6 +513,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("ITALIAN")
|
||||
|
||||
#ifdef ITALIAN
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25ItalianText_public_symbol(void){;}
|
||||
|
||||
#ifdef ITALIAN
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
@@ -523,6 +510,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,18 +1,4 @@
|
||||
// WANNE: This pragma should not be needed anymore for Polish version, after we set the encoding to UTF8
|
||||
// WANNE: Yes we need this here exclusivly in Polish version, because we do not have a codepage in the code like for other versions.
|
||||
//#pragma setlocale("POLISH")
|
||||
|
||||
#ifdef POLISH
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25PolishText_public_symbol(void){;}
|
||||
|
||||
#ifdef POLISH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
@@ -525,6 +511,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("RUSSIAN")
|
||||
|
||||
#ifdef RUSSIAN
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25RussianText_public_symbol(void){;}
|
||||
|
||||
#ifdef RUSSIAN
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
@@ -524,5 +511,3 @@ STR16 gzDisplayCoverText[]=
|
||||
L"Сложность остаться незаметным", //Stealth difficulty
|
||||
L"Уровень ловушки",
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+1
-24
@@ -1,21 +1,4 @@
|
||||
// WANNE: This pragma should not be needed anymore for Polish version, after we set the encoding to UTF8
|
||||
// WANNE: Yes we need this here exclusivly in Polish version, because we do not have a codepage in the code like for other versions.
|
||||
//#pragma setlocale("POLISH")
|
||||
|
||||
#if defined( POLISH )
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_PolishText_public_symbol(void){;}
|
||||
|
||||
#ifdef POLISH
|
||||
|
||||
/*
|
||||
/*
|
||||
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
@@ -111,10 +94,6 @@ FAST HELP TEXT -- Explains how the syntax of fast help text works.
|
||||
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
|
||||
//Encyclopedia
|
||||
|
||||
@@ -12311,5 +12290,3 @@ STR16 szRobotText[] = // TODO: Translate
|
||||
L"The robot's extra armour plating was destroyed!",
|
||||
L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //POLISH
|
||||
|
||||
+1
-23
@@ -1,20 +1,4 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("RUSSIAN")
|
||||
|
||||
#if defined( RUSSIAN )
|
||||
#include "Text.h"
|
||||
#include "FileMan.h"
|
||||
#include "Scheduling.h"
|
||||
#include "EditorMercs.h"
|
||||
#include "Item Statistics.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_RussianText_public_symbol(void){;}
|
||||
|
||||
#ifdef RUSSIAN
|
||||
|
||||
/*
|
||||
/*
|
||||
|
||||
******************************************************************************************************
|
||||
** IMPORTANT TRANSLATION NOTES **
|
||||
@@ -110,10 +94,6 @@ FAST HELP TEXT -- Explains how the syntax of fast help text works.
|
||||
|
||||
*/
|
||||
|
||||
CHAR16 XMLTacticalMessages[1000][MAX_MESSAGE_NAMES_CHARS] =
|
||||
{
|
||||
L"",
|
||||
};
|
||||
|
||||
//Encyclopedia
|
||||
|
||||
@@ -12292,5 +12272,3 @@ STR16 szRobotText[] = // TODO: Translate
|
||||
L"The robot's extra armour plating was destroyed!",
|
||||
L"The robot gains the benefit of the %s skill trait.",
|
||||
};
|
||||
|
||||
#endif //RUSSIAN
|
||||
|
||||
@@ -30,30 +30,6 @@
|
||||
LIBRARY_LOADSCREENS,
|
||||
LIBRARY_INTRO,
|
||||
|
||||
#ifdef GERMAN
|
||||
LIBRARY_GERMAN_DATA,
|
||||
#endif
|
||||
|
||||
#ifdef DUTCH
|
||||
LIBRARY_DUTCH_DATA,
|
||||
#endif
|
||||
|
||||
#ifdef POLISH
|
||||
LIBRARY_POLISH_DATA,
|
||||
#endif
|
||||
|
||||
#ifdef ITALIAN
|
||||
LIBRARY_ITALIAN_DATA,
|
||||
#endif
|
||||
|
||||
#ifdef RUSSIAN
|
||||
LIBRARY_RUSSIAN_DATA,
|
||||
#endif
|
||||
|
||||
#ifdef FRENCH
|
||||
LIBRARY_FRENCH_DATA,
|
||||
#endif
|
||||
|
||||
NUMBER_OF_LIBRARIES
|
||||
};
|
||||
|
||||
|
||||
@@ -7,30 +7,6 @@
|
||||
|
||||
namespace Loc
|
||||
{
|
||||
enum Language
|
||||
{
|
||||
Chinese,
|
||||
Dutch,
|
||||
English,
|
||||
French,
|
||||
German,
|
||||
Italian,
|
||||
Polish,
|
||||
Russian,
|
||||
};
|
||||
|
||||
static const wchar_t* LangSuffix [] = {
|
||||
L"_cn",
|
||||
L"_nl",
|
||||
L"_en",
|
||||
L"_fr",
|
||||
L"_de",
|
||||
L"_it",
|
||||
L"_pl",
|
||||
L"_ru",
|
||||
L"_tw",
|
||||
};
|
||||
|
||||
enum Topic
|
||||
{
|
||||
AIM_BIOGRAPHY,
|
||||
+489
-504
File diff suppressed because it is too large
Load Diff
@@ -1,49 +1,49 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
extern STR16* gzIMPSkillTraitsText;
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
extern STR16* gzIMPSkillTraitsTextNewMajor;
|
||||
extern STR16* gzIMPSkillTraitsTextNewMinor;
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsAutoWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsHeavyWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSniper;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRanger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsGunslinger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsMartialArts;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSquadleader;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsTechnician;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsDoctor;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsCovertOps; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRadioOperator; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAmbidextrous;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsMelee;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsThrowing;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsStealthy;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNightOps;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAthletics;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsBodybuilding;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsDemolitions;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsTeaching;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsScouting;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsSnitch;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSurvival; // added by Flugente
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
extern STR16* gzIMPOldSkillTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
extern STR16* gzIMPNewCharacterTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
extern STR16* gzIMPDisabilitiesHelpTexts;
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
extern STR16* gzIMPProfileCostText;
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
extern STR16* zGioNewTraitsImpossibleText;
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
@@ -52,7 +52,7 @@ enum
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
extern STR16* gzIronManModeWarningText;
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
@@ -80,7 +80,7 @@ enum
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
extern STR16* gzDisplayCoverText;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
extern STR16* gzIMPSkillTraitsText;
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
extern STR16* gzIMPSkillTraitsTextNewMajor;
|
||||
extern STR16* gzIMPSkillTraitsTextNewMinor;
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsAutoWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsHeavyWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSniper;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRanger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsGunslinger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsMartialArts;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSquadleader;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsTechnician;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsDoctor;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsCovertOps; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRadioOperator; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAmbidextrous;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsMelee;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsThrowing;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsStealthy;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNightOps;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAthletics;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsBodybuilding;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsDemolitions;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsTeaching;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsScouting;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsSnitch;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSurvival; // added by Flugente
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
extern STR16* gzIMPOldSkillTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
extern STR16* gzIMPNewCharacterTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
extern STR16* gzIMPDisabilitiesHelpTexts;
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
extern STR16* gzIMPProfileCostText;
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
extern STR16* zGioNewTraitsImpossibleText;
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
@@ -52,7 +52,7 @@ enum
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
extern STR16* gzIronManModeWarningText;
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
@@ -81,7 +81,7 @@ enum
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
extern STR16* gzDisplayCoverText;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
extern STR16* gzIMPSkillTraitsText;
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
extern STR16* gzIMPSkillTraitsTextNewMajor;
|
||||
extern STR16* gzIMPSkillTraitsTextNewMinor;
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsAutoWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsHeavyWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSniper;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRanger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsGunslinger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsMartialArts;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSquadleader;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsTechnician;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsDoctor;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsCovertOps; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRadioOperator; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAmbidextrous;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsMelee;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsThrowing;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsStealthy;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNightOps;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAthletics;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsBodybuilding;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsDemolitions;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsTeaching;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsScouting;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsSnitch;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSurvival; // added by Flugente
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
extern STR16* gzIMPOldSkillTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
extern STR16* gzIMPNewCharacterTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
extern STR16* gzIMPDisabilitiesHelpTexts;
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
extern STR16* gzIMPProfileCostText;
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
extern STR16* zGioNewTraitsImpossibleText;
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
@@ -52,7 +52,7 @@ enum
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
extern STR16* gzIronManModeWarningText;
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
@@ -80,7 +80,7 @@ enum
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
extern STR16* gzDisplayCoverText;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
#ifndef _JA25GERMANTEXT__H_
|
||||
#ifndef _JA25GERMANTEXT__H_
|
||||
#define _JA25GERMANTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
extern STR16* gzIMPSkillTraitsText;
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
extern STR16* gzIMPSkillTraitsTextNewMajor;
|
||||
extern STR16* gzIMPSkillTraitsTextNewMinor;
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsAutoWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsHeavyWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSniper;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRanger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsGunslinger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsMartialArts;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSquadleader;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsTechnician;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsDoctor;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsCovertOps; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRadioOperator; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAmbidextrous;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsMelee;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsThrowing;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsStealthy;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNightOps;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAthletics;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsBodybuilding;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsDemolitions;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsTeaching;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsScouting;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsSnitch;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSurvival; // added by Flugente
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
extern STR16* gzIMPOldSkillTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
extern STR16* gzIMPNewCharacterTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
extern STR16* gzIMPDisabilitiesHelpTexts;
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
extern STR16* gzIMPProfileCostText;
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
extern STR16* zGioNewTraitsImpossibleText;
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
@@ -52,7 +52,7 @@ enum
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
extern STR16* gzIronManModeWarningText;
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
@@ -80,7 +80,7 @@ enum
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
extern STR16* gzDisplayCoverText;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
extern STR16* gzIMPSkillTraitsText;
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
extern STR16* gzIMPSkillTraitsTextNewMajor;
|
||||
extern STR16* gzIMPSkillTraitsTextNewMinor;
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsAutoWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsHeavyWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSniper;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRanger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsGunslinger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsMartialArts;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSquadleader;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsTechnician;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsDoctor;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsCovertOps; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRadioOperator; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAmbidextrous;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsMelee;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsThrowing;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsStealthy;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNightOps;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAthletics;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsBodybuilding;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsDemolitions;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsTeaching;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsScouting;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsSnitch;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSurvival; // added by Flugente
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
extern STR16* gzIMPOldSkillTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
extern STR16* gzIMPNewCharacterTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
extern STR16* gzIMPDisabilitiesHelpTexts;
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
extern STR16* gzIMPProfileCostText;
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
extern STR16* zGioNewTraitsImpossibleText;
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
@@ -52,7 +52,7 @@ enum
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
extern STR16* gzIronManModeWarningText;
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
@@ -80,7 +80,7 @@ enum
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
extern STR16* gzDisplayCoverText;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
extern STR16* gzIMPSkillTraitsText;
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
extern STR16* gzIMPSkillTraitsTextNewMajor;
|
||||
extern STR16* gzIMPSkillTraitsTextNewMinor;
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsAutoWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsHeavyWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSniper;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRanger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsGunslinger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsMartialArts;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSquadleader;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsTechnician;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsDoctor;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsCovertOps; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRadioOperator; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAmbidextrous;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsMelee;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsThrowing;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsStealthy;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNightOps;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAthletics;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsBodybuilding;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsDemolitions;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsTeaching;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsScouting;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsSnitch;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSurvival; // added by Flugente
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
extern STR16* gzIMPOldSkillTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
extern STR16* gzIMPNewCharacterTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
extern STR16* gzIMPDisabilitiesHelpTexts;
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
extern STR16* gzIMPProfileCostText;
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
extern STR16* zGioNewTraitsImpossibleText;
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
@@ -52,7 +52,7 @@ enum
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
extern STR16* gzIronManModeWarningText;
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
@@ -80,7 +80,7 @@ enum
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
extern STR16* gzDisplayCoverText;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
extern STR16* gzIMPSkillTraitsText;
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
extern STR16* gzIMPSkillTraitsTextNewMajor;
|
||||
extern STR16* gzIMPSkillTraitsTextNewMinor;
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsAutoWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsHeavyWeapons;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSniper;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRanger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsGunslinger;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsMartialArts;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSquadleader;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsTechnician;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsDoctor;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsCovertOps; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsRadioOperator; // added by Flugente
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAmbidextrous;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsMelee;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsThrowing;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsStealthy;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNightOps;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsAthletics;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsBodybuilding;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsDemolitions;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsTeaching;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsScouting;
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsSnitch;
|
||||
extern STR16* gzIMPMajorTraitsHelpTextsSurvival; // added by Flugente
|
||||
extern STR16* gzIMPMinorTraitsHelpTextsNone;
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
extern STR16* gzIMPOldSkillTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
extern STR16* gzIMPNewCharacterTraitsHelpTexts;
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
extern STR16* gzIMPDisabilitiesHelpTexts;
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
extern STR16* gzIMPProfileCostText;
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
extern STR16* zGioNewTraitsImpossibleText;
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
@@ -52,7 +52,7 @@ enum
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
extern STR16* gzIronManModeWarningText;
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
@@ -80,7 +80,7 @@ enum
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
extern STR16* gzDisplayCoverText;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
#include <types.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace i18n {
|
||||
enum class Lang
|
||||
{
|
||||
@@ -16,8 +18,19 @@ enum class Lang
|
||||
};
|
||||
}
|
||||
|
||||
extern const i18n::Lang g_lang;
|
||||
extern i18n::Lang g_lang;
|
||||
|
||||
extern const int MAX_MESSAGES_ON_MAP_BOTTOM;
|
||||
/* Parses a LANGUAGE ini value (ENGLISH/GERMAN/...) into i18n::Lang; falls back
|
||||
* to the build's compiled-in default (and logs) on unknown input. Called once
|
||||
* at startup. */
|
||||
auto SetLanguageFromName(std::string const& name) -> void;
|
||||
|
||||
extern int MAX_MESSAGES_ON_MAP_BOTTOM;
|
||||
|
||||
auto GetLanguagePrefix() -> const STR;
|
||||
|
||||
/* Rebinds every language table's global pointer to the given language's
|
||||
* namespace (see LanguageStrings.cpp). Called once at startup, right after
|
||||
* the LANGUAGE ini key resolves g_lang (sgp.cpp GetRuntimeSettings), before
|
||||
* any UI reads a string. */
|
||||
auto BindLanguageStrings(i18n::Lang lang) -> void;
|
||||
|
||||
+49
-48
@@ -1,54 +1,55 @@
|
||||
#include <language.hpp>
|
||||
#include "DEBUG.H"
|
||||
|
||||
/* FIXME: The ugliest of ugly hacks. Getting rid of this and letting language
|
||||
* (ideally text and voice separately) be set in the options menu would be
|
||||
* ideal. */
|
||||
const i18n::Lang g_lang{
|
||||
#if defined(ENGLISH)
|
||||
i18n::Lang::en
|
||||
#elif defined(CHINESE)
|
||||
i18n::Lang::zh
|
||||
#elif defined(DUTCH)
|
||||
i18n::Lang::nl
|
||||
#elif defined(FRENCH)
|
||||
i18n::Lang::fr
|
||||
#elif defined(GERMAN)
|
||||
i18n::Lang::de
|
||||
#elif defined(ITALIAN)
|
||||
i18n::Lang::it
|
||||
#elif defined(POLISH)
|
||||
i18n::Lang::pl
|
||||
#elif defined(RUSSIAN)
|
||||
i18n::Lang::ru
|
||||
#endif
|
||||
};
|
||||
namespace {
|
||||
constexpr auto RowsForLang(i18n::Lang lang) -> int {
|
||||
return lang == i18n::Lang::zh ? 6 : 9;
|
||||
}
|
||||
constexpr i18n::Lang kBuildDefaultLang = i18n::Lang::en;
|
||||
constexpr int kBuildDefaultMaxMessagesOnMapBottom = RowsForLang(kBuildDefaultLang);
|
||||
} // namespace
|
||||
|
||||
const int MAX_MESSAGES_ON_MAP_BOTTOM{
|
||||
#if defined(CHINESE) // zwwoooooo: Chinese fonts relatively high , so to reduce the number of rows
|
||||
6
|
||||
#else
|
||||
9
|
||||
#endif
|
||||
};
|
||||
i18n::Lang g_lang = kBuildDefaultLang;
|
||||
int MAX_MESSAGES_ON_MAP_BOTTOM = kBuildDefaultMaxMessagesOnMapBottom;
|
||||
|
||||
auto ApplyLang(i18n::Lang lang = kBuildDefaultLang ) {
|
||||
MAX_MESSAGES_ON_MAP_BOTTOM = RowsForLang(lang);
|
||||
g_lang = lang;
|
||||
}
|
||||
|
||||
auto SetLanguageFromName(std::string const& name) -> void {
|
||||
static const struct { const STR name; i18n::Lang lang; } table[] = {
|
||||
{ "ENGLISH", i18n::Lang::en },
|
||||
{ "GERMAN", i18n::Lang::de },
|
||||
{ "RUSSIAN", i18n::Lang::ru },
|
||||
{ "DUTCH", i18n::Lang::nl },
|
||||
{ "POLISH", i18n::Lang::pl },
|
||||
{ "FRENCH", i18n::Lang::fr },
|
||||
{ "ITALIAN", i18n::Lang::it },
|
||||
{ "CHINESE", i18n::Lang::zh },
|
||||
};
|
||||
|
||||
for (auto const& entry : table) {
|
||||
if (_stricmp(name.c_str(), entry.name) == 0) {
|
||||
ApplyLang(entry.lang);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
ApplyLang();
|
||||
FastDebugMsg(String("SetLanguageFromName: unknown LANGUAGE value '%s', keeping build default", name.c_str()));
|
||||
}
|
||||
|
||||
auto GetLanguagePrefix() -> const STR {
|
||||
return
|
||||
#if defined(ENGLISH)
|
||||
""
|
||||
#elif defined(CHINESE)
|
||||
"Chinese."
|
||||
#elif defined(DUTCH)
|
||||
"Dutch."
|
||||
#elif defined(FRENCH)
|
||||
"French."
|
||||
#elif defined(GERMAN)
|
||||
"German."
|
||||
#elif defined(ITALIAN)
|
||||
"Italian."
|
||||
#elif defined(POLISH)
|
||||
"Polish."
|
||||
#elif defined(RUSSIAN)
|
||||
"Russian."
|
||||
#endif
|
||||
;
|
||||
switch (g_lang) {
|
||||
case i18n::Lang::en: return "";
|
||||
case i18n::Lang::de: return "German.";
|
||||
case i18n::Lang::ru: return "Russian.";
|
||||
case i18n::Lang::nl: return "Dutch.";
|
||||
case i18n::Lang::pl: return "Polish.";
|
||||
case i18n::Lang::fr: return "French.";
|
||||
case i18n::Lang::it: return "Italian.";
|
||||
case i18n::Lang::zh: return "Chinese.";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
+519
@@ -0,0 +1,519 @@
|
||||
X(pMenuStrings)
|
||||
X(pLocationPageText)
|
||||
X(pSectorPageText)
|
||||
X(pEncyclopediaHelpText)
|
||||
X(pEncyclopediaTypeText)
|
||||
X(pEncyclopediaSkrotyText)
|
||||
X(pEncyclopediaFilterLocationText)
|
||||
X(pEncyclopediaSubFilterLocationText)
|
||||
X(pEncyclopediaFilterCharText)
|
||||
X(pEncyclopediaSubFilterCharText)
|
||||
X(pEncyclopediaFilterItemText)
|
||||
X(pEncyclopediaSubFilterItemText)
|
||||
X(pEncyclopediaFilterQuestText)
|
||||
X(pEncyclopediaSubFilterQuestText)
|
||||
X(pEncyclopediaShortCharacterText)
|
||||
X(pEncyclopediaHelpCharacterText)
|
||||
X(pEncyclopediaShortInventoryText)
|
||||
X(BoxFilter)
|
||||
X(pOtherButtonsText)
|
||||
X(pOtherButtonsHelpText)
|
||||
X(QuestDescText)
|
||||
X(FactDescText)
|
||||
X(iEditorItemStatsButtonsText)
|
||||
X(FaceDirs)
|
||||
X(iEditorMercsToolbarText)
|
||||
X(iEditorBuildingsToolbarText)
|
||||
X(iEditorItemsToolbarText)
|
||||
X(iEditorMapInfoToolbarText)
|
||||
X(iEditorOptionsToolbarText)
|
||||
X(iEditorTerrainToolbarText)
|
||||
X(iEditorTaskbarInternalText)
|
||||
X(iRenderMapEntryPointsAndLightsText)
|
||||
X(iBuildTriggerNameText)
|
||||
X(iRenderDoorLockInfoText)
|
||||
X(iRenderEditorInfoText)
|
||||
X(iUpdateBuildingsInfoText)
|
||||
X(iRenderDoorEditingWindowText)
|
||||
X(pInitEditorItemsInfoText)
|
||||
X(pDisplayItemStatisticsTex)
|
||||
X(pUpdateMapInfoText)
|
||||
X(gszScheduleActions)
|
||||
X(zDiffNames)
|
||||
X(EditMercStat)
|
||||
X(EditMercOrders)
|
||||
X(EditMercAttitudes)
|
||||
X(pDisplayEditMercWindowText)
|
||||
X(pCreateEditMercWindowText)
|
||||
X(pDisplayBodyTypeInfoText)
|
||||
X(pUpdateMercsInfoText)
|
||||
X(pRenderMercStringsText)
|
||||
X(pClearCurrentScheduleText)
|
||||
X(pCopyMercPlacementText)
|
||||
X(pPasteMercPlacementText)
|
||||
X(pEditModeShutdownText)
|
||||
X(pHandleKeyboardShortcutsText)
|
||||
X(pPerformSelectedActionText)
|
||||
X(pWaitForHelpScreenResponseText)
|
||||
X(pAutoLoadMapText)
|
||||
X(pShowHighGroundText)
|
||||
X(pUpdateItemStatsPanelText)
|
||||
X(pSetupGameTypeFlagsText)
|
||||
X(pSetupGunGUIText)
|
||||
X(pSetupArmourGUIText)
|
||||
X(pSetupExplosivesGUIText)
|
||||
X(pSetupTriggersGUIText)
|
||||
X(pCreateSummaryWindowText)
|
||||
X(pRenderSectorInformationText)
|
||||
X(pRenderItemDetailsText)
|
||||
X(pRenderSummaryWindowText)
|
||||
X(pUpdateSectorSummaryText)
|
||||
X(pSummaryLoadMapCallbackText)
|
||||
X(pReportErrorText)
|
||||
X(pRegenerateSummaryInfoForAllOutdatedMapsText)
|
||||
X(pSummaryUpdateCallbackText)
|
||||
X(pApologizeOverrideAndForceUpdateEverythingText)
|
||||
X(pDisplaySelectionWindowGraphicalInformationText)
|
||||
X(pDisplaySelectionWindowButtonText)
|
||||
X(wszSelType)
|
||||
X(gzNewLaptopMessages)
|
||||
X(zNewTacticalMessages)
|
||||
X(gszAimPages)
|
||||
X(zGrod)
|
||||
X(pCreditsJA2113)
|
||||
X(ShortItemNames)
|
||||
X(ItemNames)
|
||||
X(AmmoCaliber)
|
||||
X(BobbyRayAmmoCaliber)
|
||||
X(WeaponType)
|
||||
X(Message)
|
||||
X(TeamTurnString)
|
||||
X(pMilitiaControlMenuStrings)
|
||||
X(pTraitSkillsMenuStrings)
|
||||
X(pTraitSkillsMenuDescStrings)
|
||||
X(pTraitSkillsDenialStrings)
|
||||
X(pSkillMenuStrings)
|
||||
X(pSnitchMenuStrings)
|
||||
X(pSnitchMenuDescStrings)
|
||||
X(pSnitchToggleMenuStrings)
|
||||
X(pSnitchToggleMenuDescStrings)
|
||||
X(pSnitchSectorMenuStrings)
|
||||
X(pSnitchSectorMenuDescStrings)
|
||||
X(pPrisonerMenuStrings)
|
||||
X(pPrisonerMenuDescStrings)
|
||||
X(pSnitchPrisonExposedStrings)
|
||||
X(pSnitchGatheringRumoursResultStrings)
|
||||
X(pAssignMenuStrings)
|
||||
X(pTrainingStrings)
|
||||
X(pTrainingMenuStrings)
|
||||
X(pAttributeMenuStrings)
|
||||
X(pVehicleStrings)
|
||||
X(pShortAttributeStrings)
|
||||
X(pLongAttributeStrings)
|
||||
X(pContractStrings)
|
||||
X(pAssignmentStrings)
|
||||
X(pConditionStrings)
|
||||
X(pCountryNames)
|
||||
X(pTownNames)
|
||||
X(pPersonnelScreenStrings)
|
||||
X(pPersonnelRecordsHelpTexts)
|
||||
X(pPersonnelTitle)
|
||||
X(pUpperLeftMapScreenStrings)
|
||||
X(pTacticalPopupButtonStrings)
|
||||
X(pSquadMenuStrings)
|
||||
X(pDoorTrapStrings)
|
||||
X(pLongAssignmentStrings)
|
||||
X(pContractExtendStrings)
|
||||
X(pMapScreenMouseRegionHelpText)
|
||||
X(pPersonnelAssignmentStrings)
|
||||
X(pNoiseVolStr)
|
||||
X(pNoiseTypeStr)
|
||||
X(pDirectionStr)
|
||||
X(pRemoveMercStrings)
|
||||
X(sTimeStrings)
|
||||
X(pLandTypeStrings)
|
||||
X(pGuardMenuStrings)
|
||||
X(pOtherGuardMenuStrings)
|
||||
X(pInvPanelTitleStrings)
|
||||
X(pPOWStrings)
|
||||
X(pMilitiaString)
|
||||
X(pMilitiaButtonString)
|
||||
X(pEpcMenuStrings)
|
||||
X(pRepairStrings)
|
||||
X(sPreStatBuildString)
|
||||
X(sStatGainStrings)
|
||||
X(pHelicopterEtaStrings)
|
||||
X(pHelicopterRepairRefuelStrings)
|
||||
X(sMapLevelString)
|
||||
X(gsLoyalString)
|
||||
X(gsUndergroundString)
|
||||
X(gsTimeStrings)
|
||||
X(sFacilitiesStrings)
|
||||
X(pMapPopUpInventoryText)
|
||||
X(pwTownInfoStrings)
|
||||
X(pwMineStrings)
|
||||
X(pwMiscSectorStrings)
|
||||
X(pMapInventoryErrorString)
|
||||
X(pMapInventoryStrings)
|
||||
X(pMapScreenFastHelpTextList)
|
||||
X(pMovementMenuStrings)
|
||||
X(pUpdateMercStrings)
|
||||
X(pMapScreenBorderButtonHelpText)
|
||||
X(pMapScreenInvenButtonHelpText)
|
||||
X(pMapScreenBottomFastHelp)
|
||||
X(pMapScreenBottomText)
|
||||
X(pMercDeadString)
|
||||
X(pSenderNameList)
|
||||
X(pTraverseStrings)
|
||||
X(pNewMailStrings)
|
||||
X(pDeleteMailStrings)
|
||||
X(pEmailHeaders)
|
||||
X(pEmailTitleText)
|
||||
X(pFinanceTitle)
|
||||
X(pFinanceSummary)
|
||||
X(pFinanceHeaders)
|
||||
X(pTransactionText)
|
||||
X(pTransactionAlternateText)
|
||||
X(pMoralStrings)
|
||||
X(pSkyriderText)
|
||||
X(pLeftEquipmentString)
|
||||
X(pMapScreenStatusStrings)
|
||||
X(pMapScreenPrevNextCharButtonHelpText)
|
||||
X(pEtaString)
|
||||
X(pShortVehicleStrings)
|
||||
X(pTrashItemText)
|
||||
X(pMapErrorString)
|
||||
X(pMapPlotStrings)
|
||||
X(pMiscMapScreenMouseRegionHelpText)
|
||||
X(pMercHeLeaveString)
|
||||
X(pMercSheLeaveString)
|
||||
X(pImpPopUpStrings)
|
||||
X(pImpButtonText)
|
||||
X(pExtraIMPStrings)
|
||||
X(pDayStrings)
|
||||
X(pMercContractOverStrings)
|
||||
X(pFilesTitle)
|
||||
X(pFilesSenderList)
|
||||
X(pHistoryLocations)
|
||||
X(pHistoryHeaders)
|
||||
X(pHistoryTitle)
|
||||
X(pShowBookmarkString)
|
||||
X(pWebPagesTitles)
|
||||
X(pWebTitle)
|
||||
X(pPersonnelString)
|
||||
X(pErrorStrings)
|
||||
X(pDownloadString)
|
||||
X(pBookmarkTitle)
|
||||
X(pBookMarkStrings)
|
||||
X(pLaptopIcons)
|
||||
X(gsAtmStartButtonText)
|
||||
X(pPersonnelTeamStatsStrings)
|
||||
X(pPersonnelCurrentTeamStatsStrings)
|
||||
X(pPersonelTeamStrings)
|
||||
X(pPersonnelDepartedStateStrings)
|
||||
X(pMapHortIndex)
|
||||
X(pMapVertIndex)
|
||||
X(pMapDepthIndex)
|
||||
X(pLaptopTitles)
|
||||
X(pMilitiaConfirmStrings)
|
||||
X(pDeliveryLocationStrings)
|
||||
X(pSkillAtZeroWarning)
|
||||
X(pIMPBeginScreenStrings)
|
||||
X(pIMPFinishButtonText)
|
||||
X(pIMPFinishStrings)
|
||||
X(pIMPVoicesStrings)
|
||||
X(pDepartedMercPortraitStrings)
|
||||
X(pPersTitleText)
|
||||
X(pPausedGameText)
|
||||
X(zOptionsToggleText)
|
||||
X(zOptionsScreenHelpText)
|
||||
X(pDoctorWarningString)
|
||||
X(pMilitiaButtonsHelpText)
|
||||
X(pMapScreenJustStartedHelpText)
|
||||
X(pLandMarkInSectorString)
|
||||
X(gzMercSkillText)
|
||||
X(gzMercSkillTextNew)
|
||||
X(gzNonPersistantPBIText)
|
||||
X(gzMiscString)
|
||||
X(pBullseyeStrings)
|
||||
X(wMapScreenSortButtonHelpText)
|
||||
X(pNewNoiseStr)
|
||||
X(pTauntUnknownVoice)
|
||||
X(gzLateLocalizedString)
|
||||
X(gzCWStrings)
|
||||
X(gzTooltipStrings)
|
||||
X(pSkillTraitBeginIMPStrings)
|
||||
X(sgAttributeSelectionText)
|
||||
X(pCharacterTraitBeginIMPStrings)
|
||||
X(gzIMPCharacterTraitText)
|
||||
X(gzIMPAttitudesText)
|
||||
X(gzIMPColorChoosingText)
|
||||
X(sColorChoiceExplanationTexts)
|
||||
X(gzIMPDisabilityTraitText)
|
||||
X(gzIMPDisabilityTraitEmailTextDeaf)
|
||||
X(gzIMPDisabilityTraitEmailTextShortSighted)
|
||||
X(gzIMPDisabilityTraitEmailTextHemophiliac)
|
||||
X(gzIMPDisabilityTraitEmailTextAfraidOfHeights)
|
||||
X(gzIMPDisabilityTraitEmailTextSelfHarm)
|
||||
X(sEnemyTauntsFireGun)
|
||||
X(sEnemyTauntsFireLauncher)
|
||||
X(sEnemyTauntsThrow)
|
||||
X(sEnemyTauntsChargeKnife)
|
||||
X(sEnemyTauntsRunAway)
|
||||
X(sEnemyTauntsSeekNoise)
|
||||
X(sEnemyTauntsAlert)
|
||||
X(sEnemyTauntsGotHit)
|
||||
X(sEnemyTauntsNoticedMerc)
|
||||
X(sSpecialCharacters)
|
||||
X(gzFacilityErrorMessage)
|
||||
X(gzFacilityAssignmentStrings)
|
||||
X(gzFacilityRiskResultStrings)
|
||||
X(gzNCTHlabels)
|
||||
X(gzMapInventorySortingMessage)
|
||||
X(gzMapInventoryFilterOptions)
|
||||
X(gzMercCompare)
|
||||
X(pAntiHackerString)
|
||||
X(pMessageStrings)
|
||||
X(gzMoneyAmounts)
|
||||
X(gzProsLabel)
|
||||
X(gzConsLabel)
|
||||
X(gzItemDescTabButtonText)
|
||||
X(gzItemDescTabButtonShortText)
|
||||
X(gzItemDescGenHeaders)
|
||||
X(gzItemDescGenIndexes)
|
||||
X(gConditionDesc)
|
||||
X(gTemperatureDesc)
|
||||
X(gFoodDesc)
|
||||
X(gzWeaponStatsFasthelpTactical)
|
||||
X(gzMiscItemStatsFasthelp)
|
||||
X(gzUDBButtonTooltipText)
|
||||
X(gzUDBHeaderTooltipText)
|
||||
X(gzUDBGenIndexTooltipText)
|
||||
X(gzUDBAdvIndexTooltipText)
|
||||
X(szUDBGenWeaponsStatsTooltipText)
|
||||
X(szUDBGenWeaponsStatsExplanationsTooltipText)
|
||||
X(szUDBGenArmorStatsTooltipText)
|
||||
X(szUDBGenArmorStatsExplanationsTooltipText)
|
||||
X(szUDBGenAmmoStatsTooltipText)
|
||||
X(szUDBGenAmmoStatsExplanationsTooltipText)
|
||||
X(szUDBGenExplosiveStatsTooltipText)
|
||||
X(szUDBGenExplosiveStatsExplanationsTooltipText)
|
||||
X(szUDBGenCommonStatsTooltipText)
|
||||
X(szUDBGenCommonStatsExplanationsTooltipText)
|
||||
X(szUDBGenSecondaryStatsTooltipText)
|
||||
X(szUDBGenSecondaryStatsExplanationsTooltipText)
|
||||
X(szUDBAdvStatsTooltipText)
|
||||
X(szUDBAdvStatsExplanationsTooltipText)
|
||||
X(szUDBAdvStatsExplanationsTooltipTextForWeapons)
|
||||
X(sKeyDescriptionStrings)
|
||||
X(gzHiddenHitCountStr)
|
||||
X(zVehicleName)
|
||||
X(pVehicleSeatsStrings)
|
||||
X(szCovertTextStr)
|
||||
X(gPowerPackDesc)
|
||||
X(szCorpseTextStr)
|
||||
X(szFoodTextStr)
|
||||
X(szPrisonerTextStr)
|
||||
X(szMTATextStr)
|
||||
X(szInventoryArmTextStr)
|
||||
X(pExitingSectorHelpText)
|
||||
X(InsContractText)
|
||||
X(InsInfoText)
|
||||
X(MercAccountText)
|
||||
X(MercAccountPageText)
|
||||
X(MercInfo)
|
||||
X(MercNoAccountText)
|
||||
X(MercHomePageText)
|
||||
X(sFuneralString)
|
||||
X(sFloristText)
|
||||
X(sOrderFormText)
|
||||
X(sFloristGalleryText)
|
||||
X(sFloristCards)
|
||||
X(BobbyROrderFormText)
|
||||
X(BobbyRText)
|
||||
X(BobbyRFilter)
|
||||
X(BobbyRaysFrontText)
|
||||
X(AimSortText)
|
||||
X(AimPolicyText)
|
||||
X(AimMemberText)
|
||||
X(CharacterInfo)
|
||||
X(VideoConfercingText)
|
||||
X(AimPopUpText)
|
||||
X(AimLinkText)
|
||||
X(AimHistoryText)
|
||||
X(AimFiText)
|
||||
X(AimAlumniText)
|
||||
X(AimScreenText)
|
||||
X(AimBottomMenuText)
|
||||
X(zMarksMapScreenText)
|
||||
X(gpStrategicString)
|
||||
X(gpGameClockString)
|
||||
X(SKI_Text)
|
||||
X(SkiAtmText)
|
||||
X(gzSkiAtmText)
|
||||
X(SkiMessageBoxText)
|
||||
X(zSaveLoadText)
|
||||
X(zOptionsText)
|
||||
X(z113FeaturesScreenText)
|
||||
X(z113FeaturesToggleText)
|
||||
X(z113FeaturesHelpText)
|
||||
X(z113FeaturesPanelText)
|
||||
X(gzGIOScreenText)
|
||||
X(gzMPJHelpText)
|
||||
X(gzMPJScreenText)
|
||||
X(gzMPHScreenText)
|
||||
X(gzMPSScreenText)
|
||||
X(gzMPCScreenText)
|
||||
X(gszMPEdgesText)
|
||||
X(gszMPTeamNames)
|
||||
X(gzMPChatToggleText)
|
||||
X(gzMPChatboxText)
|
||||
X(gzHelpScreenText)
|
||||
X(gzLaptopHelpText)
|
||||
X(gzMoneyWithdrawMessageText)
|
||||
X(gzCopyrightText)
|
||||
X(BrokenLinkText)
|
||||
X(gzBobbyRShipmentText)
|
||||
X(zGioDifConfirmText)
|
||||
X(gzCreditNames)
|
||||
X(gzCreditNameTitle)
|
||||
X(gzCreditNameFunny)
|
||||
X(New113Message)
|
||||
X(New113MERCMercMailTexts)
|
||||
X(MissingIMPSkillsDescriptions)
|
||||
X(New113AIMMercMailTexts)
|
||||
X(New113HAMMessage)
|
||||
X(gzTransformationMessage)
|
||||
X(NewInvMessage)
|
||||
X(MPServerMessage)
|
||||
X(MPClientMessage)
|
||||
X(gszMPMapscreenText)
|
||||
X(Additional113Text)
|
||||
X(ranks)
|
||||
X(gszPocketPopupText)
|
||||
X(gLbeStatsDesc)
|
||||
X(szBackgroundText_Flags)
|
||||
X(szBackgroundText_Value)
|
||||
X(szSoldierClassName)
|
||||
X(szBackgroundTitleText)
|
||||
X(szPersonalityTitleText)
|
||||
X(szPersonalityDisplayText)
|
||||
X(szPersonalityHelpText)
|
||||
X(szRaceText)
|
||||
X(szAppearanceText)
|
||||
X(szRefinementText)
|
||||
X(szRefinementTextTypes)
|
||||
X(szNationalityText)
|
||||
X(szNationalityTextAdjective)
|
||||
X(szNationalityText_Special)
|
||||
X(szCareLevelText)
|
||||
X(szRacistText)
|
||||
X(szSexistText)
|
||||
X(szCampaignHistoryWebSite)
|
||||
X(szCampaignHistoryDetail)
|
||||
X(szCampaignHistoryTimeString)
|
||||
X(szCampaignHistoryMoneyTypeString)
|
||||
X(szCampaignHistoryConsumptionTypeString)
|
||||
X(szCampaignHistoryResultString)
|
||||
X(szCampaignHistoryImportanceString)
|
||||
X(szCampaignHistoryWebpageString)
|
||||
X(szCampaignStatsOperationPrefix)
|
||||
X(szCampaignStatsOperationSuffix)
|
||||
X(szMercCompareWebSite)
|
||||
X(szMercCompareEventText)
|
||||
X(szWHOWebSite)
|
||||
X(szPMCWebSite)
|
||||
X(szTacticalInventoryDialogString)
|
||||
X(szTacticalCoverDialogString)
|
||||
X(szTacticalCoverDialogPrintString)
|
||||
X(szDynamicDialogueText_DOST_VICTIM_TO_INTERJECTOR_DENY)
|
||||
X(szDynamicDialogueText_DOST_VICTIM_TO_INTERJECTOR_AGREE)
|
||||
X(szDynamicDialogueText_DOST_SIDEWITH_VICTIM)
|
||||
X(szDynamicDialogueText_DOST_SIDEWITH_CAUSE)
|
||||
X(szDynamicDialogueText_DOST_INTERJECTOR_DIALOGUESELECTION_SHORTTEXT)
|
||||
X(szDynamicDialogueText_GenderText)
|
||||
X(szDiseaseText)
|
||||
X(szSpyText)
|
||||
X(szFoodText)
|
||||
X(szIMPGearWebSiteText)
|
||||
X(szIMPGearPocketText)
|
||||
X(szMilitiaStrategicMovementText)
|
||||
X(szEnemyHeliText)
|
||||
X(szFortificationText)
|
||||
X(szMilitiaWebSite)
|
||||
X(szIndividualMilitiaBattleReportText)
|
||||
X(szIndividualMilitiaTraitRequirements)
|
||||
X(szIdividualMilitiaWebsiteText)
|
||||
X(szIdividualMilitiaWebsiteFilterText_Dead)
|
||||
X(szIdividualMilitiaWebsiteFilterText_Rank)
|
||||
X(szIdividualMilitiaWebsiteFilterText_Origin)
|
||||
X(szIdividualMilitiaWebsiteFilterText_Sector)
|
||||
X(szNonProfileMerchantText)
|
||||
X(szWeatherTypeText)
|
||||
X(szSnakeText)
|
||||
X(szSMilitiaResourceText)
|
||||
X(szInteractiveActionText)
|
||||
X(szLaptopStatText)
|
||||
X(szGearTemplateText)
|
||||
X(szIntelWebsiteText)
|
||||
X(szIntelText)
|
||||
X(szChatTextSpy)
|
||||
X(szChatTextEnemy)
|
||||
X(szMilitiaText)
|
||||
X(szFactoryText)
|
||||
X(szTurncoatText)
|
||||
X(szRebelCommandText)
|
||||
X(szRebelCommandHelpText)
|
||||
X(szRebelCommandAdminActionsText)
|
||||
X(szRebelCommandDirectivesText)
|
||||
X(szRebelCommandAgentMissionsText)
|
||||
X(szRobotText)
|
||||
X(gzIMPSkillTraitsText)
|
||||
X(gzIMPSkillTraitsTextNewMajor)
|
||||
X(gzIMPSkillTraitsTextNewMinor)
|
||||
X(gzIMPMajorTraitsHelpTextsAutoWeapons)
|
||||
X(gzIMPMajorTraitsHelpTextsHeavyWeapons)
|
||||
X(gzIMPMajorTraitsHelpTextsSniper)
|
||||
X(gzIMPMajorTraitsHelpTextsRanger)
|
||||
X(gzIMPMajorTraitsHelpTextsGunslinger)
|
||||
X(gzIMPMajorTraitsHelpTextsMartialArts)
|
||||
X(gzIMPMajorTraitsHelpTextsSquadleader)
|
||||
X(gzIMPMajorTraitsHelpTextsTechnician)
|
||||
X(gzIMPMajorTraitsHelpTextsDoctor)
|
||||
X(gzIMPMajorTraitsHelpTextsCovertOps)
|
||||
X(gzIMPMajorTraitsHelpTextsRadioOperator)
|
||||
X(gzIMPMajorTraitsHelpTextsNone)
|
||||
X(gzIMPMinorTraitsHelpTextsAmbidextrous)
|
||||
X(gzIMPMinorTraitsHelpTextsMelee)
|
||||
X(gzIMPMinorTraitsHelpTextsThrowing)
|
||||
X(gzIMPMinorTraitsHelpTextsStealthy)
|
||||
X(gzIMPMinorTraitsHelpTextsNightOps)
|
||||
X(gzIMPMinorTraitsHelpTextsAthletics)
|
||||
X(gzIMPMinorTraitsHelpTextsBodybuilding)
|
||||
X(gzIMPMinorTraitsHelpTextsDemolitions)
|
||||
X(gzIMPMinorTraitsHelpTextsTeaching)
|
||||
X(gzIMPMinorTraitsHelpTextsScouting)
|
||||
X(gzIMPMinorTraitsHelpTextsSnitch)
|
||||
X(gzIMPMajorTraitsHelpTextsSurvival)
|
||||
X(gzIMPMinorTraitsHelpTextsNone)
|
||||
X(gzIMPOldSkillTraitsHelpTexts)
|
||||
X(gzIMPNewCharacterTraitsHelpTexts)
|
||||
X(gzIMPDisabilitiesHelpTexts)
|
||||
X(gzIMPProfileCostText)
|
||||
X(zGioNewTraitsImpossibleText)
|
||||
X(gzIronManModeWarningText)
|
||||
X(gzDisplayCoverText)
|
||||
X(ItemPickupHelpPopup)
|
||||
X(TacticalStr)
|
||||
X(LargeTacticalStr)
|
||||
X(zDialogActions)
|
||||
X(zDealerStrings)
|
||||
X(zTalkMenuStrings)
|
||||
X(gMoneyStatsDesc)
|
||||
X(gWeaponStatsDesc)
|
||||
X(zHealthStr)
|
||||
X(szDynamicDialogueText)
|
||||
X(pContractButtonString)
|
||||
X(pUpdatePanelButtons)
|
||||
X(gzIntroScreen)
|
||||
X(sRepairsDoneString)
|
||||
-188
@@ -763,194 +763,6 @@ INT16 GetIndex(CHAR16 siChar)
|
||||
return 0;
|
||||
}
|
||||
|
||||
//inshy: We don't need anymore ANSI convertation to UNICODE.
|
||||
/*
|
||||
CHAR16 GetUnicodeChar(CHAR16 siChar)
|
||||
{
|
||||
#ifdef GERMAN
|
||||
//switch( siChar )
|
||||
//{
|
||||
// // ?
|
||||
// case 252: siChar = 252; break;
|
||||
// // ?
|
||||
// case 220: siChar = 220; break;
|
||||
// // ?
|
||||
// case 228: siChar = 228; break;
|
||||
// // ?
|
||||
// case 196: siChar = 196; break;
|
||||
// // ?
|
||||
// case 246: siChar = 246; break;
|
||||
// // ?
|
||||
// case 214: siChar = 214; break;
|
||||
// // ?
|
||||
// case 223: siChar = 223; break;
|
||||
//}
|
||||
#endif
|
||||
|
||||
#ifdef RUSSIAN
|
||||
switch( siChar )
|
||||
{
|
||||
//capital letters
|
||||
case 168: siChar = 1025; break; //U+0401 d0 81 CYRILLIC CAPITAL LETTER IO
|
||||
case 192: siChar = 1040; break; //U+0410 A d0 90 CYRILLIC CAPITAL LETTER A
|
||||
case 193: siChar = 1041; break;
|
||||
case 194: siChar = 1042; break;
|
||||
case 195: siChar = 1043; break;
|
||||
case 196: siChar = 1044; break;
|
||||
case 197: siChar = 1045; break;
|
||||
case 198: siChar = 1046; break;
|
||||
case 199: siChar = 1047; break;
|
||||
case 200: siChar = 1048; break;
|
||||
case 201: siChar = 1049; break;
|
||||
case 202: siChar = 1050; break;
|
||||
case 203: siChar = 1051; break;
|
||||
case 204: siChar = 1052; break;
|
||||
case 205: siChar = 1053; break;
|
||||
case 206: siChar = 1054; break;
|
||||
case 207: siChar = 1055; break;
|
||||
case 208: siChar = 1056; break;
|
||||
case 209: siChar = 1057; break;
|
||||
case 210: siChar = 1058; break;
|
||||
case 211: siChar = 1059; break;
|
||||
case 212: siChar = 1060; break;
|
||||
case 213: siChar = 1061; break;
|
||||
case 214: siChar = 1062; break;
|
||||
case 215: siChar = 1063; break;
|
||||
case 216: siChar = 1064; break;
|
||||
case 217: siChar = 1065; break;
|
||||
case 218: siChar = 1066; break;
|
||||
case 219: siChar = 1067; break;
|
||||
case 220: siChar = 1068; break;
|
||||
case 221: siChar = 1069; break;
|
||||
case 222: siChar = 1070; break;
|
||||
case 223: siChar = 1071; break; //U+042F d0 af CYRILLIC CAPITAL LETTER YA
|
||||
|
||||
//small letters
|
||||
case 185: siChar = 8470; break; // ?
|
||||
case 178: siChar = 1030; break; // ?
|
||||
case 161: siChar = 1038; break; // ?
|
||||
case 179: siChar = 1110; break; // ?
|
||||
case 162: siChar = 1118; break; // ?
|
||||
case 165: siChar = 1168; break; // ?
|
||||
case 170: siChar = 1028; break; // ?
|
||||
case 175: siChar = 1031; break; // ?
|
||||
case 180: siChar = 1169; break; // ?
|
||||
case 186: siChar = 1108; break; // ?
|
||||
case 191: siChar = 1111; break; // ?
|
||||
|
||||
case 184: siChar = 1105; break; //U+0451 d1 91 CYRILLIC SMALL LETTER IO
|
||||
case 224: siChar = 1072; break; //U+0430 a d0 b0 CYRILLIC SMALL LETTER A
|
||||
case 225: siChar = 1073; break;
|
||||
case 226: siChar = 1074; break;
|
||||
case 227: siChar = 1075; break;
|
||||
case 228: siChar = 1076; break;
|
||||
case 229: siChar = 1077; break;
|
||||
case 230: siChar = 1078; break;
|
||||
case 231: siChar = 1079; break;
|
||||
case 232: siChar = 1080; break;
|
||||
case 233: siChar = 1081; break;
|
||||
case 234: siChar = 1082; break;
|
||||
case 235: siChar = 1083; break;
|
||||
case 236: siChar = 1084; break;
|
||||
case 237: siChar = 1085; break;
|
||||
case 238: siChar = 1086; break;
|
||||
case 239: siChar = 1087; break; //U+043F d0 bf CYRILLIC SMALL LETTER PE
|
||||
case 240: siChar = 1088; break; //U+0440 p d1 80 CYRILLIC SMALL LETTER ER
|
||||
case 241: siChar = 1089; break;
|
||||
case 242: siChar = 1090; break;
|
||||
case 243: siChar = 1091; break;
|
||||
case 244: siChar = 1092; break;
|
||||
case 245: siChar = 1093; break;
|
||||
case 246: siChar = 1094; break;
|
||||
case 247: siChar = 1095; break;
|
||||
case 248: siChar = 1096; break;
|
||||
case 249: siChar = 1097; break;
|
||||
case 250: siChar = 1098; break;
|
||||
case 251: siChar = 1099; break;
|
||||
case 252: siChar = 1100; break;
|
||||
case 253: siChar = 1101; break;
|
||||
case 254: siChar = 1102; break;
|
||||
case 255: siChar = 1103; break; //U+044F d1 8f CYRILLIC SMALL LETTER YA
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef POLISH
|
||||
switch( siChar )
|
||||
{
|
||||
case 165: siChar = 260; break;
|
||||
case 198: siChar = 262; break;
|
||||
case 202: siChar = 280; break;
|
||||
case 163: siChar = 321; break;
|
||||
case 209: siChar = 323; break;
|
||||
case 211: siChar = 211; break;
|
||||
|
||||
case 140: siChar = 346; break;
|
||||
case 175: siChar = 379; break;
|
||||
case 143: siChar = 377; break;
|
||||
case 185: siChar = 261; break;
|
||||
case 230: siChar = 263; break;
|
||||
case 234: siChar = 281; break;
|
||||
|
||||
case 179: siChar = 322; break;
|
||||
case 241: siChar = 324; break;
|
||||
case 243: siChar = 243; break;
|
||||
case 156: siChar = 347; break;
|
||||
case 191: siChar = 380; break;
|
||||
case 159: siChar = 378; break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FRENCH
|
||||
switch( siChar )
|
||||
{
|
||||
//capital letters
|
||||
//case 192: siChar = 192; break; //?
|
||||
//case 194: siChar = 194; break; //?
|
||||
//case 199: siChar = 199; break; //?
|
||||
//case 200: siChar = 200; break; //?
|
||||
//case 201: siChar = 201; break; //?
|
||||
//case 202: siChar = 202; break; //?
|
||||
//case 203: siChar = 203; break; //?
|
||||
//case 206: siChar = 206; break; //?
|
||||
//case 207: siChar = 207; break; //?
|
||||
//case 212: siChar = 212; break; //?
|
||||
//case 217: siChar = 217; break; //?
|
||||
//case 219: siChar = 219; break; //?
|
||||
case 143: siChar = 376; break; //?
|
||||
|
||||
//small letters
|
||||
//case 224: siChar = 224; break; //?
|
||||
//case 226: siChar = 226; break; //?
|
||||
//case 231: siChar = 231; break; //?
|
||||
//case 232: siChar = 232; break; //?
|
||||
//case 233: siChar = 233; break; //?
|
||||
//case 234: siChar = 234; break; //?
|
||||
//case 235: siChar = 235; break; //?
|
||||
//case 238: siChar = 238; break; //?
|
||||
//case 239: siChar = 239; break; //?
|
||||
//case 244: siChar = 244; break; //?
|
||||
//case 249: siChar = 249; break; //?
|
||||
//case 251: siChar = 251; break; //?
|
||||
//case 255: siChar = 255; break; //ÿ
|
||||
//inshy: italian letters
|
||||
//case 204: siChar = 204; break; //I'
|
||||
//case 236: siChar = 236; break; //i'
|
||||
//case 210: siChar = 210; break; //O'
|
||||
//case 242: siChar = 242; break; //o'
|
||||
//inshy: French ligatures
|
||||
//Ligature
|
||||
//case 198: siChar = 198; break; //?
|
||||
//case 140: siChar = 338; break; //?
|
||||
//case 230: siChar = 230; break; //?
|
||||
//case 156: siChar = 339; break; //?
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
return siChar;
|
||||
}
|
||||
*/
|
||||
|
||||
//*****************************************************************************
|
||||
// SetFont
|
||||
//
|
||||
|
||||
+19
@@ -949,6 +949,25 @@ void GetRuntimeSettings( )
|
||||
SGP_THROW_IFFALSE( setlocale(LC_ALL, loc.utf8().c_str()), _BS(L"invalid locale : ") << loc << _BS::wget );
|
||||
}
|
||||
|
||||
vfs::PropertyContainer langProps;
|
||||
langProps.initFromIniFile(std::string{LANGUAGE_INI_FILE});
|
||||
auto langIni = langProps.getStringProperty("Language", L"LANGUAGE");
|
||||
auto langCli = oProps.getStringProperty("Ja2 Settings", L"LANGUAGE");
|
||||
std::string language{};
|
||||
if(!langCli.empty())
|
||||
{
|
||||
language = langCli.utf8();
|
||||
}
|
||||
if (!langIni.empty()) {
|
||||
language = langIni.utf8();
|
||||
}
|
||||
SetLanguageFromName(language);
|
||||
|
||||
// Rebind every language table pointer to the resolved g_lang. Unconditional:
|
||||
// with no LANGUAGE key this binds the build default, matching the static
|
||||
// lang_default initialization the pointers start with.
|
||||
BindLanguageStrings(g_lang);
|
||||
|
||||
iResolution = (int)oProps.getIntProperty(L"Ja2 Settings", L"SCREEN_RESOLUTION", -1);
|
||||
|
||||
// WANNE: Always enable
|
||||
|
||||
Reference in New Issue
Block a user