XProger / OpenLara

Classic Tomb Raider open-source engine
http://xproger.info/projects/OpenLara/
BSD 2-Clause "Simplified" License
4.63k stars 360 forks source link

Add unfinished bussiness ps1 hack? #131

Open i30817 opened 6 years ago

i30817 commented 6 years ago

There was a fan port of tombraider unfinished business to the ps1 a few years ago, any chance of making that work here?

The levels are slightly modified to take into account the ps1 lesser memory iirc.

i30817 commented 6 years ago

Here is the sizes, crc32 and md5sums for the files and the music:

files:

ls -lR --block-size=1 
.:
total 537600
dr-x------ 1 i30817 i30817   2048 out  4  1996 deldata
dr-x------ 1 i30817 i30817   2048 out  4  1996 demodata
dr-x------ 1 i30817 i30817   2048 set 26  1996 fmv
dr-x------ 1 i30817 i30817   2048 out  4  1996 psxdata
-r-------- 1 i30817 i30817 501760 dez 13  2014 sles_000.24
-r-------- 1 i30817 i30817     67 out 24  1996 system.cnf
-r-------- 1 i30817 i30817  27066 out 18  1995 warning.raw

./deldata:
total 584704
-r-------- 1 i30817 i30817 42499 dez  6  2014 amertit.raw
-r-------- 1 i30817 i30817 59448 dez  6  2014 atlanloa.raw
-r-------- 1 i30817 i30817 70938 out  2  1996 aztecloa.raw
-r-------- 1 i30817 i30817 42831 dez  6  2014 cred1.raw
-r-------- 1 i30817 i30817 42831 dez  6  2014 cred.raw
-r-------- 1 i30817 i30817 42171 dez  6  2014 egyptloa.raw
-r-------- 1 i30817 i30817 28569 dez  6  2014 end.raw
-r-------- 1 i30817 i30817 65536 dez  9  1995 fmvtab.dat
-r-------- 1 i30817 i30817 65010 dez  6  2014 greekloa.raw
-r-------- 1 i30817 i30817 79409 out  2  1996 gymload.raw
-r-------- 1 i30817 i30817 42499 dez  6  2014 psxtit.raw

./demodata:
total 0

./fmv:
total 0

./psxdata:
total 10947584
-r-------- 1 i30817 i30817  722402 out 16  1996 cut1.psx
-r-------- 1 i30817 i30817 1074234 out 16  1996 gym.psx
-r-------- 1 i30817 i30817 1796620 dez  4  2014 level1.psx
-r-------- 1 i30817 i30817 1786356 dez  6  2014 level2.psx
-r-------- 1 i30817 i30817 1744836 dez  6  2014 level3a.psx
-r-------- 1 i30817 i30817 1690644 dez  6  2014 level3b.psx
-r-------- 1 i30817 i30817 1621970 out 16  1996 level4.psx
-r-------- 1 i30817 i30817  508614 out 16  1996 title.psx
find .  -exec md5sum {} \;
md5sum: .: Is a directory
c26107ea4b04798295c74ca570ecba53  ./system.cnf
md5sum: ./deldata: Is a directory
a9ae8982ef33abc56c66f11344e926b7  ./deldata/amertit.raw
93d1514b13479fa3ac149a312f3c7a2e  ./deldata/atlanloa.raw
0bbcbb88378a8450dac69ae32cb38168  ./deldata/aztecloa.raw
f7c020c73dcd8a68985dacc4ad0ad7ec  ./deldata/cred.raw
b45357f56bbb3ae618c079249e29a9a5  ./deldata/egyptloa.raw
b060f8f347f984eec66393db8737a5c7  ./deldata/end.raw
8cdb77e6de121a5d69487331d051a9e3  ./deldata/fmvtab.dat
d25b8cf04f48d3a6bcde34ee29be6983  ./deldata/greekloa.raw
15313a6c0ad54b7b423089ef91e0738b  ./deldata/gymload.raw
a9ae8982ef33abc56c66f11344e926b7  ./deldata/psxtit.raw
f7c020c73dcd8a68985dacc4ad0ad7ec  ./deldata/cred1.raw
md5sum: ./demodata: Is a directory
md5sum: ./fmv: Is a directory
md5sum: ./psxdata: Is a directory
11399d0df5d2cb27711f8beab0547413  ./psxdata/cut1.psx
8b86e4916abc4fe80cd257a052a39066  ./psxdata/gym.psx
723b78dbb5c7295be6fd020a7e068a53  ./psxdata/level1.psx
cc48840cb28cb16b3ccae2fdff3fec4f  ./psxdata/level2.psx
0469d18e2da464d55b2a8b13d177f540  ./psxdata/level3a.psx
2a5da203d73e38ba6c6b01b6a5f3c949  ./psxdata/level3b.psx
13306316fed203c802e95c4c593fefa9  ./psxdata/level4.psx
ab590c951d08163c20e19762e0d0f044  ./psxdata/title.psx
63ec551e9fbcfe88fd89f285f320ad1f  ./sles_000.24
a9d63817ce5354ae5b059fc576a68810  ./warning.raw

