Commit Graph

227 Commits

Author SHA1 Message Date
twanvl 010c8d8d0b minor script parser things
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1243 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-12-11 15:46:51 +00:00
twanvl d4e9476759 fixed: "include file" did not reset the parent package, so this didn't work:
script:
    include file: /other-package/stuff
    include file: something-from-this-package


git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1242 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-12-11 15:24:48 +00:00
coppro 692d5b6286 Updates to make things work.
Some trivial things that are required to make it work on Linux.
Also updated build scripts to use Boost. You have to use
./configure --with-boost-regex=<libname, suitable for -l>


git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1206 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-09-07 17:21:25 +00:00
twanvl f405b82ce2 Split script profiler into a separate file
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1201 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-09-03 20:55:48 +00:00
twanvl 7c83ff01f4 Made a Regex class that wraps either boost::regex or wxRegEx (split from ScriptRegex).
Use Regex for keywords.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1196 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-09-03 14:43:11 +00:00
twanvl f1f4c30e44 Simplify regex code by moving things to the Results class, and by using iterators instead of positions
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1193 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-09-02 18:56:39 +00:00
twanvl aab910dc38 (optionally) use boost::regex instead of wxRegex, because it is faster
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1192 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-09-02 16:29:05 +00:00
twanvl 9709364ee7 Script profiler for finding slow scripts
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1191 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-09-02 16:27:47 +00:00
twanvl a2af3211a4 Moved mask to Style and mask related drawing to ValueViewer.
Used the same mask also for TextStyles.
To keep the text selectable (since the mask is now also used for containsPoint), the future sight cost masks needed to be updated.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1183 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-30 23:49:12 +00:00
twanvl a183ecc9a6 New class CachedScriptableMask: like CachedScriptableImage, only containing an AlphaMask instead of an Image/Bitmap.
Use CachedScriptableMask for all masks.

