Package: widelands Version: build9-2 Severity: normal Tags: patch Hello alpha people,
this bug report is just to tell you that I (the maintainer) have a patch to port the game to your beloved arch, but I'm currently waiting for the game to enter into testing. Please be patient, Mt. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.7-1-686 Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15) Versions of packages widelands depends on: ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libgcc1 1:3.4.3-6 GCC support library ii libsdl-imag 1.2.3-6 image loading library for Simple D ii libsdl-net1 1.2.5-3 network library for Simple DirectM ii libsdl-ttf2 2.0.6-5 ttf library for Simple DirectMedia ii libsdl1.2de 1.2.7+1.2.8cvs20041007-3.0.1 Simple DirectMedia Layer ii libstdc++5 1:3.3.5-5 The GNU Standard C++ Library v3 ii widelands-d build9-2 fantasy real-time strategy game (d -- no debconf information
Patch to compile on alpha architecture without warning. It solves three types of problems: - declare the alpha arch in machdep.h - vector.size() seems to return long int on this arch, inducing issues in printf(). => casted back to int - void* and int are not the same size here, casting one to the other produces a warning. => (void*) ((long int) i) My fixes are not the most beautiful ones, and one may for example want to change all int which are meant to be stored as a void* to long int. But I wanted my patch as little intrusive as possible. Only the first change (to machdep.h) is mandatory to get the game running. The others are cosmetics to get it compiling without a warning. building_statistics_menu.cc | 6 +++--- fieldaction.cc | 2 +- game_debug_ui.cc | 2 +- immovable.cc | 2 +- machdep.h | 2 +- militarysite.cc | 4 ++-- network.cc | 2 +- productionsite.cc | 2 +- widelands_map_buildingdata_data_packet.cc | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) Index: widelands-build9/src/machdep.h =================================================================== --- widelands-build9.orig/src/machdep.h +++ widelands-build9/src/machdep.h @@ -32,7 +32,7 @@ #undef P_LITTLE_ENDIAN #define P_BIG_ENDIAN #define P_ALIGNMENT -#elif defined (__i386__) || defined(__x86_64__) +#elif defined (__i386__) || defined(__x86_64__) || defined(__alpha__) #undef P_BIG_ENDIAN #define P_LITTLE_ENDIAN #undef P_ALIGNMENT Index: widelands-build9/src/militarysite.cc =================================================================== --- widelands-build9.orig/src/militarysite.cc +++ widelands-build9/src/militarysite.cc @@ -134,9 +134,9 @@ std::string MilitarySite::get_statistics { char str[255]; if (m_soldier_requests.size()) - sprintf (str, "%d soldiers (+%d)", m_soldiers.size(), m_soldier_requests.size()); + sprintf (str, "%d soldiers (+%d)", (int)m_soldiers.size(), (int)m_soldier_requests.size()); else - sprintf (str, "%d soldiers", m_soldiers.size()); + sprintf (str, "%d soldiers", (int)m_soldiers.size()); return str; } Index: widelands-build9/src/building_statistics_menu.cc =================================================================== --- widelands-build9.orig/src/building_statistics_menu.cc +++ widelands-build9/src/building_statistics_menu.cc @@ -316,7 +316,7 @@ void Building_Statistics_Menu::update( v UITable_Entry* te = 0; for( int l = 0; l< m_table->get_nr_entries(); l++) { UITable_Entry* entr = m_table->get_entry(l); - if( (int)entr->get_user_data() == i) { + if( (long int)entr->get_user_data() == i) { te = entr; break; } @@ -326,7 +326,7 @@ void Building_Statistics_Menu::update( v // enabled if(!te) { if(! m_parent->get_player()->is_building_allowed(i) ) continue; - te = new UITable_Entry(m_table, (void*)i, tribe->get_building_descr(i)->get_buildicon()); + te = new UITable_Entry(m_table, (void*) ((long int) i), tribe->get_building_descr(i)->get_buildicon()); } int nr_owned=0; @@ -347,7 +347,7 @@ void Building_Statistics_Menu::update( v } // Is this entry selected? - bool is_selected = (m_table->get_selection_index() != -1 && (int)m_table->get_selection() == i); + bool is_selected = (m_table->get_selection_index() != -1 && (long int)m_table->get_selection() == i); if(is_selected) { m_anim = tribe->get_building_descr(i)->get_ui_anim(); Index: widelands-build9/src/productionsite.cc =================================================================== --- widelands-build9.orig/src/productionsite.cc +++ widelands-build9/src/productionsite.cc @@ -258,7 +258,7 @@ std::string ProductionSite::get_statisti return "(not occupied)"; else if(m_worker_requests.size()) { char buf[1000]; - sprintf(buf, "Waiting for %i workers!", m_worker_requests.size()); + sprintf(buf, "Waiting for %i workers!", (int)m_worker_requests.size()); return buf; } Index: widelands-build9/src/network.cc =================================================================== --- widelands-build9.orig/src/network.cc +++ widelands-build9/src/network.cc @@ -380,7 +380,7 @@ void NetHost::handle_network () // send any outstanding player commands while (!cmds.empty()) { - log ("%d player commands queued\n", cmds.size()); + log ("%d player commands queued\n", (int)cmds.size()); PlayerCommand* cmd=cmds.front(); cmds.pop (); Index: widelands-build9/src/fieldaction.cc =================================================================== --- widelands-build9.orig/src/fieldaction.cc +++ widelands-build9/src/fieldaction.cc @@ -95,7 +95,7 @@ void BuildGrid::add(int id) Building_Descr* descr = m_tribe->get_building_descr(id); uint picid = descr->get_buildicon(); - UIIcon_Grid::add(picid, (void*)id, descr->get_descname()); + UIIcon_Grid::add(picid, (void*) ((long int)id), descr->get_descname()); } Index: widelands-build9/src/immovable.cc =================================================================== --- widelands-build9.orig/src/immovable.cc +++ widelands-build9/src/immovable.cc @@ -794,7 +794,7 @@ Cleanup PlayerImmovable::~PlayerImmovable() { if (m_workers.size()) - log("Building::~Building: %i workers left!\n", m_workers.size()); + log("Building::~Building: %i workers left!\n", (int) m_workers.size()); } /* Index: widelands-build9/src/game_debug_ui.cc =================================================================== --- widelands-build9.orig/src/game_debug_ui.cc +++ widelands-build9/src/game_debug_ui.cc @@ -341,7 +341,7 @@ void FieldDebugWindow::think() m_map->find_bobs(m_coords, 0, &bobs); for(std::vector<Bob*>::iterator it = bobs.begin(); it != bobs.end(); ++it) { snprintf(buf, sizeof(buf), "%s (%u)", (*it)->get_name().c_str(), (*it)->get_serial()); - m_ui_bobs->add_entry(buf, (void*)(*it)->get_serial()); + m_ui_bobs->add_entry(buf, (void*) ((long int) (*it)->get_serial())); } } Index: widelands-build9/src/widelands_map_buildingdata_data_packet.cc =================================================================== --- widelands-build9.orig/src/widelands_map_buildingdata_data_packet.cc +++ widelands-build9/src/widelands_map_buildingdata_data_packet.cc @@ -176,7 +176,7 @@ void Widelands_Map_Buildingdata_Data_Pac } cs->m_wares.resize(size); for(uint i=0; i<cs->m_wares.size(); i++) { - log("Reading waresqueue %i,%i\n", i+1, cs->m_wares.size()); + log("Reading waresqueue %i,%i\n", i+1, (int)cs->m_wares.size()); cs->m_wares[i]->Read(fr,egbase,ol); }