
/** event.c ***********************************/
/*                                            */
/* Copyright © 1988 by Digital Artists (DgA). */
/* All Rights reserved.                       */
/*                                            */
/**********************************************/

/*
Firma   : Digital Artist (DgA)
Objekt  : reederei/event.c
Version : 1.0
Autor   : [RK]
Datum   : 09-07-1988
Status  : geheim
*/

#include <exec/types.h>
#include <intuition/intuition.h>
#include <graphics/text.h>
#include "reederei.h"

extern struct IntuiMessage *GetMsg();
extern struct Window *Window;
extern struct TextAttr font[2];
extern struct Spieler Spieler[4];
extern struct Schiff schiffstyp[6];
extern USHORT *box2;
extern UBYTE Geld[12];
extern UBYTE Waren[6][7];

USHORT evpts[2][18] =
 {
  {0,0,499,0,499,99,1,99,1,0,498,0,498,99,0,99,0,0},
  {0,0,499,0,499,14,1,14,1,0,498,0,498,14,0,14,0,0}
 };

struct IntuiText evggtxt =
 {1,13,JAM2,17,2,&font[0],"Weiter",NULL};

struct Image evggim =
 {-2,-1,96,15,4,NULL,0xf,0x0,NULL};

struct Gadget evgg =
 {NULL,384,80,92,13,GADGIMAGE|GADGHCOMP,GADGIMMEDIATE,BOOLGADGET|REQGADGET,&evggim,NULL,&evggtxt,0L,NULL,0,NULL};

struct Border evbo[2] =
 {
  {0,0,13,0,JAM2,9,&evpts[1][0],&evbo[1]},
  {0,0,13,0,JAM2,9,&evpts[0][0],NULL}
 };

struct IntuiText evtxt[20] =
 {
  {1,0,JAM2,420,3,&font[0],"Ereignis",&evtxt[1]},
  {1,0,JAM2,10,3,&font[0],"Reeder",&evtxt[2]},
  {1,0,JAM2,85,3,&font[0],NULL,NULL},

  {11,0,JAM2,25,25,&font[0],"Sie haben eine Aktiengesellschaft gegründet.",&evtxt[4]},
  {11,0,JAM2,25,45,&font[0],"Ihr Firmenwert beträgt 50 Mio.",&evtxt[5]},
  {11,0,JAM2,25,65,&font[0],"Viel Glück im harten Geschäft.",NULL},

  {11,0,JAM2,25,25,&font[0],"Das bestellte",&evtxt[7]},
  {11,0,JAM2,165,25,&font[0],NULL,&evtxt[8]},
  {11,0,JAM2,25,45,&font[0],"ist vom Stapel gelaufen.",&evtxt[9]},
  {11,0,JAM2,25,65,&font[0],"Restkosten :",&evtxt[10]},
  {11,0,JAM2,155,65,&font[0],&Geld[0],NULL},

  {11,0,JAM2,25,25,&font[0],"Es steht schlecht um die Finanzen",&evtxt[12]},
  {11,0,JAM2,25,45,&font[0],"Ihrer Firma. Sie sollten sich bemühen,",&evtxt[13]},
  {11,0,JAM2,25,65,&font[0],"um den Schuldenberg abzubauen.",NULL},

  {11,0,JAM2,25,25,&font[0],"Wegen der momentanen Wirtschaftslage rechnen",&evtxt[15]},
  {11,0,JAM2,25,45,&font[0],"Ihre Experten mit einer",NULL},
  {11,0,JAM2,232,45,&font[0],"Aufwertung des",&evtxt[18]},
  {11,0,JAM2,232,45,&font[0],"Abwertung des",&evtxt[18]},
  {11,0,JAM2,25,65,&font[0],NULL,&evtxt[19]},
  {11,0,JAM2,0,65,&font[0],"preises in den nächsten Monaten.",NULL}
 };

struct Requester event =
 {NULL,70,50,500,100,0,0,&evgg,&evbo[0],&evtxt[0],0,0,NULL,NULL,NULL,NULL,NULL};

PrintEvent(pl,ev,data1,data2)
int pl,ev;
int data1;
float data2;
 {
  struct IntuiMessage *evmsg = NULL;

  evggim.ImageData = box2;
  evtxt[2].IText = Spieler[pl].Name;

  switch(ev)
   {
    case 1:
     {
      evtxt[2].NextText = &evtxt[3];
      break;
     }
    case 2:
     {
      if (strcmp(Spieler[pl].Schiffsdaten[data1].Typ,schiffstyp[3].Typ) == 0)
       strncpy(evtxt[6].IText,"Der",3);
      else
       strncpy(evtxt[6].IText,"Das",3);
      evtxt[2].NextText = &evtxt[6];
      if (strcmp(Spieler[pl].Schiffsdaten[data1].Typ,schiffstyp[5].Typ) == 0)
       evtxt[7].IText = "große Frachtschiff";
      else
       evtxt[7].IText = Spieler[pl].Schiffsdaten[data1].Typ;
      sprintf(&Geld[0],"%3.1f Mio.",data2);
      break;
     }
    case 3:
     {
      evtxt[2].NextText = &evtxt[11];
      break;
     }
    case 4:
     {
      evtxt[2].NextText = &evtxt[14];
      if (data1 == 1)
       evtxt[15].NextText = &evtxt[16];
      else
       evtxt[15].NextText = &evtxt[17];
      evtxt[18].IText = &Waren[(int)data2][0];
      evtxt[19].LeftEdge = 25+IntuiTextLength(&evtxt[18]);
      break;
     }
   }

  Request(&event,Window);

  while (evmsg->Class != GADGETDOWN)
   {
    while((evmsg=(struct IntuiMessage *)GetMsg(Window->UserPort))==NULL);
    ReplyMsg(evmsg);
   }

  EndRequest(&event,Window);

  return;
 }
