ROM Hack Translation Corpse Party (2021) Translation and Hacking help

underkappa

New Member
OP
Newbie
Joined
Nov 2, 2021
Messages
4
Trophies
0
Age
27
XP
57
Country
Brazil
1635878513211.png


Hello my fellow CP fans and aspiring translators out there! As you may know, Corpse Party games are not available in latino languages, only English/Japanese/Korean, so I decided to take matters onto my own hands by making my own, just for fun of course.

Corpse Party (2021) is the newest port of Blood Covered Repeated Fear made using the Unity engine, and the most complete way to play the first game with new content added to it. I decided to take a closer look at the PC port, and what it is possible to translate.

After looking closely to the files and modifying some, I noticed that the game DOES support special characters like éáç, however it is most likely being drawn to the screen by some fallback font, since it looks kinda different. No big deal, it doesn't look that out of place.

For some reason there are 4 languages: En, En2, Jp, Ko. En2 is what seems to be used, and En is unused albeit identical. Dialogues from chapters and maplist (with the map names) are in monobehaviour files (they are in text too but weirdly enough it doesn't show up in the game if you modify these), dead list (name tag list), UI, save point list are plain text, and modification shows up in-game.

Here's the weird part: the item names and descriptions. At first glance, they seem to be plain text too, complete with descriptions in all 4 languages the game supports, including the unused one. However editing those doesn't do anything, in fact, you can even delete these files and the game won't notice.

A full day later and I'm still scratching my head, because I can't find these item descriptions anywhere, it's so weird. I tried to search all monobehaviour files one by one once again, nothing. I dumped all images from the game in case they are textures, nothing. I opened every single file in notepad++ and searched for a corresponding string, nothing. This makes me believe they are encoded somewhere, but why only the items and descriptions would be encoded? Doesn't make any sense.

I'm posting this in case someone wants to translate this game too for fun and has the answer or wants to take a closer look at this matter, because as it is, the game can be fully translated except for those item descriptions, which are somewhat important to leave in english.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
"Hello my fellow CP fans"
*starts sniggering in the corner*

I am not entirely sure what "monobehaviour" is in this context; it is not a term I have ever come across in hacking before.
Anyway two choices at this point for finding your missing files, maybe three depending upon how you look at it.

1) Corruption. Start messing with contents of files and seeing what changes in the game (or what points it crashes -- presumbly a crash follows a file not being there or it being unable to read it properly). Can use a corruption tool/hex editor (which may have the perk of being reversible -- invert things and invert back afterwards if you want) or can swap files around in the game and maybe load up other regions.
2) Tracing. Here you get to debug the game like any other thing; presumably starting with whatever texture lands in RAM with the info on screen in it and working backwards from there. Being PC you have the best possible options for debugging things -- there are some nice console things but nothing that comes close to PC tools like IDA, ghidra, radare2, the various official debuggers, ollydbg might be a bit old at this point but still has some go in it.
2a) Being on a PC then you have things like ofview and whatnot to see what files are being opened at a given point in time and maybe narrow things down that way without getting elbows deep in assembly.
 

underkappa

New Member
OP
Newbie
Joined
Nov 2, 2021
Messages
4
Trophies
0
Age
27
XP
57
Country
Brazil
"Hello my fellow CP fans"
*starts sniggering in the corner*

I am not entirely sure what "monobehaviour" is in this context; it is not a term I have ever come across in hacking before.
Anyway two choices at this point for finding your missing files, maybe three depending upon how you look at it.

1) Corruption. Start messing with contents of files and seeing what changes in the game (or what points it crashes -- presumbly a crash follows a file not being there or it being unable to read it properly). Can use a corruption tool/hex editor (which may have the perk of being reversible -- invert things and invert back afterwards if you want) or can swap files around in the game and maybe load up other regions.
2) Tracing. Here you get to debug the game like any other thing; presumably starting with whatever texture lands in RAM with the info on screen in it and working backwards from there. Being PC you have the best possible options for debugging things -- there are some nice console things but nothing that comes close to PC tools like IDA, ghidra, radare2, the various official debuggers, ollydbg might be a bit old at this point but still has some go in it.
2a) Being on a PC then you have things like ofview and whatnot to see what files are being opened at a given point in time and maybe narrow things down that way without getting elbows deep in assembly.

