#ifndef DTDESCLOC_H
#define DTDESCLOC_H


/****************************************************************************/


/* This file was created automatically by CatComp.
 * Do NOT edit by hand!
 */


#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifdef CATCOMP_ARRAY
#undef CATCOMP_NUMBERS
#undef CATCOMP_STRINGS
#define CATCOMP_NUMBERS
#define CATCOMP_STRINGS
#endif

#ifdef CATCOMP_BLOCK
#undef CATCOMP_STRINGS
#define CATCOMP_STRINGS
#endif


/****************************************************************************/


#ifdef CATCOMP_NUMBERS

#define MSG_DTINFO_TITLE_WIN 0
#define MSG_LIBRARY_ERROR 1
#define MSG_MAIN_TAB0_GAD 1000
#define MSG_MAIN_TAB1_GAD 1001
#define MSG_MAIN_TAB2_GAD 1002
#define MSG_MAIN_TAB3_GAD 1003
#define MSG_GROUP_FRAME_GAD 2000
#define MSG_GROUP_SYSTEM 2001
#define MSG_GROUP_TEXT 2002
#define MSG_GROUP_DOCUMENT 2003
#define MSG_GROUP_SOUND 2004
#define MSG_GROUP_INSTRUMENT 2005
#define MSG_GROUP_MUSIC 2006
#define MSG_GROUP_PICTURE 2007
#define MSG_GROUP_ANIMATION 2008
#define MSG_GROUP_MOVIE 2009
#define MSG_MAIN_FRAME_GAD 3000
#define MSG_MAIN_FILETYPE_GAD 3001
#define MSG_MAIN_BASENAME_GAD 3002
#define MSG_MAIN_NAMEPATTERN_GAD 3003
#define MSG_MAIN_FUNCTION_GAD 3004
#define MSG_MAIN_PRIORITY_GAD 3005
#define MSG_ABOUT_GAD 4000

#endif /* CATCOMP_NUMBERS */


/****************************************************************************/


#ifdef CATCOMP_STRINGS

#define MSG_DTINFO_TITLE_WIN_STR "Information: %s"
#define MSG_LIBRARY_ERROR_STR "Can't open\n  %s V%ld"
#define MSG_MAIN_TAB0_GAD_STR "Info"
#define MSG_MAIN_TAB1_GAD_STR "Mask"
#define MSG_MAIN_TAB2_GAD_STR "Tool"
#define MSG_MAIN_TAB3_GAD_STR "Misc"
#define MSG_GROUP_FRAME_GAD_STR "Group"
#define MSG_GROUP_SYSTEM_STR "System"
#define MSG_GROUP_TEXT_STR "Text"
#define MSG_GROUP_DOCUMENT_STR "Document"
#define MSG_GROUP_SOUND_STR "Sound"
#define MSG_GROUP_INSTRUMENT_STR "Instrument"
#define MSG_GROUP_MUSIC_STR "Music"
#define MSG_GROUP_PICTURE_STR "Picture"
#define MSG_GROUP_ANIMATION_STR "Animation"
#define MSG_GROUP_MOVIE_STR "Movie"
#define MSG_MAIN_FRAME_GAD_STR "Main"
#define MSG_MAIN_FILETYPE_GAD_STR "File Type"
#define MSG_MAIN_BASENAME_GAD_STR "Base Name"
#define MSG_MAIN_NAMEPATTERN_GAD_STR "Name Pattern"
#define MSG_MAIN_FUNCTION_GAD_STR "Function"
#define MSG_MAIN_PRIORITY_GAD_STR "Priority:"
#define MSG_ABOUT_GAD_STR "DTDescription\nby Swen K. Stullich\nUnited Forces Tools"

#endif /* CATCOMP_STRINGS */


/****************************************************************************/


#ifdef CATCOMP_ARRAY

struct CatCompArrayType
{
    LONG   cca_ID;
    STRPTR cca_Str;
};

static const struct CatCompArrayType CatCompArray[] =
{
    {MSG_DTINFO_TITLE_WIN,(STRPTR)MSG_DTINFO_TITLE_WIN_STR},
    {MSG_LIBRARY_ERROR,(STRPTR)MSG_LIBRARY_ERROR_STR},
    {MSG_MAIN_TAB0_GAD,(STRPTR)MSG_MAIN_TAB0_GAD_STR},
    {MSG_MAIN_TAB1_GAD,(STRPTR)MSG_MAIN_TAB1_GAD_STR},
    {MSG_MAIN_TAB2_GAD,(STRPTR)MSG_MAIN_TAB2_GAD_STR},
    {MSG_MAIN_TAB3_GAD,(STRPTR)MSG_MAIN_TAB3_GAD_STR},
    {MSG_GROUP_FRAME_GAD,(STRPTR)MSG_GROUP_FRAME_GAD_STR},
    {MSG_GROUP_SYSTEM,(STRPTR)MSG_GROUP_SYSTEM_STR},
    {MSG_GROUP_TEXT,(STRPTR)MSG_GROUP_TEXT_STR},
    {MSG_GROUP_DOCUMENT,(STRPTR)MSG_GROUP_DOCUMENT_STR},
    {MSG_GROUP_SOUND,(STRPTR)MSG_GROUP_SOUND_STR},
    {MSG_GROUP_INSTRUMENT,(STRPTR)MSG_GROUP_INSTRUMENT_STR},
    {MSG_GROUP_MUSIC,(STRPTR)MSG_GROUP_MUSIC_STR},
    {MSG_GROUP_PICTURE,(STRPTR)MSG_GROUP_PICTURE_STR},
    {MSG_GROUP_ANIMATION,(STRPTR)MSG_GROUP_ANIMATION_STR},
    {MSG_GROUP_MOVIE,(STRPTR)MSG_GROUP_MOVIE_STR},
    {MSG_MAIN_FRAME_GAD,(STRPTR)MSG_MAIN_FRAME_GAD_STR},
    {MSG_MAIN_FILETYPE_GAD,(STRPTR)MSG_MAIN_FILETYPE_GAD_STR},
    {MSG_MAIN_BASENAME_GAD,(STRPTR)MSG_MAIN_BASENAME_GAD_STR},
    {MSG_MAIN_NAMEPATTERN_GAD,(STRPTR)MSG_MAIN_NAMEPATTERN_GAD_STR},
    {MSG_MAIN_FUNCTION_GAD,(STRPTR)MSG_MAIN_FUNCTION_GAD_STR},
    {MSG_MAIN_PRIORITY_GAD,(STRPTR)MSG_MAIN_PRIORITY_GAD_STR},
    {MSG_ABOUT_GAD,(STRPTR)MSG_ABOUT_GAD_STR},
};

