Added zero-cost testing hack
authorJohn Hodge <[email protected]>
Sat, 14 Jan 2012 16:18:29 +0000 (00:18 +0800)
committerJohn Hodge <[email protected]>
Sat, 14 Jan 2012 16:18:29 +0000 (00:18 +0800)
src/server/common.h
src/server/handler_coke.c
src/server/itemdb.c
src/server/main.c
src/server/server.c

index 004fbf8..7ad01c5 100644 (file)
@@ -73,6 +73,7 @@ extern int    giNumItems;
 extern tHandler        *gaHandlers[];
 extern int     giNumHandlers;
 extern int     giDebugLevel;
+extern int     gbNoCostMode;
 
 // === FUNCTIONS ===
 extern void    Items_UpdateFile(void);
index a899ad5..61b2649 100644 (file)
@@ -223,6 +223,7 @@ int Coke_int_DropSlot(int Slot)
        if( res == 0 )
        {
                // Oops!, no drink
+               printf("Drink dispense failed, bit lowered too quickly\n");
                return 1;
        }
        
index 8f2cfec..632eb50 100644 (file)
@@ -207,7 +207,10 @@ void Items_ReadFromFile(void)
                items = realloc( items, (numItems + 1)*sizeof(items[0]) );
                items[numItems].Handler = handler;
                items[numItems].ID = num;
-               items[numItems].Price = price;
+               if( gbNoCostMode )
+                       items[numItems].Price = 0;
+               else
+                       items[numItems].Price = price;
                items[numItems].Name = strdup(desc);
                items[numItems].bHidden = (line[0] == '-');
                numItems ++;
index c2ef55c..f2f66c3 100644 (file)
@@ -36,6 +36,7 @@ void  *Periodic_Thread(void *Unused);
 
 // === GLOBALS ===
  int   giDebugLevel = 0;
+ int   gbNoCostMode = 0;
 const char     *gsCokebankPath = "cokebank.db";
 // - Functions called every 20s (or so)
 #define ciMaxPeriodics 10
@@ -121,7 +122,9 @@ int main(int argc, char *argv[])
        gsCoke_ModbusAddress = Config_GetValue("coke_modbus_address", 0);
        giServer_Port        = Config_GetValue_Int("server_port", 0);
        gsItemListFile       = Config_GetValue("items_file", 0);
-       
+
+       gbNoCostMode         = Config_GetValue_Bool("test_mode", 0);
+
        signal(SIGINT, sigint_handler);
        signal(SIGTERM, sigint_handler);
        
index e392f73..63b4aa7 100644 (file)
@@ -731,7 +731,7 @@ void Server_int_SendItem(tClient *Client, tItem *Item)
                }
        }
        
-       if( Item->Price == 0 )
+       if( !gbNoCostMode && Item->Price == 0 )
                status = "error";
        // KNOWN HACK: Naming a slot 'dead' disables it
        if( strcmp(Item->Name, "dead") == 0 )

UCC git Repository :: git.ucc.asn.au