AGFC
Страница 5 из 31 12345 678910111215 Последняя »

AGFC (http://agfc.ru/index.php)
-   AGFC: Valley of Gothic (http://agfc.ru/forumdisplay.php?f=46)
-   -   М:Декомпилятор скриптов Готики (http://agfc.ru/showthread.php?t=1095241429)

16.12.2004 14:56

Re: Декомпилятор скриптов Готики
 
Новогодний подарок Готикоманам!<br><br>Финальная консольная версия Компилятора-Декомпилятора Готики1 и 2 выложена DiccuricAG.<br><br>Дерзайте в модостроительстве!

TycoooN 16.12.2004 19:42

Re: Декомпилятор скриптов Готики
 
2Vam: <br>
Цитата:

Финальная консольная версия Компилятора-Декомпилятора Готики1 и 2 выложена DiccuricAG.
<br>А чем отличается от версии 1.3, если не секрет? ;D :pivo:

16.12.2004 20:12

Re: Декомпилятор скриптов Готики
 
2TycoooN:<br>
Цитата:

А чем отличается от версии 1.3, если не секрет?
<br>Исправлено больше десятка ошибок и неточностей при декомпиляции Готики2. &nbsp;:)<br>Хорошо бы еще проверить на других модах Готики2, но под рукой их, к сожалению, нет.

16.12.2004 23:53

Re: Декомпилятор скриптов Готики
 
2Vam:
Цитата:

2TycoooN:<br>А чем отличается от версии 1.3, если не секрет? <br>Исправлено больше десятка ошибок и неточностей при декомпиляции Готики2. &nbsp;<br>Хорошо бы еще проверить на других модах Готики2, но под рукой их, к сожалению, нет.
<br>Я проверял на Модификации для Г2 Bumshak v1.3...<br>Декомпилировал и обратно собрал ничего не изменяя (использовал версию декомпилятора 1.3), поиграл в мод, пока не заметил никаких косяков. Щас буду тестить Финальный релиз декомпилятора :)<br>Еще раз ВЕЛИКИЙ РЕСПЕКТ за декомпилятор!

19.12.2004 11:58

Re: Декомпилятор скриптов Готики
 
2Vam:
Цитата:

Вопрос модостроителям, патчевателям, скриптологам.<br>После внесения изменений в скрипты каким образом вы делаете тестирование? *
<br>Уважаемый Vam. При использовании вашего декомпилятора версии 1.4 (финальный релиз), заметил один неприятный глюк...<br>При декомпиляции *файлов gothic.dat и ou.bin из МОДификации для Г2 (Bumshak v1.3) и с последующей компиляцией &quot;декомпилированных файлов&quot; (даже без редактирования полученных скриптов), в МОДификации Bumshak v1.3 на всех паладинах, вместо Тяжелого доспеха Паладина, были одеты легкие доспехи ополчения (Задание в модификации на уничтожение Правления Паладинов)...<br>Доспехи на Рыцарях, ОнД, и ополчении остались соответсвтующими (я еще не всю модификацию просмотрел после перекомпилирования).<br>Еще раз рекспект за работу на декомпилятором :)

19.12.2004 12:30

Re: Декомпилятор скриптов Готики
 
Хм... Странно. Установил ПРЕДЫДУЩУЮ версию декомпилятора (1.3) и с помощью нее получил из файлов gothic.dat и ou.bin скрипты, перекомпилировал обартно в gothic.dat и ou.bin... <br>В этой версии (1.3) декомпилятора я глюков с Тяжелыми Доспеами паладинов в модификации Bumshak v1.3 не заметил :)

19.12.2004 14:41

Re: Декомпилятор скриптов Готики
 
