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: Tapio V. <aa...@us...> - 2009-12-09 19:37:12
|
Module: performous
Branch: dance
Commit: f72ee074e90f6fc23d6e94fad6ec636ab8d7ccd8
Author: Tapio Vierros <tap...@gm...>
Date: Wed Dec 9 21:36:31 2009 +0200
Fixed flipped texture coordinates in some dance arrows.
---
game/dancegraph.hh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/game/dancegraph.hh b/game/dancegraph.hh
index 02e343f..8ae1999 100644
--- a/game/dancegraph.hh
+++ b/game/dancegraph.hh
@@ -55,7 +55,7 @@ class DanceGraph {
glutil::Color const& color(int arrow_i) const;
void dance(double time, input::Event const& ev);
void drawNote(DanceNote& note, double time);
- void drawArrow(int arrow_i, Texture& tex, float x, float y, float scale = 1.0, float ty1 = 1.0, float ty2 = 0.0);
+ void drawArrow(int arrow_i, Texture& tex, float x, float y, float scale = 1.0, float ty1 = 0.0, float ty2 = 1.0);
void drawMine(float x, float y, float rot = 0.0, float scale = 1.0);
Audio& m_audio;
Song const& m_song;
|
|
From: Yoda-JM <yo...@us...> - 2009-12-09 18:38:16
|
Module: performous
Branch: master
Commit: 28b801578ef10d5283db9f20edc3f23d1af3029e
Author: Vincent Le Ligeour <yo...@us...>
Date: Wed Dec 9 19:37:57 2009 +0100
Displayed playback/microphone not working only at start
---
game/screen_intro.cc | 15 ++++++++++-----
game/screen_intro.hh | 1 +
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/game/screen_intro.cc b/game/screen_intro.cc
index 2e5aec9..68de5b1 100755
--- a/game/screen_intro.cc
+++ b/game/screen_intro.cc
@@ -5,7 +5,7 @@
#include "record.hh"
#include "i18n.hh"
-ScreenIntro::ScreenIntro(std::string const& name, Audio& audio, Capture& capture): Screen(name), m_audio(audio), m_capture(capture), selected() {
+ScreenIntro::ScreenIntro(std::string const& name, Audio& audio, Capture& capture): Screen(name), m_audio(audio), m_capture(capture), selected(), m_first(true) {
m_menuOptions.push_back(new MenuOption(_("Perform"), "Songs", "intro_sing.svg", _("Start performing!")));
m_menuOptions.push_back(new MenuOption(_("Practice"), "Practice", "intro_practice.svg", _("Check your skills or test the microphones")));
m_menuOptions.push_back(new MenuOption(_("Configure"), "Configuration", "intro_configure.svg", _("Configure game options")));
@@ -15,10 +15,15 @@ ScreenIntro::ScreenIntro(std::string const& name, Audio& audio, Capture& capture
void ScreenIntro::enter() {
m_audio.playMusic(getThemePath("menu.ogg"), true);
theme.reset(new ThemeIntro());
- std::string msg;
- if (!m_audio.isOpen()) msg = _("No playback devices could be used.\n");
- if (m_capture.analyzers().empty()) msg += _("No microphones found.\n");
- if (!msg.empty()) m_dialog.reset(new Dialog(msg + _("\nPlease configure some before playing.")));
+ if( m_first ) {
+ std::string msg;
+ if (!m_audio.isOpen()) msg = _("No playback devices could be used.\n");
+ if (m_capture.analyzers().empty()) msg += _("No microphones found.\n");
+ if (!msg.empty()) m_dialog.reset(new Dialog(msg + _("\nPlease configure some before playing.")));
+ m_first = false;
+ } else {
+ m_dialog.reset();
+ }
}
void ScreenIntro::exit() {
diff --git a/game/screen_intro.hh b/game/screen_intro.hh
index 79ae510..76d7909 100755
--- a/game/screen_intro.hh
+++ b/game/screen_intro.hh
@@ -29,4 +29,5 @@ class ScreenIntro : public Screen {
boost::ptr_vector<MenuOption> m_menuOptions;
boost::scoped_ptr<Dialog> m_dialog;
unsigned int selected;
+ bool m_first;
};
|
|
From: Tapio V. <aa...@us...> - 2009-12-09 15:41:09
|
Module: performous
Branch: master
Commit: 1e51638ed19c6f335953471fcec003d2b0a51f66
Author: Tapio Vierros <tap...@gm...>
Date: Wed Dec 9 17:40:20 2009 +0200
Linux gettext build fixes.
---
cmake/Modules/FindGettext.cmake | 2 +-
game/CMakeLists.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmake/Modules/FindGettext.cmake b/cmake/Modules/FindGettext.cmake
index 43a4220..eb5b325 100644
--- a/cmake/Modules/FindGettext.cmake
+++ b/cmake/Modules/FindGettext.cmake
@@ -24,4 +24,4 @@ find_library(gettext_LIBRARY
set(gettext_PROCESS_INCLUDES gettext_INCLUDE_DIR)
set(gettext_PROCESS_LIBS gettext_LIBRARY)
-libfind_process(gettext)
+libfind_process(Gettext)
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
index c84fd5c..c823ded 100644
--- a/game/CMakeLists.txt
+++ b/game/CMakeLists.txt
@@ -20,7 +20,7 @@ else()
endif()
# Find all the libs that don't require extra parameters
-foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ Magick++ GLEW AVFormat SWScale OpenGL gettext Z Jpeg Tiff Png)
+foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ Magick++ GLEW AVFormat SWScale OpenGL Gettext Z Jpeg Tiff Png)
find_package(${lib} REQUIRED)
include_directories(${${lib}_INCLUDE_DIRS})
list(APPEND LIBS ${${lib}_LIBRARIES})
|
|
From: Stefano A. <xa...@us...> - 2009-12-09 15:32:24
|
Module: performous
Branch: master
Commit: 94ea8c0b018d669847fd910f113274a7e3b9fb6f
Author: Xaldyz <xa...@us...>
Date: Wed Dec 9 16:31:12 2009 +0100
Fixed missing h in the header (i18n.h instead i18n.hh)
---
game/main.cc | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/game/main.cc b/game/main.cc
index fb00719..3e9414a 100644
--- a/game/main.cc
+++ b/game/main.cc
@@ -8,7 +8,7 @@
#include "database.hh"
#include "xtime.hh"
#include "video_driver.hh"
-#include "i18n.h"
+#include "i18n.hh"
// Screens
#include "screen_intro.hh"
@@ -211,7 +211,7 @@ int main(int argc, char** argv) {
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, "../locale");
textdomain (PACKAGE);
-
+
std::cout << PACKAGE " " VERSION << std::endl;
std::signal(SIGINT, quit);
std::signal(SIGTERM, quit);
|
|
From: Stefano A. <xa...@us...> - 2009-12-09 15:23:51
|
Module: performous Branch: master Commit: 767505221431f46ddad8d40d3dadc60f521937ff Author: Xaldyz <xa...@us...> Date: Wed Dec 9 16:20:26 2009 +0100 Merge branch 'master' of ssh://performous.git.sourceforge.net/gitroot/performous/performous --- |
|
From: Stefano A. <xa...@us...> - 2009-12-09 15:23:49
|
Module: performous
Branch: master
Commit: a56ee745f09378c6ac2218701c59f270a511dcb9
Author: Xaldyz <xa...@us...>
Date: Wed Dec 9 16:19:52 2009 +0100
Fixed founding gettext under Windows
Fixed searching playback device into schema.xml
Update getting config dir under Windows
Add Italian support (and documentation to how create a language)
---
cmake/Modules/FindGettext.cmake | 14 +++---
data/schema.xml | 1 +
game/CMakeLists.txt | 2 +-
game/fs.cc | 39 +++++++++++++--
game/main.cc | 6 ++
lang/README | 21 ++++++++
lang/it/LC_MESSAGES/performous.mo | Bin 0 -> 1703 bytes
lang/it/LC_MESSAGES/performous.po | 96 +++++++++++++++++++++++++++++++++++++
8 files changed, 166 insertions(+), 13 deletions(-)
diff --git a/cmake/Modules/FindGettext.cmake b/cmake/Modules/FindGettext.cmake
index f1b0f5d..43a4220 100644
--- a/cmake/Modules/FindGettext.cmake
+++ b/cmake/Modules/FindGettext.cmake
@@ -10,18 +10,18 @@
include(LibFindMacros)
-libfind_pkg_check_modules(Gettext_PKGCONF Gettext)
+libfind_pkg_check_modules(gettext_PKGCONF gettext)
-find_path(Gettext_INCLUDE_DIR
+find_path(gettext_INCLUDE_DIR
NAMES libintl.h
- PATHS ${Gettext_PKGCONF_INCLUDE_DIRS}
+ PATHS ${gettext_PKGCONF_INCLUDE_DIRS}
)
-find_library(Gettext_LIBRARY
+find_library(gettext_LIBRARY
NAMES libintl
- PATHS ${Gettext_PKGCONF_LIBRARY_DIRS}
+ PATHS ${gettext_PKGCONF_LIBRARY_DIRS}
)
-set(Gettext_PROCESS_INCLUDES Gettext_INCLUDE_DIR)
-set(Gettext_PROCESS_LIBS Gettext_LIBRARY)
+set(gettext_PROCESS_INCLUDES gettext_INCLUDE_DIR)
+set(gettext_PROCESS_LIBS gettext_LIBRARY)
libfind_process(gettext)
diff --git a/data/schema.xml b/data/schema.xml
index 60fcd55..9d1938d 100644
--- a/data/schema.xml
+++ b/data/schema.xml
@@ -178,6 +178,7 @@ to save the current settings to XML.
<entry name="audio/playback" type="string_list">
<stringvalue></stringvalue>
<stringvalue>alsa:hw:0</stringvalue>
+ <stringvalue>channels=2</stringvalue>
<!-- <stringvalue>channels=2,rate=44100,frames=256@alsa</stringvalue> -->
<locale name="C">
<short>Playback devices</short>
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
index 816e4c5..c84fd5c 100644
--- a/game/CMakeLists.txt
+++ b/game/CMakeLists.txt
@@ -20,7 +20,7 @@ else()
endif()
# Find all the libs that don't require extra parameters
-foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ Magick++ GLEW AVFormat SWScale OpenGL Z Jpeg Tiff Png Gettext)
+foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ Magick++ GLEW AVFormat SWScale OpenGL gettext Z Jpeg Tiff Png)
find_package(${lib} REQUIRED)
include_directories(${${lib}_INCLUDE_DIRS})
list(APPEND LIBS ${${lib}_LIBRARIES})
diff --git a/game/fs.cc b/game/fs.cc
index 3d3fc30..5e644f7 100644
--- a/game/fs.cc
+++ b/game/fs.cc
@@ -8,6 +8,11 @@
#include <list>
#include <sstream>
+#ifdef _WIN32
+#include <windows.h>
+#include <Shlobj.h>
+#endif
+
fs::path getHomeDir() {
static fs::path dir;
static bool initialized = false;
@@ -20,13 +25,36 @@ fs::path getHomeDir() {
}
fs::path getConfigDir() {
+
static fs::path dir;
static bool initialized = false;
if (!initialized) {
initialized = true;
- char const* conf = getenv("XDG_CONFIG_HOME");
- if (conf) dir = fs::path(conf) / "performous";
- else dir = getHomeDir() / ".config" / "performous";
+ #ifndef _WIN32
+ {
+ char const* conf = getenv("XDG_CONFIG_HOME");
+ if (conf) dir = fs::path(conf) / "performous";
+ else dir = getHomeDir() / ".config" / "performous";
+ }
+ #else
+ {
+ //open AppData directory
+ std::string str;
+ ITEMIDLIST* pidl;
+ char AppDir[MAX_PATH];
+ HRESULT hRes = SHGetSpecialFolderLocation( NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE , &pidl );
+ if (hRes==NOERROR)
+ {
+ SHGetPathFromIDList( pidl, AppDir );
+ int i;
+ for(i = 0; AppDir[i] != '\0'; i++){
+ if(AppDir[i] == '\\') str += '/';
+ else str += AppDir[i];
+ }
+ dir = fs::path(str) / "performous";
+ }
+ }
+ #endif
}
return dir;
}
@@ -77,8 +105,9 @@ std::string getPath(fs::path const& filename) {
#ifdef _WIN32
// Add APPLIC~1 (user-specific application data) FIXME: Not tested
{
- char const* appdata = getenv("APPDATA");
- if (appdata) dirs.push_back(appdata / shortDir);
+ //char const* appdata = getenv("APPDATA");
+ //if (appdata) dirs.push_back(appdata / shortDir);
+ dirs.push_back(getConfigDir());
}
#else
// Adding XDG_DATA_HOME
diff --git a/game/main.cc b/game/main.cc
index 6e42d13..fb00719 100644
--- a/game/main.cc
+++ b/game/main.cc
@@ -8,6 +8,7 @@
#include "database.hh"
#include "xtime.hh"
#include "video_driver.hh"
+#include "i18n.h"
// Screens
#include "screen_intro.hh"
@@ -206,6 +207,11 @@ template <typename Container> void confOverride(Container const& c, std::string
}
int main(int argc, char** argv) {
+ // initialize gettext
+ setlocale (LC_ALL, "");
+ bindtextdomain (PACKAGE, "../locale");
+ textdomain (PACKAGE);
+
std::cout << PACKAGE " " VERSION << std::endl;
std::signal(SIGINT, quit);
std::signal(SIGTERM, quit);
diff --git a/lang/README b/lang/README
new file mode 100644
index 0000000..b33acca
--- /dev/null
+++ b/lang/README
@@ -0,0 +1,21 @@
+To add new languages:
+
+Download POEdit (http://www.poedit.net/)
+ 1. Start POEdit
+ 2. Click File -> New Catalog
+ 3. Enter a project name (performous)
+ 4. Click the Paths tab at the top
+ 5. Click the New Item icon (second one, looks like a little square)
+ 6. Enter the path to the directory containing your plugin file ("." tells POEdit to scan the directory that you will save the file to, usually only need to include ../game), press enter
+ 7. Click the Keywords tab at the top
+ 8. Click the New Item icon
+ 9. Enter _ (that's underscore), press enter
+ 12. Click Okay
+ 13. Choose a name for your .po file (performous)
+
+REMEMBER TO SAVE INTO A SUBDIR WITH <your-locale>/LC_MESSAGES/performous.po
+
+Example for English:
+en/LC_MESSAGES/performous.po
+
+Thanks to guide at http://codex.wordpress.org/User:Skippy/Creating_POT_Files
\ No newline at end of file
diff --git a/lang/it/LC_MESSAGES/performous.mo b/lang/it/LC_MESSAGES/performous.mo
new file mode 100644
index 0000000..160d278
Binary files /dev/null and b/lang/it/LC_MESSAGES/performous.mo differ
diff --git a/lang/it/LC_MESSAGES/performous.po b/lang/it/LC_MESSAGES/performous.po
new file mode 100644
index 0000000..05f88f2
--- /dev/null
+++ b/lang/it/LC_MESSAGES/performous.po
@@ -0,0 +1,96 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Performous\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-12-07 01:56+0100\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Xaldyz <xa...@us...>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-SearchPath-0: ../game\n"
+
+#: ../game/screen_hiscore.cc:104
+msgid "Hiscore for "
+msgstr "Punteggio per "
+
+#: ../game/screen_intro.cc:9
+msgid "Perform"
+msgstr "Perform"
+
+#: ../game/screen_intro.cc:9
+msgid "Start performing!"
+msgstr "Start performing!"
+
+#: ../game/screen_intro.cc:10
+msgid "Practice"
+msgstr "Pratica"
+
+#: ../game/screen_intro.cc:10
+msgid "Check your skills or test the microphones"
+msgstr "Controlla quanto sei bravo / Test microfono"
+
+#: ../game/screen_intro.cc:11
+msgid "Configure"
+msgstr "Configura"
+
+#: ../game/screen_intro.cc:11
+msgid "Configure game options"
+msgstr "Opzioni di configurazione del gioco"
+
+#: ../game/screen_intro.cc:12
+msgid "Quit"
+msgstr "Esci"
+
+#: ../game/screen_intro.cc:12
+msgid "Leave the game"
+msgstr "Esci dal gioco"
+
+#: ../game/screen_intro.cc:19
+msgid "No playback devices could be used.\n"
+msgstr "Nessun dispositivo di riproduzione trovato.\n"
+
+#: ../game/screen_intro.cc:20
+msgid "No microphones found.\n"
+msgstr "Nessun microfono trovato.\n"
+
+#: ../game/screen_intro.cc:21
+msgid ""
+"\n"
+"Please configure some before playing."
+msgstr ""
+"\n"
+"Per favore controlla le tue impostazioni\n"
+"prima di giocare."
+
+#: ../game/screen_players.cc:110
+msgid "No players found!"
+msgstr "Nessun giocatore trovato!"
+
+#: ../game/screen_players.cc:111
+msgid "Enter a name to create a new player."
+msgstr "Inserisci il nome di un nuovo giocatore"
+
+#: ../game/screen_players.cc:113
+msgid "Press enter to create player!"
+msgstr "Premi invio per creare un giocatore!"
+
+#: ../game/screen_songs.cc:209
+msgid "No songs found!"
+msgstr "Nessuna canzone trovata!"
+
+#: ../game/screen_songs.cc:210
+msgid ""
+"Visit performous.org\n"
+"for free songs"
+msgstr ""
+"Visita il sito performous.org\n"
+"per canzoni gratuite"
+
+#: ../game/screen_songs.cc:212
+msgid "no songs match search"
+msgstr "nessuna corrispondenza trovata"
+
|
|
From: Tapio V. <aa...@us...> - 2009-12-08 22:47:26
|
Module: performous Branch: master Commit: bf912c05c0dee8aa7fb20bd14d0b2bd365009f16 Author: Tapio Vierros <tap...@gm...> Date: Wed Dec 9 00:10:41 2009 +0200 Added ~/.performous/songs/ to search path. (As there already is ~/.performous/backgrounds) --- data/schema.xml | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/data/schema.xml b/data/schema.xml index 60fcd55..ab7edca 100644 --- a/data/schema.xml +++ b/data/schema.xml @@ -216,6 +216,7 @@ to save the current settings to XML. <stringvalue>/usr/share/games/ultrastar/songs/</stringvalue> <stringvalue>/usr/share/games/fretsonfire/data/songs/</stringvalue> <stringvalue>../songs/</stringvalue><!-- For Windows where the program is started in bin/ --> + <stringvalue>~/.performous/songs/</stringvalue> <stringvalue>~/.ultrastar/songs/</stringvalue> <stringvalue>~/.fretsonfire/songs/</stringvalue> <locale name="C"> |
|
From: Tapio V. <aa...@us...> - 2009-12-08 22:47:22
|
Module: performous
Branch: master
Commit: a62d81d80e18c1d8526b5087fa722d134735ac72
Author: Tapio Vierros <tap...@gm...>
Date: Wed Dec 9 00:08:01 2009 +0200
Tweaks to Players screen.
---
game/screen_players.cc | 19 ++++++++++---------
game/screen_players.hh | 2 +-
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/game/screen_players.cc b/game/screen_players.cc
index ee0130e..b8e8951 100644
--- a/game/screen_players.cc
+++ b/game/screen_players.cc
@@ -84,11 +84,12 @@ void ScreenPlayers::manageEvent(SDL_Event event) {
// frustrating for second one that he cannot enter, so better go for next one...
}
}
- // The rest are only available when there are songs available
else if (m_players.empty()) return;
else if (key == SDLK_SPACE || (key == SDLK_PAUSE || (key == SDLK_p && mod & KMOD_CTRL))) m_audio.togglePause();
else if (key == SDLK_LEFT) m_players.advance(-1);
else if (key == SDLK_RIGHT) m_players.advance(1);
+ else if (key == SDLK_UP) m_players.advance(-1);
+ else if (key == SDLK_DOWN) m_players.advance(1);
else if (key == SDLK_PAGEUP) m_players.advance(-10);
else if (key == SDLK_PAGEDOWN) m_players.advance(10);
}
@@ -115,14 +116,14 @@ void ScreenPlayers::draw() {
}
} else {
// Format the player information text
- oss_song << m_database.scores.front().track << "\n";
+ oss_song << m_database.scores.front().track << '\n';
// TODO: use boost::format
- oss_song << "You reached " << m_database.scores.front().score << " points!";
- oss_order << "Please enter your Name!\n"
- << "Name: " << m_players.current().name << '\n';
- m_database.queryPerPlayerHiscore(oss_order);
- oss_order << "\nSearch Text: "
- << (m_search.text.empty() ? std::string("please enter") : m_search.text)
+ oss_song << _("You reached") << ' ' << m_database.scores.front().score << ' ' << _("points!");
+ oss_order << _("Change player with arrow keys.") << '\n'
+ << _("Name:") << ' ' << m_players.current().name << '\n';
+ //m_database.queryPerPlayerHiscore(oss_order);
+ oss_order << '\n'
+ << (m_search.text.empty() ? _("Type text to filter or create a new player.") : std::string(_("Search Text:")) + " " + m_search.text)
<< '\n';
double spos = m_players.currentPosition(); // This needs to be polled to run the animation
@@ -159,7 +160,7 @@ void ScreenPlayers::draw() {
theme->song.draw(oss_song.str());
theme->order.draw(oss_order.str());
- // Schedule playback change if the chosen song has changed
+ // Schedule playback change if the chosen song has changed
if (music != m_playReq) { m_playReq = music; m_playTimer.setValue(0.0); }
// Play/stop preview playback (if it is the time)
if (music != m_playing && m_playTimer.get() > 0.4) {
diff --git a/game/screen_players.hh b/game/screen_players.hh
index 5786d5b..c9d9941 100644
--- a/game/screen_players.hh
+++ b/game/screen_players.hh
@@ -16,7 +16,7 @@ class ThemeSongs;
class LayoutSinger;
-/** song chooser screen.
+/** Player hiscore addition screen.
Database is passed as argument, but only the players is stored
and used everywhere.
*/
|
|
From: Tapio V. <aa...@us...> - 2009-12-08 22:46:45
|
Module: performous
Branch: dance
Commit: 212bc0f93468058a21c0533e18ab833f664eb70e
Author: Tapio Vierros <tap...@gm...>
Date: Tue Dec 8 23:52:54 2009 +0200
Avoid unnecessary rescaling in texture loading.
(Occured when non-pow2 tex extension is unavailable resulting in lowered quality in some cases.)
---
game/surface.cc | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/game/surface.cc b/game/surface.cc
index 19cd95d..b98eab7 100644
--- a/game/surface.cc
+++ b/game/surface.cc
@@ -25,9 +25,9 @@ float Dimensions::screenY() const {
namespace {
bool isPow2(unsigned int val) {
- unsigned int count = 0;
- do { if (val & 1) ++count; } while (val >>= 1);
- return val == 1;
+ if (val == 0) return false;
+ if ((val & (val-1)) == 0) return true; // From Wikipedia: Power_of_two
+ return false;
}
unsigned int nextPow2(unsigned int val) {
@@ -161,7 +161,8 @@ void Texture::load(unsigned int width, unsigned int height, pix::Format format,
PixFmt const& f = getPixFmt(format);
glPixelStorei(GL_UNPACK_SWAP_BYTES, f.swap);
// Load the data into texture
- if (checkExtension("GL_ARB_texture_non_power_of_two")) { // Use OpenGL 2.0 functionality
+ if ((isPow2(width) && isPow2(height)) ||
+ checkExtension("GL_ARB_texture_non_power_of_two")) { // Use OpenGL 2.0 functionality
glTexImage2D(type(), 0, GL_RGBA, width, height, 0, f.format, f.type, buffer);
} else {
// TODO: Test for OpenGL extension GL_ARB_texture_non_power_of_two and if not found,
|
|
From: Tapio V. <aa...@us...> - 2009-12-08 22:46:42
|
Module: performous Branch: dance Commit: 82ca64e2d1e45c6c112e59c469d0fc7166adc875 Author: Tapio Vierros <tap...@gm...> Date: Tue Dec 8 23:50:10 2009 +0200 Separate images for each arrow line in dancing. (Some tweaking is still needed.) --- game/dancegraph.cc | 71 ++++--- game/dancegraph.hh | 7 +- themes/default/arrow.svg | 85 -------- themes/default/arrow_hold.svg | 178 ---------------- themes/default/arrows.svg | 201 ++++++++++++++++++ themes/default/arrows_cursor.svg | 201 ++++++++++++++++++ themes/default/arrows_hold.svg | 413 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 859 insertions(+), 297 deletions(-) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-12-08 05:55:40
|
Module: performous
Branch: master
Commit: 7e5daaba06d413f015d7cf6c894e681e4705974b
Author: Lasse Karkkainen <tro...@tr...>
Date: Tue Dec 8 07:49:13 2009 +0200
Bugfix: vocal input now starts at the beginning of the song instead of where the preview was playing
---
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 8aa867d..d070d3d 100644
--- a/game/screen_sing.cc
+++ b/game/screen_sing.cc
@@ -54,7 +54,6 @@ void ScreenSing::enter() {
m_progress->dimensions.fixedWidth(0.4).left(-0.5).screenTop();
theme->timer.dimensions.screenTop(0.5 * m_progress->dimensions.h());
boost::ptr_vector<Analyzer>& analyzers = m_capture.analyzers();
- m_engine.reset(new Engine(m_audio, *m_song, analyzers.begin(), analyzers.end(), m_database));
m_layout_singer.reset(new LayoutSinger(*m_song, m_database, theme));
// I know some purists would hang me for this loop
if( !m_song->track_map.empty() ) {
@@ -92,6 +91,7 @@ void ScreenSing::enter() {
}
}
m_audio.playMusic(m_song->music, false, 0.0, m_instruments.empty() ? -1.0 : -8.0); // Startup delay for instruments is longer than for singing only
+ m_engine.reset(new Engine(m_audio, *m_song, analyzers.begin(), analyzers.end(), m_database));
}
void ScreenSing::instrumentLayout(double time) {
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-12-08 05:55:36
|
Module: performous
Branch: master
Commit: ed910310ae0c84496afc7d613032ed00db0edab3
Author: Lasse Karkkainen <tro...@tr...>
Date: Tue Dec 8 07:18:52 2009 +0200
Revert "Added shared data dir outside prefix (gentoo requirement)"
This reverts commit e9516b593b2573e392e0b4b6746b6de3901ded65.
---
game/configuration.cc | 6 +-----
game/fs.cc | 9 ++-------
2 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/game/configuration.cc b/game/configuration.cc
index c40686e..26d41b6 100644
--- a/game/configuration.cc
+++ b/game/configuration.cc
@@ -316,11 +316,7 @@ void readConfig() {
typedef std::vector<std::string> ConfigList;
ConfigList config_list;
char const* root = getenv("PERFORMOUS_ROOT");
- if( SHARED_DATA_DIR[0] == '/' ) {
- config_list.push_back(SHARED_DATA_DIR CONFIG_SCHEMA);
- } else {
- if (root) config_list.push_back(std::string(root) + "/" SHARED_DATA_DIR CONFIG_SCHEMA);
- }
+ if (root) config_list.push_back(std::string(root) + "/" SHARED_DATA_DIR CONFIG_SCHEMA);
fs::path exec = plugin::execname();
if (!exec.empty()) config_list.push_back(exec.parent_path().string() + "/../" SHARED_DATA_DIR CONFIG_SCHEMA);
ConfigList::const_iterator it = std::find_if(config_list.begin(), config_list.end(), static_cast<bool(&)(fs::path const&)>(fs::exists));
diff --git a/game/fs.cc b/game/fs.cc
index 3d3fc30..852529a 100644
--- a/game/fs.cc
+++ b/game/fs.cc
@@ -88,13 +88,8 @@ std::string getPath(fs::path const& filename) {
dirs.push_back(xdg_data_home ? xdg_data_home / shortDir : getHomeDir() / ".local" / shareDir);
}
#endif
- if( shareDir.string()[0] == '/' ) {
- // Adding absolute path
- dirs.push_back(shareDir);
- } else {
- // Adding relative path from executable
- dirs.push_back(plugin::execname().parent_path().parent_path() / shareDir);
- }
+ // Adding relative path from executable
+ dirs.push_back(plugin::execname().parent_path().parent_path() / shareDir);
#ifndef _WIN32
// Adding XDG_DATA_DIRS
{
|
|
From: Yoda-JM <yo...@us...> - 2009-12-07 06:11:04
|
Module: performous Branch: master Commit: 817b8d77c434c9f9ef031c13f15922f35936c307 Author: Vincent Le Ligeour <yo...@us...> Date: Mon Dec 7 07:10:46 2009 +0100 Added pragma once inside i18n.hh --- game/i18n.hh | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/game/i18n.hh b/game/i18n.hh index 24b87b9..ed353e1 100644 --- a/game/i18n.hh +++ b/game/i18n.hh @@ -1,3 +1,5 @@ +#pragma once + /* Internationalization Dependances */ #include <libintl.h> #include <locale.h> |
|
From: Tapio V. <aa...@us...> - 2009-12-06 20:52:03
|
Module: performous Branch: master Commit: 4908a0441bcf3092d565243070bfadf0d3a09b09 Author: Tapio Vierros <tap...@gm...> Date: Sun Dec 6 22:50:07 2009 +0200 Fixed cmake gettext finding on linux. --- cmake/Modules/FindGettext.cmake | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/cmake/Modules/FindGettext.cmake b/cmake/Modules/FindGettext.cmake index 63c92f0..f1b0f5d 100644 --- a/cmake/Modules/FindGettext.cmake +++ b/cmake/Modules/FindGettext.cmake @@ -24,4 +24,4 @@ find_library(Gettext_LIBRARY set(Gettext_PROCESS_INCLUDES Gettext_INCLUDE_DIR) set(Gettext_PROCESS_LIBS Gettext_LIBRARY) -libfind_process(Gettext) \ No newline at end of file +libfind_process(gettext) |
|
From: Stefano A. <xa...@us...> - 2009-12-06 20:18:14
|
Module: performous Branch: master Commit: 69e5e4e13bdd2ebd647cd57212c0ba321d60e477 Author: Xaldyz <xa...@us...> Date: Sun Dec 6 21:18:00 2009 +0100 Solved include problems of gettext under Windows --- cmake/Modules/FindGettext.cmake | 27 +++++++++++++++++++++++++++ game/CMakeLists.txt | 2 +- 2 files changed, 28 insertions(+), 1 deletions(-) diff --git a/cmake/Modules/FindGettext.cmake b/cmake/Modules/FindGettext.cmake new file mode 100644 index 0000000..63c92f0 --- /dev/null +++ b/cmake/Modules/FindGettext.cmake @@ -0,0 +1,27 @@ +# - Try to find Gettext +# Once done, this will define +# +# Gettext_FOUND - system has Gettext +# Gettext_INCLUDE_DIRS - the Gettext include directories +# Gettext_LIBRARIES - link these to use Gettext +# +# See documentation on how to write CMake scripts at +# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries + +include(LibFindMacros) + +libfind_pkg_check_modules(Gettext_PKGCONF Gettext) + +find_path(Gettext_INCLUDE_DIR + NAMES libintl.h + PATHS ${Gettext_PKGCONF_INCLUDE_DIRS} +) + +find_library(Gettext_LIBRARY + NAMES libintl + PATHS ${Gettext_PKGCONF_LIBRARY_DIRS} +) + +set(Gettext_PROCESS_INCLUDES Gettext_INCLUDE_DIR) +set(Gettext_PROCESS_LIBS Gettext_LIBRARY) +libfind_process(Gettext) \ No newline at end of file diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt index 4e48a6c..816e4c5 100644 --- a/game/CMakeLists.txt +++ b/game/CMakeLists.txt @@ -20,7 +20,7 @@ else() endif() # Find all the libs that don't require extra parameters -foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ Magick++ GLEW AVFormat SWScale OpenGL Z Jpeg Tiff Png) +foreach(lib ${OUR_LIBS} SDL PangoCairo LibRSVG LibXML++ Magick++ GLEW AVFormat SWScale OpenGL Z Jpeg Tiff Png Gettext) find_package(${lib} REQUIRED) include_directories(${${lib}_INCLUDE_DIRS}) list(APPEND LIBS ${${lib}_LIBRARIES}) |
|
From: Stefano A. <xa...@us...> - 2009-12-06 18:26:14
|
Module: performous Branch: master Commit: 44fe74fa329c400214d08dc04506ab65053239ba Author: Xaldyz <xa...@us...> Date: Sun Dec 6 19:25:59 2009 +0100 added myself to Authors.txt --- docs/Authors.txt | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/docs/Authors.txt b/docs/Authors.txt index 2fa5682..51ec750 100644 --- a/docs/Authors.txt +++ b/docs/Authors.txt @@ -1,4 +1,4 @@ -ACTIVE DEVELOPERS +ACTIVE DEVELOPERS ----------------- Vincent Le Ligeour <yoda-jm at users.sourceforge.net> @@ -37,6 +37,9 @@ Miguel Sánchez de León Peque <msdeleonpeque at gmail.com> * Main menu * SVG design +Xaldyz <xaldyz at users.sourceforge.net> + * Windows build fixes and testing + INACTIVE DEVELOPERS ------------------- |
|
From: Peque <ms...@us...> - 2009-12-06 15:41:52
|
Module: performous Branch: master Commit: cab3951ea08fdd0483db06817bbf1f0f8ffbc74a Author: Miguel Sánchez de León Peque <peq...@ho...> Date: Sun Dec 6 16:41:15 2009 +0100 Authors.txt list updated. --- docs/Authors.txt | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/docs/Authors.txt b/docs/Authors.txt index 492e44a..2fa5682 100644 --- a/docs/Authors.txt +++ b/docs/Authors.txt @@ -33,6 +33,10 @@ Fabian Fingerle <fabian at datensalat.eu> Tapio Vierros <aave000 at users.sourceforge.net> * Various things and features +Miguel Sánchez de León Peque <msdeleonpeque at gmail.com> + * Main menu + * SVG design + INACTIVE DEVELOPERS ------------------- |
|
From: Matti K. <mpk...@us...> - 2009-12-06 14:44:49
|
Module: performous
Branch: dance
Commit: 39bf7a0129167d8be0bfb44bfcd512bb111eedf8
Author: Matti Kemppainen <mpk...@us...>
Date: Sun Dec 6 16:44:31 2009 +0200
Some initial code for recognizing hold end..
---
game/dancegraph.cc | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/game/dancegraph.cc b/game/dancegraph.cc
index ed9ee21..b9847a3 100644
--- a/game/dancegraph.cc
+++ b/game/dancegraph.cc
@@ -110,6 +110,7 @@ void DanceGraph::engine() {
}
if (ev.type == input::Event::RELEASE) {
m_pressed[ev.button] = false;
+ dance(time, ev);
}
else if (ev.type == input::Event::PRESS) {
m_pressed[ev.button] = true;
@@ -125,26 +126,35 @@ void DanceGraph::engine() {
* Compare to the usage in the dance() function!
* Iterator is first initialized in the difficulty setting..
**/
- for (DanceNotes::iterator& it = m_notesIt; it != m_notes.end() && it->note.begin < time - maxTolerance; it++) {
+/* for (DanceNotes::iterator& it = m_notesIt; it != m_notes.end() && it->note.begin < time - maxTolerance; it++) {
if(!it->isHit)
std::cout << "Missed note at time " << time
<< "(note timing " << it->note.begin << ")" << std::endl;
- }
+ }*/
}
/// Handles scoring and such
void DanceGraph::dance(double time, input::Event const& ev) {
- std::cout << "Pressed button " << ev.button << " at time " << time << std::endl;
- int a = 0;
+ if(ev.type == input::Event::RELEASE) {
+ // (at least) initial hack for testing hold end..
+ for (DanceNotes::iterator it = m_notesIt; it != m_notes.end() && it->note.begin <= time + maxTolerance; it++) {
+ if(it->isHit && it->note.end - it->note.begin > 0.5) {
+ it->releaseTime = time;
+ it->isHit = false;
+ }
+ }
+ return;
+ }
+
+ std::cout << "Pressed button " << ev.button << " at time " << time << std::endl;
/**
* Idea behind the usage of the iterator:
* Here it is copied to a local variable, because jumping back to the first accepted time (within tolerance)
* is necessary in order to recognize notes closely timed notes.
**/
for (DanceNotes::iterator it = m_notesIt; it != m_notes.end() && it->note.begin <= time + maxTolerance; it++) {
- a++;
if(!it->isHit && ev.button == it->note.note) {
// following clause needless?
if(!(it->note.begin >= time - maxTolerance))
@@ -158,7 +168,6 @@ void DanceGraph::dance(double time, input::Event const& ev) {
m_score += p;
}
}
- std::cout << "Dance had " << a << " iterations." << std::endl;
}
|
Module: performous
Branch: dance
Commit: 15f91ca74372648275851dddf4e0dacc4e4b5975
Author: Matti Kemppainen <ke...@gm...>
Date: Sun Dec 6 16:20:48 2009 +0200
Now recognizes closely timed notes stepped in wrong order (should be accepted within tolerance). Two notes at the same time is a special case of closely timed notes. Not thoroughly tested yet!
---
game/dancegraph.cc | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/game/dancegraph.cc b/game/dancegraph.cc
index 3e21f1a..ed9ee21 100644
--- a/game/dancegraph.cc
+++ b/game/dancegraph.cc
@@ -118,21 +118,47 @@ void DanceGraph::engine() {
m_pressed_anim[ev.button].setTarget(0.0);
}
}
-
+
+ /**
+ * Idea in the usage of the iterator:
+ * Here it is used as reference to avoid needless iterations of the past notes during later calls of engine().
+ * Compare to the usage in the dance() function!
+ * Iterator is first initialized in the difficulty setting..
+ **/
+ for (DanceNotes::iterator& it = m_notesIt; it != m_notes.end() && it->note.begin < time - maxTolerance; it++) {
+ if(!it->isHit)
+ std::cout << "Missed note at time " << time
+ << "(note timing " << it->note.begin << ")" << std::endl;
+ }
}
/// Handles scoring and such
void DanceGraph::dance(double time, input::Event const& ev) {
- for (DanceNotes::iterator& it = m_notesIt; it != m_notes.end() && it->note.begin <= time + maxTolerance; ++it) {
+ std::cout << "Pressed button " << ev.button << " at time " << time << std::endl;
+ int a = 0;
+ /**
+ * Idea behind the usage of the iterator:
+ * Here it is copied to a local variable, because jumping back to the first accepted time (within tolerance)
+ * is necessary in order to recognize notes closely timed notes.
+ **/
+ for (DanceNotes::iterator it = m_notesIt; it != m_notes.end() && it->note.begin <= time + maxTolerance; it++) {
+ a++;
if(!it->isHit && ev.button == it->note.note) {
+ // following clause needless?
+ if(!(it->note.begin >= time - maxTolerance))
+ std::cout << "Missed note. Timing: " << it->note.begin << "; Time: " << time
+ << "(difference " << (it->note.begin - time) << ")" << std::endl;
it->isHit = true;
double p = points(it->note.begin - time);
+ std::cout << "Hit note " << ev.button << " at time " << time
+ << "; " << p << " points." << std::endl;
it->score = p;
m_score += p;
}
}
+ std::cout << "Dance had " << a << " iterations." << std::endl;
}
|
|
From: Yoda-JM <yo...@us...> - 2009-12-06 12:01:08
|
Module: performous
Branch: master
Commit: 3198bf3c843ee9c67205c8ca14e4cd9e98dafa45
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Dec 6 13:00:49 2009 +0100
Added some i18n stuffs (work in progress)
---
game/i18n.hh | 4 ++++
game/screen_hiscore.cc | 3 ++-
game/screen_intro.cc | 15 ++++++++-------
game/screen_players.cc | 9 +++++----
game/screen_sing.cc | 2 ++
game/screen_songs.cc | 8 ++++----
6 files changed, 25 insertions(+), 16 deletions(-)
diff --git a/game/i18n.hh b/game/i18n.hh
new file mode 100644
index 0000000..24b87b9
--- /dev/null
+++ b/game/i18n.hh
@@ -0,0 +1,4 @@
+/* Internationalization Dependances */
+#include <libintl.h>
+#include <locale.h>
+#define _(x) gettext(x)
diff --git a/game/screen_hiscore.cc b/game/screen_hiscore.cc
index 9984c47..a369edf 100644
--- a/game/screen_hiscore.cc
+++ b/game/screen_hiscore.cc
@@ -5,6 +5,7 @@
#include "fs.hh"
#include "util.hh"
#include "database.hh"
+#include "i18n.hh"
#include <iostream>
#include <sstream>
@@ -100,7 +101,7 @@ void ScreenHiscore::draw() {
std::ostringstream oss_song, oss_order;
// Format the player information text
- oss_song << "Hiscore for " << m_song->title << "\n";
+ oss_song << _("Hiscore for ") << m_song->title << "\n";
m_database.queryPerSongHiscore(oss_order, m_song);
diff --git a/game/screen_intro.cc b/game/screen_intro.cc
index 27b70f5..2e5aec9 100755
--- a/game/screen_intro.cc
+++ b/game/screen_intro.cc
@@ -3,21 +3,22 @@
#include "fs.hh"
#include "audio.hh"
#include "record.hh"
+#include "i18n.hh"
ScreenIntro::ScreenIntro(std::string const& name, Audio& audio, Capture& capture): Screen(name), m_audio(audio), m_capture(capture), selected() {
- m_menuOptions.push_back(new MenuOption("Perform", "Songs", "intro_sing.svg", "Start performing!"));
- m_menuOptions.push_back(new MenuOption("Practice", "Practice", "intro_practice.svg", "Check your skills or test the microphones"));
- m_menuOptions.push_back(new MenuOption("Configure", "Configuration", "intro_configure.svg", "Configure game options"));
- m_menuOptions.push_back(new MenuOption("Quit", "", "intro_quit.svg", "Leave the game"));
+ m_menuOptions.push_back(new MenuOption(_("Perform"), "Songs", "intro_sing.svg", _("Start performing!")));
+ m_menuOptions.push_back(new MenuOption(_("Practice"), "Practice", "intro_practice.svg", _("Check your skills or test the microphones")));
+ m_menuOptions.push_back(new MenuOption(_("Configure"), "Configuration", "intro_configure.svg", _("Configure game options")));
+ m_menuOptions.push_back(new MenuOption(_("Quit"), "", "intro_quit.svg", _("Leave the game")));
}
void ScreenIntro::enter() {
m_audio.playMusic(getThemePath("menu.ogg"), true);
theme.reset(new ThemeIntro());
std::string msg;
- if (!m_audio.isOpen()) msg = "No playback devices could be used.\n";
- if (m_capture.analyzers().empty()) msg += "No microphones found.\n";
- if (!msg.empty()) m_dialog.reset(new Dialog(msg + "\nPlease configure some before playing."));
+ if (!m_audio.isOpen()) msg = _("No playback devices could be used.\n");
+ if (m_capture.analyzers().empty()) msg += _("No microphones found.\n");
+ if (!msg.empty()) m_dialog.reset(new Dialog(msg + _("\nPlease configure some before playing.")));
}
void ScreenIntro::exit() {
diff --git a/game/screen_players.cc b/game/screen_players.cc
index ec4cd2c..ee0130e 100644
--- a/game/screen_players.cc
+++ b/game/screen_players.cc
@@ -8,6 +8,7 @@
#include "layout_singer.hh"
#include "theme.hh"
#include "video.hh"
+#include "i18n.hh"
#include <iostream>
#include <sstream>
@@ -106,16 +107,16 @@ void ScreenPlayers::draw() {
if (m_players.empty()) {
// Format the song information text
if (m_search.text.empty()) {
- oss_song << "No players found!";
- // oss_order << "Check " << m_players.file() << "\n" << "directory for players\n";
- oss_order << "Enter a name to create a new player.";
+ oss_song << _("No players found!");
+ oss_order << _("Enter a name to create a new player.");
} else {
- oss_song << "Press enter to create player!";
+ oss_song << _("Press enter to create player!");
oss_order << m_search.text << '\n';
}
} else {
// Format the player information text
oss_song << m_database.scores.front().track << "\n";
+ // TODO: use boost::format
oss_song << "You reached " << m_database.scores.front().score << " points!";
oss_order << "Please enter your Name!\n"
<< "Name: " << m_players.current().name << '\n';
diff --git a/game/screen_sing.cc b/game/screen_sing.cc
index b221df1..8aa867d 100644
--- a/game/screen_sing.cc
+++ b/game/screen_sing.cc
@@ -9,6 +9,7 @@
#include "video.hh"
#include "guitargraph.hh"
#include "glutil.hh"
+#include "i18n.hh"
#include <boost/format.hpp>
#include <boost/lexical_cast.hpp>
@@ -96,6 +97,7 @@ void ScreenSing::enter() {
void ScreenSing::instrumentLayout(double time) {
for (Instruments::iterator it = m_instruments.begin(); it != m_instruments.end();) {
if (it->dead(time)) {
+ // TODO: use boost::format
std::cout << it->getTrack() << " was thrown out after " << time << " inactive" << std::endl;
it = m_instruments.erase(it);
} else ++it;
diff --git a/game/screen_songs.cc b/game/screen_songs.cc
index 22bb819..e5a55a6 100644
--- a/game/screen_songs.cc
+++ b/game/screen_songs.cc
@@ -6,6 +6,7 @@
#include "util.hh"
#include "songs.hh"
#include "audio.hh"
+#include "i18n.hh"
#include <iostream>
#include <sstream>
@@ -205,11 +206,10 @@ void ScreenSongs::draw() {
if (m_songs.empty()) {
// Format the song information text
if (m_search.text.empty()) {
- oss_song << "No songs found!";
- oss_order << "Visit performous.org\n";
- oss_order << "for free songs";
+ oss_song << _("No songs found!");
+ oss_order << _("Visit performous.org\nfor free songs");
} else {
- oss_song << "no songs match search";
+ oss_song << _("no songs match search");
oss_order << m_search.text << '\n';
}
} else {
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-12-06 03:44:11
|
Module: web Branch: master Commit: 038b06bf090373e9961fc37096301ddce9c02770 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Dec 6 05:43:49 2009 +0200 Archive some news --- htdocs-source/history.txt | 10 ++++++++++ htdocs-source/index.txt | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/htdocs-source/history.txt b/htdocs-source/history.txt index 0dc769a..839c80c 100644 --- a/htdocs-source/history.txt +++ b/htdocs-source/history.txt @@ -1,5 +1,15 @@ Archived news +:h2:2009-11-16 - Testers needed +Since the last status update we have had active development and currently the codebase is starting to look suitable for a release. Since waiting more will not make things better, we have set the release date as the next weekend. Please help us test the development version (git master) and let us know if there are any problems, especially if there are any regressions from 0.3.2. The instrument feature is not very pretty, but the playability of it already seems better than that of Frets on Fire. There are a few known issues with the FoF format song parser when dealing with vocal tracks. It is likely that these will not get fixed in time for 0.4.0. + +:h2:2009-10-28 - Status update +The development has been quiet during the last two months, but we have done various smaller fixes. The guitar support has been improved with pull-off support and new scoring. MIDI drum support is in the works. We decided not to release 0.4 yet, even though it would bring major new features, as the sound code has some regressions that may hurt users who don't even need the band game features. A release will be made once these issues have been fixed. + +In other news, we have three new developers working on a dance game feature in a separate branch. If all goes well, that should be available in the 0.5 release in January or so. + +The current band game graphics suck, so we are desperately looking for talented SVG graphicians. If you think you can work fluently in Inkscape or some other SVG software, and think you can help, please contact us (preferrably on IRC channel #performous on Freenode). + :h2:2009-08-23 - Git repository address changed SF.net now supports multiple repositories and because of that the address has changed. Use <strong>git config remote.origin.url git://git.performous.org/gitroot/performous/performous</strong> to set the new URL in your existing repository. diff --git a/htdocs-source/index.txt b/htdocs-source/index.txt index f9e4fb9..c241e55 100644 --- a/htdocs-source/index.txt +++ b/htdocs-source/index.txt @@ -37,13 +37,3 @@ A major new release that not only contains improvements to the singing game you Various small bugs fixed Special thanks to all the new developers who participated in this release (see a list of contributors and their activity at <a href="http://www.ohloh.net/projects/performous">Ohloh.net</a>). Without you it would not be possible to develop the game at a rate greater than ever before :) -:h2:2009-11-16 - Testers needed -Since the last status update we have had active development and currently the codebase is starting to look suitable for a release. Since waiting more will not make things better, we have set the release date as the next weekend. Please help us test the development version (git master) and let us know if there are any problems, especially if there are any regressions from 0.3.2. The instrument feature is not very pretty, but the playability of it already seems better than that of Frets on Fire. There are a few known issues with the FoF format song parser when dealing with vocal tracks. It is likely that these will not get fixed in time for 0.4.0. - -:h2:2009-10-28 - Status update -The development has been quiet during the last two months, but we have done various smaller fixes. The guitar support has been improved with pull-off support and new scoring. MIDI drum support is in the works. We decided not to release 0.4 yet, even though it would bring major new features, as the sound code has some regressions that may hurt users who don't even need the band game features. A release will be made once these issues have been fixed. - -In other news, we have three new developers working on a dance game feature in a separate branch. If all goes well, that should be available in the 0.5 release in January or so. - -The current band game graphics suck, so we are desperately looking for talented SVG graphicians. If you think you can work fluently in Inkscape or some other SVG software, and think you can help, please contact us (preferrably on IRC channel #performous on Freenode). - |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-12-06 03:44:08
|
Module: web Branch: master Commit: 904d8805330d594debd41a72cc0d32c91a4c4848 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Dec 6 05:31:39 2009 +0200 Use google.com --- htdocs-source/songs.txt | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/htdocs-source/songs.txt b/htdocs-source/songs.txt index f11d4c6..bbe1bc0 100644 --- a/htdocs-source/songs.txt +++ b/htdocs-source/songs.txt @@ -72,5 +72,5 @@ Download <a href="http://sourceforge.net/projects/performous/files/ultrastar-son Performous comes with a tool named <b>ss_extract</b> that can be used for extracting your SingStar DVDs. -Additionally, you may search Google for good songs in <a href="http://www.google.com/search?q=ultrastar+djpo">UltraStar</a> or <a href="http://www.google.fi/search?q=frets+on+fire+filetype:torrent">FoF</a> formats. +Additionally, you may search Google for good songs in <a href="http://www.google.com/search?q=ultrastar+djpo">UltraStar</a> or <a href="http://www.google.com/search?q=frets+on+fire+filetype:torrent">FoF</a> formats. |
|
From: Peque <ms...@us...> - 2009-12-06 01:58:06
|
Module: performous Branch: master Commit: 9077440832335a2b7cd03491520424112ac626f3 Author: Miguel Sánchez de León Peque <peq...@ho...> Date: Sat Dec 5 19:15:14 2009 +0100 Merge branch 'menu' --- |
|
From: Peque <ms...@us...> - 2009-12-06 01:58:04
|
Module: performous Branch: master Commit: 76b732d09e4ce8f354513fbddc0c711a1f1d6f2e Author: Miguel Sánchez de León Peque <peq...@ho...> Date: Sat Dec 5 18:38:37 2009 +0100 Fixed logo position in all screens. --- themes/default/configuration_bg.svg | 2 +- themes/default/intro_bg.svg | 2 +- themes/default/practice_bg.svg | 2 +- themes/default/songs_bg.svg | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) |
|
From: Peque <ms...@us...> - 2009-12-06 01:58:01
|
Module: performous
Branch: master
Commit: f406fc93f47b383aaeab2e3c39ae1d6a90dc1317
Author: Miguel Sánchez de León Peque <peq...@ho...>
Date: Sat Dec 5 18:29:30 2009 +0100
Fixed dialog text quality
---
game/dialog.hh | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/game/dialog.hh b/game/dialog.hh
index b6ca088..65b7d8e 100644
--- a/game/dialog.hh
+++ b/game/dialog.hh
@@ -3,6 +3,7 @@
#include "opengl_text.hh"
#include "fs.hh"
#include "surface.hh"
+#include "configuration.hh"
/// class for printing dialogues
class Dialog {
@@ -11,7 +12,7 @@ class Dialog {
Dialog(std::string const& text):
m_text(text),
m_dialog(getThemePath("warning.svg")),
- m_svgText(getThemePath("dialog_txt.svg"))
+ m_svgText(getThemePath("dialog_txt.svg"), config["graphic/text_lod"].f())
{
m_dialog.dimensions.fixedWidth(0.8);
}
|