AdrianoDiDio / Medal-Of-Honor-PSX-File-Viewer

A set of tools to open and view files from the PSX games Medal Of Honor And Medal Of Honor:Underground.
GNU General Public License v3.0
35 stars 2 forks source link

Some bizarre error #7

Closed mrSuave00 closed 1 year ago

mrSuave00 commented 1 year ago

So actually, there are no issues.

I just wanted to appreciate all the work and effort you put into this project. the ability to dig through the levels of the game and check the game inside out really plays with my nostalgia and i'm really thankful for it!

mrSuave00 commented 1 year ago

on a side note, the sound player crashed a few times on me for some reason and the model viewer could use a descend/ascend feature

AdrianoDiDio commented 1 year ago

Hello, thanks for your kind word I really appreciate that you like the project. MOH was one of the first PS1 games I played and I've always been curios to see how it works since it was really mind-boggling for the time how they managed to achieve such a game with those features.

on a side note, the sound player crashed a few times on me for some reason and the model viewer could use a descend/ascend feature

This is actually expected, I think, since I discovered a typo right after I released the last version and should be already fixed. If you are able to replicate it, tell me the sound you are trying to play or try to download the release, containing the fix, using this url (https://github.com/AdrianoDiDio/Medal-Of-Honor-PSX-File-Viewer/suites/11409087998/artifacts/587596200) and see if it still crashes. What do u mean with 'descend/ascend' feature? If you are referring to the camera then it should be already implemented (using z/spacebar), if not just tell me exactly what you mean with that so that I can take a look.

mrSuave00 commented 1 year ago

Hello, thanks for your kind word I really appreciate that you like the project. MOH was one of the first PS1 games I played and I've always been curios to see how it works since it was really mind-boggling for the time how they managed to achieve such a game with those features.

on a side note, the sound player crashed a few times on me for some reason and the model viewer could use a descend/ascend feature

This is actually expected, I think, since I discovered a typo right after I released the last version and should be already fixed. If you are able to replicate it, tell me the sound you are trying to play or try to download the release, containing the fix, using this url (https://github.com/AdrianoDiDio/Medal-Of-Honor-PSX-File-Viewer/suites/11409087998/artifacts/587596200) and see if it still crashes. What do u mean with 'descend/ascend' feature? If you are referring to the camera then it should be already implemented (using z/spacebar), if not just tell me exactly what you mean with that so that I can take a look.

oh, didn't know there was up and down in the model viewer because i didn't see it listed at the controls.

If you are able to replicate it, tell me the sound you are trying to play

i think it was when i checked MoHU's first level's soundtrack, then changed over to a different pack and that made the crash. plus a lot of the sounds are just silent sadly even with the output rate change, but i'm guessing it's expected

MOH was one of the first PS1 games I played and I've always been curios to see how it works since it was really mind-boggling for the time how they managed to achieve such a game with those features.

I can 100% relate to this, the game holds VERY fond memories to me with my cousin, we used to play this game all our childhood, even in our adulthood nowadays taking turns between each levels and just enjoying this masterclass art piece... a timeless relic. it's so nice to see you come this far with your project, i remember when i wrote my issue asking for the MoHU support and you only had the level viewer with no gui whatsoever, to an actual set of tools man. really astounding job and i hope you continue forth with your journey!

(side side note, is it possible to decompile PS1 games for source ports like people decompile N64 games?)

AdrianoDiDio commented 1 year ago

i think it was when i checked MoHU's first level's soundtrack, then changed over to a different pack and that made the crash. plus a lot of the sounds are just silent sadly even with the output rate change, but i'm guessing it's expected

That's quite strange,I'll try take a look and see if I'm able to replicate it, again thanks for reporting it. Regarding the empty sounds , as you correctly said, that's just how it works. If you load a different sound pack from a different level, the sounds you see as empty may be used while others will be empty since they are not required for the current level but are kept as a placeholder in order to keep the index, used by the engine, constants between different levels.

(side side note, is it possible to decompile PS1 games for source ports like people decompile N64 games?)

I'm not sure to have understood the question, but if you are referring to the possibility of reimplementing it as a multi-platform game, then it certainly is possible but may take some times depending on the complexity of the game itself. In the case of MOH/MOH:U, I didn't reverse engineer the code itself but only the formats used by looking at the binary files themself. At the moment the project is pretty much done and it's only missing few file formats that requires too much time to be reversed and reimplemented (mainly the menus and the scripting system).

mrSuave00 commented 1 year ago

i think it was when i checked MoHU's first level's soundtrack, then changed over to a different pack and that made the crash. plus a lot of the sounds are just silent sadly even with the output rate change, but i'm guessing it's expected

That's quite strange,I'll try take a look and see if I'm able to replicate it, again thanks for reporting it. Regarding the empty sounds , as you correctly said, that's just how it works. If you load a different sound pack from a different level, the sounds you see as empty may be used while others will be empty since they are not required for the current level but are kept as a placeholder in order to keep the index, used by the engine, constants between different levels.

(side side note, is it possible to decompile PS1 games for source ports like people decompile N64 games?)

I'm not sure to have understood the question, but if you are referring to the possibility of reimplementing it as a multi-platform game, then it certainly is possible but may take some times depending on the complexity of the game itself. In the case of MOH/MOH:U, I didn't reverse engineer the code itself but only the formats used by looking at the binary files themself. At the moment the project is pretty much done and it's only missing few file formats that requires too much time to be reversed and reimplemented (mainly the menus and the scripting system).

ah, i see. also when digging through the files of the game, have you found anything related to an in-game level editor by any chance? i remember from WAAAY back i had a VCD browser extension for my PS1 and i used to delve into my games all the time. I remember finding a level editor (or the textures of it, i don't remember exactly now) inside the game that's not normally accessible.

AdrianoDiDio commented 1 year ago

Looking inside the files I haven't found any clue about what level editor could have been used during development. My best guess would be a custom 3DS Max plugin to generate and export level and models,based on other games that Dreamworks Interactive made during that time, but I'm not sure.

mrSuave00 commented 1 year ago

to my knowledge there is a really good decompiler called Ghidra with an external PS1 plugin that allows the usage of the PS1 code to be decompiled using the PS EXE (the SLUS/SCES etc.) the problem is that i'm not exactly good with programming but man if i knew how to, i'd power through this on my own if needed

here's the link if you wanna read into it yourself: https://tetracorp.github.io/tokimeki-memorial/methods/decompiling-psx-games.html

AdrianoDiDio commented 1 year ago

Thanks for the link, I knew ghidra was pretty good for decompiling, but wasn't aware that you could use it on PSX games.

mrSuave00 commented 1 year ago

yeah, just looked it up randomly and from what i can see, the code is pretty readable (i've never written code before but i'm good at eyeballing them)

also i kinda found a few textures related to a level editor in the game's files, specifically Underground's but maybe the first game would have more of these leftover. shame its such a hassle to open them because like every button and stuff is it's own TIM and switching directories all over is a pain when you have to do it one by one

AdrianoDiDio commented 1 year ago

I didn't see any to be honest but, as you said, I didn't try all the TIMs since it is quite annoying to open a file one by one. I may try to update the TIMViewer to remember the last used directory and also see if it is possible to open multiple TIM files without having to close the current one (although this can cause overlapping images in the VRAM, if opening TIM from different contexts). I'll close this issue but if you have any other question/request, feel free to open a new one. Thanks again.