2B Wolf:<br>Если ты знаешь ID номер Тяжелого доспеха Паладина, именно номер (это чило, например: 8458 ), а не имя номера, то необходимо его найти в декомпилированных скриптах и выслать мне кусок (функцию, инстанцию), где он встречается, буду исправлять.<br><br>Немного размышлений на эту тему: В скриптах встречаются переопределенные члены классов, аргументы функций, локальные и глобальные переменные. Переопределение производится с типа CLASS на тип INT. Рассмотрим для примера функцию void EquipItem(c_npc self,int item), в ней аргумент item типа c_item (ссылка на класс c_item или его производную) переопределен к типу int. В результате компиляции в датнике на месте аргумента появляется число (например 4574), вместо соответствующего имени класса c_item (например ItMW_Addon_Knife01). Задача состоит в том, чтобы отличить действительные типы int от переопределенных типов. В некоторых случаях это можно сделать автоматически, а в других случаях приходится вводить в программу шаблон функции с переопределенными аргументами.<br>Все бы однозначно решалось, если бы не было переопределенных функций, написанных в самих скриптах, а они есть! Вот поэтому я и сравнивал тексты декомпилированных и исходных скриптов, чтобы найти по максимуму такие ситуации и, или выработать новое правило обработки, или занести функцию в таблицу.<br>Я надеюсь, хоть кто-то что-то понял в моих размышлениях.<br>Еще одним из решений данной проблемы была задумка создать пользовательский файл, куда будут записываться функции с переопределенными аргументами, но вся сложность, чтобы найти такую функцию в скриптах. Это одна единственная, нерешенная до конца, проблема при декомпиляции скриптов. Может быть с вашей помощью удастся ее решить!

19.12.2004 15:43

Re: Декомпилятор скриптов Готики
 
2Vam:<br>ИНТЕРЕСНЫЕ ИССЛЕДОВАНИЯ!!!<br> <br>При декомпилировании GothicSourcer v1.4 и затем обратной перекомпиляцией GothicSourcer v1.4 - появляется проблема с &quot;Тяжелыми доспехами Паладинов&quot;.<br><br>При декомпилировании GothicSourcer v1.3 и затем обратной перекомпиляцией GothicSourcer v1.3 - проблем &quot;Тяжелыми доспехами Паладинов&quot; НЕ возникает.<br><br>При декомпилировании GothicSourcer v1.3 и затем обратной перекомпиляцией GothicSourcer v1.4 - снова появляется проблема с &quot;Тяжелыми доспехами Паладинов&quot;.<br><br>При декомпилировании GothicSourcer v1.4 и затем обратной перекомпиляцией GothicSourcer v1.3 - проблем &quot;Тяжелыми доспехами Паладинов&quot; НЕ возникает.<br><br>ВЫВОД: Обе версии GothicSourcer как декомпилятор работают правильно.. НО! Как компилятор, у меня нормально работала только GothicSourcer v1.3. Значит проблема заключается именно в ошибках компиляции новой версии GothicSourcer v1.4.<br><br>В скриптологии &quot;Готики&quot; я еще новичек, и не совсем понял ваших слов... Но теперь, после выяснения основной ошибки, думаю этих ID &quot;Тяжелого доспеха Паладина&quot; не потребуется :)<br>И еще... Я с помошью Compare It! сравнивал два gothic.dat, полученных разными версиями компилятора GothicSourcer, и нашел &quot;Тяжелые Доспехи Паладина&quot; номера строк в обоих gothic.dat были идентичные:<br>····0A·····················Доспехи паладина<br>яяяя···я12858<br>····0A············· ········ItAr_Pal_H.3ds<br>яяяя···я12859<br>····0 A·····················Armor_Pal_H.asc<br>яяяя···я 12860<br><br>ИМХО дело было не в доспехах, а в неправильном запросе строки доспеха от модели НПС, на которую этот доспех нужно было натянуть.<br><br>Ждем новых версий декомпилятора... и графической оболочки :)

20.12.2004 09:36

Re: Декомпилятор скриптов Готики
 
2B Wolf:<br>Я могу сделать так, чтобы при декомпиляции и последующей компиляции ничего не менялось, все дело в том (относится только к Готике2), что в некоторых версиях экзешника gothic2.exe имеются две дополнительные функции (о них я упоминал в Уроках скриптологии) - в результате невыявленные программой переопределенные параметры могут получить сдвиг по номеру +- 2. А так как переопределяются только ссылки на классы C_NPC и C_ITEM, то получим сдвиг по npc или предметам на +- 2. Если при декомпиляции датника учитывать, есть ли в нем эти две функции, и затем компилить новый датник или с этими функциями или без них.<br>Это все справедливо до тех пор, пока мы не начнем править скрипты, дописав нового npc или предмет (или удалив их из скриптов), мы получим опять сдвиг в невыявленных номерах.<br>Правильное и довольно полное решение содержится в посте №166.<br>

