#include <exec/types.h>
#include <pragma/all_lib.h>
#include <exec/memory.h>

#include <string.h>

#include <WMap.h>

extern APTR   TextMemA[2];
extern char   *CountryText[MAXCOUNTRY];
extern char   *PText[MAXOTHER];
extern struct WPreferences WPrefs;


//0-Neutral/Blockfrei 1-NATO 2-WarschauerVertrag 3-ArabischeLiga 4-Chinesische Allianz
//5-Kommunist.Block

BYTE BlockID[MAXCOUNTRY]={
  1,       1,      1,         1,             0,     1,       1,      1,        1,          1,
//Portugal Spanien Frankreich Großbritannien Irland Dänemark Belgien Luxemburg Niederlande BRD
  2,  0,      0,         1,      2,   2,    2,     2,          2,       1,
//DDR Schweiz Österreich Italien CSSR Polen Ungarn Jugoslawien Albanien Griechenland
  2,        2,       2,    1,     3,      0,     3,     3,        3,   3,
//Bulgarien Rumänien UdSSR Türkei Libanon Israel Syrien Jordanien Irak Iran
  3,     3,            3,      3,        3,   5,       0,    0,       0,          0,
//Kuweit Saudi-Arabien Bahrein VAEmirate Oman VDRJemen Jemen Pakistan Afghanistan Indien
  0,    0,         0,    0,       0,       5,        5,   5,      4,    0,
//Nepal Bangladesh Burma SriLanka Thailand Kampuchea Laos Vietnam China Taiwan
  5,   0,       0,    1,       1,       1,       5,          0,       0,         0,
//KDVR Südkorea Japan Finnland Schweden Norwegen Mongolische Malaysia Indonesien Philippinen
  0,      0,         0,         1,     3,      0,     3,       0,     1,  0,
//Fidschi Australien Neuseeland Island Ägypten Libyen Tunesien Kanada USA Mexico
  5,   0,    0,              0,        0,     0,       5,        0,         0,        0,
//Kuba Haiti DominikRepublik Guatemala Belize Honduras Nikaragua ElSalvador Kostarika Panama
  0,        0,      0,   0,    0,          0,      0,       0,       0,        0,
//Kolumbien Ekuador Peru Chile Argentinien Uruguay Paraguay Bolivien Venezuela Guyana
  0,       0,        0,        0,      0,        0,         5,         0,      0,       0,
//Suriname Brasilien Südafrika Lesotho Swasiland Madagaskar Mocambique Namibia Botswana Simbabwe
  0,     0,     0,     0,       0,      0,         0,          0,      0,     0,
//Malawi Sambia Angola Algerien Marokko Westsahara Mauretanien Senegal Gambia Guinea-Bissau
  0,     0,           0,      0,             0,   0,        0,    0,   0,    0,
//Guinea Sierra Leone Liberia Elfenbeinküste Mali Obervolta Ghana Togo Benin Nigeria
  0,    0,     3,    5,        0,       0,      0,    0,       0,     0,
//Niger Tschad Sudan Äthiopien Djibouti Somalia Kenia Tansania Uganda Rwanda
  0,      0,    0,      0,                0,    0,    0,
//Burundi Zaire Kamerun Äquatorial-Guinea Gabun Kongo ZAR
  0};
  
  

void SETSTRPARA(BYTE TextNum, LONG TextL, WORD MaxStrNum)

{
LONG  AddrB;
UBYTE *DataB;
WORD  StrCnt=0;


AddrB=(LONG)TextMemA[TextNum];
if (TextNum==0) CountryText[0]=(UBYTE*)AddrB
else if (TextNum==1) PText[0]=(UBYTE*)AddrB;
StrCnt=1;
do
   {
   DataB=(UBYTE*)AddrB; AddrB=AddrB+1;
   if (*DataB==10)
      {
      *DataB=0;
      if (TextNum==0) CountryText[StrCnt]=(UBYTE*)AddrB
      else if (TextNum==1) PText[StrCnt]=(UBYTE*)AddrB;
      StrCnt++;
      }
   }
while ((AddrB<(LONG)TextMemA[TextNum]+TextL) && (StrCnt<MaxStrNum));
}



BOOL INITLANGS(BYTE LangID)

{
BPTR  FHandle=NULL;
char  PathFR[100];
LONG  l;

strcpy(PathFR,WPrefs.Lang);
if (LangID==0) strncat(PathFR,"/country.txt",13)
else if (LangID==1) strncat(PathFR,"/other.txt",11);
FHandle=Open(PathFR,MODE_OLDFILE);
if (FHandle)
   {
   Seek(FHandle,0,OFFSET_END);
   l=Seek(FHandle,0,OFFSET_BEGINNING);
   if (!(TextMemA[LangID]=AllocVec(l,MEMF_FAST)))
      {
      Close(FHandle);
      return FALSE;
      }
   Read(FHandle,TextMemA[LangID],l);
   Close(FHandle);
   if (LangID==0) SETSTRPARA(0,l,MAXCOUNTRY)
   else if (LangID==1) SETSTRPARA(1,l,MAXOTHER);
   return TRUE;
   }
else return FALSE;
}
