LOCAL STRUCT reserved

STRUCT reserved;
    process_id; // Identificador del proceso
    id_scan; // Indice de procesos
    process_type; // Tipo de proceso
    type_scan; // Indice de tipos
    status; // Estado del proceso
    param_offset; // Dirección de los parámetros
    program_index; // Contador de programa
    is_executed; // Proceso ejecutado
    is_painted; // Proceso pintado
    distance_1; // Reservado modo 7
    distance_2; // Reservado modo 7
    frame_percent; // Porcentaje de imagen
    box_x0, box_y0; // Inicio del gráfico del proceso
    box_x1, box_y1; // Final del gráfico del proceso
    m8_object; // Objeto dentro del mundo m8
    old_ctype; // Antiguo Ctype
    f_count; // Contador de anidamiento de función
    caller_id; // Proceso o función llamadora (0 si fué el kernel)
    stack_pointer; // Puntero de pila del proceso
END

En esta estructura se guardan distintas variables de uso interno (utilizadas por el gestor de procesos de DIV Games Studio).

Son variables locales reservadas para el sistema. No es necesario conocer estas variables ya que la gran mayoría no son de utilidad en la creación de programas.

Importante: Modificar los valores de estas variables provocará, muy probablemente, un bloqueo del ordenador, un funcionamiento indebido del gestor de procesos o problemas al utilizar muchas de las funciones internas. No se asume ninguna responsabilidad por tanto, sobre los posibles problemas derivados del uso indebido de la estructura reserved.


Se mostrará, por tanto, una breve descripción de cada uno de estos campos, únicamente con fines documentativos.

process_id - Código identificador del proceso; este valor se obtiene normalmente con la palabra reservada ID y no se debe modificar el valor de este campo.

id_scan - Se utiliza internamente al detectar las colisiones para guardar registro del código identificador del último proceso que ha colisionado con el proceso actual.

process_type - Tipo del proceso actual, que se obtiene normalmente con el operador TYPE, indicando el nombre del proceso a continuación (ver Tipos de procesos).

type_scan - Se utiliza internamente para detectar colisiones u obtener códigos identificadores de procesos de un tipo determinado.

status - Estado actual del proceso. Los valores que puede adoptar este campo son los siguientes:

  0 - proceso inexistente.
  1 - proceso que ha recibido una señal s_kill.
  2 - proceso vivo o despierto (s_wakeup).
  3 - proceso dormido (s_sleep).
  4 - proceso congelado (s_freeze).

param_offset - Dirección de la memoria del ordenador en la que están situados los parámetros que ha recibido el proceso.

program_index - Contador de programa. Dirección de la memoria del ordenador en la que se encuentra la primera sentencia que debe ejecutar el proceso en la siguiente imagen.

is_executed - Indica si este proceso ha sido ya ejecutado en la imagen actual.

is_painted - Indica si el gráfico del proceso ha sido ya pintado en la imagen actual del juego.

distance_1 - Distancia vertical del proceso (reservado para procesos que se visualicen en una ventana de modo 7).

distance_2 - Distancia horizontal del proceso (ocurre lo mismo que en la sentencia anterior).

frame_percent - Porcentaje de la siguiente imagen completado por el proceso; éste valor será de utilidad cuando se utilice la sentencia FRAME indicando un porcentaje. En caso contrario valdrá simplemente 0 (0%) cuando el proceso no ha sido ejecutado y 100 (100%) cuando ya lo haya sido.

box_x0, box_y0 - Coordenada superior izquierda del gráfico en la imagen anterior del juego (donde se situó el gráfico en coordenadas de pantalla).

box_x1, box_y1 - Coordenada inferior derecha del gráfico en la imagen anterior del juego.

m8_object - Número de objeto dentro de un modo 8, se indica un ordinal relativo al mapa de sectores.

old_ctype - Antiguo valor de la variable local ctype, se utiliza para controlar cambios de ámbito en las coordenadas de un proceso.

f_count - Contador de anidamiento de funcion, para controlar el número de retornos y poder nivelar la pila para cada proceso.

caller_id - Código identificador del proceso o funcion que ha invocado a este (0 si fué el kernel quién lanzó este proceso en esta imagen).

stack_pointer - Puntero de pila local de cada proceso, mantiene la dirección de la pila a la entrada del proceso, con los parámetros apilados.


Ver: Datos locales - Sintaxis