/* code was generated by Emperor */

#define ALL_REACTION_CLASSES
#define ALL_REACTION_MACROS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <clib/alib_protos.h>
#include <clib/asl_protos.h>
#include <clib/dos_protos.h>
#include <clib/exec_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/graphics_protos.h>
#include <clib/intuition_protos.h>
#include <clib/locale_protos.h>
#include <clib/utility_protos.h>
#include <clib/wb_protos.h>
#include <clib/colorwheel_protos.h>
#include <clib/datebrowser_protos.h>
#include <clib/resource_protos.h>
#include <clib/texteditor_protos.h>
#include <gadgets/colorwheel.h>
#include <gadgets/datebrowser.h>
#include <gadgets/gradientslider.h>
#include <gadgets/tapedeck.h>
#include <gadgets/texteditor.h>
#include <proto/texteditor.h>
#include <reaction/reaction.h>
#include <intuition/icclass.h>
#include <intuition/imageclass.h>
#include <intuition/gadgetclass.h>
#include <workbench/startup.h>
#include <wbstartup.h>

#define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
#define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL

#define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 0, "WarpOS")
#define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 1, "Workbench Screen")
#define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "WarpOS Icon")
#define LOCALE_GENERAL GetCatalogStr(Catalog, 3, "General")
#define LOCALE_MEMPROT GetCatalogStr(Catalog, 4, "Memory Protection")
#define LOCALE_NOPPC GetCatalogStr(Catalog, 5, "PPC available")
#define LOCLE_EARLYTERM GetCatalogStr(Catalog, 6, "Early Term")
#define LOCALE_POWERUP GetCatalogStr(Catalog, 7, "PowerUp")
#define LOCALE_LOGDATA GetCatalogStr(Catalog, 8, "Logdata")
#define LOCALE_VIDEOADDRESS GetCatalogStr(Catalog, 9, "Videoaddress")
#define LOCALE_DEBUGGING GetCatalogStr(Catalog, 10, "Debugging")
#define LOCALE_HIDEWARN GetCatalogStr(Catalog, 11, "Hide Warning")
#define LOCALE_NOPATCH GetCatalogStr(Catalog, 12, "No Patch")
#define LOCALE_SEGMENTINFO GetCatalogStr(Catalog, 13, "Segmentinfo")
#define LOCALE_CRASH GetCatalogStr(Catalog, 14, "Crash")
#define LOCALE_ALERT GetCatalogStr(Catalog, 15, "Alert")
#define LOCALE_SAVE GetCatalogStr(Catalog, 16, "_Save")
#define LOCALE_USE GetCatalogStr(Catalog, 17, "_Use")
#define LOCALE_BREAK GetCatalogStr(Catalog, 18, "_Break")
#define LOCALE_MENU_PROJECT1 GetCatalogStr(Catalog, 19, "Project")
#define LOCALE_MENU_QUIT1 GetCatalogStr(Catalog, 20, "Quit")
#define LOCALE_MENU_EDIT1 GetCatalogStr(Catalog, 21, "Edit")
#define LOCALE_MENU_RESETDEFAULT1 GetCatalogStr(Catalog, 22, "Reset To Defaults")
#define LOCALE_MENU_LASTSAVED1 GetCatalogStr(Catalog, 23, "Last Saved")
#define LOCALE_MENU_RESTORE1 GetCatalogStr(Catalog, 24, "Restore")
#define LOCALE_REQUEST_QUIT_TITLE1 GetCatalogStr(Catalog, 25, "Program request")
#define LOCALE_REQUEST_QUIT_BODY1 GetCatalogStr(Catalog, 26, " Do you really want to quit this program ?")
#define LOCALE_REQUEST_QUIT_GADGET1 GetCatalogStr(Catalog, 27, "Okay|No")
#define LOCALE_ASL_FILEREQ_TITLE1 GetCatalogStr(Catalog, 28, "Output-file at crash")
#define LOCALE_ASL_FILEREQ_TITLE2 GetCatalogStr(Catalog, 29, "Output-file at alert")
#define LOCALE_TERM_OFF_ARRAY GetCatalogStr(Catalog, 30, "Terminator off")
#define LOCALE_TERM_1_ARRAY GetCatalogStr(Catalog, 31, "Terminator 1 ")
#define LOCALE_TERM_2_ARRAY GetCatalogStr(Catalog, 32, "Terminator 2 ")
#define LOCALE_VIDEO_IGNORE_ARRAY GetCatalogStr(Catalog, 33, "ignore address")
#define LOCALE_VIDEO_FALLBACK_ARRAY GetCatalogStr(Catalog, 34, "fallback address")
#define LOCALE_VIDEO_ALWAYS_ARRAY GetCatalogStr(Catalog, 35, "use address always")
#define LOCALE_DEBUG_NO_ARRAY GetCatalogStr(Catalog, 36, "no debugging")
#define LOCALE_DEBUG_LEVEL_1_ARRAY GetCatalogStr(Catalog, 37, "debuglevel 1")
#define LOCALE_DEBUG_LEVEL_2_ARRAY GetCatalogStr(Catalog, 38, "debuglevel 2")
#define LOCALE_DEBUG_LEVEL_3_ARRAY GetCatalogStr(Catalog, 39, "debuglevel 3")

#define Layout_Root Gadget1[1]
#define Layout1 Gadget1[2]
#define Layout_General Gadget1[3]
#define Checkbox_MemProt Gadget1[4]
#define Checkbox_NoPPC Gadget1[5]
#define Checkbox_EarlyTerm Gadget1[6]
#define Layout_PowerUp Gadget1[7]
#define Chooser_Terminator Gadget1[8]
#define Checkbox_HideWarn Gadget1[9]
#define Checkbox_NoPatch Gadget1[10]
#define Layout2 Gadget1[11]
#define Layout_VideoAddress Gadget1[12]
#define Chooser_AddressHandling Gadget1[13]
#define String_Address Gadget1[14]
#define Layout_Debugging Gadget1[15]
#define Chooser_DebuggerHandling Gadget1[16]
#define Checkbox_Segmentinfo Gadget1[17]
#define Layout_Logdata Gadget1[18]
#define Getfile_CrashFile Gadget1[19]
#define Label_Crash Gadget1[20]
#define Getfile_AlertFile Gadget1[21]
#define Label_Alert Gadget1[22]
#define Space1 Gadget1[23]
#define Layout_Button Gadget1[24]
#define Button_Save Gadget1[25]
#define Space2 Gadget1[26]
#define Button_Use Gadget1[27]
#define Space3 Gadget1[28]
#define Button_Break Gadget1[29]

#define Menu_Project1 65504
#define Menu_Quit1 63488
#define Menu_Edit1 65505
#define Menu_ResetToDefaults1 63489
#define Menu_LastSaved1 63521
#define Menu_Restore1 63553

