Witam, zrobiłem programik do przywracania komentarzy do plików ogg (automatycznie uaktualnia sumy crc - nie trzeba używać hexedytora i fixoggcs.exe). Program działa tylko na plikach ogg.
Program napisany w .NET C# - wymagane są zainstalowane odpowiednie biblioteki. (jeżeli masz Windowsa z najnowszym ServicePackiem prawdopodobnie nie musisz doinstalowywać .NET)
Jest to program "konsolowy" więc trzeba trochę z palca wpisywać. Ale dużo lepsze to niż hexedytory
Przykładowe użycie programu:1) wypakowujemy za pomocą database depackera (lub wtyczki to totalcommandera ) wybrane katalogi z plikami ogg. Na przykład w grze Call of Pripyat wypakowujemy z pliku resources.db0 (w resources) katalog sounds.
2) nie zmieniamy położenia wypakowanych plików (tj. nie przenosimy na przykład pliku breath_1.ogg z katalogu actor do innego katalogu)
3) Teraz bierzemy się za stworzenie bazy danych "komentarzy".
3a) kopiujemy mój program (oba pliki) do katalogu w którym mamy wypakowane pliki z dźwiękiem (np do katalogu gamedata lub do katalogu sounds)
3b) uruchamiamy plik konsola (konsola.cmd)
3c) w nowym okienku uruchamiamy mój program wpisując "oggcomments.exe -dbrebuild -r" i wciskamy enter
(ja wpisuję z klawiatury oggc potem wciskam TAB i dopisuję -dbrebuild -r potem ENTER)
3d) powinno się pojawić:
- Kod: Zaznacz wszystko
Recursive: yes
Database rebuild.
Number of files that will be affected: 11714
Continue? (Y/N)
wciskamy y
(ja miałem 11714 bo wypakowałem wszystkie pliki, cały sound z resources.db0 w CoP, tworzenie bazy trwało na moim komputerze 8 sekund)
3e) zostaje utworzona baza danych w pliku o nazwie commentsdatabase.txt (w moim przypadku plik ma 2,40MB)
mała uwaga, na tym etapie lepiej nie przenosić teraz mojego programu (oggcomments.exe, commentsdatabase.txt, konsola.cmd) w inne miejsce.
4) podmieniamy pliki ogg innymi plikami ogg (na przykład z innych gier, wiadomo ze muszą być 44100Hz mono).
5) przywracamy "komentarze"
5a) uruchamiamy plik konsola (konsola.cmd)
5b) w nowym okienku uruchamiamy mój program wpisując "oggcomments.exe -r" i wciskamy enter
(ja wpisuję z klawiatury oggc potem wciskam TAB i dopisuję -r potem ENTER)
5c) powinno się pojawić:
- Kod: Zaznacz wszystko
Recursive: yes
Number of files that will be affected: 11714
Continue? (Y/N)
wciskamy y
(ja miałem 11714, u mnie przywracanie komentarzy dla 11714 plików trwało 34 sekundy)
6) komentarze zostały przywrócone.
przełączniki:-r przetwarzanie we wszystkich podkatalogach
-dbrebuild przełączenie w tryb tworzenia bazy danych na podstawie obecnych plików (w celu całkowitego odbudowania uprzednio kasujemy plik commentsdatabase.txt)
Przykłady uruchamiania:przywracanie komentarzy:oggcomments.exe -r pain*.ogg - szuka we wszystkich podkatalogach plików pasujących do wzorca (pain_1.ogg, pain_2.ogg)
oggcomments.exe -r pain* - to samo co wyżej
oggcomments.exe -r pain.ogg - wyszukuje we wszystkich podkatalogach pliku pain.ogg
oggcomments.exe -r pain - to samo co wyżej
oggcomments.exe sounds\actor\* - przywraca komentarze wszystkim plikom w katalogu sounds\actor
tworzenie (uaktualnianie) bazy danych:oggcomments.exe -r -dbrebuild - przeszukuje pliki we wszystkich podkatalogach
oggcomments.exe -dbrebuild sounds\actor\breath_1.ogg - dodaje komentarz podanego pliku
oggcomments.exe -dbrebuild sounds\video\* - wszystkie pliki z sounds\video
Jeżeli tworzysz moda z dodatkowymi dźwiękami i chciałbyś, aby pliki ogg miały jakieś dobre komentarze możesz zrobić tak:1) mój program w gamedata
2) tworzysz moda z nowymi gunami. na przykład spluwa z gwiezdnych wojen.
Masz katalog gamedata\sounds\weapons\phaser a w nim phaser_shoot.ogg, phaser_bore.ogg, phaser_reload.ogg
pliki nie mają jeszcze komentarzy ponieważ dopiero co je zrobiłeś w jakimś programie do tworzenia plików dźwiękowych (44100Hz mono,goldwave, nero waveeditor, etc).
3) wypakować do gamedata\sound\weapons pliki ogg gauss'a (lub jeżeli wolisz to innego guna)
4) skasowac stare commentsdatabase.txt, stworzyć nową bazę danych moim programem (patrz poprzednie punkty 3-3e)
oggcomments.exe -r -dbrebuild gauss*
5) otworzyć plik commentsdatabase.txt w notatniku, odszukać wpisy dotyczące gaussa, zdublować je, zmienić ścieżki zdublowanych wpisów na ścieżki do naszych ogg z phasera
np.
- Kod: Zaznacz wszystko
49766F72626973...CDCCCC3D0105 sounds\weapons\gauss_bore_2.ogg
49766F72626973...000000400105 sounds\weapons\gauss_reload.ogg
49766F72626973...0000C8420105 sounds\weapons\gauss_shoot.ogg
49766F72626973...CDCCCC3D0105 sounds\weapons\phaser\phaser_bore.ogg
49766F72626973...000000400105 sounds\weapons\phaser\phaser_reload.ogg
49766F72626973...0000C8420105 sounds\weapons\phaser\phaser_shoot.ogg
ważne - ścieżka do pliku oddzielona jest znakiem tabulacji (klawisz TAB)
5) odpalić
oggcomments.exe -r
6) jeżeli dalej będziemy chcieli używać komentarzy z gauss'a do naszego nowego guna (phaser'a), to nie musimy powtarzać kroków 1 do 4. Ewentualnie tylko krok 5.
Ponieważ większość testów przeprowadziłem z programem skopiowanym do katalogu gamedata, sugeruję właśnie tam go skopiować.Z powodu, że program powstał niedawno (i mogą być jeszcze jakieś błędy) nie podałem go na forum GSC. Uważam, że lepiej będzie, gdy pomogą mi w testach ludzie posługujący się moim rodzimym językiem.Pozdro,
YourEnemy.