Coder Social home page Coder Social logo

twanvl / magicseteditor2 Goto Github PK

View Code? Open in Web Editor NEW
104.0 7.0 38.0 63.48 MB

Magic Set Editor is a program for designing trading cards

License: Other

CMake 0.16% C++ 97.04% Batchfile 0.01% Shell 0.15% Perl 0.69% HTML 0.03% CSS 0.33% Rich Text Format 0.12% Inno Setup 0.75% PHP 0.73%

magicseteditor2's Introduction

Magic Set Editor 2

Magic Set Editor, or MSE for short, is a program with which you can design your own cards for popular trading card games. MSE can then generate images of those cards that you can print or upload to the internet. Magic Set Editor also has a statistics window that will give useful information about your set, like the average mana cost, number of rares, etc. When you have finished your set, you can export it to an HTML file to use on the Internet, or to Apprentice or CCG Lackey so you can play with your cards online.

More information on https://magicseteditor.boards.net/

Dependencies

The code depends on

  • wxWidgets >= 3.0
  • boost
  • hunspell

Building on windows with Visual Studio

On windows, the program can be compiled with Visual Studio (recommended) or with mingw-gcc.

vcpkg install wxwidgets
vcpkg install boost-smart-ptr
vcpkg install boost-regex
vcpkg install boost-logic
vcpkg install boost-pool
vcpkg install hunspell
vcpkg integrate install
  • Then just use "Open Folder" from inside visual studio to open the Magic Set Editor source code root folder.
  • Select the configuration that you want to build, and hit F7.

Notes:

  • You may need to work around this bug by replacing $VCPATH\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.16\Modules\FindwxWidgets.cmake with the file from https://github.com/CaeruleusAqua/vcpkg-wx-find ($VCPATH is usually C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7)
  • vcpkg by default installs 32 bit versions of libraries, use vcpkg install PACKAGENAME:x64-windows if you want to enable a 64 bit build.
  • Similarly, to use a static build, use vcpkg install PACKAGENAME:x32-windows-static.

For running tests you will also need to

  • Download and install perl (For example Strawberry perl or using MSYS2) The tests can be run from inside visual studio

Building on windows with GCC (MSYS2)

  • Download and install msys2
  • Install a recent version of the gcc compiler, cmake, and wxWidgets libraries:
pacman -S mingw32/mingw-w64-i686-gcc
pacman -S mingw32/mingw-w64-i686-wxWidgets
pacman -S mingw32/mingw-w64-i686-boost
pacman -S mingw32/mingw-w64-i686-hunspell
pacman -S cmake

Use mingw64/mingw-w64-x86_64-... instead of for the 64bit build

  • Build
cmake -G "MSYS Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build

Building on linux

Install the dependencies, for example on a debian based system

sudo apt install g++
sudo apt install libboost-dev libwxgtk3.0-gtk3-dev libhunspell-dev

Then use cmake to build

cmake build -DCMAKE_BUILD_TYPE=Release
cmake --build build

Use CMAKE_BUILD_TYPE=Debug for a debug build

Building on Mac

Install the dependencies, for example using Homebrew

brew install boost wxwidgets hunspell

Note: Tested with boost 1.72.0_3, wxmac (wxwidgets) 3.0.5.1_1, hunspell 1.7.0_2 Then use cmake to build

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build ..

Use CMAKE_BUILD_TYPE=Debug for a debug build

Finally, copy the resources to a SharedSupport directory and run the executable

mkdir SharedSupport && cd SharedSupport
cp -r ../resource SharedSupport/
./magicseteditor

magicseteditor2's People

Contributors

fenhl avatar lymia avatar twanvl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

magicseteditor2's Issues

Idea: decouple styles and viewers from card data fields

Currently MSE uses exactly one 'viewer' for every field in a card, corresponding to the type of field. It doesn't have to be this way. Instead, a stylesheet could specify a list of viewers, and the fields that they view. This would look something like this:

card element:
    value: card.image
    left: 123
    # etc
card element:
    value: card.text
    # ...
card element:
    type: image
    value: to_image("pt-box.png") # not a card field

Advantages:

  • There don't need to be corresponding fields for things like boxes
  • Fields can appear multiple times
  • Potentially fancier scripts can be used, think of things currently handled by combined_editor

