Step towards TC upgrade
This commit is contained in:
parent
12f9e65110
commit
735bc2afaf
6 changed files with 107 additions and 72 deletions
|
@ -212,6 +212,35 @@ name=moveto
|
|||
x="0-38"
|
||||
y="0-20"
|
||||
[/remove_shroud]
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=units/elves-wood/captain.png~TC(3,magenta)
|
||||
message=_ "Now I am on the green team."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[item]
|
||||
x,y=12,6
|
||||
image="items/orcish-flag.png"
|
||||
[/item]
|
||||
[label]
|
||||
x,y=12,6
|
||||
text="change coloring"
|
||||
[/label]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=1
|
||||
x=12
|
||||
y=6
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=units/elves-wood/captain.png~TC(3,magenta)
|
||||
message=_ "Now I am on the green team."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[item]
|
||||
|
|
|
@ -1,62 +1,62 @@
|
|||
[team_color]
|
||||
side=1
|
||||
[color_range]
|
||||
id=1
|
||||
team_rgb=255,0,0,255,255,255,0,0,0,255,0,0
|
||||
name= _ "Red"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=2
|
||||
[color_range]
|
||||
id=2
|
||||
team_rgb=46,65,155,255,255,255,15,15,15,0,0,255
|
||||
name= _ "Blue"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=3
|
||||
[color_range]
|
||||
id=3
|
||||
team_rgb=98,182,100,255,255,255,0,0,0,0,255,0
|
||||
name= _ "Green"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=4
|
||||
[color_range]
|
||||
id=4
|
||||
team_rgb=147,0,157,255,255,255,0,0,0,255,0,255
|
||||
name= _ "Purple"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=7
|
||||
[color_range]
|
||||
id=7
|
||||
team_rgb=240,114,0,240,240,240,0,0,0,255,170,0
|
||||
name= _ "Orange"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=5
|
||||
[color_range]
|
||||
id=5
|
||||
team_rgb=90,90,90,255,255,255,0,0,0,0,0,0
|
||||
name= _ "Black"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=8
|
||||
[color_range]
|
||||
id=8
|
||||
team_rgb=225,225,225,255,255,255,30,30,30,255,255,255
|
||||
name= _ "White"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=6
|
||||
[color_range]
|
||||
id=6
|
||||
team_rgb=148,80,39,255,255,255,0,0,0,170,70,0
|
||||
name= _ "Brown"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
[team_color]
|
||||
side=9
|
||||
[color_range]
|
||||
id=9
|
||||
team_rgb=48,203,192,255,255,255,0,0,0,0,240,200
|
||||
name= _ "Teal"
|
||||
[/team_color]
|
||||
[/color_range]
|
||||
|
||||
|
||||
[team_colors]
|
||||
[color_palette]
|
||||
magenta=244,154,193,63,0,22,85,0,42,105,0,57,123,0,69,140,0,81,158,0,93,177,0,105,195,0,116,214,0,127,236,0,140,238,61,150,239,91,161,241,114,172,242,135,182,246,173,205,248,193,217,250,213,229,253,233,241
|
||||
green=0,200,0,0,255,0,0,254,0,0,253,0,0,252,0,0,251,0,0,250,0,0,249,0,0,248,0,0,247,0,0,246,0,0,245,0,0,244,0,0,243,0,0,242,0,0,241,0,0,240,0,0,239,0,0,238,0,0,237,0,0,236,0,0,235,0,0,234,0,0,233,0,0,232,0,0,231,0,0,230,0,0,229,0,0,228,0,0,227,0,0,226,0,0,225,0,0,224,0,0,223,0,0,222,0,0,221,0,0,220,0,0,219,0,0,218,0,0,217,0,0,216,0,0,215,0,0,214,0,0,213,0,0,212,0,0,211,0,0,210,0,0,209,0,0,208,0,0,207,0,0,206,0,0,205,0,0,204,0,0,203,0,0,202,0,0,201,0,0,199,0,0,198,0,0,197,0,0,196,0,0,195,0,0,194,0,0,193,0,0,192,0,0,191,0,0,190,0,0,189,0,0,188,0,0,187,0,0,186,0,0,185,0,0,184,0,0,183,0,0,182,0,0,181,0,0,180,0,0,179,0,0,178,0,0,177,0,0,176,0,0,175,0,0,174,0,0,173,0,0,172,0,0,171,0,0,170,0,0,169,0,0,168,0,0,167,0,0,166,0,0,165,0,0,164,0,0,163,0,0,162,0,0,161,0,0,160,0,0,159,0,0,158,0,0,157,0,0,156,0,0,155,0,0,154,0,0,153,0,0,152,0,0,151,0,0,150,0,0,149,0,0,148,0,0,147,0,0,146,0,0,145,0,0,144,0,0,143,0,0,142,0,0,141,0,0,140,0,0,139,0,0,138,0,0,137,0,0,136,0,0,135,0,0,134,0,0,133,0,0,132,0,0,131,0,0,130,0,0,129,0,0,128,0,0,127,0,0,126,0,0,125,0,0,124,0,0,123,0,0,122,0,0,121,0,0,120,0,0,119,0,0,118,0,0,117,0,0,116,0,0,115,0,0,114,0,0,113,0,0,112,0,0,111,0,0,110,0,0,109,0,0,108,0,0,107,0,0,106,0,0,105,0,0,104,0,0,103,0,0,102,0,0,101,0,0,100,0,0,99,0,0,98,0,0,97,0,0,96,0,0,95,0,0,94,0,0,93,0,0,92,0,0,91,0,0,90,0,0,89,0,0,88,0,0,87,0,0,86,0,0,85,0,0,84,0,0,83,0,0,82,0,0,81,0,0,80,0,0,79,0,0,78,0,0,77,0,0,76,0,0,75,0,0,74,0,0,73,0,0,72,0,0,71,0,0,70,0,0,69,0,0,68,0,0,67,0,0,66,0,0,65,0,0,64,0,0,63,0,0,62,0,0,61,0,0,60,0,0,59,0,0,58,0,0,57,0,0,56,0,0,55,0,0,54,0,0,53,0,0,52,0,0,51,0,0,50,0,0,49,0,0,48,0,0,47,0,0,46,0,0,45,0,0,44,0,0,43,0,0,42,0,0,41,0,0,40,0,0,39,0,0,38,0,0,37,0,0,36,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,0,0,9,0,0,8,0,0,7,0,0,6,0,0,5,0,0,4,0,0,3,0,0,2,0,0,1,0
|
||||
[/team_colors]
|
||||
[/color_palette]
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -162,17 +162,17 @@ namespace game_config
|
|||
level_image = v["level_image"];
|
||||
ellipsis_image = v["ellipsis_image"];
|
||||
|
||||
const config::child_list& team_colors = v.get_children("team_color");
|
||||
const config::child_list& team_colors = v.get_children("color_range");
|
||||
for(config::child_list::const_iterator teamC = team_colors.begin(); teamC != team_colors.end(); ++teamC) {
|
||||
if(!(**teamC)["side"].empty() && !(**teamC)["team_rgb"].empty()){
|
||||
int side = atoi((**teamC)["side"].c_str());
|
||||
if(!(**teamC)["id"].empty() && !(**teamC)["team_rgb"].empty()){
|
||||
int side = atoi((**teamC)["id"].c_str());
|
||||
std::vector<Uint32> temp = string2rgb((**teamC)["team_rgb"]);
|
||||
team_rgb_range[side] = color_range(temp);
|
||||
team_rgb_name[side] = (**teamC)["name"];
|
||||
}
|
||||
}
|
||||
|
||||
const config* rgbv = v.child("team_colors");
|
||||
const config* rgbv = v.child("color_palette");
|
||||
if(rgbv) {
|
||||
for(string_map::const_iterator rgb_it = rgbv->values.begin(); rgb_it != rgbv->values.end(); ++rgb_it) {
|
||||
try {
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "util.hpp"
|
||||
#include "wassert.hpp"
|
||||
#include "wesconfig.h"
|
||||
#include "serialization/string_utils.hpp"
|
||||
|
||||
#include "SDL_image.h"
|
||||
|
||||
|
@ -139,19 +140,23 @@ void locator::parse_arguments()
|
|||
return;
|
||||
}
|
||||
size_t markup_field = fn.find('~');
|
||||
while(markup_field != std::string::npos) {
|
||||
size_t open_field = fn.find('(',markup_field);
|
||||
size_t close_field = fn.find(')',markup_field);
|
||||
if(open_field == std::string::npos || close_field == std::string::npos) {
|
||||
return;
|
||||
std::string left_par="(";
|
||||
std::string right_par=")";
|
||||
if(markup_field != std::string::npos) {
|
||||
std::string markup_string = fn.substr(markup_field+1, fn.size() - markup_field );
|
||||
fn = fn.substr(0,markup_field);
|
||||
std::vector<std::string> farg = utils::paranthetical_split(markup_string,left_par,right_par);
|
||||
std::vector<std::string>::const_iterator i = farg.begin();
|
||||
while(i!=farg.end()){
|
||||
std::string function=*i++;
|
||||
if(i==farg.end()){
|
||||
return;
|
||||
}
|
||||
std::string field = *i++;
|
||||
if(function == "TC") {
|
||||
get_tc_info(field);
|
||||
}
|
||||
}
|
||||
std::string field = fn.substr(open_field+1,close_field-open_field-1);
|
||||
std::string function = fn.substr(markup_field+1,open_field-markup_field-1);
|
||||
fn = fn.substr(0,markup_field) + fn.substr(close_field+1);
|
||||
if(function == "TC") {
|
||||
get_tc_info(field);
|
||||
}
|
||||
markup_field = fn.find('~');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -206,7 +206,7 @@ std::vector< std::string > split(std::string const &val, char c, int flags)
|
|||
//Empty elements are never removed as they are placeholders.
|
||||
//parenthetical_split("a(b)c{d}e(f{g})h","({",")}") should return a vector of
|
||||
// <"a","b","c","d","e","f{g}","h">
|
||||
std::vector< std::string > paranthetical_plit(std::string const &val, std::string const &left, std::string const &right,int flags)
|
||||
std::vector< std::string > paranthetical_split(std::string const &val, std::string const &left, std::string const &right,int flags)
|
||||
{
|
||||
std::vector< std::string > res;
|
||||
std::vector<char> part;
|
||||
|
@ -214,31 +214,16 @@ std::vector< std::string > paranthetical_plit(std::string const &val, std::strin
|
|||
std::string::const_iterator i1 = val.begin();
|
||||
std::string::const_iterator i2 = val.begin();
|
||||
|
||||
std::string lp=left;
|
||||
std::string rp=right;
|
||||
|
||||
if(left.size()!=right.size()){
|
||||
ERR_GENERAL << "Left and Right Parenthesis lists not same length\n";
|
||||
return res;
|
||||
}
|
||||
|
||||
while (i2 != val.end()) {
|
||||
for(size_t i=0; i < left.size(); i++){
|
||||
if (*i2 == left[i]){
|
||||
if (part.size()==0){
|
||||
std::string new_val(i1, i2);
|
||||
if (flags & STRIP_SPACES)
|
||||
strip(new_val);
|
||||
res.push_back(new_val);
|
||||
++i2;
|
||||
if (flags & STRIP_SPACES) {
|
||||
while (i2 != val.end() && *i2 == ' ')
|
||||
++i2;
|
||||
}
|
||||
i1=i2;
|
||||
}
|
||||
part.push_back(right[i]);
|
||||
i=left.size();
|
||||
}
|
||||
}
|
||||
if(*i2 == part.back()){
|
||||
if(part.size() && *i2 == part.back()){
|
||||
part.pop_back();
|
||||
if(part.size() == 0){
|
||||
std::string new_val(i1, i2);
|
||||
|
@ -246,14 +231,30 @@ std::vector< std::string > paranthetical_plit(std::string const &val, std::strin
|
|||
strip(new_val);
|
||||
res.push_back(new_val);
|
||||
++i2;
|
||||
if (flags & STRIP_SPACES) {
|
||||
while (i2 != val.end() && *i2 == ' ')
|
||||
++i2;
|
||||
}
|
||||
i1=i2;
|
||||
}else{
|
||||
++i2;
|
||||
}
|
||||
}
|
||||
++i2;
|
||||
break;
|
||||
}
|
||||
for(size_t i=0; i < lp.size(); i++){
|
||||
if (*i2 == lp[i]){
|
||||
if (part.size()==0){
|
||||
std::string new_val(i1, i2);
|
||||
if (flags & STRIP_SPACES)
|
||||
strip(new_val);
|
||||
res.push_back(new_val);
|
||||
++i2;
|
||||
i1=i2;
|
||||
}else{
|
||||
++i2;
|
||||
}
|
||||
part.push_back(rp[i]);
|
||||
break;
|
||||
}else{
|
||||
++i2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string new_val(i1, i2);
|
||||
|
|
|
@ -49,7 +49,7 @@ bool notspace(char c);
|
|||
// STRIP_SPACES : strips leading and trailing blank spaces
|
||||
enum { REMOVE_EMPTY = 0x01, STRIP_SPACES = 0x02 };
|
||||
std::vector< std::string > split(std::string const &val, char c = ',', int flags = REMOVE_EMPTY | STRIP_SPACES);
|
||||
std::vector< std::string > paranthetical_plit(std::string const &val, std::string const &left="(", std::string const &right=")",int flags = STRIP_SPACES);
|
||||
std::vector< std::string > paranthetical_split(std::string const &val, std::string const &left="(", std::string const &right=")",int flags = STRIP_SPACES);
|
||||
std::string join(std::vector< std::string > const &v, char c = ',');
|
||||
std::vector< std::string > quoted_split(std::string const &val, char c= ',',
|
||||
int flags = REMOVE_EMPTY | STRIP_SPACES, char quote = '\\');
|
||||
|
|
Loading…
Add table
Reference in a new issue