• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

    Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
    По желанию, аргументировать свой выбор можете в теме обсуждения голосования.

Gothic Sourcer v3.16

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
  • Первое сообщение
  • #1
Gothic Sourcer v3.16
Модифицированный | Modified

Оригинальная версия Gothic Sourcer с небольшими правками.



Доступно к скачиванию через Менеджер ресурсов
- Скачать Менеджер Ресурсов - 1559419291725.png



1. Добавлен регистронезависимый поиск нелатинских символов.
1587172494536.png

2. Обновлен шрифт Courier до Courier New для лучшей читаемости кода.
1587176173832.png

3. Изменен кошмарно нечитаемый желтый цвет глобальных переменных на яркий розовый.
1587176416623.png

4. Добавлены агрессивные подсказки при наборе кода.
1587176541241.png

5. Исправлено неработающее временами меню справки.
1587176668070.png

6. Добавлено полноценное меню для новых внешних функций.
1587176759444.png

7. Типы INT и INSTANCE взаимозаменяемы.
1588298226097.png

8. Сделан статический путь к файлу справки.
1588298226097.png

9. Агрессивная подсветка вводимых в функцию аргументов. Начинает показывать аргументы сразу, как только каретка входит в область аргументов.
3.png
10.1 Чтобы сорсер показывал список членов вместо списка аргументов, нужно просто нажать Esc и начать вводить слово.
10.2 И наоборот нажать Esc во время показа членов, чтобы вернуться к списку аргументов.

11. Агрессивный список членов может предлагать ввод члена из любого места в слове.
4.png
11.1. Агрессивный список членов предлагает локальные переменные функции
11.2. Агрессивный список членов предлагает в прототипах/инстанциях поля класса, от которого те образованы

12. ПОЛНОСТЬЮ удален родной анализатор синтаксиса
12.1 Моментальная загрузка любых проектов
12.2. Мультипоточный анализ всего и вся
12.3. Обновление объектов проекта в реальном времени
12.4. Вывод ошибок в реальном времени в окно 'Ошибки'

13. Добавлена синтаксическая ошибка для незакрытых условий if.
5.png

14. Добавлены кнопки 'Открыть папку проекта' и 'Открыть папку файла'.
6.png
7.png

15. Лог файл GothicSourcer.log рядом с exe'шником.

16. Разблокировано положение всплывающих подсказок для обладателей нескольких мониторов
8.png

* Чтобы обновить шрифты после старой версии Gothic Sourcer, необходимо открыть любой проект, зайти во вкладку Вид/Сбросить шрифты, а затем перезапустить программу.
* В отличии от Gothic Sourcer 3.15, формат внешних функций идентичен справочному, при этом сам файл может быть скомпилирован под любую платформу игры. Внешние функции также будут принимать участие в подсветке синтаксиса и в агрессивном списке символов. Также после добавления функций, перезапустите программу, чтобы изменения вступили в силу.
* Если появляются ошибки при открытии справочных материалов, то следует почистить реестр от старых записей Gothic Sourcer.
 
Последнее редактирование модератором:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.222
Благодарности
3.450
Баллы
485
Надо было лог сразу скидывать
Сегодня произошло в третий раз, при обычном одиночном клике на строковое значение. Хотела изменить здесь 01 на 02:
Daedalus:
Doc_PrintLine(nDocID,1,ConcatStrings(IntToString(FIX_VERSION_START)," версия от 01/05/2020"));


Повторно воспроизвести не удалось, но сохранился лог:
 

Вложения

  • GothicSourcer.zip
    16,5 KB · Просмотры: 17

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.222
Благодарности
3.450
Баллы
485
И ещё один вылет, на этот раз при закрытии вкладки с файлом DIA_VLK_449_Lares.d. После закрытия активной вкладкой стал файл Testmodelle_Kalveram.d, где есть строка, которая вызвала (?) прошлый вылет.
Лог:
 

Вложения

  • GothicSourcer.zip
    15,2 KB · Просмотры: 9

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
D36, во, совсем другое дело. Замени, сейчас подробнее посмотрим. А может даже и зафиксится уже
 

