/
Sapphire/bin/
Sapphire/db/
Sapphire/db/OLC_rooms/
Sapphire/db/abi/
Sapphire/db/em_src/
Sapphire/db/helps/
Sapphire/db/helps/emman/ifunc/
Sapphire/db/npcs/Tatt/
Sapphire/db/objects/Tatt/
Sapphire/db/q_data/
Sapphire/db/rooms/Tatt/
Sapphire/doc/
Sapphire/doc/em/
Sapphire/etc/
Sapphire/src/abic/
Sapphire/src/areacon/
Sapphire/src/client/
Sapphire/src/embc/
Sapphire/src/emi/
Sapphire/src/emi/test/
Sapphire/src/include/
Sapphire/src/sapphire/em/
Sapphire/src/tcon/
Following is an outline of the Emerald object file format, 8th version.

EmeraldObjectFile
{
    4bytes          MagicNumber;
    1byte           Version;
    StringEntry     Info;

    2bytes          SymbolTableSize;
    StringEntry     SymbolTable[SymbolTableSize];

    2bytes          FunctionCount;
    FunctionEntry   Function[FunctionCount];
}

StringEntry
{
    2bytes          Length;
    1byte           String[Length];
}

FunctionEntry
{
    4bytes          FunctionFlags;

    1byte           NumberOfArguments;
    1byte           ArgumentTypes[NumberOfArguments];

    1byte           NumberOfReturnValues;
    1byte           ReturnTypes[NumberOfReturnValues];

    2bytes          SymbolTableReference; /* For name. */

    4bytes          FunctionCodeSize;
    1byte           FunctionCode[FunctionCodeSize];
}



--