summaryrefslogtreecommitdiff
path: root/src/Misc.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-10-19 17:59:49 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-10-19 17:59:49 (GMT)
commit8f4296ac399ba85e79811058744cadec9fd21a0c (patch)
tree8f8c1d862b91c308b531d210fe7d79f81d732032 /src/Misc.cpp
parentcebd28148d8e6ea77d180ef1e186df7993d9e413 (diff)
downloadpowder-8f4296ac399ba85e79811058744cadec9fd21a0c.zip
powder-8f4296ac399ba85e79811058744cadec9fd21a0c.tar.gz
Spark sign tool, {b|sometext}, when the sign is clicked, the a spark will be created at the signs position. Also MouseDown events that draw particles from being triggered when clicking on a sign
Diffstat (limited to 'src/Misc.cpp')
-rw-r--r--src/Misc.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/Misc.cpp b/src/Misc.cpp
index 918e5c4..183dfb1 100644
--- a/src/Misc.cpp
+++ b/src/Misc.cpp
@@ -622,21 +622,30 @@ void membwand(void * destv, void * srcv, size_t destsize, size_t srcsize)
}
}
-int splitsign(const char* str)
+int splitsign(const char* str, char * type)
{
int match=0,r;
- if (str[0]=='{' && (str[1]=='c' || str[1]=='t') && str[2]==':' && str[3]>='0' && str[3]<='9')
+ if (str[0]=='{' && (str[1]=='c' || str[1]=='t' || str[1]=='b'))
{
- const char* p=str+4;
- while (*p>='0' && *p<='9')
- p++;
+ const char* p=str+2;
+ if(str[2]==':' && str[3]>='0' && str[3]<='9')
+ {
+ p=str+4;
+ while (*p>='0' && *p<='9')
+ p++;
+ }
+
if (*p=='|')
{
r=p-str;
while (*p)
p++;
if (p[-1]=='}')
+ {
+ if(type)
+ *type = str[1];
return r;
+ }
}
}
return 0;