Вложения

  • ucore64.7z
    52,9 KB · Просмотры: 17

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.222
Благодарности
3.450
Баллы
485
Жалуется на неожиданный конец файла:
Daedalus:
func void B_Video()
{
    /*AI_Output(self,other,"INTRO_Xardas_Speech_14_00");    //Один заключенный изменил судьбу сотен.
    AI_Output(self,other,"INTRO_Xardas_Speech_14_01");    //Но он заплатил за это высокую цену...
    AI_Output(self,other,"INTRO_Xardas_Speech_14_02");    //Он победил Спящего и уничтожил Барьер...
    AI_Output(self,other,"INTRO_Xardas_Speech_14_03");    //...но, когда остальные заключенные вырвались на свободу, он остался лежать под грудой камней...
    AI_Output(self,other,"INTRO_Xardas_Speech_14_04");    //Это я отправил его на бой со Спящим.
    AI_Output(self,other,"INTRO_Xardas_Speech_14_05");    //И теперь я вызволю его оттуда.
    AI_Output(self,other,"INTRO_Xardas_Speech_14_06");    //Он слаб, и многое забыл.
    AI_Output(self,other,"INTRO_Xardas_Speech_14_07");    //Но он жив...
    AI_Output(self,other,"INTRO_Xardas_Speech_14_08");    //Он вернулся!
    AI_Output(self,other,"INTRO_DiegoGorn_12_00");    //(вздыхает) Конечно же, он еще жив. А ты как думал?
    AI_Output(self,other,"INTRO_DiegoGorn_11_01");    //Будем надеяться...
    AI_Output(self,other,"INTRO_DiegoGorn_12_02");    //Ох! Ты чувствуешь это?
    AI_Output(self,other,"INTRO_DiegoGorn_11_03");    //Что?
    AI_Output(self,other,"INTRO_DiegoGorn_12_04");    //Земля...
    AI_Output(other,self,"Extro_Tempel_15_01");    //(в изумлении) Ксардас! Что...
    AI_Output(other,self,"Extro_Tempel_14_02");    //(недовольно) Не сейчас...
    AI_Output(other,self,"Extro_Tempel_14_03");    //(фанатично) Я готов... выбери меня! Да...
    AI_Output(other,self,"Extro_Tempel_15_04");    //Хм, где же он?
    AI_Output(self,other,"OUTRO_Xardas_14_00");    //(цитирует) И человек убил зверя и вошел в царство Белиара...
    AI_Output(other,self,"OUTRO_Xardas_15_01");    //Ксардас! Что именно произошло в Храме Ирдората?
    AI_Output(self,other,"OUTRO_Xardas_14_02");    //С помощью Инноса ты уничтожил воплощение Зла.
    AI_Output(self,other,"OUTRO_Xardas_14_03");    //И я впитал его силу...
    AI_Output(self,other,"OUTRO_Xardas_14_04");    //С тех пор, как я покинул Круг Огня, это было единственной моей целью.
    AI_Output(self,other,"OUTRO_Xardas_14_05");    //Чтобы достичь ее, я помог тебе выполнить твое предназначение.
    AI_Output(self,other,"OUTRO_Xardas_14_06");    //То, что мне не удалось в Храме Спящего, наконец, свершилось.
    AI_Output(self,other,"OUTRO_Xardas_14_07");    //Белиар выбрал меня.
    AI_Output(other,self,"OUTRO_Xardas_15_08");    //Так ты теперь повинуешься богу Тьмы?
    AI_Output(self,other,"OUTRO_Xardas_14_09");    //Нет. Я повинуюсь Белиару не больше, чем ты повинуешься Инносу!
    AI_Output(self,other,"OUTRO_Xardas_14_10");    //Даже боги не знают, какая судьба нас ждет...
    AI_Output(self,other,"OUTRO_Xardas_14_11");    //И я только начинаю осознавать возможности, которые открываются передо мной...
    AI_Output(self,other,"OUTRO_Xardas_14_12");    //Но одно можно сказать с определенностью. Мы еще встретимся...
    AI_Output(self,other,"OUTRO_Xardas_04_00");    //(кричит) До встречи!
    AI_Output(self,other,"Cutscene_Drachen_04_00");    //(смотрит вдаль, видит что-то) Хммм?
    AI_Output(self,other,"Cutscene_Drachen_04_01");    //(бормочет) Ох, черт!
    AI_Output(self,other,"Cutscene_Drachen_04_02");    //(задыхается кашляет)
    AI_Output(self,other,"Cutscene_Drachen_04_03");    //Аааааа! (разное)
    AI_Output(self,other,"Cutscene_Drachen_04_04");    //(долгий предсмертный крик, 4 секунды)
    AI_Output(self,other,"Cutscene_OrcSturm_04_00");    //Закройте ворота!!! (разное)
    AI_Output(self,other,"Cutscene_OrcSturm_04_01");    //Остановите их!!! (разное)
    AI_Output(self,other,"Cutscene_OrcSturm_04_02");    //Аааааа! (разное)
    AI_Output(self,other,"OUTRO_Schiff_12_00");    //Мы перегружены. Мы должны выбросить часть золота за борт.
    AI_Output(other,self,"OUTRO_Schiff_15_01");    //Руки прочь от этого золота!
    AI_Output(self,other,"OUTRO_Schiff_12_02");    //Послушай, будет действительно лучше, если мы...
    AI_Output(other,self,"OUTRO_Schiff_15_03");    //Я даже и слышать не хочу об этом...
    AI_Output(self,other,"OUTRO_Schiff_11_04");    //Я слышал, война с орками идет плохо...
    AI_Output(other,self,"OUTRO_Schiff_15_05");    //И?
    AI_Output(self,other,"OUTRO_Schiff_11_06");    //Возможно, нам все равно нигде не удастся потратить все это золото...
    AI_Output(other,self,"OUTRO_Schiff_15_07");    //Это золото останется на борту!
    AI_Output(self,other,"OUTRO_Schiff_12_08");    //Что толку от этого золота, если мы опрокинемся в самый легкий шторм?
    AI_Output(other,self,"OUTRO_Schiff_15_09");    //Но я не вижу шторма...
    AI_Output(self,other,"OUTRO_Schiff_12_10");    //ПОКА нет...
    AI_Output(other,self,"OUTRO_Schiff_15_11");    //Расслабься! Все будет в порядке!
    AI_Output(other,self,"DIA_Addon_AddonIntro_15_00");    //(ошеломлен) ...люди?
    AI_Output(self,other,"DIA_Addon_AddonIntro_14_01");    //(пренебрежительно) Люди слабы.
    AI_Output(self,other,"DIA_Addon_AddonIntro_14_02");    //(пренебрежительно) Они слишком легко поддаются соблазнам Зла.
    AI_Output(self,other,"DIA_Addon_AddonIntro_14_03");    //Таким образом они вовлекаются в дела, которые не могут понять и уж тем более не могут контролировать.
    AI_Output(self,other,"DIA_Addon_AddonIntro_14_04");    //Твердые в своей вере уже начали сражение с врагом.
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_00");    //После исчезновения Барьера и уничтожения Спящего, гнев Белиара стал еще страшнее!
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_01");    //Мощнейший артефакт будет возвращен в этот мир, так пишут в древних книгах.
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_02");    //(цитируя) 'Когда Бог Тьмы пошлет своих приспешников на поиски...'
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_03");    //Именно это и произошло.
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_04");    //Этот поиск начался давным-давно!
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_05");    //Во время поисков приспешники Белиара оскверняют древнейшие алтари богов.
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_06");    //Приспешники Белиара оскверняют древнейшие алтари богов.
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_07");    //Хранители этих священных реликвий пробудились. И их гнев сотрясает землю!
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_08");    //Каждый сильный маг на этом острове способен ощутить их гнев.
    AI_Output(self,other,"DIA_Addon_Xardas_AddonIntro_Add_14_09");    //И некоторые из них определенно начали готовиться к встрече с угрозой.*/
};
А как правильно?