TODO: This introduces some duplicate code in ValueViewers that could be fixed by moving mask to the Style base class.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1182 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-30 21:51:38 +00:00
twanvl acb3493b59 Merged behaviour from ContourMask into AlphaMask.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1181 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-30 17:15:22 +00:00
twanvl 6e19511d48 minor fixes for building with vs2008.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1179 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-30 13:14:30 +00:00
twanvl dc9405e441 Added some more classes for ScriptErrors;
Added split_text function, which is the 'opposite' of break_text;
Script code "f\n(stuff)" now parses as "f;stuff" instead of a function call, "f(stuff)";
Fixed bug in cursor movement, which caused the closing > of a tag at end of input to be overwritten.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1175 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-27 18:44:59 +00:00
twanvl 9abfdd171c added "for each k:v in .. do .." statement
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1174 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-27 13:06:24 +00:00
twanvl 42d40dbd1e Added Package::saveCopy, which is used to implement the write_set_file script function.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1169 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-24 19:48:51 +00:00
twanvl b28ae56b25 close scopes in exception handler
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1166 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-24 18:26:31 +00:00
twanvl c8fb341e1a Fixed random_int and random_real functions; added random_boolean.
Split random_select into random_select and random_select_many.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1161 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-24 16:08:13 +00:00
coppro ec63e3b18b More workingness, now accepts locally-stored resources!
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1158 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-21 04:06:50 +00:00
twanvl f1fe40b4ef Added new_card function;
Added parameter to ScriptValue::next to recieve the key of the item.
Finished Add Multiple Cards behaviour.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1147 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-11 20:52:33 +00:00
twanvl 9e77a63526 Allow writing files anywhere from the command lines interface, not just in the working directory
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1116 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-09 01:54:17 +00:00
twanvl d14af1c43a Fixed possible crash in dependency checking
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1113 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-08 23:53:59 +00:00
twanvl 44f6acade7 Dependencies on stylesheet are marked, and updated when the stylesheet changes
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1087 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-07 20:50:19 +00:00
twanvl ee9060077b Fixed conversion bug in position_of function;
to_real no longer needs to throw exceptions when conversion fails

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1086 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-07 19:39:06 +00:00
twanvl b5bdaedde2 Fixed conversion from Values to other types: Values now report being of the contained type.
Added toImage function to ScriptValue.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1083 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-07 16:26:33 +00:00
twanvl c6fe6634dd Tweaked the way to use getScript() like functions;
Made condition and default_expand parameters of expand_keywords optional.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1080 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-07 01:54:13 +00:00
twanvl 2c6c6645f7 Lower case keywords are now recognized, but only if all parameters are given.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1078 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-07 01:01:51 +00:00
twanvl 1d38312d05 Moved part of keyword matching into a separate function; it was way too long
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1077 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-07 00:24:02 +00:00
twanvl dd006b9eca Fixed bug in dependency checker that caused it to overwrite variables outside its scope
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1063 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-05 17:02:32 +00:00
twanvl 5e4ce2862d fixed parsing of "x.0.y", the second dot was seen as a decimal point.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1058 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-05 00:31:45 +00:00
twanvl 6a71b20d26 Files can be written from command line interface
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1054 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-04 21:01:40 +00:00
twanvl 95b5fa67a2 - Added SetWindow::setControlStatusText function for setting the status text of child controls, since wx lacks a feature for doing it automatically.
- RandomPackPanel's spin controls are cleaned up when the set is reloaded
- to_int script function now converts empty string: to_int("") == 0

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1042 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-03 20:01:59 +00:00
twanvl 76d2eb7d42 Remove curly quotes for MWS and apprentice export
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1038 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-02 20:43:45 +00:00
twanvl 2f5666ac5b dependencies of extra card fields are now also added and updated;
this fixes combined_editor in extra fields.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1036 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-02 19:16:30 +00:00
coppro b49966dc03 Updates, including improvement to atomic code to ensure portability.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1031 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-01 20:58:09 +00:00
twanvl 13a37f4734 Simplified compilation of 'assert' pseudo function;
Added remove_duplicates flag to sort_list function;
Fixed documentation of <size:> tag

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1028 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-07-22 22:46:04 +00:00
twanvl 53808346a4 Allow "or else" construct to be used for error recovery
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1016 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-07-09 17:14:49 +00:00
twanvl bde65525ad some fixes to ^ operator
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1014 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-07-09 16:03:13 +00:00
twanvl 7cb2292d36 Added ^ power operator,
Added abs, random_int, random_real, random_shuffle, random_select script functions.
Made == comparison of doubles use a small epsilon, so things like 3/2 == 1.5 are actually true.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1013 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-07-09 15:51:07 +00:00
twanvl c0669fb658 Fixed length function to work correctly for ScriptObjects, in particular for TextValues.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1010 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-28 15:13:04 +00:00
twanvl c0d114c4a2 Fancier error messages for assert(X == Y)
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1008 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-28 14:51:20 +00:00
twanvl dfae1b2729 Added count_chosen function;
Added I_DUP instruction

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1007 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-28 14:41:38 +00:00
twanvl fe2e3fb9c8 Be more strict about type conversion:
* numbers are no longer auto converted to booleans, use to_boolean or != 0
  * booleans are no longer auto converted to numbers, use to_int
  * strings will soon no longer be auto converted to numbers, use to_int

Added version information ("since 0.3.7") to documentation

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1006 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-28 13:34:57 +00:00
coppro f2055044f9 Changed from a critical section to a mutex for error handling.
show_pending_errors() was being called over and over again from the GUI
update system - somehow it managed to have a single thread in two places
at once. Also tried recursive mutex, resulted in infinite dialogs until
an out-of-memory crash.

Also, minor conversion fix.


git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@998 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-21 05:02:46 +00:00
twanvl 158ecf67ad Now all regex functions use ScriptRule.
The *_rule functions can now be considered deprecated
Documented this by removing mentions of the rule functions, except for a mention of backwards compatibility.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@997 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-19 00:37:48 +00:00
twanvl 5ece2dbb86 More ScriptRule usage
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@996 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-19 00:04:28 +00:00
twanvl a3d209ae35 Use ScriptRule also for regex functions, optimizing them by pre-compiling default arguments
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@995 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-18 23:26:41 +00:00
twanvl 13157f6d67 Make ScriptClosure work correctly in combination with ScriptCompose: have a local scope.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@994 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-18 23:25:26 +00:00
twanvl a9c5f72fdc Make == script operator to work correctly on collections (lists)
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@992 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-18 23:11:26 +00:00
twanvl b7ffca6cfc Split regex related script functions into a separate file.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@991 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-18 22:25:45 +00:00
twanvl 864903bc0c Use closure stuff for making built in *_rule functions, simplifying the code.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@990 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-18 22:17:56 +00:00