Commit Graph

345 Commits

Author SHA1 Message Date
Brendan Hagan 52a918be39 misc: remove extra_data function 2022-07-14 17:33:22 -04:00
Brendan Hagan 4f7fa585f7 feat: expose extra_card and extra_card_style script accessible variables 2022-07-14 17:30:45 -04:00
Brendan Hagan be2635f778 misc: apply canonical field name transformation 2022-06-21 23:17:28 -04:00
Brendan Hagan 6e077b0899 feat: add extra_data() function to expose extra card fields 2022-06-21 23:16:13 -04:00
Twan van Laarhoven c7377303cf Make templates localizable (Closes #100) 2020-10-03 14:38:39 +02:00
Twan van Laarhoven 5840f6c493 Fix type error in error handler 2020-09-27 01:10:36 +02:00
Twan van Laarhoven 1f75175943 Cleanup: rename ValueViewer::viewer -> parent; store CardP in ValueAction 2020-05-31 16:07:13 +02:00
Twan van Laarhoven c9c708dfbe Fix #63: don't use reference arguments in openFileInPackage 2020-05-27 22:16:48 +02:00
Twan van Laarhoven f0c0b51e6c Fix #59, fix #61:
* Now a <nospellcheck>/<sym>/<atom> anywhere within a word disables the spellchecker.
* Consider single quotes to be a part of a word, for things like "doesn't". TODO: this will do the wrong thing for text in single quotes
2020-05-26 23:37:35 +02:00
Twan van Laarhoven c9c7a958ae Add exception handlers in places where scripts are invoked. This should lead to slightly nicer error messages. 2020-05-22 00:30:18 +02:00
Twan van Laarhoven c8bf037815 Fix: correct line numbers for parse errors in included files 2020-05-22 00:24:05 +02:00
Twan van Laarhoven 1a0e17221b Added StringView type (similar to std::string_view) 2020-05-21 19:29:42 +02:00
Twan van Laarhoven 7ac44fcff1 More strict matching of tags: <blah> doesn't count as <b> anymore 2020-05-17 23:51:36 +02:00
Twan van Laarhoven b3ddb295fc Rewrite of keyword matching code. This fixes #20
Uses new iterator based tagged string functions.
2020-05-17 22:00:59 +02:00
Twan van Laarhoven 0b653938cc Use unordered_map in KeywordTrie 2020-05-16 21:57:28 +02:00
Twan van Laarhoven 5deaeeeb3e Cleanup: use override specifier everywhere, and enable gcc warning to check for it. 2020-05-16 00:23:18 +02:00
Twan van Laarhoven a7c47729c1 Clean up old style angle brackets in nested templates 2020-05-15 02:15:58 +02:00
Twan van Laarhoven 1f3a2c2519 Fix #35 2020-05-14 23:48:06 +02:00
Twan van Laarhoven 2b7bd252e4 Added <li>, <margin> and <align> tags 2020-05-14 21:32:22 +02:00
Twan van Laarhoven 0c3712b61a Cleanup: indentation of public/protected/private keywords 2020-05-12 21:57:37 +02:00
Twan van Laarhoven 7781a428f6 Add constant for escaped < 2020-05-12 21:10:01 +02:00
Twan van Laarhoven 48dcdb8e59 Don't throw an exception when failing to load spellchecker file, instead show warning and continue.
Mitigates #25 somewhat
2020-05-12 18:59:33 +02:00
Twan van Laarhoven cb635bd73d Disable script profiler in release build 2020-05-12 18:54:56 +02:00
Twan van Laarhoven 3d6e3b3103 Use iterators instead of string positions 2020-05-12 02:09:10 +02:00
Twan van Laarhoven 62a0aea3b8 Added some assertions 2020-05-11 00:31:42 +02:00
Twan van Laarhoven 420c329bc4 Added "case-of" control structure 2020-05-09 18:41:30 +02:00
Twan van Laarhoven 8b25815f72 Re-enabled intrusive_ptr 2020-05-07 22:25:02 +02:00
Twan van Laarhoven 360f8d71ad Fix: check starting_age <= age, instead of starting_age < age. Otherwise we can get into an infinite loop. 2020-05-07 02:56:43 +02:00
Twan van Laarhoven e005d47d56 Use std::enable_shared_from_this instead of thisP parameters. 2020-05-06 22:59:10 +02:00
Twan van Laarhoven c00d1f2236 Use script_nil instead of creating ScriptObjects with null pointers.
Fixes #18
2020-05-04 19:58:12 +02:00
Twan van Laarhoven 74230fefeb Fix #17: change &instrs[pos] to &instrs[0]+pos to avoid debug assertions when pos=instrs.size() 2020-05-04 13:22:44 +02:00
Twan van Laarhoven 9f99bf4658 There is little point to a pool allocator with shared_ptr, since ref counters are still allocated as well. 2020-05-04 00:44:50 +02:00
Twan van Laarhoven 30391672ad Exception instead of warning 2020-04-30 14:25:18 +02:00
Twan van Laarhoven a11af1767c Fix #6, fix #7: infinite loops/infinite recursion in regex script functions are now "nice" exceptions 2020-04-30 14:08:06 +02:00
Twan van Laarhoven a1d54f36fc Use LocalFileName class for file names inside a package. 2020-04-30 00:20:32 +02:00
Twan van Laarhoven 5f615b3117 Fix #5. Use our own function instead of wxRemoveFile, because the latter shows an error when the file doesn't exist. 2020-04-28 21:25:05 +02:00
Twan van Laarhoven 618df3b534 Script parser now produces warnings about statements where expressions are expected, and about the = comparison operator. 2020-04-27 19:14:17 +02:00
Twan van Laarhoven af7e8c9d39 Switch (back) to our own Color type instead of using wxColour.
The reason is that wxColour's default constructor creates an invalid color (what is that even?). It is nicer to just have default be transparent.
2020-04-26 21:41:35 +02:00
Twan van Laarhoven c324c8bbbb to_code now adds quotes around strings.
to_code for map now includes keys.
This maans that the basic script-functions test passes.
2020-04-26 17:35:14 +02:00
Twan van Laarhoven 2e897edbbf Use toSomeType() instead of operator SomeType in ScriptValue.
This means that we are more explicit about type conversions.
Also use override specifiers for overriden virtual functions in ScriptValue.
2020-04-26 17:03:43 +02:00
Twan van Laarhoven 54a3cbfde3 Replace include guards by #pragma once 2020-04-26 01:25:16 +02:00
Twan van Laarhoven bad9981ad9 Cleaned up copyright block.
Removed the year so we don't get tempted to change this ever again.
2020-04-26 01:11:14 +02:00
Twan van Laarhoven 4327abb803 Remove DECLARE_TYPEOF
It is no longer needed since C++11
2020-04-26 00:51:16 +02:00
Twan van Laarhoven 5e92d9455c Code cleanup: remove messy spaces before line continuation (\) in macros 2020-04-26 00:37:13 +02:00
Twan van Laarhoven 7d06e903a4 Rename script function rotate -> rotate_image 2020-04-25 23:46:30 +02:00
Twan van Laarhoven 37c8641641 Replace scoped_ptr by unique_ptr 2020-04-25 22:28:32 +02:00
Twan van Laarhoven 787a707900 Use std::shuffle instead of std::random_shuffle, since the latter is removed in C++17 2020-04-25 22:20:51 +02:00
Twan van Laarhoven 0d42df1537 Fix type conversion errors in GCC/wxGTK 2020-04-25 22:20:51 +02:00
Twan van Laarhoven 64ea1d7322 Clean up pointer use:
* Use unique_ptr for Actions instead of manual memory management
 * Use unique_ptr in KeywordDatabase
 * Use unique_ptr instead of shared_ptr for file formats
 * Don't pass shared_ptr to Reader/Writer, use references instead
Also
 * Switch to C++17 so we can use map::try_emplace
2020-04-25 22:20:51 +02:00
Twan van Laarhoven 708b4389a0 Use make_intrusive/make_shared for smart pointer construction. 2020-04-25 22:20:51 +02:00