Potential issues:

  • For editing, we need to be able to store the value. That is easy if the value is just card.field, but hard/impossible in more complex cases.
  • How to determine the type of an element? This has to be done statically.
  • How to refer to computed style properties (card_style)? Should the elements have names? Maybe
  • For style and set fields this is less convenient, because there the default style is often used. Maybe defaults could be generated there, with an option to replace them (set element: replace: name).

v2.0.2-rc1 Can't resize from Cards, Stats, or Random tab

While in the Cards, Stats, or Random tab, I'm unable to resize the left or right edges of the window. I can still resize from the top/bottom, and from all sides in the Style, Set, and Console tab. Possibly related, this forced window sized is wider than my screen size as well (1366x768)

Vector subscript out of range in loop instruction

Some loops in MSE scripts hit a debug assertion here:

instr = &script.instructions[i.data];

To reproduce

  1. Use this minimal data folder (contents shown below)
  2. Run MSE (9f99bf4) in debug mode
  3. Create a new set file

Minimal data folder

data\en.mse-locale\locale:

mse version: 2.0.0

data\magic.mse-game\game:

mse version: 2.0.0

card field:
	type: text
	name: name
	identifying: true
card field:
	type: text
	name: custom index
	script: for each field in [] do ""

set field:
	type: text
	name: title
	identifying: true

data\magic-m15.mse-style\style:

mse version: 2.0.0
game: magic

v2.0.2-rc1 - Styling Data isn't working for some cards

I've been testing things on 2.0.2, it seems to be opening old files and using old card frames just fine. However particular cards using the set's default style are losing their styling data, with their 'options specific to this card' box unchecked and their options reset.

When this happens, if you click the "Options specific to this card" checkbox:
-That checkbox can't be manually unchecked,
-That checkbox is automatically unchecked when you select options from a multiple choice checklist (but not a boolean, choice, or text style),
-Whenever it is rechecked, all the styling options are reset to whatever they were before it was checked the first time,
-And all styling choices stop changing after its checked, regardless of if it is currently checked or not (styling fields remain the same in the console),

-If you change the template the card uses, none of this applies to the new styling options.
-If you then change back to the first template, it resets but returns to the same bugged behavior.
-If you change to a different template, then set that template as the default with "Use for all frames", the bugged behavior now occurs on that template and no longer occurs on the first.
-If you save it with no styling data and reopen, the behavior persists.
-If you save the file and open it in 2.0.1, the styling data is gone, but can be edited without issue.
-If you save the file, edit the styling data in 2.0.1 (either setting it back to the default styling or changing the card-specific styling), the behavior persists in 2.0.2
-The cards that lose their data seem to be consistent rather than random, if you change their card data in 2.0.1 the same cards will still be broken in 2.0.2.
-However, if you copy or even cut and paste those cards in 2.0.1, the new copy will not be broken, even though the original still is.
-If you copy or cut and paste a bugged card in 2.0.2, it will also be bugged.

Arch Linux: Cannot add a child to a window without a client area

When attempting to create or open a set file in MSE (using commit 4bd29f0) in Arch Linux, I get the following error, followed by a program crash:

./src/gtk/window.cpp(2234): assert "m_wxwindow" failed in AddChildGTK(): Cannot add a child to a window without a client area
fish: “./magicseteditor” terminated by signal SIGSEGV (Address boundary error)

(Also, I want to apologize for constantly breaking MSE. ;-;)

Arch Linux: Build fails on class wxMenuItem

I get the following error when attempting to build MSE (using commit 1fb3f15aff34cde3d4b7bed844bf3887f63778ee) on Arch Linux:

[ 61%] Building CXX object CMakeFiles/magicseteditor.dir/src/gui/util.cpp.o
/home/halian/Downloads/MagicSetEditor2/src/gui/util.cpp: In function ‘void set_menu_item_image(wxMenuItem*, const String&)’:
/home/halian/Downloads/MagicSetEditor2/src/gui/util.cpp:246:9: error: ‘class wxMenuItem’ has no member named ‘SetBitmaps’; did you mean ‘SetBitmap’?
  246 |   item->SetBitmaps(bitmap, bitmap);
      |         ^~~~~~~~~~
      |         SetBitmap
