1) Renamed scene to stk_scene (since scene is a namespace in irrlicht).

Note that with irrlicht the scene objects is most likely going to
   be replaced anyway.
2) Removed more snprintf.
3) Removed unused modes from VS project file, added new mode for irrlicht.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@3055 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
hikerstk 2009-01-28 00:38:28 +00:00
parent 0b8f74e70b
commit 067d3daf79
28 changed files with 246 additions and 639 deletions

View File

@ -56,7 +56,7 @@ void Explosion::init(const Vec3& coord)
c.hpr[0]=0; c.hpr[1]=0; c.hpr[2]=0;
setTransform(&c);
m_step = -1;
scene->add(this);
stk_scene->add(this);
m_has_ended = false;
}
@ -70,7 +70,7 @@ void Explosion::update(float dt)
if(m_explode_sound->getStatus() != SFXManager::SFX_PLAYING)
{
//fprintf(stderr, "Sound finished. Removing.\n");
scene->remove((ssgTransform*)this);
stk_scene->remove((ssgTransform*)this);
projectile_manager->FinishedExplosion();
m_has_ended = true;
return;

View File

@ -69,7 +69,7 @@ ParticleSystem::ParticleSystem ( int num, float create_rate, int ttf, float sz)
}
m_num_active = 0 ;
scene->add(this);
stk_scene->add(this);
} // ParticleSystem
//-----------------------------------------------------------------------------

View File

@ -36,7 +36,7 @@
#include "scene.hpp"
Scene *scene = 0;
Scene *stk_scene = 0;
Scene::Scene() : m_scenegraph(new ssgRoot)
{

View File

@ -16,8 +16,8 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef HEADER_SCENE_H
#define HEADER_SCENE_H
#ifndef HEADER_SCENE_HPP
#define HEADER_SCENE_HPP
//FIXME: make the camera a pointer to vector so it can be forward declared.
#include <vector>
@ -48,6 +48,6 @@ public:
Camera *createCamera(int playerId, const Kart* kart);
};
extern Scene *scene;
extern Scene *stk_scene;
#endif

View File

@ -55,8 +55,8 @@ void SkidMarks::reset()
{
for(unsigned int i=0; i<m_left.size(); i++)
{
scene->remove(m_left[i]);
scene->remove(m_right[i]);
stk_scene->remove(m_left[i]);
stk_scene->remove(m_right[i]);
}
m_left.clear();
m_right.clear();
@ -152,7 +152,7 @@ void SkidMarks::update(float dt)
SkidMarkQuads *smq_left = new SkidMarkQuads(raycast_left.m_contactPointWS,
raycast_left.m_contactPointWS + delta,
m_skid_state, m_avoid_z_fighting);
scene->add(smq_left);
stk_scene->add(smq_left);
m_avoid_z_fighting += 0.001f;
if(m_avoid_z_fighting>0.01f) m_avoid_z_fighting = 0.0f;
@ -161,7 +161,7 @@ void SkidMarks::update(float dt)
raycast_right.m_contactPointWS,
m_skid_state,
m_avoid_z_fighting);
scene->add(smq_right);
stk_scene->add(smq_right);
m_current++;
if(m_current>=stk_config->m_max_skidmarks)
m_current = 0;
@ -172,8 +172,8 @@ void SkidMarks::update(float dt)
}
else
{
scene->remove(m_left [m_current]);
scene->remove(m_right[m_current]);
stk_scene->remove(m_left [m_current]);
stk_scene->remove(m_right[m_current]);
m_left [m_current] = smq_left;
m_right[m_current] = smq_right;
}

View File

@ -151,7 +151,7 @@ GrandPrixEnd::GrandPrixEnd()
//FIXME: this is taken from RaceMode::exit_race,
//this should be organized better.
scene->clear();
stk_scene->clear();
RaceManager::setWorld(NULL);
race_manager->m_active_race = false;

View File

