hedgewars/pas2cRedo.pas
author nemo
Mon, 08 Dec 2014 09:35:14 -0500
changeset 10634 35d059bd0932
parent 10564 0cb20aa8877a
child 10838 2abe883c9c21
permissions -rw-r--r--
Use FreeAndNil across the board. Even if we are immediately assigning after, probably avoids accidental mistakes. Also free neglected owner tex on shutdown, and delete hog gears using the normal deletion procedure if for any reason they still exist (EndGame call?).

redo;
{This file contains functions that are re-implemented}
{pas2c will add prefix fpcrtl_ to all these functions}
type
    uinteger = uinteger;
    Integer = integer;
    LongInt = integer;
    LongWord = uinteger;
    Cardinal = uinteger;
    PtrInt = integer;
    Word = uinteger;
    Byte = integer;
    SmallInt = integer;
    ShortInt = integer;
    Int64 = integer;
    QWord = uinteger;
    GLint = integer;
    GLuint = integer;
    int = integer;
    size_t = integer;

    pointer = pointer;

    float = float;
    single = float;
    double = float;
    real = float;
    extended = float;
    GLfloat = float;

    boolean = boolean;
    LongBool = boolean;

    string = string;
    shortstring = string;
    ansistring = string;
    widechar = string;

    char = char;
    PChar = ^char;
    PPChar = ^Pchar;

    PByte = ^Byte;
    PLongInt = ^LongInt;
    PLongWord = ^LongWord;
    PInteger = ^Integer;

    Handle = integer;

var
    write, writeLn, read, readLn, flush, CreateDir: procedure;

    halt:procedure;

    GetEnumName:function:shortstring;
    TypeInfo:function:Integer;

    lo:function:Integer;

    init:procedure;

    StrLen:function : integer;
    odd, even : function : boolean;

    Length : function : integer;

    Now : function : integer;

    new, dispose, FillChar, Move : procedure;

    trunc, round : function : integer;
    abs, sqr : function : integer;

    StrPas, FormatDateTime, copy, delete, str, PosS, trim, LowerCase : function : shortstring;
    pos : function : integer;
    StrToInt : function : integer;
    SetLength, SetLengthA, val, StrDispose, StrCopy : procedure;
    _pchar, _pcharA, StrAlloc : function : PChar;
    pchar2str, astr2str : function : string;
    pchar2astr, str2astr : function : ansistring;
    memcpy : procedure;
    StrLength : function : integer;

     min, max:function:integer;
    assign, rewrite, rewrite_2, reset, reset_2, flush, BlockWrite, BlockRead, close : procedure;
    FileExists, DirectoryExists, eof : function : boolean;
    ExtractFileDir : function : string;
    ExtractFileName : function : string;

    ParamCount : function : integer;
    ParamStr : function : string;

    arctan2, power: function : float;

    //TypeInfo, GetEnumName : function : shortstring;

    UTF8ToUnicode, WrapText: function : shortstring;

    GetMem : function : pointer;
    FreeMem : procedure;

    BeginThread, ThreadSwitch : procedure;
    InterlockedIncrement, InterlockedDecrement : procedure;

    random : function : integer;
    randomize : procedure;

    Assigned : function : boolean;

    //EnumToStr : function : string;

    initParams : procedure;

    Load_GL_VERSION_2_0 : procedure;