TycoooN 20.12.2004 18:02

Re: Декомпилятор скриптов Готики
 
Хм... у меня при попытке скомпилировать оригинальные немецкие скрипты Г2 декомпилятор версии 1.4 начинает ругаться на строчки slf.attribute, после замены на self.attribute по всем скриптам, ошибка исчезла ::) Непорядок :)<br>Кстати, ещё раз респект, на этот раз за то, что твоя прога создает gothic.dat и ou.bin за какие-то 30 секунд, в то время как Spacer'у на ту же операцию требуется минуты три ;D<br>

20.12.2004 18:31

Re: Декомпилятор скриптов Готики
 
2TycoooN:<br>
Цитата:

декомпилятор версии 1.4 начинает ругаться на строчки slf.attribute, после замены на self.attribute по всем скриптам, ошибка исчезла. &nbsp;Непорядок
<br>Я уже говорил, что сделал компилятор строже, чем в экзешнике, чтобы в дат файл попадало меньше ошибок при компиляции. В твоем примере, если подходить правильно, переменной slf в скриптах нет (значит компилятор ругается правильно). Правильное исправление будет не self.attribute, а просто attribute, как и есть в большинстве скриптов.

21.12.2004 01:12

Re: Декомпилятор скриптов Готики
 
2Vam: Есть идеи, как можно сделать, чтобы юзер не мог ввести марвина?

21.12.2004 02:55

Re: Декомпилятор скриптов Готики
 
2Vam:
Цитата:

Это все справедливо до тех пор, пока мы не начнем править скрипты, дописав нового npc или предмет (или удалив их из скриптов), мы получим опять сдвиг в невыявленных номерах.
<br>Хм... глюк у меня проявлялся даже если я ничего не изменял в декомпилированных скриптах, а просто перекомпилировал исходные...<br>Сейчас мне ничего не остается, как юзать версию 1.3... (вы писали, что в версии 1.4 по сравнению с предыдущей было исправлено несколько неточностей... Это сильно влияет на конечный gothic.dat?)

21.12.2004 09:47

Re: Декомпилятор скриптов Готики
 
finch:<br>
Цитата:

Есть идеи, как можно сделать, чтобы юзер не мог ввести марвина?
<br>Над этим вопросом пока не задумывался.<br><br>B Wolf:<br>
Цитата:

в версии 1.4 по сравнению с предыдущей было исправлено несколько неточностей... Это сильно влияет на конечный gothic.dat?
<br>Все исправления относились к выявлению переопределяемых типов. Например, после декомпиляции версией 1.3 в функции B_PlayerFindItem(var int itm,var int amount) в строке if(itm == ItMi_Gold) вместо слова ItMi_Gold будет записан четырехзначный номер, а в версии 1.4 эта запись получается правильной.<br>Все происходит потому, что аргумент itm фактически имеет тип C_ITEM, а при входе в функцию переопределяется к типу INT. Это только один из множества примеров с переопределением типов, необходимо обращать внимание на все подозрительные в скриптах цифры (четырехзначные) и по возможности сообщать мне.

TycoooN 27.12.2004 17:00

Re: Декомпилятор скриптов Готики
 
2Vam: <br>Почему-то никак не удается декомпилировать датники из оригинальной Г2, даже немецкой. Постоянно выдаёт ошибку: <br><br>00:06 Fault:0 *U: * PAR: : U: PAR: Error in Stack compile script - 'ORLAN_ANGRIFFWEGENMIETEFALSEORLAN_SCGOTHOTELZIMME RDAY == ' ( line 326 ) .... &lt;zError.cpp,#477&gt;<br><br>То же и с датником от Акеллы. Как можно это исправить, если можно? ::)

28.12.2004 11:46

Re: Декомпилятор скриптов Готики
 
TycoooN:<br>
Цитата:

