-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
21 changed files
with
4,199 additions
and
4,199 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,71 +1,71 @@ | ||
| ||
Violetland | ||
1. ИНФОРМАЦИЯ | ||
|
||
Violetland | ||
|
||
1. ИНФОРМАЦИЯ | ||
|
||
Violetland - это кроссплатформенный клон игры crimsonland с открытым исходным кодом. | ||
|
||
Программа имеет ряд аргументов командной строки. | ||
Программа имеет ряд аргументов командной строки. | ||
Список можно просмотреть по команде violetland --help. | ||
|
||
Программа имеет файл конфигурации. | ||
Его местонахождение зависит от операционной системы. | ||
irc.freenode.net, #violetland. | ||
http://code.google.com/p/violetland/ | ||
http://groups.google.com/group/violetland | ||
2. СИСТЕМНЫЕ ТРЕБОВАНИЯ | ||
Прежде чем скачивать игру, убедитесь, что у вас установлена видеокарта и свежие драйвера для нее с поддержкой аппаратного ускорения OpenGL. | ||
На данный момент поддерживаются операционные системы gnu/linux, windows, freebsd и mac os x. | ||
3. WINDOWS | ||
ВНИМАНИЕ! В настоящее время не доработано горячее переключение видеорежимов из экрана настроек. При применении настроек программа завершит свою работу. Необходимо вручную перезапустить программу. | ||
Файл конфигурации находится в папке с программой. | ||
Программа собрана с помощью MSVC++ 2010, поэтому может потребоваться установка Microsoft Visual C++ 2010 Redistributable Package. | ||
Загрузите его по адресу http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84. | ||
Программа не запускается (так как не находит свои данные), если путь к ним содержит кириллические символы. | ||
Есть временный способ для обхода этой проблемы. Запускайте программу с помощью сценария start.cmd. | ||
2. LINUX | ||
Файл конфигурации находится в директории ~/.config/violetland. | ||
Существуют пакеты для различных дистрибутивов. | ||
Ознакомится со списком можно на странице по адресу http://code.google.com/p/violetland/wiki/ThirdParyPackages. | ||
Если пакет для вашего дистрибутива не существует, программу придется собрать (скомпилировать) самому. | ||
Проще всего это сделать, используя систему сборки cmake. | ||
Скорее всего, вы сможете найти ее в репозитории своего дистрибутива. | ||
Кроме того, для сборки потребуются пакеты SDL (SDL, SDL_image, SDL_ttf, SDL_mixer), одноименные пакеты для разработки (devel) и компилятор (gcc). | ||
После того, как все будет подготовлено, нужно выполнить следующие действия: | ||
Сначала скачайте и распакуйте архив с программой или получите файлы из SVN. | ||
Затем войдите в директорию пакета прораммы и соберите ее с помощью cmake (по-умолчанию установка осуществляется в директорию /usr/local): | ||
$ mkdir build | ||
$ cd build | ||
$ cmake .. | ||
$ sudo make install | ||
Затем запустите программу: | ||
$ violetland | ||
Вместо того, чтобы ставить программу в /usr/local вы можете установить ее в домашнюю папку или еще куда-нибудь. В таком случае вам не нужно знать пароль пользователя root и не обязателен доступ в /usr/local. Используйте следующий пример: | ||
$ mkdir build | ||
$ cd build | ||
$ cmake -DCMAKE_INSTALL_PREFIX=../dist .. | ||
$ make install | ||
$ cd ../dist/bin/ | ||
$ ./violetland | ||
Программа имеет файл конфигурации. | ||
Его местонахождение зависит от операционной системы. | ||
|
||
irc.freenode.net, #violetland. | ||
http://code.google.com/p/violetland/ | ||
http://groups.google.com/group/violetland | ||
|
||
2. СИСТЕМНЫЕ ТРЕБОВАНИЯ | ||
|
||
Прежде чем скачивать игру, убедитесь, что у вас установлена видеокарта и свежие драйвера для нее с поддержкой аппаратного ускорения OpenGL. | ||
|
||
На данный момент поддерживаются операционные системы gnu/linux, windows, freebsd и mac os x. | ||
|
||
3. WINDOWS | ||
|
||
ВНИМАНИЕ! В настоящее время не доработано горячее переключение видеорежимов из экрана настроек. При применении настроек программа завершит свою работу. Необходимо вручную перезапустить программу. | ||
|
||
Файл конфигурации находится в папке с программой. | ||
|
||
Программа собрана с помощью MSVC++ 2010, поэтому может потребоваться установка Microsoft Visual C++ 2010 Redistributable Package. | ||
Загрузите его по адресу http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84. | ||
|
||
Программа не запускается (так как не находит свои данные), если путь к ним содержит кириллические символы. | ||
|
||
Есть временный способ для обхода этой проблемы. Запускайте программу с помощью сценария start.cmd. | ||
|
||
2. LINUX | ||
|
||
Файл конфигурации находится в директории ~/.config/violetland. | ||
|
||
Существуют пакеты для различных дистрибутивов. | ||
Ознакомится со списком можно на странице по адресу http://code.google.com/p/violetland/wiki/ThirdParyPackages. | ||
Если пакет для вашего дистрибутива не существует, программу придется собрать (скомпилировать) самому. | ||
|
||
Проще всего это сделать, используя систему сборки cmake. | ||
Скорее всего, вы сможете найти ее в репозитории своего дистрибутива. | ||
Кроме того, для сборки потребуются пакеты SDL (SDL, SDL_image, SDL_ttf, SDL_mixer), одноименные пакеты для разработки (devel) и компилятор (gcc). | ||
|
||
После того, как все будет подготовлено, нужно выполнить следующие действия: | ||
|
||
Сначала скачайте и распакуйте архив с программой или получите файлы из SVN. | ||
|
||
Затем войдите в директорию пакета прораммы и соберите ее с помощью cmake (по-умолчанию установка осуществляется в директорию /usr/local): | ||
|
||
$ mkdir build | ||
$ cd build | ||
$ cmake .. | ||
$ sudo make install | ||
|
||
Затем запустите программу: | ||
|
||
$ violetland | ||
|
||
Вместо того, чтобы ставить программу в /usr/local вы можете установить ее в домашнюю папку или еще куда-нибудь. В таком случае вам не нужно знать пароль пользователя root и не обязателен доступ в /usr/local. Используйте следующий пример: | ||
|
||
$ mkdir build | ||
$ cd build | ||
$ cmake -DCMAKE_INSTALL_PREFIX=../dist .. | ||
$ make install | ||
$ cd ../dist/bin/ | ||
$ ./violetland |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,26 @@ | ||
#ifndef MUSICMANAGER_H_ | ||
#define MUSICMANAGER_H_ | ||
|
||
#include "../system/sound/SoundManager.h" | ||
#include "GameState.h" | ||
#include "lifeforms/Player.h" | ||
|
||
namespace violetland { | ||
class MusicManager { | ||
private: | ||
FileUtility* m_fileUtility; | ||
SoundManager* m_soundManager; | ||
Configuration* m_config; | ||
Mix_Music* m_current; | ||
std::string m_currentPlaying; | ||
public: | ||
MusicManager(FileUtility* fileUtility, SoundManager* soundManager, | ||
Configuration* config); | ||
void process(Player* player, GameState* gameState); | ||
void play(); | ||
void play(std::string name, bool now); | ||
~MusicManager(); | ||
}; | ||
} | ||
|
||
#endif /* MUSICMANAGER_H_ */ | ||
#ifndef MUSICMANAGER_H_ | ||
#define MUSICMANAGER_H_ | ||
|
||
#include "../system/sound/SoundManager.h" | ||
#include "GameState.h" | ||
#include "lifeforms/Player.h" | ||
|
||
namespace violetland { | ||
class MusicManager { | ||
private: | ||
FileUtility* m_fileUtility; | ||
SoundManager* m_soundManager; | ||
Configuration* m_config; | ||
Mix_Music* m_current; | ||
std::string m_currentPlaying; | ||
public: | ||
MusicManager(FileUtility* fileUtility, SoundManager* soundManager, | ||
Configuration* config); | ||
void process(Player* player, GameState* gameState); | ||
void play(); | ||
void play(std::string name, bool now); | ||
~MusicManager(); | ||
}; | ||
} | ||
|
||
#endif /* MUSICMANAGER_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,59 @@ | ||
#include "Flame.h" | ||
|
||
#ifdef _WIN32 | ||
#define _USE_MATH_DEFINES | ||
#include <math.h> | ||
#endif | ||
|
||
namespace violetland { | ||
|
||
Flame::Flame(float x, float y, Texture* tex) : | ||
Bullet(x, y, x, y, BULLET_FLAME) { | ||
m_img = new StaticObject(x, y, 128, 128, tex, false); | ||
m_img->RMask = 1.0; | ||
m_img->GMask = (float) (rand() % 50) / 100 + 0.4; | ||
m_img->BMask = 0.3f; | ||
m_img->Scale = 0.001f; | ||
} | ||
|
||
void Flame::process(int deltaTime) { | ||
const float dist = m_range / MaxRange; | ||
|
||
if (m_active && dist >= 0.7) | ||
m_active = false; | ||
|
||
if (dist >= 1.0) | ||
m_readyToRemove = true; | ||
|
||
const float relSpeed = (1.0 - dist) * Speed; | ||
|
||
X -= (float)cos((Angle + 90) * M_PI / 180) * deltaTime * relSpeed; | ||
Y -= (float)sin((Angle + 90) * M_PI / 180) * deltaTime * relSpeed; | ||
|
||
m_img->X = X; | ||
m_img->Y = Y; | ||
|
||
m_range += relSpeed * deltaTime; | ||
|
||
m_img->Scale = 2.5f * dist; | ||
|
||
if (dist < 0.5) | ||
m_img->AMask = dist; | ||
else | ||
m_img->AMask = 1.0f - dist; | ||
} | ||
|
||
void Flame::draw() { | ||
m_img->draw(false, false); | ||
} | ||
|
||
bool Flame::checkHit(Object* objRef) { | ||
bool hit = m_active && objRef->detectCollide(m_img); | ||
return hit; | ||
} | ||
|
||
Flame::~Flame() { | ||
delete m_img; | ||
} | ||
|
||
} | ||
#include "Flame.h" | ||
|
||
#ifdef _WIN32 | ||
#define _USE_MATH_DEFINES | ||
#include <math.h> | ||
#endif | ||
|
||
namespace violetland { | ||
|
||
Flame::Flame(float x, float y, Texture* tex) : | ||
Bullet(x, y, x, y, BULLET_FLAME) { | ||
m_img = new StaticObject(x, y, 128, 128, tex, false); | ||
m_img->RMask = 1.0; | ||
m_img->GMask = (float) (rand() % 50) / 100 + 0.4; | ||
m_img->BMask = 0.3f; | ||
m_img->Scale = 0.001f; | ||
} | ||
|
||
void Flame::process(int deltaTime) { | ||
const float dist = m_range / MaxRange; | ||
|
||
if (m_active && dist >= 0.7) | ||
m_active = false; | ||
|
||
if (dist >= 1.0) | ||
m_readyToRemove = true; | ||
|
||
const float relSpeed = (1.0 - dist) * Speed; | ||
|
||
X -= (float)cos((Angle + 90) * M_PI / 180) * deltaTime * relSpeed; | ||
Y -= (float)sin((Angle + 90) * M_PI / 180) * deltaTime * relSpeed; | ||
|
||
m_img->X = X; | ||
m_img->Y = Y; | ||
|
||
m_range += relSpeed * deltaTime; | ||
|
||
m_img->Scale = 2.5f * dist; | ||
|
||
if (dist < 0.5) | ||
m_img->AMask = dist; | ||
else | ||
m_img->AMask = 1.0f - dist; | ||
} | ||
|
||
void Flame::draw() { | ||
m_img->draw(false, false); | ||
} | ||
|
||
bool Flame::checkHit(Object* objRef) { | ||
bool hit = m_active && objRef->detectCollide(m_img); | ||
return hit; | ||
} | ||
|
||
Flame::~Flame() { | ||
delete m_img; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,28 @@ | ||
#ifndef GRENADEBULLET_H_ | ||
#define GRENADEBULLET_H_ | ||
|
||
#ifdef _WIN32 | ||
#define _USE_MATH_DEFINES | ||
#endif //_WIN32W | ||
#include "../../system/graphic/DynamicObject.h" | ||
#include "Bullet.h" | ||
|
||
namespace violetland { | ||
|
||
class GrenadeBullet: public Bullet { | ||
private: | ||
float m_targetX, m_targetY; | ||
float m_distance; | ||
float m_scale; | ||
DynamicObject* m_image; | ||
public: | ||
GrenadeBullet(float x, float y, float targetX, float targetY, | ||
Sprite* sprite); | ||
virtual void process(int deltaTime); | ||
virtual void draw(); | ||
virtual ~GrenadeBullet(); | ||
}; | ||
|
||
} | ||
|
||
#endif /* GRENADEBULLET_H_ */ | ||
#ifndef GRENADEBULLET_H_ | ||
#define GRENADEBULLET_H_ | ||
|
||
#ifdef _WIN32 | ||
#define _USE_MATH_DEFINES | ||
#endif //_WIN32W | ||
#include "../../system/graphic/DynamicObject.h" | ||
#include "Bullet.h" | ||
|
||
namespace violetland { | ||
|
||
class GrenadeBullet: public Bullet { | ||
private: | ||
float m_targetX, m_targetY; | ||
float m_distance; | ||
float m_scale; | ||
DynamicObject* m_image; | ||
public: | ||
GrenadeBullet(float x, float y, float targetX, float targetY, | ||
Sprite* sprite); | ||
virtual void process(int deltaTime); | ||
virtual void draw(); | ||
virtual ~GrenadeBullet(); | ||
}; | ||
|
||
} | ||
|
||
#endif /* GRENADEBULLET_H_ */ |
Oops, something went wrong.