LONG Quitrequest1(void);
STRPTR GetFile1_Filerequest(void);
STRPTR GetFile2_Filerequest(void);
void Chooser_AddressHandling_GadgetUp_Event(void);
void Getfile_CrashFile_GadgetUp_Event(void);
void Getfile_AlertFile_GadgetUp_Event(void);
void Button_Save_GadgetUp_Event(void);
void Button_Use_GadgetUp_Event(void);
void Button_Break_GadgetUp_Event(void);
void Menu_Quit1_MenuPick_Event(void);
void Menu_ResetToDefaults1_MenuPick_Event(void);
void Menu_LastSaved1_MenuPick_Event(void);
void Menu_Restore1_MenuPick_Event(void);
void Window1_CloseWindow_Event(void);
void Window1_Iconify_Event(void);
void Window1_Uniconify_Event(void);
void Window1_ShowWindow_Event(void);
void Startup(void);
void Shutdown(void);
void Emperor_InitProgram(void);
void Emperor_QuitProgram(void);
void Emperor_AllocChooserNode(struct List *, char **, WORD *);
void Emperor_AllocClicktabNode(struct List *, char **, WORD *);
void Emperor_AllocListbrowserNode(struct List *, char **, WORD *);
void Emperor_AllocRadiobuttonNode(struct List *, char **, WORD *);
void Emperor_CloseScreen_Screen1(void);
struct Screen *Emperor_OpenScreen_Screen1(void);
void Emperor_CloseWindow_Window1(void);
void Emperor_IconifyWindow_Window1(void);
struct Window *Emperor_OpenWindow_Window1(void);
struct Window *Emperor_UniconifyWindow_Window1(void);
STRPTR Emperor_GetGadgetAttr(struct Gadget *);
void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
void Emperor_SetGadgetDisabledAttr(struct Gadget *, BOOL);
ULONG stringlength(STRPTR);
LONG stringtoint(STRPTR);
DOUBLE stringtofloat(STRPTR);
STRPTR inttostring(LONG);

const char VERSION[] = "$VER: Workshop 1.0 (13-Sep-2001)";
const char AUTHOR[] = "Matthias Gietzelt";

BYTE Emperor_Gadgetkind1[] = { 0, 12, 12, 12, 1, 1, 1, 12, 2, 1, 1, 12, 12, 2, 20, 12, 2, 1, 12, 7, 26, 7, 26, 18, 12, 0, 18, 0, 18, 0, -1 };
char *Terminator_Arrayraw[] = { "Terminator off", "Terminator 1 ", "Terminator 2 ", NULL };
WORD Terminator_Arrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL };
char *Video_Arrayraw[] = { "ignore", "fallback", "use always", NULL };
WORD Video_Arrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL };
char *Debug_Arrayraw[] = { "no debugging", "debuglevel 1", "debuglevel 2", "debuglevel 3", NULL };
WORD Debug_Arrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL };

struct NewMenu NewMenu[] =
{
    { NM_TITLE, 0, 0, 0, 0, 0 },
    { NM_ITEM, 0, "Q", 0, 0, 0 },
    { NM_TITLE, 0, 0, 0, 0, 0 },
    { NM_ITEM, 0, "D", 0, 0, 0 },
    { NM_ITEM, 0, "L", 0, 0, 0 },
    { NM_ITEM, 0, "R", 0, 0, 0 },
    { NM_END, 0, 0, 0, 0, 0 }
};

void *VisualInfo1 = NULL;
BOOL os35 = TRUE;
BOOL terminated = FALSE;
ULONG WindowSignals1 = 0L;
Object *WindowObject1 = NULL;
struct Catalog *Catalog = NULL;
struct Gadget *Gadget1[30];
struct IntuiMessage *IntuiMessage = NULL;
struct Library *IntuitionBase = NULL;
struct Library *LocaleBase = NULL;
struct Library *GadToolsBase = NULL;
struct Library *ASLBase = NULL;
struct Library *DOSLibBase = NULL;
struct Library *ResourceBase = NULL;
struct Library *WindowBase = NULL;
struct Library *RequesterBase = NULL;
struct Library *ButtonBase = NULL;
struct Library *CheckBoxBase = NULL;
struct Library *ChooserBase = NULL;
struct Library *ClickTabBase = NULL;
struct Library *ColorWheelBase = NULL;
struct Library *DateBrowserBase = NULL;
struct Library *FuelGaugeBase = NULL;
struct Library *GetFileBase = NULL;
struct Library *GetFontBase = NULL;
struct Library *GetScreenModeBase = NULL;
struct Library *GradientSliderBase = NULL;
struct Library *IntegerBase = NULL;
struct Library *LayoutBase = NULL;
struct Library *ListBrowserBase = NULL;
struct Library *PaletteBase = NULL;
struct Library *RadioButtonBase = NULL;
struct Library *ScrollerBase = NULL;
struct Library *SliderBase = NULL;
struct Library *SpaceBase = NULL;
struct Library *SpeedBarBase = NULL;
struct Library *StringBase = NULL;
struct Library *TapeDeckBase = NULL;
struct Library *TextEditorBase = NULL;
struct Library *BevelBase = NULL;
struct Library *BitMapBase = NULL;
struct Library *GlyphBase = NULL;
struct Library *LabelBase = NULL;
struct List Emperor_Chooser_Terminator_Array;
struct List Emperor_Clicktab_Terminator_Array;
struct List Emperor_Listbrowser_Terminator_Array;
struct List Emperor_Radiobutton_Terminator_Array;
struct List Emperor_Chooser_Video_Array;
struct List Emperor_Clicktab_Video_Array;
struct List Emperor_Listbrowser_Video_Array;
struct List Emperor_Radiobutton_Video_Array;
struct List Emperor_Chooser_Debug_Array;
struct List Emperor_Clicktab_Debug_Array;
struct List Emperor_Listbrowser_Debug_Array;
struct List Emperor_Radiobutton_Debug_Array;
struct Menu *Menu = NULL;
struct MsgPort *AppPort = NULL;
struct MsgPort *MsgPort = NULL;
struct Screen *Screen1 = NULL;
struct Window *Window1 = NULL;


