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...> - 2009-07-11 13:14:25
|
Module: performous
Branch: master
Commit: b3cf65b8b5a1bee73ae4505d5447101b728100d2
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Jul 11 15:12:17 2009 +0200
Added some joystick stuffs
---
game/joystick.cc | 71 +++++++++++++++++++++++++++++++++++++---------
game/screen_practice.cc | 2 +-
2 files changed, 58 insertions(+), 15 deletions(-)
diff --git a/game/joystick.cc b/game/joystick.cc
index 8c888e6..84a178c 100644
--- a/game/joystick.cc
+++ b/game/joystick.cc
@@ -3,6 +3,51 @@
#include <iostream>
#include <cstdlib>
+class Joystick {
+ public:
+ Joystick() {};
+ Joystick(unsigned int _id): m_id(_id) {
+ m_joystick = SDL_JoystickOpen(m_id);
+ for( int i = 0 ; i < SDL_JoystickNumButtons(m_joystick) ; i++ ) {
+ m_buttons_states[i] = false;
+ }
+ for( int i = 0 ; i < SDL_JoystickNumAxes(m_joystick) ; i++ ) {
+ m_axes_values[i] = 0;
+ }
+ for( int i = 0 ; i < SDL_JoystickNumHats(m_joystick) ; i++ ) {
+ m_hats_values[i] = 0;
+ }
+ };
+ ~Joystick() {/*if(SDL_JoystickOpened(m_id)) SDL_JoystickClose(m_joystick);*/}; // should be called before SDL finished
+ std::string getName() const {return std::string(SDL_JoystickName(m_id));};
+ std::string getDescription() const {
+ std::string desc;
+ desc += "axes: ";
+ desc += boost::lexical_cast<std::string>(m_axes_values.size());
+ desc += ", buttons: ";
+ desc += boost::lexical_cast<std::string>(m_buttons_states.size());
+ desc += ", hats: ";
+ desc += boost::lexical_cast<std::string>(m_hats_values.size());
+ return desc;
+ };
+ void buttonPressed( int _button_id) { m_buttons_states[_button_id] = true; };
+ void buttonReleased( int _button_id) { m_buttons_states[_button_id] = false; };
+ bool buttonState(int _button_id) { return m_buttons_states[_button_id];};
+ void hat( int _hat_id, int _value) { m_hats_values[_hat_id] = _value;};
+ void axe( int _axe_id, int _value) { m_axes_values[_axe_id] = _value;};
+
+ int hat( int _hat_id) { return m_hats_values[_hat_id];};
+ int axe( int _axe_id) { return m_axes_values[_axe_id];};
+ private:
+ SDL_Joystick * m_joystick;
+ unsigned int m_id;
+ std::map<int, bool> m_buttons_states;
+ std::map<int, int> m_axes_values;
+ std::map<int, int> m_hats_values;
+};
+
+std::map<unsigned int,Joystick> joysticks;
+
#define PS3_DRUM_CONTROLLER_BLUE 0
#define PS3_DRUM_CONTROLLER_GREEN 1
#define PS3_DRUM_CONTROLLER_RED 2
@@ -13,16 +58,16 @@
void check_joystick_event(SDL_Event event, Audio &audio) {
switch( event.type ) {
case SDL_JOYAXISMOTION:
- std::cout << "Received an axis motion on " << (int)event.jaxis.which << std::endl;
+ joysticks[(int)event.jaxis.which].axe((int)event.jaxis.axis,(int)event.jaxis.value);
break;
case SDL_JOYHATMOTION:
- std::cout << "Received an hat motion on " << (int)event.jhat.which << std::endl;
+ joysticks[(int)event.jhat.which].axe((int)event.jhat.hat,(int)event.jhat.value);
break;
case SDL_JOYBALLMOTION:
- std::cout << "Received an ball motion on " << (int)event.jball.which << std::endl;
+ // relatives things, we do not want to manage this for the moment
break;
case SDL_JOYBUTTONDOWN:
- std::cout << "Received a button down on " << (int)event.jbutton.which << " on " << (int)event.jbutton.button << std::endl;
+ joysticks[(int)event.jbutton.which].buttonPressed((int)event.jbutton.button);
switch( event.jbutton.button ) {
case PS3_DRUM_CONTROLLER_RED: // Snare drum
audio.playSample(getDataPath("sounds/drum_snare.ogg"));
@@ -45,20 +90,18 @@ void check_joystick_event(SDL_Event event, Audio &audio) {
}
break;
case SDL_JOYBUTTONUP:
- std::cout << "Received a button up on " << (int)event.jbutton.which << std::endl;
+ joysticks[(int)event.jbutton.which].buttonReleased((int)event.jbutton.button);
break;
}
}
void probe() {
- int nbjoysticks = SDL_NumJoysticks();
- printf("Number of joysticks: %d\n\n", nbjoysticks);
+ unsigned int nbjoysticks = SDL_NumJoysticks();
+ printf("Number of joysticks: %u\n\n", nbjoysticks);
- for (int i = 0 ; i < nbjoysticks ; i++) {
- SDL_Joystick * joy = SDL_JoystickOpen(i);
- printf("Joystick %d %s\n", i, SDL_JoystickName(i));
- printf("Axes: %d\n", SDL_JoystickNumAxes(joy));
- printf("Buttons: %d\n", SDL_JoystickNumButtons(joy));
- printf("Trackballs: %d\n", SDL_JoystickNumBalls(joy));
- printf("Hats: %d\n\n", SDL_JoystickNumHats(joy));
+ for (unsigned int i = 0 ; i < nbjoysticks ; i++) {
+ joysticks[i] = Joystick(i);
+ std::cout << "Id: " << i << std::endl;
+ std::cout << "Name: " << joysticks[i].getName() << std::endl;
+ std::cout << "Description: " << joysticks[i].getDescription() << std::endl;
}
}
diff --git a/game/screen_practice.cc b/game/screen_practice.cc
index 0c18939..d931908 100644
--- a/game/screen_practice.cc
+++ b/game/screen_practice.cc
@@ -9,7 +9,7 @@ ScreenPractice::ScreenPractice(std::string const& name, Audio& audio, Capture& c
{}
void ScreenPractice::enter() {
- probe();
+ //probe();
m_audio.playMusic(getThemePath("practice.ogg"));
theme.reset(new ThemePractice());
// draw vu meters
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-11 10:21:14
|
Module: performous Branch: master Commit: 1f11cc0812ac30f8b70c2207127595e8ae0f44d7 Author: Lasse Karkkainen <tro...@tr...> Date: Sat Jul 11 13:21:01 2009 +0300 Merge branch 'master' of ssh://tronic@performous.git.sourceforge.net/gitroot/performous --- |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-11 10:21:14
|
Module: performous
Branch: master
Commit: d61350f11b9be06ffccb7250ae7916320315751d
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Jul 11 13:20:23 2009 +0300
Fix recursive scanning.
---
silkystrings/src/LauncherWindow.cpp | 2 +-
silkystrings/src/SongIterator.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/silkystrings/src/LauncherWindow.cpp b/silkystrings/src/LauncherWindow.cpp
index e500673..a791d85 100644
--- a/silkystrings/src/LauncherWindow.cpp
+++ b/silkystrings/src/LauncherWindow.cpp
@@ -209,7 +209,7 @@ void Launcher::LauncherWindow::play(){
res.ignore();
res >> height;
- param[0] << SONG_PATH << songList->currentItem()->text().toStdString() << '/';
+ param[0] << songList->currentItem()->text().toStdString() << '/';
for(int i=0; i<7; i++){
param[i+1] << gameButtons[i]->currentIndex();
}
diff --git a/silkystrings/src/SongIterator.cpp b/silkystrings/src/SongIterator.cpp
index c7868a2..9a5f784 100644
--- a/silkystrings/src/SongIterator.cpp
+++ b/silkystrings/src/SongIterator.cpp
@@ -37,7 +37,7 @@ bool Launcher::SongIterator::operator==(const SongIterator &iter){
}
std::string Launcher::SongIterator::operator*(){
- return iter->leaf();
+ return iter->string();
}
Launcher::SongIterator Launcher::SongIterator::operator++(){
|
|
From: Yoda-JM <yo...@us...> - 2009-07-11 10:20:50
|
Module: performous
Branch: master
Commit: dd75dc2146bcf4b964b17b8ccf6aa3d65775a4c6
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Jul 11 12:20:14 2009 +0200
Removed PERFORMOUS_CONFIG_SCHEMA and add getDataPath
---
CMakeLists.txt | 1 -
cmake/performous.sh.cmake | 2 +-
game/configuration.cc | 10 +++++++---
game/fs.cc | 11 +++++++++++
game/fs.hh | 2 ++
game/joystick.cc | 15 +++++++--------
game/main.cc | 2 +-
7 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c07a37a..e07f9c4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,7 +63,6 @@ if(LAUNCHER_SCRIPT)
if(UNIX AND NOT "${FULL_PREFIX}" MATCHES "^/")
set(FULL_PREFIX "${CMAKE_BINARY_DIR}/${FULL_PREFIX}")
endif(UNIX AND NOT "${FULL_PREFIX}" MATCHES "^/")
- set(PERFORMOUS_CONFIG_SCHEMA "${FULL_PREFIX}/${SHARE_INSTALL}/config/performous.xml")
set(PERFORMOUS_PLUGIN_PATH "${FULL_PREFIX}/lib${LIB_SUFFIX}/libda")
set(PERFORMOUS_EXECUTABLE "${FULL_PREFIX}/bin/performous")
configure_file("${PROJECT_SOURCE_DIR}/cmake/performous.sh.cmake" "${PROJECT_BINARY_DIR}/performous.sh" ESCAPE_QUOTES @ONLY)
diff --git a/cmake/performous.sh.cmake b/cmake/performous.sh.cmake
index c2f790f..fa386cc 100644
--- a/cmake/performous.sh.cmake
+++ b/cmake/performous.sh.cmake
@@ -1,4 +1,4 @@
#!/bin/sh
-env PERFORMOUS_DATA_DIR='@CMAKE_INSTALL_PREFIX@/@SHARE_INSTALL@' PERFORMOUS_CONFIG_SCHEMA='@PERFORMOUS_CONFIG_SCHEMA@' PLUGIN_PATH='@PERFORMOUS_PLUGIN_PATH@' '@PERFORMOUS_EXECUTABLE@' $@
+env PERFORMOUS_DATA_DIR='@CMAKE_INSTALL_PREFIX@/@SHARE_INSTALL@' PLUGIN_PATH='@PERFORMOUS_PLUGIN_PATH@' '@PERFORMOUS_EXECUTABLE@' $@
diff --git a/game/configuration.cc b/game/configuration.cc
index 7e8aa2f..87e20ca 100644
--- a/game/configuration.cc
+++ b/game/configuration.cc
@@ -281,8 +281,12 @@ void readConfig() {
{
typedef std::vector<std::string> ConfigList;
ConfigList config_list;
- char const* env_config = getenv("PERFORMOUS_CONFIG_SCHEMA");
- if (env_config) config_list.push_back(env_config);
+ char const* env_data_dir = getenv("PERFORMOUS_DATA_DIR");
+ if (env_data_dir) {
+ std::string config_file(env_data_dir);
+ config_file.append("/config/performous.xml");
+ config_list.push_back(config_file);
+ }
config_list.push_back("/usr/local/share/games/performous/config/performous.xml");
config_list.push_back("/usr/local/share/performous/config/performous.xml");
config_list.push_back("/usr/share/games/performous/config/performous.xml");
@@ -293,7 +297,7 @@ void readConfig() {
std::ostringstream oss;
oss << "No config schema file found. The following locations were tried:\n";
std::copy(config_list.begin(), config_list.end(), std::ostream_iterator<std::string>(oss, "\n"));
- oss << "Install the file or define environment variable PERFORMOUS_CONFIG_SCHEMA\n";
+ oss << "Install the file or define environment variable PERFORMOUS_DATA_DIR\n";
throw std::runtime_error(oss.str());
}
schemafile = *it;
diff --git a/game/fs.cc b/game/fs.cc
index 77a1713..f504fc1 100644
--- a/game/fs.cc
+++ b/game/fs.cc
@@ -43,3 +43,14 @@ std::string getThemePath(std::string const& filename) {
return theme + "/" + filename;
}
+std::string getDataPath(std::string const& filename) {
+ // Figure out theme folder (if theme name rather than path was given)
+ std::string data_dir;
+ ConfigItem::StringList sd = config["system/path_data"].sl();
+ for (std::vector<std::string>::const_iterator it = sd.begin(); it != sd.end(); ++it) {
+ fs::path p = *it;
+ if (fs::is_directory(p)) { data_dir = p.string(); break; }
+ }
+ return data_dir + "/" + filename;
+}
+
diff --git a/game/fs.hh b/game/fs.hh
index 9758ee6..ea02bbe 100644
--- a/game/fs.hh
+++ b/game/fs.hh
@@ -14,3 +14,5 @@ fs::path pathMangle(fs::path const& dir);
/** Get full path to a file from the current theme **/
std::string getThemePath(std::string const& filename);
+/** Get full path to a data file **/
+std::string getDataPath(std::string const& filename);
diff --git a/game/joystick.cc b/game/joystick.cc
index d26e8a8..8c888e6 100644
--- a/game/joystick.cc
+++ b/game/joystick.cc
@@ -1,4 +1,5 @@
#include "joystick.hh"
+#include "fs.hh"
#include <iostream>
#include <cstdlib>
@@ -9,8 +10,6 @@
#define PS3_DRUM_CONTROLLER_XXX 4
#define PS3_DRUM_CONTROLLER_ORANGE 5
-#define PERFORMOUS_DATA_DIR "/tmp/tmp/share/games/performous/sounds/"
-
void check_joystick_event(SDL_Event event, Audio &audio) {
switch( event.type ) {
case SDL_JOYAXISMOTION:
@@ -26,22 +25,22 @@ void check_joystick_event(SDL_Event event, Audio &audio) {
std::cout << "Received a button down on " << (int)event.jbutton.which << " on " << (int)event.jbutton.button << std::endl;
switch( event.jbutton.button ) {
case PS3_DRUM_CONTROLLER_RED: // Snare drum
- audio.playSample(PERFORMOUS_DATA_DIR "drum_snare.ogg");
+ audio.playSample(getDataPath("sounds/drum_snare.ogg"));
break;
case PS3_DRUM_CONTROLLER_BLUE: // Tom 1
- audio.playSample(PERFORMOUS_DATA_DIR "drum_tom1.ogg");
+ audio.playSample(getDataPath("sounds/drum_tom1.ogg"));
break;
case PS3_DRUM_CONTROLLER_GREEN: // Tom 2
- audio.playSample(PERFORMOUS_DATA_DIR "drum_tom2.ogg");
+ audio.playSample(getDataPath("sounds/drum_tom2.ogg"));
break;
case PS3_DRUM_CONTROLLER_YELLOW: // Hi hat
- audio.playSample(PERFORMOUS_DATA_DIR "drum_hi-hat.ogg");
+ audio.playSample(getDataPath("sounds/drum_hi-hat.ogg"));
break;
case PS3_DRUM_CONTROLLER_ORANGE: // crash cymbal
- audio.playSample(PERFORMOUS_DATA_DIR "drum_cymbal.ogg");
+ audio.playSample(getDataPath("sounds/drum_cymbal.ogg"));
break;
case PS3_DRUM_CONTROLLER_XXX: // Drum bass
- audio.playSample(PERFORMOUS_DATA_DIR "drum_bass.ogg");
+ audio.playSample(getDataPath("sounds/drum_bass.ogg"));
break;
}
break;
diff --git a/game/main.cc b/game/main.cc
index c8580bd..29e4b36 100644
--- a/game/main.cc
+++ b/game/main.cc
@@ -265,7 +265,7 @@ int main(int argc, char** argv) {
try {
readConfig();
char const* env_data_dir = getenv("PERFORMOUS_DATA_DIR");
- if(env_data_dir) config["system/path_data"].sl().push_back(std::string(env_data_dir));
+ if(env_data_dir) config["system/path_data"].sl().insert(config["system/path_data"].sl().begin(),std::string(env_data_dir));
} catch (std::exception& e) {
std::cerr << e.what() << std::endl;
return EXIT_FAILURE;
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-11 10:12:44
|
Module: performous
Branch: master
Commit: 5b0bc5e2586b73b76e76b38768ac16d9afa8bf7b
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Jul 11 13:12:11 2009 +0300
Fix a couple of bugs in launcher and make it scan recursively.
---
silkystrings/src/SongIterator.cpp | 17 +++++------------
silkystrings/src/SongIterator.h | 5 ++---
2 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/silkystrings/src/SongIterator.cpp b/silkystrings/src/SongIterator.cpp
index 5709930..c7868a2 100644
--- a/silkystrings/src/SongIterator.cpp
+++ b/silkystrings/src/SongIterator.cpp
@@ -18,19 +18,14 @@
#include "SongIterator.h"
-#include <boost/filesystem/path.hpp>
#include <string>
-Launcher::SongIterator::SongIterator(boost::filesystem::path path)
-: iter(boost::filesystem::directory_iterator(path)) {
-
- while(!checkValidity() && iter != boost::filesystem::directory_iterator())
- iter++;
+Launcher::SongIterator::SongIterator(boost::filesystem::path path): iter(path) {
+ while(iter != boost::filesystem::recursive_directory_iterator() && !checkValidity()) ++iter;
}
-Launcher::SongIterator::SongIterator()
-: iter(boost::filesystem::directory_iterator()) {};
+Launcher::SongIterator::SongIterator() {}
bool Launcher::SongIterator::operator!=(const SongIterator &iter){
@@ -46,10 +41,8 @@ std::string Launcher::SongIterator::operator*(){
}
Launcher::SongIterator Launcher::SongIterator::operator++(){
- do{
- iter++;
- }while(iter != boost::filesystem::directory_iterator() && !checkValidity());
-
+ ++iter;
+ while(iter != boost::filesystem::recursive_directory_iterator() && !checkValidity()) ++iter;
return *this;
}
diff --git a/silkystrings/src/SongIterator.h b/silkystrings/src/SongIterator.h
index 22174a6..d60e822 100644
--- a/silkystrings/src/SongIterator.h
+++ b/silkystrings/src/SongIterator.h
@@ -19,8 +19,7 @@
#ifndef SONGITERATOR_H
#define SONGITERATOR_H
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem.hpp>
#include <string>
@@ -67,7 +66,7 @@ namespace Launcher{
private:
bool checkValidity();
- boost::filesystem::directory_iterator iter;
+ boost::filesystem::recursive_directory_iterator iter;
};
}
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-11 10:11:32
|
Module: performous Branch: master Commit: 185b258f3958480ff1457f39086d34eae2d5c93b Author: Lasse Karkkainen <tro...@tr...> Date: Sat Jul 11 13:10:41 2009 +0300 Add some old documentation for Silky Strings. --- silkystrings/doc/Architecture.png | Bin 0 -> 16177 bytes silkystrings/doc/index.xhtml | 213 +++++++++++++++++++++++++++++++++++++ silkystrings/doc/shot.png | Bin 0 -> 76748 bytes 3 files changed, 213 insertions(+), 0 deletions(-) diff --git a/silkystrings/doc/Architecture.png b/silkystrings/doc/Architecture.png new file mode 100644 index 0000000..53fc992 Binary files /dev/null and b/silkystrings/doc/Architecture.png differ diff --git a/silkystrings/doc/index.xhtml b/silkystrings/doc/index.xhtml new file mode 100644 index 0000000..1b56155 --- /dev/null +++ b/silkystrings/doc/index.xhtml @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>AS-0.1102 Projektidokumentti</title> +</head> + +<body> + +<div style="text-align: center"> +<h3>AS-0.1102 - projektidokumentti</h3> +<h1>Aihe <i>2</i> - <i>Guitar playing game</i></h1> +</div> + +<h3>Tekijät:</h3> + +<table> +<tr> +<td>69588M</td> +<td>Olli Salli</td> +<td><a href="mailto:os...@cc...">os...@cc...</a></td> +</tr> +<tr> +<td>63250W</td> +<td>Tuomas Perälä</td> +<td><a href="mailto:tuo...@hu...">tuo...@hu...</a></td> +</tr> +<tr> +<td>63325V</td> +<td>Ville Virkkala</td> +<td><a href="mailto:vvi...@cc...">vvi...@cc...</a></td> +</tr> +</table> + +<h3>Viimeksi päivitetty: </h3> + +<p>07.12.2006</p> + +<h2>Asennus- ja käyttöohjeet</h2> + +<p>Pelin on testattu toimivan Windowsilla (XP) ja Linuxilla (Debian Sid // Linux + 2.6.18). Peli vaatii kääntyäkseen ja toimiakseen uusimmat versiot <a + href="http://www.boost.org">Boost</a>-, <a + href="http://www.trolltech.com/products/qt">Qt4</a>-, <a + href="http://www.freetype.org">FreeType2</a>-, <a + href="http://glfw.sf.net">GLFW</a>-, <a + href="http://www.libsdl.org/">SDL</a>-, ja <a + href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a>-kirjastoista. Kääntämiseen tarvitaan <a + href="http://www.cmake.org">CMake</a>-työkalu. +</p> + +<p> + Jos jokin kirjastoista on asennettu epästandardiin polkuun, täytyy sen + sijainti kertoa CMakelle, esim. GLFW:n tapauksessa, jos kirjaston + header-tiedostot on asennettu polkuun /a/b/include, kirjastotiedostot polkuun + /b/c/lib ja kirjaston nimi on muotoa libglfwqwerty, tulee asettaa muuttujat + seuraavasti (projektin päähakemistossa): +</p> + <pre> + cmake -D GLFW_INCLUDE_DIR:PATH=/a/b/include -D GLFW_LIB_DIR:PATH=/b/c/lib -D GLFW_SUFFIX:STRING=qwerty . + </pre> +<p> + Kun kaikki muuttujat on asetettu oikein, peli kääntyy GNU Makella käyttäen + CMaken projetin päähakemistoon luomaa Makefileä. +</p> + +<p> + Pelattavat kappaleet tulee siirtää projektin hakemistoon resources/songs. + Kappaleiden tulee olla omissa alihakemistoissaan kuten Frets on Firessä. +</p> + +<p> + Peli käynnistetään käyttäen erillistä silkystrings-launcher-sovellusta. Peliä + käynnistäessä työhakemiston tulee olla projektin hakemisto src. Launcherista + asetetaan pelissä käytettävä resoluutio, näppäimet ja kokoruututila sekä + valitaan pelattava kappale ja vaikeustaso. +</p> + +<p> + Pelin pelaaminen on identtistä Frets on Fire -pelin kanssa. Kappaleen loputtua + peli ei kuitenkaan lopu automaattisesti, vaan se täytyy lopettaa erikseen + launcherista valitulla lopetusnäppäimellä. +</p> + +<p> + <a href="shot.png">Kuvaruutukaappaus pelistä</a>. +</p> + +<h2>Pelin arkkitehtuuri</h2> + +<p> + <a href="Architecture.png">Kaavio</a> pelin arkkitehtuurista. Kaavio ei kuvaa + pelin luokkajakoa tarkasti, mutta kuvaa toiminnallista jakoa hyvin. Tarkka + luokkajako ja luokkien toiminnallisuus selviää projektin hyvin kattavasta <a + href="http://oggis.be/silkystrings-doc">Doxygen-dokumentaatiosta</a>. +</p> + +<p> + Pelin grafiikka- ja ääniengineissä on pelin toteutuksen kannalta tarpeettomia + ominaisuuksia. Niiden kehityksessä kuitenkin pyrittiin alusta alkaen + geneerisyyteen ja uudelleenkäytettävyyteen. +</p> + +<p> + Pelin erillinen launcher-sovellus saattaa vaikuttaa oudolta ratkaisulta. + Erillinen launcher valittiin, koska se on huomattavasti helpompi toteuttaa, + kuin vastaavat ominaisuudet sisältävä pelin sisäinen valikkojärjestelmä. +</p> + +<h2>Tietorakenteet ja algoritmit</h2> + +<p> + Peli on toteutettu käyttäen valmiita C++:n standardikirjaston perusalgoritmeja + ja -tietorakenteita. Algoritmit ja tietorakenteet on pyritty valitsemaan + tehokkuus silmälläpitäen. +</p> + +<h2>Tunnetut bugit</h2> + +<p> + Joissain tilanteissa midi-parserin syötteen lukemisen on havaittu katkeavan + ennenaikaisesti. Tätä on tapahtunut vain Windows-alustoilla. +</p> + +<p> + Äänet saattavat ajan myötä joissain ympäristöissä ajautua epäsynkroniseen + tilaan pelilogiikan kanssa. +</p> + +<h2>Työnjako, yhteydenpito ja aikataulu</h2> + +<p> + Pidimme yhteyttä pääasiassa IRC:n välityksellä. Pidimme myös muutaman + palaverin Maarintalolla. Yhteydenpito oli koko projektin keston ajan + riittävää. +</p> + +<p> + Työnjako oli käytännössäkin alkuperäisen suunnitelman mukainen. Olli Salli + hoiti grafiikan, äänet, ikkunanhallinnan ja näppäimistön kuuntelun toteutuksen. + Ville Virkkala teki MIDI-parserin ja pelaajan toiminnot rekisteröivän osan + pelilogiikasta. Tuomas Perälä toteutti Launcher-sovelluksen ja pelaajan + toimintoihin reagoivan osan pelilogiikasta. +</p> + +<p> + Pelin basecoden toteuttaminen meni hyvin alkuperäisen aikataulun puitteissa + ensimmäisellä viikolla. Myöhempien projektin vaiheiden aikataulusta kuitenkin + lipsuttiin hieman, ja paljon työtä jäi viimeiselle viikolle. +</p> + +<p> + Kokonaisuutena tehtävien jako oli onnistunut. +</p> + +<h2>Eroavaisuudet alkuperäiseen suunnitelmaan nähden</h2> + +<p> + Aikataulun pieniä muutoksia lukuunottamatta alkuperäisessä suunnitelmassa + pysyttiin hyvin. Valinnaisista ominaisuuksista jäi toteuttamatta vain + latenssisäätö. +</p> + +<p> + Viime hetkellä jouduttiin FMODin ongelmien takia vaihtamaan äänikirjasto + SDL_mixeriin. +</p> + +<h2>Lähdekoodi</h2> + +<p> + Pelin lähdekoodit ovat saatavilla <a + href="http://abridgegame.org/darcs/">Darcs</a>-repositorystä, joka löytyy + osoitteesta <a + href="http://oggis.be/darcs/silkystrings">http://oggis.be/darcs/silkystrings</a>. + Kyseistä repositoryä on käytetty koko projektin ajan, joten sen historia + (darcs changes) vastaa projektin kehityshistoriaa. Jotkut muutoksista on + kuitenkin lisätty niiden tekijän puolesta, jolloin darcsissa näkyy niiden + kohdalla väärä nimi. Lähdekoodeista on myös otettu kirjoitushetkellä <a + href="silkystrings">snapshot</a>. +</p> +<p> + Doxygen-dokumentaatio löytyy osoitteesta <a + href="http://oggis.be/silkystrings-doc">http://oggis.be/silkystrings-doc</a>. +</p> + +<h2>Projektin aikana käytetty lähdemateriaali</h2> + + <ul> + <li><a href="http://www.boost.org/libs/libraries.htm">Boostin + dokumentaatio</a></li> + <li><a href="http://doc.trolltech.com/4.2/index.html">Qt:n + dokumentaatio</a></li> + <li><a + href="http://freetype.sourceforge.net/freetype2/documentation.html">FreeTypen + dokumentaation</a></li> + <li><a href="http://glfw.sourceforge.net/Reference.pdf">GLFW:n + dokumentaatio</a></li> + <li>Frets on Firen lähdekoodi</li> + <li> +<a href="http://www.roguewave.com/support/docs/sourcepro/edition9/html/stdlibref/index.html">Rogue wave: Standard C++ Library Module Reference Guide </a> + +</li> +<li> +<a href="http://www.cppreference.com">C/C++ Reference (cppreference.com)</a> +</li> + </ul> + +</body> +</html> + diff --git a/silkystrings/doc/shot.png b/silkystrings/doc/shot.png new file mode 100644 index 0000000..6f24f08 Binary files /dev/null and b/silkystrings/doc/shot.png differ |
|
From: Yoda-JM <yo...@us...> - 2009-07-11 10:04:02
|
Module: performous
Branch: master
Commit: 97db6cbc8dc093d2b8cc3aeb5f6126a631cf95b1
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Jul 11 12:03:19 2009 +0200
Converted theme pathes into data pathes
---
cmake/performous.sh.cmake | 2 +-
data/performous.xml | 16 ++++++++--------
game/fs.cc | 3 ++-
game/main.cc | 2 ++
4 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/cmake/performous.sh.cmake b/cmake/performous.sh.cmake
index f3d30f7..c2f790f 100644
--- a/cmake/performous.sh.cmake
+++ b/cmake/performous.sh.cmake
@@ -1,4 +1,4 @@
#!/bin/sh
-env PERFORMOUS_CONFIG_SCHEMA='@PERFORMOUS_CONFIG_SCHEMA@' PLUGIN_PATH='@PERFORMOUS_PLUGIN_PATH@' '@PERFORMOUS_EXECUTABLE@' $@
+env PERFORMOUS_DATA_DIR='@CMAKE_INSTALL_PREFIX@/@SHARE_INSTALL@' PERFORMOUS_CONFIG_SCHEMA='@PERFORMOUS_CONFIG_SCHEMA@' PLUGIN_PATH='@PERFORMOUS_PLUGIN_PATH@' '@PERFORMOUS_EXECUTABLE@' $@
diff --git a/data/performous.xml b/data/performous.xml
index c90f84e..e882f54 100644
--- a/data/performous.xml
+++ b/data/performous.xml
@@ -172,14 +172,14 @@
</entry>
<!-- System preferences -->
- <entry name="system/path_themes" type="string_list">
- <stringvalue>/usr/local/share/games/performous/themes/</stringvalue>
- <stringvalue>/usr/share/games/performous/themes/</stringvalue>
- <stringvalue>../themes/</stringvalue><!-- For Windows where the program is started in bin/ -->
- <stringvalue>~/.performous/themes/</stringvalue>
- <locale name="C">
- <short>Theme folders</short>
- <long>Where Performous themes are stored.</long>
+ <entry name="system/path_data" type="string_list">
+ <stringvalue>/usr/local/share/games/performous/</stringvalue>
+ <stringvalue>/usr/share/games/performous/</stringvalue>
+ <stringvalue>../</stringvalue><!-- For Windows where the program is started in bin/ -->
+ <stringvalue>~/.performous/</stringvalue>
+ <locale name="C">
+ <short>Data folders</short>
+ <long>Where Performous data are stored.</long>
</locale>
</entry>
<entry name="system/path_songs" type="string_list">
diff --git a/game/fs.cc b/game/fs.cc
index d9398ae..77a1713 100644
--- a/game/fs.cc
+++ b/game/fs.cc
@@ -31,9 +31,10 @@ std::string getThemePath(std::string const& filename) {
if (theme.empty()) throw std::runtime_error("Configuration value game/theme is empty");
// Figure out theme folder (if theme name rather than path was given)
if (theme.find('/') == std::string::npos) {
- ConfigItem::StringList sd = config["system/path_themes"].sl();
+ ConfigItem::StringList sd = config["system/path_data"].sl();
for (std::vector<std::string>::const_iterator it = sd.begin(); it != sd.end(); ++it) {
fs::path p = *it;
+ p /= "themes/";
p /= theme;
if (fs::is_directory(p)) { theme = p.string(); break; }
}
diff --git a/game/main.cc b/game/main.cc
index 4b935b4..c8580bd 100644
--- a/game/main.cc
+++ b/game/main.cc
@@ -264,6 +264,8 @@ int main(int argc, char** argv) {
// Read config files
try {
readConfig();
+ char const* env_data_dir = getenv("PERFORMOUS_DATA_DIR");
+ if(env_data_dir) config["system/path_data"].sl().push_back(std::string(env_data_dir));
} catch (std::exception& e) {
std::cerr << e.what() << std::endl;
return EXIT_FAILURE;
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-11 09:28:33
|
Module: performous Branch: master Commit: 7c801bdc4eeece6ce5f7d331f566b3776623c54e Author: Lasse Karkkainen <tro...@tr...> Date: Sat Jul 11 02:42:59 2009 +0300 Add Silky Strings' authors. --- docs/Authors.txt | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/docs/Authors.txt b/docs/Authors.txt index ac3b45a..7c7f625 100644 --- a/docs/Authors.txt +++ b/docs/Authors.txt @@ -44,6 +44,16 @@ jEsuSdA <info at jesusda.com> Tobias Gehrig <tgehrig at users.sourceforge.net> * Pre-calculate FFT window patch +Olli Salli <osalli at cc.hut.fi> + * Silky Strings glfw window management, input and graphics + +Ville Virkkala <vvirkkal at cc.hut.fi> + * Silky Strings original MIDI parser + * Silky Strings game logic + +Tuomas Perälä <tuomas.perala at hut.fi> + * Silky Strings Qt-based launcher + GUEST DEVELOPERS ---------------- |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-11 09:28:32
|
Module: performous
Branch: master
Commit: bb07abcaeea4d94080334272391c45ce35d9030d
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Jul 11 12:26:50 2009 +0300
Silky Strings made part of Performous build and CMakeLists.txts rewritten.
New CMake modules for GLFW and SDL_mixer.
Make launcher execute silkystrings from path.
---
CMakeLists.txt | 5 ++
cmake/Modules/FindGLFW.cmake | 38 ++++++++++++
cmake/Modules/FindSDL_mixer.cmake | 32 ++++++++++
silkystrings/CMakeLists.txt | 32 +---------
silkystrings/src/CMakeLists.txt | 114 ++++++++++++++++-------------------
silkystrings/src/LauncherWindow.cpp | 2 +-
6 files changed, 130 insertions(+), 93 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 59e9ebc..c07a37a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,11 +36,16 @@ add_subdirectory(game)
add_subdirectory(docs)
option(ENABLE_TOOLS "Enable extra tools (e.g. Singstar ripper)" ON)
+option(ENABLE_SILKYSTRINGS "Enable Silky Strings (Guitar Hero clone)" ON)
if (ENABLE_TOOLS)
add_subdirectory(tools)
endif (ENABLE_TOOLS)
+if (ENABLE_SILKYSTRINGS)
+ add_subdirectory(silkystrings)
+endif (ENABLE_SILKYSTRINGS)
+
if(NOT WIN32)
if(NOT "${CMAKE_INSTALL_PREFIX}" MATCHES "^(/usr|/usr/local)$")
message(STATUS "Non-standard installation prefix. Configuring performous.sh.")
diff --git a/cmake/Modules/FindGLFW.cmake b/cmake/Modules/FindGLFW.cmake
new file mode 100644
index 0000000..f83f448
--- /dev/null
+++ b/cmake/Modules/FindGLFW.cmake
@@ -0,0 +1,38 @@
+# - Try to find GLFW
+# Once done, this will define
+#
+# GLFW_FOUND - system has OpenGL (GL and GLU)
+# GLFW_INCLUDE_DIRS - the OpenGL include directories
+# GLFW_LIBRARIES - link these to use OpenGL
+#
+# See documentation on how to write CMake scripts at
+# http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GDK OpenGL)
+
+libfind_pkg_check_modules(GLFW_PKGCONF libglfw)
+
+find_path(GLFW_INCLUDE_DIR
+ NAMES GL/glfw.h
+ PATHS ${GLFW_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(GLFW_LIBRARY
+ NAMES glfw
+ PATHS ${GLFW_PKGCONF_LIBRARY_DIRS}
+)
+
+set(GLFW_PROCESS_INCLUDES GLFW_INCLUDE_DIR OpenGL_INCLUDE_DIRS)
+set(GLFW_PROCESS_LIBS GLFW_LIBRARY OpenGL_LIBRARIES)
+
+if(UNIX)
+ find_library(X11_LIBRARY NAMES X11)
+ find_library(Xrandr_LIBRARY NAMES Xrandr)
+ set(GLFW_PROCESS_LIBS ${GLFW_PROCESS_LIBS} X11_LIBRARY Xrandr_LIBRARY)
+endif(UNIX)
+
+libfind_process(GLFW)
+
diff --git a/cmake/Modules/FindSDL_mixer.cmake b/cmake/Modules/FindSDL_mixer.cmake
new file mode 100644
index 0000000..5e369a5
--- /dev/null
+++ b/cmake/Modules/FindSDL_mixer.cmake
@@ -0,0 +1,32 @@
+# - Try to find SDL
+# Once done, this will define
+#
+# SDL_mixer_FOUND - system has SDL
+# SDL_mixer_INCLUDE_DIRS - the SDL include directories
+# SDL_mixer_LIBRARIES - link these to use SDL
+# SDL_mixer_SDL_mixer_LIBRARY - only libSDL
+# SDL_mixer_SDLmain_LIBRARY - only libSDLmain
+# SDL_mixer_SOURCES - add this in the source file list of your target (hack for OSX)
+#
+# 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(SDL_mixer_PKGCONF sdl)
+
+find_path(SDL_mixer_INCLUDE_DIR
+ NAMES SDL_mixer.h
+ PATH_SUFFIXES SDL
+ HINTS ${SDL_PKGCONF_INCLUDE_DIRS}
+)
+
+find_library(SDL_mixer_LIBRARY
+ NAMES SDL_mixer
+ HINTS ${SDL_PKGCONF_LIBRARY_DIRS}
+)
+
+set(SDL_mixer_PROCESS_INCLUDES SDL_mixer_INCLUDE_DIR)
+set(SDL_mixer_PROCESS_LIBS SDL_mixer_LIBRARY)
+libfind_process(SDL_mixer)
+
diff --git a/silkystrings/CMakeLists.txt b/silkystrings/CMakeLists.txt
index 0e29fc4..97c48df 100644
--- a/silkystrings/CMakeLists.txt
+++ b/silkystrings/CMakeLists.txt
@@ -1,31 +1,5 @@
-PROJECT(silkystrings)
+project(silkystrings)
+cmake_minimum_required(VERSION 2.4)
-INCLUDE(FindSDL)
-INCLUDE(FindSDL_mixer)
-
-SET(BOOST_SUFFIX -mt)
-
-IF (CMAKE_COMPILER_IS_GNUCXX)
- ADD_DEFINITIONS (-g)
-ENDIF (CMAKE_COMPILER_IS_GNUCXX)
-
-INCLUDE_DIRECTORIES(
- ${FREETYPE2_INCLUDE_DIR}
- ${GLFW_INCLUDE_DIR}
- ${BOOST_INCLUDE_DIR}
- ${FMODEX_INCLUDE_DIR}
- ${SDL_INCLUDE_DIR}
- ${SDLMIXER_INCLUDE_DIR}
-)
-
-LINK_DIRECTORIES(
- ${FREETYPE2_LIB_DIR}
- ${GLFW_LIB_DIR}
- ${BOOST_LIB_DIR}
- ${FMODEX_LIB_DIR}
- ${SDL_LIB_DIR}
- ${SDLMIXER_LIB_DIR}
-)
-
-SUBDIRS(src tests)
+subdirs(src tests)
diff --git a/silkystrings/src/CMakeLists.txt b/silkystrings/src/CMakeLists.txt
index 3bc1819..0bafdf0 100644
--- a/silkystrings/src/CMakeLists.txt
+++ b/silkystrings/src/CMakeLists.txt
@@ -1,77 +1,65 @@
-INCLUDE(FindOpenGL)
-INCLUDE(FindSDL)
-INCLUDE(FindSDL_mixer)
+cmake_minimum_required(VERSION 2.4)
-IF (CMAKE_COMPILER_IS_GNUCXX)
- ADD_DEFINITIONS (-g)
-ENDIF (CMAKE_COMPILER_IS_GNUCXX)
+if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
-FIND_PATH(FREETYPE2_INCLUDE_DIR freetype/freetype.h
- ../include/freetype2
- /usr/local/include/freetype2
- /usr/include/freetype2
- )
+# Libraries
-ADD_LIBRARY(silkystrings-convenience
- Action.cpp
- chord.cpp
- GameView.cpp
- GLExtensionProxy.cpp
- Input.cpp
- Mesh.cpp
- MeshFactory.cpp
- midiEvent.cpp
- midiFileParser.cpp
- midiStream.cpp
- SoftwareElementDataBuffer.cpp
- SoftwareVertexDataBuffer.cpp
- Sound.cpp
- Reaction.cpp
- TextRenderer.cpp
- Texture2D.cpp
- VertexDataBufferManager.cpp
- VertexFormat.cpp
- WM.cpp
-)
+#include_directories(${CMAKE_SOURCE_DIR}/libs/libda/include)
-IF (NOT WIN32)
- SET (GLFW_EXTRA_LIBS Xxf86vm Xrandr)
-ENDIF (NOT WIN32)
+find_package(Boost 1.34 REQUIRED COMPONENTS filesystem)
+include_directories(${Boost_INCLUDE_DIRS})
+set(LIBS ${LIBS} ${Boost_LIBRARIES})
-TARGET_LINK_LIBRARIES(silkystrings-convenience
- glfw${GLFW_SUFFIX}
- ${OPENGL_LIBRARIES}
- freetype${FREETYPE_SUFFIX}
- ${GLFW_EXTRA_LIBS}
- ${SDL_LIBRARY}
- ${SDLMIXER_LIBRARY}
-)
+# Find all the libs that don't require extra parameters
+foreach(lib SDL OpenGL GLFW Freetype SDL_mixer)
+ find_package(${lib} REQUIRED)
+ include_directories(${${lib}_INCLUDE_DIRS})
+ set(LIBS ${LIBS} ${${lib}_LIBRARIES})
+ add_definitions(${${lib}_DEFINITIONS})
+endforeach(lib)
-IF (CMAKE_COMPILER_IS_GNUCXX)
- SET_TARGET_PROPERTIES(silkystrings-convenience PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wno-unused-parameter")
-ENDIF (CMAKE_COMPILER_IS_GNUCXX)
+# Set default compile flags for GCC
+if(CMAKE_COMPILER_IS_GNUCXX)
+ message(STATUS "GCC detected, enabling warnings")
+ # -pedantic cannot be used because ffmpeg headers are b0rked
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -Wall -Wextra")
+endif(CMAKE_COMPILER_IS_GNUCXX)
-INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${FREETYPE2_INCLUDE_DIR}
- ${GLFW_INCLUDE_DIR}
- ${BOOST_INCLUDE_DIR}
- ${FMODEX_INCLUDE_DIR}
- ${SDL_INCLUDE_DIR}
- ${SDLMIXER_INCLUDE_DIR}
+add_library(silkystrings-convenience
+ Action.cpp
+ chord.cpp
+ GameView.cpp
+ GLExtensionProxy.cpp
+ Input.cpp
+ Mesh.cpp
+ MeshFactory.cpp
+ midiEvent.cpp
+ midiFileParser.cpp
+ midiStream.cpp
+ SoftwareElementDataBuffer.cpp
+ SoftwareVertexDataBuffer.cpp
+ Sound.cpp
+ Reaction.cpp
+ TextRenderer.cpp
+ Texture2D.cpp
+ VertexDataBufferManager.cpp
+ VertexFormat.cpp
+ WM.cpp
)
-LINK_DIRECTORIES(${BOOST_LIB_DIR})
+target_link_libraries(silkystrings-convenience ${LIBS})
-INCLUDE(FindQt4)
-INCLUDE(${QT_USE_FILE})
-ADD_DEFINITIONS(${QT_DEFINITIONS})
+add_executable(silkystrings silkystrings.cpp)
+target_link_libraries(silkystrings silkystrings-convenience)
+find_package(Qt4 REQUIRED)
+include(${QT_USE_FILE})
QT4_AUTOMOC(LauncherWindow.cpp)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}) # For the MOC file
+add_executable(silkystrings-launcher LauncherWindow.cpp SongIterator.cpp)
+target_link_libraries(silkystrings-launcher ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${Boost_LIBRARIES})
-ADD_EXECUTABLE(silkystrings-launcher LauncherWindow.cpp SongIterator.cpp)
-TARGET_LINK_LIBRARIES(silkystrings-launcher ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} boost_filesystem${BOOST_SUFFIX})
-
-ADD_EXECUTABLE(silkystrings silkystrings.cpp)
-TARGET_LINK_LIBRARIES(silkystrings silkystrings-convenience)
+install(TARGETS silkystrings silkystrings-launcher DESTINATION bin)
diff --git a/silkystrings/src/LauncherWindow.cpp b/silkystrings/src/LauncherWindow.cpp
index c5769fe..e500673 100644
--- a/silkystrings/src/LauncherWindow.cpp
+++ b/silkystrings/src/LauncherWindow.cpp
@@ -222,7 +222,7 @@ void Launcher::LauncherWindow::play(){
std::cout << std::endl;
// execute silkystring and exit launcher
- execl("silkystrings",
+ execlp("silkystrings",
"silkystrings",
param[0].str().c_str(),
param[1].str().c_str(),
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-10 21:35:10
|
Module: performous Branch: master Commit: 811946aed5c0c59dade64bf5e86c59cb4a7f988c Author: Lasse Karkkainen <tro...@tr...> Date: Fri Jul 10 23:06:37 2009 +0300 Convert SS into UTF-8. --- silkystrings/src/Action.cpp | 2 +- silkystrings/src/Action.h | 2 +- silkystrings/src/ElementDataBuffer.h | 2 +- silkystrings/src/GL.h | 2 +- silkystrings/src/GLExtensionProxy.cpp | 2 +- silkystrings/src/GLExtensionProxy.h | 2 +- silkystrings/src/GameView.cpp | 2 +- silkystrings/src/GameView.h | 2 +- silkystrings/src/Input.cpp | 2 +- silkystrings/src/Input.h | 2 +- silkystrings/src/Key.h | 2 +- silkystrings/src/KeyEventClient.h | 2 +- silkystrings/src/LauncherWindow.cpp | 2 +- silkystrings/src/LauncherWindow.h | 2 +- silkystrings/src/Mesh.cpp | 2 +- silkystrings/src/Mesh.h | 2 +- silkystrings/src/MeshFactory.cpp | 2 +- silkystrings/src/MeshFactory.h | 2 +- silkystrings/src/Reaction.cpp | 2 +- silkystrings/src/Reaction.h | 2 +- silkystrings/src/SoftwareElementDataBuffer.cpp | 2 +- silkystrings/src/SoftwareElementDataBuffer.h | 2 +- silkystrings/src/SoftwareVertexDataBuffer.cpp | 2 +- silkystrings/src/SoftwareVertexDataBuffer.h | 2 +- silkystrings/src/SongIterator.cpp | 2 +- silkystrings/src/SongIterator.h | 2 +- silkystrings/src/Sound.cpp | 2 +- silkystrings/src/Sound.h | 2 +- silkystrings/src/TextRenderer.cpp | 2 +- silkystrings/src/TextRenderer.h | 2 +- silkystrings/src/Texture2D.cpp | 2 +- silkystrings/src/Texture2D.h | 2 +- silkystrings/src/Util.h | 2 +- silkystrings/src/VertexDataBuffer.h | 2 +- silkystrings/src/VertexDataBufferManager.cpp | 2 +- silkystrings/src/VertexDataBufferManager.h | 2 +- silkystrings/src/VertexFormat.cpp | 2 +- silkystrings/src/VertexFormat.h | 2 +- silkystrings/src/WM.cpp | 2 +- silkystrings/src/WM.h | 2 +- silkystrings/src/chord.cpp | 2 +- silkystrings/src/chord.h | 2 +- silkystrings/src/midiEvent.cpp | 2 +- silkystrings/src/midiEvent.h | 2 +- silkystrings/src/midiFileParser.cpp | 2 +- silkystrings/src/midiFileParser.h | 2 +- silkystrings/src/midiStream.cpp | 2 +- silkystrings/src/midiStream.h | 2 +- silkystrings/src/silkystrings.cpp | 2 +- silkystrings/tests/gameview-test.cpp | 2 +- .../tests/input-keyevent-handling-test.cpp | 2 +- silkystrings/tests/keyevent_client-test.cpp | 2 +- silkystrings/tests/mesh-cube-test.cpp | 2 +- silkystrings/tests/mesh-factory-test.cpp | 2 +- silkystrings/tests/reaction-test.cpp | 2 +- silkystrings/tests/textrenderer-load-font-test.cpp | 2 +- silkystrings/tests/vertex_data_buffer-test.cpp | 2 +- silkystrings/tests/vertexformat-test.cpp | 2 +- silkystrings/tests/wm-busyloop-update-test.cpp | 2 +- silkystrings/tests/wm-get_clock-sleep-test.cpp | 2 +- silkystrings/tests/wm-gl-extensions-test.cpp | 2 +- silkystrings/tests/wm-openwindow-test.cpp | 2 +- .../tests/wm_input-keyevent-propagation-test.cpp | 2 +- 63 files changed, 63 insertions(+), 63 deletions(-) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-10 21:33:20
|
Module: performous
Branch: master
Commit: a47f982db471dfa78c472f0f75e6a133cca145c6
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Jul 11 00:32:06 2009 +0300
Fix operation for songs that have drums and vocals too.
Make compilation only optimize if CMKAKE_BUILD_TYPE is set so.
---
silkystrings/src/Action.cpp | 7 +++++--
silkystrings/src/CMakeLists.txt | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/silkystrings/src/Action.cpp b/silkystrings/src/Action.cpp
index dfe616e..b933e2d 100644
--- a/silkystrings/src/Action.cpp
+++ b/silkystrings/src/Action.cpp
@@ -41,6 +41,9 @@ namespace SilkyStrings {
files.push_back(songPath + "song.ogg");
files.push_back(songPath + "guitar.ogg");
files.push_back(songPath + "rhythm.ogg");
+ // The proper names of these are unknown to me:
+ files.push_back(songPath + "drums.ogg");
+ files.push_back(songPath + "vocals.ogg");
parser=&p;
statetime=0;
gamerunning=true;
@@ -51,7 +54,7 @@ namespace SilkyStrings {
++trackcount;
}
if (trackcount == 0) trackcount = 1; // Single-track song
- if (trackcount + 1 > files.size()) throw std::runtime_error("Too many tracks in song");
+ if (trackcount + 1 >= files.size()) trackcount = files.size() - 1; // throw std::runtime_error("Too many tracks in song");
}
Action::~Action() {}
@@ -126,7 +129,7 @@ namespace SilkyStrings {
autoselect_difficulty();
for (size_t i = 0; i <= trackcount; ++i) {
std::cout << "Preloading " << files.at(i) << std::endl;
- sound->preload(files[i]);
+ try { sound->preload(files[i]); } catch (...) { if (i < 2) throw; trackcount = i - 1; break; }
}
int seconds = -5;
diff --git a/silkystrings/src/CMakeLists.txt b/silkystrings/src/CMakeLists.txt
index 7ea3083..3bc1819 100644
--- a/silkystrings/src/CMakeLists.txt
+++ b/silkystrings/src/CMakeLists.txt
@@ -48,7 +48,7 @@ TARGET_LINK_LIBRARIES(silkystrings-convenience
)
IF (CMAKE_COMPILER_IS_GNUCXX)
- SET_TARGET_PROPERTIES(silkystrings-convenience PROPERTIES COMPILE_FLAGS "-O2 -fno-inline-functions -Wall -Wextra -Wno-unused-parameter")
+ SET_TARGET_PROPERTIES(silkystrings-convenience PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wno-unused-parameter")
ENDIF (CMAKE_COMPILER_IS_GNUCXX)
INCLUDE_DIRECTORIES(
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-10 21:16:14
|
Module: performous
Branch: master
Commit: 5dd5b48e064d58b5429afc4340baba442ae03f8e
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Jul 11 00:15:14 2009 +0300
Print the command before executing it.
Fix bug in calling execl: the argument list must be (void*)NULL-terminated (simple 0 won't do because its a vararg function).
---
silkystrings/src/LauncherWindow.cpp | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/silkystrings/src/LauncherWindow.cpp b/silkystrings/src/LauncherWindow.cpp
index fb8c148..c5769fe 100644
--- a/silkystrings/src/LauncherWindow.cpp
+++ b/silkystrings/src/LauncherWindow.cpp
@@ -217,6 +217,9 @@ void Launcher::LauncherWindow::play(){
param[9] << height;
param[10] << (fullscreen->checkState() == Qt::Unchecked ? false : true);
+ std::cout << "silkystrings";
+ for (int n = 0; n < 11; ++n) std::cout << " " << param[n].str();
+ std::cout << std::endl;
// execute silkystring and exit launcher
execl("silkystrings",
@@ -232,7 +235,7 @@ void Launcher::LauncherWindow::play(){
param[8].str().c_str(),
param[9].str().c_str(),
param[10].str().c_str(),
- 0);
+ (void*)NULL);
// if execution fails
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-10 20:35:11
|
Module: performous Branch: master Commit: d7f4201b9716af513cc1bd78999c03cd362e83ae Author: Lasse Karkkainen <tro...@tr...> Date: Fri Jul 10 22:49:09 2009 +0300 Add Silky Strings project for fixing and as a reference for adding guitar support to Performous. Does not currently build on my system (probably broken CMakeLists.txt). --- silkystrings/CMakeLists.txt | 29 + silkystrings/COPYING | 375 ++++++ silkystrings/doxygen-conf | 1252 ++++++++++++++++++++ silkystrings/resources/Share-TechMono.ttf | Bin 0 -> 58548 bytes silkystrings/resources/fiba1.ogg | Bin 0 -> 18685 bytes silkystrings/resources/fiba2.ogg | Bin 0 -> 18815 bytes silkystrings/resources/fiba3.ogg | Bin 0 -> 18268 bytes silkystrings/resources/fiba4.ogg | Bin 0 -> 16073 bytes silkystrings/resources/fiba5.ogg | Bin 0 -> 18495 bytes silkystrings/resources/fiba6.ogg | Bin 0 -> 18883 bytes silkystrings/resources/perfect1.ogg | Bin 0 -> 31402 bytes silkystrings/src/Action.cpp | 365 ++++++ silkystrings/src/Action.h | 122 ++ silkystrings/src/CMakeLists.txt | 76 ++ silkystrings/src/ElementDataBuffer.h | 96 ++ silkystrings/src/GL.h | 30 + silkystrings/src/GLExtensionProxy.cpp | 226 ++++ silkystrings/src/GLExtensionProxy.h | 216 ++++ silkystrings/src/GameView.cpp | 454 +++++++ silkystrings/src/GameView.h | 169 +++ silkystrings/src/Input.cpp | 80 ++ silkystrings/src/Input.h | 89 ++ silkystrings/src/Key.h | 248 ++++ silkystrings/src/KeyEventClient.h | 51 + silkystrings/src/LauncherWindow.cpp | 255 ++++ silkystrings/src/LauncherWindow.h | 62 + silkystrings/src/Mesh.cpp | 448 +++++++ silkystrings/src/Mesh.h | 187 +++ silkystrings/src/MeshFactory.cpp | 241 ++++ silkystrings/src/MeshFactory.h | 82 ++ silkystrings/src/Reaction.cpp | 102 ++ silkystrings/src/Reaction.h | 81 ++ silkystrings/src/SoftwareElementDataBuffer.cpp | 101 ++ silkystrings/src/SoftwareElementDataBuffer.h | 82 ++ silkystrings/src/SoftwareVertexDataBuffer.cpp | 83 ++ silkystrings/src/SoftwareVertexDataBuffer.h | 92 ++ silkystrings/src/SongIterator.cpp | 61 + silkystrings/src/SongIterator.h | 75 ++ silkystrings/src/Sound.cpp | 201 ++++ silkystrings/src/Sound.h | 49 + silkystrings/src/TextRenderer.cpp | 358 ++++++ silkystrings/src/TextRenderer.h | 91 ++ silkystrings/src/Texture2D.cpp | 293 +++++ silkystrings/src/Texture2D.h | 138 +++ silkystrings/src/Util.h | 30 + silkystrings/src/VertexDataBuffer.h | 92 ++ silkystrings/src/VertexDataBufferManager.cpp | 51 + silkystrings/src/VertexDataBufferManager.h | 88 ++ silkystrings/src/VertexFormat.cpp | 269 +++++ silkystrings/src/VertexFormat.h | 616 ++++++++++ silkystrings/src/WM.cpp | 200 ++++ silkystrings/src/WM.h | 165 +++ silkystrings/src/chord.cpp | 90 ++ silkystrings/src/chord.h | 142 +++ silkystrings/src/midiEvent.cpp | 54 + silkystrings/src/midiEvent.h | 68 ++ silkystrings/src/midiFileParser.cpp | 163 +++ silkystrings/src/midiFileParser.h | 74 ++ silkystrings/src/midiStream.cpp | 67 ++ silkystrings/src/midiStream.h | 72 ++ silkystrings/src/silkystrings.cpp | 88 ++ silkystrings/tests/CMakeLists.txt | 29 + silkystrings/tests/gameview-test.cpp | 119 ++ .../tests/input-keyevent-handling-test.cpp | 69 ++ silkystrings/tests/keyevent_client-test.cpp | 131 ++ silkystrings/tests/mesh-cube-test.cpp | 208 ++++ silkystrings/tests/mesh-factory-test.cpp | 114 ++ silkystrings/tests/reaction-test.cpp | 76 ++ silkystrings/tests/test-fortunes-omg | 286 +++++ silkystrings/tests/textrenderer-load-font-test.cpp | 127 ++ silkystrings/tests/vertex_data_buffer-test.cpp | 136 +++ silkystrings/tests/vertexformat-test.cpp | 74 ++ silkystrings/tests/wm-busyloop-update-test.cpp | 30 + silkystrings/tests/wm-get_clock-sleep-test.cpp | 42 + silkystrings/tests/wm-gl-extensions-test.cpp | 43 + silkystrings/tests/wm-openwindow-test.cpp | 29 + .../tests/wm_input-keyevent-propagation-test.cpp | 39 + 77 files changed, 10841 insertions(+), 0 deletions(-) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-10 20:17:34
|
Module: performous
Branch: master
Commit: 0ac4ac5a1df537c0904db8efa5f1a1deb62934ed
Author: Lasse Karkkainen <tro...@tr...>
Date: Fri Jul 10 23:16:48 2009 +0300
Now it compiles on my machine. (ship it!)
---
silkystrings/CMakeLists.txt | 2 ++
silkystrings/src/CMakeLists.txt | 3 ++-
silkystrings/src/SongIterator.cpp | 9 +++++----
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/silkystrings/CMakeLists.txt b/silkystrings/CMakeLists.txt
index 7c569b8..0e29fc4 100644
--- a/silkystrings/CMakeLists.txt
+++ b/silkystrings/CMakeLists.txt
@@ -3,6 +3,8 @@ PROJECT(silkystrings)
INCLUDE(FindSDL)
INCLUDE(FindSDL_mixer)
+SET(BOOST_SUFFIX -mt)
+
IF (CMAKE_COMPILER_IS_GNUCXX)
ADD_DEFINITIONS (-g)
ENDIF (CMAKE_COMPILER_IS_GNUCXX)
diff --git a/silkystrings/src/CMakeLists.txt b/silkystrings/src/CMakeLists.txt
index 4c49f3b..7ea3083 100644
--- a/silkystrings/src/CMakeLists.txt
+++ b/silkystrings/src/CMakeLists.txt
@@ -35,7 +35,7 @@ ADD_LIBRARY(silkystrings-convenience
)
IF (NOT WIN32)
- SET (GLFW_EXTRA_LIBS Xxf86vm)
+ SET (GLFW_EXTRA_LIBS Xxf86vm Xrandr)
ENDIF (NOT WIN32)
TARGET_LINK_LIBRARIES(silkystrings-convenience
@@ -52,6 +52,7 @@ IF (CMAKE_COMPILER_IS_GNUCXX)
ENDIF (CMAKE_COMPILER_IS_GNUCXX)
INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_BINARY_DIR}
${FREETYPE2_INCLUDE_DIR}
${GLFW_INCLUDE_DIR}
${BOOST_INCLUDE_DIR}
diff --git a/silkystrings/src/SongIterator.cpp b/silkystrings/src/SongIterator.cpp
index 9b78610..5709930 100644
--- a/silkystrings/src/SongIterator.cpp
+++ b/silkystrings/src/SongIterator.cpp
@@ -54,8 +54,9 @@ Launcher::SongIterator Launcher::SongIterator::operator++(){
}
bool Launcher::SongIterator::checkValidity(){
- return exists(*iter/"guitar.ogg") &&
- exists(*iter/"notes.mid") &&
- exists(*iter/"song.ini") &&
- exists(*iter/"song.ogg");
+ boost::filesystem::path p = *iter;
+ return exists(p/"guitar.ogg") &&
+ exists(p/"notes.mid") &&
+ exists(p/"song.ini") &&
+ exists(p/"song.ogg");
}
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-10 19:51:36
|
Module: performous Branch: master Commit: 815ec93058f421047b7bacf01f3aa25dc915be83 Author: Lasse Karkkainen <tro...@tr...> Date: Fri Jul 10 22:50:34 2009 +0300 Merge branch 'master' of ssh://tronic@performous.git.sourceforge.net/gitroot/performous --- |
|
From: Yoda-JM <yo...@us...> - 2009-07-10 18:29:58
|
Module: performous Branch: master Commit: 9554bedc26b92ad488c326ee9146abd9a7dde54d Author: Vincent Le Ligeour <yo...@us...> Date: Fri Jul 10 20:28:24 2009 +0200 Added some transparent instrument shapes Installed drum samples into data directory --- data/CMakeLists.txt | 2 ++ game/joystick.cc | 33 +++++++++++++++++++++------------ themes/default/intro.svg | 41 ++++++++++++++++++++++------------------- 3 files changed, 45 insertions(+), 31 deletions(-) |
|
From: knittl <kn...@us...> - 2009-07-09 16:57:41
|
Module: performous
Branch: master
Commit: da6e8941fb0385233dbd9f7b04f3fe31fe9edf6a
Author: knittl <knittl@kbook.(none)>
Date: Thu Jul 9 18:56:20 2009 +0200
updated doxygen
---
game/audio.hh | 6 ++++--
game/configuration.hh | 19 ++++++++++---------
game/screen_songs.hh | 2 +-
game/theme.hh | 2 +-
4 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/game/audio.hh b/game/audio.hh
index ba3d2af..d13784b 100644
--- a/game/audio.hh
+++ b/game/audio.hh
@@ -115,14 +115,16 @@ class Audio {
void open(std::string const& pdev, std::size_t rate, std::size_t frames);
/// if audio is currently playing
bool isOpen() const { return m_playback; }
- /** Play a song from the beginning
+ /** Play a song beginning at startPos (defaults to 0)
* @param filename the track filename
* @param preview if the song preview is to play
* @param fadeTime time to fade
+ * @param startPos starting position
*/
void playMusic(std::string const& filename, bool preview = false, double fadeTime = 0.1, double startPos = 0.0);
- /** Play a preview of the song, starting at 30 seconds
+ /** Play a preview of the song, starting at startPos
* @param filename the track filename
+ * @param startPos starting position
*/
void playPreview(std::string const& filename, double startPos) { playMusic(filename, true, 1.0, startPos); }
/// get pause status
diff --git a/game/configuration.hh b/game/configuration.hh
index 8e0640c..ef8b5bf 100644
--- a/game/configuration.hh
+++ b/game/configuration.hh
@@ -15,9 +15,9 @@ namespace xmlpp { struct Element; } // Forward declaration for libxml++ stuff
/// configuration option
class ConfigItem {
public:
- typedef std::vector<std::string> StringList;
+ typedef std::vector<std::string> StringList; ///< a list of strings
ConfigItem() {}
- void update(xmlpp::Element& elem, int mode); //< Load XML config file, elem = Entry, mode = 0 for schema, 1 for system config and 2 for user config
+ void update(xmlpp::Element& elem, int mode); ///< Load XML config file, elem = Entry, mode = 0 for schema, 1 for system config and 2 for user config
ConfigItem& operator++() { return incdec(1); } ///< increments config value
ConfigItem& operator--() { return incdec(-1); } ///< decrements config value
bool is_default() const; ///< Is the current value the same as the default value
@@ -29,9 +29,9 @@ class ConfigItem {
StringList& sl(); ///< Access stringlist item
void reset() { m_value = m_defaultValue; } ///< Reset to factory default
std::string getValue() const; ///< Get a human-readable representation of the current value
- std::string const& getShortDesc() const { return m_shortDesc; }
- std::string const& getLongDesc() const { return m_longDesc; }
-
+ std::string const& getShortDesc() const { return m_shortDesc; } ///< get the short description for this ConfigItem
+ std::string const& getLongDesc() const { return m_longDesc; } ///< get the long description for this ConfigItem
+
private:
template <typename T> void updateNumeric(xmlpp::Element& elem, int mode); ///< Used internally for loading XML
void verifyType(std::string const& t) const; ///< throws std::logic_error if t != type
@@ -57,11 +57,12 @@ void readConfig();
/** Write modified config options to user's config XML **/
void writeConfig();
+/// struct for entries in menu
struct MenuEntry {
- std::string name;
- std::string shortDesc;
- std::string longDesc;
- std::vector<std::string> items;
+ std::string name; ///< name of the menu entry
+ std::string shortDesc; ///< a short description
+ std::string longDesc; ///< a longer description
+ std::vector<std::string> items; ///< selectable options
};
typedef std::vector<MenuEntry> ConfigMenu;
diff --git a/game/screen_songs.hh b/game/screen_songs.hh
index e3acd6f..c640fb0 100644
--- a/game/screen_songs.hh
+++ b/game/screen_songs.hh
@@ -23,7 +23,7 @@ class ScreenSongs : public Screen {
void exit();
void manageEvent(SDL_Event event);
void draw();
- void drawJukebox();
+ void drawJukebox(); ///< draw the songbrowser in jukebox mode (fullscreen, full previews, ...)
private:
Audio& m_audio;
diff --git a/game/theme.hh b/game/theme.hh
index 0a372e6..eaf038f 100644
--- a/game/theme.hh
+++ b/game/theme.hh
@@ -9,7 +9,7 @@
class Theme: boost::noncopyable {
protected:
Theme();
- Theme(const std::string path);
+ Theme(const std::string path); ///< creates theme from path
public:
/// background image for theme
Surface bg;
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-08 19:47:44
|
Module: performous Branch: master Commit: 4545c65724de021049b9be845051c96a702c30aa Author: Lasse Karkkainen <tro...@tr...> Date: Wed Jul 8 22:39:39 2009 +0300 Chnage version number to 0.3.1+. --- CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e77d0d5..59e9ebc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ project(Performous CXX) cmake_minimum_required(VERSION 2.4) -set(PROJECT_VERSION "0.3.1") +set(PROJECT_VERSION "0.3.1+") # Avoid source tree pollution if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-08 19:47:35
|
Module: performous Branch: master Commit: 5e0076de064b06457c0ada0cd0fac879e94bf6f6 Author: Lasse Karkkainen <tro...@tr...> Date: Wed Jul 8 22:47:17 2009 +0300 Merge branch 'master' of ssh://tronic@performous.git.sourceforge.net/gitroot/performous --- |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-06 13:05:51
|
Module: performous Branch: refs/tags/0.3.1 Tag: 66768249f02283eab0c96c61efef3fa6d92946af Tagger: Lasse Karkkainen <tro...@tr...> Date: Mon Jul 6 09:35:28 2009 +0300 Performous 0.3.1 released. |
|
From: Yoda-JM <yo...@us...> - 2009-07-06 08:35:38
|
Module: performous
Branch: master
Commit: bedc23b6230d7ca479a7d83b424ece6ad55b044b
Author: Vincent Le Ligeour <yo...@us...>
Date: Mon Jul 6 10:35:03 2009 +0200
Added 0.3.1 ebuild
---
.../performous/performous-0.3.1.ebuild | 123 ++++++++++++++++++++
1 files changed, 123 insertions(+), 0 deletions(-)
diff --git a/portage-overlay/games-arcade/performous/performous-0.3.1.ebuild b/portage-overlay/games-arcade/performous/performous-0.3.1.ebuild
new file mode 100644
index 0000000..ca2ac06
--- /dev/null
+++ b/portage-overlay/games-arcade/performous/performous-0.3.1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /cvsroot/ultrastar-ng/UltraStar-ng/portage-overlay/games-arcade/performous/performous-9999.ebuild,v 1.10 2007/09/29 13:04:19 yoda-jm Exp $
+
+inherit games cmake-utils
+
+RESTRICT="nostrip"
+
+MY_PN=Performous
+MY_P=${MY_PN}-${PV}-Source
+SONGS_PN=ultrastar-songs
+
+DESCRIPTION="Karaoke game similar to Singstar"
+HOMEPAGE="http://performous.org"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2
+ songs? (
+ mirror://sourceforge/${PN}/${SONGS_PN}-jc-1.zip
+ mirror://sourceforge/${PN}/${SONGS_PN}-libre-3.zip
+ mirror://sourceforge/${PN}/${SONGS_PN}-restricted-3.zip
+ mirror://sourceforge/${PN}/${SONGS_PN}-shearer-1.zip
+ )"
+
+LICENSE="GPL-2
+ songs? (
+ CCPL-Attribution-ShareAlike-NonCommercial-2.5
+ CCPL-Attribution-NonCommercial-NoDerivs-2.5
+ )"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~ppc ~ppc64"
+
+IUSE="debug alsa portaudio pulseaudio jack songs gstreamer"
+
+RDEPEND="gnome-base/librsvg
+ dev-libs/boost
+ x11-libs/pango
+ dev-cpp/libxmlpp
+ media-libs/libsdl[joystick,opengl]
+ media-gfx/imagemagick
+ (
+ virtual/opengl
+ virtual/glu
+ )
+ >=media-video/ffmpeg-0.4.9_p20070616-r20
+ alsa? ( media-libs/alsa-lib )
+ jack? ( media-sound/jack-audio-connection-kit )
+ portaudio? ( media-libs/portaudio )
+ gstreamer? ( media-libs/gstreamer )
+ pulseaudio? ( media-sound/pulseaudio )
+ sys-apps/help2man
+ !games-arcade/ultrastar-ng"
+DEPEND="${RDEPEND}
+ >=dev-util/cmake-2.6.0"
+
+pkg_setup() {
+ games_pkg_setup
+ if ! built_with_use --missing true dev-libs/boost threads ; then
+ eerror "Please emerge dev-libs/boost with USE=threads"
+ fi
+}
+
+src_unpack() {
+ unpack "${MY_P}.tar.bz2"
+ mv "${MY_P}" "${P}"
+ if use songs; then
+ cd "${S}"
+ unpack "${SONGS_PN}-jc-1.zip"
+ unpack "${SONGS_PN}-libre-3.zip"
+ unpack "${SONGS_PN}-restricted-3.zip"
+ unpack "${SONGS_PN}-shearer-1.zip"
+ fi
+}
+
+src_compile() {
+ mkdir build
+ cd build
+ plugins="-DLIBDA_AUTODETECT_PLUGINS=false -DLIBDA_PLUGIN_TESTING=false"
+ if use alsa ; then
+ plugins="$plugins -DLIBDA_PLUGIN_ALSA=true"
+ else
+ plugins="$plugins -DLIBDA_PLUGIN_ALSA=false"
+ fi
+ if use jack ; then
+ plugins="$plugins -DLIBDA_PLUGIN_JACK=true"
+ else
+ plugins="$plugins -DLIBDA_PLUGIN_JACK=false"
+ fi
+ if use gstreamer ; then
+ plugins="$plugins -DLIBDA_PLUGIN_GSTREAMER=true"
+ else
+ plugins="$plugins -DLIBDA_PLUGIN_GSTREAMER=false"
+ fi
+ if use portaudio ; then
+ plugins="$plugins -DLIBDA_PLUGIN_PORTAUDIO=true"
+ else
+ plugins="$plugins -DLIBDA_PLUGIN_PORTAUDIO=false"
+ fi
+ if use pulseaudio ; then
+ plugins="$plugins -DLIBDA_PLUGIN_PULSE=true"
+ else
+ plugins="$plugins -DLIBDA_PLUGIN_PULSE=false"
+ fi
+ cmake \
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ $plugins \
+ .. || die "cmake failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ cd build
+ emake DESTDIR="${D}" install || die "make install failed"
+ keepdir "/usr/ultrastar/songs"
+ rm -rf "${D}/usr/share/${PN}"/{applications,pixmaps}
+ if use songs; then
+ insinto "/usr/share/games/ultrastar"
+ doins -r ../songs || die "doins songs failed"
+ fi
+ doicon data/${PN}.xpm
+ domenu data/${PN}.desktop
+ dodoc ../docs/*.txt
+ prepgamesdirs
+}
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-06 05:17:36
|
Module: performous
Branch: master
Commit: 874589e7b94e268fee0e102394df76ea2669e076
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Jul 6 08:15:42 2009 +0300
NEVER EVER use absolute paths with CMake install. It fucks up packaging and Tronic hates it when he has to do them all again :(
---
data/CMakeLists.txt | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index da43afc..541209b 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -8,8 +8,8 @@ if(UNIX)
install(FILES ${PIXMAP_FILE} DESTINATION "share/pixmaps")
endif(UNIX)
-install(FILES ${CONFIG_FILE} DESTINATION "${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/config/")
+install(FILES ${CONFIG_FILE} DESTINATION "${SHARE_INSTALL}/config/")
file(GLOB XSL_FILES "*.xsl")
-install(FILES ${XSL_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/xsl/")
+install(FILES ${XSL_FILES} DESTINATION "${SHARE_INSTALL}/xsl/")
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-06 04:51:18
|
Module: performous
Branch: master
Commit: 77f60f960b00861927da75d9a32f814a09755717
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Jul 6 07:50:32 2009 +0300
Boost 1.34 compatibility: use old style sleep.
---
game/ffmpeg.cc | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/game/ffmpeg.cc b/game/ffmpeg.cc
index ad8df2f..31f49cd 100644
--- a/game/ffmpeg.cc
+++ b/game/ffmpeg.cc
@@ -125,7 +125,7 @@ extern "C" void performous_ffmpeg_crash_hack(int sig) {
std::signal(SIGABRT, sigabrt);
std::signal(SIGSEGV, sigsegv);
(*ffmpeg_ptr)->crash();
- boost::this_thread::sleep(boost::posix_time::hours(10000));
+ while (1) boost::thread::sleep(now() + 1000.0);
} // Uh-oh, FFMPEG goes again; wait here until eternity
sighandler h = (sig == SIGABRT ? sigabrt : sigsegv);
if (h && h != performous_ffmpeg_crash_hack) h(sig); // From another thread, call original handler
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-06 04:51:09
|
Module: performous
Branch: master
Commit: b3dc556daeeaa31c782a395e275d13c16c1be2d0
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Jul 6 07:50:08 2009 +0300
Mark help2man and gzip options advanced.
---
docs/CMakeLists.txt | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 2263ea6..4b99915 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -2,6 +2,8 @@
if(UNIX)
find_program(HELP2MAN help2man DOC "Location of the help2man program")
find_program(GZIP gzip DOC "Location of the gzip program")
+ mark_as_advanced(HELP2MAN)
+ mark_as_advanced(GZIP)
if(HELP2MAN AND GZIP)
set(MANFILE ${CMAKE_CURRENT_BINARY_DIR}/performous.1.gz)
set(H2MFILE ${CMAKE_CURRENT_SOURCE_DIR}/performous.h2m)
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-07-06 03:31:21
|
Module: performous
Branch: master
Commit: e49099ca8d537230176cf98ddc52ed8eca229bdb
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Jul 6 06:30:44 2009 +0300
Packaging deps, once again...
---
cmake/performous-packaging.cmake | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/cmake/performous-packaging.cmake b/cmake/performous-packaging.cmake
index 13be013..8ed4848 100644
--- a/cmake/performous-packaging.cmake
+++ b/cmake/performous-packaging.cmake
@@ -51,14 +51,17 @@ if(UNIX)
endif("${CPACK_PACKAGE_ARCHITECTURE}" MATCHES "x86_64")
# Set the dependencies based on the distro version
if("${LSB_DISTRIB}" MATCHES "Ubuntu8.04")
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.34.1, libboost-serialization1.34.1, libboost-program-options1.34.1, libboost-regex1.34.1, libboost-filesystem1.34.1, libavcodec1d, libavformat1d, libswscale1d, libmagick++10, libsamplerate0, libxml++2.6c2a, libglew1.5")
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.34.1, libboost-serialization1.34.1, libboost-program-options1.34.1, libboost-regex1.34.1, libboost-filesystem1.34.1, libboost-date-time1.34.1, libavcodec1d, libavformat1d, libswscale1d, libmagick++10, libsamplerate0, libxml++2.6c2a, libglew1.5")
endif("${LSB_DISTRIB}" MATCHES "Ubuntu8.04")
if("${LSB_DISTRIB}" MATCHES "Ubuntu8.10")
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.34.1, libboost-serialization1.34.1, libboost-program-options1.34.1, libboost-regex1.34.1, libboost-filesystem1.34.1, libavcodec51, libavformat52, libswscale0, libmagick++10, libsamplerate0, libxml++2.6-2, libglew1.5")
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.35.0, libboost-serialization1.35.0, libboost-program-options1.35.0, libboost-regex1.35.0, libboost-filesystem1.35.0, libboost-date-time1.35.0, libavcodec51, libavformat52, libswscale0, libmagick++10, libsamplerate0, libxml++2.6-2, libglew1.5")
endif("${LSB_DISTRIB}" MATCHES "Ubuntu8.10")
if("${LSB_DISTRIB}" MATCHES "Ubuntu9.04")
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.35.0, libboost-program-options1.35.0, libboost-regex1.35.0, libboost-filesystem1.35.0, libavcodec52, libavformat52, libswscale0, libmagick++1, libsamplerate0, libxml++2.6-2, libglew1.5")
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.35.0, libboost-program-options1.35.0, libboost-regex1.35.0, libboost-filesystem1.35.0, libboost-date-time1.35.0, libavcodec52, libavformat52, libswscale0, libmagick++1, libsamplerate0, libxml++2.6-2, libglew1.5")
endif("${LSB_DISTRIB}" MATCHES "Ubuntu9.04")
+ if("${LSB_DISTRIB}" MATCHES "Ubuntu9.10")
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.38.0, libboost-program-options1.38.0, libboost-regex1.38.0, libboost-filesystem1.38.0, libboost-date-time1.38.0, libavcodec52, libavformat52, libswscale0, libmagick++1, libsamplerate0, libxml++2.6-2, libglew1.5")
+ endif("${LSB_DISTRIB}" MATCHES "Ubuntu9.10")
if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
message("WARNING: ${LSB_DISTRIB} not supported yet.\nPlease set deps in cmake/performous-packaging.cmake before packaging.")
endif(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
|