From 1a728e3f9447017ef30edb8ab262e6ae7501b921 Mon Sep 17 00:00:00 2001 From: Bob Ippolito Date: Fri, 2 Aug 2002 00:18:16 +0000 Subject: [PATCH] Changes to compile with gcc3 under apple's april dev tools, possibly other platforms too (only added std:: to some STL stuff in starbrowser, shouldn't break anything elsehwere) --- macosx/CelestiaSelection.mm | 6 +++--- macosx/CelestiaUniversalCoord.h | 2 +- macosx/CelestiaVector.h | 2 +- macosx/MyTree.h | 2 +- macosx/celestia.pbproj/project.pbxproj | 5 ++++- src/celengine/starbrowser.cpp | 10 +++++----- src/celengine/starbrowser.h | 3 ++- 7 files changed, 17 insertions(+), 13 deletions(-) diff --git a/macosx/CelestiaSelection.mm b/macosx/CelestiaSelection.mm index 5e64bd3dd..aeb2c83ce 100644 --- a/macosx/CelestiaSelection.mm +++ b/macosx/CelestiaSelection.mm @@ -78,13 +78,13 @@ -(void)select:(id)inst { if ([inst isKindOfClass:[CelestiaBody class]]) { - [self selection].select([(CelestiaBody*)inst body]); + [self selection].select((Body*)[(CelestiaBody*)inst body]); } else if ([inst isKindOfClass:[CelestiaStar class]]) { - [self selection].select([(CelestiaStar*)inst star]); + [self selection].select((Star *)[(CelestiaStar*)inst star]); } else if ([inst isKindOfClass:[CelestiaGalaxy class]]) { - [self selection].select([(CelestiaGalaxy*)inst galaxy]); + [self selection].select((Galaxy*)[(CelestiaGalaxy*)inst galaxy]); } } -(CelestiaStar*)star diff --git a/macosx/CelestiaUniversalCoord.h b/macosx/CelestiaUniversalCoord.h index 094051f1e..5bcc45d66 100644 --- a/macosx/CelestiaUniversalCoord.h +++ b/macosx/CelestiaUniversalCoord.h @@ -10,7 +10,7 @@ #import "CelestiaVector.h" #import "CelestiaUniversalCoord.h" -@interface CelestiaUniversalCoord : NSObject { +@interface CelestiaUniversalCoord : NSObject /**/ { NSData* _data; } -(void)encodeWithCoder:(NSCoder*)coder; diff --git a/macosx/CelestiaVector.h b/macosx/CelestiaVector.h index e0dc3254b..332a9deb1 100644 --- a/macosx/CelestiaVector.h +++ b/macosx/CelestiaVector.h @@ -8,7 +8,7 @@ #import -@interface CelestiaVector : NSArray +@interface CelestiaVector : NSArray /**/ { NSArray* _array; } diff --git a/macosx/MyTree.h b/macosx/MyTree.h index 01fdb5c80..993c35c59 100644 --- a/macosx/MyTree.h +++ b/macosx/MyTree.h @@ -9,7 +9,7 @@ #import #import "NSArray_Extensions.h" -@interface MyVector : NSMutableArray { +@interface MyVector : NSMutableArray /**/ { NSMutableArray *_array; Class _myClass; } diff --git a/macosx/celestia.pbproj/project.pbxproj b/macosx/celestia.pbproj/project.pbxproj index eb3071bdc..8f4021393 100644 --- a/macosx/celestia.pbproj/project.pbxproj +++ b/macosx/celestia.pbproj/project.pbxproj @@ -248,11 +248,14 @@ FRAMEWORK_SEARCH_PATHS = ""; HEADER_SEARCH_PATHS = ../src; INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = "/usr/lib/gcc/darwin/2.95.2 /Users/bob/src/celestia/macosx/Frameworks"; + LIBRARY_SEARCH_PATHS = "/usr/lib/gcc/darwin/3.1 /Users/bob/src/celestia/macosx/Frameworks"; OTHER_CFLAGS = ""; + PFE_FILE_C_DIALECTS = "objective-c c++ objective-c++"; PREBINDING = NO; PRODUCT_NAME = Celestia; SECTORDER_FLAGS = ""; + USE_GCC3 = YES; + USE_GCC3_PFE_SUPPORT = YES; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; WRAPPER_EXTENSION = app; }; diff --git a/src/celengine/starbrowser.cpp b/src/celengine/starbrowser.cpp index ea6653449..bb8943ed8 100644 --- a/src/celengine/starbrowser.cpp +++ b/src/celengine/starbrowser.cpp @@ -90,16 +90,16 @@ struct SolarSystemPredicate // Find the nearest/brightest/X-est N stars in a database. The // supplied predicate determines which of two stars is a better match. -template static vector* +template static std::vector* findStars(const StarDatabase& stardb, Pred pred, int nStars) { - vector* finalStars = new vector(); + std::vector* finalStars = new std::vector(); if (nStars == 0) return finalStars; if(nStars > 500) nStars = 500; - typedef multiset StarSet; + typedef std::multiset StarSet; StarSet firstStars(pred); int totalStars = stardb.size(); @@ -144,14 +144,14 @@ const Star* StarBrowser::nearestStar() Universe* univ = appSim->getUniverse(); CloserStarPredicate closerPred; closerPred.pos = pos; - vector* stars = findStars(*(univ->getStarCatalog()), closerPred, 1); + std::vector* stars = findStars(*(univ->getStarCatalog()), closerPred, 1); const Star *star = (*stars)[0]; delete stars; return star; } -vector* +std::vector* StarBrowser::listStars(unsigned int nStars) { Universe* univ = appSim->getUniverse(); diff --git a/src/celengine/starbrowser.h b/src/celengine/starbrowser.h index bc06c9714..eef248a64 100644 --- a/src/celengine/starbrowser.h +++ b/src/celengine/starbrowser.h @@ -20,6 +20,7 @@ #define MIN(a,b) ((a* listStars(unsigned int); void setSimulation(Simulation *_appSim); - vector* listStars(unsigned int); const Star *nearestStar(void); bool setPredicate(int pred); void refresh();