void main(void)
{
    ULONG Emperor_Code = 0L;
    ULONG Emperor_Input = 0L;
    ULONG Emperor_Micros = 0L;
    ULONG Emperor_Seconds = 0L;
    struct Gadget *Emperor_GadgetMessage = NULL;
    Emperor_InitProgram();
    Startup();
    Emperor_OpenWindow_Window1();
    while(!terminated)
    {
        Wait(WindowSignals1);
        while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
        {
            switch(Emperor_Input & WMHI_CLASSMASK)
            {
                case WMHI_GADGETUP:
                    switch(Emperor_Input & WMHI_GADGETMASK)
                    {
                        case 16: Chooser_AddressHandling_GadgetUp_Event(); break;
                        case 20: Getfile_CrashFile_GadgetUp_Event(); break;
                        case 21: Getfile_AlertFile_GadgetUp_Event(); break;
                        case 24: Button_Save_GadgetUp_Event(); break;
                        case 26: Button_Use_GadgetUp_Event(); break;
                        case 27: Button_Break_GadgetUp_Event(); break;
                        default: break;
                    }
                    break;
                case WMHI_GADGETHELP:
                    switch(Emperor_Input & WMHI_GADGETMASK)
                    {
                        default: break;
                    }
                    break;
                case WMHI_MENUPICK:
                    switch(Emperor_Input & WMHI_MENUMASK)
                    {
                        case Menu_Quit1: Menu_Quit1_MenuPick_Event(); break;
                        case Menu_ResetToDefaults1: Menu_ResetToDefaults1_MenuPick_Event(); break;
                        case Menu_LastSaved1: Menu_LastSaved1_MenuPick_Event(); break;
                        case Menu_Restore1: Menu_Restore1_MenuPick_Event(); break;
                        default: break;
                    }
                    break;
                case WMHI_MENUHELP:
                    switch(Emperor_Input & WMHI_MENUMASK)
                    {
                        default: break;
                    }
                    break;
                case WMHI_CLOSEWINDOW:
                    Window1_CloseWindow_Event();
                    break;
                case WMHI_ICONIFY:
                    Window1_Iconify_Event();
                    break;
                case WMHI_UNICONIFY:
                    Window1_Uniconify_Event();
                    break;
                case WMHI_ACTIVE:
                    break;
                case WMHI_INACTIVE:
                    break;
                case WMHI_RAWKEY:
                    break;
                case WMHI_VANILLAKEY:
                    break;
                case WMHI_MOUSEBUTTONS:
                    break;
                case WMHI_MOUSEMOVE:
                    break;
                case WMHI_NEWSIZE:
                    break;
                case WMHI_CHANGEWINDOW:
                    break;
                case WMHI_DISPOSEDWINDOW:
                    break;
                case WMHI_INTUITICK:
                    break;
            }
        }
    }
    Emperor_QuitProgram();
}

void wbmain(struct WBStartup *Emperor_ArgMsg)
{
    main();
}

LONG Quitrequest1(void)
{
    struct EasyStruct EmperorRequest_Quitrequest1;

    EmperorRequest_Quitrequest1.es_StructSize = sizeof(struct EasyStruct);
    EmperorRequest_Quitrequest1.es_Flags = 0L;
    EmperorRequest_Quitrequest1.es_Title = (UBYTE *) LOCALE_REQUEST_QUIT_TITLE1;
    EmperorRequest_Quitrequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_QUIT_BODY1;
    EmperorRequest_Quitrequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_QUIT_GADGET1;
    return(EasyRequest(Window1, &EmperorRequest_Quitrequest1, NULL, NULL));
}

STRPTR GetFile1_Filerequest(void)
{
    char Emperor_ASLReturn[200] = "";
    struct FileRequester *Emperor_ASLRequester;

    Emperor_ASLRequester = (struct FileRequester *) AllocAslRequestTags(ASL_FileRequest, ASLFR_Window, Window1, ASLFR_Screen, Screen1, ASLFR_SleepWindow, TRUE, ASLFR_TitleText, LOCALE_ASL_FILEREQ_TITLE1, TAG_DONE);
    AslRequestTags(Emperor_ASLRequester, ASLFR_InitialDrawer, "CON:////WarpOS/CLOSE/WAIT", ASLFR_SetSortBy, 0, ASLFR_SetSortOrder, 0, ASLFR_SetSortDrawers, 0, ASLFR_RejectIcons, TRUE, TAG_DONE);
    strcpy(Emperor_ASLReturn, Emperor_ASLRequester->fr_Drawer);
    AddPart(Emperor_ASLReturn, Emperor_ASLRequester->fr_File, 200);
    return(Emperor_ASLReturn);
}

STRPTR GetFile2_Filerequest(void)
{
    char Emperor_ASLReturn[200] = "";
    struct FileRequester *Emperor_ASLRequester;

    Emperor_ASLRequester = (struct FileRequester *) AllocAslRequestTags(ASL_FileRequest, ASLFR_Window, Window1, ASLFR_Screen, Screen1, ASLFR_SleepWindow, TRUE, ASLFR_TitleText, LOCALE_ASL_FILEREQ_TITLE2, TAG_DONE);
    AslRequestTags(Emperor_ASLRequester, ASLFR_InitialDrawer, "CON:////WarpOS/CLOSE/WAIT", ASLFR_SetSortBy, 0, ASLFR_SetSortOrder, 0, ASLFR_SetSortDrawers, 0, ASLFR_RejectIcons, TRUE, TAG_DONE);
    strcpy(Emperor_ASLReturn, Emperor_ASLRequester->fr_Drawer);
    AddPart(Emperor_ASLReturn, Emperor_ASLRequester->fr_File, 200);
    return(Emperor_ASLReturn);
}

