Go to the documentation of this file.
14 #include "../CRESettings.h"
18 #include <QTextStream>
23 setProperty(
tipProperty, tr(
"Display all sound files."));
45 std::map<std::string, std::string> soundConf;
46 QFile
file(dir.filePath(
"sounds.conf"));
47 if (
file.open(QIODevice::ReadOnly | QIODevice::Text)) {
48 QTextStream in(&
file);
50 QString
line = in.readLine();
51 if (
line.isEmpty() ||
line.startsWith(
'#')) {
55 if (
split.length() != 3) {
58 soundConf[
split[0].toStdString()] =
split[2].toStdString();
61 qDebug() << tr(
"Unable to open sound configuration file %1/sounds.conf").arg(
path);
65 for (
auto file : files) {
66 if (
file.endsWith(
".ogg") ||
file.endsWith(
".wav")) {
67 std::vector<std::string>
events;
68 for (
const auto &
sc : soundConf) {
69 if (
sc.second ==
file.toStdString()) {
76 if (
file.endsWith(
".LICENSE")) {
78 auto it = std::find_if(
mySounds.cbegin(),
mySounds.cend(), [&
name] (
const auto &sound) { return sound->displayName() == name; });
98 for (
size_t i = 0; i <
mySounds.size(); ++i) {
100 return static_cast<int>(i);
108 return tr(
"No sound file found");
111 for (
const auto &sound :
mySounds) {
112 if (!sound->license().empty()) {
116 size_t percent = 100 * with /
mySounds.size();
117 if (percent == 100 && with <
mySounds.size()) {
120 return tr(
"%1 sound files with license information on %2 (%3%)").arg(with).arg(
mySounds.size()).arg(percent);
Install Bug reporting Credits so make sure you have version or later There are files involved in the automatic convert convertall and filelist py GuildList has the list of guilds for the server GuildLocations is what is used by the install script for setting up the maps It has columns in the first is the name of the no spaces The second is the region of the the third is the destination folder for the the fourth is the exit the fifth and sixth are the x and y coords within the exit the seventh eighth and ninth are the exit location for the storage hall If field seven is then it uses the same exit map as for the guild hall itself filelist py has a list of which files to process for each guild hall convert py takes all the files in filelist py and customises them to the specific guild then outputs them into a in the same order that they are listed in GuildLocations convertall py reads the lines from GuildLocations and runs line by line
Install Bug reporting Credits but rather whatever guild name you are using *With the current map and server there are three they and GreenGoblin *Whatever name you give the folder should but it will still use GUILD_TEMPLATE *You can change what guild it uses by editing the map files Modify Map Files
static const char * tipProperty
virtual AssetWrapper * child(int index) override
void markModified(ChangeType change, int extra=0)
void bufferreader_destroy(BufferReader *br)
Plugin animator file specs[Config] name
BufferReader * bufferreader_init_from_file(BufferReader *br, const char *filepath, const char *failureMessage, LogLevel failureLevel)
Player Stats effect how well a character can survie and interact inside the crossfire world This section discusses the various what they and how they effect the player s actions Also in this section are the stat modifiers that specific classes professions bring Player and sps the current and maximum the Current and Maximum The Current Sp can go somewhat negative When Sp is negative not all spells can be and a more negative Sp makes spell casting less likey to succeed can affect Damage and how the characters as well as how often the character can attack this affects the prices when buying and selling items if this drops the player will start losing hit points wd Cleric or Dwarf sm Elf wd Fireborn sc
QString licenseInformation
SoundFiles(AssetWrapper *parent)
pluglist shows those as well as a short text describing each the list will simply appear empty The keyword for the Python plugin is Python plugout< keyword > Unloads a given identified by its _keyword_ So if you want to unload the Python you need to do plugout Python plugin< libname > Loads a given whose _filename_ is libname So in the case of you d have to do a plugin cfpython so Note that all filenames are relative to the default plugin path(SHARE/plugins). Console messages. ----------------- When Crossfire starts
virtual int childIndex(AssetWrapper *child) override
std::vector< SoundFile * > mySounds
static std::vector< std::string > split(const std::string &field, const std::string &by)
static void parseLicenseFile(BufferReader *reader, const char *filename, std::vector< LicenseItem > &items)
static QHash< QString, archetype * > events