@ -17,6 +17,8 @@
#include "gui/race_options.hpp"
#include <sstream>
#include "race_manager.hpp"
#include "user_config.hpp"
#include "material_manager.hpp"
@ -24,10 +26,6 @@
#include "gui/widget_manager.hpp"
#include "utils/translation.hpp"
#if defined(WIN32) && !defined(__CYGWIN__)
# define snprintf _snprintf
#endif
enum WidgetTokens
{
WTOK_TITLE,
@ -102,9 +100,9 @@ RaceOptions::RaceOptions()
widget_manager->setWgtTextSize(WTOK_KARTS_TITLE, WGT_FNT_LRG);
widget_manager->addTextButtonWgt( WTOK_KARTS_DOWN, 3, 7, " < " );
char string_num_karts[MAX_MESSAGE_LENGTH];
snprintf(string_num_karts, MAX_MESSAGE_LENGTH, "%d", m_num_karts);
widget_manager->addTextWgt( WTOK_KARTS, ITEM_WIDTH, 7, string_num_karts );
std::ostringstream string_num_karts;
string_num_karts << m_num_karts;
widget_manager->addTextWgt( WTOK_KARTS, ITEM_WIDTH, 7, string_num_karts.str() );
widget_manager->setWgtBorderPercentage( WTOK_KARTS, 10 );
widget_manager->showWgtBorder( WTOK_KARTS );
widget_manager->hideWgtRect( WTOK_KARTS );
@ -124,9 +122,9 @@ RaceOptions::RaceOptions()
widget_manager->setWgtTextSize(WTOK_LAPS_TITLE, WGT_FNT_LRG);
widget_manager->addTextButtonWgt( WTOK_LAPS_DOWN, 3, 7, " < " );
char string_num_laps[MAX_MESSAGE_LENGTH];
snprintf(string_num_laps, MAX_MESSAGE_LENGTH, "%d", m_num_laps);
widget_manager->addTextWgt( WTOK_LAPS, ITEM_WIDTH, 7, string_num_laps );
std::ostringstream string_num_laps;
string_num_laps << m_num_laps;
widget_manager->addTextWgt( WTOK_LAPS, ITEM_WIDTH, 7, string_num_laps.str() );
widget_manager->setWgtBorderPercentage( WTOK_LAPS, 10 );
widget_manager->showWgtBorder( WTOK_LAPS );
widget_manager->hideWgtRect( WTOK_LAPS );
@ -191,7 +189,7 @@ void RaceOptions::select()
{
m_difficulty = RaceManager::RD_MEDIUM;
}
widget_manager->setWgtText( WTOK_DIFFICULTY, getDifficultyString(m_difficulty) );
widget_manager->setWgtText(WTOK_DIFFICULTY, getDifficultyString(m_difficulty) );
break;
case WTOK_DIFFICULTY_DOWN:
@ -207,20 +205,19 @@ void RaceOptions::select()
{
m_difficulty = RaceManager::RD_HARD;
}
widget_manager->setWgtText( WTOK_DIFFICULTY,
getDifficultyString(m_difficulty) );
widget_manager->setWgtText(WTOK_DIFFICULTY,
getDifficultyString(m_difficulty) );
break;
case WTOK_KARTS_UP:
{
m_num_karts = m_num_karts==stk_config->m_max_karts
m_num_karts = m_num_karts==stk_config->m_max_karts
? m_min_karts : m_num_karts + 1;
char label[ MAX_MESSAGE_LENGTH ];
snprintf( label, MAX_MESSAGE_LENGTH, "%d", m_num_karts );
widget_manager->setWgtText( WTOK_KARTS, label );
std::ostringstream label;
label << m_num_karts;
widget_manager->setWgtText(WTOK_KARTS, label.str() );
}
break;
@ -228,10 +225,9 @@ void RaceOptions::select()
{
m_num_karts = m_num_karts==m_min_karts
? stk_config->m_max_karts : m_num_karts-1;
char label[ MAX_MESSAGE_LENGTH ];
snprintf( label, MAX_MESSAGE_LENGTH, "%d", m_num_karts );
widget_manager->setWgtText( WTOK_KARTS, label );
std::ostringstream label;
label << m_num_karts;
widget_manager->setWgtText(WTOK_KARTS, label.str() );
}
break;
@ -240,10 +236,9 @@ void RaceOptions::select()
m_num_laps++;
if(m_num_laps>10) m_num_laps=1;
char label[ MAX_MESSAGE_LENGTH ];
snprintf( label, MAX_MESSAGE_LENGTH, "%d", m_num_laps );
widget_manager->setWgtText( WTOK_LAPS, label);
std::ostringstream label;
label << m_num_laps;
widget_manager->setWgtText(WTOK_LAPS, label.str());
}
break;
@ -252,10 +247,9 @@ void RaceOptions::select()
m_num_laps--;
if(m_num_laps<1) m_num_laps=10;
char label[ MAX_MESSAGE_LENGTH ];
snprintf( label, MAX_MESSAGE_LENGTH, "%d", m_num_laps );
widget_manager->setWgtText( WTOK_LAPS, label);
std::ostringstream label;
label << m_num_laps;
widget_manager->setWgtText(WTOK_LAPS, label.str());
}
break;

View File

