Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
11.06.2011 00:43

Olegus t.Gl.
Участник (+1049, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2866
Вебсайт

Библиотеки/модули для QSP

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

Неактивен

0    0    #2
11.06.2011 01:10

Olegus t.Gl.
Участник (+1049, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2866
Вебсайт

Re: Библиотеки/модули для QSP

В процессе написания Адского движка™ у меня накопилось изрядное количество вынесенных в отдельные файлы модулей-библиотек. Из-за их количества есть соблазн положить их в директорию "..\libs\", но из-за этого сразу возникает проблема. Если одна первая библиотека подключает в своём коде вторую (необходимую ей для работы), то при подключении командой ADDQST 'libs\первая.qsp' первой библиотеки и её "инициализации" (вызове какой-нибудь стартовой функции, чтобы заполнить внутренние переменные, константы и т.п.), вторая библиотека не будет подключена, поскольку поиск в этом случае будет осуществляться в корневой директории.

Варианта два:

  1. Добавить в платформу команду проверки наличия файла, который хотелось бы загрузить. Т.о. можно проверять сначала в корне, потом — в "..\libs\", потом — ещё где-нибудь.
  2. Возложить функцию подключения всех библиотек на основной файл игры, т.е. автора. А в функциях инициализации каждой библиотеки проверять наличие нужных функций (хотя бы одной) тех библиотек, которые необходимы ей для работы. И в случае отсутствия таковых — выводить предупреждение, типа "необходимо подключить библиотеку такую-то".

Как-то так…

Неактивен

0    0    #3
11.06.2011 07:41

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Библиотеки/модули для QSP

Сходу можно сказать, что второй вариант не практичен, особенно с позиции автора.

А вот первый это да, только тут неясно выражено обращение. Да и по логике вещей, должно строиться так. От корневой папки, где запускается исполняемый файл, берется путь и ориентация сначала идет с него, а потом по специальным путям, где лежат все библиотеки. Т.е. при указании относительного адреса (лучше без абсолюта обойтись), проигрыватель сначала проверит корневой+относительный путь, проверит корневой путь и только после этого проверит в своих папках (папка с виндой в эту же категорию или .Net). Коли ни в одном случае нету, то и можно тогда сообщить об отсутствии такой-то библиотеки. Именно, так делается в программах. Но при этом, разработчик платформы, должен четко определить в каком порядке, что будет читаться при отсутствии библиотеке и где все эти библиотеки должны располагаться (в папке с игрой, в папке библиотек и т.д.).

Тогда от этой идеи будет толк, даже на уровне авторов.

Неактивен

0    0    #4
11.06.2011 10:37

Olegus t.Gl.
Участник (+1049, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2866
Вебсайт

Re: Библиотеки/модули для QSP

Eten написал:

Сходу можно сказать, что второй вариант не практичен, особенно с позиции автора.

Это вариант вполне практичен, если другой возможности нет.

Eten написал:

Да и по логике вещей, должно строиться так. От корневой папки, где запускается исполняемый файл, берется путь и ориентация сначала идет с него, а потом по специальным путям, где лежат все библиотеки. Т.е. при указании относительного адреса (лучше без абсолюта обойтись), проигрыватель сначала проверит корневой+относительный путь, проверит корневой путь и только после этого проверит в своих папках… Именно, так делается в программах.

Этэн, мы говорим не о проигрывателе, а о коде самой игры. Файл с игрой может лежать где угодно, исполняемый файл проигрывателя — ещё где-нибудь. Ты хотя бы пытайся отвечать в контексте платформы, о которой идёт речь.

Неактивен

0    0    #5
11.06.2011 15:41

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Библиотеки/модули для QSP

Olegus t.Gl. написал:

Этэн, мы говорим не о проигрывателе, а о коде самой игры. Файл с игрой может лежать где угодно, исполняемый файл проигрывателя — ещё где-нибудь. Ты хотя бы пытайся отвечать в контексте платформы, о которой идёт речь.

Вообще то я ответил в рамках темы. Раз автор платформы решил по этой теме кое-что сделать, то я сделал свою заметку. А вот, когда он это сделает или откажется это делать, тогда оно и понятно. Так что, давай, сначала увидим в действии, а уж потом и будем говорить в контексте платформы. Все равно щас этого нету, но имеется этап перехода к библиотекам. wink

З.Ы.
Хм, в любом случае, есть интерес глянуть на это. Хотя уже добавить больше нечего. smile

Неактивен

Powered by PunBB
© copyright 2001–2022 iFiction.Ru