Почему-то никак не удается декомпилировать датники из оригинальной Г2, даже немецкой. Постоянно выдаёт ошибку
<br>Насколько я помню, по этой ошибке декомпиляция не останавливается а выполняется до конца, затем необходимо в созданных исходниках найти строку с ошибкой и исправить ее, затем можно будет компилировать по новой. Оригинальные (правильные) строки в файле DIA_BAU_970_Orlan.d должны выглядеть следующим образом:<br> * * * * * *if (self.aivar[AIV_LastFightAgainstPlayer] == FIGHT_WON)<br> * * * * * *{<br> * * * * * * * * *Orlan_SCGotHotelZimmerDay = Wld_GetDay();<br> * * * * * * * * *Orlan_AngriffWegenMiete = FALSE;<br> * * * * * * * * *return FALSE;<br> * * * * * *};<br>Правда вместо AIV_LastFightAgainstPlayer в скобочках будет стоять число, это нормально. Красным выделены строки в которых будет ошибка (как они выглядят после декомпиляции сказать не могу).<br><br>ЗЫ: 1. При декомпиляции скриптов возможно появление ошибок (они присутствуют в разном виде в датниках).<br>2. Ни одна из ошибок при декомпиляции не должна приводить к остановке процесса (если такое замечено, просьба сообщать).<br>3. Все ошибки, которые необходимо устранить перед повторной компиляцией, в логах выделены красным цветом, имя файла, в котором они встретились, находится в логе строкой ниже.

29.12.2004 14:06

Re: Декомпилятор скриптов Готики
 
У меня постоянно ошибки выдает при запуске,а вообше не выдает ли фалы с расширением .scr?

TycoooN 29.12.2004 14:21

Re: Декомпилятор скриптов Готики
 
2Vam: <br>
Цитата:

Ни одна из ошибок при декомпиляции не должна приводить к остановке процесса (если такое замечено, просьба сообщать).
<br>У меня винда выдает сообщение о том, что мол пришлось отрубить работу программы :)

29.12.2004 14:54

Re: Декомпилятор скриптов Готики
 
TycoooN:<br>
Цитата:

У меня винда выдает сообщение о том, что мол пришлось отрубить работу программы
<br>Можешь привести полное содержание сообщения, буду разбираться, сообщи еще какой версией пользуешся и в каком режиме программы происходит вылет.<br><br>francisc:<br>
Цитата:

У меня постоянно ошибки выдает при запуске,а вообше не выдает ли фалы с расширением .scr?
<br>Об ошибках просьба писать подробно, а расширения .scr я не знаю, может имелось в виду .src?<br>

29.12.2004 15:26

Re: Декомпилятор скриптов Готики
 
2Vam: <br>Да это и имелось ввиду,просто я не из дома пишу,клава жёсткая,писать неудобно.<br>А файлы .d он открывает?

29.12.2004 15:54

Re: Декомпилятор скриптов Готики
 
francisc:<br>
Цитата:

А файлы .d он открывает?
<br>Почитай тему и реадми к проге, там все подробно расписано. &nbsp;;D

PA 29.12.2004 16:52

Re: Декомпилятор скриптов Готики
 
2Vam:<br><br>Появилась 3-я версия Готик файл эдитора<br>http://www.worldofgothic.de/dl/index.php?go=downloads&amp;file_id=114<br><br>Zur Bearbeitung aller Gothic Textformaten, &amp;#246;ffnet und speichert *.asc, *.mds, *.d, *.ini, *.src. <br><br>А то ты в другие ветки может не заглядываешь.<br><br>Успехов!!!<br>И всех с наступающим Новым Годом!!!<br>

TycoooN 29.12.2004 21:42

Re: Декомпилятор скриптов Готики
 
2Vam: <br>Да обычное сообщение винды: &quot;GothicSourcerV1_4.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.&quot;<br>Версия, стало быть, 1.4.<br>Происходит ошибка при декомпиляции любого датника от Г2 (включая Акелловский)<br>Вот что пишет zSpy: http://gothic3.allgothic.ru/filezzz/zspy.rar<br>

30.12.2004 13:20

Re: Декомпилятор скриптов Готики
 
TycoooN:<br>
Цитата:

Происходит ошибка при декомпиляции любого датника от Г2 (включая Акелловский)
<br>В присланных логах есть варнинги, которых в принципе быть не должно, есть подозрение, что прога у тебя стоит &quot;битая&quot;.<br>Предложения:<br>1. Попробуй заменить прогу.<br>2. Если 1 не поможет, то мне бы хотелось получить каким-нибудь образом датник, на котором происходит вылет.<br>ЗЫ: Все датники, какие у меня есть (1 и 2 Готик и всех модов), декомпилируются нормально, правда ошибки в них есть, но это для проги не смертельно.<br><br>Pa:<br>
Цитата:

