A instrução memo=

O uso de textos formatados, no Gênesis, pode ser facilmente implementado com a instrução memo= (ou apenas memo). Esta instrução é praticamente uma toolbox que por si só já daria para montar um jogo inteiro. Veja a seguir a sintaxe da instrução:

memo= txt,px,py,tw,th,etl,cor1,cor2,tsp

Os parâmetros da instrução tem o seguinte significado:

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 por exemplo) 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 definido 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

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.