void Emperor_InitProgram(void)
{
    UWORD Emperor_InitVar = 0;
    char Emperor_OccuredError[50], Emperor_ExceptionString[300];
    struct EasyStruct EmperorRequest_InitializationErrorRequest;

    IntuitionBase = OpenLibrary("intuition.library", 39L);
    if(!IntuitionBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "intuition.library");
    }
    LocaleBase = OpenLibrary("locale.library", 39L);
    if(!LocaleBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "locale.library");
    }
    GadToolsBase = OpenLibrary("gadtools.library", 39L);
    if(!GadToolsBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadtools.library");
    }
    ASLBase = OpenLibrary("asl.library", 39L);
    if(!ASLBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "asl.library");
    }
    DOSLibBase = OpenLibrary("dos.library", 39L);
    if(!DOSLibBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "dos.library");
    }
    ResourceBase = OpenLibrary("resource.library", 44L);
    if(!ResourceBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "resource.library");
    }
    WindowBase = OpenLibrary("window.class", 44L);
    if(!WindowBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "window.class");
    }
    RequesterBase = OpenLibrary("requester.class", 42L);
    if(!RequesterBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "requester.class");
    }
    ButtonBase = OpenLibrary("gadgets/button.gadget", 44L);
    if(!ButtonBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/button.gadget");
    }
    CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 44L);
    if(!CheckBoxBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
    }
    ChooserBase = OpenLibrary("gadgets/chooser.gadget", 44L);
    if(!ChooserBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
    }
    ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 44L);
    if(!ClickTabBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
    }
    ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 44L);
    if(!ColorWheelBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
    }
    DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 44L);
    if(!DateBrowserBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
    }
    FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 44L);
    if(!FuelGaugeBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
    }
    GetFileBase = OpenLibrary("gadgets/getfile.gadget", 44L);
    if(!GetFileBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
    }
    GetFontBase = OpenLibrary("gadgets/getfont.gadget", 44L);
    if(!GetFontBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
    }
    GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 44L);
    if(!GetScreenModeBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
    }
    GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 44L);
    if(!GradientSliderBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
    }
    IntegerBase = OpenLibrary("gadgets/integer.gadget", 44L);
    if(!IntegerBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
    }
    LayoutBase = OpenLibrary("gadgets/layout.gadget", 44L);
    if(!LayoutBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
    }
    ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 44L);
    if(!ListBrowserBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
    }
    PaletteBase = OpenLibrary("gadgets/palette.gadget", 44L);
    if(!PaletteBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
    }
    RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 44L);
    if(!RadioButtonBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
    }
    ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 44L);
    if(!ScrollerBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
    }
    SliderBase = OpenLibrary("gadgets/slider.gadget", 44L);
    if(!SliderBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
    }
    SpaceBase = OpenLibrary("gadgets/space.gadget", 44L);
    if(!SpaceBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/space.gadget");
    }
    SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 44L);
    if(!SpeedBarBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
    }
    StringBase = OpenLibrary("gadgets/string.gadget", 44L);
    if(!StringBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/string.gadget");
    }
    TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 40L);
    if(!TapeDeckBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
    }
    TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 15L);
    if(!TextEditorBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
    }
    BevelBase = OpenLibrary("images/bevel.image", 44L);
    if(!BevelBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "images/bevel.image");
    }
    BitMapBase = OpenLibrary("images/bitmap.image", 44L);
    if(!BitMapBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "images/bitmap.image");
    }
    GlyphBase = OpenLibrary("images/glyph.image", 44L);
    if(!GlyphBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "images/glyph.image");
    }
    LabelBase = OpenLibrary("images/label.image", 44L);
    if(!LabelBase)
    {
        Emperor_InitVar = 1;
        strcpy(Emperor_OccuredError, "images/label.image");
    }
    Catalog = OpenCatalogA(NULL, "Workshop.catalog", NULL);

    Emperor_OpenScreen_Screen1();
    VisualInfo1 = GetVisualInfo(Screen1, TAG_DONE);
    if(!VisualInfo1) Emperor_InitVar = 5;
    else
    {
        NewMenu[0].nm_Label = LOCALE_MENU_PROJECT1;
        NewMenu[1].nm_Label = LOCALE_MENU_QUIT1;
        NewMenu[2].nm_Label = LOCALE_MENU_EDIT1;
        NewMenu[3].nm_Label = LOCALE_MENU_RESETDEFAULT1;
        NewMenu[4].nm_Label = LOCALE_MENU_LASTSAVED1;
        NewMenu[5].nm_Label = LOCALE_MENU_RESTORE1;
        Menu = CreateMenus(NewMenu, GTMN_FullMenu, TRUE, TAG_DONE);
        if(!Menu) Emperor_InitVar = 6;
        else
        {
            LayoutMenus(Menu, VisualInfo1, GTMN_FrontPen, 0, TAG_DONE);

            AppPort = CreateMsgPort();
            if(!AppPort) Emperor_InitVar = 7;

            MsgPort = CreatePort("Workshop_Port", 0);
            if(!MsgPort) Emperor_InitVar = 7;
        }
    }
    strcpy(Terminator_Arrayraw[0], LOCALE_TERM_OFF_ARRAY);
    strcpy(Terminator_Arrayraw[1], LOCALE_TERM_1_ARRAY);
    strcpy(Terminator_Arrayraw[2], LOCALE_TERM_2_ARRAY);
    strcpy(Video_Arrayraw[0], LOCALE_VIDEO_IGNORE_ARRAY);
    strcpy(Video_Arrayraw[1], LOCALE_VIDEO_FALLBACK_ARRAY);
    strcpy(Video_Arrayraw[2], LOCALE_VIDEO_ALWAYS_ARRAY);
    strcpy(Debug_Arrayraw[0], LOCALE_DEBUG_NO_ARRAY);
    strcpy(Debug_Arrayraw[1], LOCALE_DEBUG_LEVEL_1_ARRAY);
    strcpy(Debug_Arrayraw[2], LOCALE_DEBUG_LEVEL_2_ARRAY);
    strcpy(Debug_Arrayraw[3], LOCALE_DEBUG_LEVEL_3_ARRAY);
    if(os35)
    {
        Emperor_AllocChooserNode(&Emperor_Chooser_Terminator_Array, Terminator_Arrayraw, Terminator_Arrayattr);
        Emperor_AllocClicktabNode(&Emperor_Clicktab_Terminator_Array, Terminator_Arrayraw, Terminator_Arrayattr);
        Emperor_AllocListbrowserNode(&Emperor_Listbrowser_Terminator_Array, Terminator_Arrayraw, Terminator_Arrayattr);
        Emperor_AllocRadiobuttonNode(&Emperor_Radiobutton_Terminator_Array, Terminator_Arrayraw, Terminator_Arrayattr);
    }
    if(os35)
    {
        Emperor_AllocChooserNode(&Emperor_Chooser_Video_Array, Video_Arrayraw, Video_Arrayattr);
        Emperor_AllocClicktabNode(&Emperor_Clicktab_Video_Array, Video_Arrayraw, Video_Arrayattr);
        Emperor_AllocListbrowserNode(&Emperor_Listbrowser_Video_Array, Video_Arrayraw, Video_Arrayattr);
        Emperor_AllocRadiobuttonNode(&Emperor_Radiobutton_Video_Array, Video_Arrayraw, Video_Arrayattr);
    }
    if(os35)
    {
        Emperor_AllocChooserNode(&Emperor_Chooser_Debug_Array, Debug_Arrayraw, Debug_Arrayattr);
        Emperor_AllocClicktabNode(&Emperor_Clicktab_Debug_Array, Debug_Arrayraw, Debug_Arrayattr);
        Emperor_AllocListbrowserNode(&Emperor_Listbrowser_Debug_Array, Debug_Arrayraw, Debug_Arrayattr);
        Emperor_AllocRadiobuttonNode(&Emperor_Radiobutton_Debug_Array, Debug_Arrayraw, Debug_Arrayattr);
    }
    if((os35) && (!Emperor_InitVar))
    {
        WindowObject1 = (Object *) WindowObject,
                        WA_Width, 400,
                        WA_Height, 240,
                        WA_SizeGadget, TRUE,
                        WA_DragBar, TRUE,
                        WA_DepthGadget, TRUE,
                        WA_CloseGadget, TRUE,
                        WA_Activate, TRUE,
                        WA_SizeBBottom, TRUE,
                        WA_AutoAdjust, TRUE,
                        WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,
                        WA_Title, LOCALE_WINDOW_TITLE1,
                        WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
                        WA_PubScreen, Screen1,
                        WINDOW_GadgetHelp, TRUE,
                        WINDOW_IconifyGadget, TRUE,
                        WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
                        WINDOW_AppPort, AppPort,
                        WINDOW_Position, WPOS_CENTERMOUSE,
                        WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
                                            LAYOUT_SpaceOuter, TRUE,
                                            LAYOUT_DeferLayout, TRUE,
                                            LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
                                                             GA_ID, 1,
                                                             GA_RelVerify, TRUE,
                                                             GA_GadgetHelp, TRUE,
                                                             LAYOUT_Label, "",
                                                             LAYOUT_Orientation, 1,
                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                             LAYOUT_VertAlignment, LALIGN_TOP,
                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                             LAYOUT_BevelState, IDS_NORMAL,
                                                             LAYOUT_BevelStyle, 4,
                                                             LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) LayoutObject,
                                                                              GA_ID, 6,
                                                                              GA_RelVerify, TRUE,
                                                                              GA_GadgetHelp, TRUE,
                                                                              LAYOUT_Label, "",
                                                                              LAYOUT_Orientation, 0,
                                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                              LAYOUT_VertAlignment, LALIGN_TOP,
                                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                              LAYOUT_BevelState, IDS_NORMAL,
                                                                              LAYOUT_BevelStyle, 4,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[3] = (Object *) LayoutObject,
                                                                                               GA_ID, 2,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               LAYOUT_Label, LOCALE_GENERAL,
                                                                                               LAYOUT_Orientation, 1,
                                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
                                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                                               LAYOUT_BevelState, IDS_NORMAL,
                                                                                               LAYOUT_BevelStyle, 2,
                                                                                               LAYOUT_SpaceInner, TRUE,
                                                                                               LAYOUT_SpaceOuter, TRUE,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[4] = (Object *) CheckBoxObject,
                                                                                                                GA_ID, 3,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                GA_Text, LOCALE_MEMPROT,
                                                                                                                CHECKBOX_TextPen, 1,
                                                                                                                CHECKBOX_FillTextPen, 1,
                                                                                                                CHECKBOX_BackgroundPen, 0,
                                                                                                                CHECKBOX_TextPlace, PLACETEXT_RIGHT,
                                                                                               End,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[5] = (Object *) CheckBoxObject,
                                                                                                                GA_ID, 4,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                GA_Text, LOCALE_NOPPC,
                                                                                                                CHECKBOX_TextPen, 1,
                                                                                                                CHECKBOX_FillTextPen, 1,
                                                                                                                CHECKBOX_BackgroundPen, 0,
                                                                                                                CHECKBOX_TextPlace, PLACETEXT_RIGHT,
                                                                                               End,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) CheckBoxObject,
                                                                                                                GA_ID, 5,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                GA_Text, LOCLE_EARLYTERM,
                                                                                                                CHECKBOX_TextPen, 1,
                                                                                                                CHECKBOX_FillTextPen, 1,
                                                                                                                CHECKBOX_BackgroundPen, 0,
                                                                                                                CHECKBOX_TextPlace, PLACETEXT_RIGHT,
                                                                                               End,
                                                                              End,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[7] = (Object *) LayoutObject,
                                                                                               GA_ID, 8,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               LAYOUT_Label, LOCALE_POWERUP,
                                                                                               LAYOUT_Orientation, 1,
                                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
                                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                                               LAYOUT_BevelState, IDS_NORMAL,
                                                                                               LAYOUT_BevelStyle, 2,
                                                                                               LAYOUT_SpaceInner, TRUE,
                                                                                               LAYOUT_SpaceOuter, TRUE,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) ChooserObject,
                                                                                                                GA_ID, 13,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                CHOOSER_Title, "",
                                                                                                                CHOOSER_AutoFit, TRUE,
                                                                                                                CHOOSER_PopUp, TRUE,
                                                                                                                CHOOSER_MaxLabels, 3,
                                                                                                                CHOOSER_Offset, 0,
                                                                                                                CHOOSER_Selected, -1,
                                                                                                                CHOOSER_Labels, (ULONG) &Emperor_Chooser_Terminator_Array,
                                                                                               End,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[9] = (Object *) CheckBoxObject,
                                                                                                                GA_ID, 14,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                GA_Text, LOCALE_HIDEWARN,
                                                                                                                CHECKBOX_TextPen, 1,
                                                                                                                CHECKBOX_FillTextPen, 1,
                                                                                                                CHECKBOX_BackgroundPen, 0,
                                                                                                                CHECKBOX_TextPlace, PLACETEXT_RIGHT,
                                                                                               End,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[10] = (Object *) CheckBoxObject,
                                                                                                                GA_ID, 15,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                GA_Text, LOCALE_NOPATCH,
                                                                                                                CHECKBOX_TextPen, 1,
                                                                                                                CHECKBOX_FillTextPen, 1,
                                                                                                                CHECKBOX_BackgroundPen, 0,
                                                                                                                CHECKBOX_TextPlace, PLACETEXT_RIGHT,
                                                                                               End,
                                                                              End,
                                                             End,
                                                             LAYOUT_AddChild, (Object *) Gadget1[11] = (Object *) LayoutObject,
                                                                              GA_ID, 7,
                                                                              GA_RelVerify, TRUE,
                                                                              GA_GadgetHelp, TRUE,
                                                                              LAYOUT_Label, "",
                                                                              LAYOUT_Orientation, 0,
                                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                              LAYOUT_VertAlignment, LALIGN_TOP,
                                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                              LAYOUT_BevelState, IDS_NORMAL,
                                                                              LAYOUT_BevelStyle, 4,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[12] = (Object *) LayoutObject,
                                                                                               GA_ID, 11,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               LAYOUT_Label, LOCALE_VIDEOADDRESS,
                                                                                               LAYOUT_Orientation, 1,
                                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
                                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                                               LAYOUT_BevelState, IDS_NORMAL,
                                                                                               LAYOUT_BevelStyle, 2,
                                                                                               LAYOUT_SpaceInner, TRUE,
                                                                                               LAYOUT_SpaceOuter, TRUE,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[13] = (Object *) ChooserObject,
                                                                                                                GA_ID, 16,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                CHOOSER_Title, "",
                                                                                                                CHOOSER_AutoFit, TRUE,
                                                                                                                CHOOSER_PopUp, TRUE,
                                                                                                                CHOOSER_MaxLabels, 3,
                                                                                                                CHOOSER_Offset, 0,
                                                                                                                CHOOSER_Selected, -1,
                                                                                                                CHOOSER_Labels, (ULONG) &Emperor_Chooser_Video_Array,
                                                                                               End,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[14] = (Object *) StringObject,
                                                                                                                GA_ID, 18,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                GA_TabCycle, TRUE,
                                                                                                                STRINGA_TextVal, "",
                                                                                                                STRINGA_MaxChars, 10,
                                                                                                                STRINGA_Justification, GACT_STRINGLEFT,
                                                                                                                STRINGA_MinVisible, 10,
                                                                                                                STRINGA_HookType, SHK_HEXADECIMAL,
                                                                                                                STRINGA_ReplaceMode, TRUE,
                                                                                               End,
                                                                              End,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[15] = (Object *) LayoutObject,
                                                                                               GA_ID, 12,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               LAYOUT_Label, LOCALE_DEBUGGING,
                                                                                               LAYOUT_Orientation, 1,
                                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
                                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                                               LAYOUT_BevelState, IDS_NORMAL,
                                                                                               LAYOUT_BevelStyle, 2,
                                                                                               LAYOUT_SpaceInner, TRUE,
                                                                                               LAYOUT_SpaceOuter, TRUE,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[16] = (Object *) ChooserObject,
                                                                                                                GA_ID, 17,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                CHOOSER_Title, "",
                                                                                                                CHOOSER_AutoFit, TRUE,
                                                                                                                CHOOSER_PopUp, TRUE,
                                                                                                                CHOOSER_MaxLabels, 4,
                                                                                                                CHOOSER_Offset, 0,
                                                                                                                CHOOSER_Selected, -1,
                                                                                                                CHOOSER_Labels, (ULONG) &Emperor_Chooser_Debug_Array,
                                                                                               End,
                                                                                               LAYOUT_AddChild, (Object *) Gadget1[17] = (Object *) CheckBoxObject,
                                                                                                                GA_ID, 19,
                                                                                                                GA_RelVerify, TRUE,
                                                                                                                GA_GadgetHelp, TRUE,
                                                                                                                GA_Text, LOCALE_SEGMENTINFO,
                                                                                                                CHECKBOX_TextPen, 1,
                                                                                                                CHECKBOX_FillTextPen, 1,
                                                                                                                CHECKBOX_BackgroundPen, 0,
                                                                                                                CHECKBOX_TextPlace, PLACETEXT_RIGHT,
                                                                                               End,
                                                                              End,
                                                             End,
                                                             LAYOUT_AddChild, (Object *) Gadget1[18] = (Object *) LayoutObject,
                                                                              GA_ID, 9,
                                                                              GA_RelVerify, TRUE,
                                                                              GA_GadgetHelp, TRUE,
                                                                              LAYOUT_Label, LOCALE_LOGDATA,
                                                                              LAYOUT_Orientation, 1,
                                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                              LAYOUT_VertAlignment, LALIGN_TOP,
                                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                              LAYOUT_BevelState, IDS_NORMAL,
                                                                              LAYOUT_BevelStyle, 2,
                                                                              LAYOUT_SpaceInner, TRUE,
                                                                              LAYOUT_SpaceOuter, TRUE,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[19] = (Object *) GetFileObject,
                                                                                               GA_ID, 20,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               GETFILE_TitleText, "",
                                                                                               GETFILE_AcceptPattern, "",
                                                                                               GETFILE_RejectPattern, "",
                                                                                               GETFILE_FullFile, "CON:////WarpOS/AUTO/CLOSE/WAIT/INACTIVE",
                                                                                               GETFILE_DoSaveMode, TRUE,
                                                                                               GETFILE_RejectIcons, TRUE,
                                                                              End,
                                                                              CHILD_Label, (Object *) Gadget1[20] = (Object *) LabelObject,
                                                                                               LABEL_Justification, 0,
                                                                                               LABEL_Text, LOCALE_CRASH,
                                                                              End,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[21] = (Object *) GetFileObject,
                                                                                               GA_ID, 21,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               GETFILE_TitleText, "",
                                                                                               GETFILE_AcceptPattern, "",
                                                                                               GETFILE_RejectPattern, "",
                                                                                               GETFILE_FullFile, "CON:////WarpOS/AUTO/CLOSE/WAIT/INACTIVE",
                                                                                               GETFILE_DoSaveMode, TRUE,
                                                                                               GETFILE_RejectIcons, TRUE,
                                                                              End,
                                                                              CHILD_Label, (Object *) Gadget1[22] = (Object *) LabelObject,
                                                                                               LABEL_Justification, 0,
                                                                                               LABEL_Text, LOCALE_ALERT,
                                                                              End,
                                                             End,
                                                             LAYOUT_AddChild, (Object *) Gadget1[23] = (Object *) SpaceObject,
                                                                              GA_ID, 25,
                                                                              GA_RelVerify, TRUE,
                                                                              GA_GadgetHelp, TRUE,
                                                                              SPACE_MinHeight, 10,
                                                                              SPACE_BevelStyle, 4,
                                                             End,
                                                             LAYOUT_AddChild, (Object *) Gadget1[24] = (Object *) LayoutObject,
                                                                              GA_ID, 10,
                                                                              GA_RelVerify, TRUE,
                                                                              GA_GadgetHelp, TRUE,
                                                                              LAYOUT_Label, "",
                                                                              LAYOUT_Orientation, 0,
                                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
                                                                              LAYOUT_VertAlignment, LALIGN_TOP,
                                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
                                                                              LAYOUT_BevelState, IDS_NORMAL,
                                                                              LAYOUT_BevelStyle, 4,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[25] = (Object *) ButtonObject,
                                                                                               GA_ID, 24,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               GA_Text, LOCALE_SAVE,
                                                                                               BUTTON_AutoButton, 0,
                                                                                               BUTTON_BevelStyle, 1,
                                                                                               BUTTON_Justification, 1,
                                                                              End,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[26] = (Object *) SpaceObject,
                                                                                               GA_ID, 28,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               SPACE_MinWidth, 50,
                                                                                               SPACE_BevelStyle, 4,
                                                                              End,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[27] = (Object *) ButtonObject,
                                                                                               GA_ID, 26,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               GA_Text, LOCALE_USE,
                                                                                               BUTTON_AutoButton, 0,
                                                                                               BUTTON_BevelStyle, 1,
                                                                                               BUTTON_Justification, 1,
                                                                              End,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[28] = (Object *) SpaceObject,
                                                                                               GA_ID, 29,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               SPACE_MinWidth, 50,
                                                                                               SPACE_BevelStyle, 4,
                                                                              End,
                                                                              LAYOUT_AddChild, (Object *) Gadget1[29] = (Object *) ButtonObject,
                                                                                               GA_ID, 27,
                                                                                               GA_RelVerify, TRUE,
                                                                                               GA_GadgetHelp, TRUE,
                                                                                               GA_Text, LOCALE_BREAK,
                                                                                               BUTTON_AutoButton, 0,
                                                                                               BUTTON_BevelStyle, 1,
                                                                                               BUTTON_Justification, 1,
                                                                              End,
                                                             End,
                                            End,
                        EndGroup,
        EndWindow;
    }

    if(Emperor_InitVar)
    {
        strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
        switch(Emperor_InitVar)
        {
            case 1: strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
                    strcat(Emperor_ExceptionString, Emperor_OccuredError);
                    strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
                    break;
            case 5: strcat(Emperor_ExceptionString, "Can't get visualinfo of the screen."); break;
            case 6: strcat(Emperor_ExceptionString, "Can't create menu."); break;
            case 7: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
        }
        if(Emperor_InitVar >= 5) strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
        EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
        EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
        EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
        EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
        EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
        EasyRequest(NULL, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
        Emperor_QuitProgram();
    }
    else
    {
        SetProgramName("Workshop");
        Startup();
    }
}

