~ubuntu-branches/debian/squeeze/simutrans/squeeze

« back to all changes in this revision

Viewing changes to bauer/warenbauer.cc

  • Committer: Bazaar Package Importer
  • Author(s): Ansgar Burchardt
  • Date: 2009-10-18 15:29:14 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20091018152914-ip7am3dx1tl27uyb
Tags: 102.2+svn2786-1
* New upstream release.
  + Refresh patches.
  + Update translations.
* debian/rules: Add get-orig-source target.
* debian/rules: Add update-translations target.
* debian/README.source: Document get-orig-source and update-translations
  targets.
* Bump Standards-Version to 3.8.3 (no changes).

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
ware_besch_t *warenbauer_t::load_nichts = NULL;
29
29
 
30
30
static spezial_obj_tpl<ware_besch_t> spezial_objekte[] = {
31
 
    { &warenbauer_t::passagiere,    "Passagiere" },
32
 
    { &warenbauer_t::post,          "Post" },
33
 
    { &warenbauer_t::nichts,        "None" },
34
 
    { NULL, NULL }
 
31
        { &warenbauer_t::passagiere,    "Passagiere" },
 
32
        { &warenbauer_t::post,      "Post" },
 
33
        { &warenbauer_t::nichts,            "None" },
 
34
        { NULL, NULL }
35
35
};
36
36
 
37
37
 
51
51
        waren.insert_at(0,load_post);
52
52
        waren.insert_at(0,load_passagiere);
53
53
 
54
 
        if(waren.get_count()>255) {
 
54
        if(waren.get_count()>=255) {
55
55
                dbg->fatal("warenbauer_t::alles_geladen()","Too many different goods %i>255",waren.get_count()-1 );
56
56
        }
57
57
 
 
58
        // assign indexes
 
59
        for(  uint8 i=3;  i<waren.get_count();  i++  ) {
 
60
                waren[i]->ware_index = i;
 
61
        }
 
62
 
58
63
        // now assign unique category indexes for unique categories
59
64
        max_catg_index = 0;
60
65
        // first assign special freight (which always needs an own category)
112
117
{
113
118
        besch->value = besch->base_value;
114
119
        ::register_besch(spezial_objekte, besch);
 
120
        // avoid duplicates with same name
 
121
        ware_besch_t *old_besch = (ware_besch_t *)besch_names.get(besch->get_name());
 
122
        if(  old_besch  ) {
 
123
                dbg->warning( "warenbauer_t::register_besch()", "Object %s was overlaid by addon!", besch->get_name() );
 
124
                besch_names.remove(besch->get_name());
 
125
                waren.remove( old_besch );
 
126
        }
115
127
        besch_names.put(besch->get_name(), besch);
116
128
 
117
129
        if(besch==passagiere) {
121
133
                besch->ware_index = 1;
122
134
                load_post = besch;
123
135
        } else if(besch != nichts) {
124
 
                besch->ware_index = waren.get_count()+3;
125
136
                waren.append(besch);
126
137
        }
127
138
        else {