Skip to content

Commit 321d51a

Browse files
committed
Move to a monolithic ENGLISH.LNG
1 parent 1c0c1e8 commit 321d51a

File tree

6 files changed

+101
-154
lines changed

6 files changed

+101
-154
lines changed

.github/workflows/compilation.yml

Lines changed: 66 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -98,18 +98,6 @@ jobs:
9898
with:
9999
repository: 'microsoft/vcpkg'
100100
path: 'vcpkg'
101-
- uses: lukka/get-cmake@latest
102-
- uses: ilammy/msvc-dev-cmd@v1
103-
- name: Install VCPKG Dependencies, Configure CMake
104-
run: >
105-
cmake -S . -B build-msvc
106-
-G "Ninja"
107-
--toolchain vcpkg/scripts/buildsystems/vcpkg.cmake
108-
-DCMAKE_BUILD_TYPE="Release"
109-
-DVCPKG_BUILD_TYPE="release"
110-
-DVCPKG_TARGET_TRIPLET="x64-windows-static"
111-
- name: Build openomf
112-
run: cmake --build build-msvc --target openomf
113101

114102
- name: Restore omf2097-assets.zip
115103
id: cache-assets
@@ -133,11 +121,25 @@ jobs:
133121
run: |
134122
Expand-Archive omf2097-assets.zip -PassThru
135123
mkdir install/openomf/resources
124+
Move-Item -Path omf2097-assets/OMF2097/ENGLISH.DAT,omf2097-assets/OMF2097/GERMAN.DAT -Destination resources -Force -PassThru
136125
Move-Item -Path omf2097-assets/OMF2097/* -Destination install/openomf/resources/ -Force -PassThru
137126
138127
- name: Install openomf
139128
run: cmake --install build-msvc --prefix install
140129

130+
- uses: lukka/get-cmake@latest
131+
- uses: ilammy/msvc-dev-cmd@v1
132+
- name: Install VCPKG Dependencies, Configure CMake
133+
run: >
134+
cmake -S . -B build-msvc
135+
-G "Ninja"
136+
--toolchain vcpkg/scripts/buildsystems/vcpkg.cmake
137+
-DCMAKE_BUILD_TYPE="Release"
138+
-DVCPKG_BUILD_TYPE="release"
139+
-DVCPKG_TARGET_TRIPLET="x64-windows-static"
140+
- name: Build openomf
141+
run: cmake --build build-msvc --target openomf
142+
141143
- name: Get short SHA
142144
shell: bash
143145
id: slug
@@ -173,17 +175,6 @@ jobs:
173175
libconfuse-dev libenet-dev libsdl2-dev libxmp-dev libpng-dev libepoxy-dev
174176
libminiupnpc-dev libnatpmp-dev
175177

176-
- name: Generate Release
177-
run: |
178-
mkdir build-release && cd build-release
179-
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=release/usr ..
180-
make -j $(getconf _NPROCESSORS_ONLN)
181-
make -j $(getconf _NPROCESSORS_ONLN) install
182-
183-
- name: Get short SHA
184-
id: slug
185-
run: echo "sha8=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_OUTPUT
186-
187178
- name: Restore omf2097-assets.zip
188179
id: cache-assets
189180
uses: actions/cache/restore@v4
@@ -203,7 +194,21 @@ jobs:
203194
key: omf2097-assets.zip
204195

205196
- name: Extract omf 2097 assets
206-
run: unzip -j omf2097-assets.zip -d build-release/release/usr/share/games/openomf
197+
run: |
198+
mkdir -p build-release/release/usr/share/games/openomf
199+
unzip -j omf2097-assets.zip -d build-release/release/usr/share/games/openomf
200+
mv build-release/release/usr/share/games/openomf/{ENGLISH.DAT,GERMAN.DAT} resources/
201+
202+
- name: Generate Release
203+
run: |
204+
mkdir -p build-release && cd build-release
205+
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=release/usr ..
206+
make -j $(getconf _NPROCESSORS_ONLN)
207+
make -j $(getconf _NPROCESSORS_ONLN) install
208+
209+
- name: Get short SHA
210+
id: slug
211+
run: echo "sha8=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_OUTPUT
207212

208213
- name: Generate TGZ package
209214
run: tar cvfz ${GITHUB_WORKSPACE}/openomf_${{ env.OPENOMF_VERSION }}-${{ steps.slug.outputs.sha8 }}_linux_amd64.tar.gz -C build-release/release/ .
@@ -252,13 +257,6 @@ jobs:
252257
brew update
253258
brew install cmake argtable cunit sdl2_mixer confuse enet sdl2 libxmp libpng libepoxy miniupnpc libnatpmp
254259
255-
- name: Generate Release
256-
run: |
257-
mkdir build-release && cd build-release
258-
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=release/usr ..
259-
make -j $(getconf _NPROCESSORS_ONLN)
260-
make -j $(getconf _NPROCESSORS_ONLN) install
261-
262260
- name: Restore omf2097-assets.zip
263261
id: cache-assets
264262
uses: actions/cache/restore@v4
@@ -276,9 +274,19 @@ jobs:
276274
with:
277275
path: omf2097-assets.zip
278276
key: omf2097-assets.zip
279-
277+
280278
- name: Extract omf 2097 assets
281-
run: unzip -j omf2097-assets.zip -d build-release/release/usr/share/games/openomf
279+
run: |
280+
mkdir -p build-release/release/usr/share/games/openomf
281+
unzip -j omf2097-assets.zip -d build-release/release/usr/share/games/openomf
282+
mv build-release/release/usr/share/games/openomf/{ENGLISH.DAT,GERMAN.DAT} resources/
283+
284+
- name: Generate Release
285+
run: |
286+
mkdir -p build-release && cd build-release
287+
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=release/usr ..
288+
make -j $(getconf _NPROCESSORS_ONLN)
289+
make -j $(getconf _NPROCESSORS_ONLN) install
282290
283291
- name: Get short SHA
284292
id: slug
@@ -316,27 +324,6 @@ jobs:
316324
wget -q https://github.com/omf2097/openomf-win-build/archive/refs/heads/main.zip
317325
unzip -q main.zip && rm main.zip
318326
319-
- name: Generate Windows Release
320-
run: |
321-
mkdir build-release && cd build-release
322-
export WINEPATH="${GITHUB_WORKSPACE}/openomf-win-build-main/bin/"
323-
cmake -DCMAKE_BUILD_TYPE=Release \
324-
-DCMAKE_INSTALL_PREFIX=release \
325-
-DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}/cmake-scripts/mingw-w64-toolchain.cmake" \
326-
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/" \
327-
-DCMAKE_INCLUDE_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/include/" \
328-
-DCMAKE_LIBRARY_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/lib/" \
329-
-DCMAKE_FIND_ROOT_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/" \
330-
-DOMF_COMMAND_WRAPPER="wine" \
331-
"${GITHUB_WORKSPACE}"
332-
make -j $(getconf _NPROCESSORS_ONLN)
333-
make -j $(getconf _NPROCESSORS_ONLN) install
334-
cp ${GITHUB_WORKSPACE}/openomf-win-build-main/bin/*.dll release/openomf/
335-
336-
- name: Get short SHA
337-
id: slug
338-
run: echo "sha8=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_OUTPUT
339-
340327
- name: Restore omf2097-assets.zip
341328
id: cache-assets
342329
uses: actions/cache/restore@v4
@@ -356,7 +343,31 @@ jobs:
356343
key: omf2097-assets.zip
357344

358345
- name: Extract omf 2097 assets
359-
run: unzip -j omf2097-assets.zip -d build-release/release/openomf/resources
346+
run: |
347+
mkdir -p build-release/release/usr/share/games/openomf
348+
unzip -j omf2097-assets.zip -d build-release/release/usr/share/games/openomf
349+
mv build-release/release/usr/share/games/openomf/{ENGLISH.DAT,GERMAN.DAT} resources/
350+
351+
- name: Generate Windows Release
352+
run: |
353+
mkdir -p build-release && cd build-release
354+
export WINEPATH="${GITHUB_WORKSPACE}/openomf-win-build-main/bin/"
355+
cmake -DCMAKE_BUILD_TYPE=Release \
356+
-DCMAKE_INSTALL_PREFIX=release \
357+
-DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}/cmake-scripts/mingw-w64-toolchain.cmake" \
358+
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/" \
359+
-DCMAKE_INCLUDE_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/include/" \
360+
-DCMAKE_LIBRARY_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/lib/" \
361+
-DCMAKE_FIND_ROOT_PATH="${GITHUB_WORKSPACE}/openomf-win-build-main/" \
362+
-DOMF_COMMAND_WRAPPER="wine" \
363+
"${GITHUB_WORKSPACE}"
364+
make -j $(getconf _NPROCESSORS_ONLN)
365+
make -j $(getconf _NPROCESSORS_ONLN) install
366+
cp ${GITHUB_WORKSPACE}/openomf-win-build-main/bin/*.dll release/openomf/
367+
368+
- name: Get short SHA
369+
id: slug
370+
run: echo "sha8=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_OUTPUT
360371

361372
- name: Generate ZIP package
362373
run: |

cmake-scripts/BuildLanguages.cmake

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,32 +55,33 @@ set(BUILD_LANG_COMMANDS)
5555
set(BUILD_LANG_SOURCES)
5656
foreach(LANG ${OMF_LANGS})
5757
set(TXT2 "${PROJECT_SOURCE_DIR}/resources/${LANG}2.TXT")
58-
set(DAT2 "${CMAKE_CURRENT_BINARY_DIR}/resources/${LANG}.DAT2")
59-
set(BASE_DAT "${CMAKE_CURRENT_BINARY_DIR}/resources/${LANG}.DAT")
58+
set(LNG "${CMAKE_CURRENT_BINARY_DIR}/resources/${LANG}.LNG")
59+
find_file("${LANG}_DAT" "${LANG}.DAT" PATHS "${CMAKE_CURRENT_BINARY_DIR}/resources" "${PROJECT_SOURCE_DIR}/resources" REQUIRED)
60+
set(BASE_DAT "${${LANG}_DAT}")
6061
list(APPEND BUILD_LANG_SORUCES "${TXT2}")
6162
list(APPEND BUILD_LANG_COMMANDS
6263
DEPENDS "${TXT2}"
63-
BYPRODUCTS "${DAT2}"
64+
BYPRODUCTS "${LNG}"
6465
COMMAND ${CMAKE_COMMAND} -E echo_append "${LANG}, "
65-
COMMAND ${OMF_COMMAND_WRAPPER} "$<TARGET_FILE:languagetool>" --import "${TXT2}" --import "${BASE_TXT}" --base "${BASE_DAT}" --base-count "${LANG_STR_COUNT}" --output "${DAT2}" --check-count ${LANG2_STR_COUNT}
66+
COMMAND ${OMF_COMMAND_WRAPPER} "$<TARGET_FILE:languagetool>" --import "${TXT2}" --import "${BASE_TXT}" --base "${BASE_DAT}" --base-count "${LANG_STR_COUNT}" --output "${LNG}" --check-count ${LANG2_STR_COUNT}
6667
)
67-
install(FILES "${DAT2}" DESTINATION "${LANGUAGE_INSTALL_PATH}")
68+
install(FILES "${LNG}" DESTINATION "${LANGUAGE_INSTALL_PATH}")
6869
endforeach()
6970
foreach(LANG ${OPENOMF_LANGS})
7071
set(TXT "${PROJECT_SOURCE_DIR}/resources/${LANG}.TXT")
7172
set(TXT2 "${PROJECT_SOURCE_DIR}/resources/${LANG}2.TXT")
73+
set(DAT "${CMAKE_CURRENT_BINARY_DIR}/resources/${LANG}.DAT")
7274
set(LNG "${CMAKE_CURRENT_BINARY_DIR}/resources/${LANG}.LNG")
73-
set(LNG2 "${CMAKE_CURRENT_BINARY_DIR}/resources/${LANG}.LNG2")
7475
list(APPEND BUILD_LANG_SORUCES "${TXT}" "${TXT2}")
7576
list(APPEND BUILD_LANG_COMMANDS
7677
DEPENDS "${TXT}" "${TXT2}"
77-
BYPRODUCTS "${LNG}" "{LNG2}"
78+
BYPRODUCTS "${DAT}" "{LNG}"
7879
COMMAND ${CMAKE_COMMAND} -E echo_append "${LANG}, "
79-
COMMAND ${OMF_COMMAND_WRAPPER} "$<TARGET_FILE:languagetool>" --import "${TXT}" --output "${LNG}" --check-count ${LANG_STR_COUNT}
80+
COMMAND ${OMF_COMMAND_WRAPPER} "$<TARGET_FILE:languagetool>" --import "${TXT}" --output "${DAT}" --check-count ${LANG_STR_COUNT}
8081
# XXX HACK: Using DANISH.TXT as base of DANISH2 until we merge the two.
81-
COMMAND ${OMF_COMMAND_WRAPPER} "$<TARGET_FILE:languagetool>" --import "${TXT2}" --import "${BASE_TXT}" --base "${LNG}" --base-count "${LANG_STR_COUNT}" --output "${LNG2}" --check-count ${LANG2_STR_COUNT}
82+
COMMAND ${OMF_COMMAND_WRAPPER} "$<TARGET_FILE:languagetool>" --import "${TXT2}" --import "${BASE_TXT}" --base "${DAT}" --base-count "${LANG_STR_COUNT}" --output "${LNG}" --check-count ${LANG2_STR_COUNT}
8283
)
83-
install(FILES "${LNG}" "${LNG2}" DESTINATION "${LANGUAGE_INSTALL_PATH}")
84+
install(FILES "${LNG}" DESTINATION "${LANGUAGE_INSTALL_PATH}")
8485
endforeach()
8586

8687

src/game/scenes/mainmenu/menu_language.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ component *menu_language_create(scene *s) {
7575
list dirlist;
7676
// Seek all files
7777
list_create(&dirlist);
78-
list_append(&dirlist, "ENGLISH.DAT", strlen("ENGLISH.DAT") + 1);
79-
list_append(&dirlist, "GERMAN.DAT", strlen("GERMAN.DAT") + 1);
8078
scan_directory_suffix(&dirlist, dirname, ".LNG");
8179
local->language_filenames = omf_malloc(list_size(&dirlist) * sizeof(char *));
8280
local->language_names = omf_malloc(list_size(&dirlist) * sizeof(char *));

src/game/utils/settings.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ typedef struct {
5656

5757
// clang-format off
5858
static const field f_language[] = {
59-
F_STRING(settings_language, language, "ENGLISH.DAT"),
59+
F_STRING(settings_language, language, "ENGLISH.LNG"),
6060
};
6161

6262
const field f_video[] = {

0 commit comments

Comments
 (0)