chiark / gitweb /
WIP rename pctb -> yarrg
[ypp-sc-tools.web-live.git] / pctb / decode-pctb-marketdata
diff --git a/pctb/decode-pctb-marketdata b/pctb/decode-pctb-marketdata
deleted file mode 100755 (executable)
index f7af70d..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-#!/usr/bin/perl -w
-
-# This specific file is hereby placed in the public domain, or nearest
-# equivalent in law, by me, Ian Jackson.  5th July 2009.
-
-use IO::File;
-use strict (qw(vars));
-
-use Commods;
-
-our ($debug)= 0;
-
-$debug=1 if @ARGV;
-
-parse_pctb_commodmap();
-
-our %stallkinds= qw(A Apothecary
-                   D Distilling
-                   F Furnishing
-                   I Ironworking
-                   S Shipbuilding
-                   T Tailor
-                   W Weaving);
-
-sub getline ($) {
-    my ($w)= @_;
-    $!=0; my $l= <STDIN>; die $! unless defined $l;
-    die $! if STDIN->error;
-    die unless chomp $l;
-    print "GOT FOR $w LINE [$l]\n"
-       if $debug;
-    return $l;
-}
-
-sub getint ($) {
-    my ($w)= @_;
-    my $b;
-    my $t= tell STDIN; $t>=0 or die $!;
-    my $r= read STDIN,$b,2; die $! if STDIN->error;
-    die unless $r==2;
-    my $v= scalar unpack "v", $b;
-    printf "GOT AT 0x%x INT FOR %s VALUE %d 0x%x\n", $t, $w, $v, $v
-       if $debug;
-    return $v;
-}
-
-sub inmap($\@$) {
-    my ($what,$ary,$ix) = @_;
-    my $got= $ary->[$ix];
-    return $got if defined $got;
-    die "$what $ix ?";
-}
-    
-
-printf "# Version: \"%s\"\n", getline("version");
-our $nstalls= getline("nstalls")+0;
-our @stalls;
-
-while (@stalls < $nstalls) {
-    $_= getline("stall name ".(@stalls+1));
-    if (s/\^([A-Z])$//) {
-       my $kind= $1;
-       my $sk= $stallkinds{$kind};
-       die "kind $kind in $_ ?" unless defined $sk;
-       $_ .= "'s $sk Stall";
-    }
-    push @stalls, $_;
-}
-unshift @stalls, undef;
-
-$|=1;
-
-foreach my $bs qw(Buy Sell) {
-    my $alloffers_want= getint("Buy ncommods");
-    my $alloffers_done=0;
-    while ($alloffers_done < $alloffers_want)  {
-       my $commodix= getint("Buy $alloffers_done/$alloffers_want commodix");
-       my $offers= getint("Buy $commodix offers");
-       my $offernum;
-       for ($offernum=0; $offernum<$offers; $offernum++) {
-           my $stallix= getint("Buy $commodix $offernum stallix");
-           my $price= getint("Buy $commodix $offernum price");
-           my $qty= getint("Buy $commodix $offernum qty");
-           printf("%s\t%s\t%s",
-                  $bs,
-                  inmap('commod',@pctb_commodmap,$commodix),
-                  inmap('stall',@stalls,$stallix)) or die $!;
-           if ($bs eq 'Sell') { print "\t\t" or die $!; }
-           printf("\t%d\t%d", $price, $qty) or die $!;
-           if ($bs eq 'Buy') { print "\t\t" or die $!; }
-           print "\n" or die $!;
-           $alloffers_done++;
-           die if $alloffers_done > $alloffers_want;
-       }
-    }
-}
-
-my $r= read STDIN,$b,1;
-STDIN->error and die $!;
-STDIN->eof or die;
-$b and die;
-
-
-
-
-#
-#
-#Version number (3 ascii digits) followed
-#by LF (i.e. 0x0A).  Current version is\
-# 005
-#
-#  0000   30 30 35 0a                                        005.
-#
-## of shops/stalls (in ascii)  + LF
-#  0000               31 0a                                      1.           
-#
-#list of shop names in ascii (without the
-#possessive part and by specifying the \
-#shop type in an abbreviated way which is
-#mentioned below).  The shop names are
-#separated \ by line feeds (0x0A).  To
-#specify the shop type append the "^"
-#character and then \ one of the
-#following characters depending upon the
-#shop type:
-#   Apothecary = A
-#   Distillery = D
-#   Furnisher = F
-#   Iron Monger = I
-#   Shipyard = S
-#   Tailor = T
-#   Weavery = W
-#
-#  0000                     4f 6c  64 20 49 72 6f 6e 73 69         Ol d Ironsi
-#  0010   64 65 73 0a                                        des.              
-#
-## of buy offers (in binary)
-#  0010               05 00                                 
-#
-#commodIndex offerCount                                       buy 0/5
-#  0010                     0a 00  01 00                      Grog x 1
-#[shopIndex val amt]                   
-#  0010                                  01 00 1d 00 75 00    OI 29 qty 75
-#
-#commodIndex offerCount                                       buy 1/5
-#  0020   0b 00 01 00                                         Fine x 1
-#[shopIndex val amt]... (all in binar\ y)
-#  0020               01 00 33 00  e9 03                      OI 51 qty 0x3e9
-#
-#commodIndex offerCount                                       buy 2/5
-#  0020                                  0c 00 01 00          Small shot x 1
-#[shopIndex val amt]
-#  0020                                              01 00    OI
-#  0030   0f 00 e9 03                                         15 qty 0x3e9
-#
-#commodIndex offerCount                                       buy 3/5
-#  0030               0d 00 01 00                             Medium shot x 1
-#[shopIndex val amt]
-#  0030                            01 00 1c 00 e9 03          OI 28 qty 0x3e9
-#
-#commodIndex offerCount                                       buy 4/5
-#  0030                                              0e 00    Large shot
-#  0040   01 00                                                          x 1
-#[shopIndex val amt]
-#  0040         01 00 26 00 e9 03                             OI 38 0x3e9
-#
-#
-## of sell offers (in binary)
-#  0040                            04 00
-#
-#commodIndex offerCount                                       sell 0/4
-#  0040                                  09 00 01 00          Swill x 1
-#[shopIndex val amt]
-#  0040                                              01 00    OI 
-#  0050   17 00 e8 03                                         23 0x3e8
-#commodIndex offerCount                                       sell 1/4
-#  0050               0a 00 01 00                             Grog x 1
-#[shopIndex val amt]
-#  0050                            01 00 1e 00 73 03          OI 30 qty 0x373
-#commodIndex offerCount                                       sell 2/4
-#  0050                                              0c 00    Small shot
-#  0060   01 00                                               x 1
-#[shopIndex val amt]
-#  0060         01 00 10 00 07 00                             OI 16 qty 7
-#commodIndex offerCount                                       sell 3/4
-#  0060                            0d 00 01 00                Medium shot x 1
-#[shopIndex val amt]
-#  0060                                        01 00 1e 00    OI 30
-#  0070   02 00                                               qty 2
-#