FANDOM


W artykule brakuje 3 rzeczy:

  • opisu postawienia własnego repozytorium SVN - Google powie wszystko, co potrzeba
  • listy tanich/darmowych hostingów umożliwiających postawienie repo - polecam www.vipserv.org
  • opisu przygotowania pierwszej wersji ADV do wrzucenia na repo - z tym zapisywaniem module.ifo było nieco zabawy

Napiszcie do mnie, jeśli potrzebujecie lepszego rozpisania któreś części tego tekstu.

WstępEdytuj

SubversionEdytuj

SVN (od Subversion) jest to jeden z najpopularniejszych systemów kontroli wersji. Służy do ułatwienia, usystematyzowania i znacznego zautomatyzowania łączenia pracy wielu ludzi nad jednym projektem. SVN przechowuje każdą wersję pliku, która została wrzucona do repozytorium i pozwala na dostęp oraz w razie potrzeby powrót do pożądanych wersji plików.

Oszukujemy edytor, by budował moduł z katalogu plikówEdytuj

Za każdym razem, gdy otwierasz moduł (plik ADV) w D'jinnim, to zawartość tego modułu zostaje wypakowana do specjalnego katalogu tymczasowego (__ResourcesUnpackTmp). Pracując w edytorze, pracuje się na tych plikach. Funkcja "Save module" zapisuje zmiany do pliku ADV. W czasie zamykania modułu/edytora te tymczasowe pliki są kasowane. Jednak D'jinni, jak każdy windowsowy program, lubi czasem nieoczekiwanie zawiesić się i zdechnąć - oczywiście wtedy zmiany nie są zapisywane do modułu. Dlatego projektanci edytora dodali funkcję odzyskiwania pracy po crashu. Edytor przy każdym starcie sprawdza, czy w folderze tymczasowym są jakieś pliki. Jeśli tak, to uznaje, że poprzednio nie został właściwie zamknięty i pyta nas, czy odzyskać moduł.
Właśnie tą funkcję wykorzystujemy do zmuszania D'jinniego do współpracy z SVN, czego normalnie udostępniona nam wersja nie wspiera. Umyślnie zamykamy edytor w nieprawidłowy sposób - zabicie procesu aplikacji poprzez Menedżer zadań. Przed ponownym uruchomieniem podrzucamy mu uaktualnione pliki źródłowe, z których potem buduje moduł.
Małe utrudnienie polega na tym, że w katalogu tymczasowym musi znajdować się plik module.ifo podobny do tego, który jest częścią pliku ADV. Jeśli nie istnieje odpowiedni plik ADV, to edytor uznaje, że pliki tymczasowe nie są do niczego potrzebne i usuwa je zamiast odzyskiwać.

Potrzebne aplikacjeEdytuj

  1. TortoiseSVN
  2. Total Commander - bardzo przydatny do operacji na plikach pod systemem Windows.

Przygotowanie modułu do pierwszej wysyłki na repoEdytuj

  1. Utwórz katalog lokalnego repozytorium, np. MyAdventure.
  2. W tym katalogu zrób kolejne 3 katalogi: trunk, tags i branches. To standardowe katalogi w repozytoriach SVN.
  3. Otwórz moduł w D'jinnim.
  4. Przejdź do katalogu, do którego D'jinni zwykł wypakowywać zawartość modułu. W Windows XP jest to C:\Documents and Settings\[your_account]\Local Settings\Application Data\The Witcher\temp, w Windows Vista/7 C:\Users\[your_account]\App Data\Local\The Witcher\temp.
  5. Skopiuj katalog '__ResourcesUnpackTmp' do MyAdventure\trunk.
  6. Przejdź do powyższego katalogu, którego zawartość przed chwilą skopiowałeś. Usuń wszystkie pliki poza module.ifo.
  7. Zapisz moduł jako MyAdventure.adv. Zrestartuj D'jinniego i sprawdź, czy w module pozostał tylko ten 1 plik (czasem zostają puste definicje obszarów) - jeśli nie, usuń te pozostałe i ponownie zapisz moduł.
  1. Skopiuj MyAdventure.adv do katalogu MyAdventure.
  2. Zabij proces djinni.exe.
  3. Upewnij się, czy edytor jest w stanie poprawnie zbudować moduł.
    1. Wykonaj kopiowanie odwrotne do punktu 5.
    2. Odpal edytor. Powinno pojawić się okienko z pytaniem, czy odzyskać pliki. Potwierdź.
    3. Zapisz moduł. Odpal moduł w trybie gry, sprawdź czy wczytuje się poprawnie. Zagraj chwilę.
    4. Jeśli wszystko jest OK, wykonaj operację commit z MyAdventure.

