You can subscribe to this list here.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(25) |
Jul
(288) |
Aug
(119) |
Sep
(31) |
Oct
(59) |
Nov
(458) |
Dec
(359) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(268) |
Feb
(26) |
Mar
(36) |
Apr
(48) |
May
(119) |
Jun
(37) |
Jul
(173) |
Aug
(429) |
Sep
(137) |
Oct
(156) |
Nov
(59) |
Dec
(45) |
| 2011 |
Jan
(398) |
Feb
(257) |
Mar
(49) |
Apr
(5) |
May
(34) |
Jun
(11) |
Jul
(38) |
Aug
(12) |
Sep
(1) |
Oct
(49) |
Nov
(5) |
Dec
(10) |
| 2012 |
Jan
(21) |
Feb
(32) |
Mar
(20) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(173) |
Aug
|
Sep
(25) |
Oct
(6) |
Nov
(44) |
Dec
|
|
From: Yoda-JM <yo...@us...> - 2010-10-27 09:39:47
|
Module: performous Branch: master Commit: 51bbbc002fe776e518d203f19df482e309adf1af Author: Vincent Le Ligeour <yo...@us...> Date: Wed Oct 27 11:38:46 2010 +0200 Moved include to the right place --- tools/ss_extract.cpp | 1 - tools/ss_helpers.hh | 1 + 2 files changed, 1 insertions(+), 1 deletions(-) diff --git a/tools/ss_extract.cpp b/tools/ss_extract.cpp index dd5162b..4a89125 100644 --- a/tools/ss_extract.cpp +++ b/tools/ss_extract.cpp @@ -6,7 +6,6 @@ #include <sys/stat.h> #include <sys/types.h> -#include <glibmm/convert.h> #include <libxml/parser.h> #include <libxml/tree.h> diff --git a/tools/ss_helpers.hh b/tools/ss_helpers.hh index df447db..58e19dc 100644 --- a/tools/ss_helpers.hh +++ b/tools/ss_helpers.hh @@ -2,6 +2,7 @@ #include <boost/algorithm/string.hpp> #include <libxml++/libxml++.h> +#include <glibmm/convert.h> #include "pak.h" // LibXML2 logging facility |
|
From: Johnny O. <js...@us...> - 2010-10-27 01:21:19
|
Module: performous
Branch: opengl2
Commit: 214bc938de8b7abb88b1a1664ff8ae2ffcf9276e
Author: Johnny Oskarsson <js...@us...>
Date: Wed Oct 27 02:27:43 2010 +0200
Initial opengl2 branch commit.
Already much of the code has been ported to use Vertex Arrays and VBOs, but it will
need more work/cleanup.
TODO:
* Lighting (haven't added shader code for that yet, so everything is shadeless)
* The guitar screen wont show up when starting a new game. Don't know why really.
* This branch needs to get up-to-date with the master branch.
* Cleanup code and create sensible (in both naming and usability) functions in glutil.hh,
it is somewhat spread here and there right now.
* There are still a few glBegin()s left. Should be quite easy to exterminate. :)
---
game/glshader.cc | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
game/glshader.hh | 11 +++++++++
2 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/game/glshader.cc b/game/glshader.cc
new file mode 100644
index 0000000..6c9c971
--- /dev/null
+++ b/game/glshader.cc
@@ -0,0 +1,62 @@
+#include "glutil.hh"
+
+namespace {
+ const char *vertex_glsl =
+ "void main()"
+ "{"
+ " gl_FrontColor = gl_Color;"
+ " gl_BackColor = gl_Color;"
+ " gl_TexCoord[0] = gl_MultiTexCoord0;"
+ " gl_Position = ftransform();"
+ "}\000";
+
+ const char *fragment_glsl =
+ "uniform int texMode;"
+ "uniform sampler2D tex;"
+ "uniform sampler2DRect texrect;"
+ "void main()"
+ "{"
+ " vec4 texel;"
+ " vec4 color;"
+ " if (texMode == 1) {"
+ " texel = texture2D(tex,gl_TexCoord[0].st).rgba;"
+ " } else if (texMode == 2) {"
+ " texel = texture(texrect,gl_TexCoord[0].st).rgba;"
+ " } else if (texMode == 0) {"
+ " texel = gl_Color;"
+ " } else {"
+ " texel = vec4(1.0,0.0,0.0,1.0);"
+ " }"
+ " gl_FragColor = vec4(texel.rgb*gl_Color.rgb,texel.a*gl_Color.a);"
+ "}\000";
+}
+
+void glshader::newShader(struct glshader::Shader *s) {
+ s->vert_shader = glCreateShader(GL_VERTEX_SHADER);
+ s->frag_shader = glCreateShader(GL_FRAGMENT_SHADER);
+
+ glShaderSource(s->vert_shader, 1, &vertex_glsl, NULL);
+ glShaderSource(s->frag_shader, 1, &fragment_glsl, NULL);
+
+ glCompileShader(s->vert_shader);
+ glGetShaderiv(s->vert_shader,GL_COMPILE_STATUS,&(s->gl_response));
+ if (s->gl_response != GL_TRUE) std::cerr << "Something went wrong compiling the vertex shader." << std::endl;
+
+ glCompileShader(s->frag_shader);
+ glGetShaderiv(s->frag_shader,GL_COMPILE_STATUS,&(s->gl_response));
+ if (s->gl_response != GL_TRUE) std::cerr << "Something went wrong compiling the fragment shader." << std::endl;
+
+ s->program = glCreateProgram();
+
+ glAttachShader(s->program,s->vert_shader);
+ glAttachShader(s->program,s->frag_shader);
+
+ glLinkProgram(s->program);
+ glUseProgram(s->program);
+}
+
+void glshader::deleteShader(struct glshader::Shader *s) {
+ glDeleteProgram(s->program);
+ glDeleteShader(s->vert_shader);
+ glDeleteShader(s->frag_shader);
+}
diff --git a/game/glshader.hh b/game/glshader.hh
new file mode 100644
index 0000000..073d6d2
--- /dev/null
+++ b/game/glshader.hh
@@ -0,0 +1,11 @@
+#pragma once
+
+namespace glshader {
+ struct Shader {
+ GLuint program, vert_shader, frag_shader;
+ int gl_response;
+ };
+
+ void newShader(struct Shader *s);
+ void deleteShader(struct Shader *s);
+}
|
|
From: Tapio V. <aa...@us...> - 2010-10-26 17:06:35
|
Module: performous Branch: master Commit: 34be52043e50ef8696e417373843095550f6beb1 Author: Tapio Vierros <tap...@gm...> Date: Tue Oct 26 20:03:10 2010 +0300 Delete win32/setup.nsi It is very out-dated, hard to maintain, hacky and tied to certain environment. Use cross-from-debian/makepackage.py for a handy/robust generator. (Though it might need tiny adjustments for use on Windows.) --- win32/setup.nsi | 488 ------------------------------------------------------- 1 files changed, 0 insertions(+), 488 deletions(-) |
|
From: Tapio V. <aa...@us...> - 2010-10-26 17:06:33
|
Module: performous
Branch: master
Commit: f4c523796ae391e8078e8e8e145d20c62c3ae318
Author: Tapio Vierros <tap...@gm...>
Date: Tue Oct 26 20:01:14 2010 +0300
Windows installer improvements/changes.
* Create APPDATA/songs
* Install link to it
* Install link to ConfigureSongDirectory.bat
* Don't append -win32 to installer name.
---
win32/cross-from-debian/makepackage.py | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/win32/cross-from-debian/makepackage.py b/win32/cross-from-debian/makepackage.py
index 4ff134a..ead4213 100755
--- a/win32/cross-from-debian/makepackage.py
+++ b/win32/cross-from-debian/makepackage.py
@@ -51,7 +51,7 @@ makensis.stdin.write(r'''!include "MUI2.nsh"
!define VERSION "%s"
Name "Performous ${VERSION}"
-OutFile "dist\Performous-${VERSION}-win32.exe"
+OutFile "dist\Performous-${VERSION}.exe"
SetCompressor /SOLID lzma
@@ -85,9 +85,12 @@ for root, dirs, files in os.walk('.'):
makensis.stdin.write(r''' WriteRegStr HKLM "Software\Performous" "" "$INSTDIR"
WriteUninstaller "$INSTDIR\uninst.exe"
+ CreateDirectory "$APPDATA\performous\songs"
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\Performous"
CreateShortcut "$SMPROGRAMS\Performous\Performous.lnk" "$INSTDIR\bin\performous.exe"
+ CreateShortCut "$SMPROGRAMS\Performous\ConfigureSongDirectory.lnk" "$INSTDIR\bin\ConfigureSongDirectory.bat"
+ CreateShortCut "$SMPROGRAMS\Performous\Songs.lnk" "$APPDATA\performous\songs"
CreateShortcut "$SMPROGRAMS\Performous\Uninstall.lnk" "$INSTDIR\uninst.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Performous" "DisplayName" "Performous"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Performous" "UninstallString" "$\"$INSTDIR\uninst.exe$\""
@@ -109,6 +112,8 @@ makensis.stdin.write(r''' Delete "$INSTDIR\uninst.exe"
RmDir "$INSTDIR"
SetShellVarContext all
Delete "$SMPROGRAMS\Performous\Performous.lnk"
+ Delete "$SMPROGRAMS\Performous\ConfigureSongDirectory.lnk"
+ Delete "$SMPROGRAMS\Performous\Songs.lnk"
Delete "$SMPROGRAMS\Performous\Uninstall.lnk"
RmDir "$SMPROGRAMS\Performous"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Performous"
@@ -121,4 +126,4 @@ if makensis.wait() != 0:
print >>sys.stderr, 'Installer compilation failed.'
sys.exit(1)
else:
- print '\ndist/Performous-%s-win32.exe is ready.' % version
+ print '\ndist/Performous-%s.exe is ready.' % version
|
|
From: Tapio V. <aa...@us...> - 2010-10-26 16:40:38
|
Module: performous
Branch: master
Commit: de62cca5f9d2553904d0df164990bdf47fe77e8a
Author: Tapio Vierros <tap...@gm...>
Date: Tue Oct 26 19:20:40 2010 +0300
Use AudioDevices struct in Audio::Impl rather than direct PA calls.
---
game/audio.cc | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/game/audio.cc b/game/audio.cc
index 0ef09f6..3484c8c 100644
--- a/game/audio.cc
+++ b/game/audio.cc
@@ -442,7 +442,7 @@ struct Audio::Impl {
else throw std::runtime_error("Unknown device parameter " + key);
if (!iss.eof()) throw std::runtime_error("Syntax error parsing device parameter " + key);
}
- int count = Pa_GetDeviceCount();
+ int count = portaudio::AudioDevices::count();
int dev = -1;
// Handle empty device
if (params.dev.empty()) dev = (params.out == 0 ? Pa_GetDefaultInputDevice() : Pa_GetDefaultOutputDevice());
@@ -456,19 +456,20 @@ struct Audio::Impl {
<< ", in: " << params.mics.size() << ", out: " << params.out << std::endl;
bool skip_partial = false;
bool found = false;
+ portaudio::AudioDevices ad;
// Try exact match first, then partial
for (int match_partial = 0; match_partial < 2 && !skip_partial; ++match_partial) {
// Loop through the devices and try everything that matches the name
for (int i = -1; i < count && (dev < 0 || i == -1); ++i) {
if (dev >= 0 && i == -1) i = dev;
else if (i == -1) continue;
- PaDeviceInfo const* info = Pa_GetDeviceInfo(i);
- if (!info) continue;
- if (info->maxInputChannels < int(params.mics.size())) continue;
- if (info->maxOutputChannels < params.out) continue;
+ portaudio::DeviceInfo& info = ad.devices[i];
+ if (info.name.empty()) continue;
+ if (info.in < int(params.mics.size())) continue;
+ if (info.out < params.out) continue;
if (dev < 0) { // Try matching by name
- if (!match_partial && info->name != params.dev) continue;
- if (match_partial && std::string(info->name).find(params.dev) == std::string::npos) continue;
+ if (!match_partial && info.name != params.dev) continue;
+ if (match_partial && info.name.find(params.dev) == std::string::npos) continue;
}
// Match found if we got here
int assigned_mics = 0;
|
|
From: Tapio V. <aa...@us...> - 2010-10-26 16:40:36
|
Module: performous
Branch: master
Commit: 1251ab7ba963692a859e6529005aa37fbdb01489
Author: Tapio Vierros <tap...@gm...>
Date: Tue Oct 26 19:20:15 2010 +0300
Convert PortAudio device name to UTF-8.
---
game/libda/portaudio.hpp | 9 ++++++---
game/unicode.cc | 8 +++++++-
game/unicode.hh | 3 ++-
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/game/libda/portaudio.hpp b/game/libda/portaudio.hpp
index 6172e69..99d54b3 100644
--- a/game/libda/portaudio.hpp
+++ b/game/libda/portaudio.hpp
@@ -10,6 +10,8 @@
#include <stdexcept>
#include <stdint.h>
+#include "../unicode.hh"
+
#define PORTAUDIO_CHECKED(func, args) portaudio::internal::check(func args, #func)
namespace portaudio {
@@ -32,7 +34,7 @@ namespace portaudio {
}
struct DeviceInfo {
- DeviceInfo(std::string n = "", unsigned i = 0, unsigned o = 0): name(n), in(i), out(o) {}
+ DeviceInfo(std::string n = "", int i = 0, int o = 0): name(n), in(i), out(o) {}
std::string desc() {
std::ostringstream oss;
oss << name << " (";
@@ -42,18 +44,19 @@ namespace portaudio {
return oss.str() + ")";
}
std::string name;
- unsigned int in, out;
+ int in, out;
};
typedef std::vector<DeviceInfo> DeviceInfos;
struct AudioDevices {
+ static int count() { return Pa_GetDeviceCount(); }
/// Constructor gets the PA devices into a vector
AudioDevices() {
for (unsigned i = 0, end = Pa_GetDeviceCount(); i != end; ++i) {
PaDeviceInfo const* info = Pa_GetDeviceInfo(i);
if (!info) devices.push_back(DeviceInfo());
- else devices.push_back(DeviceInfo(info->name, info->maxInputChannels, info->maxOutputChannels));
+ else devices.push_back(DeviceInfo(convertToUTF8(info->name), info->maxInputChannels, info->maxOutputChannels));
}
}
/// Get a printable dump of the devices
diff --git a/game/unicode.cc b/game/unicode.cc
index c2129a5..31d2cf2 100644
--- a/game/unicode.cc
+++ b/game/unicode.cc
@@ -23,7 +23,7 @@ namespace {
}
}
-void convertToUTF8( std::stringstream &_stream, std::string _filename ) {
+void convertToUTF8(std::stringstream &_stream, std::string _filename) {
try {
convert(_stream.str(), "UTF-8", "UTF-8"); // Test if input is UTF-8
} catch(...) {
@@ -38,6 +38,12 @@ void convertToUTF8( std::stringstream &_stream, std::string _filename ) {
}
}
+std::string convertToUTF8(std::string const& str) {
+ std::stringstream ss(str);
+ convertToUTF8(ss, "");
+ return ss.str();
+}
+
std::string unicodeCollate(std::string const& str) {
Glib::ustring ustr = str, ustr2;
if (ustr.substr(0, 4) == "The ") ustr = ustr.substr(4) + "the";
diff --git a/game/unicode.hh b/game/unicode.hh
index a0945ac..95f3784 100644
--- a/game/unicode.hh
+++ b/game/unicode.hh
@@ -3,5 +3,6 @@
#include <iostream>
#include <string>
-void convertToUTF8( std::stringstream &_stream, std::string _filename = std::string() );
+void convertToUTF8(std::stringstream &_stream, std::string _filename = std::string());
+std::string convertToUTF8(std::string const& str);
std::string unicodeCollate(std::string const& str);
|
|
From: Tapio V. <aa...@us...> - 2010-10-26 16:40:33
|
Module: performous
Branch: master
Commit: fe36c33058dc282c04cd67ee2b0ae767bbb68669
Author: Tapio Vierros <tap...@gm...>
Date: Tue Oct 26 18:58:46 2010 +0300
Implement convertToUTF8 with glib instead of glibmm.
---
game/unicode.cc | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/game/unicode.cc b/game/unicode.cc
index b2a8852..c2129a5 100644
--- a/game/unicode.cc
+++ b/game/unicode.cc
@@ -1,28 +1,41 @@
#include "unicode.hh"
+#include <boost/scoped_ptr.hpp>
#include <glibmm/ustring.h>
-#include <glibmm/convert.h>
+#include <glib/gconvert.h>
#include <sstream>
+#include <stdexcept>
+
+namespace {
+ // Convert a string using Glib, throw exception on error.
+ // This is in fact (slightly modified) Glib::convert from glibmm.
+ std::string convert(const std::string& str, const std::string& to_codeset, const std::string& from_codeset) {
+ gsize bytes_written = 0;
+ GError* gerror = 0;
+
+ char *const buf = g_convert(
+ str.data(), str.size(), to_codeset.c_str(), from_codeset.c_str(),
+ 0, &bytes_written, &gerror);
+
+ if (gerror) throw std::runtime_error("Conversion error"); // Throw on error
+
+ return std::string(boost::scoped_ptr<char>(buf).get(), bytes_written);
+ }
+}
-// FIXME: Glib::convert may throw a Glib::ConvertError that doesn't
-// get caught in Windows builds with dynamic glibmm.
-#ifdef _WIN32
-void convertToUTF8( std::stringstream &, std::string ) {
-#else
void convertToUTF8( std::stringstream &_stream, std::string _filename ) {
try {
- Glib::convert(_stream.str(), "UTF-8", "UTF-8"); // Test if input is UTF-8
+ convert(_stream.str(), "UTF-8", "UTF-8"); // Test if input is UTF-8
} catch(...) {
if (!_filename.empty()) std::clog << "unicode/warning: " << _filename << " is not UTF-8.\n Assuming CP1252 for now. Use recode CP1252..UTF-8 */*.txt to convert your files." << std::endl;
try {
- _stream.str(Glib::convert(_stream.str(), "UTF-8", "CP1252")); // Convert from Microsoft CP1252
+ _stream.str(convert(_stream.str(), "UTF-8", "CP1252")); // Convert from Microsoft CP1252
} catch (...) {
// Filter out anything but ASCII
std::string tmp;
for (char ch; _stream.get(ch);) tmp += (ch >= 0x20 && ch < 0x7F) ? ch : '?';
}
}
-#endif
}
std::string unicodeCollate(std::string const& str) {
|
|
From: Tapio V. <aa...@us...> - 2010-10-26 15:08:52
|
Module: performous
Branch: master
Commit: 94a4a40ff684814c875ef7cc1ee0b6937e48903e
Author: Tapio Vierros <tap...@gm...>
Date: Tue Oct 26 18:07:58 2010 +0300
Use Cachemap for screen_intro menu option text objects.
---
game/cachemap.hh | 4 ++++
game/screen_intro.cc | 13 ++++++++++---
game/screen_intro.hh | 2 ++
game/theme.cc | 2 +-
game/theme.hh | 7 ++++---
5 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/game/cachemap.hh b/game/cachemap.hh
index 7a59dc0..6e42b3a 100644
--- a/game/cachemap.hh
+++ b/game/cachemap.hh
@@ -28,6 +28,10 @@ template <typename Key, typename Value> class Cachemap {
if (it == m_map.end()) it = insert(key, new Value(key)); else access(key);
return *it->second;
}
+ /// does it have a certain key
+ bool contains(Key const& key) const {
+ return m_map.find(key) != m_map.end();
+ }
/// clears history and cachemap
void clear() {
m_history.clear();
diff --git a/game/screen_intro.cc b/game/screen_intro.cc
index 84e9a7a..3d624a9 100644
--- a/game/screen_intro.cc
+++ b/game/screen_intro.cc
@@ -97,9 +97,11 @@ void ScreenIntro::draw_menu_options() {
// Regular option (not selected)
} else {
- theme->option.dimensions.left(x).center(start_y + ii*0.08);
- theme->option.draw(opt.getName(), submenuanim * (opt.isActive() ? 1.0f : 0.5f));
- wcounter = std::max(wcounter, theme->option.w() + 2 * sel_margin); // Calculate the widest entry
+ std::string title = opt.getName();
+ SvgTxtTheme& txt = getTextObject(title);
+ txt.dimensions.left(x).center(start_y + ii*0.08);
+ txt.draw(title, submenuanim * (opt.isActive() ? 1.0f : 0.5f));
+ wcounter = std::max(wcounter, txt.w() + 2 * sel_margin); // Calculate the widest entry
}
}
m_menu.dimensions.stretch(wcounter, 1);
@@ -125,6 +127,11 @@ void ScreenIntro::draw() {
draw_menu_options();
}
+SvgTxtTheme& ScreenIntro::getTextObject(std::string const& txt) {
+ if (theme->options.contains(txt)) return theme->options[txt];
+ return *theme->options.insert(txt, new SvgTxtTheme(getThemePath("mainmenu_option.svg"), config["graphic/text_lod"].f()))->second;
+}
+
void ScreenIntro::populateMenu() {
m_menu.clear();
boost::shared_ptr<Surface> config_bg(new Surface(getThemePath("intro_configure.svg")));
diff --git a/game/screen_intro.hh b/game/screen_intro.hh
index 917e602..2f1e572 100644
--- a/game/screen_intro.hh
+++ b/game/screen_intro.hh
@@ -7,6 +7,7 @@
class Audio;
class ThemeIntro;
+class SvgTxtTheme;
class MenuOption;
/// intro screen
@@ -24,6 +25,7 @@ class ScreenIntro : public Screen {
private:
void populateMenu();
+ SvgTxtTheme& getTextObject(std::string const& txt);
Audio& m_audio;
boost::scoped_ptr<ThemeIntro> theme;
diff --git a/game/theme.cc b/game/theme.cc
index b549d0d..ef02ae1 100644
--- a/game/theme.cc
+++ b/game/theme.cc
@@ -47,7 +47,7 @@ ThemeAudioDevices::ThemeAudioDevices():
ThemeIntro::ThemeIntro():
Theme(getThemePath("intro_bg.svg")),
back_h(getThemePath("mainmenu_back_highlight.svg")),
- option(getThemePath("mainmenu_option.svg"), config["graphic/text_lod"].f()),
+ options(30),
option_selected(getThemePath("mainmenu_option_selected.svg"), config["graphic/text_lod"].f()),
comment(getThemePath("mainmenu_comment.svg"), config["graphic/text_lod"].f()),
short_comment(getThemePath("mainmenu_short_comment.svg"), config["graphic/text_lod"].f()),
diff --git a/game/theme.hh b/game/theme.hh
index 35607f2..285b023 100644
--- a/game/theme.hh
+++ b/game/theme.hh
@@ -2,6 +2,7 @@
#include "opengl_text.hh"
#include "surface.hh"
+#include "cachemap.hh"
#include <boost/noncopyable.hpp>
#include <string>
@@ -77,9 +78,9 @@ public:
ThemeIntro();
/// back highlight for selected option
Surface back_h;
- /// menu option text
- SvgTxtTheme option;
- /// menu selected option text
+ /// menu option texts
+ Cachemap<std::string, SvgTxtTheme> options;
+ /// selected menu option text
SvgTxtTheme option_selected;
/// menu comment text
SvgTxtTheme comment;
|
|
From: Peque <ms...@us...> - 2010-10-25 12:26:53
|
Module: performous Branch: master Commit: 733404d37bcb21d4c0a8f5a7a472798c1f49f0cd Author: Miguel Sánchez de León Peque <msd...@gm...> Date: Mon Oct 25 14:24:50 2010 +0200 Spanish translation updated (100% for 0.6.0) --- lang/TRANSLATORS | 3 + lang/es.po | 239 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 126 insertions(+), 116 deletions(-) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 21:03:29
|
Module: performous Branch: master Commit: 4193c5a53392d5d6b11ad98a063c6956ca9ecbe7 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Oct 24 23:03:11 2010 +0200 Post-release version bump --- CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ebb4cbe..dc1921d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ project(Performous CXX C) cmake_minimum_required(VERSION 2.6) cmake_policy(VERSION 2.6) -set(PROJECT_VERSION "0.6.0") +set(PROJECT_VERSION "0.6.0+") # Avoid source tree pollution if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 21:02:50
|
Module: performous Branch: refs/tags/0.6.0 Tag: 23c885efa2a350422535e42d115f1ed9d3bb9d89 Tagger: Lasse Karkkainen <tro...@tr...> Date: Sun Oct 24 23:02:09 2010 +0200 Tagging release 0.6.0 |
|
From: Tapio V. <aa...@us...> - 2010-10-24 20:11:22
|
Module: web Branch: master Commit: faf0dfff2e9ae36c4d3783c9f985e8ef0bf28229 Author: Tapio Vierros <tap...@gm...> Date: Sun Oct 24 23:10:29 2010 +0300 New 0.6.0 screenshots and updated screenshots page. --- htdocs-binary/screenshots/0.6.0/audiodevices.jpg | Bin 0 -> 50863 bytes htdocs-binary/screenshots/0.6.0/full_band.jpg | Bin 0 -> 54779 bytes htdocs-binary/screenshots/0.6.0/guitarsing.jpg | Bin 0 -> 51127 bytes htdocs-binary/screenshots/0.6.0/joinmenu.jpg | Bin 0 -> 39194 bytes htdocs-binary/screenshots/0.6.0/sing.jpg | Bin 0 -> 47257 bytes htdocs-binary/screenshots/0.6.0/song_browser.jpg | Bin 0 -> 68459 bytes htdocs-source/screenshots.txt | 20 +++++++++++--------- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/htdocs-binary/screenshots/0.6.0/audiodevices.jpg b/htdocs-binary/screenshots/0.6.0/audiodevices.jpg new file mode 100644 index 0000000..e77464d Binary files /dev/null and b/htdocs-binary/screenshots/0.6.0/audiodevices.jpg differ diff --git a/htdocs-binary/screenshots/0.6.0/full_band.jpg b/htdocs-binary/screenshots/0.6.0/full_band.jpg new file mode 100644 index 0000000..31f4890 Binary files /dev/null and b/htdocs-binary/screenshots/0.6.0/full_band.jpg differ diff --git a/htdocs-binary/screenshots/0.6.0/guitarsing.jpg b/htdocs-binary/screenshots/0.6.0/guitarsing.jpg new file mode 100644 index 0000000..acfef2c Binary files /dev/null and b/htdocs-binary/screenshots/0.6.0/guitarsing.jpg differ diff --git a/htdocs-binary/screenshots/0.6.0/joinmenu.jpg b/htdocs-binary/screenshots/0.6.0/joinmenu.jpg new file mode 100644 index 0000000..dbeab88 Binary files /dev/null and b/htdocs-binary/screenshots/0.6.0/joinmenu.jpg differ diff --git a/htdocs-binary/screenshots/0.6.0/sing.jpg b/htdocs-binary/screenshots/0.6.0/sing.jpg new file mode 100644 index 0000000..a9e8b96 Binary files /dev/null and b/htdocs-binary/screenshots/0.6.0/sing.jpg differ diff --git a/htdocs-binary/screenshots/0.6.0/song_browser.jpg b/htdocs-binary/screenshots/0.6.0/song_browser.jpg new file mode 100644 index 0000000..c308f13 Binary files /dev/null and b/htdocs-binary/screenshots/0.6.0/song_browser.jpg differ diff --git a/htdocs-source/screenshots.txt b/htdocs-source/screenshots.txt index 5181b24..99fb2dd 100644 --- a/htdocs-source/screenshots.txt +++ b/htdocs-source/screenshots.txt @@ -2,19 +2,19 @@ Screenshots :h2:Select a song Fully animated cover browser, live background video preview and other visual goodness: -<img src="screenshots/Performous-0.4.0-songs.jpg" alt=""/> +<img src="screenshots/0.6.0/song_browser.jpg" alt=""/> :h2:Perform Scrolling notes allow singing without unwanted interruptions. As usual, plenty of animations are included as eyecandy. -<img src="screenshots/Performous-0.3.1-sing.jpg" alt=""/> +<img src="screenshots/0.6.0/sing.jpg" alt=""/> Add some instruments and play as a band with your friends: -<img src="screenshots/Performous-0.4.0-band.jpg" alt=""/> -<img src="screenshots/0.5.0/band.jpg" alt=""/> -Custom background images or videos can be used as a fallback when the song doesn't have any: -<img src="screenshots/Performous-0.4.0-choose_instruments.jpg" alt=""/> -<img src="screenshots/Performous-0.4.0-guitar.jpg" alt=""/> -The major new feature of 0.5 is that you can also dance (with rather basic graphics): +<img src="screenshots/0.6.0/joinmenu.jpg" alt=""/> +<img src="screenshots/0.6.0/full_band.jpg" alt=""/> +<img src="screenshots/0.6.0/guitarsing.jpg" alt=""/> +You can dance also! <img src="screenshots/0.5.0/dance-solo.jpg" alt=""/> +In 0.6.0 you can configure audio devices with a GUI: +<img src="screenshots/0.6.0/audiodevices.jpg" alt=""/> :h2:Practice screen This is a good place to setup microphone levels or to do voice-opening exercises. @@ -22,7 +22,9 @@ This is a good place to setup microphone levels or to do voice-opening exercises :h2:In action -But instead of the boring screenshots, why don't you see how Performous (various pre-0.3.1 development versions) looks in action? +But instead of the boring screenshots, why don't you see how Performous looks in action? + +:~center:<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/soYIbsVmcyU&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/soYIbsVmcyU&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object> :~center:<a href="http://www.youtube.com/watch?v=riqkWgThp7s" target="_new"><img src="photos/youtube-joanna.jpg" style="display: inline; border: 2px solid blue;" alt="" target="_blank"/></a><br/>Youtube: Joanna demonstrates Performous on a 700 MHz Athlon HTPC. |
|
From: Tapio V. <aa...@us...> - 2010-10-24 20:11:19
|
Module: web Branch: master Commit: 94e413078a92f4de2344700ce95c42bdfb045850 Author: Tapio Vierros <tap...@gm...> Date: Sun Oct 24 23:09:23 2010 +0300 Update download page for 0.6.0 --- htdocs-source/install.txt | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/htdocs-source/install.txt b/htdocs-source/install.txt index 3b8ea1d..c20a2df 100644 --- a/htdocs-source/install.txt +++ b/htdocs-source/install.txt @@ -8,17 +8,22 @@ If you have problems, please have a look at the <a href="http://wiki.performous. :h2:Windows - WinXP or better: <a href="https://sourceforge.net/projects/performous/files/performous/0.5.0/Performous-0.5.0.exe/download">installer</a> + WinXP or better: <a href="https://sourceforge.net/projects/performous/files/performous/0.6.0/Performous-0.6.0.exe/download">installer</a> <em>Note:</em> You can find new features and bugfixes in the <a href=http://wiki.performous.org/index.php/Nightly_Builds>testing builds</a>. :h2:Mac OS X - OS X 10.5: <a href="https://sourceforge.net/projects/performous/files/performous/0.5.0/Performous-0.5.0.dmg/download">bundle</a> + OS X 10.5 (v0.5.0): <a href="https://sourceforge.net/projects/performous/files/performous/0.5.0/Performous-0.5.0.dmg/download">bundle</a> :h2:Linux - Ubuntu 10.04 Lucid Lynx: <a href="apt:performous">performous</a> in official repositories - Ubuntu 9.10 Karmic Koala: <a href="https://sourceforge.net/projects/performous/files/performous/0.5.0/Performous-0.5.0-Ubuntu9.10-i386.deb/download">i386</a> <a href="https://sourceforge.net/projects/performous/files/performous/0.5.0/Performous-0.5.0-Ubuntu9.10-amd64.deb/download">amd64</a> - Ubuntu 8.04 LTS Hardy Heron (v0.3.2): <a href="http://sourceforge.net/projects/performous/files/performous/Performous-0.3.2-Ubuntu8.04-i386.deb">i386</a> <a href="http://sourceforge.net/projects/performous/files/performous/Performous-0.3.2-Ubuntu8.04-amd64.deb">amd64</a> + +:h3:Ubuntu + Performous is in the <a href="apt:performous">official repositories</a> (might be outdated) + For possibly newer packages: <a href="http://www.playdeb.net/">playdeb.net</a> + For cutting-edge: <a href="https://launchpad.net/~performous-team/+archive/ppa">PPA at Launchpad</a> + For old packages: <a href="https://sourceforge.net/projects/performous/files/performous">SourceForge</a> + +:h3:Other distributions Debian: <a href="apt:performous">performous</a> in official repositories OpenSUSE: <a href="http://packman.links2linux.de/package/Performous/">packages</a> ArchLinux: <a href="http://aur.archlinux.org/packages.php?ID=24623">packages</a> @@ -29,7 +34,7 @@ If you get an error about unsatisfied dependencies on Ubuntu, you may have to en :h2:Other systems and development version - Source code (v0.5.1): <a href="http://sourceforge.net/projects/performous/files/performous/0.5.1/Performous-0.5.1-Source.tar.bz2/download">universal</a> + Source code (v0.6.0): <a href="http://sourceforge.net/projects/performous/files/performous/0.6.0/Performous-0.6.0-Source.tar.bz2/download">universal</a> The very latest source code is available in our Git repository. See the <a href="http://wiki.performous.org/index.php/Developing">development wiki pages</a> for more information. |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 19:33:52
|
Module: performous Branch: master Commit: 75295d6bfb88173b633a9991480ac5e0f037300a Author: Lasse Karkkainen <tro...@tr...> Date: Sun Oct 24 21:33:30 2010 +0200 Bumping version to 0.6.0. --- CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 921d7d8..ebb4cbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ project(Performous CXX C) cmake_minimum_required(VERSION 2.6) cmake_policy(VERSION 2.6) -set(PROJECT_VERSION "0.5.1+") +set(PROJECT_VERSION "0.6.0") # Avoid source tree pollution if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 19:33:49
|
Module: performous Branch: master Commit: 50646b66f65efb68dceb649c28126fa7fc8571de Author: Lasse Karkkainen <tro...@tr...> Date: Sun Oct 24 21:29:16 2010 +0200 Merge branch 'master' of ssh://git.performous.org/gitroot/performous/performous Removing screenshot spammer. Conflicts: game/main.cc --- |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 19:33:47
|
Module: performous
Branch: master
Commit: 9714183627f0a4adb4b12342cec769b8bd27bbf7
Author: Lasse Karkkainen <tro...@tr...>
Date: Sun Oct 24 18:46:04 2010 +0200
Profiler for main loop
---
game/main.cc | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/game/main.cc b/game/main.cc
index 1ce92ff..f8de5de 100644
--- a/game/main.cc
+++ b/game/main.cc
@@ -2,6 +2,7 @@
#include "fs.hh"
#include "screen.hh"
#include "joystick.hh"
+#include "profiler.hh"
#include "songs.hh"
#include "backgrounds.hh"
#include "database.hh"
@@ -160,6 +161,7 @@ void mainLoop(std::string const& songlist) {
boost::xtime time = now();
unsigned frames = 0;
while (!sm.isFinished()) {
+ Profiler prof("mainloop");
if( g_take_screenshot ) {
fs::path filename;
try {
@@ -172,13 +174,16 @@ void mainLoop(std::string const& songlist) {
g_take_screenshot = false;
}
sm.updateScreen(); // exit/enter, any exception is fatal error
+ prof("misc");
try {
// Draw
window.blank();
sm.getCurrentScreen()->draw();
sm.drawNotifications();
+ prof("draw");
// Display (and wait until next frame)
window.swap();
+ prof("swap");
if (config["graphic/fps"].b()) {
++frames;
if (now() - time > 1.0) {
@@ -191,9 +196,11 @@ void mainLoop(std::string const& songlist) {
time = now();
frames = 0;
}
+ prof("fpsctrl");
// Process events for the next frame
if (midiDrums) midiDrums->process();
checkEvents_SDL(sm);
+ prof("events");
} catch (std::runtime_error& e) {
std::cerr << "ERROR: " << e.what() << std::endl;
sm.flashMessage(std::string("ERROR: ") + e.what());
|
|
From: Tapio V. <aa...@us...> - 2010-10-24 19:28:10
|
Module: web Branch: master Commit: 0be0f90ae2f765dfcf0c8219d23899db2cc28353 Author: Tapio Vierros <tap...@gm...> Date: Sun Oct 24 22:26:49 2010 +0300 Add notice about the packages and "duet" --> "no duet yet" --- htdocs-source/index.txt | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/htdocs-source/index.txt b/htdocs-source/index.txt index fd97eff..986986d 100644 --- a/htdocs-source/index.txt +++ b/htdocs-source/index.txt @@ -5,7 +5,7 @@ Announcements The long overdue 0.6.0 release is now here. This release brings many technological improvements as well as a lot of new gameplay features. Thanks for all the new (and old) contributors. Gameplay - Multiple vocal track support (duet) + Multiple vocal track support (no duet yet) Toggleable karaoke with songs that have separate song and vocal tracks Solo parts for guitars Big Rock Endings @@ -41,6 +41,7 @@ The long overdue 0.6.0 release is now here. This release brings many technologic For many languages the translations are currently lacking updates. Another thing we are lacking is good graphics as well as developers for the dance mode. If you think you'll be able to do better, offer your work on #performous. +With this release, we provide a <a href="https://sourceforge.net/projects/performous/files/performous/0.6.0/Performous-0.6.0.exe/download">Windows installer</a>. Ubuntu packages should be available soon at <a href="http://www.playdeb.net/">playdeb.net</a> and hasty ones can use our <a href="https://launchpad.net/~performous-team/+archive/ppa">PPA at Launchpad</a>. Binaries for other platforms follow when the packagers have time to create them - in the mean time you can compile yourself from the <a href="http://sourceforge.net/projects/performous/files/performous/0.6.0/Performous-0.6.0-Source.tar.bz2/download">source.</a> :h2:2010-08-21 - Status update Good news everyone, cross-compiling binaries from Linux for Windows is pretty much ready for prime-time. You can check for yourself by downloading a testing installer from the <a href="http://wiki.performous.org/index.php/Nightly_Builds#Windows">wiki</a>. It would be nice if you could tell us how it works for you. The Mac bundle presented previously is broken, but luckily there has been OSX development work done and we have a new one <a href="http://wiki.performous.org/index.php/Nightly_Builds#Mac_OSX">at the usual place</a>. All in all, it seems every platform is now in quite good shape. |
|
From: Tapio V. <aa...@us...> - 2010-10-24 18:35:22
|
Module: performous
Branch: master
Commit: e2e810e51177d4600b00e5ca6eb08d794c06ac5e
Author: Tapio Vierros <tap...@gm...>
Date: Sun Oct 24 21:34:45 2010 +0300
Screenshot spammer utility.
---
game/main.cc | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/game/main.cc b/game/main.cc
index 1ce92ff..d2f68f2 100644
--- a/game/main.cc
+++ b/game/main.cc
@@ -159,12 +159,24 @@ void mainLoop(std::string const& songlist) {
// Main loop
boost::xtime time = now();
unsigned frames = 0;
+ #if 0
+ // Screenshot spammer utility
+ boost::xtime shottimer = now();
while (!sm.isFinished()) {
+ const std::string shotmsg = "";
+ if (now() - shottimer > 2.0) {
+ g_take_screenshot = true;
+ shottimer = now();
+ }
+ #else
+ while (!sm.isFinished()) {
+ const std::string shotmsg = _("Screenshot taken!");
+ #endif
if( g_take_screenshot ) {
fs::path filename;
try {
window.screenshot();
- sm.flashMessage(_("Screenshot taken!"));
+ sm.flashMessage(shotmsg);
} catch (std::exception& e) {
std::cerr << "ERROR: " << e.what() << std::endl;
sm.flashMessage(_("Screenshot failed!"));
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 18:29:31
|
Module: web Branch: master Commit: b2f5d9aff28126d9974f89015fdb131f5f7a2c8a Author: Lasse Karkkainen <tro...@tr...> Date: Sun Oct 24 20:29:12 2010 +0200 Archived older news --- htdocs-source/history.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++ htdocs-source/index.txt | 60 --------------------------------------------- 2 files changed, 59 insertions(+), 60 deletions(-) diff --git a/htdocs-source/history.txt b/htdocs-source/history.txt index 3716629..9dcd997 100644 --- a/htdocs-source/history.txt +++ b/htdocs-source/history.txt @@ -1,5 +1,64 @@ Archived news +:h2:2010-02-04 - Status update +Currently we have no easy solution to the Windows audio sync issues that still cause some jerkiness and it appears that most of the audio code will have to be rewritten to really fix the issue properly. Because of this the next release will be delayed further and it is likely to be numbered 0.6 instead of another 0.5 bugfix version as there has been significant work done on improving the graphics and there also are many usability fixes. Part of the problem is that people find implementing new features more interesting than fixing complex bugs, something that I gather to be a very common problem with open-source projects where all the developers are volunteers. + +:h2:2010-01-16 - 0.5.1 released +This is a source-only bugfix release, most notably fixing issues with Windows version and adding more instrument mappings. List of changes is below and the packages can be found from the download page. + + Advanced timing code for reducing jerkiness (but causes more jerkiness for some because it is not properly tuned yet) + Dance gameplay improvements + Many controller detection and mapping fixes + Fix flashing singing note issue + Fix dance game not working under Windows (missing file) + Fix Windows font for scale in singing note lines + Dutch translation + Add a simple joystick button identification utility (--jstest) + Other small tweaks + +The next version (0.5.2) will be released once we sort out the remaining issues (estimated a few days) and it will also include binaries. + +:h2:2010-01-13 - 0.5.0 released +<img src="imgs/menu_fi-small.jpg" alt=""/><img src="imgs/dance-multi2-small.jpg" style="margin-left: 1mm" alt=""/> +This is the first release to include <strong>Windows</strong> and <strong>Mac</strong> binaries as well. A lot of work has been done by Xaldyz, Zar, Stump and others to make this possible. Meanwhile a large number of improvements and new features have been added, including of course the all new dance simulator developed during December by Aave, JNikkola and Kemppi, out of whom Aave has already become a core developer, already boosting about 200 commits. Another new developer who has been very active in this release is Peque who created the new main menu and gave some face lift for the default theme, among other things. The new features include: + + Dance mode + StepMania .sm format + 4-8 panels on each dancepad + Multiplayer (but not together with band yet) + Mines, hold and regular notes in various different game modes + Keyboard and USB dancepad support + Crappy graphics, no ITG colors and no customization (for now) + Band mode improvements + God Mode for guitars (similar to StarPower) + More graphical effects (glow, fire, ...) + Joining during game & dead coming back to life + Whammy bar gameplay + Streak counter popup + Guitar Hero X0 guitar support (not tested) + Star when singing a note well + Main menu completely reworked + Localizations: Finnish, French, German, Italian and Spanish + New song folder [Performous data]/songs + The data folders depend on the OS the game is running on, including: + On UNIX ~/.local/share/games/performous + On Windows [Application data]/performous + On all systems the data installation path (relative to executable) + Old ~/.ultrastar/songs and other such folders continue to function. + Usability + Confirmation for song quitting + Better usb controller navigation (e.g. drum/dancepads can be used) + Instrumental part skipping for singing with FoF songs + Previews start from further of the song + In-game volume control + Keyboard key repeat disabled (preparing for generic controller repeat) + Internal + Use libpng/libjpeg directly, instead of Magick++ + Navigation abstraction + Windows fixes + +Head over to the download page to get the new version. Because of the very large number of new features and due to porting to two new platforms we expect the release to be buggy. Please let us know if you find any problems. We'll try to release 0.5.1 soon with possible fixes and more new features. The Windows version is known to have various issues but we need all of them reported so that 0.5.1 can be made better (surprisingly we severely lack Windows testers). + :h2:2009-12-12 - 0.4.1 cancelled, Windows alpha available We have rather large new features in the development version and because of this the next release will be 0.5.0 rather than 0.4.1. The hilights include a new menu and of course the dance game feature, which we just tested in two player mode with actual dance pads. No release date other than "soon" has been set. diff --git a/htdocs-source/index.txt b/htdocs-source/index.txt index c0064bd..fd97eff 100644 --- a/htdocs-source/index.txt +++ b/htdocs-source/index.txt @@ -78,63 +78,3 @@ We are also proud to announce that Performous has been featured in the HotPicks Two new videos are also available on YouTube. There is one screencast from cousteau available <a href="http://www.youtube.com/watch?v=0ZQSrt_1LL0">here</a> and one video from Tronic: :~center:<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/soYIbsVmcyU&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/soYIbsVmcyU&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object> - -:h2:2010-02-04 - Status update -Currently we have no easy solution to the Windows audio sync issues that still cause some jerkiness and it appears that most of the audio code will have to be rewritten to really fix the issue properly. Because of this the next release will be delayed further and it is likely to be numbered 0.6 instead of another 0.5 bugfix version as there has been significant work done on improving the graphics and there also are many usability fixes. Part of the problem is that people find implementing new features more interesting than fixing complex bugs, something that I gather to be a very common problem with open-source projects where all the developers are volunteers. - -:h2:2010-01-16 - 0.5.1 released -This is a source-only bugfix release, most notably fixing issues with Windows version and adding more instrument mappings. List of changes is below and the packages can be found from the download page. - - Advanced timing code for reducing jerkiness (but causes more jerkiness for some because it is not properly tuned yet) - Dance gameplay improvements - Many controller detection and mapping fixes - Fix flashing singing note issue - Fix dance game not working under Windows (missing file) - Fix Windows font for scale in singing note lines - Dutch translation - Add a simple joystick button identification utility (--jstest) - Other small tweaks - -The next version (0.5.2) will be released once we sort out the remaining issues (estimated a few days) and it will also include binaries. - -:h2:2010-01-13 - 0.5.0 released -<img src="imgs/menu_fi-small.jpg" alt=""/><img src="imgs/dance-multi2-small.jpg" style="margin-left: 1mm" alt=""/> -This is the first release to include <strong>Windows</strong> and <strong>Mac</strong> binaries as well. A lot of work has been done by Xaldyz, Zar, Stump and others to make this possible. Meanwhile a large number of improvements and new features have been added, including of course the all new dance simulator developed during December by Aave, JNikkola and Kemppi, out of whom Aave has already become a core developer, already boosting about 200 commits. Another new developer who has been very active in this release is Peque who created the new main menu and gave some face lift for the default theme, among other things. The new features include: - - Dance mode - StepMania .sm format - 4-8 panels on each dancepad - Multiplayer (but not together with band yet) - Mines, hold and regular notes in various different game modes - Keyboard and USB dancepad support - Crappy graphics, no ITG colors and no customization (for now) - Band mode improvements - God Mode for guitars (similar to StarPower) - More graphical effects (glow, fire, ...) - Joining during game & dead coming back to life - Whammy bar gameplay - Streak counter popup - Guitar Hero X0 guitar support (not tested) - Star when singing a note well - Main menu completely reworked - Localizations: Finnish, French, German, Italian and Spanish - New song folder [Performous data]/songs - The data folders depend on the OS the game is running on, including: - On UNIX ~/.local/share/games/performous - On Windows [Application data]/performous - On all systems the data installation path (relative to executable) - Old ~/.ultrastar/songs and other such folders continue to function. - Usability - Confirmation for song quitting - Better usb controller navigation (e.g. drum/dancepads can be used) - Instrumental part skipping for singing with FoF songs - Previews start from further of the song - In-game volume control - Keyboard key repeat disabled (preparing for generic controller repeat) - Internal - Use libpng/libjpeg directly, instead of Magick++ - Navigation abstraction - Windows fixes - -Head over to the download page to get the new version. Because of the very large number of new features and due to porting to two new platforms we expect the release to be buggy. Please let us know if you find any problems. We'll try to release 0.5.1 soon with possible fixes and more new features. The Windows version is known to have various issues but we need all of them reported so that 0.5.1 can be made better (surprisingly we severely lack Windows testers). - |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 18:29:29
|
Module: web Branch: master Commit: 5b0e032905c048a29962fe0d15f07218aebdd405 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Oct 24 20:28:37 2010 +0200 More polish for 0.6.0 release announcement --- htdocs-source/index.txt | 73 ++++++++++++++++++++++++---------------------- 1 files changed, 38 insertions(+), 35 deletions(-) diff --git a/htdocs-source/index.txt b/htdocs-source/index.txt index 1ca510f..c0064bd 100644 --- a/htdocs-source/index.txt +++ b/htdocs-source/index.txt @@ -1,43 +1,46 @@ Announcements -:h2:2010-10-XX - 0.6.0 released - -The long overdue 0.6.0 release is now here. The lengthy changelog can be read below. Thanks for all the new (and old) contributors. - - Whole new audio system - Single backend: PortAudio (no more plugins) +:h2:2010-10-24 - 0.6.0 released + +The long overdue 0.6.0 release is now here. This release brings many technological improvements as well as a lot of new gameplay features. Thanks for all the new (and old) contributors. + + Gameplay + Multiple vocal track support (duet) + Toggleable karaoke with songs that have separate song and vocal tracks + Solo parts for guitars + Big Rock Endings + Drum Fills (with God Mode for drums) + Instrument hit timing indicator + Lefty-mode for guitar and drums + Join menu for difficulty/track configuration + Audio system completely rewritten + Single backend: PortAudio v19 (no more plugins) Can still use jack/pulse/alsa etc. through PA - Easier to maintain, simplier architecture - Audio device configuration GUI - No more command line magic for simple stuff - No need to restart Performous - Better general configuration - More items visible at once - Sorted to category submenus - Instrument joining and pause menu - Each instrument has its own menu to manipulate - SVG caching system - After first time, menus load muuuuuch faster - Controller mappings are now in XML config file - Allows adding/modifying without touching game source code - Also added more detections and fixed old ones - Notification system (more UI feedback) - Drum Fills (+ GodMode for drums) - Solo parts for guitars - Big Rock Endings - Multiple vocal track management - Instrument hit error indicator - Song filtering by instrument type (F5-F8) - Lefty-mode for guitar and drums - Uses less memory (songs are only partially loaded at start-up) - Song parser improvements - Instrument graphics improvements - UltraStar ripper supports more DVDs - MIDI drum support - Experimental webcam support (needs to be compiled in) - Translation updates, including config localization - Logging/terminal output verbosity control on subsystem level - Hordes of other tweaks and fixes + Easier to maintain, simple architecture + Different bugs and workarounds than before + Configuration + Sorted to category submenus and displays multiple items at once + Ingame audio config with no need to restart Performous (except when audio devices hang) + Controllers + More controllers are autodetected and supported properly + XML config file allows adding/modifying controller types without touching C++ + MIDI drum support (build-time option) + Song browser + Song filtering by instrument type (F5-F8) + Song parsing improved for faster loading and other improvements + Uses less memory due to notes not being loaded before entering a song + Miscellaneous + Webcam support (build-time option) + Graphical improvements and more random backgrounds + SVG caching system (menus load muuuch faster once cached) + Notification system (more UI feedback) + ss_extract now supports all SingStar PS2 DVDs (PS3 is not supported) + Translation updates, including config localization + Detailed verbosity controls via new logging system + Hordes of other tweaks and fixes + +For many languages the translations are currently lacking updates. Another thing we are lacking is good graphics as well as developers for the dance mode. If you think you'll be able to do better, offer your work on #performous. + :h2:2010-08-21 - Status update Good news everyone, cross-compiling binaries from Linux for Windows is pretty much ready for prime-time. You can check for yourself by downloading a testing installer from the <a href="http://wiki.performous.org/index.php/Nightly_Builds#Windows">wiki</a>. It would be nice if you could tell us how it works for you. The Mac bundle presented previously is broken, but luckily there has been OSX development work done and we have a new one <a href="http://wiki.performous.org/index.php/Nightly_Builds#Mac_OSX">at the usual place</a>. All in all, it seems every platform is now in quite good shape. |
|
From: Tapio V. <aa...@us...> - 2010-10-24 17:49:32
|
Module: performous
Branch: master
Commit: 8af8a27f6ae958232cb2f81ae4a07d7b5a99ddb5
Author: Tapio Vierros <tap...@gm...>
Date: Sun Oct 24 20:48:52 2010 +0300
Work-around for Windows glibmm problems.
---
game/unicode.cc | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/game/unicode.cc b/game/unicode.cc
index 7d404e8..b2a8852 100644
--- a/game/unicode.cc
+++ b/game/unicode.cc
@@ -4,6 +4,11 @@
#include <glibmm/convert.h>
#include <sstream>
+// FIXME: Glib::convert may throw a Glib::ConvertError that doesn't
+// get caught in Windows builds with dynamic glibmm.
+#ifdef _WIN32
+void convertToUTF8( std::stringstream &, std::string ) {
+#else
void convertToUTF8( std::stringstream &_stream, std::string _filename ) {
try {
Glib::convert(_stream.str(), "UTF-8", "UTF-8"); // Test if input is UTF-8
@@ -17,6 +22,7 @@ void convertToUTF8( std::stringstream &_stream, std::string _filename ) {
for (char ch; _stream.get(ch);) tmp += (ch >= 0x20 && ch < 0x7F) ? ch : '?';
}
}
+#endif
}
std::string unicodeCollate(std::string const& str) {
|
|
From: Tapio V. <aa...@us...> - 2010-10-24 17:10:39
|
Module: web Branch: master Commit: 516e0c3705d6ee7242bb36954b7d3d1cc0d0d86e Author: Tapio Vierros <tap...@gm...> Date: Sun Oct 24 20:09:20 2010 +0300 Changelog / draft announcement for 0.6.0. --- htdocs-source/index.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-) diff --git a/htdocs-source/index.txt b/htdocs-source/index.txt index 41b028b..1ca510f 100644 --- a/htdocs-source/index.txt +++ b/htdocs-source/index.txt @@ -1,5 +1,44 @@ Announcements +:h2:2010-10-XX - 0.6.0 released + +The long overdue 0.6.0 release is now here. The lengthy changelog can be read below. Thanks for all the new (and old) contributors. + + Whole new audio system + Single backend: PortAudio (no more plugins) + Can still use jack/pulse/alsa etc. through PA + Easier to maintain, simplier architecture + Audio device configuration GUI + No more command line magic for simple stuff + No need to restart Performous + Better general configuration + More items visible at once + Sorted to category submenus + Instrument joining and pause menu + Each instrument has its own menu to manipulate + SVG caching system + After first time, menus load muuuuuch faster + Controller mappings are now in XML config file + Allows adding/modifying without touching game source code + Also added more detections and fixed old ones + Notification system (more UI feedback) + Drum Fills (+ GodMode for drums) + Solo parts for guitars + Big Rock Endings + Multiple vocal track management + Instrument hit error indicator + Song filtering by instrument type (F5-F8) + Lefty-mode for guitar and drums + Uses less memory (songs are only partially loaded at start-up) + Song parser improvements + Instrument graphics improvements + UltraStar ripper supports more DVDs + MIDI drum support + Experimental webcam support (needs to be compiled in) + Translation updates, including config localization + Logging/terminal output verbosity control on subsystem level + Hordes of other tweaks and fixes + :h2:2010-08-21 - Status update Good news everyone, cross-compiling binaries from Linux for Windows is pretty much ready for prime-time. You can check for yourself by downloading a testing installer from the <a href="http://wiki.performous.org/index.php/Nightly_Builds#Windows">wiki</a>. It would be nice if you could tell us how it works for you. The Mac bundle presented previously is broken, but luckily there has been OSX development work done and we have a new one <a href="http://wiki.performous.org/index.php/Nightly_Builds#Mac_OSX">at the usual place</a>. All in all, it seems every platform is now in quite good shape. |
|
From: Yoda-JM <yo...@us...> - 2010-10-24 16:54:56
|
Module: performous
Branch: master
Commit: cfef2bba36d8eb4626cc5adb3e185d26ecfc0d9f
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Oct 24 18:54:32 2010 +0200
Fixed score coloring
---
game/screen_sing.cc | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/game/screen_sing.cc b/game/screen_sing.cc
index a50d0e8..6b8c35c 100644
--- a/game/screen_sing.cc
+++ b/game/screen_sing.cc
@@ -654,7 +654,7 @@ void ScoreWindow::draw() {
for (Database::cur_scores_t::const_iterator p = m_database.scores.begin(); p != m_database.scores.end(); ++p, ++i) {
int score = p->score;
- glutil::Color(p->color);
+ glutil::Color c(p->color);
double x = -0.12 + spacing * (0.5 + i - 0.5 * m_database.scores.size());
m_scoreBar.dimensions.middle(x).bottom(0.20);
m_scoreBar.draw(score / 10000.0);
|
|
From: Tapio V. <aa...@us...> - 2010-10-24 16:17:53
|
Module: performous
Branch: master
Commit: 8ef8c73afe9de6d6b7aeb69bf566140f88d52e8f
Author: Tapio Vierros <tap...@gm...>
Date: Sun Oct 24 19:16:09 2010 +0300
Tweak joinmenu delays.
---
game/guitargraph.cc | 2 +-
game/screen_sing.cc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index e45da6b..5ec2f93 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -326,7 +326,7 @@ void GuitarGraph::engine() {
break;
// If the songs hasn't yet started, we want key presses to bring join menu back (not pause menu)
- } else if (time < 0 && ev.type == input::Event::PRESS) {
+ } else if (time < -2 && ev.type == input::Event::PRESS) {
setupJoinMenu();
m_menu.open();
break;
diff --git a/game/screen_sing.cc b/game/screen_sing.cc
index c9a214b..a50d0e8 100644
--- a/game/screen_sing.cc
+++ b/game/screen_sing.cc
@@ -137,7 +137,7 @@ void ScreenSing::enter() {
m_menu.add(MenuOption(_("Quit"), _("Exit to song browser"), "Songs"));
m_menu.close();
// Startup delay for instruments is longer than for singing only
- double setup_delay = (m_instruments.empty() && m_dancers.empty() ? -1.0 : -3.0);
+ double setup_delay = (m_instruments.empty() && m_dancers.empty() ? -1.0 : -5.0);
sm->loading(_("Finalizing..."), 0.95);
m_audio.playMusic(m_song->music, false, 0.0, setup_delay);
m_engine.reset(new Engine(m_audio, m_song->getVocalTrack(m_selectedTrack), analyzers.begin(), analyzers.end(), m_database));
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-10-24 15:21:34
|
Module: performous
Branch: master
Commit: c9b99dd56478ba79b3b26416aa67125ef52702bb
Author: Lasse Karkkainen <tro...@tr...>
Date: Sun Oct 24 17:19:52 2010 +0200
Proper handling of tracks with missing/broken music files.
---
game/audio.cc | 6 +++++-
game/ffmpeg.hh | 1 +
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/game/audio.cc b/game/audio.cc
index 111c6f7..0ef09f6 100644
--- a/game/audio.cc
+++ b/game/audio.cc
@@ -214,7 +214,11 @@ public:
bool prepare() {
bool ready = true;
for (Tracks::iterator it = tracks.begin(), itend = tracks.end(); it != itend; ++it) {
- if (!it->second->mpeg.audioQueue.prepare(m_pos)) ready = false;
+ FFmpeg& mpeg = it->second->mpeg;
+ if (mpeg.terminating()) continue; // Song loading failed or other error, won't ever get ready
+ if (mpeg.audioQueue.prepare(m_pos)) continue; // Buffering done
+ ready = false; // Need to wait for buffering
+ break;
}
return ready;
}
diff --git a/game/ffmpeg.hh b/game/ffmpeg.hh
index 0f0d7c8..a3b4388 100644
--- a/game/ffmpeg.hh
+++ b/game/ffmpeg.hh
@@ -211,6 +211,7 @@ class FFmpeg {
double duration() const;
/// return current position
double position() { return videoQueue.position(); /* FIXME: remove */ }
+ bool terminating() const { return m_quit; }
private:
class eof_error: public std::exception {};
|