Hey, thanks for the answer!

I'll try to explain what monobehaviour is in my context:

The tool I'm using to tinker with the game is UABE Avalonia (Unity Assets Bundle Extractor Avalonia). You can load '.assets' files and it lists everything inside it as long as it supports the file system for the Unity version.

Among the files, you can find basic file types like audio clips, text assets, textures, you name it. And there is the engine's own files among these: materials, gameobjects, transforms, canvasrenderer, monobehaviour and so on. Those are like prefabs which the game uses in the scene to do tons of stuff, not deep diving onto this since I'm not really a expert.

The monobehaviour I'm looking is like a game object with the strings the game uses to display onto the screen once it is called, and you can use the tool to dump its contents to a .txt file with the tool, no bare metal tinkering required:

1635900678459.png


Anyways, about what you said, I think I might need to use the tracing method and be on lookout for funny stuff on the game's memory, I'll take a look at the debugging tools you mentioned.

Maybe I was looking at the wrong place this entire time? In any case, if I find the answer, I'll post here again to let light shine onto the solution.
 

Yamirox01

New Member
Newbie
Joined
Feb 22, 2022
Messages
1
Trophies
0
Age
22
Location
Buenos Aires
XP
22
Country
Argentina
View attachment 282845

¡Hola, mis compañeros fanáticos de CP y aspirantes a traductores! Como sabrán, los juegos de Corpse Party no están disponibles en idiomas latinos, solo en inglés/japonés/coreano, así que decidí tomar el asunto en mis propias manos creando los míos, solo por diversión, por supuesto.

Corpse Party (2021) es el puerto más nuevo de Blood Covered Repeated Fear creado con el motor de Unity, y la forma más completa de jugar el primer juego con nuevo contenido agregado. Decidí echar un vistazo más de cerca al puerto de la PC y lo que es posible traducir.

Después de mirar de cerca los archivos y modificar algunos, me di cuenta de que el juego SÍ admite caracteres especiales como éáç, sin embargo, lo más probable es que alguna fuente alternativa lo atraiga a la pantalla, ya que se ve un poco diferente. No es gran cosa, no parece tan fuera de lugar.

Por alguna razón hay 4 idiomas: En, En2, Jp, Ko. En2 es lo que parece usarse, y En no se usa aunque es idéntico. Los diálogos de los capítulos y la lista de mapas (con los nombres de los mapas) están en archivos monocomportamiento (también están en texto pero, curiosamente, no aparece en el juego si los modifica), lista muerta (lista de etiquetas de nombre), interfaz de usuario, guardar lista de puntos son texto sin formato, y la modificación se muestra en el juego.

Aquí está la parte extraña: los nombres y descripciones de los artículos. A primera vista, también parecen ser texto sin formato, completos con descripciones en los 4 idiomas que admite el juego, incluido el que no se usa. Sin embargo, editarlos no hace nada, de hecho, incluso puedes eliminar estos archivos y el juego no los notará .

Un día completo después y todavía me estoy rascando la cabeza, porque no puedo encontrar estas descripciones de artículos en ninguna parte, es muy raro. Traté de buscar todos los archivos de monocomportamiento uno por uno una vez más, nada. Descargué todas las imágenes del juego por si son texturas, nada. Abrí cada archivo en el bloc de notas ++ y busqué una cadena correspondiente, nada. Esto me hace creer que están codificados en alguna parte, pero ¿por qué solo se codificarían los elementos y las descripciones? No tiene ningún sentido.

Estoy publicando esto en caso de que alguien quiera traducir este juego también por diversión y tenga la respuesta o quiera analizar más de cerca este asunto, porque tal como está, el juego se puede traducir completamente excepto por las descripciones de los elementos, que son algo importante dejar en ingles.
¡Estaría genial qué portees las texturas a la versión de PSP!
 

Kashif22