Instrukcja dla pobierającego modułEdytuj

Pobranie repozytorium na dyskEdytuj

Aktualna wersja modułu jest przechowywana w repozytorium SVN. Aby pobrać zawartość repo na dysk:

  1. Tworzymy w wybranym przez siebie miejscu katalog w którym będzie przechowywana lokalna kopia repozytorium.
  2. Klikamy prawym szczurem na katalog repozytorium, wybieramy opcję 'SVN Checkout'. Operacja ta oznacza pobranie całej interesującej nas zawartości z repozytorium od nowa, w odróżnieniu od operacji 'Update'.
  3. Wyskoczy okno dialogowe. Jedyną rzeczą, którą musimy tam uzupełnić jest pole 'URL of repository' - czyli adres miejsca na serwerze, na którym trzymane są pliki. Pozostałe pola pozostawiamy bez zmiany.
  4. Czekamy aż operacja checkout dobiegnie końca. Badania wykazały, że wyłącznie kompa w czasie pobierania negatywnie wpływa na prędkość transferu ;)

Budowanie modułu z repozytorium po raz pierwszyEdytuj

Jeśli wszystko poszło dobrze, w naszym lokalu (lokalna kopia plików z serwera) powinniśmy teraz mieć katalog '__ResourcesUnpackTmp' czyli pełną zawartość modułu oraz plik ADV. Sam proces otwierania jest prosty, aczkolwiek troszeczkę kombinowany.

  1. Jeśli masz na dysku starą wersję, tą korzystającą z Override, to usuń ją. I plik ADV i Override.
  2. Przejdź do katalogu, w którym gra przechowuje pliki ADV. W XP to C:\Documents and Settings\All Users\Dokumenty\The Witcher, w Vista/7 to C:\Users\Public\Documents\The Witcher. Wrzuć tam pobrany moduł (np. m4_ifrit.adv) - to specjalnie przygotowana wersja zawierająca tylko jeden plik (module.ifo), która posłuży nam do oszukania D'jinniego.
  3. Odpal edytor i otwórz ten moduł.
  4. Otwórz menedżer zadań i zabij proces djinni!.exe.
  5. Przejdź do katalogu, do którego D'jinni zwykł wypakowywać zawartość modułu. W Windows XP jest to C:\Documents and Settings\[your user name]\Local Settings\Application Data\The Witcher\temp\__ResourcesUnpackTmp, w Windows Vista/7 C:\Users\[your account]\App Data\Local\The Witcher\temp\__ResourcesUnpackTmp.
  6. Skopiuj pliki katalogu '__ResourcesUnpackTmp' z lokala do katalogu z puntu powyżej. Nie kopiuj podkatalogu ".svn".
  7. System zapyta cię, czy zastąpić plik module.ifo. Potwierdź.
  8. Odpal edytor. Powinno pojawić się okienko z pytaniem, czy odzyskać pliki. Potwierdź.
  9. Zapisz moduł, opcja Module\Save module.
  10. Ciesz się grą.

Kolejne buildy modułuEdytuj

  1. Jeśli masz zapisany plik ADV z poprzedniego kroku, powtórz kroki 5-6. Jeśli masz pliki z innego modułu w katalogu tymczasowych, musisz je usunąć.
  2. System zapyta cię, czy nadpisać pliki. Nadpisz wszystkie.
  3. Powtórz kroki 8-10.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Więcej z Fandomu

Losowa wiki