This project aims to completely reverse engineer Metal Gear Solid Integral for PlayStation back to C source code which when compiled produces the same assembly code.
At this moment SLPM_862.47
/SLPM_862.48
/SLPM_862.49
main executables are 100% decompiled. However, even though this is a substantial milestone, a significant amount of work
is still left to decompile overlays - making it possible to boot into every game level and clean up already decompiled code.
The repository builds or aims to build the following artifacts:
SLPM_862.47
(main executable)
Status
✔️ 100% decompiled! The next goals for this artifact are to clean up the decompiled code, find cleaner matches and make it shiftable.
Size
626 KB
SHA256
4b8252b65953a02021486406cfcdca1c7670d1d1a8f3cf6e750ef6e360dc3a2f
Building
python build.py
SLPM_862.48
(main executable)
Status
✔️ 100% decompiled! Identical to SLPM_862.47
(main executable).
Size
SHA256
Building
SLPM_862.49
(main executable)
Status
✔️ 100% decompiled! This executable is based on SLPM_862.47
(main executable), but with many small changes, especially around chara/snake_vr
(a variant of Snake actor).
Size
616 KB
SHA256
c370f8e41ec8fb78238bfe2ddbfc25a6d37ec8f0972c86ebfde075ecd4ee8dca
Building
python build.py --variant=vr_exe
Metal Gear Solid Integral dynamically loads additional per-stage executable code that is required to play a particular stage of the game. The main executable contains the game engine, as well as the most common actors used throughout the stages.
Overlays on SLPM-86247
Status
🚧 Work in progress.
Individual overlay progress:
Click to expand
abst
46 KB
Abstract (Save/Load Menu)
❌ Work not started
brf
125 KB
Briefing
❌ Work not started
camera
54 KB
JPEG Photo Menu
🚧 Work in progress
change
12 KB
Disc Change
✔️ 100% decompiled!
d00a
122 KB
Loading Dock (Cutscene)
✔️ 100% decompiled!
d01a
57 KB
Heliport (Cutscene)
✔️ 100% decompiled!
d03a
18 KB
Holding Cell (Cutscene)
✔️ 100% decompiled!
d11c
14 KB
Communication Tower B (Cutscene)
✔️ 100% decompiled!
d16e
65 KB
Underground Base (Cutscene)
✔️ 100% decompiled!
d18a
96 KB
Supply Route (Cutscene)
🚧 Work in progress
d18ar
96 KB
Supply Route (Cutscene) (RED)
🚧 Work in progress
demosel
16 KB
Demo Theater
✔️ 100% decompiled!
ending
40 KB
Ending Demo (SCENE 28-1)
✔️ 100% decompiled!
endingr
40 KB
Ending Demo (SCENE 28-1) (RED)
✔️ 100% decompiled!
opening
42 KB
Opening Demo (SCENE 01-1)
✔️ 100% decompiled!
option
26 KB
Options Menu
🚧 Work in progress
preope
25 KB
Previous Operations
✔️ 100% decompiled!
rank
139 KB
Ranking Screen
❌ Work not started
roll
39 KB
Staff Roll
✔️ 100% decompiled!
s00a
120 KB
Loading Dock
✔️ 100% decompiled!
s01a
137 KB
Heliport
✔️ 100% decompiled!
s02a
130 KB
Tank Hangar
✔️ 100% decompiled!
s02b
129 KB
Tank Hangar
✔️ 100% decompiled!
s02c
132 KB
Tank Hangar (Before Contacting Meryl)
✔️ 100% decompiled!
s02d
126 KB
Tank Hangar (After Contacting Meryl)
✔️ 100% decompiled!
s02e
132 KB
Tank Hangar (After Torture)
✔️ 100% decompiled!
s03a
75 KB
Holding Cell
✔️ 100% decompiled!
s03ar
75 KB
Holding Cell (RED)
✔️ 100% decompiled!
s03b
66 KB
Medical Room
✔️ 100% decompiled!
s03c
84 KB
Medical Room
✔️ 100% decompiled!
s03d
101 KB
Holding Cell
❌ Work not started
s03dr
101 KB
Holding Cell (RED)
❌ Work not started
s03e
38 KB
Holding Cell (vs. Soldiers)
✔️ 100% decompiled!
s03er
38 KB
Holding Cell (vs. Soldiers) (RED)
✔️ 100% decompiled!
s04a
94 KB
Armory
✔️ 100% decompiled!
s04b
116 KB
Armory South (vs. Ocelot)
❌ Work not started
s04br
116 KB
Armory South (vs. Ocelot) (RED)
❌ Work not started
s04c
100 KB
Armory South
🚧 Work in progress
s05a
130 KB
Canyon
❌ Work not started
s06a
127 KB
Warhead Storage Building 1F
✔️ 100% decompiled!
s07a
130 KB
Warhead Storage Building B1
✔️ 100% decompiled!
s07b
141 KB
Commander's Room
❌ Work not started
s07br
141 KB
Commander's Room (RED)
❌ Work not started
s07c
73 KB
Warhead Storage Building B1
🚧 Work in progress
s07cr
73 KB
Warhead Storage Building B1 (RED)
🚧 Work in progress
s08a
86 KB
Warhead Storage Building B2
✔️ 100% decompiled!
s08b
133 KB
Laboratory
🚧 Work in progress
s08br
133 KB
Laboratory (RED)
🚧 Work in progress
s08c
60 KB
Corridor
✔️ 100% decompiled!
s08cr
60 KB
Corridor (RED)
✔️ 100% decompiled!
s09a
121 KB
Caves
❌ Work not started
s09ar
121 KB
Caves (RED)
❌ Work not started
s10a
135 KB
Underground Passage
❌ Work not started
s10ar
135 KB
Underground Passage (RED)
❌ Work not started
s11a
87 KB
Communication Tower A
❌ Work not started
s11b
97 KB
Communication Tower Roof
❌ Work not started
s11c
65 KB
Communication Tower B
✔️ 100% decompiled!
s11d
60 KB
Communication Tower A Wall
🚧 Work in progress
s11e
113 KB
Communication Tower B Elevator
✔️ 100% decompiled!
s11g
105 KB
Communication Tower B Roof
🚧 Work in progress
s11h
97 KB
Communication Tower B Roof (vs. Hind D)
❌ Work not started
s11i
75 KB
Communication Tower Walkway
🚧 Work in progress
s12a
107 KB
Snowfield
🚧 Work in progress
s12b
96 KB
Snowfield (After vs. Sniper Wolf)
❌ Work not started
s12c
95 KB
Snowfield (After vs. Sniper Wolf)
🚧 Work in progress
s13a
130 KB
Blast Furnace
✔️ 100% decompiled!
s14e
108 KB
Cargo Elevator
❌ Work not started
s15a
89 KB
Warehouse
❌ Work not started
s15b
38 KB
Warehouse North
✔️ 100% decompiled!
s15c
129 KB
Warehouse
🚧 Work in progress
s16a
63 KB
Underground Base (1F)
✔️ 100% decompiled!
s16b
10 KB
Underground Base (2F)
✔️ 100% decompiled!
s16c
109 KB
Underground Base (3F)
✔️ 100% decompiled!
s16d
121 KB
Underground Base (Control Room)
✔️ 100% decompiled!
s17a
140 KB
Supply Route (vs. REX)
❌ Work not started
s17ar
140 KB
Supply Route (vs. REX) (RED)
❌ Work not started
s18a
133 KB
Supply Route (vs. Liquid)
❌ Work not started
s18ar
133 KB
Supply Route (vs. Liquid) (RED)
❌ Work not started
s19a
120 KB
Escape Route (Garage)
❌ Work not started
s19ar
120 KB
Escape Route (Garage) (RED)
❌ Work not started
s19b
110 KB
Escape Route (Tunnel)
🚧 Work in progress
s19br
110 KB
Escape Route (Tunnel) (RED)
🚧 Work in progress
s20a
30 KB
Ending Demo (SCENE 28-1)
✔️ 100% decompiled!
s20ar
30 KB
Ending Demo (SCENE 28-1) (RED)
✔️ 100% decompiled!
select
8 KB
Debug Menu
✔️ 100% decompiled!
select1
721 B
Debug Menu Stage Select (s00a-s04c)
✔️ 100% decompiled!
select2
721 B
Debug Menu Stage Select (s05a-s09a)
✔️ 100% decompiled!
select3
721 B
Debug Menu Stage Select (s10a-s14e)
✔️ 100% decompiled!
select4
721 B
Debug Menu Stage Select (s15a-s20a)
✔️ 100% decompiled!
selectd
721 B
Debug Menu Demo Select
✔️ 100% decompiled!
sound
1 KB
Debug Menu Sound Test
✔️ 100% decompiled!
title
89 KB
Title Screen
🚧 Work in progress
Individual overlay SHA256:
Click to expand
abst.bin
aed6a6145201850156d251618561487456e1b02d7ce26a40cf1e492b6fa30ec0
brf.bin
95f948d72f4b2dd523c3f60b3e036db2971c5f00b3f69d7dc9b4744c48996286
camera.bin
7e1738af3c3987b5461773cf865da803bac48820000e0e916307f29fa836f388
change.bin
d2f0afa4861278774ecc818c19e31420e3b05e96da4313ea048451bfabf780e5
d00a.bin
3dd07b291d5bc6b58a028d012b744d9d2c8023f143474467b0259e5a5603ad0a
d01a.bin
3a8d292f250a80b708a06f3fd41ee0e6b74733390084ef5b163108ba5c8af4a1
d03a.bin
3f3b4350dc263a088c70fa7518844ba8e5ec95a3f705ffbc5a37e6b5ff18f8b1
d11c.bin
86edb16ecdb7319d0ad133687228a808170a50ce36f393c96678f8379c48c746
d16e.bin
bf5ab697b6d0415ba63b9aa3aaba28f387f324cd2f1b32eb46f5d3cb253e48ef
d18a.bin
c388e19be2811a05075a0da664b5b4264040ecd7e2f6eb6cd761d8e579c35103
d18ar.bin
df7d5353a7b3be3d6d0f2550179181de27538c41b65b900c7f4a90068ee9d18a
demosel.bin
bbf6a776efcc2631b982f920f2c9247c8b215dd7a1358b3b9f9d76484f7d43d9
ending.bin
321c325577bb05cf68bec689083cbc9f7fc4d0b634776c1e6cad1f464ffb1da3
endingr.bin
c8eabac0fa0bde6d7bbbdba97a4b8948c3e6a0c839d2b438705345c392b43c35
opening.bin
87a5e822f5b428376ad36fcd28ebc56f661cf340f0ea059f11489b5f24e85545
option.bin
19e897b855f2e197e62160a8a409d2ff57a6b8588b831722fab9c3aaca324ea0
preope.bin
3176b630b8a3f9d8cb01ed833d78fbe654054a576c1f2da0ed91007dd71bd136
rank.bin
6a5ed242f966a4c60bba7daf9a2ba1c37482825d0786e1d77476e135030753f5
roll.bin
dfe3ca728b6e409613ef7a3dc11b48ecaa236d8ba6cd0951ce4321329842beae
s00a.bin
533cb8e9b6ffdcc442c25ba51eb3d83e90cb1ad2831d3870395333398c8402bc
s01a.bin
534f8365ad37dbb5c4753bd1720517fa4d1a92e9008597064e6b30a23dc00a75
s02a.bin
ece10d39e1d5bafee5acb4dd970bf83801128b04e4fb24ad31756e5bb4ca754d
s02b.bin
57a66e93a2028e3fb805c97c585fb6cfb5fe76c93fc4b8495ccdb2c03a1de308
s02c.bin
7c0b12187840f60405970364a1f7c73ec96be32c1130b3f9a87ec58f6ea46915
s02d.bin
5fe851426faf64733c1077998f9463b5455c766d3e27c9cdceed38ac338e8542
s02e.bin
cd79cd79a00e18bd5d323b0b8e153b4e8fe5548b6e0ea68f36d13f190eca0477
s03a.bin
c42bba970bdc968ee48b572efb03c41f15869cfc00d6aa0d7c8106487534f580
s03ar.bin
f34b46313625005b6aef5006b184556c4dd8f13e97a3b0c346f0f4fc7b9fbf04
s03b.bin
cd728e144c960e7419d389c81802d3de73c00a2f31e9bfd7eea33ed3ed2be083
s03c.bin
cc3b95638684f6f0a6cbcf9b0436fbc7b545ca0eeb0e6e60d6c4d0646dbc7fb4
s03d.bin
f9fa0f39352d3305b5cb2bd6c292297d4f351387b0038a27ccec29f42150d903
s03dr.bin
fa785a857655809ccf984d8c8ada626addbadfd11db31b34ef496ddce225ade1
s03e.bin
af0e15b223431977c2ad233596c37a51c0367da6470c1b760d3f211eb82e894c
s03er.bin
b1e60c25c0ee92e8c347b7f6a51b2e3fdb10d9ea33a2a77e1acbd8bfc7367114
s04a.bin
59b541a13b987478d6717643c3c146018b070fe374ffae0eaaf3f9a8bdc2ffb6
s04b.bin
bca0c362260565051a8d41ffc49d3b9ae84d1bc9dc758164ea019cae82de7fa7
s04br.bin
3ceb35994af2c7da7955ab356cbbb7471c749ff6788ecdfbffab1c5679bb4f9b
s04c.bin
5e6bc0c9b13f009c69c2ebdfb401fe9d55a6cd6ee8610cbdd95ee9f3dd71f32a
s05a.bin
fd08923d1e1ad01b8638f7e8f4a101e270a5f399f3d1afed47abca7532a8c081
s06a.bin
766d25f927a1116d565f97479786a42b93a275398310f775304668ec191a47e7
s07a.bin
20cb960a5d97e0b60c030ed0c17eea78bf6d7e0f5dc50945828e8c2106612546
s07b.bin
bbe527b3883ad7c41e4999a8b1d49e64265100b7d8ff6a7724e3fce5d6fb7328
s07br.bin
04007a426525216049196b550e22fc0e922c75f78c6fcfc4b469f9d5defbbc47
s07c.bin
03904064a3d2d2bcd83f719cf7de0d780886ebeae5645dcc7e345acd7fe8cba1
s07cr.bin
e3c3503599693be3d3729e0bfc09d364de85b46520eff3909b822a14a7dadfbd
s08a.bin
56a0d3aa551dd6eefda902497c3f0a90c458b4ab0a54b9a63b7fe3298606d4c9
s08b.bin
21c5534dd17e5579404b2b0b2f3c47fb324b27a363a108669e3818a3dee15ded
s08br.bin
064e8dbb2af7589a7122f02a51e202d43fd3e9bf05aa18258c5cd88621a2d69c
s08c.bin
5badd1f304a57a3e55af6d5fe15694c51398c602779a31ee2b7276ad9f9aafbb
s08cr.bin
1521588d917c0558839f915191ed5b643fba37a7d1fa4dc228951b433e1070c9
s09a.bin
4c698b375890c793c3622d410bffab7db48c01cfff393f458cd5712e316a7177
s09ar.bin
362fbe4c139197907498e38a1f56e403fe39b4a0217d34bfcf49cf86e86cb76b
s10a.bin
95f9cb0d5def5f30bb2133c0452b3aa49438f56c95535178d61eb11a03bb2e6e
s10ar.bin
465959ab31568740a4bf30bf0958865e485e48538e449a6b3c696c5fd7d52f69
s11a.bin
70be6cf00267ed663e29ce6b9598396e8fb7c60024b76ff86508244c56d39bf6
s11b.bin
280920ec9559d0c836bab8995de902f227759bb7430025a650f7c20633889f51
s11c.bin
e49fbd3c76f8137fe4414699c7816143ea6c83c3dd1f8c44db9f1bd007e5ceec
s11d.bin
b7e8487718b1c3dd835b3b71b785acc367469f5c84e7834d2b91518dc17da21e
s11e.bin
8400e639567b380f28320ccfc5d624b6aa16f8dafa80fdc212976ab386014a9a
s11g.bin
60c1e1882b4d9df99478a117a9bfb0d20eb58f4f37305aa46bb1658cf2761eb7
s11h.bin
de8b36f6bdeb9871b28bf53c2fd13f3f53d836cadcf26fe735358e42151a478b
s11i.bin
706e9fa4b2b2288b6967cc0e519a109f0d2fd6da01dc190996f331b28e3f57e9
s12a.bin
e99681d93e10f8cb1fd9fa0ae694bb1f5a517b18a42f8791d0df58feccdd2e1d
s12b.bin
7f7e125ea50101399608c859611515df3fb6f04c87ccfdcb10521d86a5aff71a
s12c.bin
3e22cf0791fffbef348149ba97e65b9d147488cb45992a1dd84e343414948cf1
s13a.bin
3af85549577319540e53c789f8a20fd10d8b080f74b309a3c6e966b453b75544
s14e.bin
0ad69a93f9aadf2e7b0b254cf6d39ad16c118d0af9686609b9df8ebcbed8986a
s15a.bin
ab3bf00937e226119c4649e9aa5db7f24e4aab844cb550c752bc3ce1a06f735e
s15b.bin
5ab64d6c10801c11b0f672cbb4e68ab62ef1bf058944f5c3d32dbd073e3c8501
s15c.bin
7a6d398f600f359a04b8d9fcb7c006fdc888f4fcbdffd761e09ef4a932195483
s16a.bin
1bec05b1d61f2f5b6abffa1903abcea0ab9e5f4ddebb88ac64506c81548e6ccb
s16b.bin
811a2aa5d5cd7ba8673f3ca9cc3a89f07c8ac9e1f3f5843fed311557ebc0b9f6
s16c.bin
8217a2be487140af5bbded5f0dc37ab8cabedaf9af99d16256650ce27a8a5b50
s16d.bin
c37c642eb06d7ec39364e4a1fac17e606804eee229e047102d4a2e93346e773f
s17a.bin
a6b691ff0be4af526fb856847be0549dbe015b31b7fb137a1fbbe6027125d4d1
s17ar.bin
a6b691ff0be4af526fb856847be0549dbe015b31b7fb137a1fbbe6027125d4d1
s18a.bin
4f605b802aef5c69ce4cc875165d41139acde9af1e9fdf419d0e4cee2bc7087e
s18ar.bin
17d33d059f09a7470b2e6f44efc2469f52f7ff74093542ffb4cdf52a5aa6c79d
s19a.bin
48390084a9a716bef980627c57df1867763a6502ad5109d2a6b3712e652840d7
s19ar.bin
ef64d5fdb5e8285116ee2f8c693bc20f9af802dc6c16996f815d8823127352e6
s19b.bin
d757942aca5d36ab95741801de1f68526c3a8e128018814f25655b7d72a7c249
s19br.bin
3d2d7c04d13dd3f55a97348f74eaf891615cfa203812d15494b53f9e570fe2bd
s20a.bin
d14fdf0f3b5c98f72fd9f24fd119cdf88660528930ec784dc3d021b92e796925
s20ar.bin
4d6fee8a574d6b900eadff3925f2a38516c2d28784d6e38444ce6c9ece46e104
select.bin
10350d22ceb73b58224a2da9cc71a87380415e304b4c161a787b491162636bc9
select1.bin
6b101068fb3d41d9d634256f21cb094e13f331ed9fbbdb271be2a01ec631c145
select2.bin
6b101068fb3d41d9d634256f21cb094e13f331ed9fbbdb271be2a01ec631c145
select3.bin
6b101068fb3d41d9d634256f21cb094e13f331ed9fbbdb271be2a01ec631c145
select4.bin
6b101068fb3d41d9d634256f21cb094e13f331ed9fbbdb271be2a01ec631c145
selectd.bin
6b101068fb3d41d9d634256f21cb094e13f331ed9fbbdb271be2a01ec631c145
sound.bin
4173d0fcbc7bfcd477d2e0fa6810b509bf6392efb01fd58a7fa114f003849816
title.bin
fb97721e30fd55cf6251e446d6e7d38e951049ec4703301da7fef7fe9c1afa6b
Overlays on SLPM-86248
Status
Identical to SLPM-86247
overlays.
Overlays on SLPM-86249
Status
❌ Work not yet started.
Individual overlay progress:
Click to expand
camera
54 KB
JPEG Photo Menu
❌ Work not started
movie
120 KB
Extras Menu
❌ Work not started
opening
26 KB
Opening Movie
❌ Work not started
option
24 KB
Options Menu
❌ Work not started
photo_m1
77 KB
Photo Mode: Mei-Ling (Unused)
❌ Work not started
photo_m2
77 KB
Photo Mode: Mei-Ling
❌ Work not started
photo_n1
65 KB
Photo Mode: Naomi (Unused)
❌ Work not started
photo_n2
65 KB
Photo Mode: Naomi 1
❌ Work not started
photo_n3
63 KB
Photo Mode: Naomi 2
❌ Work not started
select
9 KB
Debug Menu
❌ Work not started
selectvr
137 KB
VR Missions Menu
❌ Work not started
sound
2 KB
Debug Menu Sound Test
❌ Work not started
vab_cfr
132 KB
1 Min. Battle vs. Target: C-4 1 Min. Battle vs. Enemy: C-4
❌ Work not started
vab_clm
132 KB
1 Min. Battle vs. Target: Claymore 1 Min. Battle vs. Enemy: Claymore
❌ Work not started
vab_fms
132 KB
1 Min. Battle vs. Target: FA-MAS 1 Min. Battle vs. Enemy: FA-MAS
❌ Work not started
vab_grn
139 KB
1 Min. Battle vs. Target: Grenade 1 Min. Battle vs. Enemy: Grenade
❌ Work not started
vab_nkt
136 KB
1 Min. Battle vs. Target: Nikita 1 Min. Battle vs. Enemy: Nikita
❌ Work not started
vab_psg
132 KB
1 Min. Battle vs. Target: PSG-1 1 Min. Battle vs. Enemy: PSG-1
❌ Work not started
vab_scm
135 KB
1 Min. Battle vs. Target: SOCOM 1 Min. Battle vs. Enemy: SOCOM
❌ Work not started
vab_stg
132 KB
1 Min. Battle vs. Target: Stinger 1 Min. Battle vs. Enemy: Stinger
❌ Work not started
vab_sud
136 KB
1 Min. Battle vs. Target: No Weapon 1 Min. Battle vs. Enemy: No Weapon
❌ Work not started
vcd_n01
151 KB
Ninja Level 01
❌ Work not started
vcd_n02
148 KB
Ninja Level 02
❌ Work not started
vcd_n03
149 KB
Ninja Level 03
❌ Work not started
vcd_n04
79 KB
Variety Level 11: "The Truth is Over There"
❌ Work not started
vcd_n05
122 KB
Variety Level 12: "Genetic Monster Genola" Variety Level 13: "The Revenge of Genola"
❌ Work not started
vcd_n06
74 KB
Variety Level 09 Variety Level 10
❌ Work not started
vefgh_01
142 KB
Puzzle Level 04 Mystery Level 01 Vs. 12 Battle Level 01
❌ Work not started
vefgh_02
139 KB
Puzzle Level 05 Mystery Level 08 Vs. 12 Battle Level 02
❌ Work not started
vefgh_03
141 KB
Variety Level 07 Mystery Level 05 Vs. 12 Battle Level 03
❌ Work not started
vefgh_04
149 KB
Puzzle Level 06 Mystery Level 07 Vs. 12 Battle Level 04
❌ Work not started
vefgh_05
152 KB
Puzzle Level 07 Mystery Level 03 Vs. 12 Battle Level 05
❌ Work not started
vefgh_06
146 KB
Variety Level 08 Mystery Level 06 Vs. 12 Battle Level 06
❌ Work not started
vefgh_07
145 KB
Puzzle Level 08 Mystery Level 09 Vs. 12 Battle Level 07
❌ Work not started
vefgh_08
146 KB
Puzzle Level 09 Mystery Level 04 Vs. 12 Battle Level 08
❌ Work not started
vefgh_09
145 KB
Puzzle Level 10 Mystery Level 02
❌ Work not started
vefgh_10
137 KB
Mystery Level 10
❌ Work not started
vijkl_01
127 KB
VR Mission Stage 01 Variety Level 04 NG Selection Level 03
❌ Work not started
vijkl_02
134 KB
VR Mission Stage 04 Variety Level 02 NG Selection Level 04
❌ Work not started
vijkl_03
133 KB
VR Mission Stage 02 Variety Level 06 NG Selection Level 05
❌ Work not started
vijkl_04
140 KB
VR Mission Stage 03 Variety Level 03 Puzzle Level 03
❌ Work not started
vijkl_05
140 KB
VR Mission Stage 05 Variety Level 05 NG Selection Level 06
❌ Work not started
vijkl_06
138 KB
VR Mission Stage 06 Puzzle Level 01 NG Selection Level 07
❌ Work not started
vijkl_07
142 KB
VR Mission Stage 07 Puzzle Level 02 NG Selection Level 08
❌ Work not started
vijkl_08
128 KB
VR Mission Stage 08 Variety Level 01
❌ Work not started
vijkl_09
128 KB
VR Mission Stage 09 NG Selection Level 01
❌ Work not started
vijkl_10
134 KB
VR Mission Stage 10 NG Selection Level 02
❌ Work not started
vr_cfr01
130 KB
Weapon Mode: C-4 Level 01 Advanced Mode: C-4 Level 01
❌ Work not started
vr_cfr02
143 KB
Weapon Mode: C-4 Level 05 Advanced Mode: C-4 Level 02
❌ Work not started
vr_cfr03
130 KB
Weapon Mode: C-4 Level 02 Advanced Mode: C-4 Level 03
❌ Work not started
vr_cfr04
139 KB
Weapon Mode: C-4 Level 03 Advanced Mode: C-4 Level 04
❌ Work not started
vr_cfr05
132 KB
Weapon Mode: C-4 Level 04 Advanced Mode: C-4 Level 05
❌ Work not started
vr_clm01
132 KB
Weapon Mode: Claymore Level 01 Advanced Mode: Claymore Level 01
❌ Work not started
vr_clm02
132 KB
Weapon Mode: Claymore Level 02 Advanced Mode: Claymore Level 03
❌ Work not started
vr_clm03
132 KB
Weapon Mode: Claymore Level 05 Advanced Mode: Claymore Level 02
❌ Work not started
vr_clm04
132 KB
Weapon Mode: Claymore Level 03 Advanced Mode: Claymore Level 04
❌ Work not started
vr_clm05
146 KB
Weapon Mode: Claymore Level 04 Advanced Mode: Claymore Level 05
❌ Work not started
vr_fms01
130 KB
Weapon Mode: FA-MAS Level 01 Advanced Mode: FA-MAS Level 03
❌ Work not started
vr_fms02
132 KB
Weapon Mode: FA-MAS Level 02 Advanced Mode: FA-MAS Level 02
❌ Work not started
vr_fms03
132 KB
Weapon Mode: FA-MAS Level 05 Advanced Mode: FA-MAS Level 01
❌ Work not started
vr_fms04
139 KB
Weapon Mode: FA-MAS Level 04 Advanced Mode: FA-MAS Level 04
❌ Work not started
vr_fms05
146 KB
Weapon Mode: FA-MAS Level 03 Advanced Mode: FA-MAS Level 05
❌ Work not started
vr_grn01
137 KB
Weapon Mode: Grenade Level 01 Advanced Mode: Grenade Level 01
❌ Work not started
vr_grn02
143 KB
Weapon Mode: Grenade Level 02 Advanced Mode: Grenade Level 02
❌ Work not started
vr_grn03
137 KB
Weapon Mode: Grenade Level 05 Advanced Mode: Grenade Level 03
❌ Work not started
vr_grn04
137 KB
Weapon Mode: Grenade Level 04 Advanced Mode: Grenade Level 04
❌ Work not started
vr_grn05
137 KB
Weapon Mode: Grenade Level 03 Advanced Mode: Grenade Level 05
❌ Work not started
vr_nkt01
137 KB
Weapon Mode: Nikita Level 02 Advanced Mode: Nikita Level 01
❌ Work not started
vr_nkt02
137 KB
Weapon Mode: Nikita Level 03 Advanced Mode: Nikita Level 02
❌ Work not started
vr_nkt03
137 KB
Weapon Mode: Nikita Level 04 Advanced Mode: Nikita Level 04
❌ Work not started
vr_nkt04
150 KB
Weapon Mode: Nikita Level 05 Advanced Mode: Nikita Level 05
❌ Work not started
vr_nkt05
137 KB
Weapon Mode: Nikita Level 01 Advanced Mode: Nikita Level 03
❌ Work not started
vr_psg01
130 KB
Weapon Mode: PSG-1 Level 02 Advanced Mode: PSG-1 Level 01
❌ Work not started
vr_psg02
132 KB
Weapon Mode: PSG-1 Level 03 Advanced Mode: PSG-1 Level 02
❌ Work not started
vr_psg03
132 KB
Weapon Mode: PSG-1 Level 05 Advanced Mode: PSG-1 Level 03
❌ Work not started
vr_psg04
132 KB
Weapon Mode: PSG-1 Level 04 Advanced Mode: PSG-1 Level 04
❌ Work not started
vr_psg05
133 KB
Weapon Mode: PSG-1 Level 01 Advanced Mode: PSG-1 Level 05
❌ Work not started
vr_scm01
137 KB
Weapon Mode: SOCOM Level 02 Advanced Mode: SOCOM Level 01
❌ Work not started
vr_scm02
137 KB
Weapon Mode: SOCOM Level 04 Advanced Mode: SOCOM Level 02
❌ Work not started
vr_scm03
137 KB
Weapon Mode: SOCOM Level 01 Advanced Mode: SOCOM Level 03
❌ Work not started
vr_scm04
137 KB
Weapon Mode: SOCOM Level 05 Advanced Mode: SOCOM Level 04
❌ Work not started
vr_scm05
137 KB
Weapon Mode: SOCOM Level 03 Advanced Mode: SOCOM Level 05
❌ Work not started
vr_stg01
132 KB
Weapon Mode: Stinger Level 01 Advanced Mode: Stinger Level 01
❌ Work not started
vr_stg02
132 KB
Weapon Mode: Stinger Level 02 Advanced Mode: Stinger Level 03
❌ Work not started
vr_stg03
132 KB
Weapon Mode: Stinger Level 03 Advanced Mode: Stinger Level 04
❌ Work not started
vr_stg04
132 KB
Weapon Mode: Stinger Level 05 Advanced Mode: Stinger Level 02
❌ Work not started
vr_stg05
140 KB
Weapon Mode: Stinger Level 04 Advanced Mode: Stinger Level 05
❌ Work not started
vr_sud01
124 KB
Sneaking Mode: No Weapon Level 01 Sneaking Mode: SOCOM Level 01
❌ Work not started
vr_sud02
124 KB
Sneaking Mode: No Weapon Level 02 Sneaking Mode: SOCOM Level 02
❌ Work not started
vr_sud03
124 KB
Sneaking Mode: No Weapon Level 03 Sneaking Mode: SOCOM Level 03
❌ Work not started
vr_sud04
124 KB
Sneaking Mode: No Weapon Level 04 Sneaking Mode: SOCOM Level 04
❌ Work not started
vr_sud05
126 KB
Sneaking Mode: No Weapon Level 05 Sneaking Mode: SOCOM Level 05
❌ Work not started
vr_sud06
135 KB
Sneaking Mode: No Weapon Level 06 Sneaking Mode: SOCOM Level 06
❌ Work not started
vr_sud07
124 KB
Sneaking Mode: No Weapon Level 08 Sneaking Mode: SOCOM Level 08
❌ Work not started
vr_sud08
127 KB
Sneaking Mode: No Weapon Level 10 Sneaking Mode: SOCOM Level 10
❌ Work not started
vr_sud09
124 KB
Sneaking Mode: No Weapon Level 12 Sneaking Mode: SOCOM Level 12
❌ Work not started
vr_sud10
149 KB
Sneaking Mode: No Weapon Level 15 Sneaking Mode: SOCOM Level 15
❌ Work not started
vr_sud11
130 KB
Sneaking Mode: No Weapon Level 11 Sneaking Mode: SOCOM Level 11
❌ Work not started
vr_sud12
142 KB
Sneaking Mode: No Weapon Level 07 Sneaking Mode: SOCOM Level 07
❌ Work not started
vr_sud13
149 KB
Sneaking Mode: No Weapon Level 13 Sneaking Mode: SOCOM Level 13
❌ Work not started
vr_sud14
135 KB
Sneaking Mode: No Weapon Level 09 Sneaking Mode: SOCOM Level 09
❌ Work not started
vr_sud15
124 KB
Sneaking Mode: No Weapon Level 14 Sneaking Mode: SOCOM Level 14
❌ Work not started
vrsave
67 KB
VR Save Menu
❌ Work not started
vrtitle
100 KB
VR Title Menu
❌ Work not started
Individual overlay SHA256:
Click to expand
camera.bin
33d5e225f34814ddc827e918a88e70535345c79cd77ec4ea5e9336c68cb00684
movie.bin
ddd1d8c812047388808d3210c871046b312f555333d175d93ad1440990735c70
opening.bin
a2a0751df48357df4bac6a73aa28da1450d8eff63ea83dfb6bbcdd81fa2ab344
option.bin
40e504e60c0e6857726f771c9df358481bd89f63d5c0892b0937a13d6d36fe9a
photo_m1.bin
4d09f9a89f5e6167de88f9e362619d83909d6ac1ed8b2985ea36b1af1a198a7f
photo_m2.bin
d7c3279543cc5fe309c214f4ea3c93046900ab162ead4a41bea3db5ee08632f5
photo_n1.bin
634b2486063085bb750584c7c5e54d7998ba2bc26bbdf1579eb6ae68b6a76a92
photo_n2.bin
2e4f3bbfe6df592b509d06758d23adf074cb381df8f8eee867bf391bdee56bef
photo_n3.bin
5c9242a42230ebcee099c57f64b3235d0474bbe7b9138e1834c073fe639c178e
select.bin
fa8eec2a95979ba4bf68755a454ec91d3e723ff1ac2e75fd2ceca00b22a50296
selectvr.bin
87ab9c17a99c65be6dfb59aad35006e58940c2b9f2dea70a0a1e50088b6685c0
sound.bin
bc0abafb4604a8fc1346a63e10a0587bc7df602a9fd4b90f9e6c5c0b847ac188
vab_cfr.bin
bba8bb118b6bdb277102093b722a065096dd2d209c294f1a3625a9448fbd3be5
vab_clm.bin
c18ea33776c7e7dbaa9e32bdc4cf511d21a538928c139099aaa530c5e53653db
vab_fms.bin
d08a363fd0dd5485d5464d4313cc80e3ca57604488a77fb1178f93a05b275a64
vab_grn.bin
5f73014818a27f171768ed15c4864898c0824d771c7377b2f2b6d8095b56e4cf
vab_nkt.bin
446ad3f771830407687b90c27d62a29697a9fc4b51e1af892fce1c331770ab10
vab_psg.bin
6db9f9ad67d483c9ed657334ce59d64fed44c05e5c52b0ace0f905bebf72689e
vab_scm.bin
2627939f2b8d7d47f9db14de3858d1241ba1afa3cc61ab73dbc7dc632d67906b
vab_stg.bin
554e33f490619c209100dae7569475981a102792ea276382219900af2106238d
vab_sud.bin
a620f6487a2d70006821dec85a98b1db47a6d1e4369bdd0046464284a6d785f8
vcd_n01.bin
be4b2de7ef90ce39c274b2ae76218c89b305e3aea89aea623dd91afad0089553
vcd_n02.bin
68bb72a036bd161e244b41b94f16b191651dc880dc76679ccc5a1c93af777077
vcd_n03.bin
7e008ade3a8581fd26932a9c2fe242f640ba690d1f98f322f720354ec0085ba4
vcd_n04.bin
c4bee50f02d34a8e33b96ff3adb16bdfadff452994e1e66c4eec8129543bf9e0
vcd_n05.bin
179de4726e44e0ad48d53110ff9e6ec90240cd7f8463ba8db0ed80ed29586c07
vcd_n06.bin
858009f054adde758cab468ba2f5e8300f769cdada6bd1edc96e3793d1ff9e8b
vefgh_01.bin
c7047e1f5ebfde0eac28f162513908089ceecfb75dcdded16a700a97c21f1585
vefgh_02.bin
9f5d966a1222959bab1dd407c5aff3c6da3add4fa5c322b12c0c40ba8ba3b4ce
vefgh_03.bin
0b37518d03ce54c1949704fe2da2c9b91b20c2c527e17721bc3974068786841b
vefgh_04.bin
4351fd981685d1091c3cc3b1823546a3712ea82ffc483094b657a16caeb3a2b8
vefgh_05.bin
c5830e751c1212f22642ca6bef1924820e6227c211e809650c662ef6cf0a3a2d
vefgh_06.bin
1d55f7f595ccd75ccfe6b90ebc609c19cb6d96433d49f989986a2d6429a2b69d
vefgh_07.bin
c98097a8c4eb3d2d80a71fbb1ad7d733df80325f05dd7ffa052f5c30ddf71037
vefgh_08.bin
82e5b69300536168746f5e2e0cb4ef19ee26da91b4ad5ddd404c82f06bf3e09f
vefgh_09.bin
b8f2e33ec4d276ecb1c8bf7d719fe84565c079b71c09a2f029f3cdfd32dc4869
vefgh_10.bin
eadc2f458b77b3f4e9781370cc98bdd328d83fd165ff858c1ce4cecb55c65bdd
vijkl_01.bin
dd17d6ba16892cd1449e71ad5a59ab70c9376c101bc8e997b9a8fead46c2aec0
vijkl_02.bin
7b19973b2065cc98e0cc2b869c1820edfc99487ea9e43898a4152dfcadd5a944
vijkl_03.bin
076c639788354d4f878b5eae5b3363658da2caa7b9397f07fc6c8a81bad9ba99
vijkl_04.bin
4cf844a8b046386e1644256b6fecc8b67d8561823d3783e506d97cdb2acdd4e5
vijkl_05.bin
f6be0ff2fb5a3388f6d3b397d5291f5ef1f7651f2ea0e05894f1cc86bdf3de70
vijkl_06.bin
a6ac21344d324ab30f7d16edbebeb48f1d060d7666b7fae8db65510b147781b3
vijkl_07.bin
758d1cf801ea0a31b1d82a57ae553d951e326eed6d49e7871dec0f4a5a20fd82
vijkl_08.bin
f48fcad8a8ffeb5ec00f98b43700d46fcfe073f0a1b459b48c392ede5b9930e2
vijkl_09.bin
64522c4d342bdb7ee149c14d5d30393bd78bb0ba93a3d40a9b718d4c0eda338f
vijkl_10.bin
d09418e47278fc5d2a96c791be97a0d231391b24d20972ce83a5775bc1d5eee7
vr_cfr01.bin
e3540697d18e36e02328d53779eb3c3c8adcd842615fcf9a9d69993b80e402a2
vr_cfr02.bin
9757d956ea9aad5a4cd7625ef23a36bab0d914526e0d9178eed13bd1ba2fe9e6
vr_cfr03.bin
c4c5f7dea2cf0409f3ae603e805a9c50628094091da7fc607e1188003ae5f181
vr_cfr04.bin
20f73d6c77a8ecf7585dcb1d13abab74887feaca20a7b720efb3e5cf1c2de9b1
vr_cfr05.bin
8d9a2c0bec8bd8e892ce8aa08e373ecd38a2e5c1351eb6fc517e2d72a82f92e8
vr_clm01.bin
0d06593a1ee1ae3f5b72de9c18b6f58fe3ecb0b00e8ac7c4f422d4eb91d6f308
vr_clm02.bin
8967cbc3c9c808a69a4b5654022209e008bfbf6e0bcfe8f6c41aecf58660ad8d
vr_clm03.bin
b1b340104058235bd3c25d2f3871bcd2eb026115c681c17d5cac357e6d3f7c22
vr_clm04.bin
78008b3820689056c81efb75eba63b4c6cdc0a710ec0f56af6a30f6995d4acde
vr_clm05.bin
4e87cb870e5111d855498c8ba84e97fb75bc850bb34facb454c2df758c60f37b
vr_fms01.bin
17cc7a8894cf642e1ca2c222bfbd1ae0f7617e7032876ccea6a680bf3a38c679
vr_fms02.bin
3e0a8f1164fe3b6a0ce62a07d190538bf7e790359694e16851c45371072b91fb
vr_fms03.bin
0a8d39c760b2799002b707eeed74db9a88ff20c199a8d37f5d9fa9a0e7191ec5
vr_fms04.bin
90094b757cfc00154a8b59d1f3b7fa06df7b21c734b06b662e962776a165bac1
vr_fms05.bin
07ffa2646c98dc261e399a2f9ebd05203d769bebf4a494688dba9caa6bbe94cc
vr_grn01.bin
2bf060f4a39e08fa5c28eed3b2b7419ea37d2f51890400c78fdb8635fa4de885
vr_grn02.bin
0f26c0f2e3b509b5fdc14f35df0d1eecb8cd364f315af4e832397b116572ee59
vr_grn03.bin
93cf09c7cb238eb7c9d44cb233acf234b3242b3e72fdd4aec254407091adab1e
vr_grn04.bin
b3189ddb34efa31166c8d33261bb7a1faf0ad402542026486b8c7dd1cc93664c
vr_grn05.bin
dbbb5eba5b191a009862568d5d17ec28e00152c383c15ce01aa07fd52da5e5a7
vr_nkt01.bin
07161fb79db67a6f4f08cd0d3db87825c1a1a55afad7c87001aed968bc92677e
vr_nkt02.bin
168a45e7ac9c3a9c4454a9048797a4b1efacfe17076038a5c27df191b7661112
vr_nkt03.bin
786ad1a792e27dfbe1b2ab71c28416a8287d85c046524a8986e99ac39b0b283b
vr_nkt04.bin
e39592adcd7cb51b321105330a013b43886101d19f6308f4c423724f5f523174
vr_nkt05.bin
0c58e1c20a614cc8dfb3411b05fb1879994e42374d0288699912d44ad3b1b5c2
vr_psg01.bin
8ff3058151426649df67d8cf7cb13e2e63eea5ccadbc1bfed1be6fbad5ae2d8d
vr_psg02.bin
f84421c4a52296e31af9625a35ac9e12007306c112906ddfec97286fc52fde63
vr_psg03.bin
2c80a4431576af6de08d0a64ef0763d8f4bfca4d4f3b7cc7d27ae9496f8af061
vr_psg04.bin
c7703abdfb59ca4d04a84a03fc2d42c26b14ff14fac001c3fbdf0a17228d8731
vr_psg05.bin
abcdac864c5c490bfb4e4c3da9756878222571a6b1a9bd63d481e5db47083d0c
vr_scm01.bin
869b72323703f398289c9e59937afc135d8dede4ced8dda635a4edf55338d1c5
vr_scm02.bin
922b222f5ad0058054ade591e0f43823230c744ccdf2bb088b7633cd698ff675
vr_scm03.bin
853c533374616189dcc4da5556f83c1a5b5ef86b445dd2694c9a2ad3a3ee646e
vr_scm04.bin
a1400556a5067d0fbd9c1e5609fa2120cfb276b31aca430250a30b25e88c3bef
vr_scm05.bin
ee5936380bb945cc0eae69ae907f57bffb22d90ecef1d5cfd237b5382ed47a1e
vr_stg01.bin
d3ca029f51ec4d6cdaa395c2a349d0e22583d031b89029c8ad1e9f8c2bf428cb
vr_stg02.bin
e8a03cb422e7e4e9950b5c1a5c18bb65b472f89169b7009c71ed13a9d6d3d02f
vr_stg03.bin
7ed01303c6a1878d28f3aaabb2cdc47ec86bc6fe1811fe5d27fc8cead3d75233
vr_stg04.bin
6fe653b113082081917ec3f52b6ebaf11083e092ad919e6c5a6e2496b3b93a6a
vr_stg05.bin
9b5964c6290b59ebd111b184cc4565b3781165edfd8ec93a8dc7b73368ab8bcb
vr_sud01.bin
41f4f0bd54b6ccd45877dd8b35d40106d4f5be97fadfe45ce10c7cd6e7788c99
vr_sud02.bin
8830cfab59f86056690b0f74cbeb51424b5776091b1bd52fd6dc84c7db0c5408
vr_sud03.bin
456126883baace557e8f4fcb32660dd071a9587b3299fe0602c99359da4c574b
vr_sud04.bin
286dae7ca61adb49ee84566c4188571c36ee7783874424dc2cdb52446e9cc630
vr_sud05.bin
461cc1ef0cfa858be270da83da736ad04557fa7e388839d8f786870c396957d1
vr_sud06.bin
2e84f6679c11a0cda69bb9d249a4d37378ce7e08685c7fa2d578b9d8f495c71c
vr_sud07.bin
b3b3c512b37b82d059a79ab4df47282fddef1a1c33bc1180f4dcbf292f69d8e7
vr_sud08.bin
84e4c6c25797d164cf56f91fec79734b6efff3750b97156aa054cdc89f130fa7
vr_sud09.bin
e77f4e558ec9e5fecbf3fc939958875b38b40b40a4a9403e5ca6757e60b16639
vr_sud10.bin
3b34df06259b8cb03d29ea9569dd9684090c713e44e1bfa4b84cc1f5c7311914
vr_sud11.bin
870ef98c534f7c8880b83bdeb52f175ae09a3c306a21a095bc009c709956163f
vr_sud12.bin
d980455e00d779c60abe21407dc312586d1a73a355ea57e6a469aff527460f36
vr_sud13.bin
2d3f45e3399d48b3cb328790176596d2c690e015c5054424aa131de33e936ab3
vr_sud14.bin
3b986c02aa7e6b69ac1a7f0aec4e66d7111f4a65afbced1e424ea39f6bdaa4b7
vr_sud15.bin
232040540e92f233c14c8e7da7d904b414c0381e07a0db9f496ab1d099f4cd49
vrsave.bin
ee1eeb23395a900bc9e36348db0a393e5a86e0ed4996180e16626e7d9156c674
vrtitle.bin
ade8ca6f7d0ca99d371abcfbca53987415b43e66f326f9ee77518f1b7a4aff39
dev
variant is a build variant that makes it easy to run the built game from mgs_reversing
and test your own changes. Most notably it embeds some overlay files into the main executable to make it easier to load the game into an emulator.
mgs_reversing also provides a helper script run.py
that starts the built game in PCSX-Redux emulator . Whenever you rebuild a game, this script will relaunch the emulator and you'll be able to see the changes you made.
Install Python3 if you haven't and make sure it's in your PATH. If you are on Linux, install Wine.
git clone https://github.com/FoxdieTeam/psyq_sdk.git
git clone https://github.com/FoxdieTeam/mgs_reversing.git
cd mgs_reversing/build/
pip3 install -r requirements.txt
python3 build.py --variant=dev_exe
python3 run.py --iso ISO --pcsx-redux PCSX-REDUX-PATH
ISO
is a path to ISO/ECM/BIN file with the original game (SLPM-86247).
PCSX-REDUX-PATH
is a path to a directory with downloaded PCSX-Redux emulator .
You should run this command in a separate command prompt. While this command is running, you can rebuild the game (with python3 build.py --variant=dev_exe
) and the tool will automatically relaunch the emulator with the latest build.
In order to build on Mac OS you need to install wine using brew
brew install --cask --no-quarantine wine-stable
Matching builds (main executable, VR executable)
Install Python3 if you haven't and make sure it's in your PATH. If you are on Linux, install Wine.
git clone https://github.com/FoxdieTeam/psyq_sdk.git
git clone https://github.com/FoxdieTeam/mgs_reversing.git
cd mgs_reversing/build/
pip3 install -r requirements.txt
python3 build.py
or python3 build.py --variant=vr_exe
for VR executable
At the end you should see a message confirming that the built binary's hash matches the original game's binary's hash. If your code caused the compiler to emit warnings, try to fix them without breaking the match.
How to use the built (matching) executables
Once you have successfully built the executables from the source code, you may want to play it to debug or test the changes you have made. Please keep in mind that if the size of the main executable changes or addresses shift, the original overlays won't work properly. This guide does not describe how to repackage overlays (a packer tool is planned for the future).
For how to use the dev
variant, please see the build instructions above.
PCSX-Redux emulator provides a convenient way to load a modified main executable. Once you have loaded the original image of Metal Gear Solid: Integral you can load a modified executable in "File > Load binary" menu. This repository contains some helper Lua scripts that can be used with PCSX-Redux in build/pcsx-redux_scripts
folder.
Other emulators - rebuilding ISO
To rebuild an ISO with your modified executable, you need a tool called mkpsxiso : download and extract it to a folder of your choice.
Next, you need the original files of Metal Gear Solid: Integral from the CD-ROMs. If you have dumped the discs into .bin/.cue pairs, you need to unpack them into a folder using mkpsxiso. The following commands show how to do this for the first disc, but the same applies to the other two.
Open a terminal, cd
into a folder of your choice and run the following command:
<mkpsxiso_folder_path>\bin\dumpsxiso.exe <path\to\mgsi_d1.bin> -x MGSI_D1 -s mgsi_d1.xml
This will create a folder named MGSI_D1
(containing the files of the first disc of the game), and an additional file, mgsi_d1.xml
.
Open mgsi_d1.xml
and replace
<file name =" SLPM_862.47" source =" MGSI_D1/MGS/SLPM_862.47" type =" data" />
with
<file name =" SLPM_862.47" source =" <path/to/_mgsi.exe>" type =" data" />
where _mgsi.exe
is the output of the build process.
Optionally, you can also edit the attributes image_name
and cue_sheet
of the iso_project
element to give them more appropriate values, like mgsi_d1.bin
and mgsi_d1.cue
, which are the output files of the next step.
Finally, run
<mkpsxiso_folder_path>\bin\mkpsxiso.exe mgsi_d1.xml
to re-pack the MGSI_D1
folder into a .bin/.cue pair that now contains the new executable instead of the original one. From now on, this is the only command to be executed every time you want to test a different version of the executable.
Now you are ready to play the game with your favorite emulator by starting the file mgsi_d1.cue
.
How to decompile a function
The asm/overlays
directory contains functions that are not yet decompiled. As a starting point you could try finding a small function (small .s file) and try to decompile that function.
We make extensive use of decomp.me , which has a Metal Gear Solid (overlays) preset, to help match functions.
Before decompiling a new function, we highly recommend playing around with some functions already decompiled - see recent scratches here .
Before working on a function, search for it on the website and if you don't find it, go to the build
folder and run python decompme_asm.py [path to .s file]
to have the assembly instructions in your clipboard ready to paste into a new decomp.me scratch. Since there is a lot of duplication in overlays, make sure that this function was not already decompiled in some other overlay (for example make sure that there is no blastoff.c
file for a function called s11g_blastoff_800D4744
).
When you create a new decomp.me scratch you'll be asked for a context - you can use a context from one of the scratches here . decomp.me will decompile the function into C. Now comes the hard part: make the scratch compile without any errors and implement the function such that it matches the original assembly. This is a highly iterative process.
Help, I am totally stuck?
Join our Discord and ask for help in #metal_gear_dev
.