А то ты в другие ветки может не заглядываешь.
<br>Спасибо за ссылку, в другие ветки не очень часто, но заглядываю. &nbsp; ;)

TycoooN 30.12.2004 13:51

Re: Декомпилятор скриптов Готики
 
2Vam: <br>
Цитата:

Предложения:<br>1. Попробуй заменить прогу.<br>2. Если 1 не поможет, то мне бы хотелось получить каким-нибудь образом датник, на котором происходит вылет.<br>ЗЫ: Все датники, какие у меня есть (1 и 2 Готик и всех модов), декомпилируются нормально, правда ошибки в них есть, но это для проги не смертельно.
<br>Скачал ещё раз. Не помогло. Ошибка происходит при декомпиляции ЛЮБЫХ датнков ориг. Г2: версии 1.28, 1.29, 1.30, немецких, русских... Аддонский датник, между тем декомпилируется нормально :(

30.12.2004 13:56

Re: Декомпилятор скриптов Готики
 
TycoooN:<br>Хорошо, вроде фаргусовский датник у меня где-то на диске был, буду анализировать! &nbsp;:)

30.12.2004 19:13

Re: Декомпилятор скриптов Готики
 
Всех с наступающим!<br>Не хочется о грустном, но такова селява...<br>Вчера проверял декомпилятор вер 1.4. Результаты такие:<br>проверено на ДАТ версий 1.28, 1.30, Лиценз. Г2, 2.6 адд.<br>Со всеми одно и то же. В конце работы вылетает с сообщением: <br>обнаружена ошибка, приложение будет закрыто. Лог содержит<br>порядка 1500-2000 и eror, и not found... Логи могу выслать.<br>НЕ декомпилирует ОУ ВООБЩЕ. Проверено и так и сяк...

Dagot_Ur 30.12.2004 21:10

Re: Декомпилятор скриптов Готики
 
Я был полностью уверен, что это невозможно. Но товарищ Vam сделал это. Я поражен! Мое глубочайшее почтение за этот декомпилятор. :)<br><br>P.S. Не могу декомпилировать никакой Gothic.dat из Gothic II.<br>[w] 00:01 Warn: 0 &nbsp;U: &nbsp; &nbsp;PAR: External AI_LOOKFORITEM not found. .... &lt;zParser_Symbol.cpp,#1123&gt;<br>[F] 00:01 Fatal:-1 U: &nbsp; PAR: Dat-File is not compatible (Classoffset changed) ! Please reparse ! .... &lt;zParser.cpp,#599&gt;

TycoooN 30.12.2004 22:08

Re: Декомпилятор скриптов Готики
 
2Dagot_Ur: <br>А ты запускаешь с -zgame:1? У меня такое выдаёт при декомпиляции датника не той части игры :)

30.12.2004 23:24

Re: Декомпилятор скриптов Готики
 
Декомпилятор V1.5 Новая версия выложена на DiccuricAG.<br>Убраны вылеты на ошибках при декомпиляции, добавлено правильное определение еще 4 переопределенных типов.<br><br>basilio58:<br>
Цитата:

НЕ декомпилирует ОУ ВООБЩЕ. Проверено и так и сяк...
<br>Не понял насчет ОУ, что ты хочешь с ним сделать?

TycoooN 30.12.2004 23:28

Re: Декомпилятор скриптов Готики
 
2Vam: <br>
Цитата:

Убраны вылеты на ошибках при декомпиляции
<br>А вот это радует. Бегу качать :D :D :D

TycoooN 30.12.2004 23:41

Re: Декомпилятор скриптов Готики
 
2Vam: <br>Всё, больше и правда не вылетает, огромное спасибо! :D :D :santa: :santa:

TycoooN 31.12.2004 15:39

Re: Декомпилятор скриптов Готики
 
Эх... третий пост подряд приходится писать... нехорошо получается ;D<br><br>2Vam: <br>Всё равно скомпилировать датник Г2 у меня пока не получается, теперь выдаёт такую ошибку: <br><br>[F] 00:07 Fatal:-1 U: * PAR: CONTENT\STORY\B_STORY\B_RAISEATTRIBUTE.D: Unknown identifier : FONT_SCREEN ( line 2223 ) .... &lt;zParser.cpp,#599&gt;<br><br>Больше всего поражает номер строки ::)<br>А счастье было так близко :D ;D :santa:

