From 43ffda7be24816d3579b960d650acd0e63593e73 Mon Sep 17 00:00:00 2001 From: "p.kosyh" Date: Mon, 28 Feb 2011 09:04:59 +0000 Subject: [PATCH] docs up --- doc/Makefile | 15 +++ doc/Makefile.windows | 2 + doc/modules/click.txt | 31 ++++++ doc/modules/dash.txt | 19 ++++ doc/modules/dbg.txt | 19 ++++ doc/modules/format.txt | 18 ++++ doc/modules/hideinv.txt | 28 +++++ doc/modules/hotkeys.txt | 231 ++++++++++++++++++++++++++++++++++++++++ doc/modules/para.txt | 19 ++++ doc/modules/prefs.txt | 37 +++++++ doc/modules/quotes.txt | 34 ++++++ doc/modules/theme.txt | 60 +++++++++++ doc/modules/timer.txt | 43 ++++++++ doc/modules/xact.txt | 59 ++++++++++ 14 files changed, 615 insertions(+) create mode 100644 doc/modules/click.txt create mode 100644 doc/modules/dash.txt create mode 100644 doc/modules/dbg.txt create mode 100644 doc/modules/format.txt create mode 100644 doc/modules/hideinv.txt create mode 100644 doc/modules/hotkeys.txt create mode 100644 doc/modules/para.txt create mode 100644 doc/modules/prefs.txt create mode 100644 doc/modules/quotes.txt create mode 100644 doc/modules/theme.txt create mode 100644 doc/modules/timer.txt create mode 100644 doc/modules/xact.txt diff --git a/doc/Makefile b/doc/Makefile index 0f99f29..cd4a7d8 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -15,12 +15,27 @@ wiki: wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:documentation&do=export_raw" -O writing_games.txt wget "http://instead.syscall.ru/wiki/doku.php?id=en:gamedev:documentation&do=export_raw" -O writing_games-en.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:click&do=export_raw" -O modules/click.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:format&do=export_raw" -O modules/format.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:hideinv&do=export_raw" -O modules/hideinv.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:prefs&do=export_raw" -O modules/prefs.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:timer&do=export_raw" -O modules/timer.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:xact&do=export_raw" -O modules/xact.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:dash&do=export_raw" -O modules/dash.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:dbg&do=export_raw" -O modules/dbg.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:hoykeys&do=export_raw" -O modules/hotkeys.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:para&do=export_raw" -O modules/para.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:quotes&do=export_raw" -O modules/quotes.txt + wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:theme&do=export_raw" -O modules/theme.txt + clean: all: install: $(INSTALLD) $(DOCPATH) $(INSTALL) *.html *.txt *.pdf $(DOCPATH) + $(INSTALLD) $(DOCPATH)/modules + $(INSTALL) modules/*.txt $(DOCPATH)/modules $(INSTALLD) $(MANPATH) $(INSTALL) *.6 $(MANPATH) diff --git a/doc/Makefile.windows b/doc/Makefile.windows index de860d5..1b73a81 100644 --- a/doc/Makefile.windows +++ b/doc/Makefile.windows @@ -2,6 +2,8 @@ clean: all: install: if not exist ..\bin\doc mkdir ..\bin\doc + if not exist ..\bin\doc\modules mkdir ..\bin\doc\modules copy /Y *.txt ..\bin\doc copy /Y *.html ..\bin\doc copy /Y *.pdf ..\bin\doc + copy /Y modules\*.txt ..\bin\doc\modules diff --git a/doc/modules/click.txt b/doc/modules/click.txt new file mode 100644 index 0000000..5b1ab95 --- /dev/null +++ b/doc/modules/click.txt @@ -0,0 +1,31 @@ +====== Модуль Click ====== + +^ Подключение | require %%"%%click%%"%% | +^ Тип | расширение кода | +^ Зависимости | нет | + +===== Описание ===== + +Модуль позволяет удобным способом отслеживать клики мышкой по картинке сцены. +При этом, во время клика будет вызван обработчик click текущей сцены, или +одноименный обработчик game.click. В параметрах передаются координаты клика (x, y) +в системе координат оригинального (немасштабированного) изображения. Координата 0,0 соответствует +верхнему левому углу. + +===== Примеры использования ===== + +game.click = function(s, x, y) + p ("Click at:",x,",", y); +end + +house = room { + nam = 'Дом'; + pic = 'house.png'; + click = function(s, x, y) + if x > 100 and x < 120 and y > 50 and y < 90 then + goto 'street' + end + end +-- ... +} + diff --git a/doc/modules/dash.txt b/doc/modules/dash.txt new file mode 100644 index 0000000..a91fa66 --- /dev/null +++ b/doc/modules/dash.txt @@ -0,0 +1,19 @@ +====== Модуль Dash ====== + +^ Подключение | require %%"%%dash%%"%% | +^ Тип | игровой | +^ Зависимости | [[Format]] | + +===== Описание ===== + +Заменяет последовательность символов %%--%% на символ --. Замена происходит //только// +при выводе содержимого сцены. + +===== Примеры использования ===== + +require "dash" +main = room { + nam = 'Введение'; + dsc = [[ -- Ну, начнем!!!]]; +} + \ No newline at end of file diff --git a/doc/modules/dbg.txt b/doc/modules/dbg.txt new file mode 100644 index 0000000..c5d9a8c --- /dev/null +++ b/doc/modules/dbg.txt @@ -0,0 +1,19 @@ +====== Модуль Dbg ====== + +^ Подключение | require %%"%%dbg%%"%% | +^ Тип | игровой | +^ Зависимости | [[input]] | + +===== Описание ===== +Включает отладчик. Отладчик позволяет: + * переходить в разные локации; + * брать и выбрасывать предметы; + * выполнять lua код; + * делать дамп состояния объектов; + +===== Примеры использования ===== + +После включения модуля в вашу игру, кликните на объект debug в инвентаре, +или нажмите клавишу "F7". + + diff --git a/doc/modules/format.txt b/doc/modules/format.txt new file mode 100644 index 0000000..cc57b4a --- /dev/null +++ b/doc/modules/format.txt @@ -0,0 +1,18 @@ +====== Модуль Format ====== + +^ Подключение | require %%"%%format%%"%% | +^ Тип | расширение кода | +^ Зависимости | нет | + +===== Описание ===== +Модуль format выполняет форматирование вывода. По умолчанию все настройки выключены: + +===== Примеры использования ===== + +format.para = false -- отступы в начале абзаца; +format.dash = false -- замена двойного - на тире; +format.quotes = false -- замена " " на << >>; +format.filter = nil -- пользовательская функция замены; + + +Вы можете пользоваться модулями [[ru:gamedev:modules:para|para]], [[ru:gamedev:modules:dash|dash]], [[ru:gamedev:modules:quotes|quotes]] для включения отдельных настроек. \ No newline at end of file diff --git a/doc/modules/hideinv.txt b/doc/modules/hideinv.txt new file mode 100644 index 0000000..d08fc17 --- /dev/null +++ b/doc/modules/hideinv.txt @@ -0,0 +1,28 @@ +====== Модуль Hideinv ====== + +^ Подключение | require %%"%%hideinv%%"%% | +^ Тип | расширение кода | +^ Зависимости | нет | + +===== Описание ===== + +Модуль Hideinv позволяет временно выключать объекты в инвентаре для выбранных комнат. + +===== Примеры использования ===== + +При определении комнаты, просто задайте аттрибут hideinv, например: + +require "hideinv" + +happyend = room { + nam = 'Конец'; + hideinv = true; + dsc = [[ Вы прошли игру! ]]; +} + + + +===== Особенности ===== + +Если ваша игра использует модуль [[xAct]] и вы хотите использовать свойство hideinv в xroom, +включите модуль Hideinv раньше модуля [[xAct]]. diff --git a/doc/modules/hotkeys.txt b/doc/modules/hotkeys.txt new file mode 100644 index 0000000..2321a6f --- /dev/null +++ b/doc/modules/hotkeys.txt @@ -0,0 +1,231 @@ + + + + +ru:gamedev:modules:hoykeys - instead-wiki + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + +
+ + +