New Member
Newbie
Joined
May 22, 2022
Messages
2
Trophies
0
Age
24
Location
Here
XP
22
Country
United States
Hey, thanks for the answer!

I'll try to explain what monobehaviour is in my context:

The tool I'm using to tinker with the game is UABE Avalonia (Unity Assets Bundle Extractor Avalonia). You can load '.assets' files and it lists everything inside it as long as it supports the file system for the Unity version.

Among the files, you can find basic file types like audio clips, text assets, textures, you name it. And there is the engine's own files among these: materials, gameobjects, transforms, canvasrenderer, monobehaviour and so on. Those are like prefabs which the game uses in the scene to do tons of stuff, not deep diving onto this since I'm not really a expert.

The monobehaviour I'm looking is like a game object with the strings the game uses to display onto the screen once it is called, and you can use the tool to dump its contents to a .txt file with the tool, no bare metal tinkering required:

View attachment 282910

Anyways, about what you said, I think I might need to use the tracing method and be on lookout for funny stuff on the game's memory, I'll take a look at the debugging tools you mentioned.

Maybe I was looking at the wrong place this entire time? In any case, if I find the answer, I'll post here again to let light shine onto the solution.
Hello good morning, do you have any news about this translation project?
 

Kashif22

New Member
Newbie
Joined
May 22, 2022
Messages
2
Trophies
0
Age
24
Location
Here
XP
22
Country
United States
Hey, thanks for the answer!

I'll try to explain what monobehaviour is in my context:

The tool I'm using to tinker with the game is UABE Avalonia (Unity Assets Bundle Extractor Avalonia). You can load '.assets' files and it lists everything inside it as long as it supports the file system for the Unity version.

Among the files, you can find basic file types like audio clips, text assets, textures, you name it. And there is the engine's own files among these: materials, gameobjects, transforms, canvasrenderer, monobehaviour and so on. Those are like prefabs which the game uses in the scene to do tons of stuff, not deep diving onto this since I'm not really a expert.

The monobehaviour I'm looking is like a game object with the strings the game uses to display onto the screen once it is called, and you can use the tool to dump its contents to a .txt file with the tool, no bare metal tinkering required:

View attachment 282910

Anyways, about what you said, I think I might need to use the tracing method and be on lookout for funny stuff on the game's memory, I'll take a look at the debugging tools you mentioned.

Maybe I was looking at the wrong place this entire time? In any case, if I find the answer, I'll post here again to let light shine onto the solution.
Hello good morning, do you have any new update of this project?
 

underkappa

New Member
OP
Newbie
Joined
Nov 2, 2021
Messages
4
Trophies
0
Age
27
XP
57
Country
Brazil
Hello good morning, do you have any new update of this project?
Hello, sorry for the long wait.

I recently made a new attempt into this translation effort. I can 100% say that these items are indeed text, because I can mess with them with a memory editor, so it is pointless to look for graphics data.

So far this is the only piece of text I couldn't find in the game files. I still don't know why they left these descriptions in unused files, since changing them or even deleting has no effect in-game. They might be encoded somewhere.

I was hoping I could find some clues in the game's memory or in files that reference items, but so far I've been unlucky. Still, I could be overlooking something very obvious.

Once I have something new I'll let you guys know.

1663337726712.png
 
Last edited by underkappa,

underkappa

New Member
OP
Newbie
Joined
Nov 2, 2021
Messages
4
Trophies
0
Age
27
XP
57
Country
Brazil
I'm here with an update.

We found the strings! they were embedded within Assembly-CSharp.dll and it was possible to change using DnSpy. Every other string and bitmap can be changed by messing with these standard Unity assets files

This was relayed by a friend who decided to translate this game to Brazilian Portuguese (which is complete as of now), I hope this info can help someone who is looking to translate Corpse Party (2021) as well.
 
Last edited by underkappa,

senmou

New Member
Newbie
Joined
Mar 20, 2024
Messages
1
Trophies
0
Age
19
XP
5
Country
Poland
Hello, I'm planning to do my own translation and I'd like to ask for some help. Is there a way to contact you via Discord or e-mail?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Sicklyboy, Hey