@ -20,9 +20,7 @@
#include "highscore_manager.hpp"
#include <stdexcept>
#if defined(WIN32) && !defined(__CYGWIN__)
# define snprintf _snprintf
#endif
#include <sstream>
#include "race_manager.hpp"
#include "file_manager.hpp"
@ -98,9 +96,7 @@ void HighscoreManager::Load()
const lisp::Lisp* const node = root->getLisp("highscores");
if(!node)
{
char msg[MAX_ERROR_MESSAGE_LENGTH];
snprintf(msg, sizeof(msg), "No 'highscore' node found.");
throw std::runtime_error(msg);
throw std::runtime_error("No 'highscore' node found.");
}
// check file version
@ -121,23 +117,21 @@ void HighscoreManager::Load()
int n;
if (!node->get("number-entries",n))
{
char msg[MAX_ERROR_MESSAGE_LENGTH];
snprintf(msg, sizeof(msg), "No 'number-entries' node found.");
throw std::runtime_error(msg);
throw std::runtime_error("No 'number-entries' node found.");
}
// read all entries one by one and store them in 'm_allScores'
for(int i=0; i<n; i++)
{
char record_name[255];
snprintf(record_name, sizeof(record_name), "record-%d", i);
const lisp::Lisp* const node_record=node->getLisp(record_name);
std::ostringstream record_name;
record_name << "record-" << i;
const lisp::Lisp* const node_record=node->getLisp(record_name.str());
if(!node_record)
{
char msg[MAX_ERROR_MESSAGE_LENGTH];
snprintf(msg, sizeof(msg),"Can't find record '%d' in '%s'",
i,m_filename.c_str());
throw std::runtime_error(msg);
std::ostringstream msg;
msg << "Can't find record '" << i << "' in '"
<< m_filename << "'";
throw std::runtime_error(msg.str());
}
HighscoreEntry *highscores = new HighscoreEntry(node_record);
m_allScores.push_back(highscores);
@ -174,12 +168,12 @@ void HighscoreManager::Save()
for(type_all_scores::iterator i = m_allScores.begin();
i != m_allScores.end(); i++)
{
char record_name[255];
snprintf(record_name, sizeof(record_name),"record-%d\t",record_number);
std::ostringstream record_name;
record_name << "record-" << record_number << "\t";
record_number++;
writer.beginList(record_name);
writer.beginList(record_name.str());
(*i)->Write(&writer);
writer.endList(record_name);
writer.endList(record_name.str());
} // next score
writer.endList("highscores");
m_can_write=true;

View File

@ -17,13 +17,12 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <stdexcept>
#include "highscores.hpp"
#include "race_manager.hpp"
#if defined(WIN32) && !defined(__CYGWIN__)
# define snprintf _snprintf
#endif
#include <stdexcept>
#include <sstream>
#include "race_manager.hpp"
// -----------------------------------------------------------------------------
HighscoreEntry::HighscoreEntry(const HighscoreEntry::HighscoreType highscore_type,
@ -74,13 +73,13 @@ void HighscoreEntry::Read(const lisp::Lisp* const node)
for(int i=0; i<HIGHSCORE_LEN; i++)
{
char s[128];
snprintf(s, sizeof(s), "time-%d", i);
node->get(s,m_time[i] );
snprintf(s, sizeof(s), "name-%d", i);
node->get(s,m_name[i] );
snprintf(s, sizeof(s), "kartname-%d", i);
node->get(s, m_kart_name[i] );
std::ostringstream s;
s << "time-" << i;
node->get(s.str(),m_time[i] );
s << "name-" << i;
node->get(s.str(),m_name[i] );
s << "kartname-" << i;
node->get(s.str(), m_kart_name[i] );
}
} // Read
@ -90,17 +89,17 @@ void HighscoreEntry::Write(lisp::Writer *writer)
writer->write("track-name\t", m_track );
writer->write("number-karts\t", m_number_of_karts );
writer->write("difficulty\t\t", m_difficulty );
writer->write("hscore-type\t\t", m_highscore_type );
writer->write("hscore-type\t\t", m_highscore_type );
writer->write("number-of-laps\t", m_number_of_laps );
for(int j=0; j<HIGHSCORE_LEN; j++)
{
char s[128];
snprintf(s, sizeof(s), "time-%d\t\t", j);
writer->write(s, m_time[j] );
snprintf(s, sizeof(s), "name-%d\t\t", j);
writer->write(s, m_name[j] );
snprintf(s, sizeof(s), "kartname-%d\t\t", j);
writer->write(s, m_kart_name[j] );
std::ostringstream s;
s << "time-" << j << "\t\t";
writer->write(s.str(), m_time[j] );
s << "name-" << j << "\t\t";
writer->write(s.str(), m_name[j] );
s << "kartname-" << j << "\t\t";
writer->write(s.str(), m_kart_name[j] );
} // for j
} // Write

View File