find .  -print -exec crc32 {} \;
.
/usr/bin/crc32: .: Is a directory
./system.cnf
9ff6874d
./deldata
/usr/bin/crc32: ./deldata: Is a directory
./deldata/amertit.raw
6595beea
./deldata/atlanloa.raw
62baa66b
./deldata/aztecloa.raw
ecdb8e72
./deldata/cred.raw
10419970
./deldata/egyptloa.raw
f27be1fa
./deldata/end.raw
96860f3d
./deldata/fmvtab.dat
4c491199
./deldata/greekloa.raw
4274cac6
./deldata/gymload.raw
4c3c32ce
./deldata/psxtit.raw
6595beea
./deldata/cred1.raw
10419970
./demodata
/usr/bin/crc32: ./demodata: Is a directory
./fmv
/usr/bin/crc32: ./fmv: Is a directory
./psxdata
/usr/bin/crc32: ./psxdata: Is a directory
./psxdata/cut1.psx
cdf6dc80
./psxdata/gym.psx
76f2034c
./psxdata/level1.psx
bae017f6
./psxdata/level2.psx
ca58f75a
./psxdata/level3a.psx
73abe293
./psxdata/level3b.psx
87a7b4a2
./psxdata/level4.psx
b5850fd1
./psxdata/title.psx
a6744241
./sles_000.24
3dd51f05
./warning.raw
ac29a627

tracks:


ls -l --block-size=1
total 184523264
-r-------- 1 i30817 i30817 13985106 jan  1  1970 'Track 10.wav'
-r-------- 1 i30817 i30817  1498338 jan  1  1970 'Track 11.wav'
-r-------- 1 i30817 i30817  2643762 jan  1  1970 'Track 12.wav'
-r-------- 1 i30817 i30817   889170 jan  1  1970 'Track 13.wav'
-r-------- 1 i30817 i30817 34675650 jan  1  1970 'Track 2.wav'
-r-------- 1 i30817 i30817 33645474 jan  1  1970 'Track 3.wav'
-r-------- 1 i30817 i30817 33440850 jan  1  1970 'Track 4.wav'
-r-------- 1 i30817 i30817 21193986 jan  1  1970 'Track 5.wav'
-r-------- 1 i30817 i30817 13580562 jan  1  1970 'Track 6.wav'
-r-------- 1 i30817 i30817  9857346 jan  1  1970 'Track 7.wav'
-r-------- 1 i30817 i30817 12040002 jan  1  1970 'Track 8.wav'
-r-------- 1 i30817 i30817  7070226 jan  1  1970 'Track 9.wav'
find .  -exec md5sum {} \;
md5sum: .: Is a directory
f102d053d4f48942bef8681af549d399  ./Track 2.wav
767f36ffc322c578fcccefad9aac0a90  ./Track 3.wav
9888d400f1431a88d2816ab4f2a61ba8  ./Track 4.wav
fa1f0fb32ee33146eddfe58d281067eb  ./Track 5.wav
853bb8c303bf3225fab5642d9cbba110  ./Track 6.wav
1778d4d293d8fd7e52393f1b9ea8e033  ./Track 7.wav
01d62c91df010d81a4959b271bb3afaa  ./Track 8.wav
d0d00df43f0b53ea9c6c072931196fb3  ./Track 9.wav
e6ba9d9b0c5431c2d3836e93c5165e8e  ./Track 10.wav
690f0c87dd7f75c69d23a87819913e4e  ./Track 11.wav
0fd85601761e72d9088372c374cb9e7e  ./Track 12.wav
b8f99b08867f52fe311277ebe555dc13  ./Track 13.wav

