Skip to content

Commit c7801f2

Browse files
committed
rebase Into The Realm Of Eternal Darkness
1 parent 7247f16 commit c7801f2

File tree

6 files changed

+263
-994
lines changed

6 files changed

+263
-994
lines changed

fixes/3557/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BlackWolfTR-IntoTheRealmOfEternalDarkness.zip
2+
TRX
Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
diff --git a/data/tr1/ship/cfg/TR1X_gameflow.json5 b/data/tr1/ship/cfg/TR1X_gameflow.json5
2+
index 936949413..0521ea9b7 100644
3+
--- a/data/tr1/ship/cfg/TR1X_gameflow.json5
4+
+++ b/data/tr1/ship/cfg/TR1X_gameflow.json5
5+
@@ -4,10 +4,10 @@
6+
// Refer to https://github.com/LostArtefacts/TRX/blob/stable/docs/GAME_FLOW.md
7+
// for usage.
8+
9+
- "main_menu_picture": "data/images/title.webp",
10+
+ "main_menu_picture": "pictures/title.png",
11+
"savegame_fmt_legacy": "saveati.%d",
12+
"savegame_fmt_bson": "save_tr1_%02d.dat",
13+
- "demo_delay": 16,
14+
+ "demo_delay": 6,
15+
"injections": [
16+
"data/injections/backpack.bin",
17+
"data/injections/braid.bin",
18+
@@ -30,9 +30,6 @@
19+
"inherit_injections": false,
20+
"sequence": [
21+
{"type": "display_picture", "path": "data/images/eidos.webp", "legal": true, "display_time": 1, "fade_in_time": 1.0, "fade_out_time": 1.0},
22+
- {"type": "play_fmv", "fmv_id": 0},
23+
- {"type": "play_fmv", "fmv_id": 1},
24+
- {"type": "play_fmv", "fmv_id": 2},
25+
{"type": "exit_to_title"},
26+
],
27+
"injections": [
28+
@@ -42,38 +39,12 @@
29+
},
30+
31+
"levels": [
32+
- // Level 0: Lara's Home
33+
- {
34+
- "path": "data/gym.phd",
35+
- "type": "gym",
36+
- "music_track": 0,
37+
- "inherit_injections": false,
38+
- "sequence": [
39+
- {"type": "play_fmv", "fmv_id": 3},
40+
- {"type": "loading_screen", "path": "data/images/gym.webp", "fade_in_time": 1.0, "fade_out_time": 1.0},
41+
- {"type": "loop_game"},
42+
- {"type": "level_stats"},
43+
- {"type": "exit_to_title"},
44+
- ],
45+
- "injections": [
46+
- "data/injections/lara_gym_guns.bin",
47+
- "data/injections/braid.bin",
48+
- "data/injections/bubbles.bin",
49+
- "data/injections/gym_textures.bin",
50+
- "data/injections/lara_animations.bin",
51+
- "data/injections/uzi_sfx.bin",
52+
- "data/injections/explosion.bin",
53+
- "data/injections/font.bin",
54+
- ],
55+
- },
56+
-
57+
// Level 1: Caves
58+
{
59+
- "path": "data/level1.phd",
60+
- "music_track": 57,
61+
+ "path": "data/Manor.phd",
62+
+ "music_track": 60,
63+
"sequence": [
64+
{"type": "play_fmv", "fmv_id": 4},
65+
- {"type": "loading_screen", "path": "data/images/peru.webp", "fade_in_time": 1.0, "fade_out_time": 1.0},
66+
{"type": "loop_game"},
67+
{"type": "level_stats"},
68+
{"type": "level_complete"},
69+
@@ -143,7 +114,6 @@
70+
"path": "data/level4.phd",
71+
"music_track": 59,
72+
"sequence": [
73+
- {"type": "play_fmv", "fmv_id": 5},
74+
{"type": "loading_screen", "path": "data/images/greece.webp", "fade_in_time": 1.0, "fade_out_time": 1.0},
75+
{"type": "loop_game"},
76+
{"type": "level_stats"},
77+
@@ -238,7 +208,6 @@
78+
"path": "data/level8a.phd",
79+
"music_track": 59,
80+
"sequence": [
81+
- {"type": "play_fmv", "fmv_id": 6},
82+
{"type": "loading_screen", "path": "data/images/egypt.webp", "fade_in_time": 1.0, "fade_out_time": 1.0},
83+
{"type": "loop_game"},
84+
{"type": "level_stats"},
85+
@@ -294,7 +263,6 @@
86+
"path": "data/level10a.phd",
87+
"music_track": 58,
88+
"sequence": [
89+
- {"type": "play_fmv", "fmv_id": 7},
90+
{"type": "loading_screen", "path": "data/images/atlantis.webp", "fade_in_time": 1.0, "fade_out_time": 1.0},
91+
{"type": "remove_weapons"},
92+
{"type": "remove_scions"},
93+
@@ -324,12 +292,10 @@
94+
"path": "data/level10b.phd",
95+
"music_track": 60,
96+
"sequence": [
97+
- {"type": "play_fmv", "fmv_id": 8},
98+
{"type": "loading_screen", "path": "data/images/atlantis.webp", "fade_in_time": 1.0, "fade_out_time": 1.0},
99+
{"type": "give_item", "object_id": "pistols", "quantity": 1},
100+
{"type": "setup_bacon_lara", "anchor_room": 10},
101+
{"type": "loop_game"},
102+
- {"type": "play_fmv", "fmv_id": 9},
103+
{"type": "play_cutscene", "cutscene_id": 3},
104+
{"type": "level_stats"},
105+
{"type": "level_complete"},
106+
@@ -349,7 +315,6 @@
107+
{"type": "loading_screen", "path": "data/images/atlantis.webp", "fade_in_time": 1.0, "fade_out_time": 1.0},
108+
{"type": "loop_game"},
109+
{"type": "level_stats"},
110+
- {"type": "play_fmv", "fmv_id": 10},
111+
{"type": "play_music", "music_track": 19},
112+
{"type": "level_complete"},
113+
{"type": "display_picture", "path": "data/images/end.webp", "display_time": 7.5, "fade_in_time": 1.0, "fade_out_time": 1.0},
114+
@@ -510,14 +475,10 @@
115+
"fmvs": [
116+
{"path": "fmv/core.avi", "legal": true},
117+
{"path": "fmv/escape.avi", "legal": true},
118+
- {"path": "fmv/cafe.avi"},
119+
- {"path": "fmv/mansion.avi"},
120+
- {"path": "fmv/snow.avi"},
121+
- {"path": "fmv/lift.avi"},
122+
- {"path": "fmv/vision.avi"},
123+
- {"path": "fmv/canyon.avi"},
124+
- {"path": "fmv/pyramid.avi"},
125+
- {"path": "fmv/prison.avi"},
126+
- {"path": "fmv/end.avi"},
127+
+ {"path": "fmv/none.avi"},
128+
+ {"path": "fmv/none.avi"},
129+
+ {"path": "fmv/fmv1.avi"},
130+
+ {"path": "fmv/fmv2.avi"},
131+
+ {"path": "fmv/fmv3.avi"},
132+
],
133+
}
134+
diff --git a/data/tr1/ship/cfg/TR1X_strings.json5 b/data/tr1/ship/cfg/TR1X_strings.json5
135+
index b5e88b6af..0644a8266 100644
136+
--- a/data/tr1/ship/cfg/TR1X_strings.json5
137+
+++ b/data/tr1/ship/cfg/TR1X_strings.json5
138+
@@ -3,14 +3,19 @@
139+
// https://github.com/LostArtefacts/TRX/blob/stable/docs/GAME_STRINGS.md
140+
141+
"levels": [
142+
- // Level 0: Lara's Home
143+
+ // Level 1: Croft Manor
144+
{
145+
- "title": "Lara's Home",
146+
- },
147+
+ "title": "Croft Manor",
148+
+ "objects": {
149+
+ "key_1": {"name": "Basement Key"},
150+
+ "key_2": {"name": "Closet Key"},
151+
+ "key_3": {"name": "Storage Room Key"},
152+
+ "key_4": {"name": "Tomb Key"},
153+
+ "puzzle_1": {"name": "Thistle Stone"},
154+
+ "puzzle_2": {"name": "Cogwheel"},
155+
+ "puzzle_3": {"name": "Gold Bar"},
156+
+ },
157+
158+
- // Level 1: Caves
159+
- {
160+
- "title": "Caves",
161+
},
162+
163+
// Level 2: City of Vilcabamba
164+
diff --git a/src/libtrx/include/libtrx/game/const.h b/src/libtrx/include/libtrx/game/const.h
165+
index 2928947b5..54c0d2ea3 100644
166+
--- a/src/libtrx/include/libtrx/game/const.h
167+
+++ b/src/libtrx/include/libtrx/game/const.h
168+
@@ -14,5 +14,5 @@
169+
#define GRAVITY 6
170+
#define FAST_FALL_SPEED 128
171+
172+
-#define MAX_STATIC_OBJECTS_2D 50
173+
+#define MAX_STATIC_OBJECTS_2D 100
174+
#define MAX_STATIC_OBJECTS_3D 256
175+
diff --git a/src/tr1/game/option/option_passport.c b/src/tr1/game/option/option_passport.c
176+
index 1eefa6cef..9826dba12 100644
177+
--- a/src/tr1/game/option/option_passport.c
178+
+++ b/src/tr1/game/option/option_passport.c
179+
@@ -363,50 +363,15 @@ static void M_SaveGame(void)
180+
181+
static void M_NewGame(void)
182+
{
183+
- M_ChangePageTextContent(GS(PASSPORT_NEW_GAME));
184+
+ M_ChangePageTextContent(GS(PASSPORT_NEW_GAME));
185+
if (m_State.mode == PASSPORT_MODE_BROWSE) {
186+
- if (g_InputDB.menu_confirm
187+
- && (g_Config.gameplay.enable_game_modes
188+
- || g_Config.profile.new_game_plus_unlock)) {
189+
- g_Input = (INPUT_STATE) {};
190+
- g_InputDB = (INPUT_STATE) {};
191+
- m_State.mode = PASSPORT_MODE_NEW_GAME;
192+
- m_State.new_game.is_ready = true;
193+
- } else {
194+
Savegame_SetInitialVersion(SAVEGAME_CURRENT_VERSION);
195+
g_GameInfo.passport_selection = PASSPORT_MODE_NEW_GAME;
196+
- }
197+
+
198+
} else if (m_State.mode == PASSPORT_MODE_NEW_GAME) {
199+
- const int32_t choice = UI_NewGame_Control(&m_State.new_game.state);
200+
- if (choice == UI_REQUESTER_NO_CHOICE) {
201+
- g_Input = (INPUT_STATE) {};
202+
- g_InputDB = (INPUT_STATE) {};
203+
- } else if (choice == UI_REQUESTER_CANCEL) {
204+
- m_State.new_game.is_ready = false;
205+
- m_State.mode = PASSPORT_MODE_BROWSE;
206+
- g_Input = (INPUT_STATE) {};
207+
- g_InputDB = (INPUT_STATE) {};
208+
- } else {
209+
- switch (choice) {
210+
- case 0:
211+
- Game_SetBonusFlag(GBF_NONE);
212+
- break;
213+
- case 1:
214+
- Game_SetBonusFlag(GBF_NGPLUS);
215+
- break;
216+
- case 2:
217+
- Game_SetBonusFlag(GBF_JAPANESE);
218+
- break;
219+
- case 3:
220+
- Game_SetBonusFlag(GBF_JAPANESE | GBF_NGPLUS);
221+
- break;
222+
- default:
223+
- Game_SetBonusFlag(GBF_NONE);
224+
- break;
225+
- }
226+
- g_GameInfo.passport_selection = PASSPORT_MODE_NEW_GAME;
227+
- Savegame_SetInitialVersion(SAVEGAME_CURRENT_VERSION);
228+
- }
229+
+ Game_SetBonusFlag(GBF_NONE);
230+
+ g_GameInfo.passport_selection = PASSPORT_MODE_NEW_GAME;
231+
+ Savegame_SetInitialVersion(SAVEGAME_CURRENT_VERSION);
232+
}
233+
}
234+

fixes/3557/TRX_setup.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
cd "$(dirname "$0")" || exit 1
3+
rm -fr TRX
4+
md5sum="475b292dee44e978bda1567459bfaabd"
5+
md5sum_file=$(md5sum BlackWolfTR-IntoTheRealmOfEternalDarkness.zip | cut -d' ' -f1)
6+
7+
if [[ $md5sum == "$md5sum_file" ]]
8+
then
9+
echo "sum OK"
10+
else
11+
rm -f BlackWolfTR-IntoTheRealmOfEternalDarkness.zip
12+
wget --no-check-certificate https://www.trle.net/levels/levels/2023/0723/BlackWolfTR-IntoTheRealmOfEternalDarkness.zip
13+
md5sum_file=$(md5sum BlackWolfTR-IntoTheRealmOfEternalDarkness.zip | cut -d' ' -f1)
14+
if [[ $md5sum == "$md5sum_file" ]]
15+
then
16+
echo "sum OK"
17+
else
18+
rm -f BlackWolfTR-IntoTheRealmOfEternalDarkness.zip
19+
exit 1
20+
fi
21+
fi
22+
git clone --recurse-submodules https://github.com/LostArtefacts/TRX
23+
cd TRX || exit 1
24+
git checkout c1a9933
25+
patch -p1 < ../IntoTheRealmOfEternalDarkness.patch
26+
just tr1-package-linux release

0 commit comments

Comments
 (0)