Crossfire Server, Trunk
Utils.cpp
Go to the documentation of this file.
1 /*
2  * Crossfire -- cooperative multi-player graphical RPG and adventure game
3  *
4  * Copyright (c) 2020 the Crossfire Development Team
5  *
6  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
7  * welcome to redistribute it under certain conditions. For details, please
8  * see COPYING and LICENSE.
9  *
10  * The authors can be reached via e-mail at <crossfire@metalforge.org>.
11  */
12 
13 #include "Utils.h"
14 #include <vector>
15 
16 bool Utils::endsWith(const char * const str, const char * const with) {
17  return
18  strlen(str) >= strlen(with) &&
19  strcmp(&str[strlen(str) - strlen(with)], with) == 0;
20 }
21 
23  std::vector<std::string> items;
24  while (list) {
25  items.push_back(list->name);
26  list = list->next;
27  }
28 
29  bool first = true;
30  for (auto a = items.rbegin(); a != items.rend(); a++) {
31  stringbuffer_append_printf(buf, "%c%s", first ? ' ' : ',', (*a).c_str());
32  first = false;
33  }
34 }
35 
36 void Utils::writeStringArray(char **items, size_t count, StringBuffer *buf) {
37  bool first = true;
38  for (size_t item = 0; item < count; item++) {
39  stringbuffer_append_printf(buf, "%c%s", first ? ' ' : ',', items[item]);
40  first = false;
41  }
42 }
stringbuffer_append_printf
void stringbuffer_append_printf(StringBuffer *sb, const char *format,...)
Definition: stringbuffer.cpp:138
guildoracle.list
list
Definition: guildoracle.py:87
buf
StringBuffer * buf
Definition: readable.cpp:1552
Utils.h
linked_char
Definition: global.h:96
Utils::writeLinkedChar
static void writeLinkedChar(const linked_char *list, StringBuffer *buf)
Definition: Utils.cpp:22
make_face_from_files.str
str
Definition: make_face_from_files.py:30
disinfect.count
int count
Definition: disinfect.py:7
item
Definition: item.py:1
Utils::endsWith
static bool endsWith(const char *const str, const char *const with)
Definition: Utils.cpp:16
Utils::writeStringArray
static void writeStringArray(char **items, size_t count, StringBuffer *buf)
Definition: Utils.cpp:36
first
Crossfire Protocol most of the time after the actual code was already omit certain important and possibly make life miserable any new developer or curious player should be able to find most of the relevant information here If inconsistencies are found or this documentation proves to be consider the latest server side protocol code in the public source code repository as the authoritative reference Introduction If you were ever curious enough to telnet or netcat to a Crossfire chances are you were sorely disappointed While the protocol may seem to use plain text at first
Definition: protocol.txt:20
a
Magical Runes Runes are magical inscriptions on the dungeon which cast a spell or detonate when something steps on them Flying objects don t detonate runes Beware ! Runes are invisible most of the time They are only visible occasionally ! There are several runes which are there are some special runes which may only be called with the invoke and people may apply it to read it Maybe useful for mazes ! This rune will not nor is it ordinarily invisible Partial Visibility of they ll be visible only part of the time They have a(your level/2) chance of being visible in any given round
StringBuffer
Definition: stringbuffer.cpp:25