find .  -print -exec crc32 {} \;.
/usr/bin/crc32: .: Is a directory
./Track 2.wav
ae3976d7
./Track 3.wav
0af79cca
./Track 4.wav
41bff968
./Track 5.wav
b8787a59
./Track 6.wav
5b67f1e4
./Track 7.wav
781f9d81
./Track 8.wav
67b00056
./Track 9.wav
2aedf17e
./Track 10.wav
0fa55c84
./Track 11.wav
19c7ef6c
./Track 12.wav
c9af09f9
./Track 13.wav
68f2c481
GPIforGit commented 5 years ago

Maybe it is better to support the original release-files: https://www.tombraiderforums.com/showthread.php?t=194134 At the moment the psx-files are loaded, but without textures or anything...

i30817 commented 5 years ago

Well, most engine reimplementation projects give a rather hard-pass to supporting disc formats like iso (because there are thousands of equivalent ways to dump a cd that are not byte identical but have the same interior files) but if the project wants to support a software iso mounter, i won't complain. If it's in addition to the bare files. I'd even prefer it because i could easily use the same files for both the original in emulators and openlara.

It's a bit annoying though, because the 'release' is in the ccd format iirc, something that is basically completely obsolete and complicates emulators mounting (though i suppose most of them accept it... not mednafen iirc though). Maybe it's better to support both the 'original' and a quick and easy bin conversion from whichever of these works for ccd to bin/cue: http://wiki.linuxquestions.org/wiki/CD_Image_Conversion

If the openlara project won't actually try to recognize the external checksum of cds just get them pointing at a cd that you then mount and check for the right files, the checksums posted before are still useful. If that happens, my guess is that the libretro port might make the scanner recognize the official games anyway as candidates for the playlists for both openlara and ps1, but so would be good to have a external checksum publicized for this one too, even if it's a cue/bin conversion or both, for it not to be overlooked.

Preferably the cue/bin variant that keeps the binary files separate from the music (because i'm OCD about using the method redump uses and that way can deduplicate the same soundtrack in the right filesystem).

I'll be honest, this 'external checksum' stuff is likely to evolve. For instance, chd files have a kind of 'internal checksum' that is a much better way to recognize cd games that pretending one of the ways to dump bytes is 'correct' (redump divides the audio from the binary, others do not, etc).

i30817 commented 1 year ago

btw there is a new version of these levels done by b122251 (google it) that are more 'stable'.

Demondee commented 1 year ago

Can you guys please explain what (browse level) is for? And what I can do and how to use it. New too this. Love this so much tho. It's amazing

XProger commented 1 year ago

@Demondee it's to open the original game level files

Demondee commented 1 year ago

Okay so i can mount the ccd file from the game and extract it. Or do it another way? Thanks for the fast reply. And can I open levels from other Tomb Raider games except for tomb Raider 1? And are they going to have the other Tomb Raider games so I can play them on chrome like this one?. Almost have it beat.

XProger commented 1 year ago

@Demondee you can open TR1-4 levels, but only TR1 is playable for now. To extract data from PSX images I prefer jpsxdec tool.