L-Leite / cso2-launcher

A custom launcher for CSO2
MIT License
113 stars 56 forks source link

Add a custom path for modding cso2 #21

Closed GEEKiDoS closed 5 years ago

GEEKiDoS commented 5 years ago

It's a nice feature I guess?

GEEKiDoS commented 5 years ago

The gameinfo of cso2 is hardcoded in filesystem.dll at 0xFD6A8, Im going to try replace it

-- Update -- Change that hardcoded gameinfo is not working, but hooking BaseFileSystem::OpenEx is working. Let me raise a pull request

Path: qq 20190204173709 Effect: qq 20190204173702

GEEKiDoS commented 5 years ago

snd_rebuildaudiocache is not working for custom sound

update: looks like must use "-sndcachebuild" in order to use that concommand update2:still not working update3:It's working with UNPACKED files *but no generated allsound.cache

update4:You don't need to rebuild sound cache, Just create a empty allsound.cache in custom, you are good to go then

GEEKiDoS commented 5 years ago

Notes(Tested stuffs):

  1. This method will sideload almost of game assets from custom folder.
  2. uncompressed VTFs and decrypted eTXTs(not tried other formats like eCSV)(Mistested,my bad) will loaded by game.
  3. Counter-Strike: Source or HL2 format BSPs won't load on CSO2 engine(no error, but the progress bar will stuck at 0% forever) , After editing the bsp version from 0x14 to 0x64, the cso2 loads bsp, but It says "funny lump size" at 5%, We need to edit the lump and compress them I guess.
  4. As https://github.com/Ochii/cso2-launcher/issues/21#issuecomment-460213422 says, You need to create a empty allsound.cache to get custom sounds works normally.
  5. If you want to replace encrypted file(have the 'e' in the extension), You will need this to encrypt it. Ochii got the game reads decrypted files. Not needed anymore (TBC)......
organnerx commented 5 years ago

Hello! Some questions: 1. Is it possible to translate game interface and options (settings)? 2. Is it possible to use voice files and english text from Chinese version? Their characters are speaking English and also as far as I remember when you press radio buttons (z, x, c) all text and voicing there also in English (enemy spotted, need backup, etc...). This could be helpful for teamplay when you know what to report to others, rather than Korean writings and voices. Please take a look at possibility of those features

GEEKiDoS commented 5 years ago

Hello! Some questions: 1. Is it possible to translate game interface and options (settings)? 2. Is it possible to use voice files and english text from Chinese version? Their characters are speaking English and also as far as I remember when you press radio buttons (z, x, c) all text and voicing there also in English (enemy spotted, need backup, etc...). This could be helpful for teamplay when you know what to report to others, rather than Korean writings and voices. Please take a look at possibility of those features

Translate game interface and option already working in current release version. check -lang argument

organnerx commented 5 years ago

I don't have a client to check how -lang argument work. But I think you misunderstood me a bit. I mean complete interface translation - all room options that can be seen on your screenshot above and ingame radios and character voicing and etc. That could be a good addition to the game. Of course this is not priority number one in development, this just could be helpful and more attractive to a new players.

There is a file called "resource/cso2_koreana.txt" witch holds all ingame text. And this is the only translation file that basic game archives contains. And there is no english in it. So I assume -lang not doing a great translation. We can edit this .txt with English text (at least basic interface and menus strings), but can we force a game to use our updated file? This is the main question. If we can force game to use that, than we can translate a game completely

GEEKiDoS commented 5 years ago

I don't have a client to check how -lang argument work. But I think you misunderstood me a bit. I mean complete interface translation - all room options that can be seen on your screenshot above and ingame radios and character voicing and etc. That could be a good addition to the game. Of course this is not priority number one in development, this just could be helpful and more attractive to a new players.

There is a file called "resource/cso2_koreana.txt" witch holds all ingame text. And this is the only translation file that basic game archives contains. And there is no english in it. So I assume -lang not doing a great translation. We can edit this .txt with English text (at least basic interface and menus strings), but can we force a game to use our updated file? This is the main question. If we can force game to use that, than we can translate a game completely

What does -lang do is replace the cso2_koreana.txt. for example, if you translate the cso2_koreana.txt to english, then you can name it cso2_english.txt, then place it in the Data/cstrike/resource/. And then start the game with -lang english. The game will load the cso2_english.txt instead of cso2_koreana.txt, that's what it do.

organnerx commented 5 years ago

Ok, now I got it, thanks. I started to work on game translation and after finishing I will publish it there

L-Leite commented 5 years ago

Pull request #22 has been merged into master

LucaSoranota commented 5 years ago

so in order to use custom/mods i need to decrypt the whole game? or just add args to read decrypted files?

GEEKiDoS commented 5 years ago

so in order to use custom/mods i need to decrypt the whole game? or just add args to read decrypted files?

If yout just want to replace some of decrypted files, you just need to use -enablecustom to enable the custom folder to place the files(See https://github.com/Ochii/cso2-launcher/issues/21#issuecomment-460147890).

If you wanna decrypt whole filesystem then remove pkgs in Data(expect 1b87c6b551e518d11114ee21b7645a47.pkg), You just use -decryptedfiles instead.

xRiseless commented 5 years ago

so in order to use custom/mods i need to decrypt the whole game? or just add args to read decrypted files?

If yout just want to replace some of decrypted files, you just need to use -enablecustom to enable the custom folder to place the files(See #21 (comment)). If you wanna decrypt whole filesystem then remove pkgs in Data(expect 1b87c6b551e518d11114ee21b7645a47.pkg), You just use -decryptedfiles instead.

unpack all pkgs and remove they except 1b87c6b551e518d11114ee21b7645a47.pkg, and game give me this error default

L-Leite commented 5 years ago

@Riseless If you use UnCSO2 to unpack the files, it's broken at the moment. See UnCSO2/#3

enesvtn commented 5 years ago

I didn't find what extension file needed to translate Sound and Interface Language in the game?