@ -13,48 +13,29 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enet", "enet.vcproj", "{B0E
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
BulletDebug|Win32 = BulletDebug|Win32
BulletRelease|Win32 = BulletRelease|Win32
Debug|Win32 = Debug|Win32
irrlicht-debug|Win32 = irrlicht-debug|Win32
Release|Win32 = Release|Win32
ReplayDebug|Win32 = ReplayDebug|Win32
ReplayRelease|Win32 = ReplayRelease|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.BulletDebug|Win32.ActiveCfg = BulletDebug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.BulletDebug|Win32.Build.0 = BulletDebug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.BulletRelease|Win32.ActiveCfg = BulletRelease|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.BulletRelease|Win32.Build.0 = BulletRelease|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.Debug|Win32.ActiveCfg = Debug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.Debug|Win32.Build.0 = Debug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.Debug|Win32.ActiveCfg = Release|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.Debug|Win32.Build.0 = Release|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.irrlicht-debug|Win32.ActiveCfg = irrlicht-debug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.irrlicht-debug|Win32.Build.0 = irrlicht-debug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.Release|Win32.ActiveCfg = Release|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.Release|Win32.Build.0 = Release|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.ReplayDebug|Win32.ActiveCfg = ReplayDebug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.ReplayDebug|Win32.Build.0 = ReplayDebug|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.ReplayRelease|Win32.ActiveCfg = ReplayRelease|Win32
{B1BC2764-1A43-4800-A654-788B0D05EDA2}.ReplayRelease|Win32.Build.0 = ReplayRelease|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.BulletDebug|Win32.ActiveCfg = Debug|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.BulletDebug|Win32.Build.0 = Debug|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.BulletRelease|Win32.ActiveCfg = Release|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.BulletRelease|Win32.Build.0 = Release|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.Debug|Win32.ActiveCfg = Debug|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.Debug|Win32.Build.0 = Debug|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.irrlicht-debug|Win32.ActiveCfg = Release|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.irrlicht-debug|Win32.Build.0 = Release|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.Release|Win32.ActiveCfg = Release|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.Release|Win32.Build.0 = Release|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.ReplayDebug|Win32.ActiveCfg = Debug|Win32
{54AA44B9-B07B-49DA-8B1A-05BBFE8AD5D4}.ReplayRelease|Win32.ActiveCfg = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.BulletDebug|Win32.ActiveCfg = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.BulletDebug|Win32.Build.0 = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.BulletRelease|Win32.ActiveCfg = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.BulletRelease|Win32.Build.0 = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.Debug|Win32.ActiveCfg = Debug|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.Debug|Win32.Build.0 = Debug|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.Debug|Win32.ActiveCfg = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.Debug|Win32.Build.0 = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.irrlicht-debug|Win32.ActiveCfg = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.irrlicht-debug|Win32.Build.0 = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.Release|Win32.ActiveCfg = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.Release|Win32.Build.0 = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.ReplayDebug|Win32.ActiveCfg = Debug|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.ReplayDebug|Win32.Build.0 = Debug|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.ReplayRelease|Win32.ActiveCfg = Release|Win32
{B0E92B97-089A-4D5B-BF17-77F1BC5DAEEF}.ReplayRelease|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -16,6 +16,94 @@
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="irrlicht-debug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="../../../src;../../../src/bullet/src;&quot;$(STK_INCLUDE)&quot;;../../../src/enet/include;&quot;C:\cygwin\home\joerg\irrlicht-1.5\include&quot;"
PreprocessorDefinitions="BT_NO_PROFILE;HAVE_OPENAL;HAVE_OGGVORBIS;_DEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;SVN\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;DEBUG;PACKAGE=\&quot;supertuxkart\&quot;;HAVE_GETTEXT;ENABLE_NLS;HAVE_GLUT;HAVE_IRRLICHT"
GeneratePreprocessedFile="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
FloatingPointExceptions="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="opengl32.lib user32.lib gdi32.lib winmm.lib advapi32.lib SDL.lib SDLmain.lib OpenAL32.lib libogg.lib libvorbis.lib libvorbisfile.lib sg.lib ssg.lib ul.lib ssgAux.lib fnt.lib intl.lib Irrlicht.lib ws2_32.lib"
OutputFile="./../../../$(ProjectName)_irr_d.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="&quot;$(STK_LIB)&quot;;&quot;C:\cygwin\home\joerg\irrlicht-1.5\lib\Win32-visualstudio&quot;"
IgnoreAllDefaultLibraries="false"
IgnoreDefaultLibraryNames="libcmt.lib"
GenerateDebugInformation="true"
GenerateMapFile="false"
MapFileName=""
MapExports="false"
SubSystem="1"
LinkTimeCodeGeneration="0"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
Profile="false"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(ConfigurationName)"
@ -38,480 +126,6 @@
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./../../../src;$(PLIB_PATH);$(SDL_PATH)\include;$(ALUT_PATH)\include;$(OGG_PATH)\include;$(VORBIS_PATH)\include;$(OPENAL_PATH)\include;$(OPENAL_PATH)\include\AL;"
PreprocessorDefinitions="HAVE_OPENAL;HAVE_OGGVORBIS;_DEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="opengl32.lib user32.lib gdi32.lib winmm.lib advapi32.lib SDL.lib SDLmain.lib OpenAL32.lib alut.lib libogg.lib libvorbis.lib libvorbisfile.lib sg_d.lib ssg_d.lib ul_d.lib ssgAux_d.lib fnt_d.lib"
OutputFile="./../../../$(ProjectName)_d.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="$(SDL_PATH)\lib;$(PLIB_PATH)\plib;$(OPENAL_PATH)\libs\Win32;$(ALUT_PATH)\lib;$(OGG_PATH)\win32\VS2003\libogg\Release;$(VORBIS_PATH)\win32\VS2005\libvorbis\Release;$(VORBIS_PATH)\win32\VS2005\libvorbisfile\Release;"
IgnoreDefaultLibraryNames="libcmtd.lib"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="./../../../src;;$(PLIB_PATH);$(SDL_PATH)\include;$(ALUT_PATH)\include;$(OGG_PATH)\include;$(VORBIS_PATH)\include;$(OPENAL_PATH)\include;$(OPENAL_PATH)\include\AL;"
PreprocessorDefinitions="HAVE_OPENAL;HAVE_OGGVORBIS;NDEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="opengl32.lib user32.lib gdi32.lib winmm.lib advapi32.lib SDL.lib SDLmain.lib OpenAL32.lib alut.lib libogg.lib libvorbis.lib libvorbisfile.lib sg.lib ssg.lib ul.lib ssgAux.lib fnt.lib"
OutputFile="./../../../$(ProjectName).exe"
LinkIncremental="1"
AdditionalLibraryDirectories="$(SDL_PATH)\lib;$(PLIB_PATH)\plib;$(OPENAL_PATH)\libs\Win32;$(ALUT_PATH)\lib;$(OGG_PATH)\win32\VS2003\libogg\Release;$(VORBIS_PATH)\win32\VS2005\libvorbis\Release;$(VORBIS_PATH)\win32\VS2005\libvorbisfile\Release;"
IgnoreDefaultLibraryNames="libcmt.lib"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="PLibSoundDebug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./../../../src;;$(PLIB_PATH);$(SDL_PATH)\include;$(ALUT_PATH)\include;$(OGG_PATH)\include;$(VORBIS_PATH)\include;$(OPENAL_PATH)\include;$(OPENAL_PATH)\include\AL;"
PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="opengl32.lib user32.lib gdi32.lib winmm.lib advapi32.lib SDL.lib SDLmain.lib fnt_d.lib net_d.lib psl_d.lib pui_d.lib sg_d.lib sl_d.lib ssgAux_d.lib ul_d.lib js_d.lib puAux_d.lib pw_d.lib ssg_d.lib"
OutputFile="./../../../$(ProjectName)_plib_sound_d.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="$(SDL_PATH)\lib;$(PLIB_PATH)\plib;$(OPENAL_PATH)\libs\Win32;$(ALUT_PATH)\lib;$(OGG_PATH)\win32\VS2003\libogg\Release;$(VORBIS_PATH)\win32\VS2005\libvorbis\Release;$(VORBIS_PATH)\win32\VS2005\libvorbisfile\Release;"
IgnoreDefaultLibraryNames="libcmtd.lib"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="PLibSoundRelease|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="./../../../src;;$(PLIB_PATH);$(SDL_PATH)\include;$(ALUT_PATH)\include;$(OGG_PATH)\include;$(VORBIS_PATH)\include;$(OPENAL_PATH)\include;$(OPENAL_PATH)\include\AL;"
PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="opengl32.lib user32.lib gdi32.lib winmm.lib advapi32.lib SDL.lib SDLmain.lib fnt.lib net.lib psl.lib pui.lib sg.lib sl.lib ssgAux.lib ul.lib js.lib puAux.lib pw.lib ssg.lib"
OutputFile="./../../../$(ProjectName)_plib_sound.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="$(SDL_PATH)\lib;$(PLIB_PATH)\plib;$(OPENAL_PATH)\libs\Win32;$(ALUT_PATH)\lib;$(OGG_PATH)\win32\VS2003\libogg\Release;$(VORBIS_PATH)\win32\VS2005\libvorbis\Release;$(VORBIS_PATH)\win32\VS2005\libvorbisfile\Release;"
IgnoreDefaultLibraryNames="libcmt.lib"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="ReplayDebug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./../../../src;;$(PLIB_PATH);$(SDL_PATH)\include;$(ALUT_PATH)\include;$(OGG_PATH)\include;$(VORBIS_PATH)\include;$(OPENAL_PATH)\include;$(OPENAL_PATH)\include\AL;"
PreprocessorDefinitions="HAVE_GHOST_REPLAY;HAVE_OPENAL;HAVE_OGGVORBIS;_DEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="opengl32.lib user32.lib gdi32.lib winmm.lib advapi32.lib SDL.lib SDLmain.lib OpenAL32.lib alut.lib libogg.lib libvorbis.lib libvorbisfile.lib sg_d.lib ssg_d.lib ul_d.lib ssgAux_d.lib fnt_d.lib"
OutputFile="./../../../$(ProjectName)_replay_d.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="$(SDL_PATH)\lib;$(PLIB_PATH)\plib;$(OPENAL_PATH)\libs\Win32;$(ALUT_PATH)\lib;$(OGG_PATH)\win32\VS2003\libogg\Release;$(VORBIS_PATH)\win32\VS2005\libvorbis\Release;$(VORBIS_PATH)\win32\VS2005\libvorbisfile\Release;"
IgnoreDefaultLibraryNames="libcmtd.lib"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="ReplayRelease|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="./../../../src;;$(PLIB_PATH);$(SDL_PATH)\include;$(ALUT_PATH)\include;$(OGG_PATH)\include;$(VORBIS_PATH)\include;$(OPENAL_PATH)\include;$(OPENAL_PATH)\include\AL;"
PreprocessorDefinitions="HAVE_GHOST_REPLAY;HAVE_OPENAL;HAVE_OGGVORBIS;NDEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="opengl32.lib user32.lib gdi32.lib winmm.lib advapi32.lib SDL.lib SDLmain.lib OpenAL32.lib alut.lib libogg.lib libvorbis.lib libvorbisfile.lib sg.lib ssg.lib ul.lib ssgAux.lib fnt.lib"
OutputFile="./../../../$(ProjectName)_replay.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="$(SDL_PATH)\lib;$(PLIB_PATH)\plib;$(OPENAL_PATH)\libs\Win32;$(ALUT_PATH)\lib;$(OGG_PATH)\win32\VS2003\libogg\Release;$(VORBIS_PATH)\win32\VS2005\libvorbis\Release;$(VORBIS_PATH)\win32\VS2005\libvorbisfile\Release;"
IgnoreDefaultLibraryNames="libcmt.lib"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="BulletDebug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
@ -579,7 +193,7 @@
/>
</Configuration>
<Configuration
Name="BulletRelease|Win32"
Name="Release|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"

View File

@ -66,7 +66,7 @@ Flyable::Flyable(Kart *kart, PowerupType type, float mass) : Moveable()
// Add the graphical model
ssgTransform *m = getModelTransform();
m->addKid(m_st_model[type]);
scene->add(m);
stk_scene->add(m);
} // Flyable
// ----------------------------------------------------------------------------
void Flyable::createPhysics(float y_offset, const btVector3 &velocity,
@ -259,7 +259,7 @@ void Flyable::hit(Kart *kart_hit, MovingPhysics* moving_physics)
// Now remove this projectile from the graph:
ssgTransform *m = getModelTransform();
m->removeAllKids();
scene->remove(m);
stk_scene->remove(m);
// The explosion is a bit higher in the air
Vec3 pos_explosion=getXYZ();

View File

@ -41,13 +41,13 @@ Item::Item(ItemType type, const Vec3& xyz, const Vec3& normal,
m_root->ref();
m_root->setTransform(const_cast<sgCoord*>(&m_coord.toSgCoord()));
m_root->addKid(model);
scene->add(m_root);
stk_scene->add(m_root);
} // Item
//-----------------------------------------------------------------------------
Item::~Item()
{
scene->remove(m_root);
stk_scene->remove(m_root);
ssgDeRefDelete(m_root);
} // ~Item

View File

@ -124,7 +124,7 @@ void Plunger::update(float dt)
projectile_manager->notifyRemove();
ssgTransform *m = getModelTransform();
m->removeAllKids();
scene->remove(m);
stk_scene->remove(m);
}
if(m_rubber_band != NULL) m_rubber_band->update(dt);
return;

View File

@ -73,7 +73,7 @@ void ProjectileManager::cleanup()
for(Explosions::iterator i = m_active_explosions.begin();
i != m_active_explosions.end(); ++i)
{
scene->remove((ssgTransform*)*i);
stk_scene->remove((ssgTransform*)*i);
ssgDeRefDelete(*i);
}
m_active_explosions.clear();

View File

@ -67,7 +67,7 @@ RubberBand::RubberBand(Plunger *plunger, const Kart &kart)
setState(m_state);
//setState(material_manager->getMaterial("chrome.rgb")->getState());
scene->add(this);
stk_scene->add(this);
} // RubberBand
// ----------------------------------------------------------------------------
@ -76,7 +76,7 @@ RubberBand::RubberBand(Plunger *plunger, const Kart &kart)
*/
void RubberBand::removeFromScene()
{
scene->remove(this);
stk_scene->remove(this);
} // removeFromScene
// ----------------------------------------------------------------------------

View File

@ -26,6 +26,7 @@
#include "file_manager.hpp"
#include "stk_config.hpp"
#include "user_config.hpp"
#include "callback_manager.hpp"
#include "challenges/unlock_manager.hpp"
#include "karts/kart_properties.hpp"
#include "utils/string_utils.hpp"

View File

@ -40,7 +40,7 @@ PlayerKart::PlayerKart(const std::string& kart_name, int position, Player *playe
{
m_player = player;
m_penalty_time = 0.0f;
m_camera = scene->createCamera(player_index, this);
m_camera = stk_scene->createCamera(player_index, this);
m_camera->setMode(Camera::CM_NORMAL);
m_bzzt_sound = sfx_manager->newSFX(SFXManager::SOUND_BZZT );

View File

@ -103,6 +103,12 @@ namespace lisp
return false;
return lisp->get(val);
}
template<class T>
bool get(std::string &name, T& val) const
{
return get(name.c_str(), val);
}
bool get(const char* name, sgVec4& val) const
{
const Lisp* lisp = getLisp(name);

View File

@ -504,7 +504,7 @@ void CleanTuxKart()
if(loader) delete loader;
if(translations) delete translations;
if(file_manager) delete file_manager;
if(scene) delete scene;
if(stk_scene) delete stk_scene;
}
//=============================================================================
@ -555,7 +555,7 @@ int main(int argc, char *argv[] )
powerup_manager -> loadPowerups ();
item_manager -> loadDefaultItems();
attachment_manager -> loadModels ();
scene = new Scene();
stk_scene = new Scene();
//For some reason, calling this before the material loading screws
//the background picture.

View File

@ -124,7 +124,7 @@ void MainLoop::run()
if(user_config->m_profile) dt=1.0f/60.0f;
// In the first call dt might be large (includes loading time),
// which can cause the camera to significantly tilt
scene->draw(RaceManager::getWorld()->getPhase()==SETUP_PHASE ? 0.0f : dt);
stk_scene->draw(RaceManager::getWorld()->getPhase()==SETUP_PHASE ? 0.0f : dt);
// Again, only receive updates if the race isn't over - once the
// race results are displayed (i.e. game is in finish phase)

View File

@ -49,10 +49,7 @@
#include "tracks/track_manager.hpp"
#include "utils/constants.hpp"
#include "utils/translation.hpp"
#if defined(WIN32) && !defined(__CYGWIN__)
# define snprintf _snprintf
#endif
#include "utils/string_utils.hpp"
//-----------------------------------------------------------------------------
World::World() : TimedRace()
@ -114,7 +111,7 @@ void World::init()
// karts can be seen.
if(i==race_manager->getNumKarts()-1)
{
scene->createCamera(local_player_id, newkart);
stk_scene->createCamera(local_player_id, newkart);
m_local_player_karts[0] = static_cast<PlayerKart*>(newkart);
}
}
@ -147,7 +144,7 @@ void World::init()
newkart -> getModelTransform() -> clrTraversalMaskBits(SSGTRAV_ISECT|SSGTRAV_HOT);
scene->add ( newkart -> getModelTransform() ) ;
stk_scene->add ( newkart -> getModelTransform() ) ;
m_kart.push_back(newkart);
newkart->setWorldKartId(m_kart.size()-1);
} // for i
@ -413,10 +410,9 @@ void World::removeKart(int kart_number)
}
else
{
char s[MAX_MESSAGE_LENGTH];
snprintf(s, MAX_MESSAGE_LENGTH,_("'%s' has\nbeen eliminated."),
kart->getName().c_str());
m->addMessage( s, *i, 2.0f, 60);
std::string s = _("'%s' has\nbeen eliminated.");
m->addMessage( StringUtils::insert_string(s, kart->getName()),
*i, 2.0f, 60);
}
} // for i in kart
} // if raceMenu exist
@ -514,7 +510,7 @@ void World::restartRace()
callback_manager->reset();
// Resets the cameras in case that they are pointing too steep up or down
scene->reset();
stk_scene->reset();
} // restartRace
//-----------------------------------------------------------------------------

View File

@ -86,7 +86,7 @@ MovingPhysics::~MovingPhysics()
delete m_body;
delete m_motion_state;
delete m_shape;
scene->remove(this);
stk_scene->remove(this);
} // ~MovingPhysics
// -----------------------------------------------------------------------------
@ -112,7 +112,7 @@ void MovingPhysics::init()
}
ssgBranch *parent = getParent(0);
scene->add(this);
stk_scene->add(this);
parent->removeKid(this);
// 2. Determine the original position of the object

View File

@ -275,7 +275,7 @@ void RaceManager::next()
network_manager->beginReadySetGoBarrier();
else
network_manager->setState(NetworkManager::NS_WAIT_FOR_RACE_DATA);
scene->clear();
stk_scene->clear();
startNextRace();
}
else
@ -370,7 +370,7 @@ void RaceManager::exit_race()
{
menu_manager->switchToMainMenu();
}
scene->clear();
stk_scene->clear();
delete world;
world = 0;
m_track_number = 0;

View File

@ -526,7 +526,7 @@ void Track::addDebugToScene(int type) const
colour[2] = 0;
}
sphere->setColour(colour);
scene->add(sphere);
stk_scene->add(sphere);
} // for i
} /// type ==1
// 2: drivelines, 4: driveline with tolerance
@ -561,7 +561,7 @@ void Track::addDebugToScene(int type) const
(ssgNormalArray*)NULL,
(ssgTexCoordArray*)NULL,
c_array);
scene->add(l);
stk_scene->add(l);
}
} // addDebugToScene
@ -1196,7 +1196,7 @@ void Track::loadTrackModel()
// Start building the scene graph
m_model = new ssgBranch ;
scene->add(m_model);
stk_scene->add(m_model);
char s [ 1024 ] ;

View File

@ -352,9 +352,7 @@ void UserConfig::loadConfig(const std::string& filename)
const lisp::Lisp* lisp = root->getLisp("tuxkart-config");
if(!lisp)
{
char msg[MAX_ERROR_MESSAGE_LENGTH];
snprintf(msg, sizeof(msg), "No tuxkart-config node");
throw std::runtime_error(msg);
throw std::runtime_error("No tuxkart-config node");
}
int configFileVersion = 0;
lisp->get("configFileVersion", configFileVersion);
@ -457,9 +455,9 @@ void UserConfig::loadConfig(const std::string& filename)
const lisp::Lisp* reader = lisp->getLisp(temp);
if(!reader)
{
char msg[MAX_ERROR_MESSAGE_LENGTH];
snprintf(msg, sizeof(msg), "No '%s' node", temp.c_str());
throw std::runtime_error(msg);
std::ostringstream msg;
msg << "No '" << temp << "' node";
throw std::runtime_error(msg.str());
}
std::string name;
reader->get("name", name);
@ -467,12 +465,12 @@ void UserConfig::loadConfig(const std::string& filename)
{
// For older config files, replace the default player
// names "Player %d" with the user name
char sDefaultName[10];
snprintf(sDefaultName, sizeof(sDefaultName),
"Player %d",i+1);
std::ostringstream sDefaultName;
sDefaultName << "Player " << i+1;
// If the config file does not contain a name or the old
// default name, set the default username as player name.
if(name.size()==0 || name==sDefaultName) name=m_username;
if(name.size()==0 || name==sDefaultName.str()) name=m_username;
}
m_player[i].setName(name);
@ -921,41 +919,43 @@ void UserConfig::writeInput(lisp::Writer *writer, const Input &input)
std::string UserConfig::getInputAsString(const Input &input)
{
char msg[MAX_MESSAGE_LENGTH];
std::ostringstream stm;
std::string s;
switch (input.type)
{
case Input::IT_NONE:
snprintf(msg, sizeof(msg), _("not set"));
s = _("not set");
break;
case Input::IT_KEYBOARD:
snprintf(msg, sizeof(msg), "%s", SDL_GetKeyName((SDLKey) input.id0));
s = SDL_GetKeyName((SDLKey) input.id0);
break;
case Input::IT_STICKMOTION:
snprintf(msg, sizeof(msg), _("joy %d axis %d %c"),
input.id0, input.id1,
(input.id2 == Input::AD_NEGATIVE) ? '-' : '+');
s = msg;
break;
case Input::IT_STICKBUTTON:
snprintf(msg, sizeof(msg), _("joy %d btn %d"), input.id0, input.id1);
s = msg;
break;
case Input::IT_STICKHAT:
snprintf(msg, sizeof(msg), _("joy %d hat %d"), input.id0, input.id1);
s = msg;
break;
case Input::IT_MOUSEBUTTON:
snprintf(msg, sizeof(msg), _("mouse btn %d"), input.id0);
s = msg;
break;
case Input::IT_MOUSEMOTION:
snprintf(msg, sizeof(msg), _("mouse axis %d %c"),
input.id0, ((input.id1 == Input::AD_NEGATIVE) ? '-' : '+'));
break;
default:
snprintf(msg, sizeof(msg), _("Invalid"));
s = _("Invalid");
}
stm << msg;
return stm.str();
return s;
} // GetKeyAsString
// -----------------------------------------------------------------------------