void Emperor_QuitProgram(void)
{
    Shutdown();
    Emperor_CloseWindow_Window1();
    if(WindowObject1) DisposeObject(WindowObject1);
    if(AppPort) DeleteMsgPort(AppPort);
    if(MsgPort) DeletePort(MsgPort);
    if(Menu) FreeMenus(Menu);
    if(Screen1) UnlockPubScreen(NULL, Screen1);
    if(Catalog) CloseCatalog(Catalog);
    if(LabelBase) CloseLibrary(LabelBase);
    if(GlyphBase) CloseLibrary(GlyphBase);
    if(BitMapBase) CloseLibrary(BitMapBase);
    if(BevelBase) CloseLibrary(BevelBase);
    if(TextEditorBase) CloseLibrary(TextEditorBase);
    if(TapeDeckBase) CloseLibrary(TapeDeckBase);
    if(StringBase) CloseLibrary(StringBase);
    if(SpeedBarBase) CloseLibrary(SpeedBarBase);
    if(SpaceBase) CloseLibrary(SpaceBase);
    if(SliderBase) CloseLibrary(SliderBase);
    if(ScrollerBase) CloseLibrary(ScrollerBase);
    if(RadioButtonBase) CloseLibrary(RadioButtonBase);
    if(PaletteBase) CloseLibrary(PaletteBase);
    if(ListBrowserBase) CloseLibrary(ListBrowserBase);
    if(LayoutBase) CloseLibrary(LayoutBase);
    if(IntegerBase) CloseLibrary(IntegerBase);
    if(GradientSliderBase) CloseLibrary(GradientSliderBase);
    if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
    if(GetFontBase) CloseLibrary(GetFontBase);
    if(GetFileBase) CloseLibrary(GetFileBase);
    if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
    if(DateBrowserBase) CloseLibrary(DateBrowserBase);
    if(ColorWheelBase) CloseLibrary(ColorWheelBase);
    if(ClickTabBase) CloseLibrary(ClickTabBase);
    if(ChooserBase) CloseLibrary(ChooserBase);
    if(CheckBoxBase) CloseLibrary(CheckBoxBase);
    if(ButtonBase) CloseLibrary(ButtonBase);
    if(RequesterBase) CloseLibrary(RequesterBase);
    if(WindowBase) CloseLibrary(WindowBase);
    if(ResourceBase) CloseLibrary(ResourceBase);
    if(DOSLibBase) CloseLibrary(DOSLibBase);
    if(ASLBase) CloseLibrary(ASLBase);
    if(GadToolsBase) CloseLibrary(GadToolsBase);
    if(LocaleBase) CloseLibrary(LocaleBase);
    if(IntuitionBase) CloseLibrary(IntuitionBase);
    exit(0);
}

