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

« back to all changes in this revision

Viewing changes to dataobj/scenario.cc

  • Committer: Bazaar Package Importer
  • Author(s): Ansgar Burchardt
  • Date: 2009-03-06 20:40:03 UTC
  • mfrom: (1.2.1 upstream) (6.2.1 sid)
  • Revision ID: james.westby@ubuntu.com-20090306204003-tk31qp9fyr7cmv4g
Tags: 102.0-1
* New upstream release.
  + Refresh patches.
  + Update translations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
#include "../simtypes.h"
4
4
#include "../simdebug.h"
5
5
 
6
 
#include "../simplay.h"
 
6
#include "../player/simplay.h"
7
7
#include "../simfab.h"
8
8
#include "../simcity.h"
9
9
#include "../simworld.h"
64
64
        city = NULL;
65
65
        if(*cityname) {
66
66
                // find a city with this name ...
67
 
                const weighted_vector_tpl<stadt_t*> staedte = welt->gib_staedte();
 
67
                const weighted_vector_tpl<stadt_t*> staedte = welt->get_staedte();
68
68
                for(  int i=0;  staedte.get_count();  i++  ) {
69
 
                        if(  strcmp( staedte[i]->gib_name(), cityname )==0  ) {
 
69
                        if(  strcmp( staedte[i]->get_name(), cityname )==0  ) {
70
70
                                city = staedte[i];
71
71
                        }
72
72
                }
75
75
        // ... or factory
76
76
        int *pos = contents.get_ints( "factorypos" );
77
77
        if(*pos==2  &&  welt) {
78
 
                fabrik_t *f = fabrik_t::gib_fab( welt, koord( pos[1], pos[2] ) );
 
78
                fabrik_t *f = fabrik_t::get_fab( welt, koord( pos[1], pos[2] ) );
79
79
                target_factory = f;
80
80
        }
81
81
}
84
84
 
85
85
void scenario_t::rdwr(loadsave_t *file)
86
86
{
87
 
        sint32 city_nr = 0x7FFFFFFFu;
 
87
        uint32 city_nr = 0xFFFFFFFFu;
88
88
        koord fabpos = koord::invalid;
89
89
 
90
90
        if(  file->is_saving()  ) {
91
91
                if(city) {
92
 
                        city_nr = welt->gib_staedte().index_of( city );
 
92
                        city_nr = welt->get_staedte().index_of( city );
93
93
                }
94
94
                if(  target_factory  ) {
95
 
                        fabpos = target_factory->gib_pos().gib_2d();
 
95
                        fabpos = target_factory->get_pos().get_2d();
96
96
                }
97
97
        }
98
98
 
102
102
        fabpos.rdwr( file );
103
103
 
104
104
        if(  file->is_loading()  ) {
105
 
                if(  city_nr < welt->gib_staedte().get_count()  ) {
106
 
                        city = welt->gib_staedte()[city_nr];
 
105
                if(  city_nr < welt->get_staedte().get_count()  ) {
 
106
                        city = welt->get_staedte()[city_nr];
107
107
                }
108
 
                target_factory = fabrik_t::gib_fab( welt, fabpos );
 
108
                target_factory = fabrik_t::get_fab( welt, fabpos );
109
109
        }
110
110
}
111
111
 
119
119
        int own_producing=0, own_existing=0;
120
120
 
121
121
        // now check for all input
122
 
        for(  int ware_nr=0;  ware_nr<fab->gib_eingang().get_count();  ware_nr++  ) {
123
 
                if(fab->gib_eingang()[ware_nr].menge > 512) {
 
122
        for(  uint ware_nr=0;  ware_nr<fab->get_eingang().get_count();  ware_nr++  ) {
 
123
                if(fab->get_eingang()[ware_nr].menge > 512) {
124
124
                        producing ++;
125
125
                        own_producing ++;
126
126
                }
128
128
                own_existing ++;
129
129
        }
130
130
 
131
 
        if(fab->gib_eingang().get_count()>0) {
 
131
        if(fab->get_eingang().get_count()>0) {
132
132
                // now check for all output (of not source ... )
133
 
                for(  int ware_nr=0;  ware_nr<fab->gib_ausgang().get_count();  ware_nr++  ) {
134
 
                        if(fab->gib_ausgang()[ware_nr].menge > 512) {
 
133
                for(  uint ware_nr=0;  ware_nr<fab->get_ausgang().get_count();  ware_nr++  ) {
 
134
                        if(fab->get_ausgang()[ware_nr].menge > 512) {
135
135
                                producing ++;
136
136
                                own_producing ++;
137
137
                        }
143
143
        // now all delivering factories
144
144
        const vector_tpl <koord> & sources = fab->get_suppliers();
145
145
        for( unsigned q=0;  q<sources.get_count();  q++  ) {
146
 
                fabrik_t *qfab = fabrik_t::gib_fab(welt,sources[q]);
 
146
                fabrik_t *qfab = fabrik_t::get_fab(welt,sources[q]);
147
147
                if(  own_producing==own_existing  ) {
148
148
                        // fully supplied => counts as 100% ...
149
149
                        int i=0, cnt=0;
183
183
 
184
184
                case DOUBLE_INCOME:
185
185
                {
186
 
                        int pts = (int)( welt->gib_spieler(player_nr)->get_finance_history_month(0,COST_CASH)/factor );
 
186
                        int pts = (int)( welt->get_spieler(player_nr)->get_finance_history_month(0,COST_CASH)/factor );
187
187
                        return min( 100, pts );
188
188
                }
189
189
 
190
190
                case BUILT_HEADQUARTER_AND_10_TRAINS:
191
191
                {
192
 
                        spieler_t *sp = welt->gib_spieler(player_nr);
 
192
                        spieler_t *sp = welt->get_spieler(player_nr);
193
193
                        int pts = 0;
194
194
                        for (vector_tpl<convoihandle_t>::const_iterator i = welt->convois_begin(), end = welt->convois_end(); i != end; ++i) {
195
195
                                convoihandle_t cnv = *i;
196
 
                                if(  cnv->gib_besitzer() == sp  &&  cnv->gib_jahresgewinn()>0  &&  cnv->gib_vehikel_anzahl()>0  &&  cnv->gib_vehikel(0)->gib_waytype()==track_wt) {
 
196
                                if(  cnv->get_besitzer() == sp  &&  cnv->get_jahresgewinn()>0  &&  cnv->get_state()!=convoi_t::INITIAL  &&  cnv->get_vehikel_anzahl()>0  &&  cnv->get_vehikel(0)->get_waytype()==track_wt) {
197
197
                                        pts ++;
198
198
                                }
199
199
                        }
203
203
                }
204
204
 
205
205
                case TRANSPORT_1000_PAX:
206
 
                        return min( 100, (welt->gib_spieler(player_nr)->get_finance_history_month(0,COST_TRANSPORTED_PAS)*(sint64)100)/(sint64)factor );
 
206
                        return min( 100, (welt->get_spieler(player_nr)->get_finance_history_month(0,COST_TRANSPORTED_PAS)*(sint64)100)/(sint64)factor );
207
207
 
208
208
        }
209
209
        return 0;
225
225
 
226
226
                case CONNECT_FACTORY_GOODS:
227
227
                        if(target_factory!=NULL) {
228
 
                                sprintf( description, translator::translate("Supply %s at (%i,%i)"), target_factory->gib_name(), target_factory->gib_pos().x, target_factory->gib_pos().y );
 
228
                                sprintf( description, translator::translate("Supply %s at (%i,%i)"), target_factory->get_name(), target_factory->get_pos().x, target_factory->get_pos().y );
229
229
                        }
230
230
                        else {
231
231
                                tstrncpy( description, translator::translate("Connect factory"), 511 );
241
241
                        break;
242
242
 
243
243
                case BUILT_HEADQUARTER_AND_10_TRAINS:
244
 
                        sprintf( description, translator::translate("Headquartern and %li trains"), factor );
 
244
                        sprintf( description, translator::translate("Headquarter and %li trains"), factor );
245
245
                        break;
246
246
 
247
247
                case TRANSPORT_1000_PAX: