DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T a

⟦a82b1b7ae⟧ TextFile

    Length: 1811 (0x713)
    Types: TextFile
    Names: »autoreport.c«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Gb/autoreport.c« 

TextFile


/*
 * Galactic Bloodshed (Robert Chansky, smq@b)
 * autoreport.c -- tell server to generate a report for each planet
 */

#include "vars.h"
#include "tweakables.h"
#include "ships.h"

autoreport(APcount, argn,args)
int APcount;
int argn;
char args[MAXARGS][COMMANDSIZE];
{
planettype *p;
placetype place;
int autoreport_pdata,autoreport_sectdata;

if (argn==1) {   /* no args */
 if (Dir.level==LEVEL_PLAN) {
  openpdata(&autoreport_pdata);
  getplanet(autoreport_pdata,&p,Stars[Dir.snum]->planetpos[Dir.pnum]);
  if (p->info[Playernum-1].autorep)
	p->info[Playernum-1].autorep = 0;
  else
	p->info[Playernum-1].autorep = TELEG_MAX_AUTO;

  putplanet(autoreport_pdata, p, Stars[Dir.snum]->planetpos[Dir.pnum]);
  close(autoreport_pdata);
  printf("Autoreport on %s is now %s.\n",Stars[Dir.snum]->pnames[Dir.pnum],
	p->info[Playernum-1].autorep ? "on" : "off");
  free(p);
 /* } else if (Dir.level==LEVEL_SHIP) {
  openshdata(&autoreport_shdata);
  getship(autoreport_shdata, [ ship-> autoreport field not specified yet]
  */
 } else {
	  printf("scope must be a planet or ship.\n");
	  return(1);
   	}
} else if (argn==2) {     /* argn==2, place specified */
  place = Getplace(args[1], 0);
  if (place.level==LEVEL_PLAN) {
     openpdata(&autoreport_pdata);
     getplanet(autoreport_pdata,&p,Stars[Dir.snum]->planetpos[Dir.pnum]);
     printf("Autoreport on %s is now %s.\n",Stars[Dir.snum]->pnames[Dir.pnum],
	  p->info[Playernum-1].autorep ? "on" : "off");
     p->info[Playernum-1].autorep = !p->info[Playernum-1].autorep;
     putplanet(autoreport_pdata, p, Stars[Dir.snum]->planetpos[Dir.pnum]);
     close(autoreport_pdata);
     free(p);
 } else {
	  printf("scope must be a planet or ship.\n");
	  return(1);
   	}
 } else if (argn>2) {
 	printf("autoreport: error in args.\n");
	return(1);
   }

}