Modyfikacja classes.d (G2) 4490 13

O temacie

Autor melkormorgot

Zaczęty 25.06.2011 roku

Wyświetleń 4490

Odpowiedzi 13

melkormorgot

melkormorgot

Użytkownicy
posty24
  • Użytkownicy
Witam, jak w temacie, mam problem z modyfikowaniem tego pliku. Gdy edytuję dowolną klasę, przy ładowaniu gry występuje mi następujący błąd: "U:PAR: Class - size not comatibile: C_Item
CPP - size: 524  Script - size: 504" W jaki sposób mogę modyfikować ten plik, by ten błąd nie występował?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
A co tam chcesz edytować? Jakakolwiek edycja klasy spowodowałaby crash gry, bo dane ze skryptów nie byłyby kompatybilne z obrazem klasy w silniku. Jakakolwiek zmiana w skryptach musiałaby zostać wykonana także w kodzie engine, co bez posiadania kodu źródłowego jest niemożliwe.

melkormorgot

melkormorgot

Użytkownicy
posty24
  • Użytkownicy
"Jakakolwiek zmiana w skryptach musiałaby zostać wykonana także w kodzie engine, co bez posiadania kodu źródłowego jest niemożliwe." - możesz coś więcej o tym opowiedzieć?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Modyfikacja classes.d (G2)
#3 2011-06-25, 16:48(Ostatnia zmiana: 2011-06-25, 16:48)
W pliku classes.d są odwzorowania kilku najprostszych klas z engine. Ale to tylko odwzorowania, jakby schematy żeby parser wiedział jak powiązać to co mają robić skrypty z engine gry. Engine gry jest napisany w c++ i skompilowany, prawdziwe definicje klas są zaprogramowane właśnie tam. Gdybyś na siłę zmienił coś w klasie w skryptach, a w engine nadal zostałoby po staremu, engine nie wiedziałoby co ma robić z dodatkową zmienną.

melkormorgot

melkormorgot

Użytkownicy
posty24
  • Użytkownicy
A jest możliwość zmiany kodu engine tak, by był kompatybilny z zmienionymi klasami w classes.d? Skąd mogę wziąć kod źródłowy?
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Bez bardzo zaawansowanego reverse engineering nie, ale powiedz po co ci to możliwe że może obejść się bez tego.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

melkormorgot

melkormorgot

Użytkownicy
posty24
  • Użytkownicy
Bardzo przepraszam za moją nieobecność. Sprawa wygląda tak: dość długo grałem g2 nk. Od jakiegoś czasu bawię się w modowanie. Planuję zrobić modyfikację do G2NK, która polega na odgrywanie fabuły z samego Gothic 2 (bez dodatku) oraz na
utworzeniu do niego skryptów. W ten sposób nie musiałbym mieć dwóch kopii g2, tylko kilka dodatkowych plików. Tak więc
zdekompilowałem wszystkie pliki dat z g2 (BD) i poprawiłem błędy. Niestety, gdy zacząłem reparsować skrypty wystąpił mi
błąd , który podałem powyżej. Zamieniłem więc plik classes.d na oryginalny z gothica 2 nk. Ale wtedy po odpaleniu gry
PC Hero nie ma żadnego zapasu powietrza, gdy nurkuje, a gra jest lekko spowolniona. Gdy jednak odpaliłem aplikację w wersji 1.3 z classes.d z G2 (bd), hero miał zapas powietrza, a gra była płynniejsza. Dlatego chciałem podmienić klasy z G2 2.6 na G2 1.3. Nie wiem czy to ma jakiś sens. Nie znam się aż tak dobrze na skryptach, by wiedzieć, jak odpalić tą modyfikację bez błędów. Ma któryś z forumowiczów jakiś pomysł?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Robienie tego w ten sposób nie ma kompletnie żadnego sensu.
Odpowiedni mod już powstał, polega na wycięciu ze skryptów g2nk elementów rozgrywki (nie związanych z silnikiem) które pochodzą z Nocy Kruka - chodzi o itemy, dostęp do światów, npc, zadania. Główna linia fabularna toczy się jak w czystym g2, czyli Vatras nie robi problemów z szukaniem zamiennika.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Mam nadzieje ze dobrze zrozumiałem chodzi o modyfikacje która będzie oryginalnym G2 bez NK tak?
Jeżeli tak to można by spróbować przy użyciu GothicVDFS wypakować skrypty przed zainstalowaniem NK.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

melkormorgot

melkormorgot

Użytkownicy
posty24
  • Użytkownicy
Wypakowałem skrypty, ale hero nie ma zapasu powietrza...

"Odpowiedni mod już powstał, polega na wycięciu ze skryptów g2nk elementów rozgrywki (nie związanych z silnikiem) które pochodzą z Nocy Kruka - chodzi o itemy, dostęp do światów, npc, zadania. Główna linia fabularna toczy się jak w czystym g2, czyli Vatras nie robi problemów z szukaniem zamiennika. "

Ten mod już powstał? A jest po polsku? Czy są dołączone do niego skrypty? Skąd go można pobrac?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Niestety nie pamiętam odpowiedzi na te pytania. Jak już wspomniałem odtworzenie tego jest raczej drobnostką - głównie chodzi o edycję dialogów z Xardasem i Vatrasem, usunięcie wpisów nowych npc z startup.d.

melkormorgot

melkormorgot

Użytkownicy
posty24
  • Użytkownicy
Ale ja właściwie mam skrypty z g2 (bd), tylko przy classes.d z nk hero nie ma zapasu powietrza. Wie ktoś dlaczego?
Tylko ten problem został, później będę mógł ponownie skryty skompilować w .dat i po dodaniu kilku istotnych plików (np. obraz menu) miałbym już paczkę z modem.
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Modyfikacja classes.d (G2)
#12 2011-06-28, 21:22(Ostatnia zmiana: 2011-06-28, 21:23)
Występują różnice w działaniu silnika, a więc być może i w budowie classes.d. Jeśli to ma być mod do g2nk, to MUSI zawierać classes.d z g2nk. Możesz spróbować resztę plików zaczerpnąć z czystego g2, ale IMO to denny pomysł. Wtedy zmarnowane zostaną także wszelkie ulepszenia, dodane łatki, rebalance, nowe i poprawione efekty cząsteczkowe. Wszystkie paczki oprócz content najlepiej zostaw nienaruszone (z g2nk).

melkormorgot

melkormorgot

Użytkownicy
posty24
  • Użytkownicy
Ale co zrobić, by hero miał zapas powietrza? W content mam wszystkie pliki z g2 (bez dodatku) oprócz classes.d
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry