Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » Gingerline, a backward-compatible Scratch 2.0 mod
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
gingerline - (n.) a reddish-yellow color, comparable to that of a ripe kumquat
Anyways, I decided to see how many features I could cram in a Scratch mod while still keeping it backward-compatible. Surprisingly many.
New (not really, they're coded into Scratch) blocks include:
(costume name :: looks)There are two new categories, Literals and Obsolete. Literals contains blocks representing literal values, such as:
while <> {
} :: control
for each [v v] in (10) {
} :: control
(counter :: control)
clear counter :: control
incr counter :: control
<loud? :: sensing>
<true :: operators>Obsolete just contains a bunch of useless but cool obsolete blocks.
<false :: operators>
(null :: operators)
(Infinity :: operators)
(-Infinity :: operators)
(NaN :: operators) //not really useful
(hex [0xffffff] :: operators) //you can also type hex values into number inputs
More features:
- More keys in the <key [space v] pressed?> block, including backspace, enter, tab, escape, delete, special (shift, control, f keys, etc.), and basically every other character in the Basic Latin block.
- Put any reporter or boolean block almost anywhere
- The ability to type choices in menu inputs
- Menus, number menus, color inputs, and icons in custom blocks
- Change the color of watchers (you can even make them transparent!)
- Duplicate and delete watchers
- Enables a hidden watcher mode
- Right-click a block to modify its JSON or view its op
Here's the source code too: https://github.com/djdolphin/gingerline
To do:
- Rewrite to make easier to update.
- Fix weird bug.
- Add semi-functional first-class arrays and objects!
Last edited by djdolphin (Feb. 5, 2019 19:22:21)
!
- goldfish678
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
The evil kumquat's gotta love this mod.
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Yes The evil kumquat's gotta love this mod.
!
- PullJosh
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
I appreciate the link you left for people like me who don't have time to read the whole post.
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
An evil kumquat left that, not me. I appreciate the link you left for people like me who don't have time to read the whole post.
!
- PullJosh
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Oh, my mistake.An evil kumquat left that, not me. I appreciate the link you left for people like me who don't have time to read the whole post.
- Thepuzzlegame
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Very nice! I especially like the changes you made to the custom block interface
hi!
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Thanks! Very nice! I especially like the changes you made to the custom block interface
60 SECOND RULE!!!
!
- theonlygusti
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Wow! I love the mod!
- ChocolatePi
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Haahaahaaa. Gingerline would be an adjective! (Nice mod by the way)
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
adjective! (Nice mod by the way)A color can also be used as a noun when referring to the color itself. Like “Blue is a pretty color.” Haahaahaaa. Gingerline would be an
!
- ChocolatePi
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
I stand corrected, but a color is primarily an adjective.adjective! (Nice mod by the way)A color can also be used as a noun when referring to the color itself. Like “Blue is a pretty color.” Haahaahaaa. Gingerline would be an
Back to discussing the mod. So you made it so you can save your gingerline projects as *.sb2? Or does “backwards compatible” mean something else..?
- DigiTechs
- Scratcher
500+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
NaN is useful! According to the standard, any check between NaN and NaN should return false - therefore “NaN ~= NaN” should return false. It's useful for checking divide-by-zeroes/similar
if obj == math.huge then -- is infinity return "null" elseif obj ~= obj then -- is NaN return "null" end
I do, in fact, have my own site; it's here.
I'm also working on a thing called Fetch. Look at it here!
@thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain.
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
But Scratch converts inputs in the <[] = []> block to strings before checking if they're equal, so <[NaN] = [NaN]> reports true. So that use is out. NaN is useful! According to the standard, any check between NaN and NaN should return false - therefore “NaN ~= NaN” should return false. It's useful for checking divide-by-zeroes/similarif obj == math.huge then -- is infinity return "null" elseif obj ~= obj then -- is NaN return "null" end
[offtopic]I keep accidentally rickrolling myself with that link in the first post.[/offtopic]
!
- goldfish678
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Impressive how you (assumingly) took the code for obsolete blocks and pasted it right into the mod 0.0
[offtopic]When I was trying to go to scratch.cf/swf/gingerline.swf, I made a few mistakes and right in the middle I ended up with scratch.mit.edu/swag.[/offtopic]
[offtopic]When I was trying to go to scratch.cf/swf/gingerline.swf, I made a few mistakes and right in the middle I ended up with scratch.mit.edu/swag.[/offtopic]
Last edited by goldfish678 (Oct. 22, 2014 20:15:05)
- DigiTechs
- Scratcher
500+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
WHAT?But Scratch converts inputs in the <[] = []> block to strings before checking if they're equal, so <[NaN] = [NaN]> reports true. So that use is out. NaN is useful! According to the standard, any check between NaN and NaN should return false - therefore “NaN ~= NaN” should return false. It's useful for checking divide-by-zeroes/similarif obj == math.huge then -- is infinity return "null" elseif obj ~= obj then -- is NaN return "null" end
[offtopic]I keep accidentally rickrolling myself with that link in the first post.[/offtopic]
That's EVIL!
Why do they do that? Surely it would've been faster to simply check it as-is?
I do, in fact, have my own site; it's here.
I'm also working on a thing called Fetch. Look at it here!
@thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain.
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Well, the ST wanted it to be case insensitive, so converting to a string is needed for that.WHAT?But Scratch converts inputs in the <[] = []> block to strings before checking if they're equal, so <[NaN] = [NaN]> reports true. So that use is out. NaN is useful! According to the standard, any check between NaN and NaN should return false - therefore “NaN ~= NaN” should return false. It's useful for checking divide-by-zeroes/similarif obj == math.huge then -- is infinity return "null" elseif obj ~= obj then -- is NaN return "null" end
[offtopic]I keep accidentally rickrolling myself with that link in the first post.[/offtopic]
That's EVIL!
Why do they do that? Surely it would've been faster to simply check it as-is?
!
- DigiTechs
- Scratcher
500+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Well, the ST wanted it to be case insensitive, so converting to a string is needed for that.WHAT?But Scratch converts inputs in the <[] = []> block to strings before checking if they're equal, so <[NaN] = [NaN]> reports true. So that use is out. NaN is useful! According to the standard, any check between NaN and NaN should return false - therefore “NaN ~= NaN” should return false. It's useful for checking divide-by-zeroes/similarif obj == math.huge then -- is infinity return "null" elseif obj ~= obj then -- is NaN return "null" end
[offtopic]I keep accidentally rickrolling myself with that link in the first post.[/offtopic]
That's EVIL!
Why do they do that? Surely it would've been faster to simply check it as-is?
Well, I'll be modding Scratch to make that work better, then.
I do, in fact, have my own site; it's here.
I'm also working on a thing called Fetch. Look at it here!
@thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain. @thisandagain pls explain.
- __init__
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Yes, __init__, this is sHack. Gingerline sounds cooler.Cool xP
thisandagain pls explain
- djdolphin
- Scratcher
1000+ posts
Gingerline, a backward-compatible Scratch 2.0 mod
Planned blocks for the next version (or sometime):
(undefined :: operators)I'll also enable extensions at some point and include the Scratchy Stuff extension library.
(string [] :: operators) //for when you want to put a string somewhere for some reason
(number () :: operators) //for above reason
(array [1], [2], [yay] ▶ :: operators) //block can't be saved with project - storing the value in a variable will work
(object [yolo]:[swag], [swaggity]:[swag] ▶ :: operators)
([int v] of (9) :: operators) //secret thingy from 2.0 alpha
Last edited by djdolphin (Oct. 26, 2014 19:11:39)
!
- Discussion Forums
- » Advanced Topics
- » Gingerline, a backward-compatible Scratch 2.0 mod