; Шаблоны для написания плагинов и оконных расширений для BGE v4.0


;---------------------------------------------------------------------------
;    ПЛАГИНЫ РАСШИРЕНИЯ ДЛЯ BGE
;----------------------------------
; расширение файла плагина '.add'

; Вход: HL - адрес возврата из плагина.
; Для BGE v 4.0 + разрешается выход по RET при условии что адрес выхода на стеке не изменился
; Выход SCF - ошибка/модуль не оставлять в памяти
;       A=0 - перерисовывать главное меню сначала (redraw the Main menu)
;       A=1 - закрыть все окна и выйти в главное меню (close all the windows and go to Main menu)


        device  zxspectrum128       ; for SjASMPlus

    INCLUDE "../KerBGE.asm"
    INCLUDE "../NumGUI.asm"
    ORG #6128       ; адрес расположения перемнных
    INCLUDE "../GuiVar.asm"    ; GUI (не менять!!!) don't change!!!
    INCLUDE "../BGEversion.asm"   ; for v 4.0 and later

    ORG PgnAdr      ; адрес старта модуля

START   LD (RETAD+1),HL      ;
        CALL PlugINcode
        XOR A
RETAD  JP 0

PlugINcode   ; код плагина






LEN EQU $-PgnAdr
;    display "Длина модуля: ",LEN," байт"

;    ORG BGE_RUN

         ASSERT $ < #C000
         savebin "NamePlug.add",PgnAdr,$-PgnAdr
         DISPLAY "Lenght : ",/a,$-PgnAdr

;----------------------------------------------------------------------






;---------------------------------------------------------------------------
;  ПЛАГИНЫ РАСШИРЕНИЯ ОПЦИЙ РАБОТЫ С ОКНАМИ (ВЫДЕЛЕННЫМИ УЧАСТКАМИ) ЭКРАНА
;---------------------------------------------------------------------------
; BGE v 4.0 +

; расширение файла плагина '.adw'


; Требуется соблюдение условий работы со стуктурой хранения окна в памяти BGE

; Вход HL - адрес возврата из плагина.
; Разрешается выход по RET при условии что адрес выхода на стеке не изменился
; Выход SCF - ошибка/модуль не оставлять в памяти



        device  zxspectrum128       ; for SjASMPlus

    INCLUDE "../KerBGE.asm"
    INCLUDE "../NumGUI.asm"
    ORG #6128       ; адрес расположения перемнных
    INCLUDE "../GuiVar.asm"    ; GUI (не менять!!!) don't change!!!
    INCLUDE "../BGEversion.asm"
    INCLUDE "../KerWIN.asm"

    ORG PgnAdr      ; адрес старта модуля

START

1
PlugInWINcode   ; код плагина






LEN EQU $-PgnAdr

         ASSERT $ < #C000
         savebin "NamePlug.adw",PgnAdr,$-PgnAdr
         DISPLAY "Lenght : ",/a,$-PgnAdr

;---------------------------------------------------------------------------