View File

@ -127,7 +127,6 @@ namespace StringUtils
}
return result;
}
} // namespace StringUtils
/* EOF */

View File

@ -18,8 +18,8 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef HEADER_STRING_UTILS_H
#define HEADER_STRING_UTILS_H
#ifndef HEADER_STRING_UTILS_HPP
#define HEADER_STRING_UTILS_HPP
#include <string>
#include <vector>
@ -72,6 +72,29 @@ namespace StringUtils
std::string upcase (const std::string&);
std::string downcase (const std::string&);
std::vector<std::string> split(const std::string& s, char c);
// ------------------------------------------------------------------------
/** Replaces all '%s' or '%d' in the first string with the 2nd string. So
* this is basically a simplified s(n)printf replacement, which doesn't
* rely on s(n)printf (which is not that portable).
* \param s String in which all %s or %dare replaced.
* \param a Value to replace all %s or %d with.
*/
template <class T>
std::string insert_string(const std::string &s, const T &a)
{
std::vector<std::string> sv = StringUtils::split(s, '%');
std::string new_string="";
for(unsigned int i=0; i<sv.size(); i++)
{
if(sv[i][0]=='s' || sv[i][0]=='d')
{
new_string+=a+sv[i].substr(1);
}
else
new_string+=sv[i];
}
return new_string;
}
} // namespace StringUtils