Commit Graph

93 Commits

Author SHA1 Message Date
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 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
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 53bbcfe9a9 Be explicit about type of angles: either Radians or Degrees.
Angles are always doubles.
Internally use radians as much as possible.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1605 0fc631ac-6414-0410-93d0-97cfa31319b6
2011-01-09 14:49:59 +00:00
twanvl f7ae4b5a7b in_tag function now looks for a positive number of tag occurrences.
In particular: in "<tag><tag></tag>x</tag>" the x is now in_tag.
This fixes the rest of #20.

Also added is_in_tag function that returns a bool instead of the tag position.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1456 0fc631ac-6414-0410-93d0-97cfa31319b6
2010-07-21 22:42:46 +00:00
twanvl 4c3acef3fa don't crash when an action=nullptr (partial fix for #20)
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1455 0fc631ac-6414-0410-93d0-97cfa31319b6
2010-07-21 19:24:51 +00:00
twanvl 51dfed69b4 Instead of the new_intrusive<T>() functions, use intrusive(new T)
This means we no longer need 8 different functions for different numbers of arguments, and non-const references can now also be passed to constructors without problems.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1443 0fc631ac-6414-0410-93d0-97cfa31319b6
2010-07-21 14:32:28 +00:00
coppro 85854b1bd2 Fix warnings
Semi-fix bug #6 (does not work if the zipfile was loaded from a directory)


git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1439 0fc631ac-6414-0410-93d0-97cfa31319b6
2010-03-04 01:46:04 +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 e3cdb2bea7 adding & editing custom pack types now works.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1328 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-01-10 01:37:03 +00:00
twanvl ad415f655f change the time_modified of cards in actions, and restore it on undo
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1324 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-01-09 20:02:58 +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 ce906e83f8 Cleaned up the calculation of bounds of symbols, this fixes bounds calculation with symmetries.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1178 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-08-27 23:46:31 +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 3c4aa8346b Correctly merge backspace actions
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1023 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-07-11 17:37:39 +00:00
twanvl 37329ec63e Use KaywordParamValue objects for sanity checking reminder text scripts, this fixes:
"Error message "String param1 has no member 'value'" when using param1.value in custom keywords."

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1002 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-25 12:42:20 +00:00
twanvl 83e632f5af Fixed possible crash bug with card specific style options. By changing the set stylesheet it was possible for the option values to be matched with the wrong fields.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@981 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-17 17:56:15 +00:00
twanvl ae14784fd6 Reduce coupling between ValueEditors/Viewers and Set and StyleSheet.
- Adding of actions is done with an addAction function
 - Files are read from
     - getStylePackage for styling stuff (this is stylesheet)
     - getLocalPackage for symbol and image values (this was the set)


git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@970 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-04 00:21:06 +00:00
twanvl d00beeb55f Closure operator now behaves as default argument operator, documentation.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@965 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-03 18:33:17 +00:00
twanvl bd09a24b69 These asserts were there because this shouldn't happen, I added them back for debug builds. We really should find the cause of any violations.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@955 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-02 21:35:10 +00:00
coppro ebe26e0444 Minor updates that make things work!
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@945 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-02 02:36:56 +00:00
twanvl 336726b16b The keyword reminder text box now tries to run the script to see if it contains errors
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@932 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-01 01:29:13 +00:00
twanvl 891f044fd7 fixed adding/deleting multiple cards (next time: commit the whole directory)
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@889 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-05-30 18:21:50 +00:00
twanvl e61aed5c6b Names of add/remove card/keyword actions
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@868 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-05-18 21:10:13 +00:00
twanvl 1a7e689e95 Added break_text function
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@857 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-05-18 17:27:44 +00:00
twanvl c666e98645 Allow multiple cards to be selected in a card list,
Allow card actions to add/remove multiple cards.
not yet: actually use these multicard actions.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@853 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-05-17 01:51:50 +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
coppro e6f466933d More warnings/minor fixes
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@836 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-04-06 18:08:32 +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 d493394519 - Added 'package list' field type
- Some refactoring of the other field types

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@790 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-12-26 23:37:45 +00:00
twanvl 36a36356c5 The 'Big Whine' patch:
Any use of a file from another package without a declared dependency will give a warning;

Also added some more _LOCALE_123_ macros so we need less format_string calls

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@753 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-09-24 20:24:22 +00:00
twanvl fc44560238 Added 'card' to value actions, this fixes a bug where extra fields get updated with the wrong context, and it should also speed things up.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@673 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-09-09 00:39:01 +00:00
twanvl 3c6721a0cb Symmetry actions now work; reflection symmetry is forced to use a multiple of two copies
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@539 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-10 03:15:46 +00:00
twanvl 1a01ac55f2 Rotation and reflection should now work correctly;
Finished the symmetry editor

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@538 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-10 02:47:27 +00:00
twanvl 1c04a718ac Implemented rotation and reflection
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@536 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-09 22:38:34 +00:00
twanvl c7d31ddb4a Implemented selection using rectangles in symbol editor
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@535 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-09 21:19:59 +00:00
twanvl b409188013 Symbol editor now has constraints on selection, but part list allows selection inside groups.
Added logical 'xor' operator for scripting.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@534 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-09 20:43:16 +00:00
twanvl d00b09eb60 New symbol part list control that shows previews and has a built in editor
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@529 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-08 22:26:39 +00:00
twanvl b18dea0f69 Movement of objects with the arrow keys in symbol editor
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@527 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-08 13:48:53 +00:00
twanvl b46d979f9e Added the necessery classes to handle symmetry objects/mirrors in symbols; What used to be SymbolPart is now SymbolShape, SymbolPart is a base class.
This should also pave the way for grouping.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@526 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-08 01:12:55 +00:00
twanvl e3939813dc Cursor now moves correctly with script updates; tries to stay outside <sym> tags;
Closing </kw> tags no longer end up in keyword parameters

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@515 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-07-06 23:28:45 +00:00
twanvl f0628317a3 Added clone() function to Value.
Added support for per-card styling

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@430 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-06-24 01:30:34 +00:00
twanvl 97e0e8d6d6 Choice rendering now uses "style.image()" instead of "style.choice_images[value]";
Added script functions for working with multiple choice values;
Added in_context support for filter_rule;
Optimized toUpper/toLower because they are slow on windows (they use thread local storage and mutexes)

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@427 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-06-17 13:13:56 +00:00
twanvl 82f3dc42c7 Slightly nicer syntax highlighting
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@376 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-05-14 19:30:23 +00:00