Desenvolver
uma narrativa usando apenas texto é um dos desafios mais
interessantes dentro do sistema Gênesis e
ele possui recursos especiais para facilitar (e muito) a tarefa
do programador. Na verdade, a instrução memo
funciona de forma parecida a uma de hipertexto html, com a introdução
simplificada de recursos dentro do próprio texto.
A
instrução memo
(ou memo=) tem a seguinte sintaxe:
memo
txt,px,py,tw,th,etl,cor1,cor2,tsp
Os
parâmetros da instrução significam o seguinte:
txt
- texto a ser impresso. Ele pode ser escrito na própria instrução,
num registrador ou entre aspas simples '...'.
Neste caso, é utilizado o caracter "$"
para indicar onde obter o texto para a instrução.
Exemplo:
como referenciar o texto na instrução memo:
Texto
declarado diretamente (serve para pequenas frases):
memo
Olá mundo.,px,...
Texto
referenciado num registrador (5) usando indexação
# ou o nome do registrador):
reg=
5,Olá mundo.
memo #5,px,...
Texto
declarado dentro de um bloco txt:
'Olá
mundo.'
memo $,px,...
Caso
seja necessário desativar a área "memo",
o primeiro parâmetro deve ser 'off'. Exemplo:
memo
off
O
texto será mostrado dentro de uma área definida pelas
coordenadas do canto superior esquedro, largura e algura e demais
indicadores:
px,py,tw,th
- posição e dimensão da área onde será
colocado o texto a ser formatado.
etl
- entrelinha utilizada na formatação.
cor1,cor2
- cores utilizadas na barra de deslizamento do texto, caso ela seja
utilizada.
A área
onde o texto irá ser mostrado é criada com as cores
default do projeto, definidas na seção config:

ou
modificada dentro do script pelas instruções:
corfnd=
C6C6C6
cortxt= 000000
Dentro
do texto é possível usar palavras ou strings para
criar links para outros scripts, com o propósito de deixar
a navegação mais fluida. Por exemplo, no texto:
'De
onde estamos é possível ver uma majestosa montanha...'
memo $,px,...
Digamos
que o leitor, ao clicar sobre "majestosa montanha" seja
direcionado para o script que descreve mais precisamente ela (ou
até mesmo mova o jogador para este novo local). A frase deve
ser escrita da seguinte forma:
'De
onde estamos é possível ver uma @majestosa montanha|montanha|...'
memo $,px,...
Note que
o link é indicado pelo caracter "@",
seguido do texto ou palavra e entre os caracteres "|"
deve-se colocar o nome do script (sem a extensão) a ser executado,
caso o leitor clique sobre o texto.
tsp
- tipo de link que será mostrado ao leitor.
Os
links, dentro do texto ou da área de texto, podem assumir
7 estados distintos. São eles:
nulo
- Os links (palavras) aparecem normalmente sublinhadas, com a mesma
cor do texto e além disso o cursor muda ao passar pelo link.

0
- os links não são sublinhados e nem mesmo o cursor
muda, quando passa pela palavra. É chamado modo stealth.

1
- os links não são sublinhados mas o cursor muda quando
passa pela palavra:

2
- os links são sublinhados com a mesma cor do texto apenas
quando o cursor passar por eles e permanecem sublinhados.


3
- os links são sublinhados com a cor definida na seção
config para os links visitados, apenas quando o cursor passar por
eles e permanecem sublinhados.

4
- as palavras que representam os links são grafadas com a
cor default para os links, definida na seção config.

5
- as palavras
que representam os links são grafadas com a cor default para
os links e o sublinhado na cor default do link visitado, ambas cores
definidas na seção config.

Algumas
instruções adicionais foram criadas para aprimorar
o recurso memo. São elas:
A barra
de deslizamento possui 3 estados: não aparece nunca (off),
aparece sempre (on) ou só aparece quando é necessária
(auto). Ela é declarada na seguinte instrução:
scrollbar=
on/off/auto
Alinha
o texto segundo a indicação expressa pelo parâmetro:
align=
left/right/center
Define
as margens do texto dentro da área do memo:
margem=
left,right,top,bottom
Define
a altura do traço indicativo da existência de link
na palavra:
poslink=
val
Define
a espessura do traço indicativo da existência de link
na palavra:
szelink=
val
Dentro
do texto é possível utilizar alguns recursos adicionais
para melhorar a formatação e o visual dele. Todos
devem começar com o caracter '#' e preferencialmente
ocupar uma linha isolada. São eles:
#fig,img,scp,px,py,wd,ht,al,dw,sm
- mostra uma imagem
img
= nome do arquivo da imagem;
scp
= script a ser executado caso a imagem seja clicada;
px,py
= canto superior esquerdo estará a imagem;
wd,ht
= largura e altura da imagem;
al
= alinhamento (left / right);
dw
= imagem mostrada se houver clique;
sm
= som tocado se houver clique.
#color,cor
- muda a cor da fonte
#fundo,cor
- muda a cor do fundo do "memo"
#style,Biu
- muda o estilo Bold Italic Undeline
#size,fonte,entrelinha
- muda a altura da linha e a entrelinha
#fname,fonte
- muda o nome da fonte usada no "memo"
#$,reg
- mostra o conteúdo do registrador em formato decimal
#reg
- mostra o conteúdo do registrador
#posxy,px,py
- coloca o ponto de impressão (texto e imagens) a partir
das coordenadas px,py.
#mgleft,mrg,alt
- define uma margem esquerda temporária (mrg) para impressão
de textos, com uma altura (alt) que após ser "atingida"
retorna a posição original à esquerda.
#input,reg,scp,mrg,mtp,wd,ht
- abre um campo de digitação e coloca o conteúdo
digitado no registrador reg, executando
a seguir o script scp. Os demais parâmetros
referem-se ao canto superior esquerdo. largura e altura do campo.
A instrução
memo permite que apenas um bloco de
texto seja formatado por script e ele necessariamente tem que estar
na área do visor principal.
|