D36, во, совсем другое дело. Замени, сейчас подробнее посмотрим. А может даже и зафиксится уже
Пока порядок:
 

Вложения

  • GothicSourcer.zip
    15,5 KB · Просмотры: 11
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
Жалуется на неожиданный конец файла:
Он тело функции пытается игнорировать, а игнорировать нечего. Убрал это. Еще сократил интервал между обновлением редактируемого файла до 1 секунды бездействия. В подсказки кинул стандартные операторы дедала, типа func, instance, if, return и так далее.
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
663
Баллы
245
Запустил функцию заменить в файлах. Зависла программа.
Для теста взял проект Camera.DAT. (Два файла).
Менял bestrange на bestRange.
 

Вложения

  • Безымянный.png
    Безымянный.png
    64,6 KB · Просмотры: 73
  • GothicSourcer.rar
    967 байт · Просмотры: 17

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
663
Баллы
245
Закрыл программу нажатием на крестик.
 

Вложения

  • Безымянный.png
    Безымянный.png
    101,9 KB · Просмотры: 61
  • GothicSourcer.rar
    16,2 KB · Просмотры: 8

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
Да, это я знаю, просто при закрытии я не стал делать ожидание, пока второй поток завершит работу. Потом займусь этим.
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.119
Благодарности
584
Баллы
350
Gratt, А есть способ добавить обработку Ikarus? Просто что-нибудь намекающие на это я не нашел, а сам сурсер при компиляций его крашится
 

