Commit Graph

81 Commits

Author SHA1 Message Date
GenevensiS 436c437189 add compiler directives
add compiler directives
2025-12-30 01:18:04 +01:00
Twan van Laarhoven 7a788c724d Don't assert() check_tagged, that causes assert failures in debug mode for code that works in release 2020-09-27 14:02:29 +02:00
Twan van Laarhoven 04b239322e Fix #90: expand_keyword crashed when string ended with tags because of iterator out of bounds. 2020-09-27 01:12:45 +02:00
Twan van Laarhoven f97cf4236d Fix #70: overlapping keyword matches show reminder text for both keywords, now longest match is used 2020-06-10 00:00:38 +02:00
Twan van Laarhoven 688a25eb83 Fix #67 2020-06-02 19:48:43 +02:00
Twan van Laarhoven 31baa909d8 Fix #60: Don't match keywords when the keyword is (partially) inside and <atom> tag 2020-05-29 00:46:30 +02:00
Twan van Laarhoven 279fdb0378 Fix #58. Positions of the second match of a keyword were incorrectly counted from the end of the previous match instead of from the start of the string. 2020-05-27 02:12:32 +02:00
Twan van Laarhoven 48dd5907e2 Fix warning 2020-05-24 22:06:24 +02:00
Twan van Laarhoven 386ddb40b9 Remove old code 2020-05-24 21:30:34 +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 09139128e1 Fix in_tag and is_tag calls, fixes #47 2020-05-19 22:59:38 +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 0c3712b61a Cleanup: indentation of public/protected/private keywords 2020-05-12 21:57:37 +02:00
Twan van Laarhoven e36dc69ca6 Fix: crash caused by keywords with empty parameter matches (partial fix for #33) 2020-05-12 14:45:54 +02:00
Twan van Laarhoven 7ef0b885bb Allow "field:query" in the quick filter bar 2020-04-27 13:16:56 +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 40d78edf0f Cleaned up the reflection code a bit
* Renamed 'tag' variable to 'handler'
* Removed addAlias stuff, instead check for matching names with if statements
* Added after_reading function that is called by Reader after reading a complete object. This generalizes Packaged::validate, which is now also called via this mechanism.
* Removed some backwards compatibility with <0.3.0 for templates
2020-04-26 15:33:59 +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 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 4258ce1c6c Remove AColor class, because wxColour now supports alpha values. 2020-04-25 22:20:50 +02:00
Twan van Laarhoven 713a9e4a40 Use underscores instead of spaces for all internal names. And renamed some script functions at the same time.
* cannocial_name_form now outputs "_", where it used to use " "
* this simplifies reflectio and scripting code, because now C++ names are also MSE internal names
* added 'caption' property to fields. This is used instead of the name in NativeLookEditor, since the latter will now contain underscores.
* renamed text related script functions for consistency, since we were touching that part of the code anyway.
2020-04-22 23:48:26 +02:00
Twan van Laarhoven 35a89676b4 CMake file
Update to C++ 11: std::shared_ptr, for each loops
Update to wxWidgets 3.0+
2020-04-08 01:10:01 +02:00
Lymia Aluysia 1d912a6853 Update copyright strings. 2017-01-18 08:52:57 -06:00
Lymia Aluysia d2c635f739 Change tabs to two spaces. 2017-01-18 08:43:21 -06:00
twanvl bd55326c7d * Added console panel for evaluating scripts and showing error messages.
* Rewrite of error queue code: errors are now pulled, instead of being turned into messageboxes automatically.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1629 0fc631ac-6414-0410-93d0-97cfa31319b6
2011-01-21 13:26:03 +00:00
twanvl d217349148 Added filter box for keywords
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1615 0fc631ac-6414-0410-93d0-97cfa31319b6
2011-01-16 13:34:50 +00:00
twanvl 984d81e287 (formating)
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1606 0fc631ac-6414-0410-93d0-97cfa31319b6
2011-01-09 15:58:52 +00:00
twanvl 2f56a058c2 compatibility with wxWdigets 2.9+: wxString::iterator::operator* aparently does not return a wxChar anymore, use cast to force conversion.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1547 0fc631ac-6414-0410-93d0-97cfa31319b6
2010-12-07 21:18:31 +00:00
twanvl 55599011b4 keep close tags together with keyword parameters, fixes #51
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1457 0fc631ac-6414-0410-93d0-97cfa31319b6
2010-07-21 23:33:58 +00:00
coppro cf91f9c43b Update copryright date to 2010.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1438 0fc631ac-6414-0410-93d0-97cfa31319b6
2010-03-01 23:33:25 +00:00
coppro b73f081b60 Updated copyright information (2009 + my real name)
MSE now handles opening more gracefully - can handle directories and failures
Changed behavior to always save cards to separate files with intent to add VCS later (note: shouldn't do this for zip, but can't see a good way to approach this)


git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1388 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-06-19 03:09:05 +00:00
twanvl f24806a4de always call the combine function when expanding keywords
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1358 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-01-15 22:10:58 +00:00
twanvl eaf5e9bef2 keywords from the set file take precedence over keywords from the game file
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1344 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-01-11 02:17:31 +00:00
twanvl eed4c5301e - Added some calls to assert_tagged
- The tag_contents script function now works as advertised:
     - uses 'input' script variable instead of 'contents'
     - keeps the full old tag, not the one from 'tag'
     - no template code in svn breaks.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1303 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-01-08 17:14:20 +00:00
twanvl 5d78df944d fixed bug in keyword parsing: seperator_after contained the whole string, causing it to be duplicated
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1299 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-01-08 14:33:00 +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 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 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
twanvl 97ccf34dce Slightly more information on script errors in keyword reminder text
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@930 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-01 00:50:51 +00:00
twanvl 06016ac952 fixed regex escaping bug, keywords with params are now no longer recognized if followed by an opening parenthesis
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@922 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-05-31 22:48:39 +00:00
twanvl e99dd02443 Fixed: keywords no longer apply inside <atom> tags (most notably inside CARDNAME)
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@863 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-05-18 19:06:01 +00:00
twanvl 1b516e781f Script support for AColors. All colors in script related code are now AColor.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@852 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-05-16 20:51:16 +00:00
coppro 26562e03e3 Updated copyright information - added my name and also changed 2007 to 2008
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@837 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-04-06 18:16:32 +00:00
twanvl cefe0823f7 fixed: reminder text of a keyword can not be disabled if that keyword appears as the start of another word before it.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@818 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-01-11 21:40:17 +00:00
twanvl d2196eea09 Finally got precompiled headers to work.
Now all C++ files need to #include <util/prec.hpp>
 That is why all .cpp files are touched by this commit

Many changes to installers and update checking:
     - the window is now called PackagesWindow, in a new source file
     - update checking is now independent from the PackagesWindow. For update checking only a list of package versions are needed (vector<PackageDependency>). This is much less information to download at each startup.
     - the list of available packages is now a list of available Installers, since an installer can contain multiple packages.
     - moved the logic of dependency checking etc. to data/installer
     - moved the actual installation to util/io/package_manager
     - moved directory iteration/creation logic to util/file_utils
     - added PackageDirectory: the local and global package directory now have their own object (was part of PackageManager)
     - added PackageVersion: for detecting if a package has been modified after it was installed.
     - added PackageDescription: description/header of a package. Basicly the same as what Packaged provides.
     - added DownloadableInstaller: where to find an insaller, what does it contain?
     - added InstallablePackage: brining it all together: installer, package, status, action.

Current status: the insaller is currently broken in a few places, more on that soon.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@792 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-12-29 18:30:41 +00:00
twanvl 547a48b98d - Optimization: common parameters to built in functions are no longer looked up as a string at each call, instead their integer ids are global constants
- Optimization: some other minor tweaks.
 - Nicer --help message

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@783 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-12-24 02:04:45 +00:00