/home/halian/Downloads/MagicSetEditor2/src/gui/util.cpp:247:9: error: ‘class wxMenuItem’ has no member named ‘SetDisabledBitmap’
  247 |   item->SetDisabledBitmap(disabled_bitmap);
      |         ^~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/magicseteditor.dir/build.make:1659: CMakeFiles/magicseteditor.dir/src/gui/util.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/magicseteditor.dir/all] Error 2
make: *** [Makefile:115: all] Error 2

Idea: formating tags with css style stylesheets

Maybe instead of having <color:BrightPink> and <font:Comic Sans> etc. tags in text, it would be cleaner to have tags like <style:damage> and then in the style for the text field specify alternate fonts for different styles.

This is also much nicer if different stylesheets use different fonts to denote the same thing.

Newline characters can be pasted into single-line fields, hiding the contents

On single line fields (like the card name or set options), newlines from the enter key are ignored, but they can still be pasted in. This has caused minor issues with text options behaving unexpectedly because part of the text is hidden, illustrator credit not appearing on the card, and card names/types/illustrators having hidden newlines that break export templates because a newline character was accidentally copied.

v2.0.2-rc1 - Card Visual errors

I've loaded a few 2.0.1 sets with 2.0.2 an ran into a few visual errors

  • Card arts are not being loaded, and "card.image" returns blank in the console tab. However, if you make a copy of a card, it does have the image, and saving the file and reopening on 2.0.1 still loads the images there.

  • Field locations are now updating on hovering over a card rather than changing to a card, so moving between cards on different templates or with specific styling initially result in messy images. This effect sometimes also happens on the Style tab until you change an option, but I'm not sure if there's a particular trigger there yet. Image

  • The "type 2" field flickers at random as the cursor moves around. It doesn't seem to be tied to where the mouse cursor is, and is happening on different frames. It appears to be the only field doing this. Image

Arch Linux: Build fails at linking stage

I get the following error when attempting to build MSE (using commit d64dee78347a864bb41ea623efc056a4e34aaed8) on Arch Linux:

[100%] Linking CXX executable magicseteditor
/usr/bin/ld: CMakeFiles/magicseteditor.dir/src/data/field/multiple_choice.cpp.o: in function `MultipleChoiceField::reflect(GetMember&)':
multiple_choice.cpp:(.text+0x138f): undefined reference to `void ChoiceField::reflect_impl<GetMember>(GetMember&)'
/usr/bin/ld: CMakeFiles/magicseteditor.dir/src/data/field/multiple_choice.cpp.o: in function `void GetMember::handle<MultipleChoiceField>(MultipleChoiceField const&)':
multiple_choice.cpp:(.text+0x178c): undefined reference to `void ChoiceField::reflect_impl<GetMember>(GetMember&)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/magicseteditor.dir/build.make:2996: magicseteditor] Error 1
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/magicseteditor.dir/all] Error 2
make: *** [Makefile:115: all] Error 2

Arch Linux: Build fails on function to_script

I get the following error when attempting to build MSE (using commit b57d9b76156c4b365ae024e87f721563185fffe4) on Arch Linux:

In file included from /home/halian/Downloads/MagicSetEditor2/src/util/reflect.hpp:18,
                 from /home/halian/Downloads/MagicSetEditor2/src/util/prec.hpp:96,
                 from /home/halian/Downloads/MagicSetEditor2/CMakeFiles/magicseteditor.dir/cmake_pch.hxx:5,
                 from <command-line>:
/home/halian/Downloads/MagicSetEditor2/src/util/io/get_member.hpp: In instantiation of ‘void GetDefaultMember::handle(const std::vector<Key>&) [with T = double]’:
/home/halian/Downloads/MagicSetEditor2/src/util/io/get_member.hpp:89:7:   required from ‘void GetMember::handle(const Char*, const T&) [with T = std::vector<double>; Char = wchar_t]’
/home/halian/Downloads/MagicSetEditor2/src/data/field/text.cpp:131:3:   required from here
/home/halian/Downloads/MagicSetEditor2/src/util/io/get_member.hpp:52:92: error: ‘to_script’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   52 |   template <typename T>             void handle(const vector<T>&     c) { value = to_script(&c); }
      |                                                                                   ~~~~~~~~~^~~~