#endif /* CATCOMP_ARRAY */


/****************************************************************************/


#ifdef CATCOMP_BLOCK

static const char CatCompBlock[] =
{
    "\x00\x00\x00\x00\x00\x10"
    MSG_DTINFO_TITLE_WIN_STR "\x00"
    "\x00\x00\x00\x01\x00\x16"
    MSG_LIBRARY_ERROR_STR "\x00\x00"
    "\x00\x00\x03\xE8\x00\x06"
    MSG_MAIN_TAB0_GAD_STR "\x00\x00"
    "\x00\x00\x03\xE9\x00\x06"
    MSG_MAIN_TAB1_GAD_STR "\x00\x00"
    "\x00\x00\x03\xEA\x00\x06"
    MSG_MAIN_TAB2_GAD_STR "\x00\x00"
    "\x00\x00\x03\xEB\x00\x06"
    MSG_MAIN_TAB3_GAD_STR "\x00\x00"
    "\x00\x00\x07\xD0\x00\x06"
    MSG_GROUP_FRAME_GAD_STR "\x00"
    "\x00\x00\x07\xD1\x00\x08"
    MSG_GROUP_SYSTEM_STR "\x00\x00"
    "\x00\x00\x07\xD2\x00\x06"
    MSG_GROUP_TEXT_STR "\x00\x00"
    "\x00\x00\x07\xD3\x00\x0A"
    MSG_GROUP_DOCUMENT_STR "\x00\x00"
    "\x00\x00\x07\xD4\x00\x06"
    MSG_GROUP_SOUND_STR "\x00"
    "\x00\x00\x07\xD5\x00\x0C"
    MSG_GROUP_INSTRUMENT_STR "\x00\x00"
    "\x00\x00\x07\xD6\x00\x06"
    MSG_GROUP_MUSIC_STR "\x00"
    "\x00\x00\x07\xD7\x00\x08"
    MSG_GROUP_PICTURE_STR "\x00"
    "\x00\x00\x07\xD8\x00\x0A"
    MSG_GROUP_ANIMATION_STR "\x00"
    "\x00\x00\x07\xD9\x00\x06"
    MSG_GROUP_MOVIE_STR "\x00"
    "\x00\x00\x0B\xB8\x00\x06"
    MSG_MAIN_FRAME_GAD_STR "\x00\x00"
    "\x00\x00\x0B\xB9\x00\x0A"
    MSG_MAIN_FILETYPE_GAD_STR "\x00"
    "\x00\x00\x0B\xBA\x00\x0A"
    MSG_MAIN_BASENAME_GAD_STR "\x00"
    "\x00\x00\x0B\xBB\x00\x0E"
    MSG_MAIN_NAMEPATTERN_GAD_STR "\x00\x00"
    "\x00\x00\x0B\xBC\x00\x0A"
    MSG_MAIN_FUNCTION_GAD_STR "\x00\x00"
    "\x00\x00\x0B\xBD\x00\x0A"
    MSG_MAIN_PRIORITY_GAD_STR "\x00"
    "\x00\x00\x0F\xA0\x00\x36"
    MSG_ABOUT_GAD_STR "\x00"
};

#endif /* CATCOMP_BLOCK */


/****************************************************************************/


struct LocaleInfo
{
    APTR li_LocaleBase;
    APTR li_Catalog;
};


#ifdef CATCOMP_CODE

STRPTR GetString(struct LocaleInfo *li, LONG stringNum)
{
LONG   *l;
UWORD  *w;
STRPTR  builtIn;

    l = (LONG *)CatCompBlock;

    while (*l != stringNum)
    {
        w = (UWORD *)((ULONG)l + 4);
        l = (LONG *)((ULONG)l + (ULONG)*w + 6);
    }
    builtIn = (STRPTR)((ULONG)l + 6);

#define XLocaleBase LocaleBase
#define LocaleBase li->li_LocaleBase
    
    if (LocaleBase)
        return(GetCatalogStr(li->li_Catalog,stringNum,builtIn));
#define LocaleBase XLocaleBase
#undef XLocaleBase

    return(builtIn);
}


#endif /* CATCOMP_CODE */


/****************************************************************************/


#endif /* DTDESCLOC_H */