Вложения

  • GothicSourcer.txt
    586,3 KB · Просмотры: 9

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
Lorddemonik, ты видимо не очень понял... Я не шарю от слова совсем, я без понятия какие они там себе закорючки придумали и что они означают. Спроси сатураса, захочет он сделать это или нет.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Нее, я в это не полезу, мне спейсера хватает)
Да и в целом, проще икарус компилить игрой, это ничего не стоит, даже быстрее.
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.119
Благодарности
584
Баллы
350
Нее, я в это не полезу, мне спейсера хватает)
Да и в целом, проще икарус компилить игрой, это ничего не стоит, даже быстрее.
Тут проблема не в том, что игрой быстрее, а в том, что уже все как привыкли компилить сурсером, благо возможность есть. Да и переучивать и объяснять людям как компилировать игрой та ещё морока. Вроде как хочется пользоваться 16 сурсером, но ввиду того, что существуют проекты на костылях Икаруса, возникают закономерные проблемы.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Ну, для начала завершим все первостепенные проекты, потом мб подумаем за икарус, но не факт что что то адекватное выйдет, в конце-концов, икарус может быть не во всех случаях адекватно скомпилен сорсерным парсером, в силу того что парсер который в сорсере, он хоть и является "частью" готы, но лишь отчасти, в нем многое переписано, по этому это заведомо идея не очь.

А игрой компилить просто, нужно просто в 3.16 добавить функцию копирования всех исходников скриптов игру, и дальше достаточно просто запустить игру с zreparse. + для игры есть плагин исправляющий вывод ошибок. + можно компилить скрипты новым спейсером.
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
663
Баллы
245
Вылет при повторной компиляции.
 

Вложения

  • GothicSourcer.rar
    4,2 KB · Просмотры: 8

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.222
Благодарности
3.450
Баллы
485
Вылет после сохранения проекта (Файл - Сохранить всё). Благо, всё сохранилось.
 

Вложения

  • GothicSourcer.zip
    51,8 KB · Просмотры: 11

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
663
Баллы
245
Вставил функцию PrintDebugInst и нажал Ctrl + Пробел для отображения необходимых параметров.
Вылет. Проверил несколько раз.
 

Вложения

  • 1590299846289.png
    1590299846289.png
    104 KB · Просмотры: 37
  • GothicSourcer.rar
    665 байт · Просмотры: 7

Raven25

Участник форума
Регистрация
18 Дек 2018
Сообщения
186
Благодарности
75
Баллы
190
Гс не даёт возможности скомпилировать скрипт, выдаёт ошибку "Неправильное имя класса или прототипа Npc_Default"
И это не только в новом проекте, но и в оригинальных скриптах от первой и второй готики.
+ выдаются ошибки в скриптах оригинальной готики 1 и 2, хотя я не изменял.

Screenshot_2.pngScreenshot_3.pngScreenshot_4.pngScreenshot_5.pngScreenshot_9.pngScreenshot_8.png
Screenshot_10.png

п.с Сейчас проверю как будет ругатся гс3.15
Пост автоматически объединён:

Докладываю, версии гс 3.14 и 3.15 такое не выдают *executive*
 
Последнее редактирование:
Сверху Снизу