fniephaus / fniephaus/BroBreakout

Game will not load in Squeak 5.2 (alpha)

Open
#4 3 comments 0 reactions 1 assignee Claimed by @fniephaus View on GitHub
bug
Dominant language
No language data
Stars
3
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Found this via the Squeak home page. Loaded it into my image but when it runs it can't find the welcome_view.jpg file. Seems it's missing code to initialize the image and sound databases (which I found when I downloaded it via the potsdam page here: http://www.hpi.uni-potsdam.de/hirschfeld/projects/olpc/index.html). I downloaded the .pr file and loaded it into my image (after removing the package previously downloaded from this git repo).

Any chance that this repo can be updated to the latest working code? (since anyone else redirected here from the Squeak main page will run into the same problem I did)

Seems like such a great project - it would be nice to get it working under the latest Squeak.

Incidentally there is an error when running the code from the potsdam site as well. The game loads, music starts, allows you to select a level and then an error occurs. Below is the bug report from the Squeak debugger:

8 December 2018 3:58:58.889571 pm

VM: Win32 - Smalltalk
Image: Squeak5.2alpha [latest update: #18185]

BroBoundary(Object)>>doesNotUnderstand: #firstIntersectionWithLineFrom:to:
Receiver: a BroBoundary(1285495)
Arguments and temporary variables:
aMessage: firstIntersectionWithLineFrom: 868@210 to: 868@225
exception: MessageNotUnderstood: BroBoundary>>firstIntersectionWithLineFrom:to:...etc...
resumeValue: nil
Receiver's instance variables:
bounds: 408@175 corner: 1208@190
owner: a BroLevelWorld(2578499)
submorphs: #()
fullBounds: 408@175 corner: 1208@190
color: Color transparent
extension: a MorphExtension (460863) [other: (borderStyle -> a SimpleBorder)]
borderWidth: 2
borderColor: Color transparent
health: -1
hitAllowed: false
containsPowerup: false
levelWorld: a BroLevelWorld(2578499)
backgroundMorph: nil

[] in [] in BroBall>>getNearestIntersect
Receiver: a BroBall(3049761)
Arguments and temporary variables:
<
Receiver's instance variables:
bounds: 848@200 corner: 868@220
owner: a BroLevelWorld(2578499)
submorphs: {an ImageMorph(1877141)}
fullBounds: 848@200 corner: 868@220
color: Color transparent
extension: a MorphExtension (3754705) [other: (originalAngle -> 0.0) (original...etc...
borderWidth: 1
borderColor: Color transparent
direction: 0@15
distanceVectorToTravel: 0@15
levelWorld: a BroLevelWorld(2578499)
tempCenter: 858@210
newCenter: nil
collisionPoint: nil

OrderedCollection>>do:
Receiver: an OrderedCollection(a BroBoundary(1285495) a BroBoundary(2033759) a BroBoundary(2010519) ...etc...
Arguments and temporary variables:
aBlock: [closure] in [] in BroBall>>getNearestIntersect
index: 1
Receiver's instance variables:
array: {a BroBoundary(1285495) . a BroBoundary(2033759) . a BroBoundary(2010519...etc...
firstIndex: 1
lastIndex: 158

[] in BroBall>>getNearestIntersect
Receiver: a BroBall(3049761)
Arguments and temporary variables:
<
Receiver's instance variables:
bounds: 848@200 corner: 868@220
owner: a BroLevelWorld(2578499)
submorphs: {an ImageMorph(1877141)}
fullBounds: 848@200 corner: 868@220
color: Color transparent
extension: a MorphExtension (3754705) [other: (originalAngle -> 0.0) (original...etc...
borderWidth: 1
borderColor: Color transparent
direction: 0@15
distanceVectorToTravel: 0@15
levelWorld: a BroLevelWorld(2578499)
tempCenter: 858@210
newCenter: nil
collisionPoint: nil

Array(SequenceableCollection)>>do:
Receiver: #(#right #top #left)
Arguments and temporary variables:
aBlock: [closure] in BroBall>>getNearestIntersect
index: 1
indexLimiT: 3
Receiver's instance variables:
#(#right #top #left)

BroBall>>getNearestIntersect
Receiver: a BroBall(3049761)
Arguments and temporary variables:
<
Receiver's instance variables:
bounds: 848@200 corner: 868@220
owner: a BroLevelWorld(2578499)
submorphs: {an ImageMorph(1877141)}
fullBounds: 848@200 corner: 868@220
color: Color transparent
extension: a MorphExtension (3754705) [other: (originalAngle -> 0.0) (original...etc...
borderWidth: 1
borderColor: Color transparent
direction: 0@15
distanceVectorToTravel: 0@15
levelWorld: a BroLevelWorld(2578499)
tempCenter: 858@210
newCenter: nil
collisionPoint: nil

BroBall>>calculateNewCenter
Receiver: a BroBall(3049761)
Arguments and temporary variables:
nearestIntersect: nil
distanceToIntersect: nil
Receiver's instance variables:
bounds: 848@200 corner: 868@220
owner: a BroLevelWorld(2578499)
submorphs: {an ImageMorph(1877141)}
fullBounds: 848@200 corner: 868@220
color: Color transparent
extension: a MorphExtension (3754705) [other: (originalAngle -> 0.0) (original...etc...
borderWidth: 1
borderColor: Color transparent
direction: 0@15
distanceVectorToTravel: 0@15
levelWorld: a BroLevelWorld(2578499)
tempCenter: 858@210
newCenter: nil
collisionPoint: nil

BroBall>>step
Receiver: a BroBall(3049761)
Arguments and temporary variables:

Receiver's instance variables:
bounds: 848@200 corner: 868@220
owner: a BroLevelWorld(2578499)
submorphs: {an ImageMorph(1877141)}
fullBounds: 848@200 corner: 868@220
color: Color transparent
extension: a MorphExtension (3754705) [other: (originalAngle -> 0.0) (original...etc...
borderWidth: 1
borderColor: Color transparent
direction: 0@15
distanceVectorToTravel: 0@15
levelWorld: a BroLevelWorld(2578499)
tempCenter: 858@210
newCenter: nil
collisionPoint: nil

BroBall(Morph)>>stepAt:
Receiver: a BroBall(3049761)
Arguments and temporary variables:
millisecondClockValue: 3721755518652
p: nil
Receiver's instance variables:
bounds: 848@200 corner: 868@220
owner: a BroLevelWorld(2578499)
submorphs: {an ImageMorph(1877141)}
fullBounds: 848@200 corner: 868@220
color: Color transparent
extension: a MorphExtension (3754705) [other: (originalAngle -> 0.0) (original...etc...
borderWidth: 1
borderColor: Color transparent
direction: 0@15
distanceVectorToTravel: 0@15
levelWorld: a BroLevelWorld(2578499)
tempCenter: 858@210
newCenter: nil
collisionPoint: nil

StepMessage(MorphicAlarm)>>value:
Receiver: StepMessage(#stepAt: -> a BroBall(3049761))(a BroBall(3049761) #stepAt: 3721755518649)
Arguments and temporary variables:
anArgument: 3721755518652
nArgs: 0
Receiver's instance variables:
receiver: a BroBall(3049761)
selector: #stepAt:
arguments: nil
scheduledTime: 3721755518649
sequenceNumber: nil
numArgs: 1
stepTime: nil

WorldState>>runLocalStepMethodsIn:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(2434915) [world]
now: 3721755518652
morphToStep: a BroBall(3049761)
stepTime: 20
priorWorld: a PasteUpMorph(2434915) [world]
Receiver's instance variables:
hands: {a HandMorph(1649389)}
activeHand: a HandMorph(1649389)
viewBox: 0@0 corner: 1706@903
canvas: a FormCanvas on: DisplayScreen(1706x903x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a BroLevelView(1290067))(a BroLevelView...etc...
lastStepTime: 3721755538865
lastStepMessage: nil
lastCycleTime: 3721755538886
commandHistory: a CommandHistory
alarms: a MorphicAlarmQueue
lastAlarmTime: 3721755538865
remoteServer: nil
multiCanvas: nil
interCycleDelay: a Delay(20 msecs)

WorldState>>runStepMethodsIn:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(2434915) [world]
queue: a SharedQueue(0)
msg: nil
limit: 200
stamp: 3721755518652
Receiver's instance variables:
hands: {a HandMorph(1649389)}
activeHand: a HandMorph(1649389)
viewBox: 0@0 corner: 1706@903
canvas: a FormCanvas on: DisplayScreen(1706x903x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a BroLevelView(1290067))(a BroLevelView...etc...
lastStepTime: 3721755538865
lastStepMessage: nil
lastCycleTime: 3721755538886
commandHistory: a CommandHistory
alarms: a MorphicAlarmQueue
lastAlarmTime: 3721755538865
remoteServer: nil
multiCanvas: nil
interCycleDelay: a Delay(20 msecs)

PasteUpMorph>>runStepMethods
Receiver: a PasteUpMorph(2434915) [world]
Arguments and temporary variables:

Receiver's instance variables:
bounds: 0@0 corner: 1706@903
owner: nil
submorphs: {a PluggableSystemWindow>firstInt...etc...
fullBounds: nil
color: (Color r: 0.25 g: 0.258 b: 0.266)
extension: a MorphExtension (4138873) [eventHandler = an EventHandler] [other:...etc...
borderWidth: 0
borderColor: (Color r: 0.515 g: 0.181 b: 0.263)
presenter: an EtoysPresenter (3711479)
model: a MorphicModel(1144767)
cursor: 1
padding: 3
backgroundMorph: nil
turtleTrailsForm: nil
turtlePen: nil
lastTurtlePositions: nil
isPartsBin: nil
indicateCursor: nil
wantsMouseOverHalos: nil
worldState: a WorldState
griddingOn: nil

WorldState>>doOneCycleNowFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(2434915) [world]
capturingGesture: #(false)
Receiver's instance variables:
hands: {a HandMorph(1649389)}
activeHand: a HandMorph(1649389)
viewBox: 0@0 corner: 1706@903
canvas: a FormCanvas on: DisplayScreen(1706x903x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a BroLevelView(1290067))(a BroLevelView...etc...
lastStepTime: 3721755538865
lastStepMessage: nil
lastCycleTime: 3721755538886
commandHistory: a CommandHistory
alarms: a MorphicAlarmQueue
lastAlarmTime: 3721755538865
remoteServer: nil
multiCanvas: nil
interCycleDelay: a Delay(20 msecs)

WorldState>>doOneCycleFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(2434915) [world]
Receiver's instance variables:
hands: {a HandMorph(1649389)}
activeHand: a HandMorph(1649389)
viewBox: 0@0 corner: 1706@903
canvas: a FormCanvas on: DisplayScreen(1706x903x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a BroLevelView(1290067))(a BroLevelView...etc...
lastStepTime: 3721755538865
lastStepMessage: nil
lastCycleTime: 3721755538886
commandHistory: a CommandHistory
alarms: a MorphicAlarmQueue
lastAlarmTime: 3721755538865
remoteServer: nil
multiCanvas: nil
interCycleDelay: a Delay(20 msecs)

PasteUpMorph>>doOneCycle
Receiver: a PasteUpMorph(2434915) [world]
Arguments and temporary variables:

Receiver's instance variables:
bounds: 0@0 corner: 1706@903
owner: nil
submorphs: {a PluggableSystemWindow>firstInt...etc...
fullBounds: nil
color: (Color r: 0.25 g: 0.258 b: 0.266)
extension: a MorphExtension (4138873) [eventHandler = an EventHandler] [other:...etc...
borderWidth: 0
borderColor: (Color r: 0.515 g: 0.181 b: 0.263)
presenter: an EtoysPresenter (3711479)
model: a MorphicModel(1144767)
cursor: 1
padding: 3
backgroundMorph: nil
turtleTrailsForm: nil
turtlePen: nil
lastTurtlePositions: nil
isPartsBin: nil
indicateCursor: nil
wantsMouseOverHalos: nil
worldState: a WorldState
griddingOn: nil

[] in MorphicProject>>spawnNewProcess
Receiver: a MorphicProject (TopLevel) in a PasteUpMorph(2434915) [world]
Arguments and temporary variables:

Receiver's instance variables:
dependents: nil
world: a PasteUpMorph(2434915) [world]
uiManager: a MorphicUIManager
changeSet: a ChangeSet named TopLevel
transcript: a TranscriptStream
parentProject: a MorphicProject (TopLevel) in a PasteUpMorph(2434915) [world]
previousProject: nil
displayDepth: 32
viewSize: 151@132
thumbnail: Form(151x132x32)
nextProject: a MorphicProject (BroBreakout) in a PasteUpMorph(1332917) [...etc...
projectParameters: an IdentityDictionary(#PrevailingProjectFlags->an IdentityDictionary...etc...
version: nil
urlList: nil
lastDirectory: nil
lastSavedAtSeconds: nil
projectPreferenceFlagDictionary: an IdentityDictionary(#enablePortraitMode->fal...etc...
resourceManager: a ResourceManager
uiProcess: a Process in nil

[] in BlockClosure>>newProcess
Receiver: [closure] in MorphicProject>>spawnNewProcess
Arguments and temporary variables:

Receiver's instance variables:
outerContext: MorphicProject>>spawnNewProcess
startpc: 49
numArgs: 0

--- The full stack ---
BroBoundary(Object)>>doesNotUnderstand: #firstIntersectionWithLineFrom:to:
[] in [] in BroBall>>getNearestIntersect
OrderedCollection>>do:
[] in BroBall>>getNearestIntersect
Array(SequenceableCollection)>>do:
BroBall>>getNearestIntersect
BroBall>>calculateNewCenter
BroBall>>step
BroBall(Morph)>>stepAt:
StepMessage(MorphicAlarm)>>value:
WorldState>>runLocalStepMethodsIn:
WorldState>>runStepMethodsIn:
PasteUpMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in MorphicProject>>spawnNewProcess
[] in BlockClosure>>newProcess

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.