In file included from /home/halian/Downloads/MagicSetEditor2/src/data/field.hpp:18,
                 from /home/halian/Downloads/MagicSetEditor2/src/data/field/text.hpp:15,
                 from /home/halian/Downloads/MagicSetEditor2/src/data/field/text.cpp:10:
/home/halian/Downloads/MagicSetEditor2/src/script/image.hpp:71:21: note: ‘ScriptValueP to_script(const ScriptableImage&)’ declared here, later in the translation unit
   71 | inline ScriptValueP to_script(const ScriptableImage&) { return script_nil; }
      |                     ^~~~~~~~~
make[2]: *** [CMakeFiles/magicseteditor.dir/build.make:384: CMakeFiles/magicseteditor.dir/src/data/field/text.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/magicseteditor.dir/all] Error 2

Reminder text doesn't work with repeated keywords

Keywords that have a cost parameter that are under an ability that has the key word, even inside other words, but isn't the keyword, bug out reminder texts on the first ability. Example:
Equipped creature has wither.
Equip 1

is unable to have reminder text applied to "wither". A work around has been added for Equip specifically in the text filter, but other keywords are still like this. example:

Creatures you control with cycling have wither.
Cycling 2

This only happens when the keyword is below the non-keyword line, if it is above it the bug does not occur.

Issue with crop()'s offsets (appear to be applying twice?)

A few weeks back, I had made a system to allow for dynamic leveler frames using the built-in crop() function. The idea was to use a script like crop(height:50, offset_y:100, offset_x:0, height:314) to get the bottom 50px of a 150px image, but instead a completely blank image was returned.

From testing with a few numbers, it appears it may be applying the offset, cropping, then applying the offset again, or possibly cropping it a second time based off the offset. Image with some console tests

I am currently working around this issue with a function that crops the image to the bottom of the wanted slice, flips it upside down, crops to the top of the wanted slice, then flips it back.

Windows 8.1: MSYS build fails all over src/gui/util.cpp

When attempting to build MSE (using commit 7cf5531efdba013e10681f46e4f9853e99c43cce) on Windows 8.1 via MSYS, I get the following litany of errors:

