Merge branch 'master' into renderer_refactoring

This commit is contained in:
Elderme 2015-09-29 22:21:25 +02:00
commit ff6e6c8340
111 changed files with 237475 additions and 186756 deletions

View File

@ -1,3 +1,16 @@
## SupertTuxKart 0.9.1
* Many bug fixes
* Started to use scripting in tracks
* Significant audio performance improvements
* Smaller tweaks and improvements to several tracks including
** Math class
** XR591
** Fort Magma
** Gran Paradiso
** Subsea
* Tweak to challenges
* Better support for driving tracks in reverse
## SupertTuxKart 0.9 (April 2015)
* Fully shader-based rendering engine
* New tracks Cocoa Temple and Gran Paradiso

BIN
data/CREDITS Normal file → Executable file

Binary file not shown.

Binary file not shown.

View File

@ -1,22 +1,22 @@
<?xml version="1.0"?>
<materials>
<!-- Fonts -->
<material name="title_font.png" shader="unlit" lazy-load="Y"/>
<material name="title_font_2.png" shader="unlit" lazy-load="Y"/>
<material name="sigmar0.png" shader="unlit" lazy-load="Y"/>
<material name="comix.png" shader="unlit" lazy-load="Y"/>
<material name="LayneHansom0.png" shader="unlit" lazy-load="Y"/>
<material name="Mplus2p_JP0.png" shader="unlit" lazy-load="Y"/>
<material name="rasheeq0.png" shader="unlit" lazy-load="Y"/>
<material name="rasheeq3.png" shader="unlit" lazy-load="Y"/>
<material name="rasheeq4.png" shader="unlit" lazy-load="Y"/>
<material name="wqyMicroHei0.png" shader="unlit" lazy-load="Y"/>
<material name="wqyMicroHei1.png" shader="unlit" lazy-load="Y"/>
<material name="wqyMicroHei2.png" shader="unlit" lazy-load="Y"/>
<material name="wqyMicroHei3.png" shader="unlit" lazy-load="Y"/>
<material name="wqyMicroHei4.png" shader="unlit" lazy-load="Y"/>
<material name="wqyMicroHei5.png" shader="unlit" lazy-load="Y"/>
<material name="AR_PL_SungtiL_GB0.png" shader="unlit" lazy-load="Y"/>
<material name="LayneHansomBigDigits.png" shader="unlit" lazy-load="Y"/>
<material name="title_font.png" shader="unlit" dont-load="Y"/>
<material name="title_font_2.png" shader="unlit" dont-load="Y"/>
<material name="sigmar0.png" shader="unlit" dont-load="Y"/>
<material name="comix.png" shader="unlit" dont-load="Y"/>
<material name="LayneHansom0.png" shader="unlit" dont-load="Y"/>
<material name="Mplus2p_JP0.png" shader="unlit" dont-load="Y"/>
<material name="rasheeq0.png" shader="unlit" dont-load="Y"/>
<material name="rasheeq3.png" shader="unlit" dont-load="Y"/>
<material name="rasheeq4.png" shader="unlit" dont-load="Y"/>
<material name="wqyMicroHei0.png" shader="unlit" dont-load="Y"/>
<material name="wqyMicroHei1.png" shader="unlit" dont-load="Y"/>
<material name="wqyMicroHei2.png" shader="unlit" dont-load="Y"/>
<material name="wqyMicroHei3.png" shader="unlit" dont-load="Y"/>
<material name="wqyMicroHei4.png" shader="unlit" dont-load="Y"/>
<material name="wqyMicroHei5.png" shader="unlit" dont-load="Y"/>
<material name="AR_PL_SungtiL_GB0.png" shader="unlit" dont-load="Y"/>
<material name="LayneHansomBigDigits.png" shader="unlit" dont-load="Y"/>
</materials>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 45 KiB

35
data/gfx/confetti.xml Normal file
View File

@ -0,0 +1,35 @@
<?xml version="1.0"?>
<!-- For sky particles, the size of the box is ignored -->
<particles emitter="box" randomize-initial-y="true" box_x="100.0" box_y="100" box_z="120.0">
<spreading angle="3" />
<velocity x="-0.00"
y="-0.005"
z="-0.00" />
<material file="confetti.png" clampu="Y" clampv="Y" />
<!-- Amount of particles emitted per second -->
<rate min="500"
max="1000" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="8500"
max="9500" />
<!-- Size of the particles -->
<size min="0.10"
max="0.30" />
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
</particles>

View File

@ -0,0 +1,35 @@
<?xml version="1.0"?>
<!-- For sky particles, the size of the box is ignored -->
<particles emitter="box" randomize-initial-y="true" box_x="100.0" box_y="100" box_z="120.0">
<spreading angle="3" />
<velocity x="-0.00"
y="-0.005"
z="-0.00" />
<material file="snowflake.png" clampu="Y" clampv="Y" />
<!-- Amount of particles emitted per second -->
<rate min="500"
max="1000" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="8500"
max="9500" />
<!-- Size of the particles -->
<size min="0.10"
max="0.30" />
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
</particles>