void Emperor_CloseScreen_Screen1(void)
{
    if(Screen1)
    {
        UnlockPubScreen(NULL, Screen1);
        Screen1 = NULL;
    }
}

struct Screen *Emperor_OpenScreen_Screen1(void)
{
    Screen1 = LockPubScreen(NULL);
    return(Screen1);
}

void Emperor_CloseWindow_Window1(void)
{
    if(os35)
    {
        if(Menu) ClearMenuStrip(Window1);
        DoMethod(WindowObject1, WM_CLOSE, NULL);
        Window1 = NULL;
        WindowSignals1 = 0L;
    }
}

void Emperor_IconifyWindow_Window1(void)
{
    if(os35)
    {
        if(Menu) ClearMenuStrip(Window1);
        DoMethod(WindowObject1, WM_ICONIFY, NULL);
    }
}

struct Window *Emperor_OpenWindow_Window1(void)
{
    if(os35)
    {
        Window1 = RA_OpenWindow(WindowObject1);
        GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
        SetMenuStrip(Window1, Menu);
        Window1_ShowWindow_Event();
    }
    return(Window1);
}

struct Window *Emperor_UniconifyWindow_Window1(void)
{
    return(Emperor_OpenWindow_Window1());
}

STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
{
    LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
    STRPTR Emperor_GadgetAttrReturn = "";

    Emperor_GadgetAttrBuffer = 0L;
    for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
    {
        if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
        {
            switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
            {
                case 0:
                    GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 1:
                    GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 2:
                    GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 3:
                    GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 6:
                    GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 7:
                    GetAttr(GETFILE_FullFile, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
                    break;
                case 8:
                    GetAttr(GETFONT_TextAttr, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    Emperor_GadgetAttrReturn = (STRPTR) Emperor_GadgetAttrBuffer;
                    break;
                case 9:
                    GetAttr(GETSCREENMODE_DisplayID, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 10:
                    GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 11:
                    GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 13:
                    GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 14:
                    GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 15:
                    GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 16:
                    GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 17:
                    GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 19:
                    GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 20:
                    GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
                    break;
                case 21:
                    GetAttr(TDECK_Mode, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
                    break;
                case 22:
                    GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
                    strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
                    break;
            }
            break;
        }
    }
    return(Emperor_GadgetAttrReturn);
}

void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
{
    LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
    struct Window *Emperor_Whichwindow = NULL;

    Emperor_GadgetAttrBuffer = 0L;
    for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
    {
        if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
        {
            Emperor_Whichwindow = Window1;
            switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
            {
                case 0:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 1:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 2:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 3:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 6:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 7:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFILE_FullFile, Emperor_GadgetValue, TAG_DONE);
                    break;
                case 8:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TextAttr, (struct TextAttr *) &Emperor_GadgetValue, TAG_DONE);
                    break;
                case 9:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_DisplayID, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 10:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 11:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 13:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 14:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 15:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 16:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 17:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 19:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
                    break;
                case 20:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
                    break;
                case 21:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, TDECK_Mode, stringtoint(Emperor_GadgetValue), TAG_DONE);
                    break;
                case 22:
                    Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
                    break;
            }
            if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
            break;
        }
    }
}

void Emperor_SetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
{
    LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
    struct Window *Emperor_Whichwindow = NULL;

    Emperor_GadgetAttrBuffer = 0L;
    for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
    {
        if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
        {
            Emperor_Whichwindow = Window1;
            Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Disabled, Emperor_GadgetValue, TAG_DONE);
            if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
            break;
        }
    }
}

