X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.main.git;a=blobdiff_plain;f=yarrg%2Frscommon.h;h=237cab1347d8006ed63587529fd61f442a34acb9;hp=f086e57d29c23ca45ea34e89fd00de1461e99552;hb=6a4d494e0e31f95bdd6dd54b814e8b2381ad95b2;hpb=d14a97ff4e453ad1540a02b465bb7e398303edde diff --git a/yarrg/rscommon.h b/yarrg/rscommon.h index f086e57..237cab1 100644 --- a/yarrg/rscommon.h +++ b/yarrg/rscommon.h @@ -1,3 +1,30 @@ +/* + * Route searcher - common definitions + */ +/* + * This is part of the YARRG website, a tool for assisting + * players of Yohoho Puzzle Pirates. + * + * Copyright (C) 2009 Ian Jackson + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Yohoho and Puzzle Pirates are probably trademarks of Three Rings and + * are used without permission. This program is not endorsed or + * sponsored by Three Rings. + */ + #ifndef RSCOMMON_H #define RSCOMMON_H @@ -7,12 +34,15 @@ DF(sql) \ DF(sql2) \ DF(value) \ + DF(value2) \ DF(search) \ DF(filter) \ DF(check) \ DF(tableau) \ DF(lp) +//#define debug_flags 0 + #define debug debug_file #include "common.h" @@ -120,17 +150,22 @@ void setup_value(void); typedef struct { double value[AP]; - int ports[AP][MAX_ROUTELEN]; -} PotentialResult; + int length; + int ports[MAX_ROUTELEN]; +} OnePotentialResult; + +typedef struct { + OnePotentialResult prs[AP]; +} Bucket; void setup_search(void); void search(int start_isle, int final_isle /* -1 means any */, - PotentialResult ****buckets_base_io[GRANUS] + Bucket ****buckets_base_io[GRANUS] /* bucket_base[granui][finalthing][midthing]-> */); extern double max_mass, max_volu, max_capi; extern double distance_loss_factor_per_league; -extern int max_dist; +extern int max_dist, min_trade_maxprofit; #define LOSS_FACTOR_PER_DELAY_SLOT (1-1e-8) @@ -162,10 +197,10 @@ extern FILE *output; typedef struct { double value; - PotentialResult *pr; + Bucket *bucket; } HighScoreEntry; -extern int mingranu; +extern int granus; extern int nhighscores[GRANUS][AP]; extern HighScoreEntry *highscores[GRANUS][AP];