View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<particles emitter="sphere" radius="20.5">
<spreading angle="120" />
<velocity x="0.002"
y="0.000"
z="0.000" />
<material file="stktex_nebulaCloud_a.png" />
<!-- Amount of particles emitted per second -->
<rate min="1"
max="2" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="20000"
max="30000" />
<!-- Size of the particles -->
<size min="20.5"
max="45.0"
x-increase-factor="1.6"
y-increase-factor="1.6" />
<color min="0 0 0"
max="255 255 255" />
<fadeout time="5000" />
</particles>

View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<particles emitter="box" box_x="0.5" box_y="0.5" box_z="0.5">
<spreading angle="45" />
<velocity x="0.000"
y="0.005"
z="0.000" />
<material file="gfx_bubble_a.png" />
<!-- Amount of particles emitted per second -->
<rate min="8"
max="15" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="2000"
max="3000" />
<!-- Size of the particles -->
<size min="0.5"
max="0.8"
x-increase-factor="1.6"
y-increase-factor="1.6" />
<color min="0 0 0"
max="255 255 255" />
<fadeout time="2000" />
</particles>

View File

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<particles emitter="sphere" radius="0.5">
<spreading angle="180" />
<velocity x="0.003"
y="0.0003"
z="0.003" />
<material file="gfx_sparkFire_a.png" />
<!-- Amount of particles emitted per second -->
<rate min="65"
max="100" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="700"
max="700" />
<!-- Size of the particles -->
<size min="0.2"
max="0.3"
x-increase-factor="1.1"
y-increase-factor="1.3"
/>
<color min="255 255 255"
max="255 0 0" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="50" />
</particles>

View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<particles emitter="sphere" radius="0.5">
<spreading angle="90" />
<velocity x="0.000"
y="0.003"
z="0.000" />
<material file="gfx_earthJetblast_a.png" />
<!-- Amount of particles emitted per second -->
<rate min="900"
max="1000" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="300"
max="1000" />
<!-- Size of the particles -->
<size min="0.3"
max="0.7"
x-increase-factor="1.2"
y-increase-factor="1.2" />
<color min="0 0 0"
max="255 255 255" />
<fadeout time="500" />
</particles>

View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<particles emitter="sphere" radius="0.1">
<spreading angle="12" />
<velocity x="0.000"
y="0.000"
z="0.005" />
<material file="particle_water.png" />
<!-- Amount of particles emitted per second -->
<rate min="30"
max="50" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="500"
max="1000" />
<!-- Size of the particles -->
<size min="0.1"
max="0.2"
x-increase-factor="1.3"
y-increase-factor="1.3" />
<color min="255 255 255"
max="255 255 255" />
<fadeout time="3000" />
</particles>

1
data/po/.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.sh -crlf

3
data/po/.gitignore vendored
View File

@ -1,2 +1,3 @@
transifex
tx.exe
tx.exe
gui_strings.h

File diff suppressed because it is too large Load Diff

3801
data/po/be.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3366,4 +3366,4 @@ msgstr ""
#: src/states_screens/credits.cpp:209
msgid "translator-credits"
msgstr "Launchpad Contributions:"
msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3792
data/po/la.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3792
data/po/nb_NO.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3792
data/po/no.po Normal file

File diff suppressed because it is too large Load Diff

3792
data/po/no_NO.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3792
data/po/sc.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -52,7 +52,7 @@ xgettext -j -d supertuxkart --keyword=_ --keyword=N_ --keyword=_LTR \
--package-name=supertuxkart
# Angelscript files (xgettext doesn't support AS so pretend it's c++)
xgettext -j -d supertuxkart -s --keyword="translate" --add-comments="I18N:" \
xgettext -j -d supertuxkart --keyword="translate" --add-comments="I18N:" \
-p ./data/po -o supertuxkart.pot $ANGELSCRIPT_FILE_LIST \
--package-name=supertuxkart --language=c++

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3788
data/po/zh.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -23,5 +23,7 @@ void main(void)
col.xyz *= pow(color.xyz, vec3(2.2));
if (col.a * color.a < 0.5) discard;
float specmap = texture(SpecMap, uv).g;
FragColor = vec4(getLightFactor(col.xyz, vec3(1.), specmap, 0.), 1.);
float emitmap = texture(SpecMap, uv).b;
FragColor = vec4(getLightFactor(col.xyz, vec3(1.), specmap, emitmap), 1.);
}

View File

@ -4,3 +4,5 @@ Atm there is no mechanism in place to verify this.
stk release svn version of assets
---------------------------------------
0.8.2-beta2 needs r15985
0.9 needs r16279
0.9.1-rc1 needs r16470