Эта страница ещё не существует

+
+ +

+ +Вы перешли по ссылке на тему, для которой ещё не создана страница. Если позволяют ваши права доступа, вы можете создать её, нажав на кнопку «Создать страницу». +

+ +
+ + + + +
+
+ + + +
+ + + + + + + + +
+ + + + + +
+
Навигация
+ +
+
+
Печать, экспорт
+ +
+
+
Язык
+
+
+
Перевод этой страницы:
+
+
+
+ + + + +
+ + + + + + + + diff --git a/doc/modules/para.txt b/doc/modules/para.txt new file mode 100644 index 0000000..c65e5e4 --- /dev/null +++ b/doc/modules/para.txt @@ -0,0 +1,19 @@ +====== Модуль Para ====== + +^ Подключение | require %%"%%para%%"%% | +^ Тип | игровой | +^ Зависимости | [[Format]] | + +===== Описание ===== + +Ставит отступ в начале каждого параграфа в соответствии с русской типографской традицией. Дополнение отступом производится //только// при выводе содержимого сцены. + +Вы можете менять количество пробелов в отступе с помощью задания format.para_space: + + +format.para_space = " "; + + + + + diff --git a/doc/modules/prefs.txt b/doc/modules/prefs.txt new file mode 100644 index 0000000..216f499 --- /dev/null +++ b/doc/modules/prefs.txt @@ -0,0 +1,37 @@ +====== Модуль Prefs ====== + +^ Подключение | require %%"%%prefs%%"%% | +^ Тип | расширение кода | +^ Зависимости | нет | + +===== Описание ===== +Этот модуль позволяет сохранять настройки игры. Другими словами, сохраненная информация не зависит от состояния игры. +Такой механизм можно использовать, например, для реализации системы достижений или счетчика количества прохождений игры. + +prefs это объект, все переменные которого буду сохранены. + +prefs:store() -- сохранить настройки. + +prefs:purge() -- удалить все настройки. + +Загрузка настроек выполняется автоматически при инициализации игры (перед вызовом функции init()), но вы можете инициировать загрузку и вручную: + +prefs:load(); + +===== Примеры использования ===== + +instead_version "1.3.0" +require "click" +require "prefs" + +prefs.counter = 0 + +game.click = function(s) + prefs.counter = prefs.counter + 1 + prefs:store(); + p("Кликов:", prefs.counter); +end + +game.pic = 'clickme.png' +-- ... + \ No newline at end of file diff --git a/doc/modules/quotes.txt b/doc/modules/quotes.txt new file mode 100644 index 0000000..07e576e --- /dev/null +++ b/doc/modules/quotes.txt @@ -0,0 +1,34 @@ +====== Модуль Quotes ====== + +^ Подключение | require %%"%%quotes%%"%% | +^ Тип | игровой | +^ Зависимости | [[Format]] | + +===== Описание ===== + +Заменяет все двойные кавычки на типографские ("ёлочки"). + +Также заменяет ,, (две запятые) и %%''%% (два апострофа) на кавычки-"лапки" („”). + +Замена происходит //только// при выводе содержимого сцены. + +Рекомендуется к применению для соответствия русской типографской традиции. Напомним, что обычно используются "ёлочки", но для употребления кавычек в кавычках и для передачи прямой речи следует использовать "лапки". + +===== Примеры использования ===== + +"Текст в елочках" + + +Результат: «текст в елочках». + +,,Текст в лапках''. + + +Результат: „текст в лапках“. + + +_"Текст в елочках _"вложенный"_ + + +Результат: «текст в елочках «вложенный». + diff --git a/doc/modules/theme.txt b/doc/modules/theme.txt new file mode 100644 index 0000000..6ba50b6 --- /dev/null +++ b/doc/modules/theme.txt @@ -0,0 +1,60 @@ +====== Модуль Theme ====== + +^ Подключение | require "theme" | +^ Тип | игровой | +^ Зависимости | нет | + +===== Описание ===== +Начиная с версии 1.3.0, модуль theme позволяет модифицировать параметры темы на лету. +Для этого, используются следующие функции: + +-- настройка окна вывода +win.geom(x, y, w, h) +win.color(fg, link, alink) +win.font(name, size, height) +win.gfx.up(pic, x, y) +win.gfx.down(pic, x, y) + +-- настройка инвентаря +inv.geom(x, y, w, h) +inv.color(fg, link, alink) +inv.font(name, size, height) +inv.gfx.up(pic, x, y) +inv.gfx.down(pic, x, y) +inv.mode(mode) + +-- настройка меню +menu.bw(w) +menu.color(fg, link, alink) +menu.font(name, size, height) +menu.gfx.button(pic, x, y) + +-- настройка графики +gfx.cursor(norm, use, x, y) +gfx.mode(mode) +gfx.pad(pad) +gfx.bg(bg) + +-- настройка звука +snd.click(name); + + +Если необходимо изменить только часть параметров, в качестве неизменяемых параметров можно указывать значение nil. Например: + +win.font(nil, 64); + + +Существует возможность чтения текущих параметров тем: + +theme.get 'имя переменной темы'; + +===== Примеры использования ===== + + +gfx.bg "dramatic_bg.png"; +win.geom (0,0, theme.get 'scr.w', theme.get 'scr.h'); +inv.mode 'disabled' + + + + diff --git a/doc/modules/timer.txt b/doc/modules/timer.txt new file mode 100644 index 0000000..63b3382 --- /dev/null +++ b/doc/modules/timer.txt @@ -0,0 +1,43 @@ +====== Модуль Timer ====== + +^ Подключение | require %%"%%timer%%"%% | +^ Тип | расширение кода | +^ Зависимости | нет | + +===== Описание ===== + +Модуль позволяет получать события от таймера удобным способом. +Функцию обработчика таймера выполняет game.timer. +Если game.timer возвращает пустое значение, +сцена не перерисовывается. В противном случае, +возвращаемое значение интерпретируется как действие. + +Вы можете делать локальные для комнаты обработчики timer. Если +в комнате объявлен обработчик timer, он вызовется вместо game.timer + +===== Примеры использования ===== + +game.timer = function(s) + set_sound('gfx/beep.ogg'); + p "Timer:" + p (time()) +end +function init() + timer:set(1000) +end + + + +myroom = room { + entered = function(s) + timer:set(1000); + end; + timer = function(s) + timer:stop(); + goto 'myroom2'; + end; + nam = 'Проверка таймера'; + dsc = [[Ждите.]]; +} + + diff --git a/doc/modules/xact.txt b/doc/modules/xact.txt new file mode 100644 index 0000000..00c25fb --- /dev/null +++ b/doc/modules/xact.txt @@ -0,0 +1,59 @@ +====== Модуль xAct ====== + +^ Подключение | require %%"%%xact%%"%% | +^ Тип | расширение кода | +^ Зависимости | нет | + +===== Описание ===== +Модуль позволяет делать ссылки на объекты из других объектов, реакций и life методов в форме: {объект(параметры):текст}. + +Начиная с версии 1.2.2 (instead_version "1.2.2") символ разделителя задается stead.delim и по-умолчанию содержит '|'. То-есть формат записи выглядит так: {объект(параметры)|текст}. + +Где 'объект' это сам объект или атрибут nam объекта. При этом, чтобы ссылка работала, объект должен +присутствовать в сцене.(Начиная с 1.2.2 -- не обязательно). + +(параметры) -- необязательные параметры в виде: (текст, текст, ...) + +'текст' -- то, как ссылка выглядит в игре для игрока. + +Модуль содержит в себе функцию xact, которая создает объект - простейшую реакцию. +Первый параметр функции -- имя, второй -- реакция, которая может быть строкой, функцией или code. + +Модуль содержит в себе реализацию комнаты с расширенным описанием: xroom. Если в такой комнате задать +атрибут xdsc, то он будет выведен в области описаний объектов. + +Функция xdsc позволяет более гибко управлять выводом текста в области предметов. См. примеры. +===== Примеры использования ===== + +main = room { + forcedsc = true; + dsc = [[От автора. Эту игру я писал очень {note1|долго}.]]; + obj = { + xact('note1', [[Больше 10 лет.]]); + } +} + + +main = room { + forcedsc = true; + dsc = [[Я в комнате.]]; + xdsc = [[ Я вижу {apple|яблоко} и {knife|нож}. ]]; + other = [[ Еще здесь лежат {chain|цепь} и {tool|пила}.]]; + obj = { + xdsc(), -- 'xdsc method by default' + xdsc 'other', + 'apple', 'knife', 'chain', 'tool', + } +} + + + +main = xroom { + forcedsc = true; + dsc = [[Я в комнате.]]; + xdsc = [[ Я вижу {apple|яблоко} и {knife|нож}. ]]; + obj = { + 'apple', 'knife', 'chain', 'tool', + } +} + \ No newline at end of file