C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp: In function 'void draw_control_box(Window*, DC&, const wxRect&, bool, bool)':
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:415:9: error: 'wxUxThemeIsActive' was not declared in this scope; did you mean 'wxUxThemeEngine'?
  415 |     if (wxUxThemeIsActive()) {
      |         ^~~~~~~~~~~~~~~~~
      |         wxUxThemeEngine
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:416:63: error: 'VSCLASS_EDIT' was not declared in this scope
  416 |       HTHEME hTheme = (HTHEME)::OpenThemeData(GetHwndOf(win), VSCLASS_EDIT);
      |                                                               ^~~~~~~~~~~~
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp: In function 'void draw_selection_rectangle(Window*, DC&, const wxRect&, bool, bool, bool)':
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:533:61: error: 'VSCLASS_LISTVIEW' was not declared in this scope; did you mean 'WC_LISTVIEW'?
  533 |     HTHEME hTheme = (HTHEME)::OpenThemeData(GetHwndOf(win), VSCLASS_LISTVIEW);
      |                                                             ^~~~~~~~~~~~~~~~
      |                                                             WC_LISTVIEW
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:540:25: error: 'LISS_HOTSELECTED' was not declared in this scope; did you mean 'LIS_SELECTED'?
  540 |         hot&&selected ? LISS_HOTSELECTED : hot ? LISS_HOT :selected&&focused ? LISS_SELECTED : selected ? LISS_SELECTEDNOTFOCUS : LISS_NORMAL,
      |                         ^~~~~~~~~~~~~~~~
      |                         LIS_SELECTED
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:540:50: error: 'LISS_HOT' was not declared in this scope; did you mean 'LIS_HOT'?
  540 |         hot&&selected ? LISS_HOTSELECTED : hot ? LISS_HOT :selected&&focused ? LISS_SELECTED : selected ? LISS_SELECTEDNOTFOCUS : LISS_NORMAL,
      |                                                  ^~~~~~~~
      |                                                  LIS_HOT
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:540:80: error: 'LISS_SELECTED' was not declared in this scope; did you mean 'LIS_SELECTED'?
  540 |         hot&&selected ? LISS_HOTSELECTED : hot ? LISS_HOT :selected&&focused ? LISS_SELECTED : selected ? LISS_SELECTEDNOTFOCUS : LISS_NORMAL,
      |                                                                                ^~~~~~~~~~~~~
      |                                                                                LIS_SELECTED
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:540:107: error: 'LISS_SELECTEDNOTFOCUS' was not declared in this scope; did you mean 'LIS_SELECTEDNOTFOCUS'?
  540 |         hot&&selected ? LISS_HOTSELECTED : hot ? LISS_HOT :selected&&focused ? LISS_SELECTED : selected ? LISS_SELECTEDNOTFOCUS : LISS_NORMAL,
      |                                                                                                           ^~~~~~~~~~~~~~~~~~~~~
      |                                                                                                           LIS_SELECTEDNOTFOCUS
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:540:131: error: 'LISS_NORMAL' was not declared in this scope; did you mean 'LIS_NORMAL'?
  540 |         hot&&selected ? LISS_HOTSELECTED : hot ? LISS_HOT :selected&&focused ? LISS_SELECTED : selected ? LISS_SELECTEDNOTFOCUS : LISS_NORMAL,
      |                                                                                                                                   ^~~~~~~~~~~
      |                                                                                                                                   LIS_NORMAL
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp: In function 'void enable_themed_selection_rectangle(Window*)':
C:/dev/msys64/home/Halian/MagicSetEditor2/src/gui/util.cpp:551:9: error: 'wxUxThemeIsActive' was not declared in this scope; did you mean 'wxUxThemeEngine'?
  551 |     if (wxUxThemeIsActive()) {
      |         ^~~~~~~~~~~~~~~~~
      |         wxUxThemeEngine
make[2]: *** [CMakeFiles/magicseteditor.dir/build.make:1659: CMakeFiles/magicseteditor.dir/src/gui/util.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:125: CMakeFiles/magicseteditor.dir/all] Error 2
make: *** [Makefile:115: all] Error 2

Windows 8.1: 2.0.3-rc3 throws invalid string position on some sets

When attempting to open some MTG set files (examples attached) using Cajun's Mainframe 2020 template pack, fully updated, on MSE 2.0.3-rc3, I get the following error:

[Window Title]
Error

[Main Instruction]
An internal error occured:

[Content]
invalid string position
Please save your work (use 'save as' to so you don't overwrite things)
and restart Magic Set Editor.

You should leave a bug report on http://magicseteditor.sourceforge.net/
Press Ctrl+C to copy this message to the clipboard.

Call stack:
[00] 00007FF6464D6A17
[01] 00007FF64696C486
[02] 00007FF64690AF20
[03] 00007FF646902BE1
[04] RtlCaptureContext                       
[05] 00007FF64647657C
[06] 00007FF6466C3AD4
[07] 00007FF6466F27D4
[08] 00007FF6466F3A03
[09] 00007FF6466F26D8
[10] 00007FF646555CCE
[11] 00007FF6466F272C
[12] 00007FF6466F355A
[13] 00007FF6465FC809
[14] 00007FF646604202
[15] 00007FF6465319E6
[16] 00007FF64660158A
[17] 00007FF646601E30
[18] 00007FF64654422C
[19] DispatchMessageW                        
[20] MsgWaitForMultipleObjects               

[OK]

I reported it to him first and he said it was a Twan issue.

Add backwards compatibility scripts

Currently templates have to try hard to maintain backwards compatibility. They can't remove fields or rename choices. A solution would be to allow a template to define scripts to use when a set made with an earlier version of mse or an earlier version of the template is imported.

It might look something like this:

compatibility:
    before game version: 2020-01-01
    # card fields that no longer exist or have otherwise changed
    old card field:
        name: ability1
        type: text
    # how to calculate values in this template from the old ones
    # these scripts are run once when an old set is loaded
    # can refer to both 'old' and new fields
    card field:
        name: ability_1
        script: old_card.ability1
    set field:
        name: frames
        script: if set.frames == "old choice" then "new choice" else set.frames
  • Multiple compatibility blocks can be defined for different versions. All that apply are ran, from old to new version.
  • Currently MSE doesn't store the game/stylesheet versions in set files. That is a first step to making this work.

Internally use ScriptValue for field values

Port this and related commits: https://sourceforge.net/p/magicseteditor/code/1754/

  • Use script values for values on cards.
  • Save and read script values in the same syntax as other script code

Rationale:

  • It simplifies the code, removing a bunch of Value subclasses
  • Many values are already computed with a script, so this saves conversion
  • It becomes possible to read a set file without first loading the stylesheets. Also (mostly) allowing us to get rid of the DelayedIndexMaps hack.

Feature request: select all

Add "select all (Ctrl+A)" functionality for selecting card text.
Maybe also fully select a line with triple clicking.

v2.0.2-rc1 - magicseteditor.exe is missing .dlls

I tried to test the magicseteditor.exe and was met with the error message "The program can't start because wxmsw313u_core_vc_custom.dll is missing from your computer." instead. @fenhl mentioned getting 4 errors but I don't have the names on those.

v2.0.2-rc1 Set file quirks

The 'set' file inside the .mse-set is saving as mse version 0.3.8 rather than 2.0.2/2.0.0. It has also removed the \r character, which doesn't seem to have affected anything (I did try to see if this was causing the missing styling issue from #3 but no changes), but does make the file less friendly to check though in regular Notepad.

MSE hangs when opening a set with two or more missing stylesheets

If you open a set file where you are missing two or more stylesheets, MSE will hang after the first 'stylesheet not found, please choose a replacement' window. In some cases, it hangs without showing this window at all, even with only one missing stylesheet, but the reason why is uncertain. If you do this by opening a .mse-set file directly instead of through the Open set button from MSE, it will hang in the background without showing as a running application in the Task Manager.

Arch Linux: Build fails on function IntrusiveFromThis<T>

I get the following error when attempting to build MSE (using commit e005d47d563f5bd1b34184c0e887a4c2f150d31d) on Arch Linux:

[  0%] Building CXX object CMakeFiles/magicseteditor.dir/cmake_pch.hxx.gch
In file included from /home/halian/Downloads/MagicSetEditor2/src/util/prec.hpp:92,
                 from /home/halian/Downloads/MagicSetEditor2/CMakeFiles/magicseteditor.dir/cmake_pch.hxx:5,
                 from <command-line>:
/home/halian/Downloads/MagicSetEditor2/src/util/smart_ptr.hpp: In member function ‘intrusive_ptr<T> IntrusiveFromThis<T>::intrusive_from_this()’:
/home/halian/Downloads/MagicSetEditor2/src/util/smart_ptr.hpp:61:12: error: there are no arguments to ‘shared_from_this’ that depend on a template parameter, so a declaration of ‘shared_from_this’ must be available [-fpermissive]
   61 |     return shared_from_this();
      |            ^~~~~~~~~~~~~~~~
/home/halian/Downloads/MagicSetEditor2/src/util/smart_ptr.hpp:61:12: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
make[2]: *** [CMakeFiles/magicseteditor.dir/build.make:84: CMakeFiles/magicseteditor.dir/cmake_pch.hxx.gch] Error 1
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/magicseteditor.dir/all] Error 2
make: *** [Makefile:115: all] Error 2

v2.0.2-rc1 Warning when saving

Every time I save I get the warning popup "File 'C:\User\Dell\Documents\My Games\MSE\Test 202.mse-set.tmp' couldn't be removed (error 2: The system cannot find the file specified.)". The file and the .bak file are saved properly. If I create a copy of the .bak file named 'Test 202.mse-set.tmp' the error doesn't occur on the first save, but then the file is deleted and the error returns. Looks like it may be trying to delete it twice?

Getting blank cards and dictionary errors for inscrutable reasons

When attempting to open a set file made with MSE 2.0.1 in MSE 2.0.2 (using commit 1c351838390255e307f22e3840a5ed3bfc760c8b) on Arch Linux, no cards render for me, and I get a panoply of errors complaining about the lack of an en_us dictionary, even though I have all the same templates (mainly Mainframe 2020) and dictionaries installed as I did with 2.0.1. Please advise?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.