Merge branch 'master' into renderer_refactoring
13
CHANGELOG.md
@ -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
@ -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>
|
||||
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 45 KiB |
35
data/gfx/confetti.xml
Normal 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>
|
35
data/gfx/confetti_bleu.xml
Normal 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>
|
32
data/gfx/gfx_blueNebula_a.xml
Normal 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>
|
32
data/gfx/gfx_bubbleFast_a.xml
Normal 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>
|
33
data/gfx/gfx_fireworkExplosion_a.xml
Normal 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>
|
32
data/gfx/gfx_sandExplosion_a.xml
Normal 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>
|
32
data/gfx/gfx_smallWaterFlow.xml
Normal 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
@ -0,0 +1 @@
|
||||
*.sh -crlf
|
3
data/po/.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
transifex
|
||||
tx.exe
|
||||
tx.exe
|
||||
gui_strings.h
|
||||
|
6477
data/po/ar.po
3801
data/po/be.po
Normal file
6385
data/po/bg.po
6441
data/po/bn.po
6592
data/po/br.po
6426
data/po/bs.po
6595
data/po/ca.po
6560
data/po/cs.po
6598
data/po/da.po
@ -3366,4 +3366,4 @@ msgstr ""
|
||||
|
||||
#: src/states_screens/credits.cpp:209
|
||||
msgid "translator-credits"
|
||||
msgstr "Launchpad Contributions:"
|
||||
msgstr ""
|
||||
|
6600
data/po/de.po
6550
data/po/el.po
6419
data/po/en_AU.po
6419
data/po/en_GB.po
6295
data/po/eo.po
6595
data/po/es.po
6413
data/po/eu.po
6422
data/po/fa.po
6595
data/po/fi.po
6385
data/po/fr.po
6423
data/po/fr_CA.po
6452
data/po/ga.po
6611
data/po/gd.po
6479
data/po/gl.po
6597
data/po/he.po
6373
data/po/hi.po
6418
data/po/hr.po
6514
data/po/hu.po
6449
data/po/hy.po
6464
data/po/id.po
6421
data/po/is.po
6524
data/po/it.po
6494
data/po/ja.po
6457
data/po/jbo.po
6301
data/po/ko.po
6607
data/po/kw.po
6438
data/po/ky.po
3792
data/po/la.po
Normal file
6350
data/po/lt.po
6603
data/po/lv.po
6419
data/po/mn_MN.po
6440
data/po/nb.po
3792
data/po/nb_NO.po
Normal file
6595
data/po/nl.po
6569
data/po/nn.po
3792
data/po/no.po
Normal file
3792
data/po/no_NO.po
Normal file
6433
data/po/os.po
6600
data/po/pl.po
6609
data/po/pt.po
6598
data/po/pt_BR.po
6332
data/po/ro.po
6608
data/po/ru.po
3792
data/po/sc.po
Normal file
6419
data/po/sco.po
6656
data/po/sk.po
6609
data/po/sl.po
6431
data/po/sq.po
6629
data/po/sr.po
6336
data/po/sv.po
6447
data/po/tr.po
6412
data/po/tt.po
6425
data/po/uk.po
@ -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++
|
||||
|
||||
|
6412
data/po/uz.po
6474
data/po/vi.po
3788
data/po/zh.po
Normal file
6547
data/po/zh_CN.po
6610
data/po/zh_TW.po
@ -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.);
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 );
|
||||
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
// ------------------------------------------------------------------------
|
||||
|