Index: bauer/wegbauer.cc =================================================================== --- bauer/wegbauer.cc (リビジョン 6321) +++ bauer/wegbauer.cc (作業コピー) @@ -2105,11 +2105,13 @@ // cost is the more expensive one, so downgrading is between removing and new buidling cost -= max( weg->get_besch()->get_preis(), besch->get_preis() ); weg->set_besch(besch); +#if 0 // respect max speed of catenary wayobj_t const* const wo = gr->get_wayobj(besch->get_wtyp()); if (wo && wo->get_besch()->get_topspeed() < weg->get_max_speed()) { weg->set_max_speed( wo->get_besch()->get_topspeed() ); } +#endif weg->set_gehweg(add_sidewalk); spieler_t::add_maintenance( sp, weg->get_besch()->get_wartung()); weg->set_besitzer(sp); @@ -2197,11 +2199,13 @@ // cost is the more expensive one, so downgrading is between removing and new buidling cost -= max( weg->get_besch()->get_preis(), besch->get_preis() ); weg->set_besch(besch); +#if 0 // respect max speed of catenary wayobj_t const* const wo = gr->get_wayobj(besch->get_wtyp()); if (wo && wo->get_besch()->get_topspeed() < weg->get_max_speed()) { weg->set_max_speed( wo->get_besch()->get_topspeed() ); } +#endif spieler_t::add_maintenance( sp, weg->get_besch()->get_wartung()); weg->set_besitzer(sp); } Index: boden/wege/weg.cc =================================================================== --- boden/wege/weg.cc (リビジョン 6321) +++ boden/wege/weg.cc (作業コピー) @@ -1,13 +1,13 @@ /* - * Copyright (c) 1997 - 2001 Hansjrg Malthaner + * Copyright (c) 1997 - 2001 Hansj丁g Malthaner * * This file is part of the Simutrans project under the artistic licence. * (see licence.txt) * - * Basisklasse fr Wege in Simutrans. + * Basisklasse f繝サ Wege in Simutrans. * * 14.06.00 getrennt von simgrund.cc - * ワberarbeitet Januar 2001 + * セ彙erarbeitet Januar 2001 * * derived from simdings.h in 2007 * @@ -123,7 +123,7 @@ /** - * Setzt neue Beschreibung. Ersetzt alte Hchstgeschwindigkeit + * Setzt neue Beschreibung. Ersetzt alte H昼hstgeschwindigkeit * mit wert aus Beschreibung. * @author Hj. Malthaner */ @@ -167,6 +167,7 @@ flags = 0; bild = IMG_LEER; after_bild = IMG_LEER; + overhead_wire_max_speed = 0; } @@ -224,7 +225,7 @@ /** - * Info-text fr diesen Weg + * Info-text f繝サ diesen Weg * @author Hj. Malthaner */ void weg_t::info(cbuffer_t & buf) const @@ -232,6 +233,14 @@ ding_t::info(buf); buf.printf("%s %u%s", translator::translate("Max. speed:"), max_speed, translator::translate("km/h\n")); + + // 譫カ邱壹′縺ゅk蝣エ蜷医∵楔邱壹ョ譛鬮倬溷コヲ繧定。ィ遉コ縺吶k + // author:T-Na + if(overhead_wire_max_speed) { + + buf.printf("%s %u%s", translator::translate("Overhead wire:"), overhead_wire_max_speed, translator::translate( "km/h\n" )); + } + buf.printf("%s%u", translator::translate("\nRibi (unmasked)"), get_ribi_unmasked()); buf.printf("%s%u\n", translator::translate("\nRibi (masked)"), get_ribi()); Index: boden/wege/weg.h =================================================================== --- boden/wege/weg.h (リビジョン 6321) +++ boden/wege/weg.h (作業コピー) @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997 - 2001 Hansjrg Malthaner + * Copyright (c) 1997 - 2001 Hansj丁g Malthaner * * This file is part of the Simutrans project under the artistic licence. * (see licence.txt) @@ -35,15 +35,15 @@ /** *
Der Weg ist die Basisklasse fuer alle Verkehrswege in Simutrans. - * Wege "gehren" immer zu einem Grund. Sie besitzen Richtungsbits sowie + * Wege "geh丁en" immer zu einem Grund. Sie besitzen Richtungsbits sowie * eine Maske fuer Richtungsbits.
* - *Ein Weg gehrt immer zu genau einer Wegsorte
+ *Ein Weg geh丁t immer zu genau einer Wegsorte
* - *Kreuzungen werden dadurch untersttzt, da゚ ein Grund zwei Wege - * enthalten kann (prinzipiell auch mehrere mglich.
+ *Kreuzungen werden dadurch unterst繝サzt, daセ ein Grund zwei Wege + * enthalten kann (prinzipiell auch mehrere m衷lich.
* - *Wegtyp -1 ist reserviert und kann nicht fr Wege benutzt werden
+ *
Wegtyp -1 ist reserviert und kann nicht f繝サ Wege benutzt werden
*
* @author Hj. Malthaner
*/
@@ -85,14 +85,14 @@
const weg_besch_t * besch;
/**
- * Richtungsbits fr den Weg. Norden ist oben rechts auf dem Monitor.
+ * Richtungsbits f繝サ den Weg. Norden ist oben rechts auf dem Monitor.
* 1=Nord, 2=Ost, 4=Sued, 8=West
* @author Hj. Malthaner
*/
uint8 ribi:4;
/**
- * Maske fr Richtungsbits
+ * Maske f繝サ Richtungsbits
* @author Hj. Malthaner
*/
uint8 ribi_maske:4;
@@ -113,6 +113,12 @@
image_id after_bild;
/**
+ * overhead wire max speed
+ * @author T-Na
+ */
+ uint overhead_wire_max_speed;
+
+ /**
* Initializes all member variables
* @author Hj. Malthaner
*/
@@ -152,19 +158,19 @@
void calc_bild();
/**
- * Setzt die erlaubte Hchstgeschwindigkeit
+ * Setzt die erlaubte H昼hstgeschwindigkeit
* @author Hj. Malthaner
*/
void set_max_speed(sint32 s) { max_speed = s; }
/**
- * Ermittelt die erlaubte Hchstgeschwindigkeit
+ * Ermittelt die erlaubte H昼hstgeschwindigkeit
* @author Hj. Malthaner
*/
sint32 get_max_speed() const { return max_speed; }
/**
- * Setzt neue Beschreibung. Ersetzt alte Hchstgeschwindigkeit
+ * Setzt neue Beschreibung. Ersetzt alte H昼hstgeschwindigkeit
* mit wert aus Beschreibung.
* @author Hj. Malthaner
*/
@@ -180,7 +186,7 @@
virtual void rdwr(loadsave_t *file);
/**
- * Info-text fr diesen Weg
+ * Info-text f繝サ diesen Weg
* @author Hj. Malthaner
*/
virtual void info(cbuffer_t & buf) const;
@@ -192,13 +198,13 @@
virtual const char *ist_entfernbar(const spieler_t *sp);
/**
- * Wegtyp zurckliefern
+ * Wegtyp zur繝サkliefern
*/
virtual waytype_t get_waytype() const = 0;
/**
* 'Jedes Ding braucht einen Typ.'
- * @return Gibt den typ des Objekts zurck.
+ * @return Gibt den typ des Objekts zur繝サk.
* @author Hj. Malthaner
*/
typ get_typ() const { return ding_t::way; }
@@ -210,11 +216,11 @@
const char *get_name() const { return besch->get_name(); }
/**
- * Setzt neue Richtungsbits fr einen Weg.
+ * Setzt neue Richtungsbits f繝サ einen Weg.
*
- * Nachdem die ribis ge舅dert werden, ist das weg_bild des
- * zugehrigen Grundes falsch (Ein Aufruf von grund_t::calc_bild()
- * zur Reparatur mu゚ folgen).
+ * Nachdem die ribis ge闊dert werden, ist das weg_bild des
+ * zugeh丁igen Grundes falsch (Ein Aufruf von grund_t::calc_bild()
+ * zur Reparatur muセ folgen).
* @param ribi Richtungsbits
*/
void ribi_add(ribi_t::ribi ribi) { this->ribi |= (uint8)ribi;}
@@ -222,36 +228,36 @@
/**
* Entfernt Richtungsbits von einem Weg.
*
- * Nachdem die ribis ge舅dert werden, ist das weg_bild des
- * zugehrigen Grundes falsch (Ein Aufruf von grund_t::calc_bild()
- * zur Reparatur mu゚ folgen).
+ * Nachdem die ribis ge闊dert werden, ist das weg_bild des
+ * zugeh丁igen Grundes falsch (Ein Aufruf von grund_t::calc_bild()
+ * zur Reparatur muセ folgen).
* @param ribi Richtungsbits
*/
void ribi_rem(ribi_t::ribi ribi) { this->ribi &= (uint8)~ribi;}
/**
- * Setzt Richtungsbits fr den Weg.
+ * Setzt Richtungsbits f繝サ den Weg.
*
- * Nachdem die ribis ge舅dert werden, ist das weg_bild des
- * zugehrigen Grundes falsch (Ein Aufruf von grund_t::calc_bild()
- * zur Reparatur mu゚ folgen).
+ * Nachdem die ribis ge闊dert werden, ist das weg_bild des
+ * zugeh丁igen Grundes falsch (Ein Aufruf von grund_t::calc_bild()
+ * zur Reparatur muセ folgen).
* @param ribi Richtungsbits
*/
void set_ribi(ribi_t::ribi ribi) { this->ribi = (uint8)ribi;}
/**
- * Ermittelt die unmaskierten Richtungsbits fr den Weg.
+ * Ermittelt die unmaskierten Richtungsbits f繝サ den Weg.
*/
ribi_t::ribi get_ribi_unmasked() const { return (ribi_t::ribi)ribi; }
/**
- * Ermittelt die (maskierten) Richtungsbits fr den Weg.
+ * Ermittelt die (maskierten) Richtungsbits f繝サ den Weg.
*/
ribi_t::ribi get_ribi() const { return (ribi_t::ribi)(ribi & ~ribi_maske); }
/**
- * fr Signale ist es notwendig, bestimmte Richtungsbits auszumaskieren
- * damit Fahrzeuge nicht "von hinten" ber Ampeln fahren knnen.
+ * f繝サ Signale ist es notwendig, bestimmte Richtungsbits auszumaskieren
+ * damit Fahrzeuge nicht "von hinten" 繝サer Ampeln fahren k猪nen.
* @param ribi Richtungsbits
*/
void set_ribi_maske(ribi_t::ribi ribi) { ribi_maske = (uint8)ribi; }
@@ -312,6 +318,24 @@
// correct maintainace
void laden_abschliessen();
+
+ /**
+ * get overhead wire max speed
+ * @author T-Na
+ */
+ uint get_overhead_wire_max_speed() const {
+
+ return overhead_wire_max_speed;
+ }
+
+ /**
+ * set overhead wire max speed
+ * @author T-Na
+ */
+ void set_overhead_wire_max_speed( uint speed ) {
+
+ overhead_wire_max_speed = speed;
+ }
} GCC_PACKED;
#endif
Index: dataobj/dingliste.cc
===================================================================
--- dataobj/dingliste.cc (リビジョン 6321)
+++ dataobj/dingliste.cc (作業コピー)
@@ -1027,6 +1027,28 @@
if(d) {
add(d);
}
+
+ // 譫カ邱壹ョ譛鬮倬溷コヲ繧定サ碁%/驕楢キッ縺ォ險ュ螳壹☆繧
+ // author:T-Na
+ if(d && typ==ding_t::wayobj) {
+
+ for( int i = 0; i < top; ++i ) {
+
+ ding_t* tmp = obj.some[ i ];
+ ding_t::typ tmp_typ = tmp->get_typ();
+
+ if(tmp_typ==ding_t::way) {
+
+ if(tmp->get_waytype()==d->get_waytype()) {
+
+ const wayobj_t* wayobj = ding_cast