Plugin DLL инструкции

Следующие инструкции — для вызова DLL plugins и расширений движка (DLL = Dynamic Link Library). DLL plugins можно использовать со всеми версиями GameStudio . Они могут быть сделаны в системе разработки подобно Visual C++™, Borland™, или Delphi™, и GameStudio SDK (Source Development Kit) который покупается отдельно. Детали о создании DLL plugins можно найти в GameStudio Programmer’s Manual, которое доступно на вебсайте.
Перед использованием DLL-функции переменная DLL_handle должна получить дескриптор открытого DLL и должен быть объявлен прототип функции DLL. Это делается как с обычной функцией, но вместо function испоьзуется ключевое слово dllfunction. Также как и обычные функции, функция DLL может получать до 4 параметров и возвращать значение. Пример:
dllfunction vector_add(&vec1,&vec2,&vec3); // объявление dll-функции
После декларации vector_add может вызываться подобно обычной функции, если она существует в пределах открытой DLL:
vector_add(temp,my.x,you.x);
Для открытия и закрытия DLL доступны следующие функции:

handle = dll_open (string)
Открывает и активизирует DLL , имя которой задается строкой string, и возвращает дескриптор DLL. Предопределенная переменная DLL_handle автоматически установлена на этот дескриптор. DLL дескрипторы необходимы только если больше одной DLL используются одновременно. DLL файл должен действительно существовать в директории игры, он не может быть зашит в файле ресурса. Если DLL не найден, функция возвращает 0. Пример:
var_nsave effects_handle;

effects_handle = dll_open(«effects.dll»);

dll_close (handle)
Закрывает DLL с данным дескриптором. Дескриптор становится недействительным после этой инструкции. Весь открытые DLL должны быть закрыты при выходе.

Добавить комментарий