View File

@ -133,7 +133,7 @@ else()
endif()
add_library(${ANGELSCRIPT_LIBRARY_NAME} ${ANGELSCRIPT_SOURCE} ${ANGELSCRIPT_HEADERS})
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../lib)
#set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../lib)
target_link_libraries(${ANGELSCRIPT_LIBRARY_NAME} ${CMAKE_THREAD_LIBS_INIT})
set_target_properties(${ANGELSCRIPT_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION})
@ -154,6 +154,6 @@ if(MSVC)
set_target_properties(${ANGELSCRIPT_LIBRARY_NAME} PROPERTIES COMPILE_FLAGS "/MP")
endif()
set(RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../../bin)
#set(RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../../bin)

View File

@ -912,8 +912,7 @@ bool CIrrDeviceLinux::createWindow()
// window is showed in wrong screen. It doesn't matter for vidmode
// which displays cloned image in all devices.
#ifdef _IRR_LINUX_X11_RANDR_
XResizeWindow(display, window, Width, Height);
XMoveWindow(display, window, crtc_x, crtc_y);
XMoveResizeWindow(display, window, crtc_x, crtc_y, Width, Height);
XRaiseWindow(display, window);
XFlush(display);
#endif

View File

@ -520,6 +520,9 @@ namespace UserConfigParams
/** True if physics debugging should be enabled. */
PARAM_PREFIX bool m_physics_debug PARAM_DEFAULT( false );
/** True if fps should be printed each frame. */
PARAM_PREFIX bool m_fps_debug PARAM_DEFAULT(false);
/** True if slipstream debugging is activated. */
PARAM_PREFIX bool m_slipstream_debug PARAM_DEFAULT( false );

View File

@ -160,7 +160,10 @@ IrrDriver::~IrrDriver()
delete m_shadow_matrices;
m_shadow_matrices = NULL;
Shaders::destroy();
if (CVS->isGLSL())
{
Shaders::destroy();
}
delete m_wind;
delete m_spherical_harmonics;
} // ~IrrDriver
@ -830,7 +833,10 @@ void IrrDriver::applyResolutionSettings()
GlowPassCmd::getInstance()->kill();
resetTextureTable();
// initDevice will drop the current device.
Shaders::destroy();
if (CVS->isGLSL())
{
Shaders::destroy();
}
initDevice();
// Re-init GUI engine

View File

@ -73,7 +73,7 @@ Material::Material(const XMLNode *node, bool deprecated)
m_full_path = file_manager->getFileSystem()->getAbsolutePath(relativePath.c_str()).c_str();
init();
node->get("lazy-load", &m_lazy_load);
node->get("dont-load", &m_dont_load_texture);
bool b = false;
node->get("clampu", &b); if (b) m_clamp_tex |= UCLAMP; //blender 2.4 style
@ -420,7 +420,7 @@ Material::Material(const std::string& fname, bool is_full_path,
*/
void Material::init()
{
m_lazy_load = false;
m_dont_load_texture = false;
m_texture = NULL;
m_clamp_tex = 0;
m_shader_type = SHADERTYPE_SOLID;
@ -465,8 +465,8 @@ void Material::init()
//-----------------------------------------------------------------------------
void Material::install(bool is_full_path, bool complain_if_not_found)
{
// Don't load a texture that is lazily loaded.
if(m_lazy_load) return;
// Don't load a texture that are not supposed to be loaded automatically
if(m_dont_load_texture) return;
const std::string &full_path = is_full_path
? m_texname
@ -477,6 +477,7 @@ void Material::install(bool is_full_path, bool complain_if_not_found)
Log::error("material", "Cannot find texture '%s'.", m_texname.c_str());
m_texture = NULL;
}
else
{
m_texture = irr_driver->getTexture(full_path,

View File

@ -91,7 +91,7 @@ private:
* at load time, it must be loaded elsewhere. This is used to store
* material settings for font textures, without loading fonts for
* languages that might not be needed at all. */
bool m_lazy_load;
bool m_dont_load_texture;
/** Name of a special sfx to play when a kart is on this terrain, or
* "" if no special sfx exists. */
@ -267,10 +267,10 @@ public:
/** Returns the ITexture associated with this material. */
video::ITexture *getTexture() const
{
// Note that atm lazy load means that the textures are not loaded
// via the material. So getTexture should only get called for non
// lazily loaded textures (used atm for font textures.
assert(!m_lazy_load);
// Note that dont load means that the textures are not loaded
// via the material. So getTexture should only get called for
// automatically loaded textures (used atm for font textures).
assert(!m_dont_load_texture);
return m_texture;
} // getTexture
// ------------------------------------------------------------------------

Some files were not shown because too many files have changed in this diff Show More