Will your mod be more focused on new blocks, or other things E.G. Faster execution of scripts?
Offline
Version 1 is mostly focused on new blocks and some interface changes.
As I said I'm ALSO making a dream player which will ONLY play projects.
I'm also aiming for maximum compatibility between other mods.
I might release a demo of dream soon with the dream player.
Version 2 is going to have more BYOB compatibility.
When Scratch 2.0 gets released I will start making two versions of dream.
One scratch 2.0 based one and one "normal" one, a.k.a. scratch 1.4 design.
ps. there will be a set speech bubble feature.
You drag your speech bubble picture into the DreamSkin folder and name it (name)TalkBubbleFrame.gif
(name)TalkBubbleTalkPointer.gif
(name)TalkBubbleThinkPointer.gif
optional
============
(question bubbles)
(name)PromptBubbleFrame.gif
(name)PromptBubblePointer.gi0f
Offline
I added two more sections.... (sorry)
now there are 16 categories (twice the original amount)
Motion Control
Looks Sensing
Sound Operators
Pen Variables
Files Colors
Letters Internet
Project Messages
Methods Obsolete
Files *see panther*
Colors *see panther*
Letters - The Operators got crowded and I figured it made sense to have 'letters' in on group, basically for string reporters (words and letters e.t.c.)
Internet - Basicaly, internet blocks plus Mesh blocks, I know they're technically LAN (Local Area Network) but I'm sure you won't kill me for putting them in Internet.
Project - These blocks access features within scratch such as save, paint new costume, import sound, set stepping speed, import theme, cursor ops, and comment blocks.
Messages - These blocks user the dialog options in scratch and even includes a customizable (limited) drop down menu with a, so far, maximum number of 6 items, and two boolean spots for inputting lines. The ('say $String$' #- #say:) has been moved to Messages.
Obsolete - This one contains blocks from other mods that are compatible in dream.
It doesn't show "broken" blocks because they don't work and basically do nothing.
Methods - This pane lets you add scripts which are used frequently, by right clicking the script and selecting save as method. The scripts or methods, are only usable in the project.
Offline
Sounds AWESOME!
Offline
dreamod wrote:
Please suggest a block, ANY block. Even if it sounds stupid or far off.
broadcast [something] over mesh to IP [xx.x.x.x]And
when i receive (variable)and so that it can check for different broadcasts at different times.
Last edited by zippynk (2012-02-21 10:45:25)
Offline
Thank you for your suggestions. I am working on your second suggestion right now, I will make all the hat blocks accept reporters. Your second one may be a little tricky, I'm not experienced in mesh areas of the source code, but I'll see what I can do.
Offline
Dream is currently compatible with the following:
>> Scratch
>> Ghost
>> Prurito
>> SLant (plus SLantPatch1.0.1)
>> Line
>> Panther
If you would like more compatibility with other mods, link me to the mod with a WORKING download link, I am a mac user so .exe wont help me. If you could, then extract the image if you have a pc and post it somewhere and give me the link.
BYOB, Shriek, Slash, and Bingo are NOT compatible but Shriek and Bingo may eventually be. I need some help if I'm going to make BYOB compatible, due to a lot of new block features, and Slash is based off of BYOB.
They're are currently over 200 new blocks.
Motion: 18
Motor: 4 (untested! I need beta testers with WEDO Lego Motor)
Control: 10
Looks: 24
Sensing: 11
Sound: 9
Operators: 31
Pen: 11
Variables: 6
List: 18
Files: 21
Colors: 21 (coincidence)
Letters: 21 (coincidence)
Internet: 21 (I swear, it is an amazing coincidence)
Project: 32
Messages: take a wild guess... (21)
I seriously counted all the NEW blocks from each section and I'm beginning to think that 21 is a magic number, after all it is half of 42. (see The Hitchhiker's Guide to the Galaxy)
Offline
zippynk wrote:
dreamod wrote:
Please suggest a block, ANY block. Even if it sounds stupid or far off.
broadcast [something] over mesh to IP [xx.x.x.x]Andwhen i receive (variable)and so that it can check for different broadcasts at different times.
The problem with
when i receive (variable)is it would effect the performance. It would have to check the variable every time anything broadcasts.
Offline
Splodgey wrote:
zippynk wrote:
dreamod wrote:
Please suggest a block, ANY block. Even if it sounds stupid or far off.
broadcast [something] over mesh to IP [xx.x.x.x]Andwhen i receive (variable)and so that it can check for different broadcasts at different times.The problem with
when i receive (variable)is it would effect the performance. It would have to check the variable every time anything broadcasts.
Well actually the space for When I receive[] is a variable! The variable can be changed by letting the user select a 'message' from the drop-down list of 'messages'. So theoretically there would be no difference in performance. If I'm wrong don't kill me, just tell me and tell me why and show me some of your sources or tests.
Offline
Dream will have mesh.
Host Mesh
mesh host (reporter block)
hosting mesh?
ip[] is hosting mesh?
join mesh[]
join mesh...
joined mesh?
leave mesh
in mesh?
mesh IP Adress (reporter)
display IP address
send me over mesh.
get[] from mesh (I don't really know what it does but I found it on the block library)
In the category variables:
(mesh: a mesh variable.)
This one lists all the variables from other computers currently connected via mesh.So far, there is a glitch where if you press the arrow for the drop-down men, an error message shows up saying:
ScratchSpriteMorphs are not indexable! I am working on that now.
Feel free to post or recommend mesh blocks on this forum.
Offline
new untested motor blocks:
there are two motors: A and B, there is also a blank space which is basically both of the motors.
1. motor 'A' on. (or 'B' or '')
2. motor 'A' off.
3. motor 'A' is off?
4. set motor 'A' 's power to '100'
5. set motor 'A' 's direction to 'this way'
6. motor 'A' power (reporter)
7. motor 'A' direction (reporter)
I don't have any motors so I can't test them. Anybody who has two motors can test them and get the beta version of Dream.
Offline
Can't wait
I am also making a mod with my friend funpanda
Offline
dreamod wrote:
Cool, Would you like some modding advice? I am pretty experienced in Squeak, so feel free to ask me any questions about Squeak.
Yeah, I was wondering if you could tell me how to change the tab colors
Offline
funelephant wrote:
dreamod wrote:
Cool, Would you like some modding advice? I am pretty experienced in Squeak, so feel free to ask me any questions about Squeak.
Yeah, I was wondering if you could tell me how to change the tab colors
Which tabs? The block sections or scripts/costume/sounds? or anything else?
Offline
dreamod wrote:
funelephant wrote:
dreamod wrote:
Cool, Would you like some modding advice? I am pretty experienced in Squeak, so feel free to ask me any questions about Squeak.
Yeah, I was wondering if you could tell me how to change the tab colors
Which tabs? The block sections or scripts/costume/sounds? or anything else?
Just block sections
Offline
funelephant wrote:
dreamod wrote:
funelephant wrote:
Yeah, I was wondering if you could tell me how to change the tab colorsWhich tabs? The block sections or scripts/costume/sounds? or anything else?
Just block sections
First you go to ScratchViewerMorph rebuildCategorySelectors, it should look like this:
rebuildCategorySelectors
| t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 motion control looks sensing sound operators pen variables files colors letters internet project messages |
t1 _ #(#motion #control #looks #sensing #sound #operators #pen #variables "YOU ADD YOUR CATEGORIES HERE, LIKE THIS: #category , you need to add two new categories rather than one." ).
submorphs do: [:t14 | (t14 isKindOf: ResizableToggleButton2)
ifTrue: [t14 delete]].
t2 _ 75 @ 0.
t3 _ t1
collect:
[:t15 |
t4 _ (ScratchTranslator translationFor: t15 asString) capitalized.
t5 _ ScratchFrameMorph skinAt: t15.
t6 _ ScratchFrameMorph skinAt: t15 , 'Pressed'.
t7 _ ScratchFrameMorph skinAt: t15 , 'Over'.
ScratchTranslator isRTL
ifTrue: [t8 _ ResizableToggleButton2 new
offForm: (t5 flipBy: #horizontal centerAt: t5 center)
onForm: (t6 flipBy: #horizontal centerAt: t6 center)
overForm: (t7 flipBy: #horizontal centerAt: t7 center)]
ifFalse: [t8 _ ResizableToggleButton2 new
offForm: t5
onForm: t6
overForm: t7].
t8 label: t4 font: (ScratchFrameMorph getFont: #Category);
setLabelColor: Color white;
target: self;
actionSelector: #currentCategory:;
arguments: (Array with: t15);
toggleButtonMode: true;
toggleMode: false.
ScratchTranslator isRTL
ifTrue: [t8 rightJustifyInset: 10]
ifFalse: [t8 leftJustifyInset: 10].
t2 _ t2 max: t8 extent + (3 @ -6).
t8].
t9 _ 15.
catButtonsExtent _ 2 * t2 x + (3 * t9) @ (t1 size // 2 * (t2 y + 6) + 25).
t10 _ self left + 12 + t9.
t11 _ t10 + t2 x + t9.
t12 _ t10.
t13 _ self top + 17.
1 to: t3 size do:
[:t16 |
t8 _ t3 at: t16.
t8 extent: t2.
self addMorph: (t8 position: t12 @ t13).
t16 even
ifTrue:
[t12 _ t10.
t13 _ t13 + t8 height + 6]
ifFalse: [t12 _ t11]].
self width: catButtonsExtent x.
pageViewer position: self position + (0 @ catButtonsExtent y).
topSectionHeight _ catButtonsExtent y - 4
Don't Save Image For End-User yet,
then you download the skin, http://download.scratch.mit.edu/source-code/ScratchSkin1.4.zip , then you find control.gif , controlOver.gif , and controlPressed.gif and change they're color in scratch, or photoshop or any other image editing application. Then you put them in the scratch folder with the names:
yourNewCategory.gif , yourNewCategoryOver.gif , yourNewCategoryPressed.gif . Then you type this code in the browser and select do it: ScratchFrameMorph readSkinFrom: (FileDirectory default directoryNamed: 'ScratchSkin') or whatever the folders name is. The folder must be in the same folder as the . image file.
Save The Image and open it again. Your new categories should show up.
To set the category block color go to ScratchObjects - ScriptableScratchMorph Class , it should look like this: blockColorFor: t1
'control' = t1 ifTrue: [^ Color
h: 41
s: 0.85
v: 0.9].
'motion' = t1 ifTrue: [^ Color
h: 225
s: 0.65
'motor' = t1 ifTrue: [^ Color
h: 220
s: 0.85
v: 0.725].
'looks' = t1 ifTrue: [^ Color
h: 264
s: 0.62
v: 0.89].
'pen' = t1 ifTrue: [^ Color
h: 165
s: 1
v: 0.63].
'operators' = t1 ifTrue: [^ Color
h: 93
s: 0.9
v: 0.76].
'sound' = t1 ifTrue: [^ Color
h: 296
s: 0.66
v: 0.85].
'sensing' = t1 ifTrue: [^ Color
h: 200
s: 0.98
v: 0.86].
'variables' = t1 ifTrue: [^ Color
h: 25
s: 0.88
v: 0.95].
"new category: 'variables' = t1 ifTrue: [^ Color
h: 25
s: 0.88
v: 0.95]."
^ Color
h: 0
s: 0.81
v: 0.83
change the h: and s: and v: around till you get the right color.
I didn't double check this message so there might be a little confusion and/or errors.
Offline
Offline