void Emperor_AllocChooserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
{
    WORD Emperor_Counter1 = 0;
    struct Node *Emperor_Node;

    if(os35)
    {
        NewList(Emperor_List);
        while(*Emperor_Labels)
        {
            Emperor_Node = AllocChooserNode(CNA_Text, *Emperor_Labels, CNA_Disabled, Emperor_Attributes[Emperor_Counter1], CNA_ReadOnly, Emperor_Attributes[Emperor_Counter1 + 1], TAG_DONE);
            AddTail(Emperor_List, Emperor_Node);
            Emperor_Labels++;
            Emperor_Counter1 += 12;
        }
    }
}

void Emperor_AllocClicktabNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
{
    WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
    struct Node *Emperor_Node;

    if(os35)
    {
        NewList(Emperor_List);
        while(*Emperor_Labels)
        {
            Emperor_Node = AllocClickTabNode(TNA_Text, *Emperor_Labels, TNA_Disabled, Emperor_Attributes[Emperor_Counter1], TNA_Number, Emperor_Counter2, TAG_DONE);
            AddTail(Emperor_List, Emperor_Node);
            Emperor_Labels++;
            Emperor_Counter1 += 12;
            Emperor_Counter2++;
        }
    }
}

void Emperor_AllocListbrowserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
{
    WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
    struct Node *Emperor_Node;

    if(os35)
    {
        NewList(Emperor_List);
        while(*Emperor_Labels)
        {
            Emperor_Counter2 = 0;
            if(Emperor_Attributes[Emperor_Counter1 + 1]) Emperor_Counter2 += 1;
            if(Emperor_Attributes[Emperor_Counter1 + 2]) Emperor_Counter2 += 4;
            if(Emperor_Attributes[Emperor_Counter1 + 3]) Emperor_Counter2 += 8;
            if(Emperor_Attributes[Emperor_Counter1 + 4]) Emperor_Counter2 += 16;
            Emperor_Node = AllocListBrowserNode(1, LBNCA_Text, *Emperor_Labels, LBNCA_CopyText, TRUE, LBNA_Generation, Emperor_Attributes[Emperor_Counter1 + 10], LBNA_Column, Emperor_Attributes[Emperor_Counter1 + 11], LBNA_Flags, Emperor_Counter2, LBNA_Selected, Emperor_Attributes[Emperor_Counter1 + 5], LBNA_CheckBox, Emperor_Attributes[Emperor_Counter1 + 6], LBNA_Checked, Emperor_Attributes[Emperor_Counter1 + 7], TAG_DONE);
            AddTail(Emperor_List, Emperor_Node);
            Emperor_Labels++;
            Emperor_Counter1 += 12;
        }
    }
}

