project_files/hwc/rtl/pas2c.h
author Wuzzy <Wuzzy2@mail.ru>
Tue, 28 Aug 2018 05:46:33 +0200
changeset 13710 0da36902e5b6
parent 12103 22bd1099d51f
child 13880 5f819b90d479
permissions -rw-r--r--
Space Invasion: Continue playing rounds in case the teams are tied at the end Rules in case of a tie: 1) Eliminate all teams not tied for the lead 2) Play another round with the remaining teams 3) Check for the winner again at the end of that round. If there's another tie, repeat the procedure

#pragma once

#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include <wchar.h>
#include <math.h>

#define MAX_PARAMS 64
#define MAX_ANSISTRING_LENGTH 16383

typedef union string255_
    {
        struct {
            unsigned char s[256];
        };
        struct {
            unsigned char len;
            unsigned char str[255];
        };
    } string255;

typedef union astring_
    {
        struct {
            uint16_t len;
        };
        struct {
            unsigned char _dummy2;
            unsigned char s[MAX_ANSISTRING_LENGTH + 1];
        };
        struct {
            unsigned char _dummy1;
            string255 str255;
        };
    } astring;

typedef string255 shortstring;

typedef uint8_t Byte;
typedef int8_t ShortInt;
typedef uint16_t Word;
typedef int16_t SmallInt;
typedef uint32_t LongWord;
typedef int32_t LongInt;
typedef uint64_t QWord;
typedef int64_t Int64;
typedef LongWord Cardinal;

typedef LongInt Integer;
typedef float extended;
typedef float real;
typedef float single;

typedef bool boolean;
typedef int LongBool;

typedef void * pointer;
typedef Byte * PByte;
typedef char * PChar;
typedef LongInt * PLongInt;
typedef LongWord * PLongWord;
typedef Integer * PInteger;
typedef ptrdiff_t PtrInt;
typedef wchar_t widechar;
typedef wchar_t* PWideChar;
typedef char Char;
typedef PtrInt SizeInt;
typedef char ** PPChar;
typedef Word* PWord;

string255 _strconcat(string255 a, string255 b);
string255 _strappend(string255 s, unsigned char c);
string255 _strprepend(unsigned char c, string255 s);
string255 _chrconcat(unsigned char a, unsigned char b);
bool _strcompare(string255 a, string255 b);
bool _strcomparec(string255 a, unsigned char b);
bool _strncompare(string255 a, string255 b);
bool _strncompareA(astring a, astring b);


#define STRINIT(a) {.len = sizeof(a) - 1, .str = a}
#define UNUSED(x) (void)(x)