31.12.2004 17:28

Re: Декомпилятор скриптов Готики
 
TycoooN:<br>Нашел я ошибку, в старых версиях Готики 2 отсутствуют несколько встроенных функций, (это те, на которые декомпилятор вначале выдает варнинги), поэтому самый первый файл скриптов ..\Content\_intern\Constants.d создается не полностью, у него отсутствует начало (этот файл декомпилятор обзывает npc_flag_immortal.d и помещает в папку _misk_), необходимо в него скопировать несколько начальных строк из оригинального constants.d, тогда компиляция должна пройти успешно.<br>Приношу извинения за пропуск такой ошибки (повторную компиляцию вчера не тестировал), после праздников обязательно исправлю!<br><br>P.S. На номер строки при линковке можно внимание не обращать (уберу), просто линковщик сообщает, что такая-то переменная встретилась первый раз в таком-то файле, но ранее она не была объявлена, поэтому он ее не знает и значение ей присвоить не может.<br><br>Поздравляю всех с Новым Годом! *:elka: :santa:

TycoooN 31.12.2004 17:32

Re: Декомпилятор скриптов Готики
 
2Vam: <br>
Цитата:

необходимо в него скопировать несколько начальных строк из оригинального constants.d, тогда компиляция должна пройти успешно.
<br>Спасибо, никогда бы сам не догадался! :)

Dagot_Ur 31.12.2004 18:28

Re: Декомпилятор скриптов Готики
 
2TycoooN:
Цитата:

2Dagot_Ur: <br>А ты запускаешь с -zgame:1? У меня такое выдаёт при декомпиляции датника не той части игры
Эх, дурная голова! Все-таки ридми иногда полезно прочитать... :)<br><br>2Vam: При декомпиляции Gothic.dat, образующиеся файлы с диалогами немного не состыкуются... В чем дело я еще не разобрался, но при компиляции этих диалогов спейсером обратно в Gothic.dat, создаваемый файл Ouinfo.inf некорректно пишется.

TycoooN 31.12.2004 19:27

Re: Декомпилятор скриптов Готики
 
2Dagot_Ur: <br>
Цитата:

При декомпиляции Gothic.dat, образующиеся файлы с диалогами немного не состыкуются... В чем дело я еще не разобрался, но при компиляции этих диалогов спейсером обратно в Gothic.dat, создаваемый файл Ouinfo.inf некорректно пишется.
<br>А зачем ты компилируешь Спейсером, и почему тебя волнует какой-то там файл Ouinfo.inf? ;D :pivo:

Dagot_Ur 31.12.2004 19:58

Re: Декомпилятор скриптов Готики
 
2TycoooN:
Цитата:

А зачем ты компилируешь Спейсером, и почему тебя волнует какой-то там файл Ouinfo.inf?
При создании Gothic.dat, спейсер переносит фразы диалогов (что после //) в Ouinfo.inf. Далее при создании Ou.csl спейсер берет из Ouinfo.inf эти диалоги и создает из них Ou.csl.<br><br>2Vam: <br>Дело оказывается в AI_Output, т.е. это должно быть прописано именно большими буквами. Твой же декомпилятор везде пишет ai_output. Так что не везде распознавания не происходит... :)

31.12.2004 21:09

Re: Декомпилятор скриптов Готики
 
Dagot_Ur:<br>Я предлагаю компилировать скрипты декомпилятором, файл ou.bin создается корректно, на другие же файлы (ou.csl и ouinfo.inf), если имеется бинарный оу, екзешники Готик не реагируют. С заданными вопросами обязательно позже разберусь.<br>

PA 01.01.2005 00:37

Re: Декомпилятор скриптов Готики
 
2Vam:<br><br>Огромное спасибо за Декомпилятор!<br><br>Всех с наступающим Новым Годом!<br><br>Годом Готики 3!!!<br><br>


Текущее время: 19:52. Часовой пояс GMT +4.
Страница 5 из 31 12345 678910111215 Последняя »

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot

AGFC: Valley of Gothic © 2004-2022