void Emperor_AllocRadiobuttonNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
{
    struct Node *Emperor_Node;

    if(os35)
    {
        NewList(Emperor_List);
        while(*Emperor_Labels)
        {
            Emperor_Node = AllocRadioButtonNode(1, RBNA_Labels, *Emperor_Labels, TAG_DONE);
            AddTail(Emperor_List, Emperor_Node);
            Emperor_Labels++;
        }
    }
}

ULONG stringlength(STRPTR Emperor_StringBuffer)
{
    ULONG Emperor_Counter = 0;

    while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
    return(Emperor_Counter);
}

LONG stringtoint(STRPTR Emperor_StringBuffer)
{
    return(atol(Emperor_StringBuffer));
}

DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
{
    return(atof(Emperor_StringBuffer));
}

STRPTR inttostring(LONG Emperor_NumberBuffer1)
{
    LONG Emperor_NumberBuffer2;
    BYTE Emperor_NumberLength = 0;
    BYTE Emperor_Counter = 0;
    char *Emperor_ReturnBuffer = "abcdefghij";

    strcpy(Emperor_ReturnBuffer, "");
    Emperor_ReturnBuffer[0] = NULL;
    if(Emperor_NumberBuffer1 < 0)
    {
        strcpy(Emperor_ReturnBuffer, "-");
        Emperor_NumberBuffer1 = -Emperor_NumberBuffer1;
    }
    if(Emperor_NumberBuffer1 > 0) Emperor_NumberLength = 1;
    if(Emperor_NumberBuffer1/10 > 0) Emperor_NumberLength = 2;
    if(Emperor_NumberBuffer1/100 > 0) Emperor_NumberLength = 3;
    if(Emperor_NumberBuffer1/1000 > 0) Emperor_NumberLength = 4;
    if(Emperor_NumberBuffer1/10000 > 0) Emperor_NumberLength = 5;
    if(Emperor_NumberBuffer1/100000 > 0) Emperor_NumberLength = 6;
    if(Emperor_NumberBuffer1/1000000 > 0) Emperor_NumberLength = 7;
    if(Emperor_NumberBuffer1/10000000 > 0) Emperor_NumberLength = 8;
    if(Emperor_NumberBuffer1/100000000 > 0) Emperor_NumberLength = 9;
    if(Emperor_NumberBuffer1 == 0)  strcpy(Emperor_ReturnBuffer, "0");
    else
    {
        Emperor_Counter = Emperor_NumberLength;
        for(;Emperor_Counter > 0;Emperor_Counter--)
        {
            if(Emperor_Counter == 9) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000000;
            if(Emperor_Counter == 8) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000000;
            if(Emperor_Counter == 7) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000000;
            if(Emperor_Counter == 6) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000;
            if(Emperor_Counter == 5) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000;
            if(Emperor_Counter == 4) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000;
            if(Emperor_Counter == 3) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100;
            if(Emperor_Counter == 2) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10;
            if(Emperor_Counter == 1) Emperor_NumberBuffer2 = Emperor_NumberBuffer1;
            if(Emperor_NumberBuffer2 == 0) strcat(Emperor_ReturnBuffer, "0");
            if(Emperor_NumberBuffer2 == 1) strcat(Emperor_ReturnBuffer, "1");
            if(Emperor_NumberBuffer2 == 2) strcat(Emperor_ReturnBuffer, "2");
            if(Emperor_NumberBuffer2 == 3) strcat(Emperor_ReturnBuffer, "3");
            if(Emperor_NumberBuffer2 == 4) strcat(Emperor_ReturnBuffer, "4");
            if(Emperor_NumberBuffer2 == 5) strcat(Emperor_ReturnBuffer, "5");
            if(Emperor_NumberBuffer2 == 6) strcat(Emperor_ReturnBuffer, "6");
            if(Emperor_NumberBuffer2 == 7) strcat(Emperor_ReturnBuffer, "7");
            if(Emperor_NumberBuffer2 == 8) strcat(Emperor_ReturnBuffer, "8");
            if(Emperor_NumberBuffer2 == 9) strcat(Emperor_ReturnBuffer, "9");
            if(Emperor_Counter == 9) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000000;
            if(Emperor_Counter == 8) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000000;
            if(Emperor_Counter == 7) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000000;
            if(Emperor_Counter == 6) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000;
            if(Emperor_Counter == 5) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000;
            if(Emperor_Counter == 4) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000;
            if(Emperor_Counter == 3) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100;
            if(Emperor_Counter == 2) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10;
            if(Emperor_Counter == 1) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2;
        }
    }
    return(Emperor_ReturnBuffer);
}

#include <Workshop.h>
