diff --git a/changelog.txt b/changelog.txt index afde9702a..79f04c56f 100644 --- a/changelog.txt +++ b/changelog.txt @@ -5,7 +5,7 @@ HOUSEKEEPING • I have created a tool at https://mse-editor.neocities.org/ which you can upload MSE files to in order to patch their data. Not all sets will need this, but it will stop your console from blowing up with harmless warnings the first time you load sets MSE 2.5 -Genevensis and Hagan have been doing excellent work at getting MSE compiled and edited lately, and so this update also has us upgrading from MSE 2.1.2 all the way to MSE 2.5.3! What does that mean for you? +Genevensis and Hagan have been doing excellent work at getting MSE compiled and edited lately, and so this update also has us upgrading from MSE 2.1.2 all the way to MSE 2.5.4! What does that mean for you? UI Updates: • When selecting Games or Templates, there is now a search bar that allows you to filter templates. • Added the ability to underline text via Ctrl+U or the [u]U[/u] buttom on the top panel. @@ -21,6 +21,8 @@ Template Development Updates: • The built-in functions `width_of(image)` and `height_of(image)` have been added. • The built-in function `exists_in_package("/package-name.package-extension/file-name.file-extension")` has been added to check if a file exists. • Stylesheets can now define `card regions`, with properties `name:, x:, y:, width:, height:`. These can be accessed in the array stylesheet.card_regions to help the script decide how to split images with multiple regions. +• The "info" field type is now supported in the style tab. +• Setting an "image" field as "editable: false" will remove the "double click to load" text as well as the checkerboard pattern. To link an image with it, use the "default" property. • The built-in function `to_date` now accepts "now" as a parameter. • Added combine modes "greater than N" and "smaller than N", where N is multiples of 5 between 0 and 255. These apply to pixels which have all their RGB values greater/smaller than N. The main use case for this is applying textures to text; An example texture `set_combine("texture.png", combine:"greater than 160")` layered over text will be masked to only appear over white and light gray pixels. This works best when the text is on a high contrast background, otherwise the texture may be applied to the background. • Right margin now works, with the same 10x divisor than left margin has. @@ -121,6 +123,7 @@ MAINFRAME SUITE UPDATES • M15 Sagas and Mainframe DFC now allow for customization of Class Level Bars, adding bars without arrows, the Case line, and the ability to provide a custom image from magic-mainframe-extras. • Mainframe DFC now supports planeswalkers with 5 and 6 abilities. • Mainframe DFC now has an option to remove the backface rarity. +• Mainframe DFC now has "front chop" and "back chop" options that work like the other frame's chops. Level chops remain as a fallback (so you don't need to update anything), but are now moved to the Leveler/Saga editing section. • Mainframe DFC's Saga and Clear frames now have proper circles around their transform icon. • "Snap chapter to box" options now update automatically, without needing a closing comma. • M15 Mainframe's Lesson frame is now accessed by clicking the big square to the left of the name, with the empty tombstone/alchemy box moving further left. Note you will need to re-assign Lesson symbols, either with the neocities patcher or doing it by hand. diff --git a/data/magic-m15-dungeons.mse-style/style b/data/magic-m15-dungeons.mse-style/style index d8b3464cb..3a2a9cf06 100644 --- a/data/magic-m15-dungeons.mse-style/style +++ b/data/magic-m15-dungeons.mse-style/style @@ -652,15 +652,38 @@ styling field: type: text name: font size description: Font size for the rooms. Default is 12. +styling field: + type: text + name: shrink name text + description: Reduces the name text N points. +styling field: + type: boolean + name: show grid + description: Show the dungeon gridlines? +styling field: + type: boolean + name: arrows + description: Use arrows between rooms +styling field: + type: text + name: arrow replacement folder + description: Change the arrows to use arrows from this folder magic-mainframe-extras. named arrowU.png for U, D, UD, L, R, and LR +styling field: + type: text + name: custom symbol one + description: Use this image in magic-mainframe-extras as custom symbol one +styling field: + type: text + name: custom symbol two + description: Use this image in magic-mainframe-extras as custom symbol two styling field: type: boolean name: custom floor initial: no description: Upload a custom image to replace the default floor. Clickable on the outside edges of the border walls. styling field: - type: boolean - name: show grid - description: Show the dungeon gridlines? + type: info + name: Long Rooms styling field: type: text name: level 2 long rooms @@ -692,7 +715,6 @@ styling field: styling field: type: info name: Dead Ends - description: Dead Ends styling field: type: text name: level 0 dead ends @@ -766,21 +788,8 @@ styling field: name: level 8 exits description: Walls to put vertical doors on. styling field: - type: text - name: arrow replacement folder - description: Change the arrows to use arrows from this folder magic-mainframe-extras. named arrowU.png for U, D, UD, L, R, and LR -styling field: - type: text - name: custom symbol one - description: Use this image in magic-mainframe-extras as custom symbol one -styling field: - type: text - name: custom symbol two - description: Use this image in magic-mainframe-extras as custom symbol two -styling field: - type: boolean - name: arrows - description: Use arrows between rooms + type: info + name: Advanced customization styling field: type: choice name: advanced help @@ -800,6 +809,9 @@ styling field: choice: preview choice: yes description: Toggle Custom Widths and Door Offsets +styling field: + type: info + name: Customize room width styling field: type: text name: level 1 custom widths @@ -834,7 +846,7 @@ styling field: description: Make rooms a different number of blocks wide, for example "10,6," for a double sized room styling field: type: info - name: Door offsets + name: Customize door offsets description: Door offsets styling field: type: text @@ -868,15 +880,15 @@ styling field: type: text name: level 8 door offsets description: Move doors X pixels right (use negative for left). A block is 20px +styling field: + type: info + name: Other options + description: Door offsets styling field: type: boolean name: remove from autocount description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. initial: no -styling field: - type: text - name: shrink name text - description: Reduces the name text N points. styling field: type: package choice name: text box mana symbols diff --git a/data/magic-m15-mainframe-dfc.mse-style/style b/data/magic-m15-mainframe-dfc.mse-style/style index 298b0041d..2fe681253 100644 --- a/data/magic-m15-mainframe-dfc.mse-style/style +++ b/data/magic-m15-mainframe-dfc.mse-style/style @@ -300,7 +300,7 @@ init script: filter_text@(match:"\n") #### backend magic - lv_chop := { pull_comma_array(input, cell:cell, end:0, default:0)} + lv_chop := { to_number_lax(pull_comma_array(input, cell:cell, end:0, default:0)) } card_shape := { if contains(styling.dfc_type, match: "modal") then "modal double faced" @@ -532,6 +532,16 @@ init script: back_clear := { chosen(styling.other_options, choice:"clear back") } #### field scripts + chop_front := { + if styling.front_chop != "" then + lv_chop(styling.front_chop, cell:input) + else (if input == 0 then -1 else 1)*lv_chop(styling.level_1_chop, cell:input) + } + chop_back := { + if styling.back_chop != "" then + lv_chop(styling.back_chop, cell:input) + else (if input == 0 then -1 else 1)*lv_chop(styling.level_5_chop, cell:input) + } top_of_textbox := { ( if mainframe_walker() @@ -544,7 +554,7 @@ init script: then 395 else 327 ) - - lv_chop(styling.level_1_chop, cell:0) + + chop_front(0) } bottom_of_textbox := { ( @@ -556,7 +566,7 @@ init script: then 475 else 481 ) - - lv_chop(styling.level_1_chop, cell:1) + - chop_front(1) } top_of_textbox2 := { ( @@ -570,7 +580,7 @@ init script: then 395 else 327 ) - - lv_chop(styling.level_5_chop, cell:0) + + chop_back(0) } bottom_of_textbox2 := { ( @@ -582,7 +592,7 @@ init script: then 475 else 481 ) - - lv_chop(styling.level_5_chop, cell:1) + - chop_back(1) } ##### leveler stuff box_leveler := {styling.level_containers == "pt boxes"} @@ -1775,20 +1785,8 @@ styling field: description: reduces the typeline text N points. styling field: type: text - name: level 1 chop - description: Changes the start/stop points of the first textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 2 chop - description: Changes the start/stop points of the second textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 3 chop - description: Changes the start/stop points of the third textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 4 chop - description: Changes the start/stop points of the fourth textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. + name: front chop + description: Changes the start/stop points of the textbox. Formatted as "X,Y" styling field: type: choice name: d20 dividers @@ -1849,20 +1847,8 @@ styling field: description: reduces the typeline text N points. styling field: type: text - name: level 5 chop - description: Changes the start/stop points of the first textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 6 chop - description: Changes the start/stop points of the second textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 7 chop - description: Changes the start/stop points of the third textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 8 chop - description: Changes the start/stop points of the fourth textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. + name: back chop + description: Changes the start/stop points of the textbox of the back face. Formatted as "X,Y" styling field: type: choice name: d20 dividers back @@ -1992,6 +1978,41 @@ styling field: choice: arrows choice: pt boxes choice: loyalty boxes +styling field: + type: text + name: level 1 chop + description: Changes the start/stop points of the first textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: text + name: level 2 chop + description: Changes the start/stop points of the second textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: text + name: level 3 chop + description: Changes the start/stop points of the third textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: text + name: level 4 chop + description: Changes the start/stop points of the fourth textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: text + name: level 5 chop + description: Changes the start/stop points of the first textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: text + name: level 6 chop + description: Changes the start/stop points of the second textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: text + name: level 7 chop + description: Changes the start/stop points of the third textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: text + name: level 8 chop + description: Changes the start/stop points of the fourth textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. +styling field: + type: info + name: Custom fonts include file: /magic-modules.mse-include/fonts/styling_fields_dfc styling field: type: info @@ -2369,13 +2390,13 @@ card style: else if front_saga() then 0 else if front_map() - then 287 - lv_chop(styling.level_1_chop, cell:2) + then 287 - chop_front(2) else if mainframe_walker() - then 300 - lv_chop(styling.level_1_chop, cell:2) + then 300 - chop_front(2) else if front_normal() and is_bumped() - then 296 - lv_chop(styling.level_1_chop, cell:2) + then 296 - chop_front(2) else if front_normal() - then 314 - lv_chop(styling.level_1_chop, cell:2) + then 314 - chop_front(2) else 0 font: name: { body_font() } @@ -2409,13 +2430,13 @@ card style: else if back_saga() then 0 else if back_map() - then 287 - lv_chop(styling.level_5_chop, cell:2) + then 287 - chop_back(2) else if mainframe_walkerb() - then 300 - lv_chop(styling.level_5_chop, cell:2) + then 300 - chop_back(2) else if back_normal() and back_bumped() - then 296 - lv_chop(styling.level_5_chop, cell:2) + then 296 - chop_back(2) else if back_normal() - then 314 - lv_chop(styling.level_5_chop, cell:2) + then 314 - chop_back(2) else 0 font: name: { body2_font() } diff --git a/magicseteditor.exe b/magicseteditor.exe index bd650a8ee..4767bbb2b 100644 Binary files a/magicseteditor.exe and b/magicseteditor.exe differ diff --git a/mse.exe b/mse.exe index bd650a8ee..4767bbb2b 100644 Binary files a/mse.exe and b/mse.exe differ