Hello Scratchers!
Are you all wondering how to hack BYOB for custom blocks? Well then, you've come to the right place. This thread will have simple instructions to hack BYOB easily.
Just follow these:
1. Open BYOB-development.bat [this is the only BYOB that can be hacked]
2. Shift-click Edit.
3. Click turn fill screen off.
And at 4 you're done- you can now reach the browser and mod BYOB!
As easy as 1-2-3!
Not much to fit in this post, eh... and I am not going anywhere... I'll just say...
...Hope you like it!
Offline
rdococ wrote:
Hello Scratchers!
Are you all wondering how to hack BYOB for custom blocks? Well then, you've come to the right place. This thread will have simple instructions to hack BYOB easily.
Just follow these:
1. Open BYOB-development.bat [this is the only BYOB that can be hacked]
2. Shift-click Edit.
3. Click turn fill screen off.
And at 4 you're done- you can now reach the browser and mod BYOB!
As easy as 1-2-3!
Not much to fit in this post, eh... and I am not going anywhere... I'll just say...
...Hope you like it!
The regular BYOB can be hacked easily, open a block (can't be a custom block) in edit elements. Click the purple class button. Drag any block into the block insert. Now click save. Now there should be a syntax error massage. Left click the red letters near the top, and then click browse full, you now have opened the system browser. Now to make it permanant, go to Scratch-UI-Panes > ScratchFrameMorph > menu/button actions, and past the code:
developersMenu | t1 | self world activeHand toolType: nil. Cursor normal show. t1 _ CustomMenu new. fillScreenFlag ifTrue: [t1 add: 'turn fill screen off' action: #fillScreenOff] ifFalse: [t1 add: 'turn fill screen on' action: #fillScreenOn]. UseErrorCatcher ifTrue: [t1 add: 'turn error catching off' action: #toggleErrorCatcher] ifFalse: [t1 add: 'turn error catching on' action: #toggleErrorCatcher]. t1 addLine. t1 add: 'save image for end-user' action: #saveImageForEndUser. t1 invokeOn: self
Now go to event handling, mousDown:
replace the code with
mouseDown: t1 "Revert to normal cursor, and thanks to Pecola1, if shift is pressed and the 'Y' is clicked, open the developers menu" | t2 | t1 hand toolType: nil. t2 _ self position + (ScratchFrameMorph isXO ifTrue: [72 @ 26] ifFalse: [38 @ 10]). (((t2 extent: 10 @ 12) containsPoint: t1 cursorPoint) and: [t1 shiftPressed]) ifTrue: [^ self developersMenu]. t1 cursorPoint y - self top < topPane height ifTrue: [fillScreenFlag ifFalse: [t1 hand grabMorph: self]]
Now accept, shift click the tip of the right side of the 'Y' in BYOB, and click save image for end user.
Offline
Pecola1 wrote:
long stuffs
I know an easier way to hack BYOB, but I will not say how in fear of it getting removed.
Then again, if I will not say how to do it, what is the point in mentioning it at all?
Offline
Jens wrote:
Hmmm, hacking BYOB is supposed to be easy, you know. Any suggestions how we can make it easier for you yet?
Yeah, Make it Shift+alt+click green flag or something ridiculous like that -_-
Offline
Maybe shift-click the make-a-block button? That's a good idea.
Offline
Bump. The main piority of modding is mostly adding blocks, so a shift-click the make-a-block button would be a good addition.
Offline
Simpler: Just a click, not any shiftclick.
EDIT: Quite offtopic, but I have more posts than Jens.
Last edited by rdococ (2011-05-09 16:33:22)
Offline
rdococ wrote:
Hello Scratchers!
Are you all wondering how to hack BYOB for custom blocks? Well then, you've come to the right place. This thread will have simple instructions to hack BYOB easily.
Just follow these:
1. Open BYOB-development.bat [this is the only BYOB that can be hacked]
2. Shift-click Edit.
3. Click turn fill screen off.
And at 4 you're done- you can now reach the browser and mod BYOB!
As easy as 1-2-3!
Not much to fit in this post, eh... and I am not going anywhere... I'll just say...
...Hope you like it!
Can you help It does not work on BYOB 3.1.1
Offline
floppy_gunk wrote:
Pecola1 wrote:
long stuffs
I know an easier way to hack BYOB, but I will not say how in fear of it getting removed.
Then again, if I will not say how to do it, what is the point in mentioning it at all?
this is off topic .. but firefox is on 6 and awaiting launch of 7 soon x)
Offline
roijac wrote:
Jens wrote:
But it is just shift+click on the EDIT menu. How can it be any simpler than that?
make the BYOB-development file findable in linux for example
Or just include it in the regular version. XD
Offline
when flag clicked forever say [BUMP] 'Cause it's [A GOOD RESOURCE] end
Last edited by cocolover76 (2012-02-03 21:51:41)
Offline
cocolover76 wrote:
when flag clicked forever say [BUMP] 'Cause it's [A GOOD RESOURCE] end
I think that was a necropost, but yeah, you're right.
Offline
rdococ wrote:
cocolover76 wrote:
when flag clicked forever say [BUMP] 'Cause it's [A GOOD RESOURCE] endI think that was a necropost, but yeah, you're right.
Somebody linked me to it.
Then I posted, thinking it was on the first page already.
Offline
Someone actually linked you to this? When?
Offline
Helpful, but I have one question with hacking: In the System Browser, where an I change:
1. The top-left logo
2. The title (at the top)
3. The default project
Thanks!
Offline
wilsonbiggs wrote:
Helpful, but I have one question with hacking: In the System Browser, where an I change:
1. The top-left logo
2. The title (at the top)
3. The default project
Thanks!
1. While full-screen is off and you can hack, alt-click it until the halo of buttons circle the logo only. Then select the dark grey "draw me" button.
2. Not sure.
3. I think you need to rename a project "defaultproj.sb" or something like that in Windows Explorer and not Squeak and then move the file? Not sure.
Offline
rdococ wrote:
wilsonbiggs wrote:
Helpful, but I have one question with hacking: In the System Browser, where an I change:
1. The top-left logo
2. The title (at the top)
3. The default project
Thanks!1. While full-screen is off and you can hack, alt-click it until the halo of buttons circle the logo only. Then select the dark grey "draw me" button.
2. Not sure.
3. I think you need to rename a project "defaultproj.sb" or something like that in Windows Explorer and not Squeak and then move the file? Not sure.
What do you mean by the halo of buttons?
Offline
wilsonbiggs wrote:
rdococ wrote:
wilsonbiggs wrote:
Helpful, but I have one question with hacking: In the System Browser, where an I change:
1. The top-left logo
2. The title (at the top)
3. The default project
Thanks!1. While full-screen is off and you can hack, alt-click it until the halo of buttons circle the logo only. Then select the dark grey "draw me" button.
2. Not sure.
3. I think you need to rename a project "defaultproj.sb" or something like that in Windows Explorer and not Squeak and then move the file? Not sure.What do you mean by the halo of buttons?
The "halo of buttons" is just a bunch of small circular buttons that appears around the logo.
For the default project, I'm not sure there is a default project, I think it just makes a blank project, with the logo image (which you can change)...but if you could change it, it would be in ScratchUIPanes--ScratchFrameMorph--Startup--Startup
To change the title, in the browser, go to ScratchUIPanes--Scratch Frame Morph--All--UpdateProjectName
*You'll probably want to change the title on both the "if true" and "if false" lines...I think the if true is just when it's loading or something, but I'm not sure...
Offline
Okay. It looks like the opening project can be changed by editing some of these lines:
startup | startupFileNames fileName arg presentationMode | HostSystemMenus startUp. HostSystemMenus menuBarControler reviseHostMenus. ScriptableScratchMorph randomInit. ScratchTranslator detectRenderPlugin. ScratchTranslator importLanguagesList. ScratchFrameMorph readShareServerEntry. BlockMorph contrastStrong. self keepSpritesOnStage: 1. EventHatMorph threadSafeMode: false. HandMorph translucentWhenDragging: true. VariableFrame scopeContrast: false. self processSettingsFile. self readDefaultNotes. BlockEditorFrameMorph resetDimensions. ElementsEditorFrameMorph resetDimensions. DebuggerFrameMorph resetDimensions. self updateProjectName. shuffledCostumeNames _ nil. author _ ''. loginName _ ''. loginPassword _ ''. justSaved _ true. presentationMode _ false. startupFileNames _ InputSensor startupFileNames asOrderedCollection. 2 to: 10 do: [:i | arg _ Smalltalk getSystemAttribute: i. (arg notNil and: [arg size > 0]) ifTrue: [ startupFileNames addLast: (ScratchPlugin primShortToLongPath: arg)]]. startupFileNames do: [:n | (n asLowercase = 'presentation') ifTrue: [ quitFlag _ true. presentationMode _ true. self isHidden: true. Display fillBlack]. (n asLowercase = 'fullscreen') ifTrue: [TakeOverScreen _ true]]. TakeOverScreen ifTrue: [ Smalltalk fullScreenMode: true. World restoreDisplay]. self enterQuarterModeIfSmallScreen. fileName _ startupFileNames detect: [:fn | (fn asLowercase endsWith: '.sb') or: [(fn asLowercase endsWith: '.scratch') or: [fn asLowercase endsWith: '.ypr']]] ifNone: [presentationMode ifTrue: [self randomProjectName]]. "this is BYOB's screensaver feature -jens" fileName ifNotNil: [ presentationMode ifTrue: [Display fillColor: Color black]. self openScratchProjectNamed: fileName. presentationMode ifTrue: [self enterPresentationMode; shoutGo]. ^ self]. viewerPane currentCategory: 'motion'. self setDefaultSprite. self newScratchProject. fileName _ startupFileNames detect: [:fn | (fn asLowercase endsWith: '.sprite') or: [fn asLowercase endsWith: '.ysp']] ifNone: [^ self]. "open a .sprite file" workPane submorphs do: [:m | (m isKindOf: ScratchSpriteMorph) ifTrue: [m deleteSprite]]. self importSpriteOrProject: fileName.
But where is the file? What is arg?
Offline