You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(140) |
Feb
(98) |
Mar
(152) |
Apr
(104) |
May
(71) |
Jun
(94) |
Jul
(169) |
Aug
(83) |
Sep
(47) |
Oct
(134) |
Nov
(7) |
Dec
(20) |
2004 |
Jan
(41) |
Feb
(14) |
Mar
(42) |
Apr
(47) |
May
(68) |
Jun
(143) |
Jul
(65) |
Aug
(29) |
Sep
(40) |
Oct
(34) |
Nov
(33) |
Dec
(97) |
2005 |
Jan
(29) |
Feb
(30) |
Mar
(9) |
Apr
(37) |
May
(13) |
Jun
(31) |
Jul
(22) |
Aug
(23) |
Sep
|
Oct
(37) |
Nov
(34) |
Dec
(117) |
2006 |
Jan
(48) |
Feb
(6) |
Mar
(2) |
Apr
(71) |
May
(10) |
Jun
(16) |
Jul
(7) |
Aug
(1) |
Sep
(14) |
Oct
(17) |
Nov
(25) |
Dec
(26) |
2007 |
Jan
(8) |
Feb
(2) |
Mar
(7) |
Apr
(26) |
May
|
Jun
(12) |
Jul
(30) |
Aug
(14) |
Sep
(9) |
Oct
(4) |
Nov
(7) |
Dec
(6) |
2008 |
Jan
(10) |
Feb
(10) |
Mar
(6) |
Apr
(8) |
May
|
Jun
(10) |
Jul
(18) |
Aug
(15) |
Sep
(16) |
Oct
(5) |
Nov
(3) |
Dec
(10) |
2009 |
Jan
(11) |
Feb
(2) |
Mar
|
Apr
(15) |
May
(31) |
Jun
(18) |
Jul
(11) |
Aug
(26) |
Sep
(52) |
Oct
(17) |
Nov
(4) |
Dec
|
2010 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <de...@us...> - 2002-12-20 13:23:58
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data/Scripts In directory sc8-pr-cvs1:/tmp/cvs-serv17570 Modified Files: HudM2k.csp Log Message: updated letters orientation Index: HudM2k.csp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data/Scripts/HudM2k.csp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** HudM2k.csp 15 Dec 2002 00:52:19 -0000 1.1 --- HudM2k.csp 20 Dec 2002 13:10:11 -0000 1.2 *************** *** 1,17 **** ! # M2k-5 Hud ! # File description '#' is also default value for string or char data ! # Element Name x y z Static string Static string position (prefix/sufix/unique) Font name Size Value Format ! KT -0.1 0.1 0.0 # p # 16 431 0 ! MACH -0.1 0.07 0.0 # p # 16 0.67 2 ! G -0.12 -0.16 0.0 G p # 16 1.0 1 ! AOA -0.12 -0.19 0.0 a p greek 16 3.0 1 ! HEAD -0.0 0.12 0.0 # p # 16 101112 0 ! altft 0.1 0.1 0.0 # p # 16 1110 0 ! altr 0.11 0.07 0.0 H s # 16 800 0 ! alts 0.11 0.04 0.0 SH s # 16 200 0 ! nwp 0.1 -0.08 0.0 DEST p # 16 10 0 ! wph 0.06 -0.11 0.0 / s # 16 160 0 ! wpd 0.13 -0.11 0.0 NM s # 16 9.0 1 ! palt1 0.1 -0.16 0.0 # p # 16 6000 0 ! palt2 0.1 -0.19 0.0 ASEL u # 16 0 0 ! RPM 0.1 -0.25 0.0 RPM p # 16 75 0 --- 1,16 ---- ! # M2k-5 Hud# File description '#' is also default value for string or char data ! # Element Name x y z Static string Static string position (prefix/sufix/unique) Font name Size Value Format ! KT -0.1 0.0 0.1 # p # 16 431 0 ! MACH -0.1 0.0 0.07 # p # 16 0.67 2 ! G -0.12 0.0 -0.16 G p # 16 1.0 1 ! AOA -0.12 0.0 -0.19 a p greek 16 3.0 1 ! HEAD -0.0 0.0 0.12 # p # 16 101112 0 ! altft 0.1 0.0 0.1 # p # 16 1110 0 ! altr 0.11 0.0 0.07 H s # 16 800 0 ! alts 0.11 0.0 0.04 SH s # 16 200 0 ! nwp 0.1 0.0 -0.08 DEST p # 16 10 0 ! wph 0.06 0.0 -0.11 / s # 16 160 0 ! wpd 0.13 0.0 -0.11 NM s # 16 9.0 1 ! palt1 0.1 0.0 -0.16 # p # 16 6000 0 ! palt2 0.1 0.0 -0.19 ASEL u # 16 0 0 ! RPM 0.1 0.0 -0.25 RPM p # 16 75 0 |
From: <mk...@us...> - 2002-12-20 12:46:53
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv7414 Added Files: SimpleConfig.h Log Message: New configuration file interface class. --- NEW FILE: SimpleConfig.h --- // Combat Simulator Project - FlightSim Demo // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** * @file SimpleConfig.h * * There are a number of aspects of these classes that are not ideal, * however the interface is simple enough to be stable and the * implementation can be "purified" later (if desired) without * affecting its use. * * @author Mark Rose <mr...@st...> */ #ifndef __SIMPLECONFIG_H__ #define __SIMPLECONFIG_H__ #include <string> #include <vector> #include <hash_map> #include <iostream> #include <fstream> #include <cstdio> #include <cstdlib> /** * Basic exception class. * * The error message will automatically be dumped to stderr when the object * is destroyed unless the clear() method is called. * * @author Mark Rose <mr...@st...> */ class Error { public: /** * Set the error message. */ Error(const std::string &msg): m_msg(msg), m_display(true) {} /** * Copy constructor. * * Maybe a little too fancy, but the clear() is needed so that * multiple automatic copies yield only a single error message. */ Error(const Error &e): m_msg(e.m_msg), m_fullerror(e.m_fullerror), m_display(e.m_display) { e.clear(); } /** * Display the error message on stderr unless clear() has been called. */ ~Error(); /** * Prevent displaying the error on stderr. */ void clear() const { m_display = false; } /** * Get the complete error message. */ std::string getFullError(); /** * Set the complete error message. */ void setFullError(const std::string &s); /** * Get the basic error message. */ std::string getError(); protected: std::string m_msg, m_fullerror; mutable bool m_display; }; /** * Thrown by SimpleConfig to report errors. * * @author Mark Rose <mr...@st...> */ class ConfigError: public Error { public: /** * Set the error information. */ ConfigError(const std::string &msg, const std::string &filename, int line_no, const std::string &line); /** * Get the basic error message. */ std::string getError(); /** * Get the offending line. */ std::string getErrorLine() { return m_line; } /** * Get the line number of the offending line. */ int getLineNumber() { return m_line_no; } /** * Get the filename in which the error occurred. */ std::string getFilename() { return m_filename; } private: std::string m_filename, m_line; int m_line_no; }; class ConfigElement; class ConfigValue; class HashString { public: bool operator()(std::string const &str) const { return std::hash<char const *>()(str.c_str()); } }; typedef std::hash_map<std::string, ConfigElement*, HashString> ConfigDictionary; typedef std::vector<ConfigElement *> ElementList; /** * Provide a simple interface to text-based configuration files. * * This will often be created as a global object so that configuration * data can be accessed and saved throughout the program. * * @author Mark Rose <mr...@st...> */ class SimpleConfig { public: /** * Initialize configuration file. * * @param fn Path to the configuration file. * @param autosave If true, every configuration change will be immediately * written to disk. */ SimpleConfig(const char *fn=0, bool autosave=true): m_modified(false) { m_autosave = autosave; open(fn); } /** * Save if modified and internal cleanup. */ ~SimpleConfig() { if (m_modified) save(); clear(); } /** * Clear all configuration data. */ void clear(); /** * Abandon all changes and unbind from the configuration file. */ void abort() { clear(); m_file = ""; } /** * Return true if the configuration file is completely empty (not even comments). */ bool isEmpty() const { return m_elements.size() == 0; } /** * Add a comment at the end of the file. */ void addComment(const std::string &comment); /** * Open a new configuration file. Any changes to the previous file are saved * first. */ void open(const char *fn); /** * Return true if there are any unsaved configuration changes. */ bool isModified() const { return m_modified; } /** * Dump the configuration file to an output stream. */ void dump(ostream &os) const; /** * Save the configuration file. */ void save(); /** * Returns true if a particular section-key pair is defined. */ bool hasKey(const char* section, const char* key) const; /** * Remove a key-value pair. */ void delKey(const char* section, const char* key); /** * Returns true if a particular section exists. */ bool hasSection(const char* section) const; /** * Remove a section and all keys it contains. */ void delSection(const char* section); /** * Get an integer value from the configuration file. * * @param section The section to look in. * @param key The key to retrieve. * @param default_ The value to return if the key is undefined. * @param set If true will set undefined keys to the specified default value. */ int getInt(const std::string §ion, const std::string &key, int default_=0, bool set=false); /** * Get an floating-point value from the configuration file. * * @param section The section to look in. * @param key The key to retrieve. * @param default_ The value to return if the key is undefined. * @param set If true will set undefined keys to the specified default value. */ double getFloat(const std::string §ion, const std::string &key, double default_=0.0, bool set=false); /** * Get a string value from the configuration file. * * @param section The section to look in. * @param key The key to retrieve. * @param default_ The value to return if the key is undefined. * @param set If true will set undefined keys to the specified default value. */ std::string getString(const std::string §ion, const std::string &key, std::string default_="", bool set=false); /** * Set an integer value in the configuration file. * * @param section The section containing the key (will be created if non-existant). * @param key The key to define or redefine. * @param default_ The value to set. */ void setInt(const std::string §ion, const std::string &key, int value); /** * Set a floating-point value in the configuration file. * * @param section The section containing the key (will be created if non-existant). * @param key The key to define or redefine. * @param default_ The value to set. */ void setFloat(const std::string §ion, const std::string &key, double value); /** * Set a string value in the configuration file. * * @param section The section containing the key (will be created if non-existant). * @param key The key to define or redefine. * @param default_ The value to set. */ void setString(const std::string §ion, const std::string &key, const std::string &value); private: bool m_modified, m_autosave; std::string m_file; ConfigDictionary m_dict, m_last; ElementList m_elements; void _addComment(const std::string &comment); void _addSection(const std::string §ion); std::string _hash_index(const std::string §ion, const std::string &key) const; void _addValue(const std::string §ion, const std::string &key, const std::string &value); void _parse(std::istream &is); ConfigValue *_find(const std::string §ion, const std::string &key); }; #endif // __SIMPLECONFIG_H__ |
From: <mk...@us...> - 2002-12-20 12:46:29
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv7313 Added Files: SimpleConfig.cpp Log Message: New configuration file interface class. --- NEW FILE: SimpleConfig.cpp --- // Combat Simulator Project - FlightSim Demo // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** * @file SimpleConfig.cpp * * There are a number of aspects of these classes that are not ideal, * however the interface is simple enough to be stable and the * implementation can be "purified" later (if desired) without * affecting its use. * * @author Mark Rose <mr...@st...> */ #include "SimpleConfig.h" #include <string> #include <vector> #include <hash_map> #include <iostream> #include <fstream> #include <cstdio> #include <cstdlib> // characters surrounding section names ('[' and ']' for typical windows .ini) #define SECTION_START '[' #define SECTION_END ']' #define COMMENT_CHAR ';' #define EQUAL_CHAR '=' const std::string WHITESPACE = " \t\r\n"; // trim leading and trailing whitespace static std::string Trim(const std::string &s) { int i, j; if (s.length() == 0) return s; i = s.find_first_not_of(WHITESPACE); j = s.find_last_not_of(WHITESPACE); if (i < 0 || i > j) return ""; return s.substr(i, j+1); } // class Error void Error::setFullError(const std::string &s) { m_fullerror = s; } std::string Error::getFullError() { return m_fullerror; } std::string Error::getError() { return "Error: " + m_msg + "."; } Error::~Error() { if (m_display) { cerr << m_fullerror << endl; } } // class ConfigError ConfigError::ConfigError(const std::string &msg, const std::string &filename, int line_no, const std::string &line): Error(msg) { char lstr[20]; m_filename = filename; m_line_no = line_no; m_line = line; snprintf(lstr, 20, "%d", m_line_no); setFullError(getError() + "\n" + m_filename + ":" + lstr + ": " + m_line); } std::string ConfigError::getError() { return "Configuration file error: " + m_msg + "."; } // internal class for storing config data class ConfigElement { public: ConfigElement() {} virtual ~ConfigElement() {} virtual void write(std::ostream &os) const {} }; // internal class for storing config comments class ConfigComment: public ConfigElement { public: ConfigComment(const std::string &comment) { m_comment = comment; } virtual ~ConfigComment() {} virtual void write(std::ostream &os) const { os << m_comment << endl; } const std::string &getComment() const { return m_comment; } private: std::string m_comment; }; // internal class for storing config section headers class ConfigSection: public ConfigElement { public: ConfigSection(const std::string §ion) { m_section = section; } virtual ~ConfigSection() {} virtual void write(std::ostream &os) const { os << SECTION_START << m_section << SECTION_END << endl; } const std::string &getName() const { return m_section; } private: std::string m_section; }; // internal class for storing config key-value pairs class ConfigValue: public ConfigElement { public: ConfigValue(const std::string §ion, const std::string &key, const std::string &value) { bool escape=false, quote=false; m_section = section; m_key = key; setValue(value); } virtual ~ConfigValue() {} virtual void write(std::ostream &os) const { int n = m_value.length(); if (n > 0 && (m_value[0] == ' ' || m_value[0] == '\t' || \ m_value[n-1] == ' ' || m_value[n-1] == '\t' || \ m_value[0] == '"')) { os << m_key << " = \"" << m_value << "\"" << endl; } else { os << m_key << " = " << m_value << endl; } } const std::string &getSection() const { return m_section; } const std::string &getKey() const { return m_key; } std::string getValue() const { return m_value; } void setValue(const std::string &value) { int n = value.length(); m_value = value; if (n > 0 && value[0] == '"') { if (value[n-1] == '"') n--; m_value = m_value.substr(1, n-1); } } private: std::string m_section; std::string m_key; std::string m_value; }; // class SimpleConfig void SimpleConfig::clear() { ElementList::iterator i; m_dict.clear(); m_last.clear(); for (i = m_elements.begin(); i != m_elements.end(); i++) { delete *i; } m_elements.clear(); m_modified = false; } void SimpleConfig::dump(ostream &os) const { ElementList::const_iterator i; for (i=m_elements.begin(); i != m_elements.end(); i++) { (*i)->write(os); } } void SimpleConfig::_addComment(const std::string &comment) { m_elements.push_back(new ConfigComment(comment)); } void SimpleConfig::_addSection(const std::string §ion) { ConfigSection *element = new ConfigSection(section); m_elements.push_back(element); m_last[section] = element; } std::string SimpleConfig::_hash_index(const std::string §ion, const std::string &key) const { return section + "^^^" + key; } void SimpleConfig::_addValue(const std::string §ion, const std::string &key, const std::string &value) { if (key != "") { ConfigElement *element = new ConfigValue(section, key, value); ConfigDictionary::iterator last = m_last.find(section); if (last != m_last.end()) { ElementList::iterator at; at = std::find(m_elements.begin(), m_elements.end(), last->second); if (at != m_elements.end()) ++at; m_elements.insert(at, element); } else { _addComment(""); _addSection(section); m_elements.push_back(element); } std::string index = _hash_index(section, key); m_dict[index] = element; m_last[section] = element; } } void SimpleConfig::_parse(std::istream &is) { std::vector<std::string> lines; std::vector<std::string>::iterator L; std::string line; int state = 0; line.reserve(256); while (is.good() && !is.eof()) { char *buffer; is.gets(&buffer); lines.push_back(buffer); free(buffer); } line = ""; state = 0; std::string section; std::string comment; int line_no = 0; for (L = lines.begin(); L != lines.end(); L++) { line = Trim(*L); line_no++; if (line == "") { if (L+1 != lines.end()) { _addComment(line); } } else { char c = line[0]; if (c == SECTION_START) { int e = line.find(SECTION_END); if (e < 0) { throw ConfigError("missing end-section tag", m_file, line_no, *L); } section = line.substr(1, e-1); _addSection(section); } else if (c == COMMENT_CHAR) { _addComment(line); } else { int eq = line.find_first_of(EQUAL_CHAR); if (eq < 0) { throw ConfigError("missing equal sign in key-value pair", m_file, line_no, *L); } std::string key = Trim(line.substr(0, eq)); std::string value = Trim(line.substr(eq+1)); _addValue(section, key, value); } } } } ConfigValue *SimpleConfig::_find(const std::string §ion, const std::string &key) { std::string index = _hash_index(section, key); ConfigDictionary::iterator i = m_dict.find(index); if (i == m_dict.end()) return 0; return dynamic_cast<ConfigValue*> ((*i).second); } void SimpleConfig::addComment(const std::string &comment) { _addComment(COMMENT_CHAR + comment); } int SimpleConfig::getInt(const std::string §ion, const std::string &key, int default_=0, bool set) { ConfigValue *v = _find(section, key); if (v) { return atoi(v->getValue().c_str()); } else if (set) { setInt(section, key, default_); } return default_; } double SimpleConfig::getFloat(const std::string §ion, const std::string &key, double default_=0.0, bool set) { ConfigValue *v = _find(section, key); if (v) { return atof(v->getValue().c_str()); } else if (set) { setFloat(section, key, default_); } return default_; } std::string SimpleConfig::getString(const std::string §ion, const std::string &key, std::string default_="", bool set) { ConfigValue *v = _find(section, key); if (v) { return v->getValue(); } else if (set) { setString(section, key, default_); } return default_; } void SimpleConfig::setInt(const std::string §ion, const std::string &key, int value) { char s[20]; snprintf(s, 20, "%d", value); setString(section, key, s); } void SimpleConfig::setFloat(const std::string §ion, const std::string &key, double value) { char s[40]; const char *fmt = "%lf"; double positive = value> 0 ? value : -value; if (positive < 1e-4 || positive > 1e+4) fmt = "%le"; snprintf(s, 40, fmt, value); setString(section, key, s); } void SimpleConfig::setString(const std::string §ion, const std::string &key, const std::string &value) { ConfigValue *v = _find(section, key); if (v) { v->setValue(value); } else { _addValue(section, key, value); } m_modified = true; if (m_autosave) save(); } void SimpleConfig::open(const char *fn) { if (fn) { std::filebuf fb; if (m_modified) save(); clear(); m_file = fn; fb.open(fn, std::ios::in); if (fb.is_open()) { istream is(&fb); _parse(is); fb.close(); } } } void SimpleConfig::save() { if (m_modified && m_file != "") { std::filebuf fb; fb.open(m_file.c_str(), std::ios::out); if (fb.is_open()) { ostream os(&fb); dump(os); fb.close(); } } m_modified = false; } bool SimpleConfig::hasKey(const char* section, const char* key) const { std::string index = _hash_index(section, key); ConfigDictionary::const_iterator i = m_dict.find(index); return (i != m_dict.end()); } void SimpleConfig::delKey(const char* section, const char* key) { std::string index = _hash_index(section, key); ConfigDictionary::iterator i = m_dict.find(index); if (i != m_dict.end()) { ElementList::iterator at; at = std::find(m_elements.begin(), m_elements.end(), i->second); assert(at != m_elements.end()); m_elements.erase(at); m_dict.erase(i); delete *at; } } bool SimpleConfig::hasSection(const char* section) const { ConfigDictionary::const_iterator i = m_last.find(section); return (i != m_last.end()); } // This is a rather ugly and slow way to delete a section. It // can leave stay comments in the middle of sections, but will // remove the section entirely, even if it is multiply declared. // This whole function was a bit of an afterthought, since it // isn't very likely to be used in the application this class // was written for. Sorry to all the purists out there. :-( void SimpleConfig::delSection(const char* section_name) { ConfigDictionary::iterator i = m_last.find(section_name); if (i != m_last.end()) { ElementList rebuild; ElementList::iterator at; bool blank = false; for (at = m_elements.begin(); at != m_elements.end(); at++) { ConfigSection *section = dynamic_cast<ConfigSection *>(*at); if (section && section->getName() == section_name) { delete *at; continue; } ConfigValue *value = dynamic_cast<ConfigValue *>(*at); if (value && value->getSection() == section_name) { std::string index = _hash_index(section_name, value->getKey()); ConfigDictionary::iterator i = m_dict.find(index); if (i != m_dict.end()) m_dict.erase(i); delete *at; continue; } ConfigComment *comment = dynamic_cast<ConfigComment *>(*at); if (comment && comment->getComment() == "") { if (blank) { delete *at; continue; } blank = true; } else blank = false; rebuild.push_back(*at); } m_elements = rebuild; m_modified = true; if (m_autosave) save(); m_last.erase(i); } } #ifdef __TEST__ /** * Configuration Test Script, compile with -D__TEST__ to run automatically. */ class config_test { public: config_test() { try { SimpleConfig c("test.ini"); c.clear(); c.save(); if (c.isEmpty()) { c.addComment(" This file is automatically generated and update. Do not modify!"); } int i; i = c.getInt("section 1", "item 1", 1, true); i = c.getInt("section 1", "item 2", 2, true); i = c.getInt("section 1", "item 3", 3, true); c.setString("section 2", "item 1", "test 1 "); c.setString("section 2", "item 2", "test # 2"); c.setInt("section 1", "item 1", 4); c.setFloat("section 2", "item 3", 0.00000000000031415); c.save(); c.abort(); c.open("test.ini"); assert (c.getInt("section 1", "item 1") == 4); assert (c.getInt("section 1", "item 2") == 2); assert (c.getInt("section 1", "item 3") == 3); assert (c.getString("section 2", "item 1") == "test 1 "); assert (c.getString("section 2", "item 2") == "test # 2"); c.delSection("section 3"); c.dump(cout); cout << "All tests passed.\n"; } catch (ConfigError &e) { cout << "Test failed.\n"; } } }; static config_test t; #endif // __TEST__ |
From: <mk...@us...> - 2002-12-19 17:11:51
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv3963 Modified Files: CSPFlightSim.cpp Log Message: Fix for first frame statistical anomaly. Index: CSPFlightSim.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/CSPFlightSim.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CSPFlightSim.cpp 19 Dec 2002 08:56:37 -0000 1.7 --- CSPFlightSim.cpp 19 Dec 2002 17:01:23 -0000 1.8 *************** *** 210,213 **** --- 210,214 ---- void CSPFlightSim::Run() { + bool first = true; CSP_LOG(CSP_APP, CSP_DEBUG, "CSPFlightSim::Run..." ); m_bFreezeSim = false; *************** *** 248,252 **** // Do fps and other stuff. ! if (m_bShowStats) { ShowStats(frameRate()); --- 249,253 ---- // Do fps and other stuff. ! if (m_bShowStats && !first) { ShowStats(frameRate()); *************** *** 259,262 **** --- 260,265 ---- // remove marked objects, this should be done at the end of the main loop. g_pBattlefield->removeObjectsMarkedForDelete(); + + first = false; } |
From: <mk...@us...> - 2002-12-19 08:56:40
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv22143 Modified Files: CSPFlightSim.cpp Log Message: Initial time fix. (prevents extra long first frame) Long timestep fix. (could cause physics instability/segfaults) Frame rate buffer overflow fix. Index: CSPFlightSim.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/CSPFlightSim.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CSPFlightSim.cpp 18 Dec 2002 01:38:47 -0000 1.6 --- CSPFlightSim.cpp 19 Dec 2002 08:56:37 -0000 1.7 *************** *** 57,60 **** --- 57,61 ---- osg::Timer _timer; osg::Timer_t _initialTick, _lastFrameTick, _frameTick; + double _timeStep, _frameTime, _timeLag = 0.0; osg::Timer_t clockTick() *************** *** 69,76 **** --- 70,94 ---- // update time from the current frame update and the previous one. + // the timestep for updates is restricted to 1 second max. greater + // delays will accumulate in _timeLag to be made up in subsequent + // frames. this prevents long delays from destabilizing the update + // computations. osg::Timer_t updateFrameTick() { _lastFrameTick = _frameTick; _frameTick = _timer.tick(); + _frameTime = _timer.delta_s(_lastFrameTick,_frameTick); + _timeStep = _frameTime + _timeLag; + if (_timeStep > 1.0) { + _timeLag = _timeStep - 1.0; + _timeStep = 1.0; + } + if (_timeStep < 0.01) { + // todo: microsleep + _timeStep = 0.01; + _timeLag = 0.0; + } else { + _timeLag = 0.0; + } return _frameTick; } *************** *** 78,87 **** double frameSeconds() { ! return _timer.delta_s(_lastFrameTick,_frameTick); } double frameRate() { ! return 1.0/frameSeconds(); } --- 96,106 ---- double frameSeconds() { ! return _frameTime; //_timer.delta_s(_lastFrameTick,_frameTick); } double frameRate() { ! if (_frameTime < 0.005) return 200.0; ! return 1.0/_frameTime; //frameSeconds(); } *************** *** 193,196 **** --- 212,221 ---- CSP_LOG(CSP_APP, CSP_DEBUG, "CSPFlightSim::Run..." ); m_bFreezeSim = false; + + // reset to frame time so we don't jump in one frame through + // all the time it took to initialize. just a hack for now. + _initialTick = _timer.tick(); + _frameTick = _initialTick; + _lastFrameTick = _initialTick; try *************** *** 199,203 **** { updateFrameTick(); ! float dt = frameSeconds(); g_pSimTime->updateSimTime(dt); --- 224,228 ---- { updateFrameTick(); ! float dt = _timeStep; //frameSeconds(); g_pSimTime->updateSimTime(dt); *************** *** 529,533 **** { int width = m_SDLScreen->w; ! char buffer[128]; StandardVector3 direction = g_pPlayerObject->getDirection(); StandardVector3 upVector = g_pPlayerObject->getUpDirection(); --- 554,558 ---- { int width = m_SDLScreen->w; ! char buffer[256]; StandardVector3 direction = g_pPlayerObject->getDirection(); StandardVector3 upVector = g_pPlayerObject->getUpDirection(); *************** *** 551,556 **** void CSPFlightSim::ShowStats(float fps) { ! char framerate[30]; ! char buffer[128]; static float maxFps = 0.0, minFps = 500.0; --- 576,581 ---- void CSPFlightSim::ShowStats(float fps) { ! char framerate[64]; ! char buffer[256]; static float maxFps = 0.0, minFps = 500.0; |
From: <mk...@us...> - 2002-12-18 01:39:44
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv7812 Added Files: Colorspace.h Log Message: Colorspace conversion library and Color class --- NEW FILE: Colorspace.h --- // Combat Simulator Project - FlightSim Demo // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** * @file Colorspace.h * * The routines in this library come from a number of sources, * but a very good place to look is COLORS.F90, available from * http://www.psc.edu/~burkardt/src/colors/colors.html. * **/ #ifndef __COLORSPACE_H__ #define __COLORSPACE_H__ #include <math.h> #include <assert.h> #include <ostream.h> /* * Colorspace conversions and corrections. */ void initColor(); void RGB_check(float &R, float &G, float &B); void CMY_check(float &C, float &M, float &Y); void CMY_to_RGB(float C, float M, float Y, float &R, float &G, float &B); void RGB_to_CMY(float R, float G, float B, float &C, float &M, float &Y); void HLS_check(float &H, float &L, float &S); void HLS_to_RGB(float H, float L, float S, float &R, float &G, float &B); void RGB_to_HLS(float R, float G, float B, float &H, float &L, float &S); void RGB_to_HSV(float R, float G, float B, float &H, float &S, float &V); void HSV_to_RGB(float H, float S, float V, float &R, float &G, float &B); void HSV_check(float &H, float &S, float &V); float RGB_to_hue(float R, float G, float B); float T_to_spd(float T, float lambda); float T_to_xyz(float T, float &x, float &y, float &z); void uvp_to_xyz(float uprime, float vprime, float &x, float &y, float &z); void uvpY_to_XYZ(float uprime, float vprime, float Y_, float &X, float &Y, float &Z); void xy_to_uvwp(float x, float y, float &uprime, float &vprime, float &wprime); void xyY_check(float &x, float &y, float &Y); void xyY_to_XYZ(float x, float y, float Y_, float &X, float &Y, float &Z); void XYZ_to_Luv(float X, float Y, float Z, float &Lstar, float &ustar, float &vstar); void XYZ_to_RGB709(float X, float Y, float Z, float &R, float &G, float &B); void RGB709_to_XYZ(float R, float G, float B, float &X, float &Y, float &Z); float getY709(float R, float G, float B); void XYZ_to_uvwp(float X, float Y, float Z, float &uprime, float &vprime, float &wprime); void XYZ_to_xyY(float X, float Y, float Z, float &x, float &y, float &Y_); void XYZ_check(float &X, float &Y, float &Z); void Luv_to_XYZ(float Lstar, float ustar, float vstar, float &X, float &Y, float &Z); void Luv_check(float &Lstar, float &ustar, float &vstar); /** * A colorspace conversion class. * * @author Mark Rose <mr...@st...> */ class Color { //static const float uwp = 4.0*xw / (15.0*yw+xw+3.0*zw); //static const float vwp = 9.0*yw / (15.0*yw+xw+3.0*zw); static const char *space_labels[]; public: typedef enum {INVALID, CIELab, CIELuv, CIExyY, CIEXYZ, CMY, HLS, HSV, RGB} space_t; /** * Default constructor, sets black RGB. */ Color() { _set_nocheck(0.0, 0.0, 0.0, RGB); } /** * Construct a new color using a specific colorspace. */ Color(float A, float B, float C, space_t S=RGB, bool check=true) { set(A, B, C, S, check); } /** * Copy constructor. */ Color(const Color &color) { _set_nocheck(color.a, color.b, color.c, color.space); } /** * Assignment (copy). */ const Color &operator=(const Color &color) { _set_nocheck(color.a, color.b, color.c, color.space); } /** * Set to a new color using a specific colorspace. */ void set(float A, float B, float C, space_t S=RGB, bool check=true); /** * Test if the colorspace is RGB. */ bool isRGB() const { return space == RGB; } /** * Test if the colorspace s CMY. */ bool isCMY() const { return space == CMY; } /** * Test if the colorspace is HLS. */ bool isHLS() const { return space == HLS; } /** * Test if the colorspace is HSV. */ bool isHSV() const { return space == HSV; } /** * Test if the colorspace is CIE L*a*b*. */ bool isCIELab() const { return space == CIELab; } /** * Test if the colorspace is CIE L*u*v*. */ bool isCIELuv() const { return space == CIELuv; } /** * Test if the colorspace is CIE xyY. */ bool isCEIxyY() const { return space == CIExyY; } /** * Test if the colorspace is CIE XYZ. */ bool isCEIXYZ() const { return space == CIEXYZ; } /** * Test for a specific colorspace. */ bool is(space_t S) const { return space == S; } /** * Get the color compenonents in the current colorspace. */ void get(float &A, float &B, float &C) const { A = a; B = b; C = c; } /** * Get the first color compenent. (e.g. red in RGB) */ float getA() const { return a; } /** * Get the second color compenent. (e.g. green in RGB) */ float getB() const { return b; } /** * Get the first color compenent. (e.g. blue in RGB) */ float getC() const { return c; } /** * Get the current colorspace. (e.g. RGB) */ space_t getSpace() const { return space; } /** * Get the current colorspace as a text string (e.g. "CIE L*u*v*") */ const char *getSpaceLabel() const { return space_labels[space]; } /** * Get the CIE luminance of using RGB709. */ float getLuminance() const { Color RGB = toRGB(); return getY709(RGB.getA(), RGB.getB(), RGB.getC()); } /** * Convert to RGB colorspace. * * @param internal_check Correct color components at each colorspace conversion * for conversions requiring intermediate colorspaces. This * should generally be set to true. */ Color toRGB(bool internal_check=true) const; /** * Convert to CIE XYZ colorspace. * * @param internal_check Correct color components at each colorspace conversion * for conversions requiring intermediate colorspaces. This * should generally be set to true. */ Color toCIEXYZ(bool internal_check=true) const; /** * Convert to CIE xyY colorspace. * * @param internal_check Correct color components at each colorspace conversion * for conversions requiring intermediate colorspaces. This * should generally be set to true. */ Color toCIExyY(bool internal_check=true) const; /** * Convert to CIE L*u*v* colorspace. * * @param internal_check Correct color components at each colorspace conversion * for conversions requiring intermediate colorspaces. This * should generally be set to true. */ Color toCIELuv(bool internal_check=true) const; /** * Convert to HLS colorspace. * * @param internal_check Correct color components at each colorspace conversion * for conversions requiring intermediate colorspaces. This * should generally be set to true. */ Color toHLS(bool internal_check=true) const; /** * Dump to an output stream. * * Format is "[SPACE: A, B, C]". */ friend std::ostream &operator<<(std::ostream &os, const Color &c); private: float a, b, c; space_t space; /** * Assign new components in a specific colorspace without * checknig and correcting their ranges. * * Use internally if you already know the compenonts are * valid. */ void _set_nocheck(float A, float B, float C, space_t S=RGB) { space = S; a = A; b = B; c = C; } }; #endif // __COLORSPACE_H__ |
From: <mk...@us...> - 2002-12-18 01:38:49
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv7550 Modified Files: CSPFlightSim.cpp Log Message: Report SDL error on joystick init failure. Index: CSPFlightSim.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/CSPFlightSim.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CSPFlightSim.cpp 14 Dec 2002 18:55:07 -0000 1.5 --- CSPFlightSim.cpp 18 Dec 2002 01:38:47 -0000 1.6 *************** *** 468,471 **** --- 468,472 ---- { CSP_LOG(CSP_APP, CSP_ERROR, "Failed to open joystick"); + CSP_LOG(CSP_APP, CSP_ERROR, SDL_GetError()); } |
From: <mk...@us...> - 2002-12-18 01:38:18
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv7429 Added Files: Colorspace.cpp Log Message: Colorspace conversion library and Color class --- NEW FILE: Colorspace.cpp --- /** * @file Colorspace.cpp * * The vast majority of the colorspace manipulation routines * included here are adapted from Fortran90 functions written * by John Burkardt. His excellent colorspace library is * available from the Pittsburgh Supercomputing Center: * * http://www.psc.edu/~burkardt/src/colors/colors.html * * Translation of John's routines from Fortran90 to C/C++ * was done by Mark Rose <mr...@st...>. */ #include "Color.h" #include <stdio.h> #define PI 3.14159265358979323846264338327950288419716939937510 [...1031 lines suppressed...] break; case HSV: HSV_to_RGB(a, b, c, R, G, B); if (internal_check) RGB_check(R, G, B); RGB_to_HLS(R, G, B, H, L, S); break; default: return Color(0.0, 0.0, 0.0, INVALID); } HLS_check(H, L, S); return Color(H, L, S, HLS); } std::ostream &operator<<(std::ostream &os, const Color &c) { os << "[" << c.getSpaceLabel() << ": " << c.getA() << ", " << c.getB() << ", " << c.getC() << "]"; } |
From: <de...@us...> - 2002-12-15 12:08:50
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv21269 Modified Files: LogoScreen.cpp Log Message: Added #include <iostream> to fix compilation error with vc++ Index: LogoScreen.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/LogoScreen.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** LogoScreen.cpp 15 Dec 2002 01:39:19 -0000 1.5 --- LogoScreen.cpp 15 Dec 2002 12:08:47 -0000 1.6 *************** *** 1,2 **** --- 1,4 ---- + #include <iostream> + #ifdef WIN32 #include <windows.h> *************** *** 20,24 **** if (m_image == NULL) { ! cout << "Unable to load bitmap " << path << endl; } --- 22,26 ---- if (m_image == NULL) { ! std::cout << "Unable to load bitmap " << path << std::endl; } |
From: <de...@us...> - 2002-12-15 12:07:59
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv21048 Modified Files: TerrainObject.cpp Log Message: Changed texture repeat parameter Index: TerrainObject.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/TerrainObject.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TerrainObject.cpp 14 Dec 2002 18:56:27 -0000 1.5 --- TerrainObject.cpp 15 Dec 2002 12:07:56 -0000 1.6 *************** *** 317,321 **** Demeter::Settings::GetInstance()->SetTextureCompression(m_bTextureCompression); Demeter::Settings::GetInstance()->SetUseDynamicTextures(m_bDynamicTextures); ! Demeter::Settings::GetInstance()->SetDetailTextureRepeats(16); Demeter::Settings::GetInstance()->SetUseNormals(true); --- 317,321 ---- Demeter::Settings::GetInstance()->SetTextureCompression(m_bTextureCompression); Demeter::Settings::GetInstance()->SetUseDynamicTextures(m_bDynamicTextures); ! Demeter::Settings::GetInstance()->SetDetailTextureRepeats(32); Demeter::Settings::GetInstance()->SetUseNormals(true); |
From: <mk...@us...> - 2002-12-15 01:39:22
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv11807/Source Modified Files: LogoScreen.cpp Platform.cpp Log Message: a little more path cleanup Index: LogoScreen.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/LogoScreen.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** LogoScreen.cpp 14 Dec 2002 18:55:36 -0000 1.4 --- LogoScreen.cpp 15 Dec 2002 01:39:19 -0000 1.5 *************** *** 7,10 **** --- 7,11 ---- #include "LogoScreen.h" + #include "Platform.h" *************** *** 15,22 **** void LogoScreen::OnInit() { ! m_image = SDL_LoadBMP("../Data/Images/CSPLogo.bmp"); if (m_image == NULL) { ! printf("Unable to load bitmap ../Data/Images/CSPLogo.bmp\n"); } --- 16,24 ---- void LogoScreen::OnInit() { ! std::string path = OSPath::filter("../Data/Images/CSPLogo.bmp"); ! m_image = SDL_LoadBMP(path.c_str()); if (m_image == NULL) { ! cout << "Unable to load bitmap " << path << endl; } Index: Platform.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/Platform.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Platform.cpp 15 Dec 2002 00:48:45 -0000 1.3 --- Platform.cpp 15 Dec 2002 01:39:19 -0000 1.4 *************** *** 131,135 **** std::string::size_type idx; idx = a.length(); ! if (idx > 0 && a[idx-1] == DIR_SEPARATOR) idx--; result = a.substr(0, idx); return result + DIR_SEPARATOR + skiproot(b); --- 131,135 ---- std::string::size_type idx; idx = a.length(); ! if (idx > 0 && (a[idx-1] == '/' || a[idx-1] == '\\')) idx--; result = a.substr(0, idx); return result + DIR_SEPARATOR + skiproot(b); |
From: <mk...@us...> - 2002-12-15 01:01:21
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim In directory sc8-pr-cvs1:/tmp/cvs-serv4536 Modified Files: README.linux Log Message: added note to use '--add-missing' flag for automake Index: README.linux =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/README.linux,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** README.linux 15 Dec 2002 00:48:44 -0000 1.1 --- README.linux 15 Dec 2002 01:01:17 -0000 1.2 *************** *** 31,35 **** To build, do the following: ! $ aclocal; autoconf; automake $ ./configure $ make --- 31,35 ---- To build, do the following: ! $ aclocal; autoconf; automake --add-missing $ ./configure $ make |
From: <mk...@us...> - 2002-12-15 00:58:49
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/terrain In directory sc8-pr-cvs1:/tmp/cvs-serv4078/terrain Removed Files: readme.txt Log Message: moved terrain to ./Data/Terrain --- readme.txt DELETED --- |
From: <mk...@us...> - 2002-12-15 00:56:26
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/scripts In directory sc8-pr-cvs1:/tmp/cvs-serv3655/scripts Removed Files: AddModels.csp AddPlanes.csp AddTanks.csp AeroF4.csp AeroM2k.csp AeroM3c.csp BalkanLatticeTerrain.csp BalkanTerrain.csp BalkanTestTerrain.csp HudM2k.csp SetPlayer.csp Start.csp Log Message: moved scripts to ./Data/Scripts --- AddModels.csp DELETED --- --- AddPlanes.csp DELETED --- --- AddTanks.csp DELETED --- --- AeroF4.csp DELETED --- --- AeroM2k.csp DELETED --- --- AeroM3c.csp DELETED --- --- BalkanLatticeTerrain.csp DELETED --- --- BalkanTerrain.csp DELETED --- --- BalkanTestTerrain.csp DELETED --- --- HudM2k.csp DELETED --- --- SetPlayer.csp DELETED --- --- Start.csp DELETED --- |
From: <mk...@us...> - 2002-12-15 00:52:22
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data/Scripts In directory sc8-pr-cvs1:/tmp/cvs-serv2696/Data/Scripts Added Files: AddModels.csp AddPlanes.csp AddTanks.csp AeroF4.csp AeroM2k.csp AeroM3c.csp BalkanLatticeTerrain.csp BalkanTerrain.csp BalkanTestTerrain.csp HudM2k.csp SetPlayer.csp Start.csp Log Message: scripts now under ./Data/Scripts --- NEW FILE: AddModels.csp --- REM AddModels.csp REM Load all the Models and create the types for the Sim. ADD TYPE AIRPLANE F22 SET F22 MODEL f22.osg SET F22 AERO F4_aero ADD TYPE AIRPLANE F15 SET F15 MODEL f15.osg SET F15 AERO F4_aero ADD TYPE AIRPLANE A10 SET A10 MODEL a10.osg SET A10 AERO F4_aero ADD TYPE AIRPLANE MIG17 SET MIG17 MODEL mig17.osg SET MIG17 AERO F4_aero ADD TYPE AIRPLANE F16 SET F16 MODEL f16.osg SET F16 AERO F4_aero ADD TYPE AIRPLANE M2K SET M2K MODEL m2k2g.3DS REM SET M2K MODEL mirage2000.osg SET M2K AERO M2K_aero ADD TYPE AIRPLANE M3C SET M3C MODEL m3c.osg SET M3C AERO M3C_aero ADD TYPE AIRPLANE F4 SET F4 MODEL f4.osg SET F4 AERO F4_aero ADD TYPE MISSILE AMRAAM SET AMRAAM MODEL amraam.osg ADD TYPE MISSILE AIM9L SET AIM9L MODEL aim9l.osg ADD TYPE MISSILE AIM7 SET AIM7 MODEL aim7.osg ADD TYPE MISSILE ATOLL SET ATOLL MODEL atoll.osg ADD TYPE TANK T62 SET T62 MODEL t62.osg --- NEW FILE: AddPlanes.csp --- ADD OBJECT F22 PLANE1 SET PLANE1 POSITION 483100 490100 2000 SET PLANE1 VELOCITY 0 70 0 SET PLANE1 ORIENTATION 0 0 0 ADD OBJECT F22 PLANE2 SET PLANE2 POSITION 483000 490100 2000 SET PLANE2 VELOCITY 0 70 0 SET PLANE2 ORIENTATION 0 0 0 ADD OBJECT F22 PLANE3 SET PLANE3 POSITION 16000 1000 2600 SET PLANE3 VELOCITY 0 180 0 SET PLANE3 ORIENTATION 0 0 0 ADD OBJECT F22 PLANE4 SET PLANE4 POSITION 16000 1021.3 2600 SET PLANE4 VELOCITY 0 180 0 SET PLANE4 ORIENTATION 0 0 0 ADD OBJECT F22 PLANE5 SET PLANE5 POSITION 16000 1021.3 2650 SET PLANE5 VELOCITY 0 180 0 SET PLANE5 ORIENTATION 0 0 0 ADD OBJECT F22 PLANE6 SET PLANE6 POSITION 16000 978.7 2600 SET PLANE6 VELOCITY 0 180 0 SET PLANE6 ORIENTATION 0 0 0 --- NEW FILE: AddTanks.csp --- ADD OBJECT T62 Tank1 SET Tank1 POSITION 7800 17800 0 SET Tank1 VELOCITY 0 0 0 SET Tank1 ORIENTATION 0 0 0 ADD OBJECT T62 Tank2 SET Tank2 POSITION 8000 17800 0 SET Tank2 VELOCITY 0 0 0 SET Tank2 ORIENTATION 0 0 0 ADD OBJECT T62 Tank3 SET Tank3 POSITION 8000 17800 0 SET Tank3 VELOCITY 0 0 0 SET Tank3 ORIENTATION 0 0 0 ADD OBJECT T62 Tank4 SET Tank4 POSITION 8000 16050 0 SET Tank4 VELOCITY 0 0 0 SET Tank4 ORIENTATION 0 0 0 ADD OBJECT T62 Tank5 SET Tank5 POSITION 8200 16050 0 SET Tank5 VELOCITY 0 0 0 SET Tank5 ORIENTATION 0 0 0 ADD OBJECT T62 Tank6 SET Tank6 POSITION 8400 16050 0 SET Tank6 VELOCITY 0 0 0 SET Tank6 ORIENTATION 0 0 0 ADD OBJECT T62 Tank7 SET Tank7 POSITION 8600 16050 0 SET Tank7 VELOCITY 0 0 0 SET Tank7 ORIENTATION 0 0 0 ADD OBJECT T62 Tank8 SET Tank8 POSITION 8800 16050 0 SET Tank8 VELOCITY 0 0 0 SET Tank8 ORIENTATION 0 0 0 ADD OBJECT T62 Tank9 SET Tank9 POSITION 9000 16050 0 SET Tank9 VELOCITY 0 0 0 SET Tank9 ORIENTATION 0 0 0 ADD OBJECT T62 Tank10 SET Tank10 POSITION 12800 10500 0 SET Tank10 VELOCITY 0 0 0 SET Tank10 ORIENTATION 0 0 0 ADD OBJECT T62 Tank11 SET Tank11 POSITION 12900 10500 0 SET Tank11 VELOCITY 0 0 0 SET Tank11 ORIENTATION 0 0 0 ADD OBJECT T62 Tank12 SET Tank12 POSITION 13000 10500 0 SET Tank12 VELOCITY 0 0 0 SET Tank12 ORIENTATION 0 0 0 ADD OBJECT T62 Tank13 SET Tank13 POSITION 13100 10500 0 SET Tank13 VELOCITY 0 0 0 SET Tank13 ORIENTATION 0 0 0 --- NEW FILE: AeroF4.csp --- REM F4 aerodynamics model REM Reference UIUC Model from FlightGear REM Units currently in English need to convert REM 1 slug = 14.60567 kg REM 1 feet = 0.3048 m REM Cruise Conditions REM altitude 35000 ft REM Alpha 2.6 deg REM Velocity 518.7 kts 0.9 Mach REM Dyanmic_pressure 283.2 lb/ft^2 Add Aero F4_aero REM Wing geometry set F4_aero WingSpan 27.5 Set F4_aero WingChord 10.8 Set F4_aero WingArea 260 REM Control surfaces min/max angles Set F4_aero demax +20 Set F4_aero demin -20 Set F4_aero damax +20 Set F4_aero damin -20 Set F4_aero drmax +20 Set F4_aero drmin -20 REM Mass/Inertial properties Set F4_aero Mass 546 Set F4_aero I_XX 25900 Set F4_aero I_YY 8090 Set F4_aero I_ZZ 29200 Set F4_aero I_XZ 1300 REM Engine Thrust Set F4_aero ThrustMax 8000 REM Drag Parameters Set F4_aero CD0 0.03 Set F4_aero CD_a 0.3 Set F4_aero CD_de 0 REM Lift Parameters Set F4_aero CL0 0.28 Set F4_aero CL_a 3.45 Set F4_aero CL_adot 0.72 Set F4_aero CL_q 0 Set F4_aero CL_de 0.36 REM Pitch Moment Parameters Set F4_aero CM0 0 Set F4_aero CM_a -0.38 Set F4_aero CM_adot -1.1 Set F4_aero CM_q -3.6 Set F4_aero CM_de 0.5 REM Side Force Parameters Set F4_aero CY_Beta -0.98 Set F4_aero CY_p 0 Set F4_aero CY_r 0 Set F4_aero CY_da 0 Set F4_aero CY_dr 0.17 REM Roll moment parameters Set F4_aero CI_beta -0.12 Set F4_aero CI_p -0.26 Set F4_aero CI_r 0.14 Set F4_aero CI_da 0.08 Set F4_aero CI_dr 0.105 Rem Yaw Moment Parameters Set F4_aero Cn_beta 0.25 Set F4_aero Cn_p 0.022 Set F4_aero Cn_r -0.35 Set F4_aero Cn_da 0.06 Set F4_aero Cn_dr 0.032 --- NEW FILE: AeroM2k.csp --- REM Mirage 2000 aerodynamics model REM many parameters are estimates. Add Aero M2K_aero REM Wing geometry set M2K_aero WingSpan 9.13 set M2K_aero WingChord 4.5 set M2K_aero WingArea 41.0 REM Control surfaces min/max angles Set M2K_aero demax 25.0 Set M2K_aero demin -16.0 Set M2K_aero damax +17.5 Set M2K_aero damin -17.5 Set M2K_aero drmax +20.0 Set M2K_aero drmin -20.0 REM A=0.9 10^4 kg m² A -F -E REM C=6.0 10^4 kg m² I = -F B -D REM B=5.4 10^4 Kg m² -E -D C REM E=1.8 10^3 kg m² REM Mass/Inertial properties REM max mass REM Set M2K_aero Mass 17500.0 REM interceptor mass with a central tank Set M2K_aero Mass 12000.0 REM interceptor mass REM Set M2K_aero Mass 7500.0 Set M2K_aero I_XX 20354.0 Set M2K_aero I_YY 135691.0 Set M2K_aero I_ZZ 135691.0 Set M2K_aero I_XZ 6785.0 Set M2K_aero GMIN -3.0 Set M2K_aero GMAX 9.0 Set M2K_aero ThrustMax 9700.0 REM Drag Parameters cx0 = 2 * 0.074 / ( rc^0.2 ) ; Cx=Cx0+KiCz² Ki(trainee induite) 1/pi*AR Set M2K_aero CD0 0.01 Set M2K_aero CD_a 0.3 Set M2K_aero CD_de 0.02 REM Lift Parameters Set M2K_aero StallAOA 31.0 Set M2K_aero CL0 0.0 Set M2K_aero CL_a 2.2 Set M2K_aero CL_adot 1.29 Set M2K_aero CL_q 1.5 Set M2K_aero CL_de 0.7 REM Pitch Moment Parameters Set M2K_aero CM0 0.0 Set M2K_aero CM_a -0.38 Set M2K_aero CM_adot -1.73 Set M2K_aero CM_q -3.6 Set M2K_aero CM_de 0.48 REM Side Force Parameters Set M2K_aero CY_Beta -0.29 Set M2K_aero CY_p 0.11 Set M2K_aero CY_r 0.0 Set M2K_aero CY_da 0.0 REM Set M2K_aero CY_dr -0.01 REM Roll moment parameters Set M2K_aero CI_beta -0.17 Set M2K_aero CI_p -0.3 Set M2K_aero CI_r 0.3 Set M2K_aero CI_da 0.03 Set M2K_aero CI_dr 0.0 Rem Yaw Moment Parameters Set M2K_aero Cn_beta 0.25 Set M2K_aero Cn_p 0.0 Set M2K_aero Cn_r -0.99 Set M2K_aero Cn_da 0.00 Set M2K_aero Cn_dr 0.02 --- NEW FILE: AeroM3c.csp --- REM F4 aerodynamics model REM Reference UIUC Model from FlightGear REM Units currently in English need to convert REM 1 slug = 14.60567 kg REM 1 feet = 0.3048 m REM Cruise Conditions REM altitude 35000 ft REM Alpha 2.6 deg REM Velocity 518.7 kts 0.9 Mach REM Dyanmic_pressure 283.2 lb/ft^2 Add Aero M3C_aero REM Wing geometry set M3C_aero WingSpan 27.5 Set M3C_aero WingChord 10.8 Set M3C_aero WingArea 260 REM Control surfaces min/max angles Set M3C_aero demax +20 Set M3C_aero demin -20 Set M3C_aero damax +20 Set M3C_aero damin -20 Set M3C_aero drmax +20 Set M3C_aero drmin -20 REM Mass/Inertial properties Set M3C_aero Mass 546 Set M3C_aero I_XX 8090 Set M3C_aero I_YY 25900 Set M3C_aero I_ZZ 29200 Set M3C_aero I_XZ 1300 REM Engine Thrust Set M3C_aero ThrustMax 8000 REM Drag Parameters Set M3C_aero CD0 0.03 Set M3C_aero CD_a 0.3 Set M3C_aero CD_de 0.03 REM Lift Parameters Set M3C_aero CL0 0.28 Set M3C_aero CL_a 3.45 Set M3C_aero CL_adot 0.72 Set M3C_aero CL_q 0 Set M3C_aero CL_de 0.36 REM Pitch Moment Parameters Set M3C_aero CM0 0 Set M3C_aero CM_a -0.38 Set M3C_aero CM_adot -1.1 Set M3C_aero CM_q -3.6 Set M3C_aero CM_de -0.5 REM Side Force Parameters Set M3C_aero CY_Beta -0.98 Set M3C_aero CY_p 0 Set M3C_aero CY_r 0 Set M3C_aero CY_da 0 Set M3C_aero CY_dr 0.17 REM Roll moment parameters Set M3C_aero CI_beta -0.12 Set M3C_aero CI_p -0.26 Set M3C_aero CI_r 0.14 Set M3C_aero CI_da 0.105 Set M3C_aero CI_dr 0.08 Rem Yaw Moment Parameters Set M3C_aero Cn_beta 0.25 Set M3C_aero Cn_p 0.022 Set M3C_aero Cn_r -0.35 Set M3C_aero Cn_da 0.06 Set M3C_aero Cn_dr 0.032 --- NEW FILE: BalkanLatticeTerrain.csp --- ADD TERRAIN balkanLatticeTerrain SET balkanLatticeTerrain LATTICE TRUE SET balkanLatticeTerrain DETAILTHRESHOLD 8 SET balkanLatticeTerrain DETAILTEXTUREFILE Stone4.bmp SET balkanLatticeTerrain LATTICEBASENAME balkanMap SET balkanLatticeTerrain LATTICEELEVEXT bmp SET balkanLatticeTerrain LATTICETEXEXT bmp SET balkanLatticeTerrain LATTICEWIDTH 16 SET balkanLatticeTerrain LATTICEHEIGHT 16 SET balkanLatticeTerrain VERTEXHEIGHT 0.38 SET balkanLatticeTerrain VERTEXSPACING 250 SET balkanLatticeTerrain MAXTRIANGLES 60000 SET balkanLatticeTerrain DYNAMICTEXTURES FALSE SET balkanLatticeTerrain TEXTURECOMPRESSION TRUE SET balkanLatticeTerrain PRELOADTEXTURES TRUE REM ACTIVE properly should be set last. SET balkanLatticeTerrain ACTIVE TRUE --- NEW FILE: BalkanTerrain.csp --- ADD TERRAIN balkanTerrain SET balkanTerrain LATTICE FALSE SET balkanTerrain DETAILTHRESHOLD 0 SET balkanTerrain DETAILTEXTUREFILE Stone4.bmp SET balkanTerrain TEXTUREFILE italy_coast_2_tex.png SET balkanTerrain ELEVFILE italy_coast.png SET balkanTerrain VERTEXHEIGHT 0.38 SET balkanTerrain VERTEXSPACING 250 SET balkanTerrain MAXTRIANGLES 50000 SET balkanTerrain DYNAMICTEXTURES FALSE SET balkanTerrain TEXTURECOMPRESSION TRUE SET balkanTerrain PRELOADTEXTURES TRUE REM ACTIVE properly should be set last. SET balkanTerrain ACTIVE TRUE --- NEW FILE: BalkanTestTerrain.csp --- ADD TERRAIN balkanTerrain SET balkanTerrain LATTICE FALSE SET balkanTerrain DETAILTHRESHOLD 35 SET balkanTerrain DETAILTEXTUREFILE STONE4.bmp SET balkanTerrain TEXTUREFILE BalkanMapTex.0-0.bmp SET balkanTerrain ELEVFILE BalkanMapElev.0-0.bmp SET balkanTerrain VERTEXHEIGHT 0.38 SET balkanTerrain VERTEXSPACING 250 SET balkanTerrain MAXTRIANGLES 50000 SET balkanTerrain DYNAMICTEXTURES FALSE SET balkanTerrain TEXTURECOMPRESSION TRUE SET balkanTerrain PRELOADTEXTURES TRUE REM ACTIVE properly should be set last. SET balkanTerrain ACTIVE TRUE --- NEW FILE: HudM2k.csp --- # M2k-5 Hud # File description '#' is also default value for string or char data # Element Name x y z Static string Static string position (prefix/sufix/unique) Font name Size Value Format KT -0.1 0.1 0.0 # p # 16 431 0 MACH -0.1 0.07 0.0 # p # 16 0.67 2 G -0.12 -0.16 0.0 G p # 16 1.0 1 AOA -0.12 -0.19 0.0 a p greek 16 3.0 1 HEAD -0.0 0.12 0.0 # p # 16 101112 0 altft 0.1 0.1 0.0 # p # 16 1110 0 altr 0.11 0.07 0.0 H s # 16 800 0 alts 0.11 0.04 0.0 SH s # 16 200 0 nwp 0.1 -0.08 0.0 DEST p # 16 10 0 wph 0.06 -0.11 0.0 / s # 16 160 0 wpd 0.13 -0.11 0.0 NM s # 16 9.0 1 palt1 0.1 -0.16 0.0 # p # 16 6000 0 palt2 0.1 -0.19 0.0 ASEL u # 16 0 0 RPM 0.1 -0.25 0.0 RPM p # 16 75 0 --- NEW FILE: SetPlayer.csp --- add OBJECT M2K PLAYER Set PLAYER POSITION 483000 499000 2000 REM set player position 486985 469198 3000 Set PLAYER VELOCITY 0 150 0 Set PLAYER ORIENTATION 0 0 0 set PLAYER COMPLEX_PHYSICS on --- NEW FILE: Start.csp --- REM Start.csp REM Startup script for CSPFlightSim REM Load Flight Models Run AeroF4.csp Run AeroM2k.csp Run AeroM3c.csp REM Load Terrain REM RUN BalkanTerrain.csp REM RUN BalkanTestTerrain.csp RUN BalkanLatticeTerrain.csp REM Load models Run AddModels.csp REM Load Planes Run AddPlanes.csp REM Load Tanks Run AddTanks.csp REM Set player Run SetPlayer.csp REM Set fog start distance Set FOG_START 20000 Set FOG_END 35000 Set View_DISTANCE 35000 Set wireframe off set FOG On |
From: <mk...@us...> - 2002-12-15 00:52:22
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data In directory sc8-pr-cvs1:/tmp/cvs-serv2696/Data Added Files: CSPFlightSim.ini Log Message: scripts now under ./Data/Scripts --- NEW FILE: CSPFlightSim.ini --- <ScreenWidth> 1024 <ScreenHeight> 768 <FullScreen> 0 <LoggingLevel> 3 <StartupScript> Start.csp |
From: <mk...@us...> - 2002-12-15 00:50:21
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data/Scripts In directory sc8-pr-cvs1:/tmp/cvs-serv2274/Scripts Log Message: Directory /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data/Scripts added to the repository |
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv1608/Source Modified Files: BaseObject.cpp Platform.cpp VirtualBattlefield.cpp sky.cpp Added Files: Makefile.am Makefile.orig Removed Files: Makefile Log Message: very minor fixes initial autoconf/automake support for linux --- NEW FILE: Makefile.am --- # WARNING: # I have almost no prior experience with GNU autoconf/automake and this # is very much a work in progress. The original Makefile for Linux can # be found in Source/Makefile.orig. If you have trouble with building # CSPFlightSim with this configure script or autmake files, and know # how to fix them, please do so and commit the changes to CVS. Thanks! # # -OS bin_PROGRAMS = CSPFlightSim CSPFlightSim_SOURCES = \ AAAController.cpp \ AAAObject.cpp \ AeroParam.cpp \ AeroParamSymbol.cpp \ AIAirplaneController.cpp \ AirplaneController.cpp \ AirplaneInput.cpp \ AirplaneObject.cpp \ AirplanePhysics.cpp \ BaseController.cpp \ base.cpp \ BaseObject.cpp \ BaseSymbol.cpp \ CockpitDrawable.cpp \ Config.cpp \ ConsoleCommands.cpp \ CSPFlightSim.cpp \ DirVectorDrawable.cpp \ GameScreen.cpp \ GlobalCommands.cpp \ global.cpp \ Hud.cpp \ HudElement.cpp \ HudGeometricElement.cpp \ HudTextElement.cpp \ LogoScreen.cpp \ logstream.cpp \ main.cpp \ MenuScreen.cpp \ Message.cpp \ MessageQueue.cpp \ MissileController.cpp \ MissileObject.cpp \ mmgr.cpp \ ObjectFactory.cpp \ ObjectRangeInfo.cpp \ ObjectSymbol.cpp \ ObjectTypeSymbol.cpp \ ParticleObject.cpp \ Platform.cpp \ ProjectileController.cpp \ ProjectileObject.cpp \ SimTime.cpp \ sky.cpp \ StaticObject.cpp \ stdinc.cpp \ SymbolTable.cpp \ TankController.cpp \ TankObject.cpp \ TerrainObject.cpp \ TerrainSymbol.cpp \ Tools.cpp \ trees.cpp \ TypesMath.cpp \ TypesMatrix3.cpp \ TypesMatrix4.cpp \ TypesQuaternion.cpp \ TypesVector3.cpp \ TypesVector4.cpp \ VirtualBattlefield.cpp \ VirtualBattlefieldScene.cpp # You should not need to edit anything below here. OSG_INCLUDES=$(OSG_PREFIX)/include DEMETER_INCLUDES=$(DEMETER_PREFIX) DEMETER_LIB_PREFIX=$(DEMETER_PREFIX) DEMETER_LIBS=-L$(DEMETER_LIB_PREFIX) -ldemeter_csp CSPFlightSim_LDADD = $(DEMETER_LIBS) AM_CPPFLAGS=-I@top_srcdir@/Include -I$(DEMETER_INCLUDES) -I$(OSG_INCLUDES) @SDL_FLAGS@ @GDAL_FLAGS@ CXXFLAGS=-g #-Wall #CFLAGS+=-funroll-loops # -fomit-frame-pointer # not stable? #CFLAGS+=-march=pentiumpro -mcpu=pentiumpro # not stable? #CFLAGS+=-Wno-missing-braces -Wno-multichar -fsigned-char --- NEW FILE: Makefile.orig --- # Makefile for CSPFlightSim # Clement Bourdarias <phn...@ic...> # last changed on Sunday, November 17th. # Edit these lines to match your system configuration CC=g++ OSG_PREFIX=/usr/local GDAL_PREFIX=/usr/local DEMETER_DIR=../../../THIRDPARTYLIBS/demeter # nothing should be edited below this line CSP_BINARY=CSPFlightSim OSG_INCLUDES_PREFIX=$(OSG_PREFIX)/include OSG_LIB_PREFIX=$(OSG_PREFIX)/lib OSG_LIB=-losg -losgGLUT -losgParticle -losgText -losgUtil GDAL_LIB_PREFIX=$(GDAL_PREFIX)/lib GDAL_LIB=-lgdal.1.1 DEMETER_INCLUDES=$(DEMETER_DIR) DEMETER_LIB=-ldemeter_csp # if we want to statically link demeter #DEMETER_OBJ=$(DEMETER_INCLUDES)/demeter_csp.a LDFLAGS=$(shell sdl-config --libs) -lSDL_image -lSDL_console LDFLAGS+=-L$(DEMETER_DIR) $(DEMETER_LIB) LDFLAGS+=-L$(OSG_LIB_PREFIX) $(OSG_LIB) LDFLAGS+=-L$(GDAL_LIB_PREFIX) $(GDAL_LIB) CFLAGS=-Wall -g $(shell sdl-config --cflags) -I../Include/ -I$(DEMETER_INCLUDES) -I$(OSG_INCLUDES_PREFIX) CFLAGS+=-w # get rid of warnings at the moment #CFLAGS+=-funroll-loops # -fomit-frame-pointer # not stable? #CFLAGS+=-march=pentiumpro -mcpu=pentiumpro # not stable? #CFLAGS+=-Wno-missing-braces -Wno-multichar -fsigned-char %.o: %.cpp $(CC) -c -o $@ $< $(CFLAGS) CSP_SOURCES = ./AAAController.cpp \ ./AAAObject.cpp \ ./AeroParam.cpp \ ./AeroParamSymbol.cpp \ ./AIAirplaneController.cpp \ ./AirplaneController.cpp \ ./AirplaneInput.cpp \ ./AirplaneObject.cpp \ ./AirplanePhysics.cpp \ ./BaseController.cpp \ ./base.cpp \ ./BaseObject.cpp \ ./BaseSymbol.cpp \ ./CockpitDrawable.cpp \ ./Config.cpp \ ./ConsoleCommands.cpp \ ./CSPFlightSim.cpp \ ./DirVectorDrawable.cpp \ ./GameScreen.cpp \ ./GlobalCommands.cpp \ ./global.cpp \ ./Hud.cpp \ ./HudElement.cpp \ ./HudGeometricElement.cpp \ ./HudTextElement.cpp \ ./LogoScreen.cpp \ ./logstream.cpp \ ./main.cpp \ ./MenuScreen.cpp \ ./Message.cpp \ ./MessageQueue.cpp \ ./MissileController.cpp \ ./MissileObject.cpp \ ./mmgr.cpp \ ./ObjectFactory.cpp \ ./ObjectRangeInfo.cpp \ ./ObjectSymbol.cpp \ ./ObjectTypeSymbol.cpp \ ./ParticleObject.cpp \ ./Platform.cpp \ ./ProjectileController.cpp \ ./ProjectileObject.cpp \ ./SimTime.cpp \ ./sky.cpp \ ./StaticObject.cpp \ ./stdinc.cpp \ ./SymbolTable.cpp \ ./TankController.cpp \ ./TankObject.cpp \ ./TerrainObject.cpp \ ./TerrainSymbol.cpp \ ./Tools.cpp \ ./trees.cpp \ ./TypesMath.cpp \ ./TypesMatrix3.cpp \ ./TypesMatrix4.cpp \ ./TypesQuaternion.cpp \ ./TypesVector3.cpp \ ./TypesVector4.cpp \ ./VirtualBattlefield.cpp \ ./VirtualBattlefieldScene.cpp \ CSP_OBJECTS=$(CSP_SOURCES:.cpp=.o) all: $(CSP_BINARY) $(CSP_BINARY): $(CSP_OBJECTS) rm -rf $(CSP_BINARY) $(CC) -o $(CSP_BINARY) $(CSP_OBJECTS) $(LDFLAGS) clean: rm -rf $(CSP_BINARY) $(CSP_OBJECTS) install: # soon. Index: BaseObject.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/BaseObject.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BaseObject.cpp 14 Dec 2002 18:54:13 -0000 1.5 --- BaseObject.cpp 15 Dec 2002 00:48:45 -0000 1.6 *************** *** 182,187 **** m_GlobalPosition.y = y; ! m_XLatticePos = x / g_LatticeXDist; ! m_YLatticePos = y / g_LatticeYDist; m_LocalPosition.x = m_GlobalPosition.x - g_LatticeXDist*m_XLatticePos; --- 182,187 ---- m_GlobalPosition.y = y; ! m_XLatticePos = (int) (x / g_LatticeXDist); ! m_YLatticePos = (int) (y / g_LatticeYDist); m_LocalPosition.x = m_GlobalPosition.x - g_LatticeXDist*m_XLatticePos; *************** *** 358,365 **** float r = s.radius(); osg::Vec3 c = s.center(); osg::Vec3Array* pl = osgNew osg::Vec3Array; ! for (unsigned short i = 0; i<10; ++i) pl->push_back(osg::Vec3(0.0,-(0.8+i/20.0) * r,0.0)); --- 358,366 ---- float r = s.radius(); osg::Vec3 c = s.center(); + unsigned short i; osg::Vec3Array* pl = osgNew osg::Vec3Array; ! for (i = 0; i<10; ++i) pl->push_back(osg::Vec3(0.0,-(0.8+i/20.0) * r,0.0)); Index: Platform.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/Platform.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Platform.cpp 14 Dec 2002 18:51:30 -0000 1.2 --- Platform.cpp 15 Dec 2002 00:48:45 -0000 1.3 *************** *** 142,146 **** char *idx = str; for (; *idx; idx++) { ! if (*idx == '/') *idx = '\\'; } result = str; --- 142,146 ---- char *idx = str; for (; *idx; idx++) { ! if (*idx == search) *idx = replace; } result = str; Index: VirtualBattlefield.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/VirtualBattlefield.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** VirtualBattlefield.cpp 14 Dec 2002 18:58:21 -0000 1.5 --- VirtualBattlefield.cpp 15 Dec 2002 00:48:45 -0000 1.6 *************** *** 154,158 **** osg::ClearNode* earthSky = osgNew osg::ClearNode; ! earthSky->setRequiresClear(false); // we've got base and sky to do it. // use a transform to make the sky and base around with the eye point. --- 154,159 ---- osg::ClearNode* earthSky = osgNew osg::ClearNode; ! earthSky->setRequiresClear(false); // we've got base and sky to do it. ! //earthSky->setRequiresClear(true); // we've got base and sky to do it. // use a transform to make the sky and base around with the eye point. Index: sky.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/sky.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sky.cpp 12 Dec 2002 21:13:45 -0000 1.3 --- sky.cpp 15 Dec 2002 00:48:45 -0000 1.4 *************** *** 190,194 **** pLight->setDirection( osg::Vec3(0,0,-1) ); ! pLight->setAmbient( osg::Vec4(0.2f,0.2f,0.2f,1.0f) ); pLight->setDiffuse( osg::Vec4(0.8f,0.8f,0.8f,1.0f) ); pLight->setSpecular( osg::Vec4(0.75f,0.75f,0.75f,1.0f) ); --- 190,195 ---- pLight->setDirection( osg::Vec3(0,0,-1) ); ! //pLight->setAmbient( osg::Vec4(0.2f,0.2f,0.2f,1.0f) ); ! pLight->setAmbient( osg::Vec4(0.4f,0.4f,0.4f,1.0f) ); pLight->setDiffuse( osg::Vec4(0.8f,0.8f,0.8f,1.0f) ); pLight->setSpecular( osg::Vec4(0.75f,0.75f,0.75f,1.0f) ); --- Makefile DELETED --- |
From: <mk...@us...> - 2002-12-15 00:48:48
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim In directory sc8-pr-cvs1:/tmp/cvs-serv1608 Added Files: Makefile.am README.linux acinclude.m4 config.h.in configure.in Log Message: very minor fixes initial autoconf/automake support for linux --- NEW FILE: Makefile.am --- # WARNING: # I have almost no prior experience with GNU autoconf/automake and this # is very much a work in progress. The original Makefile for Linux can # be found in Source/Makefile.orig. If you have trouble with building # CSPFlightSim with this configure script or autmake files, and know # how to fix them, please do so and commit the changes to CVS. Thanks! # # -OS # Edit these lines to match your system configuration export OSG_PREFIX=/usr/local export DEMETER_PREFIX=@abs_srcdir@/../../THIRDPARTYLIBS/demeter AUTOMAKE_OPTIONS = foreign XTRA_DIST = SUBDIRS = Source --- NEW FILE: README.linux --- CSPFlightSim, Linux README December-2002 ======================================================================= To bulid on Linux, you currently need (at least) the following: gcc 2.95 or newer autoconf / automake And these (or newer) third partly libraries: OSG 0.9.2 (including GLUT, Text, Util, and Particle) SDL 1.2.5 SDL_Console SDL_Image GDAL 1.1.7 ======================================================================= To actually run CSPFlightSim, you'll also need terrain and data files. These can be found at http://sourceforge.net/projects/csp The exact installation path of the data files is still in some flux. This file will be updates as soon as the paths are standardized. ======================================================================= To build, do the following: $ aclocal; autoconf; automake $ ./configure $ make $ ln -s Source/CSPFlightSim . The build system is undergoing considerable changes right now (automake/autoconf support is brand-new), so expect some problems. If you overcome any problems related to the build scripts, please post the changes to the CSP developers forum or just commit the revisions to CVS. Thanks! ======================================================================= If you need help, check the CSP wiki or post a message to the develepers forum: http://csp.sourceforge.net/wiki/CurrentBuildDependencies http://csp.sourceforge.net/forum Good luck! --- NEW FILE: acinclude.m4 --- dnl WARNING: dnl I have almost no prior experience with GNU autoconf/automake and this dnl is very much a work in progress. The original Makefile for Linux can dnl be found in Source/Makefile.orig. If you have trouble with building dnl CSPFlightSim with this configure script or autmake files, and know dnl how to fix them, please do so and commit the changes to CVS. Thanks! dnl dnl -OS m4_pushdef([UP], m4_translit([$1], [a-z], [A-Z]))dnl m4_pushdef([DOWN], m4_translit([$1], [A-Z], [a-z]))dnl m4_pushdef([LDOWN], ac_path_lib_[]DOWN)dnl m4_pushdef([CACHE], ac_cv_path_lib_[]DOWN)dnl m4_pushdef([ERRORLOG], error.[]DOWN[]test)dnl AC_DEFUN(CSP_SDL_ERROR, [ AC_MSG_ERROR([ Simple DirectMedia Layer version >= $lib_min_version must be installed. SDL can be downloaded from http://www.libsdl.org/ If you already have a sufficiently new version of SDL installed, this error probably means that the wrong copy of the sdl-config shell script is being found. ]) ]) AC_DEFUN(CSP_LIB_ERROR, [ AC_MSG_ERROR([ $1 version >= $2 must be installed. This library can be downloaded from $3. If you already have a sufficiently new version of this library installed, this error probably means that the wrong copy of the $4 shell script is being found. ]) ]) dnl Generic version check for libraries using 'xxx-config' scripts AC_DEFUN(CSP_LIB_CONFIG, [ lib_min_version=$3 lib=yes AC_PATH_PROG($1[]_CONFIG, $2-config, no) AC_MSG_CHECKING(for $1 >= $lib_min_version) no_lib="" if test "$$1[]_CONFIG" = "no"; then no_lib=yes else lib_version=`$$1[]_CONFIG --version` lib_major=`echo $lib_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` lib_minor=`echo $lib_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` lib_micro=`echo $lib_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` lib_major_min=`echo $lib_min_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` lib_minor_min=`echo $lib_min_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` lib_micro_min=`echo $lib_min_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` lib_version_proper=`expr \ $lib_major \> $lib_major_min \| \ $lib_major \= $lib_major_min \& \ $lib_minor \> $lib_minor_min \| \ $lib_major \= $lib_major_min \& \ $lib_minor \= $lib_minor_min \& \ $lib_micro \>= $lib_micro_min ` if test "$lib_version_proper" = "1" ; then AC_MSG_RESULT(yes) $1[]_FLAGS=`$$1[]_CONFIG --cflags` $1[]_LIBS=`$$1[]_CONFIG --libs` else AC_MSG_RESULT(no) no_lib=yes fi fi if test "$no_lib" = "yes"; then CSP_LIB_ERROR($4,$3,$5,$1[]_CONFIG) fi AC_SUBST($1[]_FLAGS) AC_SUBST($1[]_LIBS) LIBS="$$1[]_LIBS $LIBS" ]) AC_DEFUN(CSP_OSG_CONFIG, [ AC_MSG_CHECKING(for $1 >= $2) LIBS="-l$1 $LIBS" AC_TRY_RUN([ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ const char *$1GetVersion (); int main() { const char *v = $1GetVersion(); const char *need = "$2"; int major, minor, micro; int need_major, need_minor, need_micro; int n; n = sscanf(need, "%d.%d.%d", &need_major, &need_minor, &need_micro); if (n<3) exit(1); n = sscanf(v, "%d.%d.%d", &major, &minor, µ); if (n<3) exit(1); if (major < need_major) exit(1); if (major > need_major) exit(0); if (minor < need_minor) exit(1); if (minor > need_minor) exit(0); if (micro < need_micro) exit(1); exit(0); return 0; } ], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) AC_MSG_ERROR([ $3 version >= $1 needs to be installed. OSG can be downloaded from http://www.openscenegraph.org/ ]) ], []) ]) --- NEW FILE: config.h.in --- /* config.h.in. Generated from configure.in by autoheader. */ /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the <fcntl.h> header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `SDL_console' library (-lSDL_console). */ #undef HAVE_LIBSDL_CONSOLE /* Define to 1 if you have the `SDL_image' library (-lSDL_image). */ #undef HAVE_LIBSDL_IMAGE /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H /* Define to 1 if `st_blksize' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLKSIZE /* Define to 1 if your `struct stat' has `st_blksize'. Deprecated, use `HAVE_STRUCT_STAT_ST_BLKSIZE' instead. */ #undef HAVE_ST_BLKSIZE /* Define to 1 if you have the <sys/file.h> header file. */ #undef HAVE_SYS_FILE_H /* Define to 1 if you have the <sys/param.h> header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the <sys/stat.h> header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION --- NEW FILE: configure.in --- dnl WARNING: dnl I have almost no prior experience with GNU autoconf/automake and this dnl is very much a work in progress. The original Makefile for Linux can dnl be found in Source/Makefile.orig. If you have trouble with building dnl CSPFlightSim with this configure script or autmake files, and know dnl how to fix them, please do so and commit the changes to CVS. Thanks! dnl dnl -OS dnl Process this file with autoconf to produce a configure script. AC_INIT(Source/CSPFlightSim.cpp) AM_INIT_AUTOMAKE(CSPFlightSim, 0.1.0) AM_CONFIG_HEADER(config.h) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_RANLIB dnl Checks for libraries. dnl Checks for header files. AC_STDC_HEADERS AC_HAVE_HEADERS(string.h fcntl.h sys/file.h sys/param.h) dnl Checks for library functions. AC_FUNC_ALLOCA dnl Check for st_blksize in struct stat AC_ST_BLKSIZE dnl check for Simple Direct Media Library CSP_LIB_CONFIG([SDL], [sdl], [1.2.5], [Simple Direct Media Library], [http://www.libsdl.org/]) dnl check for SDL Image Library AC_CHECK_LIB(SDL_image, IMG_Load, [], [AC_MSG_ERROR([ SDL_image does not appear to be installed. You can download this library from http://www.libsdl.org/projects/SDL_image If SDL_image is already installed, please specify a library path when running configure: --sdl_image_path=xxx])], []) dnl check for SDL Console Library AC_CHECK_LIB(SDL_console, CON_DrawConsole, [], [AC_MSG_ERROR([ SDL_console does not appear to be installed. You can download this library from http://sdlconsole.tuxfamily.org If SDL_console is already installed, please specify a library path when running configure: --sdl_image_path=xxx])], []) dnl check for Geospatial Data Abstraction Library CSP_LIB_CONFIG([GDAL], [gdal], [1.1.7], [Geospatial Data Abstraction Library], [http://remotesensing.org/gdal/]) dnl check for OpenSceneGraph CSP_OSG_CONFIG(osg, 0.9.2, [OpenSceneGraph]) CSP_OSG_CONFIG(osgGLUT, 0.9.2, [OpenSceneGraph GLUT library]) CSP_OSG_CONFIG(osgUtil, 0.9.2, [OpenSceneGraph Util library]) CSP_OSG_CONFIG(osgText, 0.9.2, [OpenSceneGraph Util library]) CSP_OSG_CONFIG(osgParticle, 0.9.2, [OpenSceneGraph Particle library]) #AC_CHECK_LIB(osgGLUT, osgGLUTGetVersion, , # [AC_MSG_ERROR(OpenSceneGraph GLUT library not found. See http://www.openscenegraph.org)],) #AC_CHECK_LIB(osgUtil, osgUtilGetVersion, , # [AC_MSG_ERROR(OpenSceneGraph Util library not found. See http://www.openscenegraph.org)],) #AC_CHECK_LIB(osgText, osgTextGetVersion, , # [AC_MSG_ERROR(OpenSceneGraph Text library not found. See http://www.openscenegraph.org)],) #AC_CHECK_LIB(osgParticle, osgParticleGetVersion, , # [AC_MSG_ERROR(OpenSceneGraph Particle library not found. See http://www.openscenegraph.org)],) AC_OUTPUT([Makefile Source/Makefile], []) |
From: <mk...@us...> - 2002-12-15 00:42:28
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data In directory sc8-pr-cvs1:/tmp/cvs-serv385/Data Log Message: Directory /cvsroot/csp/APPLICATIONS/CSPFlightSim/Data added to the repository |
From: <de...@us...> - 2002-12-14 18:58:25
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv8486 Modified Files: VirtualBattlefield.cpp Log Message: Add a texture skydome and osg::TimeStamp Index: VirtualBattlefield.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/VirtualBattlefield.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** VirtualBattlefield.cpp 13 Dec 2002 01:20:58 -0000 1.4 --- VirtualBattlefield.cpp 14 Dec 2002 18:58:21 -0000 1.5 *************** *** 130,134 **** #endif ! osgDB::setDataFilePathList("." + sep + "Images" + sep + "Models" + sep + "Fonts"); // we don't need this on Linux since libs are usually --- 130,134 ---- #endif ! osgDB::setDataFilePathList("../Data" + sep + "../Data/Images" + sep + "../Data/Models" + sep + "../Data/Fonts"); // we don't need this on Linux since libs are usually *************** *** 154,159 **** osg::ClearNode* earthSky = osgNew osg::ClearNode; ! //earthSky->setRequiresClear(false); // we've got base and sky to do it. ! earthSky->setRequiresClear(true); // we've got base and sky to do it. // use a transform to make the sky and base around with the eye point. --- 154,158 ---- osg::ClearNode* earthSky = osgNew osg::ClearNode; ! earthSky->setRequiresClear(false); // we've got base and sky to do it. // use a transform to make the sky and base around with the eye point. *************** *** 739,743 **** float xPatch = 35000 + 448000; ! float yPatch = 5000 + 500000; if (m_pActiveTerrainObject) --- 738,742 ---- float xPatch = 35000 + 448000; ! float yPatch = 6000 + 500000; if (m_pActiveTerrainObject) |
From: <de...@us...> - 2002-12-14 18:57:39
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv8310 Modified Files: GlobalCommands.cpp Log Message: Trying to fix '\n', '\r' Index: GlobalCommands.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/GlobalCommands.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** GlobalCommands.cpp 13 Dec 2002 04:39:06 -0000 1.5 --- GlobalCommands.cpp 14 Dec 2002 18:57:36 -0000 1.6 *************** *** 101,110 **** if (!OSPath::isabs(path)) { string base; ! base = OSPath::join(".", "scripts"); ! path = OSPath::join(base, path); } path = OSPath::filter(path); - // open file ifstream file(path.c_str()); --- 101,109 ---- if (!OSPath::isabs(path)) { string base; ! base = "../Data/Scripts"; ! path = OSPath::join(base, path); } path = OSPath::filter(path); // open file ifstream file(path.c_str()); |
From: <de...@us...> - 2002-12-14 18:56:30
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv8006 Modified Files: TerrainObject.cpp Log Message: Changing path to Terrain data files Index: TerrainObject.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/TerrainObject.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TerrainObject.cpp 13 Dec 2002 04:39:06 -0000 1.4 --- TerrainObject.cpp 14 Dec 2002 18:56:27 -0000 1.5 *************** *** 1,11 **** - #include "stdinc.h" - - #include "TerrainObject.h" - #include "VirtualBattlefield.h" - #include <osg/Depth> #include <osg/Geode> #include <osg/StateSet> extern int g_ScreenWidth; --- 1,10 ---- #include <osg/Depth> #include <osg/Geode> #include <osg/StateSet> + #include "LogStream.h" + #include "Platform.h" + #include "TerrainObject.h" + #include "VirtualBattlefield.h" extern int g_ScreenWidth; *************** *** 83,87 **** { // create lattice ! Demeter::Settings::GetInstance()->SetMediaPath("Terrain"); createTerrainLattice(); osg::Node * pTerrainLatticeNode = CreateTerrainLatticeNode(m_pTerrainLattice); --- 82,86 ---- { // create lattice ! Demeter::Settings::GetInstance()->SetMediaPath("../Data/Terrain"); createTerrainLattice(); osg::Node * pTerrainLatticeNode = CreateTerrainLatticeNode(m_pTerrainLattice); *************** *** 95,99 **** { // create single terrain node ! Demeter::Settings::GetInstance()->SetMediaPath("Terrain"); createTerrain(); osg::Node * pTerrainNode = CreateTerrainNode(m_pTerrain); --- 94,98 ---- { // create single terrain node ! Demeter::Settings::GetInstance()->SetMediaPath("../Data/Terrain"); createTerrain(); osg::Node * pTerrainNode = CreateTerrainNode(m_pTerrain); *************** *** 309,316 **** void TerrainObject::UpdateDemeterSettings() { ! char szMediaPath[9]; ! ! sprintf(szMediaPath,".%cterrain%c",DIR_SEPARATOR,DIR_SEPARATOR); ! Demeter::Settings::GetInstance()->SetMediaPath(szMediaPath); Demeter::Settings::GetInstance()->SetVerbose(false); --- 308,313 ---- void TerrainObject::UpdateDemeterSettings() { ! std::string mediaPath = OSPath::filter("../Data/Terrain/"); ! Demeter::Settings::GetInstance()->SetMediaPath(mediaPath.c_str()); Demeter::Settings::GetInstance()->SetVerbose(false); *************** *** 320,324 **** Demeter::Settings::GetInstance()->SetTextureCompression(m_bTextureCompression); Demeter::Settings::GetInstance()->SetUseDynamicTextures(m_bDynamicTextures); ! Demeter::Settings::GetInstance()->SetDetailTextureRepeats(20); Demeter::Settings::GetInstance()->SetUseNormals(true); --- 317,321 ---- Demeter::Settings::GetInstance()->SetTextureCompression(m_bTextureCompression); Demeter::Settings::GetInstance()->SetUseDynamicTextures(m_bDynamicTextures); ! Demeter::Settings::GetInstance()->SetDetailTextureRepeats(16); Demeter::Settings::GetInstance()->SetUseNormals(true); |
From: <de...@us...> - 2002-12-14 18:56:07
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv7885 Modified Files: main.cpp Log Message: Changing path to CSPFlightSim.ini Index: main.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/main.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** main.cpp 5 Dec 2002 03:23:31 -0000 1.2 --- main.cpp 14 Dec 2002 18:56:04 -0000 1.3 *************** *** 12,16 **** // config file found! ! Config.ReadConfigFile("CSPFlightSim.ini"); int level = Config.GetInteger("LoggingLevel"); --- 12,16 ---- // config file found! ! Config.ReadConfigFile("../Data/CSPFlightSim.ini"); int level = Config.GetInteger("LoggingLevel"); |
From: <de...@us...> - 2002-12-14 18:55:39
|
Update of /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv7740 Modified Files: LogoScreen.cpp Log Message: Changing path to csp logo Index: LogoScreen.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPFlightSim/Source/LogoScreen.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** LogoScreen.cpp 12 Dec 2002 21:13:45 -0000 1.3 --- LogoScreen.cpp 14 Dec 2002 18:55:36 -0000 1.4 *************** *** 15,22 **** void LogoScreen::OnInit() { ! m_image = SDL_LoadBMP("Images/CSPLogo.bmp"); if (m_image == NULL) { ! printf("Unable to load bitmap Images/CSPLogo.bmp\n"); } --- 15,22 ---- void LogoScreen::OnInit() { ! m_image = SDL_LoadBMP("../Data/Images/CSPLogo.bmp"); if (m_image == NULL) { ! printf("Unable to load bitmap ../Data/Images/CSPLogo.bmp\n"); } |