Skip to content

Releases: towerofnix/scrap-mod

Scrap v008

19 Aug 01:11
Compare
Choose a tag to compare

A small release containing some quick (but breaking!) changes to the library format and a couple bug fixes/tweaks.

Changes and Features

  • (6547972@towerofnix) Merge displayName and id block library properties.

    • The prefix is now $$name:, not $$id$display name:.
    • The name property is used for both identification and display (so $$Scrap:cool block will display as (Scrap) cool block).
    • Library .json files now contain a name property; the displayName and id properties are gone.
    • Old library .json files are broken, since they don't have a name property.
  • (d259653@towerofnix) Remove 'duplicate' from script browser block menus.

  • (d259653@towerofnix) Remove 'add comment' from all block menus.

  • (5da8c1f@towerofnix) Don't show the "help" tool in the top bar.

Scrap v007

18 Aug 13:26
Compare
Choose a tag to compare

Though this only contains one new feature, it's arguably a Big Release, since custom block libraries are a fairly large new feature. (Some quick changes were made to the information here to represent changes in v008.)

General screenshot

Changes and Features

  • (#55@towerofnix) Custom block libraries!

    • Custom block libraries are little packages of custom blocks. They're portable; you can save libraries in plain-text JSON files, and send the file to another computer or an online download or even just to another sprite in your project.
    • To make a "library block", simply make a custom block and add a magical prefix to the beginning of the first label.
      • The prefix will look something like $$scrap$Scrap: $$Scrap:. If you have a custom block whose label is $$Foo Library:rainbows, the custom block will display as "(Foo Library) rainbows".
        • scrap is the library identifier.
        • Scrap is the library display name. If you have a custom block whose label is $$foo$Foo Library:rainbows, the custom block will display as "(Foo Library) rainbows".
        • All custom blocks in a library must have the same prefix.
        • (Please convince me that it's either a good or bad idea to make the display name and identifier be one and the same. If that were the case, we'd have a simpler (i.e. easier to use) prefix format, and I can't see the benefits of them being separate.) Okay I'm convinced!
    • Once you've made some custom blocks for your library, you can export the library to a .json file by right-clicking on any of the library's custom blocks (in the More Blocks palette) and selecting "export library" from the menu.
    • To import a library .json file, click on the "Import a Library" button in the More Blocks palette.
    • Custom block libraries are backwards and forwards compatible with Scratch, as usual. (After all, they're just sets of custom blocks with an identical prefix!)
    • Magical git-like versioning is not a thing. But exported libraries are .json files; so you can probably do a git diff on two exported library files.
  • (a0010dc@towerofnix) ReadStream tokenizer output is now displayed in the "show spec" menu option on any block.

Scrap v006

16 Aug 13:39
Compare
Choose a tag to compare

So v005 wasn't actually the final update for Scrap!

This update isn't huge, but a few new ideas were gotten and noted; maybe check them out if, if you're interested: user-made script libraries, and saving editor scrolling positions.

Changes and Features

  • (#49@towerofnix) Preview mode!

    • This creates a "preview mode" which "locks" the stage, preventing sprites from being dragged as they would be in edit mode.
    • Note that "can drag in player" sprites can still be dragged.
    • To use it, check the "Preview mode" toggle in the edit menu!
  • (#46; d56e3a4@towerofnix) List blocks are always shown.

    • Even if you don't have any lists created already!
    • Just like how variable blocks are also always shown.
  • We're up to date with LLK/scratch-flash again! That means any changes between v442 and v446 in the scratch-flash repository now exist in scrap-mod as well.

    • Though they're mostly translation changes.

Bugs Fixed

Scrap v005

28 May 12:47
Compare
Choose a tag to compare

Most likely the final update for Scrap.

Changes and Features

  • (#42@liam4) Broadcast variables.
    • To use, the "Add Scrap Library" button must first be pressed (this adds the required custom blocks).
    • In the More Blocks palette, use the "set broadcast []'s var to []" block.
    • With a broadcast hat selected, its broadcast variables will be visible in the Data palette.

Bugs Fixed

  • (a3abf35@liam4) Script browser block menus operate on original blocks

Scrap v004

19 Feb 13:44
Compare
Choose a tag to compare

It's been a while, but there's quite a number of new things in this update.

And no, I haven't been working on the mod all this time. Only for the last two days. And half of the features were done by @NanaLan! 🎉

Changes and Features

  • (#23@NanaLan) New color input for custom blocks.
    • Colors are represented as integers – if you convert them to hexadecimal you'll get something like FF0000 for solid red, FF7700 for orange, etc (as well as alpha/opacity, too – 77000000 for semi-transparent black).
      • They should be put into blocks that expect actual color inputs, so pen-color-argb, not pen-color-hue.
  • (#27@NanaLan) New menu inputs for custom blocks.
    • These work with any built-in menu; no custom menus.. yet!?
    • With help from @djsrv
  • (#27@NanaLan) Text can be typed in any input; blocks can be dropped anywhere (essentially, hacked blocks)!
    • Undeniably handy for tabbing through inputs.
    • demo
  • (#26@NanaLan) No-refresh blocks are be labeled as such in their block definition hat.
  • (3dd5b10, d4e9913) Script positions now get restored to their original position when switching to another script (or sprite), and when saving.
    • No more scripts being all placed at the top-left of the scripting area!
    • This is certainly an improvement to before, but it's not perfect; more discussion here.

Bugs Fixed

  • (#17) Script Browser isn't hidden when viewing project in fullscreen
  • (#18) Conditional operators relabel w/ %s, not %n
  • (#15) Export to Scrap.swf instead of Scratch.swf
    • (#28) Makefile added
    • (#30) Makefile removed

One other thing

I'm also working on this super secret feature where you can have variables specific to each broadcast which makes things more modularized and whatever. I actually programmed something too! It wasn't all Alex! ..It's just not finished.

Scrap v003

12 Dec 19:18
88a7990
Compare
Choose a tag to compare

For this type of thing, a numbered release (vABC) works much better than versions (x.y.z)..

Changes and Features

  • (#2) When dragged out of the script browser, some hat blocks will turn into the blocks that activate them! (See a video?)
    • Custom blocks(!) turn into their respective caller blocks
    • "When I start as a clone" turns into "create clone of myself"
    • "When I receive" turns into "broadcast"
    • "When backdrop switches to" turns into "switch backdrop to"
  • You can quickly relabel broadcast blocks so that they have "and wait" or not (handy if you'd prefer a "broadcast and wait" instead of a "broadcast" when you drag out from a "when I receive" script browser block). (#11)
  • When you define a new custom block (or edit one), that custom block will be selected in the scripting area.

Bugs Fixed

  • (#12) Dropping blocks in large projects lags
  • (#13) [new] "When I receive" can be relabeled with "no wait"

Scrap v1.0.1

11 Dec 16:27
0577cf6
Compare
Choose a tag to compare

(Mostly) a bug fix release.

Changes

The script browser updates more frequently (whenever the block palette is updated).

Bugs fixed

  • (#1) Can't delete scripts
  • (#3) Dropping block from scripting area into/below another block doesn't work properly

Scrap v1.0.0

09 Dec 15:53
4d5f464
Compare
Choose a tag to compare

The initial version of Scrap!

  • First version of the Script Browser. Browse my commits to see the horrors I had to go through before coming up with a decent way of implementing this.
  • Sorted variables, lists and custom block palettes/menus.
  • Saving/loading actually works! (Host it on a server.)