├── .github └── workflows │ └── main.yml ├── .gitignore ├── .smalltalk.ston ├── .squot ├── .squot-materialize ├── GMTEIcons ├── add.png ├── broom.png ├── brush.png ├── down.png ├── eye.png ├── fill.png ├── line.png ├── merge.png ├── rectangle.png ├── redo.png ├── rename.png ├── trash.png ├── undo.png └── up.png ├── LICENSE ├── README.md ├── docs └── TileEditor.md ├── src ├── BaselineOfGameMecha.package │ ├── .filetree │ ├── BaselineOfGameMecha.class │ │ ├── README.md │ │ ├── instance │ │ │ └── baseline..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── monticello.meta │ │ ├── categories.st │ │ └── initializers.st │ └── properties.json ├── GameMecha-Collision.package │ ├── .filetree │ ├── GMCircleCollisionDetectionShape.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── absDistanceFrom.to..st │ │ │ ├── circleAt.mustIntersectRectangleAt.withExtent..st │ │ │ ├── circleAt.withRadius.canIntersectRectangleAt.withExtent..st │ │ │ ├── circleAt.withRadius.isCollidingWithRectangleAt.withExtent..st │ │ │ ├── circleAt.withRadius.isIntersectingRectangleAt.withExtent..st │ │ │ ├── isCollidingWith..st │ │ │ ├── isCollidingWithCircle..st │ │ │ ├── isCollidingWithRectangle..st │ │ │ ├── isCollidingWithRotatedRectangle..st │ │ │ └── radius.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionDetectionShape.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── isCollidingWith..st │ │ │ ├── isCollidingWithCircle..st │ │ │ ├── isCollidingWithRectangle..st │ │ │ ├── isCollidingWithRotatedRectangle..st │ │ │ ├── owner..st │ │ │ ├── owner.st │ │ │ └── storeOn..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionHandler.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── addCollisionMorph..st │ │ │ ├── addCollisionMorphs..st │ │ │ ├── collisionMorphs..st │ │ │ ├── collisionMorphs.st │ │ │ ├── includes..st │ │ │ ├── is.collidingWith..st │ │ │ ├── morphsCollidingWith..st │ │ │ ├── removeAllMorphs.st │ │ │ └── removeCollisionMorph..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMRectangleCollisionDetectionShape.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── corners.st │ │ │ ├── isCollidingWith..st │ │ │ ├── isCollidingWithCircle..st │ │ │ ├── isCollidingWithRectangle..st │ │ │ ├── isCollidingWithRotatedRectangle..st │ │ │ └── separatingAxes.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMRotatedRectangleCollisionDetectionShape.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── areCorners.intersectingWith.onSeparatingAxes..st │ │ │ ├── corners.notOverlapping..st │ │ │ ├── corners.st │ │ │ ├── isCollidingWith..st │ │ │ ├── isCollidingWithCircle..st │ │ │ ├── isCollidingWithRectangle..st │ │ │ ├── isCollidingWithRotatedRectangle..st │ │ │ ├── originalCorners.st │ │ │ ├── originalRectangle.st │ │ │ ├── rectangleExtent.st │ │ │ ├── rotatePointAroundCenter..st │ │ │ └── separatingAxes.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── Morph.extension │ │ ├── instance │ │ │ ├── gmCollisionDetectionShape.st │ │ │ └── gmCollisionDetectionStrategy..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── monticello.meta │ │ ├── categories.st │ │ └── initializers.st │ └── properties.json ├── GameMecha-DemoGame.package │ ├── .filetree │ ├── GMDemoGame.class │ │ ├── README.md │ │ ├── class │ │ │ ├── gameExtent.st │ │ │ ├── resetKey.st │ │ │ ├── spawnPositionPlayer1.st │ │ │ ├── spawnPositionPlayer2.st │ │ │ └── stepTime.st │ │ ├── instance │ │ │ ├── abandon.st │ │ │ ├── addCollisionMorph..st │ │ │ ├── collisionHandler..st │ │ │ ├── collisionHandler.st │ │ │ ├── controlsPlayer1.st │ │ │ ├── controlsPlayer2.st │ │ │ ├── game.st │ │ │ ├── imageLoader..st │ │ │ ├── imageLoader.st │ │ │ ├── initialize.st │ │ │ ├── initializePlanets.st │ │ │ ├── players..st │ │ │ ├── players.st │ │ │ ├── removeCollisionMorph..st │ │ │ ├── resetPlayers.st │ │ │ ├── soundLoader..st │ │ │ ├── soundLoader.st │ │ │ ├── spawnPlayerWithControls.andForm.at..st │ │ │ ├── spawnPlayers.st │ │ │ ├── step.st │ │ │ └── stepTime.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMDemoGameEntity.class │ │ ├── README.md │ │ ├── class │ │ │ └── newFromGame..st │ │ ├── instance │ │ │ ├── collidedWith..st │ │ │ ├── collidedWithPlanet..st │ │ │ ├── collidedWithProjectile..st │ │ │ ├── collidedWithSpaceship..st │ │ │ ├── game..st │ │ │ ├── game.st │ │ │ ├── isAlive..st │ │ │ ├── isAlive.st │ │ │ ├── kill.st │ │ │ ├── registerAtGame.st │ │ │ └── spatialMorph.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMDemoGameFixtures.class │ │ ├── README.md │ │ ├── class │ │ │ ├── clearResourcesOnDisk.st │ │ │ ├── createImagesOnDisk.st │ │ │ ├── createResourcesOnDisk.st │ │ │ ├── createSoundOnDisk.st │ │ │ ├── pewSound.st │ │ │ ├── pewSoundPath.st │ │ │ ├── pewSoundSamples.st │ │ │ ├── planet.st │ │ │ ├── planetPath.st │ │ │ ├── projectile.st │ │ │ ├── projectilePath.st │ │ │ ├── resourceFolder.st │ │ │ ├── spaceship1.st │ │ │ ├── spaceship1Path.st │ │ │ ├── spaceship2.st │ │ │ └── spaceship2Path.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMDemoGameMovingEntity.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── isOutOfGame.st │ │ │ ├── move.st │ │ │ ├── resolveCollisions.st │ │ │ ├── step.st │ │ │ ├── stepTime.st │ │ │ ├── velocity..st │ │ │ └── velocity.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMDemoGamePlanet.class │ │ ├── README.md │ │ ├── class │ │ │ └── defaultExtent.st │ │ ├── instance │ │ │ ├── collidedWith..st │ │ │ ├── collidedWithProjectile..st │ │ │ ├── collidedWithSpaceship..st │ │ │ └── initialize.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMDemoGameProjectile.class │ │ ├── README.md │ │ ├── class │ │ │ ├── defaultExtent.st │ │ │ └── maxVelocity.st │ │ ├── instance │ │ │ ├── collidedWith..st │ │ │ ├── collidedWithPlanet..st │ │ │ ├── collidedWithProjectile..st │ │ │ ├── collidedWithSpaceship..st │ │ │ ├── creator..st │ │ │ ├── creator.st │ │ │ └── initialize.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMDemoGameSpaceship.class │ │ ├── README.md │ │ ├── class │ │ │ ├── accelerationSpeed.st │ │ │ ├── defaultExtent.st │ │ │ ├── maxVelocity.st │ │ │ ├── numberOfCooldownSteps.st │ │ │ └── turningSpeed.st │ │ ├── instance │ │ │ ├── accelerate.st │ │ │ ├── accelerationVector.st │ │ │ ├── capVelocity.st │ │ │ ├── collidedWith..st │ │ │ ├── collidedWithPlanet..st │ │ │ ├── collidedWithProjectile..st │ │ │ ├── collidedWithSpaceship..st │ │ │ ├── controls..st │ │ │ ├── controls.st │ │ │ ├── cooldownCounter..st │ │ │ ├── cooldownCounter.st │ │ │ ├── gmIsKeyPressed..st │ │ │ ├── initialize.st │ │ │ ├── initializeTransformationMorph.st │ │ │ ├── reduceCooldownCounter.st │ │ │ ├── spatialMorph.st │ │ │ ├── spawnProjectile.st │ │ │ ├── step.st │ │ │ ├── transformationMorph..st │ │ │ ├── transformationMorph.st │ │ │ ├── tryShooting.st │ │ │ ├── turnLeft.st │ │ │ └── turnRight.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── monticello.meta │ │ ├── categories.st │ │ └── initializers.st │ └── properties.json ├── GameMecha-Examples.package │ ├── .filetree │ ├── GMAnimatedImageLoaderAcceptance.class │ │ ├── README.md │ │ ├── instance │ │ │ └── initialize.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionDetectionAcceptance.class │ │ ├── README.md │ │ ├── class │ │ │ ├── collisionMorphExtent.st │ │ │ ├── collisionMorphSpeed.st │ │ │ └── worldExtent.st │ │ ├── instance │ │ │ ├── clipPosition.st │ │ │ ├── collisionHandler..st │ │ │ ├── collisionHandler.st │ │ │ ├── collisionMorphCircle..st │ │ │ ├── collisionMorphCircle.st │ │ │ ├── collisionMorphRectangle..st │ │ │ ├── collisionMorphRectangle.st │ │ │ ├── collisionMorphs..st │ │ │ ├── collisionMorphs.st │ │ │ ├── createCollisionMorphFlexShellOfRotatedRectangle.st │ │ │ ├── initialize.st │ │ │ ├── moveCollisionMorphCircle.st │ │ │ ├── step.st │ │ │ └── stepTime.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionPerformanceTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── defaultExtent.st │ │ │ ├── maxVelocity.st │ │ │ ├── numberOfColliders.st │ │ │ ├── stepTime.st │ │ │ └── testMorphSize.st │ │ ├── instance │ │ │ ├── addCollidingMorph.st │ │ │ ├── collisionHandler..st │ │ │ ├── collisionHandler.st │ │ │ └── initialize.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionPerformanceTestEntity.class │ │ ├── README.md │ │ ├── class │ │ │ └── rotationSpeed.st │ │ ├── instance │ │ │ ├── handleEdgeCollision.st │ │ │ ├── move..st │ │ │ ├── move.st │ │ │ ├── parent..st │ │ │ ├── parent.st │ │ │ ├── registerAtParentMorph..st │ │ │ ├── resolveCollisions.st │ │ │ ├── step.st │ │ │ ├── stepTime.st │ │ │ ├── velocity..st │ │ │ └── velocity.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMImageLoaderAcceptance.class │ │ ├── README.md │ │ ├── instance │ │ │ └── initialize.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMKeyHandlerAcceptance.class │ │ ├── README.md │ │ ├── class │ │ │ ├── keysPerRow.st │ │ │ └── testedKeys.st │ │ ├── instance │ │ │ ├── adaptExtent.st │ │ │ ├── adaptedHeight.st │ │ │ ├── adaptedWidth.st │ │ │ ├── enforceLayout.st │ │ │ ├── initialize.st │ │ │ ├── initializeKeyMorphs.st │ │ │ ├── keyMorphs..st │ │ │ ├── keyMorphs.st │ │ │ ├── keyMorphsHeight.st │ │ │ ├── keyMorphsWidth.st │ │ │ ├── layoutKeyMorphs.st │ │ │ └── numberOfRows.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMKeyHandlerAcceptanceKeyMorph.class │ │ ├── README.md │ │ ├── class │ │ │ └── defaultExtent.st │ │ ├── instance │ │ │ ├── gmIsKeyPressed..st │ │ │ ├── initialize.st │ │ │ ├── label..st │ │ │ ├── listenToKey..st │ │ │ ├── listenToKey.st │ │ │ ├── parent..st │ │ │ ├── parent.st │ │ │ ├── step.st │ │ │ ├── stepTime.st │ │ │ ├── stringMorph..st │ │ │ └── stringMorph.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMMouseHandlingTutorial.class │ │ ├── README.md │ │ ├── class │ │ │ ├── defaultBorderWidth.st │ │ │ ├── defaultExtent.st │ │ │ ├── emphasizedBorderWidth.st │ │ │ └── growthRate.st │ │ ├── instance │ │ │ ├── handlesMouseDown..st │ │ │ ├── handlesMouseOverDragging..st │ │ │ ├── handlesMouseStillDown..st │ │ │ ├── initialize.st │ │ │ ├── mouseDown..st │ │ │ ├── mouseEnterDragging..st │ │ │ ├── mouseLeaveDragging..st │ │ │ ├── mouseStillDown..st │ │ │ ├── mouseStillDownStepRate.st │ │ │ └── mouseUp..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMRegisterKeyEventsAcceptance.class │ │ ├── README.md │ │ ├── class │ │ │ ├── descriptionText.st │ │ │ ├── expandSpeed.st │ │ │ ├── extent.st │ │ │ ├── registeredMovementKeys.st │ │ │ ├── registeredResizeKeys.st │ │ │ ├── shrinkSpeed.st │ │ │ └── speed.st │ │ ├── instance │ │ │ ├── createStringMorph.st │ │ │ ├── expand.st │ │ │ ├── initialize.st │ │ │ ├── registerMovementBlocks.st │ │ │ ├── registerResetAndSetKeys.st │ │ │ ├── registerResizeMethods.st │ │ │ ├── resetFunctionKeys.st │ │ │ ├── shrink.st │ │ │ ├── step.st │ │ │ └── stepTime.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMSoundLoaderAcceptance.class │ │ ├── README.md │ │ ├── instance │ │ │ └── initialize.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── monticello.meta │ │ ├── categories.st │ │ └── initializers.st │ └── properties.json ├── GameMecha-KeyHandling.package │ ├── .filetree │ ├── GMKeyHandler.class │ │ ├── README.md │ │ ├── class │ │ │ ├── cleanUp.st │ │ │ ├── initialize.st │ │ │ ├── initializeKeyLookupLinux.st │ │ │ ├── initializeKeyLookupMac.st │ │ │ ├── initializeKeyLookupOSIndependent.st │ │ │ ├── initializeKeyLookupWindows.st │ │ │ ├── keyLookup.st │ │ │ ├── startUp..st │ │ │ └── supportedPlatformDict.st │ │ ├── instance │ │ │ ├── gmDeregisterBlockForKey..st │ │ │ ├── gmDeregisterMethodInvocationForKey..st │ │ │ ├── gmEvaluateRegisteredEvents.st │ │ │ ├── gmIsKeyPressed..st │ │ │ ├── gmRegisterBlock.forKey..st │ │ │ ├── gmRegisterMethodInvocation.on.forKey..st │ │ │ ├── handlesClickOrDrag..st │ │ │ ├── handlesGestureStart..st │ │ │ ├── handlesKeyboard..st │ │ │ ├── handlesMouseDown..st │ │ │ ├── handlesMouseMove..st │ │ │ ├── handlesMouseOver..st │ │ │ ├── handlesMouseOverDragging..st │ │ │ ├── handlesMouseStillDown..st │ │ │ ├── handlesMouseWheel..st │ │ │ ├── keyDown.fromMorph..st │ │ │ ├── keyStroke.fromMorph..st │ │ │ ├── keyToBlockMappings..st │ │ │ ├── keyToBlockMappings.st │ │ │ ├── keyToMethodMappings..st │ │ │ ├── keyToMethodMappings.st │ │ │ ├── keyUp.fromMorph..st │ │ │ ├── keyboardFocusChange.fromMorph..st │ │ │ ├── mouseDown.fromMorph..st │ │ │ ├── mouseEnter.fromMorph..st │ │ │ ├── mouseLeave.fromMorph..st │ │ │ ├── pressedKeys..st │ │ │ └── pressedKeys.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── Morph.extension │ │ ├── instance │ │ │ ├── gmDeregisterBlockForKey..st │ │ │ ├── gmDeregisterMethodInvocationForKey..st │ │ │ ├── gmEvaluateRegisteredEvents.st │ │ │ ├── gmIsKeyPressed..st │ │ │ ├── gmRegisterBlock.forKey..st │ │ │ ├── gmRegisterMethodInvocation.on.forKey..st │ │ │ └── gmRegisterToKeyHandler.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── monticello.meta │ │ ├── categories.st │ │ └── initializers.st │ └── properties.json ├── GameMecha-ResourceLoading.package │ ├── .filetree │ ├── GMAnimatedImageLoader.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── isSupportedType..st │ │ │ ├── resourceFromDrive..st │ │ │ └── stringFromFile..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMImageLoader.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── at.withSize..st │ │ │ ├── isSupportedType..st │ │ │ ├── resourceFromDrive..st │ │ │ └── stringFromFile..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMResourceLoader.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── at..st │ │ │ ├── cache..st │ │ │ ├── cache.st │ │ │ ├── compileMethod.inInstance.fromString..st │ │ │ ├── contentsFromFile..st │ │ │ ├── convertToRelativePath..st │ │ │ ├── defaultNameFunction.st │ │ │ ├── ensureSlashEnding..st │ │ │ ├── filenamesAtDir..st │ │ │ ├── flushCache.st │ │ │ ├── isSupportedType..st │ │ │ ├── loadAllResourcesFromDrive..st │ │ │ ├── loadAllResourcesFromDrive.withNameFunction..st │ │ │ ├── loadAllResourcesFromDriveWithoutEndings..st │ │ │ ├── loadResourceFromDrive..st │ │ │ ├── loadResourceFromDrive.withName..st │ │ │ ├── loadResourceFromObject.withName..st │ │ │ ├── removeFileendingFrom..st │ │ │ ├── resourceFromDrive..st │ │ │ ├── storeEncodedFileInMethod.inInstance.fromFile..st │ │ │ └── storeResourceInMethod.inInstance.fromFile..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMSoundLoader.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── at..st │ │ │ ├── currentMusic..st │ │ │ ├── currentMusic.st │ │ │ ├── isSupportedType..st │ │ │ ├── loudness..st │ │ │ ├── loudness.st │ │ │ ├── pauseMusic.st │ │ │ ├── playMusic..st │ │ │ ├── playSound..st │ │ │ ├── resourceFromDrive..st │ │ │ ├── resumePlayingMusic.st │ │ │ ├── sampledSoundStringFromSound.withSamplesIn.andSamplingRate..st │ │ │ ├── samplesMethodName..st │ │ │ ├── samplesStringFromSound..st │ │ │ ├── storeResourceInMethod.inInstance.fromFile..st │ │ │ ├── storeResourceInMethod.inInstance.fromFile.withSamplingRate..st │ │ │ └── supportedTypes.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── monticello.meta │ │ ├── categories.st │ │ └── initializers.st │ └── properties.json ├── GameMecha-Test.package │ ├── .filetree │ ├── GMAcceptanceTestTest.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── testAnimatedImageLoaderAcceptance.st │ │ │ ├── testCollisionDetectionAcceptance.st │ │ │ ├── testImageLoaderAcceptance.st │ │ │ ├── testKeyHandlerAcceptance.st │ │ │ ├── testMouseHandlingTutorial.st │ │ │ ├── testRegisterKeyEventsAcceptance.st │ │ │ └── testSoundLoaderAcceptance.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMAnimatedImageLoaderTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── exampleFilepath.st │ │ │ ├── exampleResource.st │ │ │ ├── secondExampleFilepath.st │ │ │ └── supportedTypes.st │ │ ├── instance │ │ │ ├── assertRessourceType..st │ │ │ ├── setUp.st │ │ │ └── testStringFromFile.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCircleCollisionTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── bigCircleDiameter.st │ │ │ ├── circleEdgeNoCollisionOffset.st │ │ │ ├── circleEdgeOffset.st │ │ │ ├── rectangleExtent.st │ │ │ └── smallCircleDiameter.st │ │ ├── instance │ │ │ ├── bigCircle..st │ │ │ ├── bigCircle.st │ │ │ ├── rectangle..st │ │ │ ├── rectangle.st │ │ │ ├── setUp.st │ │ │ ├── smallCircle..st │ │ │ ├── smallCircle.st │ │ │ ├── strategy.st │ │ │ ├── testCircleCircleCollision.st │ │ │ ├── testCircleCircleNoCollision.st │ │ │ ├── testCircleRectangleCollision.st │ │ │ ├── testCircleRectangleEdgeCollision.st │ │ │ ├── testCircleRectangleEdgeNoCollision.st │ │ │ └── testCircleRectangleNoCollision.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMClickEvent.class │ │ ├── README.md │ │ ├── class │ │ │ └── atPosition..st │ │ ├── instance │ │ │ ├── cursorPoint.st │ │ │ ├── isMouse.st │ │ │ ├── position..st │ │ │ ├── position.st │ │ │ ├── redButtonPressed.st │ │ │ ├── shiftPressed.st │ │ │ └── yellowButtonPressed.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionAutomatedAcceptanceTest.class │ │ ├── README.md │ │ ├── class │ │ │ └── collisionSelectors.st │ │ ├── instance │ │ │ ├── rotatedRectangleShellWithAngle.withScale.atPosition..st │ │ │ └── testAcceptance220650680.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionHandlerTest.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── collisionHandler..st │ │ │ ├── collisionHandler.st │ │ │ ├── collisionMorph..st │ │ │ ├── collisionMorph.st │ │ │ ├── testAddAndRemove.st │ │ │ ├── testAssigningCollisionDetectionStrategy.st │ │ │ ├── testRemoveAll.st │ │ │ └── testRemoveMorphNotIncluded.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionShapeTest.class │ │ ├── README.md │ │ ├── class │ │ │ └── isAbstract.st │ │ ├── instance │ │ │ ├── strategy.st │ │ │ ├── tearDown.st │ │ │ └── testStoreOn.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionTest.class │ │ ├── README.md │ │ ├── class │ │ │ └── isAbstract.st │ │ ├── instance │ │ │ ├── assertCollision.with.andOffset..st │ │ │ ├── assertCollision.with.andOffset.equals..st │ │ │ ├── assertCollision.with.equals..st │ │ │ ├── assertCollisionInHandler.with.equals..st │ │ │ ├── collisionHandler..st │ │ │ ├── collisionHandler.st │ │ │ └── denyCollision.with.andOffset..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionTestGenerator.class │ │ ├── README.md │ │ ├── class │ │ │ └── open.st │ │ ├── instance │ │ │ ├── buttonName.action..st │ │ │ ├── buttonName.action.target..st │ │ │ ├── buttonName.action.target.arguments..st │ │ │ ├── cleanupClass..st │ │ │ ├── collisionChecks..st │ │ │ ├── collisionChecks.st │ │ │ ├── collisionDescriptions.st │ │ │ ├── collisionMorph..st │ │ │ ├── collisionMorph.st │ │ │ ├── generatedTestCategory.st │ │ │ ├── initialColor.st │ │ │ ├── initialExtent.st │ │ │ ├── initialize.st │ │ │ ├── initializeButtons.st │ │ │ ├── initializeLabels.st │ │ │ ├── initializeLayout.st │ │ │ ├── methodSelectorStringForCheck..st │ │ │ ├── methodStringForCheck..st │ │ │ ├── resetChecks.st │ │ │ ├── save.st │ │ │ ├── storeChecksInInstanceOf..st │ │ │ ├── storeCollision.st │ │ │ └── storeNoCollision.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMCollisionTestGeneratorMorphContainer.class │ │ ├── README.md │ │ ├── class │ │ │ ├── collisionMorphExtent.st │ │ │ └── crWithIndent.st │ │ ├── instance │ │ │ ├── addCollisionMorphs..st │ │ │ ├── chooseCollisionScenario.with..st │ │ │ ├── circleCollisionMorph.st │ │ │ ├── collisionHandler..st │ │ │ ├── collisionHandler.st │ │ │ ├── collisionMorphs..st │ │ │ ├── collisionMorphs.st │ │ │ ├── collisionShapeDictionary..st │ │ │ ├── collisionShapeDictionary.st │ │ │ ├── currentCollisionCheck.st │ │ │ ├── rectangleCollisionMorph.st │ │ │ ├── rotatedRectangleCollisionMorph.st │ │ │ ├── shouldCollide..st │ │ │ ├── shouldCollide.st │ │ │ ├── shuffleMorphs.st │ │ │ ├── step.st │ │ │ ├── stepTime.st │ │ │ ├── stringFromMorph..st │ │ │ ├── stringFromObject..st │ │ │ └── stringFromTransformationMorph..st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMImageLoaderTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── exampleFilepath.st │ │ │ ├── exampleResource.st │ │ │ ├── secondExampleFilepath.st │ │ │ ├── supportedTypes.st │ │ │ └── testSize.st │ │ ├── instance │ │ │ ├── assertRessourceType..st │ │ │ ├── setUp.st │ │ │ ├── testGetImageWithSize.st │ │ │ └── testStringFromFile.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMKeyHandlerTest.class │ │ ├── README.md │ │ ├── class │ │ │ └── assignedValue.st │ │ ├── instance │ │ │ ├── assertKeyboardEventOfType.evaluates..st │ │ │ ├── assertKeyboardEventOfType.evaluates.then..st │ │ │ ├── createKeyboardEventOfType.withValue..st │ │ │ ├── currentTestValue..st │ │ │ ├── currentTestValue.st │ │ │ ├── keyCharacter.st │ │ │ ├── keyMorph..st │ │ │ ├── keyMorph.st │ │ │ ├── keyValue.st │ │ │ ├── registrationTestSetCurrentValue.st │ │ │ ├── resetCurrentTestValue.st │ │ │ ├── setCurrentTestValue.st │ │ │ ├── setUp.st │ │ │ ├── testAllOSsSupportSameKeys.st │ │ │ ├── testBlockDeregistration.st │ │ │ ├── testBlockRegistration.st │ │ │ ├── testIsKeyPressed.st │ │ │ ├── testMethodDeregistration.st │ │ │ └── testMethodRegistration.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMMockHand.class │ │ ├── README.md │ │ ├── instance │ │ │ └── keyboardFocus.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMRectangleCollisionTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── bigRectangleExtent.st │ │ │ └── smallRectangleExtent.st │ │ ├── instance │ │ │ ├── bigRectangle..st │ │ │ ├── bigRectangle.st │ │ │ ├── setUp.st │ │ │ ├── smallRectangle..st │ │ │ ├── smallRectangle.st │ │ │ ├── strategy.st │ │ │ ├── testRectangleRectangleCollision.st │ │ │ ├── testRectangleRectangleInCollisionCollection.st │ │ │ ├── testRectangleRectangleNoCollision.st │ │ │ └── testRectangleRectangleNotInCollisionCollection.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMResourceLoaderTest.class │ │ ├── README.md │ │ ├── class │ │ │ └── exampleFilepath.st │ │ ├── instance │ │ │ ├── setUp.st │ │ │ ├── testFlushCache.st │ │ │ └── testLoadFileIntoMethod.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMResourceLoadingTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── exampleFilepath.st │ │ │ └── isAbstract.st │ │ ├── instance │ │ │ ├── loadAll.st │ │ │ ├── loadAllWithoutEndings.st │ │ │ ├── resourceManager..st │ │ │ ├── resourceManager.st │ │ │ ├── setUp.st │ │ │ └── tearDown.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMRotatedRectangleCollisionTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── circleDiameter.st │ │ │ ├── circleOffsetCollision.st │ │ │ ├── circleOffsetNoCollision.st │ │ │ ├── rectangleExtent.st │ │ │ ├── rectangleOffsetCollision.st │ │ │ ├── rectangleOffsetNoCollision.st │ │ │ ├── rotatedRectangleAngle.st │ │ │ ├── rotatedRectangleExtent.st │ │ │ ├── rotatedRectangleTallAngle.st │ │ │ ├── rotatedRectangleTallExtent.st │ │ │ ├── rotatedRectangleTallOffsetCollision.st │ │ │ ├── rotatedRectangleTallOffsetNoCollision.st │ │ │ └── scaledRotatedRectangleScale.st │ │ ├── instance │ │ │ ├── circle..st │ │ │ ├── circle.st │ │ │ ├── newMorphWithOwner.st │ │ │ ├── newShellWithExtent..st │ │ │ ├── rectangle..st │ │ │ ├── rectangle.st │ │ │ ├── rotatedRectangleShell..st │ │ │ ├── rotatedRectangleShell.st │ │ │ ├── rotatedRectangleTallShell..st │ │ │ ├── rotatedRectangleTallShell.st │ │ │ ├── scaledRotatedRectangleShell..st │ │ │ ├── scaledRotatedRectangleShell.st │ │ │ ├── setUp.st │ │ │ ├── strategy.st │ │ │ ├── testRotatedRectangleCircleCollision.st │ │ │ ├── testRotatedRectangleCircleNoCollision.st │ │ │ ├── testRotatedRectangleRectangleCollision.st │ │ │ ├── testRotatedRectangleRectangleNoCollision.st │ │ │ ├── testRotatedRectangleRotatedRectangleCollision.st │ │ │ ├── testRotatedRectangleRotatedRectangleNoCollision.st │ │ │ ├── testScaledRotatedRectangleCircleCollision.st │ │ │ └── testScaledRotatedRectangleCircleNoCollision.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMSoundLoaderTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── exampleFilepath.st │ │ │ ├── exampleResource.st │ │ │ ├── secondExampleFilepath.st │ │ │ └── supportedTypes.st │ │ ├── instance │ │ │ ├── assertRessourceType..st │ │ │ ├── setUp.st │ │ │ ├── tearDown.st │ │ │ ├── testPlayNamedSound.st │ │ │ ├── testPlayPauseMusic.st │ │ │ ├── testPlaySoundAIFF.st │ │ │ ├── testPlaySoundWAV.st │ │ │ └── testResumePlayingMusic.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMSpecificLoadingTest.class │ │ ├── README.md │ │ ├── class │ │ │ ├── exampleResource.st │ │ │ ├── isAbstract.st │ │ │ ├── secondExampleFilepath.st │ │ │ └── supportedTypes.st │ │ ├── instance │ │ │ ├── assertEntryIsCorrect..st │ │ │ ├── assertRessourceType..st │ │ │ ├── testLoadAll.st │ │ │ ├── testLoadAllWithoutEndings.st │ │ │ ├── testLoadResourceIntoCache.st │ │ │ ├── testLoadSingleResource.st │ │ │ ├── testLoadSingleResourceWithName.st │ │ │ ├── testResourceIntoMethod.st │ │ │ └── testSupportedTypes.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMTestResourceFixtures.class │ │ ├── README.md │ │ ├── class │ │ │ ├── clearResourcesOnDisk..st │ │ │ ├── clearResourcesOnDisk.st │ │ │ ├── createAnimatedImagesOnDisk.st │ │ │ ├── createFolder..st │ │ │ ├── createImagesOnDisk.st │ │ │ ├── createSoundOnDisk.st │ │ │ ├── createTextOnDisk.st │ │ │ ├── fileName.st │ │ │ ├── saveStream.onPath..st │ │ │ ├── squeakGIF2Contents.st │ │ │ ├── squeakGIFContents.st │ │ │ ├── squeakGIFReadWriter.st │ │ │ ├── squeakJPEG.st │ │ │ ├── squeakPNG.st │ │ │ ├── squeakSampledSound.st │ │ │ ├── squeakSampledSoundSamples.st │ │ │ ├── testImageNameGIF.st │ │ │ ├── testImageNameGIF2.st │ │ │ ├── testImageNameJPEG.st │ │ │ ├── testImageNamePNG.st │ │ │ ├── testImagePathGIF.st │ │ │ ├── testImagePathGIF2.st │ │ │ ├── testImagePathJPEG.st │ │ │ ├── testImagePathPNG.st │ │ │ ├── testResourceFolder.st │ │ │ ├── testSoundNameAIFF.st │ │ │ ├── testSoundNameWAV.st │ │ │ ├── testSoundPathAIFF.st │ │ │ ├── testSoundPathWAV.st │ │ │ ├── testText.st │ │ │ ├── testTextName.st │ │ │ └── testTextPath.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMTileEditorTest.class │ │ ├── README.md │ │ ├── instance │ │ │ ├── clickButton..st │ │ │ ├── editor..st │ │ │ ├── editor.st │ │ │ ├── fileUUID..st │ │ │ ├── fileUUID.st │ │ │ ├── loadTestMapFileToFileDirectory.st │ │ │ ├── setUp.st │ │ │ ├── tearDown.st │ │ │ ├── testAddLayerButton.st │ │ │ ├── testDeleteLayer.st │ │ │ ├── testDirectImport.st │ │ │ ├── testDirectImportFromAssetbrowser.st │ │ │ ├── testExport.st │ │ │ ├── testExportButton.st │ │ │ ├── testImportButton.st │ │ │ ├── testMoveLayerDown.st │ │ │ ├── testMoveLayerUp.st │ │ │ ├── testMultiDeleteLayer.st │ │ │ ├── testMultiToggleLayerVisibility.st │ │ │ ├── testRenameLayer.st │ │ │ ├── testRescaleMap.st │ │ │ ├── testSwapLayer.st │ │ │ ├── testToggleHighlightingLayer.st │ │ │ └── testToggleLayerVisibility.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── GMUtilitiesTest.class │ │ ├── README.md │ │ ├── instance │ │ │ └── testCollisionGeneratorAcceptance.st │ │ ├── methodProperties.json │ │ └── properties.json │ ├── monticello.meta │ │ ├── categories.st │ │ └── initializers.st │ └── properties.json └── GameMecha-TileEditor.package │ ├── .filetree │ ├── GMTEAddLayerCommand.class │ ├── README.md │ ├── class │ │ └── withEditor..st │ ├── instance │ │ ├── do.st │ │ ├── editor..st │ │ ├── editor.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEBlendLayersCommand.class │ ├── README.md │ ├── instance │ │ ├── do.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEBrush.class │ ├── README.md │ ├── class │ │ └── borderingOffsets.st │ ├── instance │ │ ├── calculateOffsetsForRadius..st │ │ ├── currentBrush..st │ │ ├── currentBrush.st │ │ ├── currentMatrixIndex..st │ │ ├── currentMatrixIndex.st │ │ ├── executeWithIndex.andLayer..st │ │ ├── fillBrush.st │ │ ├── fillDfsWithVisited.andIndex.andOriginTile..st │ │ ├── firstMatrixIndex..st │ │ ├── firstMatrixIndex.st │ │ ├── initialize.st │ │ ├── layer..st │ │ ├── layer.st │ │ ├── lineBrush.st │ │ ├── offsetCorrectedRadius.st │ │ ├── outputSet..st │ │ ├── outputSet.st │ │ ├── radius..st │ │ ├── radius.st │ │ ├── radiusBrush.st │ │ ├── rasterizeLineBetweenStart.andEnd..st │ │ ├── rectangleBrush.st │ │ ├── resetOutputSet.st │ │ ├── selectFillBrush.st │ │ ├── selectLineBrush.st │ │ ├── selectRadiusBrush.st │ │ ├── selectRectangleBrush.st │ │ └── tile.equalsTile..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEButtonGroup.class │ ├── README.md │ ├── instance │ │ ├── deselectAllExcept..st │ │ ├── deselectAllExceptNamed..st │ │ ├── register.as..st │ │ ├── singleSelect..st │ │ └── singleSelectNamed..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTECommand.class │ ├── README.md │ ├── instance │ │ ├── do.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTECoordinateSystem.class │ ├── README.md │ ├── class │ │ └── width.height..st │ ├── instance │ │ ├── aspectRatio.st │ │ ├── containsPos..st │ │ ├── containsVirtual..st │ │ ├── definitionArea..st │ │ ├── definitionArea.st │ │ ├── height..st │ │ ├── height.st │ │ ├── origin..st │ │ ├── origin.st │ │ ├── valueArea..st │ │ ├── valueArea.st │ │ ├── virtualToPos..st │ │ ├── width..st │ │ └── width.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEDeleteLayersCommand.class │ ├── README.md │ ├── class │ │ └── fromLayers.editor..st │ ├── instance │ │ ├── do.st │ │ ├── layers..st │ │ ├── layers.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEEditTilesCommand.class │ ├── README.md │ ├── class │ │ └── previousTiles.currentTiles.tilemap..st │ ├── instance │ │ ├── currentSprites..st │ │ ├── currentSprites.st │ │ ├── do.st │ │ ├── editor..st │ │ ├── editor.st │ │ ├── placeSprite.at.at.in..st │ │ ├── placeTilesFromList..st │ │ ├── previousSprites..st │ │ ├── previousSprites.st │ │ ├── tileMap..st │ │ ├── tileMap.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEEditor.class │ ├── README.md │ ├── class │ │ ├── editorMinimumExtent.st │ │ ├── getInputFieldSize.st │ │ ├── getTileMapFromFileBinary..st │ │ ├── getTileMapFromFilePath..st │ │ ├── getTileMapFromProjectName.withPath..st │ │ ├── getVisibilityIndicator..st │ │ ├── hLayoutFrame.ofN..st │ │ ├── hLayoutFrame.ofN.vSymmetric..st │ │ ├── hLayoutFrame.ofN.vUp.down..st │ │ ├── initialize.st │ │ ├── maxBrushRadius.st │ │ ├── maxNumberOfCommands.st │ │ ├── maximumPreviewTilesetWindowExtent.st │ │ ├── minBrushRadius.st │ │ ├── previewTileSize.st │ │ ├── privateGetEditorTileMapFromFileBinary..st │ │ ├── privateGetEditorTileMapFromFilePath..st │ │ ├── register.st │ │ ├── singleLayerActionNames.st │ │ ├── startup.st │ │ ├── startupMinimumExtent.st │ │ ├── tileMapMaxGridSize.st │ │ ├── tileMapMaxPaddingSize.st │ │ ├── tileMapMinGridSize.st │ │ ├── tileMapMinPaddingSize.st │ │ ├── toolBarVSpace.st │ │ ├── vLayoutFrame.ofN..st │ │ ├── vLayoutFrame.ofN.hLeft.right..st │ │ └── vLayoutFrame.ofN.hSymmetric..st │ ├── instance │ │ ├── addCommand..st │ │ ├── addLayer.st │ │ ├── addTilemapLayer.st │ │ ├── addTilemapLayersAt..st │ │ ├── anyLayerSelected.st │ │ ├── associatedMorph..st │ │ ├── associatedMorph.st │ │ ├── backgroundTile..st │ │ ├── backgroundTile.st │ │ ├── blendLayers..st │ │ ├── blendSelectedLayers.st │ │ ├── brush..st │ │ ├── brush.st │ │ ├── brushButtons..st │ │ ├── brushButtons.st │ │ ├── buildWith..st │ │ ├── calculateAttributeContainerWidth..st │ │ ├── commands..st │ │ ├── commands.st │ │ ├── createAttributeSpecWithBuilder.descriptor.getter.setter.model.frame..st │ │ ├── createCommandBarSpecWithBuilder..st │ │ ├── createInspectorSpecWithBuilder..st │ │ ├── createLayersSpecWithBuilder..st │ │ ├── createTileViewerSpecWithBuilder..st │ │ ├── createTilestoreSpecWithBuilder..st │ │ ├── createToolBarSpecWithBuilder..st │ │ ├── createTraySpecWithBuilder..st │ │ ├── currentCommand..st │ │ ├── currentCommand.st │ │ ├── deleteSelectedLayers.st │ │ ├── deleteTilemapLayers..st │ │ ├── deselectAllLayers.st │ │ ├── deselectLayer..st │ │ ├── deselectTile.st │ │ ├── disableSingleLayerButtons.st │ │ ├── enableSingleLayerButtons.st │ │ ├── exportAsImage.st │ │ ├── exportAsMorph.st │ │ ├── exportMenu.st │ │ ├── filterEvent.for..st │ │ ├── getBrushRadius.st │ │ ├── getBrushRadiusAsString.st │ │ ├── getFileWithFileChooser.st │ │ ├── getGridHeight.st │ │ ├── getGridHeightAsString.st │ │ ├── getGridWidth.st │ │ ├── getGridWidthAsString.st │ │ ├── getLayerList.st │ │ ├── getMaximalSizeOfStrings..st │ │ ├── getPadding.st │ │ ├── getPaddingAsString.st │ │ ├── getSelectedLayer.st │ │ ├── getSizeOfString..st │ │ ├── importFromMorph.st │ │ ├── importFromTileset.st │ │ ├── importMenu.st │ │ ├── initialize.st │ │ ├── initializeBrush.st │ │ ├── initializeDefaultTileMapMatrix.st │ │ ├── initializeTileMapMatrixWithHeight.width..st │ │ ├── layerAt..st │ │ ├── layerAt.put..st │ │ ├── layerCount.st │ │ ├── loadTileSetWithDimensions..st │ │ ├── mapViewer..st │ │ ├── mapViewer.st │ │ ├── moveLayerDown.st │ │ ├── moveLayerUp.st │ │ ├── onClose.st │ │ ├── open.st │ │ ├── openTileMapInEditor..st │ │ ├── openTileMapInWorld.st │ │ ├── parseBrushRadius..st │ │ ├── parseGridSize..st │ │ ├── parsePaddingSize..st │ │ ├── parseSize..st │ │ ├── placeSelectedTileIntoTileTray.st │ │ ├── redo.st │ │ ├── renameLayer.st │ │ ├── rescaleGridDimensions..st │ │ ├── rescaleGridHeight..st │ │ ├── rescaleGridWidth..st │ │ ├── resetCommands.st │ │ ├── resetLayers..st │ │ ├── resetSelectedLayers.st │ │ ├── resetView.st │ │ ├── rotateSelectedTile.st │ │ ├── savedSinceModified..st │ │ ├── savedSinceModified.st │ │ ├── selectAllLayers.st │ │ ├── selectFillBrush.st │ │ ├── selectLayer..st │ │ ├── selectLineBrush.st │ │ ├── selectOnlyLayer..st │ │ ├── selectRadiusBrush.st │ │ ├── selectRectangleBrush.st │ │ ├── selectTile..st │ │ ├── selectedLayers..st │ │ ├── selectedLayers.st │ │ ├── selectedTile..st │ │ ├── selectedTile.st │ │ ├── setBrushRadius..st │ │ ├── setGridHeight..st │ │ ├── setGridWidth..st │ │ ├── setPadding..st │ │ ├── settingsMenu.st │ │ ├── showConfirmationWindowOf.withDimensions.withTileSize..st │ │ ├── singleLayerSelected.st │ │ ├── swapLayer.with..st │ │ ├── tileMap..st │ │ ├── tileMap.st │ │ ├── tileStore..st │ │ ├── tileStore.st │ │ ├── tileTray..st │ │ ├── tileTray.st │ │ ├── toggleBackgroundTiles.st │ │ ├── toggleGrid.st │ │ ├── toggleSelectedLayerVisibility.st │ │ ├── undo.st │ │ └── updateButtonEnabled.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEEditorTileMap.class │ ├── README.md │ ├── class │ │ └── tileWidth.tileHeight.padding.sizeRatio.model..st │ ├── instance │ │ ├── brush.st │ │ ├── currentTileChanges..st │ │ ├── currentTileChanges.st │ │ ├── deleteTiles.inLayer..st │ │ ├── handlesMouseDown..st │ │ ├── handlesMouseMove..st │ │ ├── handlesMouseOver..st │ │ ├── highlightTilesFromIndices..st │ │ ├── initialize.st │ │ ├── model..st │ │ ├── model.st │ │ ├── mouseDown..st │ │ ├── mouseLeave..st │ │ ├── mouseMove..st │ │ ├── mouseUp..st │ │ ├── placeTiles.inLayer..st │ │ ├── previousTileStates..st │ │ ├── previousTileStates.st │ │ ├── rescaleMap.st │ │ ├── resetLayers..st │ │ ├── resetTileEditChanges.st │ │ ├── saveNewImageFromIndex.inLayer..st │ │ ├── savePreviousImageFromIndex.inLayer..st │ │ ├── saveTileEditChanges.st │ │ ├── selectedLayers.st │ │ ├── silentlyResetLayers..st │ │ ├── tileSelectionSet..st │ │ ├── tileSelectionSet.st │ │ ├── updateTiles.inLayer.FromEvent..st │ │ └── zoomAt.by..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEImageButton.class │ ├── README.md │ ├── class │ │ ├── getIcon..st │ │ ├── iconAdd.st │ │ ├── iconBroom.st │ │ ├── iconBrush.st │ │ ├── iconDown.st │ │ ├── iconEye.st │ │ ├── iconFill.st │ │ ├── iconLine.st │ │ ├── iconMerge.st │ │ ├── iconRectangle.st │ │ ├── iconRedo.st │ │ ├── iconRename.st │ │ ├── iconTrash.st │ │ ├── iconUndo.st │ │ └── iconUp.st │ ├── instance │ │ ├── actionSelector..st │ │ ├── actionSelector.st │ │ ├── arguments..st │ │ ├── arguments.st │ │ ├── basicButtonGroup..st │ │ ├── basicEnabled..st │ │ ├── buttonGroup..st │ │ ├── buttonGroup.st │ │ ├── createStateImagesFrom..st │ │ ├── doButtonAction.st │ │ ├── dyeSprite.with..st │ │ ├── enabled..st │ │ ├── enabled.st │ │ ├── groupName..st │ │ ├── groupName.st │ │ ├── handlesMouseDown..st │ │ ├── handlesMouseMove..st │ │ ├── handlesMouseOver..st │ │ ├── initialize.st │ │ ├── mouseDown..st │ │ ├── mouseLeave..st │ │ ├── mouseMove..st │ │ ├── mouseUp..st │ │ ├── select.st │ │ ├── selected..st │ │ ├── selected.st │ │ ├── setImageMode..st │ │ ├── stateSprites..st │ │ ├── stateSprites.st │ │ ├── target..st │ │ ├── target.st │ │ ├── updateVisualState..st │ │ ├── updateVisualStateGrouped..st │ │ └── updateVisualStateUngrouped..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEImageMorph.class │ ├── README.md │ ├── class │ │ └── placeholderDepth.st │ ├── instance │ │ ├── asBlendedWithImageMorph..st │ │ ├── extent..st │ │ ├── free.st │ │ ├── fullResolutionSprite..st │ │ ├── fullResolutionSprite.st │ │ ├── setPlaceholderWithColor..st │ │ ├── setPlaceholderWithExtent.color..st │ │ └── updateSprite..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEMoveLayerCommand.class │ ├── README.md │ ├── class │ │ └── fromLayerID.withDirection.withEditor..st │ ├── instance │ │ ├── do.st │ │ ├── editor..st │ │ ├── editor.st │ │ ├── layerID..st │ │ ├── layerID.st │ │ ├── moveDirection..st │ │ ├── moveDirection.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEPlaceHolderCommand.class │ ├── README.md │ ├── instance │ │ ├── do.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEStaticCoordinateMatrix.class │ ├── README.md │ ├── class │ │ └── rows.columns..st │ ├── instance │ │ ├── coordinateSystem..st │ │ ├── coordinateSystem.st │ │ ├── getAtCoordinate..st │ │ └── validIndex..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETile.class │ ├── README.md │ ├── class │ │ ├── checkerBoardColors.st │ │ ├── checkerBoardTile.st │ │ ├── fromSprite..st │ │ ├── placeHolderColor.st │ │ └── position.extent..st │ ├── instance │ │ ├── copySpriteFromTile..st │ │ └── setToPlaceholder.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETileContainer.class │ ├── README.md │ ├── class │ │ ├── minTileSize.st │ │ └── withParent..st │ ├── instance │ │ ├── parent..st │ │ ├── parent.st │ │ ├── step.st │ │ └── stepTime.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETileHighlighting.class │ ├── README.md │ ├── class │ │ └── decoMorphAlphaValue.st │ ├── instance │ │ ├── applyBorderHighlighting.st │ │ ├── applyDecoMorphHighlighting..st │ │ ├── decorationMorph..st │ │ ├── decorationMorph.st │ │ ├── initialize.st │ │ ├── removeBorderHighlighting.st │ │ └── removeDecoMorphHighlighting.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETileMap.class │ ├── README.md │ ├── class │ │ ├── foregroundMorphicLayerNumber.st │ │ ├── maxLayers.st │ │ ├── newFromEditableTileMap..st │ │ ├── tileWidth.tileHeight.padding.sizeRatio..st │ │ └── zoomStep.st │ ├── instance │ │ ├── absPointToViewCenter..st │ │ ├── absPointToViewFraction..st │ │ ├── areDimensionsSet.st │ │ ├── backgroundTiles..st │ │ ├── backgroundTiles.st │ │ ├── basicBackgroundTiles..st │ │ ├── borderSizeTotalHeight..st │ │ ├── borderSizeTotalHeight.st │ │ ├── borderSizeTotalWidth..st │ │ ├── borderSizeTotalWidth.st │ │ ├── borderTileHeight..st │ │ ├── borderTileHeight.st │ │ ├── borderTileWidth..st │ │ ├── borderTileWidth.st │ │ ├── centerViewAt..st │ │ ├── centerViewAtAbs..st │ │ ├── correctedTilePosition.startingOffset..st │ │ ├── correctedTilePositionBackground..st │ │ ├── correctedTilePositionMap..st │ │ ├── deleteTiles.inLayer..st │ │ ├── exportAsImage.st │ │ ├── extent..st │ │ ├── fitBackgroundToMap.st │ │ ├── forceMapSizeRatio..st │ │ ├── forceMapSizeRatio.st │ │ ├── fullGridSizeHeight..st │ │ ├── fullGridSizeHeight.st │ │ ├── fullGridSizeWidth..st │ │ ├── fullGridSizeWidth.st │ │ ├── generateBackgroundTiles.st │ │ ├── generateHighlightingTiles.st │ │ ├── generateMatrixStacks.st │ │ ├── generateTileAtPos.withExtent.withType..st │ │ ├── generateTileAtlayer.x.y.stack.tileType..st │ │ ├── generateTileAtlayer.x.y.stack.tileType.posCorrectionBlock..st │ │ ├── getTileFromLayer.x.y..st │ │ ├── getTileFromLayer.x.y.stack..st │ │ ├── handlesMouseDown..st │ │ ├── handlesMouseMove..st │ │ ├── handlesMouseWheel..st │ │ ├── hasStaticView..st │ │ ├── hasStaticView.st │ │ ├── hideHighlightingLayer.st │ │ ├── highlightingTileFromIndex..st │ │ ├── inViewPointToAbs..st │ │ ├── inViewPointToViewCenter..st │ │ ├── inViewPointToViewFraction..st │ │ ├── initialize.st │ │ ├── mapGridOnly.st │ │ ├── mapPaddedHeight..st │ │ ├── mapPaddedHeight.st │ │ ├── mapPaddedWidth..st │ │ ├── mapPaddedWidth.st │ │ ├── mapPadding..st │ │ ├── mapPadding.st │ │ ├── mapSizeHeight..st │ │ ├── mapSizeHeight.st │ │ ├── mapSizeWidth..st │ │ ├── mapSizeWidth.st │ │ ├── mapTileHeight..st │ │ ├── mapTileHeight.st │ │ ├── mapTileWidth..st │ │ ├── mapTileWidth.st │ │ ├── mouseMove..st │ │ ├── mouseWheel..st │ │ ├── moveViewBy..st │ │ ├── placeTiles.inLayer.ofClass.withImage..st │ │ ├── placeTiles.inLayer.withImage..st │ │ ├── rescaleMap.st │ │ ├── rescaleMapWidth.height..st │ │ ├── rescaleMapWidth.height.padding..st │ │ ├── rescaleMatrixStacks.st │ │ ├── resetView.st │ │ ├── revertCorrectedTilePosition.startingOffset..st │ │ ├── revertCorrectedTilePositionBackground..st │ │ ├── revertCorrectedTilePositionMap..st │ │ ├── revertViewCorrectedTilePosition..st │ │ ├── revertViewCorrectedTilePositionMap..st │ │ ├── setDimensionsWidth.height.padding..st │ │ ├── showHighlightingLayer.st │ │ ├── tileCornerOffsetBackground..st │ │ ├── tileCornerOffsetBackground.st │ │ ├── tileCornerOffsetMap..st │ │ ├── tileCornerOffsetMap.st │ │ ├── tileFromPosition.layer..st │ │ ├── tileHeight..st │ │ ├── tileHeight.st │ │ ├── tileIndexFromPosition..st │ │ ├── tileMatrixStack..st │ │ ├── tileMatrixStack.st │ │ ├── tileMatrixStackBackground..st │ │ ├── tileMatrixStackBackground.st │ │ ├── tileMatrixStackHighlighting..st │ │ ├── tileMatrixStackHighlighting.st │ │ ├── tilePosFromVirtual..st │ │ ├── tileSizeHeight..st │ │ ├── tileSizeHeight.st │ │ ├── tileSizeRatio..st │ │ ├── tileSizeRatio.st │ │ ├── tileSizeWidth..st │ │ ├── tileSizeWidth.st │ │ ├── tileWidth..st │ │ ├── tileWidth.st │ │ ├── toForeground.st │ │ ├── toFullScreen.st │ │ ├── toFullScreenMode.st │ │ ├── toggleBackgroundLayer.st │ │ ├── toggleHighlightingLayer.st │ │ ├── updateDimensions.st │ │ ├── updateMap.st │ │ ├── updateTileMatrixStack..st │ │ ├── updateTileMatrixStack.posCorrectionBlock..st │ │ ├── updateTiles.st │ │ ├── updateTilesBackground.st │ │ ├── view..st │ │ ├── view.st │ │ ├── viewCorrectedTileExtent..st │ │ ├── viewCorrectedTilePosition..st │ │ ├── viewOriginInPxl.st │ │ ├── viewScaleFactor.st │ │ ├── zoomAt.by..st │ │ ├── zoomInAt..st │ │ └── zoomOutAt..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETileMatrixLayer.class │ ├── README.md │ ├── class │ │ └── width.height.layerIndex..st │ ├── instance │ │ ├── aboveLayer..st │ │ ├── addTile.at.at..st │ │ ├── asRescaledToWidth.height..st │ │ ├── at.at..st │ │ ├── belowLayer..st │ │ ├── displayName..st │ │ ├── displayName.st │ │ ├── doTiles..st │ │ ├── free.st │ │ ├── inBounds..st │ │ ├── initialize.st │ │ ├── layerIndex..st │ │ ├── layerIndex.st │ │ ├── setNil.st │ │ ├── tileLossAfterRescaleToWidth.height..st │ │ ├── tileLossAfterRescaleToWidth.height.layerId..st │ │ ├── updateLayerTo..st │ │ ├── visible..st │ │ └── visible.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETileMatrixStack.class │ ├── README.md │ ├── class │ │ ├── fromWidth.height..st │ │ ├── fromWidth.height.morphicLayerOffset..st │ │ ├── morphicLayerDistance.st │ │ └── morphicLayerOffsetDefault.st │ ├── instance │ │ ├── basicVisible..st │ │ ├── blendLayer.with..st │ │ ├── blendLayers..st │ │ ├── collectLayers..st │ │ ├── doLayers..st │ │ ├── doLayersWithIds..st │ │ ├── doTiles..st │ │ ├── doTilesXYLindex..st │ │ ├── height..st │ │ ├── height.st │ │ ├── hideLayer..st │ │ ├── hideLayers..st │ │ ├── initialize.st │ │ ├── layer..st │ │ ├── layer.at.at..st │ │ ├── layer.at.at.put..st │ │ ├── layerCount.st │ │ ├── layerNameOf..st │ │ ├── layerVisible..st │ │ ├── mapLayers.withUnaryBlock..st │ │ ├── matrixLayers..st │ │ ├── matrixLayers.st │ │ ├── morphicLayerStartingOffset..st │ │ ├── morphicLayerStartingOffset.st │ │ ├── pushLayer.st │ │ ├── pushLayers..st │ │ ├── reduceLayers.withBinaryBlock..st │ │ ├── removeLayerAt..st │ │ ├── removeLayersAt..st │ │ ├── rescaleToWidth.height..st │ │ ├── reset.st │ │ ├── resetLayer..st │ │ ├── resetLayers..st │ │ ├── setLayerNameOf.to..st │ │ ├── showLayer..st │ │ ├── showLayers..st │ │ ├── sortLayerSet..st │ │ ├── swapLayer.with..st │ │ ├── tileLossAfterRescaleToWidth.height..st │ │ ├── toggleLayerVisibility..st │ │ ├── toggleVisibility.st │ │ ├── visible..st │ │ ├── visible.st │ │ ├── width..st │ │ └── width.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETileSelectionSet.class │ ├── README.md │ ├── instance │ │ ├── applyAllHighlightings.st │ │ ├── applyHighlightingVisuals..st │ │ ├── clearAllHighlightings.st │ │ ├── highlightImage..st │ │ ├── highlightImage.st │ │ ├── highlightTile..st │ │ ├── initialize..st │ │ ├── removeAllHighlightings.st │ │ ├── removeHighlightingVisuals..st │ │ └── unhighlightTile..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETileSelector.class │ ├── README.md │ ├── instance │ │ ├── extent..st │ │ ├── handlesMouseDown..st │ │ ├── image..st │ │ ├── initBackground.st │ │ ├── model..st │ │ ├── model.st │ │ └── mouseDown..st │ ├── methodProperties.json │ └── properties.json │ ├── GMTETilemapSizeCommand.class │ ├── README.md │ ├── class │ │ └── prevSize.newSize.editor..st │ ├── instance │ │ ├── do.st │ │ ├── newSize..st │ │ ├── newSize.st │ │ ├── prevSize..st │ │ ├── prevSize.st │ │ ├── restoreTiles.st │ │ ├── saveTiles.st │ │ ├── savedTiles..st │ │ ├── savedTiles.st │ │ └── undo.st │ ├── methodProperties.json │ └── properties.json │ ├── GMTEView.class │ ├── README.md │ ├── class │ │ └── minExtentValue.st │ ├── instance │ │ ├── changeSizeBy..st │ │ ├── correctedExtent..st │ │ ├── correctedOrigin.withExtent..st │ │ ├── extent..st │ │ ├── initialize.st │ │ ├── moveBy..st │ │ ├── moveTo..st │ │ ├── origin..st │ │ ├── reset.st │ │ └── size..st │ ├── methodProperties.json │ └── properties.json │ ├── MorphicToolBuilder.extension │ ├── instance │ │ ├── buildPluggableImageButton..st │ │ └── buildPluggableStaticText..st │ ├── methodProperties.json │ └── properties.json │ ├── PluggableImageButtonSpec.class │ ├── README.md │ ├── instance │ │ ├── arguments..st │ │ ├── arguments.st │ │ ├── buildWith..st │ │ ├── buttonGroup..st │ │ ├── buttonGroup.st │ │ ├── description..st │ │ ├── description.st │ │ ├── groupName..st │ │ ├── groupName.st │ │ ├── iconName..st │ │ ├── iconName.st │ │ ├── project..st │ │ └── project.st │ ├── methodProperties.json │ └── properties.json │ ├── PluggableStaticTextSpec.class │ ├── README.md │ ├── instance │ │ ├── buildWith..st │ │ ├── text..st │ │ └── text.st │ ├── methodProperties.json │ └── properties.json │ ├── ToolBuilder.extension │ ├── instance │ │ ├── buildPluggableStaticText..st │ │ ├── pluggableImageButtonSpec.st │ │ └── pluggableStaticTextSpec.st │ ├── methodProperties.json │ └── properties.json │ ├── monticello.meta │ ├── categories.st │ └── initializers.st │ └── properties.json └── testingResources ├── map.morph ├── squeak.aiff ├── squeak.png ├── squeak.wav ├── squeak2.gif ├── test ├── test.txt └── testMapFile.morph /GMTEIcons/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/add.png -------------------------------------------------------------------------------- /GMTEIcons/broom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/broom.png -------------------------------------------------------------------------------- /GMTEIcons/brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/brush.png -------------------------------------------------------------------------------- /GMTEIcons/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/down.png -------------------------------------------------------------------------------- /GMTEIcons/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/eye.png -------------------------------------------------------------------------------- /GMTEIcons/fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/fill.png -------------------------------------------------------------------------------- /GMTEIcons/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/line.png -------------------------------------------------------------------------------- /GMTEIcons/merge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/merge.png -------------------------------------------------------------------------------- /GMTEIcons/rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/rectangle.png -------------------------------------------------------------------------------- /GMTEIcons/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/redo.png -------------------------------------------------------------------------------- /GMTEIcons/rename.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/rename.png -------------------------------------------------------------------------------- /GMTEIcons/trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/trash.png -------------------------------------------------------------------------------- /GMTEIcons/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/undo.png -------------------------------------------------------------------------------- /GMTEIcons/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/GMTEIcons/up.png -------------------------------------------------------------------------------- /src/BaselineOfGameMecha.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/BaselineOfGameMecha.package/BaselineOfGameMecha.class/methodProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : { 3 | }, 4 | "instance" : { 5 | "baseline:" : "ek 9/16/2024 10:27" } } 6 | -------------------------------------------------------------------------------- /src/BaselineOfGameMecha.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #BaselineOfGameMecha! 2 | -------------------------------------------------------------------------------- /src/BaselineOfGameMecha.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCircleCollisionDetectionShape.class/instance/absDistanceFrom.to..st: -------------------------------------------------------------------------------- 1 | utility 2 | absDistanceFrom: aPoint to: anotherPoint 3 | ^ (anotherPoint - aPoint) abs -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCircleCollisionDetectionShape.class/instance/isCollidingWith..st: -------------------------------------------------------------------------------- 1 | collision 2 | isCollidingWith: aMorph 3 | ^ aMorph gmCollisionDetectionShape isCollidingWithCircle: self owner -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCircleCollisionDetectionShape.class/instance/radius.st: -------------------------------------------------------------------------------- 1 | accessing 2 | radius 3 | ^ (self owner extent x min: self owner extent y) / 2 -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionDetectionShape.class/instance/isCollidingWith..st: -------------------------------------------------------------------------------- 1 | collision 2 | isCollidingWith: aMorph 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionDetectionShape.class/instance/isCollidingWithCircle..st: -------------------------------------------------------------------------------- 1 | collision 2 | isCollidingWithCircle: aMorph 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionDetectionShape.class/instance/isCollidingWithRectangle..st: -------------------------------------------------------------------------------- 1 | collision 2 | isCollidingWithRectangle: aMorph 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionDetectionShape.class/instance/isCollidingWithRotatedRectangle..st: -------------------------------------------------------------------------------- 1 | collision 2 | isCollidingWithRotatedRectangle: aMorph 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionDetectionShape.class/instance/owner..st: -------------------------------------------------------------------------------- 1 | accessing 2 | owner: anObject 3 | owner := anObject -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionDetectionShape.class/instance/owner.st: -------------------------------------------------------------------------------- 1 | accessing 2 | owner 3 | ^ owner -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionDetectionShape.class/instance/storeOn..st: -------------------------------------------------------------------------------- 1 | printing 2 | storeOn: aStream 3 | self class storeOn: aStream. 4 | aStream nextPutAll: ' new'. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionHandler.class/instance/addCollisionMorph..st: -------------------------------------------------------------------------------- 1 | collision morphs 2 | addCollisionMorph: aMorph 3 | self collisionMorphs add: aMorph. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionHandler.class/instance/addCollisionMorphs..st: -------------------------------------------------------------------------------- 1 | collision morphs 2 | addCollisionMorphs: aCollection 3 | self collisionMorphs addAll: aCollection. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionHandler.class/instance/collisionMorphs..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorphs: anObject 3 | collisionMorphs := anObject -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionHandler.class/instance/collisionMorphs.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorphs 3 | ^ collisionMorphs ifNil: [collisionMorphs := OrderedCollection new] -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionHandler.class/instance/includes..st: -------------------------------------------------------------------------------- 1 | collision morphs 2 | includes: aMorph 3 | ^ self collisionMorphs includes: aMorph -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMCollisionHandler.class/instance/removeAllMorphs.st: -------------------------------------------------------------------------------- 1 | collision morphs 2 | removeAllMorphs 3 | self collisionMorphs: OrderedCollection new. -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMRectangleCollisionDetectionShape.class/instance/corners.st: -------------------------------------------------------------------------------- 1 | accessing 2 | corners 3 | ^ self owner bounds corners -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMRectangleCollisionDetectionShape.class/instance/isCollidingWithRectangle..st: -------------------------------------------------------------------------------- 1 | collision 2 | isCollidingWithRectangle: aMorph 3 | ^ self owner bounds intersects: aMorph bounds -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMRectangleCollisionDetectionShape.class/instance/separatingAxes.st: -------------------------------------------------------------------------------- 1 | accessing 2 | separatingAxes 3 | ^ {1 @ 0. 0 @ 1} -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMRotatedRectangleCollisionDetectionShape.class/instance/originalCorners.st: -------------------------------------------------------------------------------- 1 | accessing 2 | originalCorners 3 | ^ self originalRectangle bounds corners -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMRotatedRectangleCollisionDetectionShape.class/instance/originalRectangle.st: -------------------------------------------------------------------------------- 1 | accessing 2 | originalRectangle 3 | ^ self owner renderedMorph -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/GMRotatedRectangleCollisionDetectionShape.class/instance/rectangleExtent.st: -------------------------------------------------------------------------------- 1 | accessing 2 | rectangleExtent 3 | ^ self originalRectangle extent * self owner scale -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/Morph.extension/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "Morph" } 3 | -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #'GameMecha-Collision'! 2 | -------------------------------------------------------------------------------- /src/GameMecha-Collision.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/class/gameExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | gameExtent 3 | ^ 1500 @ 900 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/class/resetKey.st: -------------------------------------------------------------------------------- 1 | constants 2 | resetKey 3 | ^ $r -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/class/spawnPositionPlayer1.st: -------------------------------------------------------------------------------- 1 | constants 2 | spawnPositionPlayer1 3 | ^ 100 @ 100 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/class/spawnPositionPlayer2.st: -------------------------------------------------------------------------------- 1 | constants 2 | spawnPositionPlayer2 3 | ^ self gameExtent - (100 @ 100) -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/class/stepTime.st: -------------------------------------------------------------------------------- 1 | constants 2 | stepTime 3 | ^ 30 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/abandon.st: -------------------------------------------------------------------------------- 1 | submorphs-add/remove 2 | abandon 3 | GMDemoGameFixtures clearResourcesOnDisk. 4 | super abandon. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/addCollisionMorph..st: -------------------------------------------------------------------------------- 1 | collision 2 | addCollisionMorph: aMorph 3 | self collisionHandler addCollisionMorph: aMorph. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/collisionHandler..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler: anObject 3 | collisionHandler := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/collisionHandler.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler 3 | ^ collisionHandler ifNil: [collisionHandler := GMCollisionHandler new] -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/game.st: -------------------------------------------------------------------------------- 1 | accessing 2 | game 3 | ^ self -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/imageLoader..st: -------------------------------------------------------------------------------- 1 | accessing 2 | imageLoader: anObject 3 | imageLoader := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/initializePlanets.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initializePlanets 3 | (GMDemoGamePlanet newFromGame: self) center: self center. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/players..st: -------------------------------------------------------------------------------- 1 | accessing 2 | players: anObject 3 | players := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/players.st: -------------------------------------------------------------------------------- 1 | accessing 2 | players 3 | ^ players ifNil: [players := OrderedCollection new] -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/removeCollisionMorph..st: -------------------------------------------------------------------------------- 1 | collision 2 | removeCollisionMorph: aMorph 3 | self collisionHandler removeCollisionMorph: aMorph. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/resetPlayers.st: -------------------------------------------------------------------------------- 1 | game logic 2 | resetPlayers 3 | self players do: [:aPlayer | aPlayer kill]. 4 | self spawnPlayers. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/soundLoader..st: -------------------------------------------------------------------------------- 1 | accessing 2 | soundLoader: anObject 3 | soundLoader := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGame.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | stepTime 3 | ^ self class stepTime -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/class/newFromGame..st: -------------------------------------------------------------------------------- 1 | instance creation 2 | newFromGame: aGame 3 | ^ self basicNew 4 | game: aGame; 5 | initialize -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/instance/collidedWithPlanet..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithPlanet: aPlanet -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/instance/collidedWithProjectile..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithProjectile: aProjectile -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/instance/collidedWithSpaceship..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithSpaceship: aSpaceship -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/instance/game..st: -------------------------------------------------------------------------------- 1 | accessing 2 | game: anObject 3 | game := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/instance/game.st: -------------------------------------------------------------------------------- 1 | accessing 2 | game 3 | ^ game game -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/instance/isAlive..st: -------------------------------------------------------------------------------- 1 | accessing 2 | isAlive: anObject 3 | isAlive := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameEntity.class/instance/isAlive.st: -------------------------------------------------------------------------------- 1 | accessing 2 | isAlive 3 | ^ isAlive ifNil: [isAlive := true] -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/clearResourcesOnDisk.st: -------------------------------------------------------------------------------- 1 | write on disk 2 | clearResourcesOnDisk 3 | GMTestResourceFixtures clearResourcesOnDisk: self resourceFolder. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/createSoundOnDisk.st: -------------------------------------------------------------------------------- 1 | write on disk 2 | createSoundOnDisk 3 | self pewSound storeWAVOnFileNamed: self pewSoundPath. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/pewSoundPath.st: -------------------------------------------------------------------------------- 1 | resources 2 | pewSoundPath 3 | ^ self resourceFolder , 'pewSound.wav' -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/planetPath.st: -------------------------------------------------------------------------------- 1 | paths 2 | planetPath 3 | ^ self resourceFolder , 'planet.png' -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/projectilePath.st: -------------------------------------------------------------------------------- 1 | paths 2 | projectilePath 3 | ^ self resourceFolder , 'projectile.png' -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/resourceFolder.st: -------------------------------------------------------------------------------- 1 | paths 2 | resourceFolder 3 | ^ 'GMDemoGameResources', FileDirectory slash -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/spaceship1Path.st: -------------------------------------------------------------------------------- 1 | paths 2 | spaceship1Path 3 | ^ self resourceFolder , 'spaceship1.png' -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameFixtures.class/class/spaceship2Path.st: -------------------------------------------------------------------------------- 1 | paths 2 | spaceship2Path 3 | ^ self resourceFolder , 'spaceship2.png' -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameMovingEntity.class/README.md: -------------------------------------------------------------------------------- 1 | A GMDemoGameMovingEntity provides more refined behavior for moving entities. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameMovingEntity.class/instance/move.st: -------------------------------------------------------------------------------- 1 | game logic 2 | move 3 | self spatialMorph position: self spatialMorph position + self velocity. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameMovingEntity.class/instance/step.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | step 3 | self 4 | move; 5 | resolveCollisions. 6 | self isOutOfGame ifTrue: [self kill]. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameMovingEntity.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | stepTime 3 | ^ GMDemoGame stepTime -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameMovingEntity.class/instance/velocity..st: -------------------------------------------------------------------------------- 1 | accessing 2 | velocity: anObject 3 | velocity := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameMovingEntity.class/instance/velocity.st: -------------------------------------------------------------------------------- 1 | accessing 2 | velocity 3 | ^ velocity ifNil: [velocity := 0 @ 0] -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGamePlanet.class/README.md: -------------------------------------------------------------------------------- 1 | A GMDemoGamePlanet serves as a simple obstacle and doesn't do much. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGamePlanet.class/class/defaultExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | defaultExtent 3 | ^ 200 @ 200 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGamePlanet.class/instance/collidedWith..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWith: anEntity 3 | anEntity collidedWithPlanet: self. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGamePlanet.class/instance/collidedWithProjectile..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithProjectile: aProjectile 3 | aProjectile collidedWithPlanet: self. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGamePlanet.class/instance/collidedWithSpaceship..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithSpaceship: aSpaceship 3 | aSpaceship collidedWithPlanet: self. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/README.md: -------------------------------------------------------------------------------- 1 | A GMDemoGameProjectile is the projectile shot by the spaceship. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/class/defaultExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | defaultExtent 3 | ^ 20 @ 20 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/class/maxVelocity.st: -------------------------------------------------------------------------------- 1 | constants 2 | maxVelocity 3 | ^ 20 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/instance/collidedWith..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWith: anEntity 3 | anEntity collidedWithProjectile: self. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/instance/collidedWithPlanet..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithPlanet: aPlanet 3 | self kill. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/instance/collidedWithProjectile..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithProjectile: aProjectile 3 | aProjectile kill. 4 | self kill. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/instance/collidedWithSpaceship..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithSpaceship: aSpaceship 3 | aSpaceship collidedWithProjectile: self. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/instance/creator..st: -------------------------------------------------------------------------------- 1 | accessing 2 | creator: anObject 3 | creator := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameProjectile.class/instance/creator.st: -------------------------------------------------------------------------------- 1 | accessing 2 | creator 3 | ^ creator -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/class/accelerationSpeed.st: -------------------------------------------------------------------------------- 1 | constants 2 | accelerationSpeed 3 | ^ 0.5 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/class/defaultExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | defaultExtent 3 | ^ 60 @ 40 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/class/maxVelocity.st: -------------------------------------------------------------------------------- 1 | constants 2 | maxVelocity 3 | ^ 10 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/class/numberOfCooldownSteps.st: -------------------------------------------------------------------------------- 1 | constants 2 | numberOfCooldownSteps 3 | ^ 20 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/class/turningSpeed.st: -------------------------------------------------------------------------------- 1 | constants 2 | turningSpeed 3 | ^ 0.125 -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/accelerate.st: -------------------------------------------------------------------------------- 1 | game logic 2 | accelerate 3 | self velocity: self velocity + self accelerationVector. 4 | self capVelocity. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/collidedWith..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWith: anEntity 3 | anEntity collidedWithSpaceship: self. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/collidedWithPlanet..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithPlanet: aPlanet 3 | self velocity: self velocity negated. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/collidedWithSpaceship..st: -------------------------------------------------------------------------------- 1 | collision 2 | collidedWithSpaceship: aSpaceship 3 | self kill. 4 | aSpaceship kill. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/controls..st: -------------------------------------------------------------------------------- 1 | accessing 2 | controls: anObject 3 | controls := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/controls.st: -------------------------------------------------------------------------------- 1 | accessing 2 | controls 3 | ^ controls -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/cooldownCounter..st: -------------------------------------------------------------------------------- 1 | accessing 2 | cooldownCounter: anObject 3 | cooldownCounter := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/cooldownCounter.st: -------------------------------------------------------------------------------- 1 | accessing 2 | cooldownCounter 3 | ^ cooldownCounter ifNil: [cooldownCounter := 0] -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/initialize.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize 3 | super initialize. 4 | self initializeTransformationMorph. 5 | self registerAtGame. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/reduceCooldownCounter.st: -------------------------------------------------------------------------------- 1 | game logic 2 | reduceCooldownCounter 3 | self cooldownCounter: (self cooldownCounter - 1 max: 0). -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/transformationMorph..st: -------------------------------------------------------------------------------- 1 | accessing 2 | transformationMorph: anObject 3 | transformationMorph := anObject -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/transformationMorph.st: -------------------------------------------------------------------------------- 1 | accessing 2 | transformationMorph 3 | ^ transformationMorph -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/turnLeft.st: -------------------------------------------------------------------------------- 1 | game logic 2 | turnLeft 3 | self transformationMorph angle: self transformationMorph angle + self class turningSpeed. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/GMDemoGameSpaceship.class/instance/turnRight.st: -------------------------------------------------------------------------------- 1 | game logic 2 | turnRight 3 | self transformationMorph angle: self transformationMorph angle - self class turningSpeed. -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #'GameMecha-DemoGame'! 2 | -------------------------------------------------------------------------------- /src/GameMecha-DemoGame.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMAnimatedImageLoaderAcceptance.class/methodProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : { 3 | }, 4 | "instance" : { 5 | "initialize" : "mt 10/19/2023 14:16" } } 6 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/class/collisionMorphExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | collisionMorphExtent 3 | ^ 50 @ 50 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/class/collisionMorphSpeed.st: -------------------------------------------------------------------------------- 1 | constants 2 | collisionMorphSpeed 3 | ^ 1 @ 0 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/class/worldExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | worldExtent 3 | ^ 150 @ 100 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/instance/clipPosition.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | clipPosition 3 | ^ self extent - self class collisionMorphExtent -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/instance/collisionHandler..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler: anObject 3 | collisionHandler := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/instance/collisionHandler.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler 3 | ^ collisionHandler ifNil: [collisionHandler := GMCollisionHandler new] -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/instance/collisionMorphCircle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorphCircle: anObject 3 | ^ collisionMorphCircle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/instance/collisionMorphRectangle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorphRectangle: anObject 3 | ^ collisionMorphRectangle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/instance/collisionMorphs..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorphs: anObject 3 | collisionMorphs := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionDetectionAcceptance.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | stepTime 3 | ^ 50 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTest.class/class/defaultExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | defaultExtent 3 | ^ 1500 @ 900 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTest.class/class/maxVelocity.st: -------------------------------------------------------------------------------- 1 | constants 2 | maxVelocity 3 | ^ 10 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTest.class/class/numberOfColliders.st: -------------------------------------------------------------------------------- 1 | constants 2 | numberOfColliders 3 | ^ 100 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTest.class/class/stepTime.st: -------------------------------------------------------------------------------- 1 | constants 2 | stepTime 3 | ^ 30 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTest.class/class/testMorphSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | testMorphSize 3 | ^ 30 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTest.class/instance/collisionHandler..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler: anObject 3 | collisionHandler := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTest.class/instance/collisionHandler.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler 3 | ^ collisionHandler ifNil: [collisionHandler := GMCollisionHandler new] -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/class/rotationSpeed.st: -------------------------------------------------------------------------------- 1 | constants 2 | rotationSpeed 3 | ^ 0.2 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/instance/move.st: -------------------------------------------------------------------------------- 1 | movement 2 | move 3 | self move: 1.0. -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/instance/parent..st: -------------------------------------------------------------------------------- 1 | accessing 2 | parent: anObject 3 | parent := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/instance/parent.st: -------------------------------------------------------------------------------- 1 | accessing 2 | parent 3 | ^ parent -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/instance/step.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | step 3 | self handleEdgeCollision; 4 | move; 5 | resolveCollisions. -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | stepTime 3 | ^ GMCollisionPerformanceTest stepTime -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/instance/velocity..st: -------------------------------------------------------------------------------- 1 | accessing 2 | velocity: anObject 3 | velocity := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMCollisionPerformanceTestEntity.class/instance/velocity.st: -------------------------------------------------------------------------------- 1 | accessing 2 | velocity 3 | ^ velocity -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMImageLoaderAcceptance.class/methodProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : { 3 | }, 4 | "instance" : { 5 | "initialize" : "NK 7/25/2018 19:46" } } 6 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/class/keysPerRow.st: -------------------------------------------------------------------------------- 1 | constants 2 | keysPerRow 3 | ^ 9 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/adaptExtent.st: -------------------------------------------------------------------------------- 1 | layout 2 | adaptExtent 3 | self extent: self adaptedWidth @ self adaptedHeight. -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/adaptedHeight.st: -------------------------------------------------------------------------------- 1 | layout 2 | adaptedHeight 3 | ^ self numberOfRows * GMKeyHandlerAcceptanceKeyMorph defaultExtent y -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/adaptedWidth.st: -------------------------------------------------------------------------------- 1 | layout 2 | adaptedWidth 3 | ^ self class keysPerRow * GMKeyHandlerAcceptanceKeyMorph defaultExtent x -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/enforceLayout.st: -------------------------------------------------------------------------------- 1 | layout 2 | enforceLayout 3 | self 4 | adaptExtent; 5 | layoutKeyMorphs; 6 | color: Color white. -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/keyMorphs..st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyMorphs: anObject 3 | keyMorphs := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/keyMorphs.st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyMorphs 3 | ^ keyMorphs ifNil: [keyMorphs := OrderedCollection new] -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/keyMorphsHeight.st: -------------------------------------------------------------------------------- 1 | layout 2 | keyMorphsHeight 3 | ^ GMKeyHandlerAcceptanceKeyMorph defaultExtent y -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/keyMorphsWidth.st: -------------------------------------------------------------------------------- 1 | layout 2 | keyMorphsWidth 3 | ^ GMKeyHandlerAcceptanceKeyMorph defaultExtent x -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptance.class/instance/numberOfRows.st: -------------------------------------------------------------------------------- 1 | layout 2 | numberOfRows 3 | ^ self class testedKeys size / self class keysPerRow ceiling -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/class/defaultExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | defaultExtent 3 | ^ 100 @ 60 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/label..st: -------------------------------------------------------------------------------- 1 | accessing 2 | label: aString 3 | self stringMorph 4 | contents: aString; 5 | center: self center. -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/listenToKey..st: -------------------------------------------------------------------------------- 1 | accessing 2 | listenToKey: anObject 3 | listenToKey := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/listenToKey.st: -------------------------------------------------------------------------------- 1 | accessing 2 | listenToKey 3 | ^ listenToKey -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/parent..st: -------------------------------------------------------------------------------- 1 | accessing 2 | parent: anObject 3 | parent := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/parent.st: -------------------------------------------------------------------------------- 1 | accessing 2 | parent 3 | ^ parent -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | stepTime 3 | ^ 33 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/stringMorph..st: -------------------------------------------------------------------------------- 1 | accessing 2 | stringMorph: anObject 3 | stringMorph := anObject -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMKeyHandlerAcceptanceKeyMorph.class/instance/stringMorph.st: -------------------------------------------------------------------------------- 1 | accessing 2 | stringMorph 3 | ^ stringMorph -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMMouseHandlingTutorial.class/class/defaultBorderWidth.st: -------------------------------------------------------------------------------- 1 | constants 2 | defaultBorderWidth 3 | ^ 0 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMMouseHandlingTutorial.class/class/defaultExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | defaultExtent 3 | ^ 400 @ 100 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMMouseHandlingTutorial.class/class/emphasizedBorderWidth.st: -------------------------------------------------------------------------------- 1 | constants 2 | emphasizedBorderWidth 3 | ^ 10 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMMouseHandlingTutorial.class/class/growthRate.st: -------------------------------------------------------------------------------- 1 | constants 2 | growthRate 3 | ^ 5 @ 5 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMMouseHandlingTutorial.class/instance/handlesMouseDown..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseDown: anEvent 3 | "Has to be overwritten and return true to handle MouseDown" 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/class/expandSpeed.st: -------------------------------------------------------------------------------- 1 | constants 2 | expandSpeed 3 | ^ 1.1 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/class/extent.st: -------------------------------------------------------------------------------- 1 | constants 2 | extent 3 | ^ 300@300 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/class/registeredResizeKeys.st: -------------------------------------------------------------------------------- 1 | constants 2 | registeredResizeKeys 3 | ^ {$e . $q} -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/class/shrinkSpeed.st: -------------------------------------------------------------------------------- 1 | constants 2 | shrinkSpeed 3 | ^ 0.9 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/class/speed.st: -------------------------------------------------------------------------------- 1 | constants 2 | speed 3 | ^ 10 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/instance/expand.st: -------------------------------------------------------------------------------- 1 | resizing 2 | expand 3 | self extent: self extent * self class expandSpeed. 4 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/instance/shrink.st: -------------------------------------------------------------------------------- 1 | resizing 2 | shrink 3 | self extent: self extent * self class shrinkSpeed. 4 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMRegisterKeyEventsAcceptance.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | stepTime 3 | ^ 33 -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/GMSoundLoaderAcceptance.class/methodProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : { 3 | }, 4 | "instance" : { 5 | "initialize" : "NK 7/25/2018 19:45" } } 6 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #'GameMecha-Examples'! 2 | -------------------------------------------------------------------------------- /src/GameMecha-Examples.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/class/cleanUp.st: -------------------------------------------------------------------------------- 1 | class initialization 2 | cleanUp 3 | KeyLookup := nil. -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/class/initialize.st: -------------------------------------------------------------------------------- 1 | class initialization 2 | initialize 3 | Smalltalk addToStartUpList: self. -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/class/keyLookup.st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyLookup 3 | ^ KeyLookup ifNil: [KeyLookup := self initializeKeyLookupOSIndependent] -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/class/startUp..st: -------------------------------------------------------------------------------- 1 | class initialization 2 | startUp: anObject 3 | self cleanUp. -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/gmIsKeyPressed..st: -------------------------------------------------------------------------------- 1 | key events 2 | gmIsKeyPressed: aCharacter 3 | ^ self pressedKeys includes: aCharacter -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesClickOrDrag..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesClickOrDrag: anEvent 3 | ^ false -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesGestureStart..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesGestureStart: anEvent 3 | ^ false -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesKeyboard..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesKeyboard: anEvent 3 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesMouseDown..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseDown: anEvent 3 | ^ false -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesMouseMove..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseMove: anEvent 3 | ^ false -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesMouseOver..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseOver: anEvent 3 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesMouseOverDragging..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseOverDragging: anEvent 3 | ^ false -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesMouseStillDown..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseStillDown: anEvent 3 | ^ false -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/handlesMouseWheel..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseWheel: anEvent 3 | ^ false -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/keyStroke.fromMorph..st: -------------------------------------------------------------------------------- 1 | event handling 2 | keyStroke: anEvent fromMorph: aMorph 3 | ^ self -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/keyToBlockMappings..st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyToBlockMappings: anObject 3 | keyToBlockMappings := anObject -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/keyToBlockMappings.st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyToBlockMappings 3 | ^ keyToBlockMappings ifNil: [keyToBlockMappings := Dictionary new] -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/keyToMethodMappings..st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyToMethodMappings: anObject 3 | keyToMethodMappings := anObject -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/keyToMethodMappings.st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyToMethodMappings 3 | ^ keyToMethodMappings ifNil: [keyToMethodMappings := Dictionary new] -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/keyboardFocusChange.fromMorph..st: -------------------------------------------------------------------------------- 1 | event handling 2 | keyboardFocusChange: aBoolean fromMorph: aMorph 3 | aBoolean ifFalse: [self pressedKeys: Set new]. -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/mouseDown.fromMorph..st: -------------------------------------------------------------------------------- 1 | event handling 2 | mouseDown: anEvent fromMorph: aMorph 3 | ^ self -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/mouseEnter.fromMorph..st: -------------------------------------------------------------------------------- 1 | event handling 2 | mouseEnter: anEvent fromMorph: aMorph 3 | ActiveHand newKeyboardFocus: aMorph. -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/mouseLeave.fromMorph..st: -------------------------------------------------------------------------------- 1 | event handling 2 | mouseLeave: anEvent fromMorph: aMorph 3 | ^ self -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/pressedKeys..st: -------------------------------------------------------------------------------- 1 | accessing 2 | pressedKeys: anObject 3 | pressedKeys := anObject -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/GMKeyHandler.class/instance/pressedKeys.st: -------------------------------------------------------------------------------- 1 | accessing 2 | pressedKeys 3 | ^ pressedKeys ifNil: [pressedKeys := Set new] -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/Morph.extension/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "Morph" } 3 | -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #'GameMecha-KeyHandling'! 2 | -------------------------------------------------------------------------------- /src/GameMecha-KeyHandling.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMAnimatedImageLoader.class/instance/isSupportedType..st: -------------------------------------------------------------------------------- 1 | loading 2 | isSupportedType: aFileExtension 3 | ^ GIFReadWriter typicalFileExtensions includes: aFileExtension -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMAnimatedImageLoader.class/instance/resourceFromDrive..st: -------------------------------------------------------------------------------- 1 | loading 2 | resourceFromDrive: aFilename 3 | ^ GIFReadWriter formsFromFileNamed: aFilename -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMImageLoader.class/README.md: -------------------------------------------------------------------------------- 1 | A GMImageLoader can handle images. It returns Forms and supports all typical file extensions. -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMImageLoader.class/instance/at.withSize..st: -------------------------------------------------------------------------------- 1 | accessing 2 | at: aString withSize: aPoint 3 | ^ (self at: aString) scaledIntoFormOfSize: aPoint -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMImageLoader.class/instance/resourceFromDrive..st: -------------------------------------------------------------------------------- 1 | loading 2 | resourceFromDrive: aFilename 3 | ^ Form fromFileNamed: (FileDirectory uri: aFilename) fullName -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/at..st: -------------------------------------------------------------------------------- 1 | accessing 2 | at: aString 3 | ^ self cache at: (self convertToRelativePath: aString) ifAbsent: [self error: #ResourceNotLoaded] -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/cache..st: -------------------------------------------------------------------------------- 1 | accessing 2 | cache: anObject 3 | cache := anObject -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/cache.st: -------------------------------------------------------------------------------- 1 | accessing 2 | cache 3 | ^ cache ifNil: [cache := Dictionary new] -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/defaultNameFunction.st: -------------------------------------------------------------------------------- 1 | loading 2 | defaultNameFunction 3 | ^ [:foldername :filename | self convertToRelativePath: foldername, filename] -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/flushCache.st: -------------------------------------------------------------------------------- 1 | accessing 2 | flushCache 3 | self cache: Dictionary new. -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/isSupportedType..st: -------------------------------------------------------------------------------- 1 | loading 2 | isSupportedType: aFileExtension 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/removeFileendingFrom..st: -------------------------------------------------------------------------------- 1 | filesystem 2 | removeFileendingFrom: aFilename 3 | ^ aFilename copyUpToLast: FileDirectory extensionDelimiter -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMResourceLoader.class/instance/resourceFromDrive..st: -------------------------------------------------------------------------------- 1 | loading 2 | resourceFromDrive: aFilename 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/at..st: -------------------------------------------------------------------------------- 1 | accessing 2 | at: aString 3 | ^ (super at: aString) 4 | loudness: self loudness; 5 | yourself -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/currentMusic..st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentMusic: anObject 3 | currentMusic := anObject -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/currentMusic.st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentMusic 3 | ^ currentMusic ifNil: [currentMusic := RepeatingSound new] -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/isSupportedType..st: -------------------------------------------------------------------------------- 1 | loading 2 | isSupportedType: aFileExtension 3 | ^ self supportedTypes keys includes: aFileExtension -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/loudness..st: -------------------------------------------------------------------------------- 1 | accessing 2 | loudness: anObject 3 | self currentMusic loudness: anObject. 4 | loudness := anObject -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/loudness.st: -------------------------------------------------------------------------------- 1 | accessing 2 | loudness 3 | ^ loudness ifNil: [loudness := 1.0] -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/pauseMusic.st: -------------------------------------------------------------------------------- 1 | playing sounds 2 | pauseMusic 3 | self currentMusic pause. -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/playSound..st: -------------------------------------------------------------------------------- 1 | playing sounds 2 | playSound: aString 3 | (self at: aString) play. -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/resumePlayingMusic.st: -------------------------------------------------------------------------------- 1 | playing sounds 2 | resumePlayingMusic 3 | self currentMusic resumePlaying. -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/GMSoundLoader.class/instance/samplesMethodName..st: -------------------------------------------------------------------------------- 1 | storing 2 | samplesMethodName: aSelector 3 | ^ (aSelector asString , 'Samples') asSymbol -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #'GameMecha-ResourceLoading'! 2 | -------------------------------------------------------------------------------- /src/GameMecha-ResourceLoading.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test runs all acceptance tests automatically without opening morphs or playing sounds. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/instance/testAnimatedImageLoaderAcceptance.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testAnimatedImageLoaderAcceptance 3 | GMAnimatedImageLoaderAcceptance new abandon. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/instance/testCollisionDetectionAcceptance.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testCollisionDetectionAcceptance 3 | GMCollisionDetectionAcceptance new abandon. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/instance/testImageLoaderAcceptance.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testImageLoaderAcceptance 3 | GMImageLoaderAcceptance new abandon. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/instance/testKeyHandlerAcceptance.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testKeyHandlerAcceptance 3 | GMKeyHandlerAcceptance new abandon. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/instance/testMouseHandlingTutorial.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testMouseHandlingTutorial 3 | GMMouseHandlingTutorial new abandon. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/instance/testRegisterKeyEventsAcceptance.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testRegisterKeyEventsAcceptance 3 | GMRegisterKeyEventsAcceptance new abandon. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAcceptanceTestTest.class/instance/testSoundLoaderAcceptance.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testSoundLoaderAcceptance 3 | GMSoundLoaderAcceptance new. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAnimatedImageLoaderTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test includes tests for the GMAnimatedImageLoader. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAnimatedImageLoaderTest.class/class/exampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleFilepath 3 | ^ GMTestResourceFixtures testImagePathGIF -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAnimatedImageLoaderTest.class/class/exampleResource.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleResource 3 | ^ (GMTestResourceFixtures squeakGIFReadWriter) -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAnimatedImageLoaderTest.class/class/secondExampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | secondExampleFilepath 3 | ^ GMTestResourceFixtures testImagePathGIF2 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAnimatedImageLoaderTest.class/class/supportedTypes.st: -------------------------------------------------------------------------------- 1 | constants 2 | supportedTypes 3 | ^ OrderedCollection newFrom: {'gif'} -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMAnimatedImageLoaderTest.class/instance/assertRessourceType..st: -------------------------------------------------------------------------------- 1 | testing 2 | assertRessourceType: aBlock 3 | self assert: [aBlock value class wantsToHandleGIFs]. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test tests collision detection between two circles as well a circle and an axis aligned rectangle. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/class/bigCircleDiameter.st: -------------------------------------------------------------------------------- 1 | constants 2 | bigCircleDiameter 3 | ^ 100 @ 100 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/class/circleEdgeNoCollisionOffset.st: -------------------------------------------------------------------------------- 1 | constants 2 | circleEdgeNoCollisionOffset 3 | ^ self circleEdgeOffset + (3 @ 3) -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/class/circleEdgeOffset.st: -------------------------------------------------------------------------------- 1 | constants 2 | circleEdgeOffset 3 | ^ 16 @ 16 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/class/rectangleExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | rectangleExtent 3 | ^ 50 @ 50 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/class/smallCircleDiameter.st: -------------------------------------------------------------------------------- 1 | constants 2 | smallCircleDiameter 3 | ^ 50 @ 50 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/instance/bigCircle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | bigCircle: anObject 3 | bigCircle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/instance/rectangle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | rectangle: anObject 3 | rectangle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | running 2 | setUp 3 | self collisionHandler addCollisionMorphs: {self bigCircle. self smallCircle. self rectangle}. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/instance/smallCircle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | smallCircle: anObject 3 | smallCircle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCircleCollisionTest.class/instance/strategy.st: -------------------------------------------------------------------------------- 1 | accessing 2 | strategy 3 | ^ GMCircleCollisionDetectionShape new -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/src/GameMecha-Test.package/GMClickEvent.class/README.md -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/class/atPosition..st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | atPosition: aPos 3 | ^ GMClickEvent new position: aPos; yourself. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/instance/cursorPoint.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | cursorPoint 3 | ^self position -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/instance/isMouse.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | isMouse 3 | ^true -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/instance/position..st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | position: aPos 3 | position := aPos. 4 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/instance/position.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | position 3 | ^position -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/instance/redButtonPressed.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | redButtonPressed 3 | ^false -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/instance/shiftPressed.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | shiftPressed 3 | ^false -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMClickEvent.class/instance/yellowButtonPressed.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | yellowButtonPressed 3 | ^true -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionAutomatedAcceptanceTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test contains auto generated tests from GMCollisionTestGenerator. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionAutomatedAcceptanceTest.class/class/collisionSelectors.st: -------------------------------------------------------------------------------- 1 | constants 2 | collisionSelectors 3 | ^ {#testAcceptance220650680. 4 | } -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionHandlerTest.class/instance/collisionHandler..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler: anObject 3 | collisionHandler := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionHandlerTest.class/instance/collisionHandler.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler 3 | ^ collisionHandler ifNil: [collisionHandler := GMCollisionHandler new] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionHandlerTest.class/instance/collisionMorph..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorph: anObject 3 | collisionMorph := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionHandlerTest.class/instance/collisionMorph.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorph 3 | ^ collisionMorph ifNil: [collisionMorph := Morph new] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionShapeTest.class/README.md: -------------------------------------------------------------------------------- 1 | This abstract test provides functionality for testing specific the GMCollisionDetectionShape subclasses. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionShapeTest.class/class/isAbstract.st: -------------------------------------------------------------------------------- 1 | testing 2 | isAbstract 3 | ^ super isAbstract or: [self name = #GMCollisionShapeTest] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionShapeTest.class/instance/strategy.st: -------------------------------------------------------------------------------- 1 | accessing 2 | strategy 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionShapeTest.class/instance/tearDown.st: -------------------------------------------------------------------------------- 1 | running 2 | tearDown 3 | self collisionHandler removeAllMorphs. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTest.class/README.md: -------------------------------------------------------------------------------- 1 | This abstract test provides functionality for testing collision detection. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTest.class/class/isAbstract.st: -------------------------------------------------------------------------------- 1 | testing 2 | isAbstract 3 | ^ super isAbstract or: [self name = #GMCollisionTest] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTest.class/instance/collisionHandler..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler: anObject 3 | collisionHandler := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTest.class/instance/collisionHandler.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler 3 | ^ collisionHandler ifNil: [collisionHandler := GMCollisionHandler new] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/class/open.st: -------------------------------------------------------------------------------- 1 | instance creation 2 | open 3 | ^ self new openInWindowLabeled: 'Example ', self className -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/buttonName.action..st: -------------------------------------------------------------------------------- 1 | initialization 2 | buttonName: aString action: aSymbol 3 | 4 | ^ self buttonName: aString action: aSymbol target: self -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/collisionChecks..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionChecks: anObject 3 | collisionChecks := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/collisionChecks.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionChecks 3 | ^ collisionChecks ifNil: [collisionChecks := OrderedCollection new] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/collisionDescriptions.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionDescriptions 3 | ^ self findWidgetOfKind: PHDescriptionList -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/collisionMorph..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorph: anObject 3 | collisionMorph := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/generatedTestCategory.st: -------------------------------------------------------------------------------- 1 | storing 2 | generatedTestCategory 3 | ^ 'test cases' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/initialColor.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialColor 3 | 4 | ^ Color gray 5 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/initialExtent.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialExtent 3 | ^ 700 @ 900 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/initialize.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize 3 | super initialize. 4 | self initializeLayout. 5 | self addMorphBack: self collisionMorph. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/methodSelectorStringForCheck..st: -------------------------------------------------------------------------------- 1 | storing 2 | methodSelectorStringForCheck: aCheck 3 | ^ '#', (self methodStringForCheck: aCheck) -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/methodStringForCheck..st: -------------------------------------------------------------------------------- 1 | storing 2 | methodStringForCheck: aCheck 3 | ^ 'testAcceptance', aCheck hash asString -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/resetChecks.st: -------------------------------------------------------------------------------- 1 | collision checks 2 | resetChecks 3 | self collisionChecks: OrderedCollection new. 4 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGenerator.class/instance/save.st: -------------------------------------------------------------------------------- 1 | collision checks 2 | save 3 | self storeChecksInInstanceOf: GMCollisionAutomatedAcceptanceTest. 4 | self resetChecks. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/class/collisionMorphExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | collisionMorphExtent 3 | ^ 100 @ 100 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/class/crWithIndent.st: -------------------------------------------------------------------------------- 1 | constants 2 | crWithIndent 3 | ^ String cr, String tab, String tab -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/collisionHandler..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler: anObject 3 | collisionHandler := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/collisionHandler.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionHandler 3 | ^ collisionHandler ifNil: [collisionHandler := GMCollisionHandler new] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/collisionMorphs..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorphs: anObject 3 | collisionMorphs := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/collisionMorphs.st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionMorphs 3 | ^ collisionMorphs ifNil: [collisionMorphs := OrderedCollection new] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/collisionShapeDictionary..st: -------------------------------------------------------------------------------- 1 | accessing 2 | collisionShapeDictionary: anObject 3 | collisionShapeDictionary := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/shouldCollide..st: -------------------------------------------------------------------------------- 1 | accessing 2 | shouldCollide: anObject 3 | shouldCollide := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/shouldCollide.st: -------------------------------------------------------------------------------- 1 | accessing 2 | shouldCollide 3 | ^ shouldCollide -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMCollisionTestGeneratorMorphContainer.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | stepping and presenter 2 | stepTime 3 | ^ 16 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test includes tests for the GMImageLoader. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/class/exampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleFilepath 3 | ^ GMTestResourceFixtures testImagePathPNG -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/class/exampleResource.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleResource 3 | ^ GMTestResourceFixtures squeakPNG -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/class/secondExampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | secondExampleFilepath 3 | ^ GMTestResourceFixtures testImagePathJPEG -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/class/supportedTypes.st: -------------------------------------------------------------------------------- 1 | constants 2 | supportedTypes 3 | ^ OrderedCollection newFrom: {'jpeg' . 'png'} -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/class/testSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | testSize 3 | ^ 1000 @ 1000 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/instance/assertRessourceType..st: -------------------------------------------------------------------------------- 1 | testing 2 | assertRessourceType: aBlock 3 | self assert: [aBlock value isForm]. 4 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMImageLoaderTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | running 2 | setUp 3 | super setUp. 4 | self resourceManager: GMImageLoader new. 5 | GMTestResourceFixtures createImagesOnDisk. 6 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test includes tests for the GMKeyHandler like requesting whether a specific key is pressed or registration of blocks and methods to a specific key. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/class/assignedValue.st: -------------------------------------------------------------------------------- 1 | constants 2 | assignedValue 3 | ^ 1 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/currentTestValue..st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentTestValue: anObject 3 | currentTestValue := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/currentTestValue.st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentTestValue 3 | ^ currentTestValue -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/keyCharacter.st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyCharacter 3 | ^ $s -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/keyMorph..st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyMorph: anObject 3 | keyMorph := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/keyMorph.st: -------------------------------------------------------------------------------- 1 | accessing 2 | keyMorph 3 | ^ keyMorph ifNil: [keyMorph := Morph new 4 | gmRegisterToKeyHandler; 5 | yourself] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/registrationTestSetCurrentValue.st: -------------------------------------------------------------------------------- 1 | accessing 2 | registrationTestSetCurrentValue 3 | self currentTestValue: self class assignedValue. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/resetCurrentTestValue.st: -------------------------------------------------------------------------------- 1 | accessing 2 | resetCurrentTestValue 3 | self currentTestValue: nil. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/setCurrentTestValue.st: -------------------------------------------------------------------------------- 1 | accessing 2 | setCurrentTestValue 3 | self currentTestValue: self class assignedValue. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMKeyHandlerTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | running 2 | setUp 3 | self resetCurrentTestValue. 4 | GMKeyHandler cleanUp. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMMockHand.class/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/src/GameMecha-Test.package/GMMockHand.class/README.md -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMMockHand.class/instance/keyboardFocus.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | keyboardFocus 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMMockHand.class/methodProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : { 3 | }, 4 | "instance" : { 5 | "keyboardFocus" : "ek 9/13/2024 14:31" } } 6 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRectangleCollisionTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test tests collision between two axis aligned rectangles. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRectangleCollisionTest.class/class/bigRectangleExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | bigRectangleExtent 3 | ^ 200 @ 100 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRectangleCollisionTest.class/class/smallRectangleExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | smallRectangleExtent 3 | ^ 50 @ 50 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRectangleCollisionTest.class/instance/bigRectangle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | bigRectangle: anObject 3 | bigRectangle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRectangleCollisionTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | running 2 | setUp 3 | self collisionHandler addCollisionMorphs: {self bigRectangle. self smallRectangle}. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRectangleCollisionTest.class/instance/smallRectangle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | smallRectangle: anObject 3 | smallRectangle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRectangleCollisionTest.class/instance/strategy.st: -------------------------------------------------------------------------------- 1 | accessing 2 | strategy 3 | ^ GMRectangleCollisionDetectionShape new -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoaderTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test includes basic tests for the GMResourceLoader. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoaderTest.class/class/exampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleFilepath 3 | ^ GMTestResourceFixtures testTextPath -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoaderTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | running 2 | setUp 3 | super setUp. 4 | self resourceManager: GMResourceLoader new. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/README.md: -------------------------------------------------------------------------------- 1 | This abstract test provides functionality for testing resource loading without lasting side effects. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/class/exampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleFilepath 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/class/isAbstract.st: -------------------------------------------------------------------------------- 1 | testing 2 | isAbstract 3 | ^ super isAbstract or: [self name = #GMResourceLoadingTest] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/instance/loadAll.st: -------------------------------------------------------------------------------- 1 | resource loading 2 | loadAll 3 | self resourceManager loadAllResourcesFromDrive: GMTestResourceFixtures testResourceFolder. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/instance/resourceManager..st: -------------------------------------------------------------------------------- 1 | accessing 2 | resourceManager: anObject 3 | resourceManager := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/instance/resourceManager.st: -------------------------------------------------------------------------------- 1 | accessing 2 | resourceManager 3 | ^ resourceManager -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | running 2 | setUp 3 | GMTestResourceFixtures clearResourcesOnDisk. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMResourceLoadingTest.class/instance/tearDown.st: -------------------------------------------------------------------------------- 1 | running 2 | tearDown 3 | GMTestResourceFixtures clearResourcesOnDisk. 4 | self class class removeSelector: #resourceIntoMethodTarget. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/circleDiameter.st: -------------------------------------------------------------------------------- 1 | constants 2 | circleDiameter 3 | ^ 50 @ 50 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/circleOffsetCollision.st: -------------------------------------------------------------------------------- 1 | constants 2 | circleOffsetCollision 3 | ^ 15 @ -120 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/circleOffsetNoCollision.st: -------------------------------------------------------------------------------- 1 | constants 2 | circleOffsetNoCollision 3 | ^ 22 @ -120 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rectangleExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | rectangleExtent 3 | ^ 50 @ 50 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rectangleOffsetCollision.st: -------------------------------------------------------------------------------- 1 | constants 2 | rectangleOffsetCollision 3 | ^ 40 @ -110 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rectangleOffsetNoCollision.st: -------------------------------------------------------------------------------- 1 | constants 2 | rectangleOffsetNoCollision 3 | ^ 45 @ -115 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rotatedRectangleAngle.st: -------------------------------------------------------------------------------- 1 | constants 2 | rotatedRectangleAngle 3 | ^ Float pi / 4 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rotatedRectangleExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | rotatedRectangleExtent 3 | ^ 150 @ 100 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rotatedRectangleTallAngle.st: -------------------------------------------------------------------------------- 1 | constants 2 | rotatedRectangleTallAngle 3 | ^ Float pi / 8 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rotatedRectangleTallExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | rotatedRectangleTallExtent 3 | ^ 300 @ 50 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rotatedRectangleTallOffsetCollision.st: -------------------------------------------------------------------------------- 1 | constants 2 | rotatedRectangleTallOffsetCollision 3 | ^ -50 @ -225 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/rotatedRectangleTallOffsetNoCollision.st: -------------------------------------------------------------------------------- 1 | constants 2 | rotatedRectangleTallOffsetNoCollision 3 | ^ -50 @ -232 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/class/scaledRotatedRectangleScale.st: -------------------------------------------------------------------------------- 1 | constants 2 | scaledRotatedRectangleScale 3 | ^ 2 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/instance/circle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | circle: anObject 3 | circle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/instance/rectangle..st: -------------------------------------------------------------------------------- 1 | accessing 2 | rectangle: anObject 3 | rectangle := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/instance/rotatedRectangleShell..st: -------------------------------------------------------------------------------- 1 | accessing 2 | rotatedRectangleShell: anObject 3 | rotatedRectangleShell := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/instance/rotatedRectangleTallShell..st: -------------------------------------------------------------------------------- 1 | accessing 2 | rotatedRectangleTallShell: anObject 3 | rotatedRectangleTallShell := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/instance/scaledRotatedRectangleShell..st: -------------------------------------------------------------------------------- 1 | accessing 2 | scaledRotatedRectangleShell: anObject 3 | scaledRotatedRectangleShell := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | running 2 | setUp 3 | self collisionHandler addCollisionMorphs: {self circle. self rectangle}. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMRotatedRectangleCollisionTest.class/instance/strategy.st: -------------------------------------------------------------------------------- 1 | accessing 2 | strategy 3 | ^ GMRotatedRectangleCollisionDetectionShape new -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSoundLoaderTest.class/README.md: -------------------------------------------------------------------------------- 1 | This test includes tests for the GMSoundLoaderTest. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSoundLoaderTest.class/class/exampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleFilepath 3 | ^ GMTestResourceFixtures testSoundPathWAV -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSoundLoaderTest.class/class/exampleResource.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleResource 3 | ^ GMTestResourceFixtures squeakSampledSound -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSoundLoaderTest.class/class/secondExampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | secondExampleFilepath 3 | ^ GMTestResourceFixtures testSoundPathAIFF -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSoundLoaderTest.class/class/supportedTypes.st: -------------------------------------------------------------------------------- 1 | constants 2 | supportedTypes 3 | ^ OrderedCollection newFrom: {'aiff' . 'wav'} -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSoundLoaderTest.class/instance/assertRessourceType..st: -------------------------------------------------------------------------------- 1 | testing 2 | assertRessourceType: aBlock 3 | self assert: [aBlock value class = SampledSound]. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSoundLoaderTest.class/instance/tearDown.st: -------------------------------------------------------------------------------- 1 | running 2 | tearDown 3 | super tearDown. 4 | self class class removeSelector: #resourceIntoMethodTargetSamples. 5 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSpecificLoadingTest.class/README.md: -------------------------------------------------------------------------------- 1 | This abstract test defines template tests for the specific resource loading functionality and provides helper functions. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSpecificLoadingTest.class/class/exampleResource.st: -------------------------------------------------------------------------------- 1 | constants 2 | exampleResource 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSpecificLoadingTest.class/class/isAbstract.st: -------------------------------------------------------------------------------- 1 | testing 2 | isAbstract 3 | ^ super isAbstract or: [self name = #GMSpecificLoadingTest] -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSpecificLoadingTest.class/class/secondExampleFilepath.st: -------------------------------------------------------------------------------- 1 | constants 2 | secondExampleFilepath 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSpecificLoadingTest.class/class/supportedTypes.st: -------------------------------------------------------------------------------- 1 | constants 2 | supportedTypes 3 | self subclassResponsibility -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMSpecificLoadingTest.class/instance/assertRessourceType..st: -------------------------------------------------------------------------------- 1 | testing 2 | assertRessourceType: aBlock 3 | self subclassResponsibility. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/README.md: -------------------------------------------------------------------------------- 1 | This class provides fixtures as well as helper functions for creating and storing files. 2 | Fixtures include stored resources and filenames. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/clearResourcesOnDisk..st: -------------------------------------------------------------------------------- 1 | utility 2 | clearResourcesOnDisk: aFoldername 3 | (FileDirectory uri: (aFoldername)) assureExistence recursiveDelete. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/clearResourcesOnDisk.st: -------------------------------------------------------------------------------- 1 | utility 2 | clearResourcesOnDisk 3 | self clearResourcesOnDisk: self testResourceFolder. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/fileName.st: -------------------------------------------------------------------------------- 1 | utility 2 | fileName 3 | ^ 'squeak' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImageNameGIF.st: -------------------------------------------------------------------------------- 1 | animatedImages 2 | testImageNameGIF 3 | ^ self fileName, '.gif' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImageNameGIF2.st: -------------------------------------------------------------------------------- 1 | animatedImages 2 | testImageNameGIF2 3 | ^ self fileName, '2.gif' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImageNameJPEG.st: -------------------------------------------------------------------------------- 1 | images 2 | testImageNameJPEG 3 | ^ self fileName, '.jpg' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImageNamePNG.st: -------------------------------------------------------------------------------- 1 | images 2 | testImageNamePNG 3 | ^ self fileName , '.png' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImagePathGIF.st: -------------------------------------------------------------------------------- 1 | animatedImages 2 | testImagePathGIF 3 | ^ self testResourceFolder , self testImageNameGIF -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImagePathGIF2.st: -------------------------------------------------------------------------------- 1 | animatedImages 2 | testImagePathGIF2 3 | ^ self testResourceFolder , self testImageNameGIF2 -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImagePathJPEG.st: -------------------------------------------------------------------------------- 1 | images 2 | testImagePathJPEG 3 | ^ self testResourceFolder , self testImageNameJPEG -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testImagePathPNG.st: -------------------------------------------------------------------------------- 1 | images 2 | testImagePathPNG 3 | ^ self testResourceFolder , self testImageNamePNG -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testResourceFolder.st: -------------------------------------------------------------------------------- 1 | utility 2 | testResourceFolder 3 | ^ 'testingResources', FileDirectory slash -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testSoundNameAIFF.st: -------------------------------------------------------------------------------- 1 | sounds 2 | testSoundNameAIFF 3 | ^ self fileName , '.aiff' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testSoundNameWAV.st: -------------------------------------------------------------------------------- 1 | sounds 2 | testSoundNameWAV 3 | ^ self fileName , '.wav' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testSoundPathAIFF.st: -------------------------------------------------------------------------------- 1 | sounds 2 | testSoundPathAIFF 3 | ^ self testResourceFolder , self testSoundNameAIFF -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testSoundPathWAV.st: -------------------------------------------------------------------------------- 1 | sounds 2 | testSoundPathWAV 3 | ^ self testResourceFolder , self testSoundNameWAV -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testText.st: -------------------------------------------------------------------------------- 1 | text 2 | testText 3 | ^ 'this is a test text' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testTextName.st: -------------------------------------------------------------------------------- 1 | text 2 | testTextName 3 | ^ self fileName , '.txt' -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTestResourceFixtures.class/class/testTextPath.st: -------------------------------------------------------------------------------- 1 | text 2 | testTextPath 3 | ^ self testResourceFolder , self testTextName -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTileEditorTest.class/README.md: -------------------------------------------------------------------------------- 1 | This tests the functionality of the Tile Editor -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTileEditorTest.class/instance/editor..st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor: anObject 3 | 4 | editor := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTileEditorTest.class/instance/editor.st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor 3 | "the editor instance that is used for the tests" 4 | 5 | ^ editor -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTileEditorTest.class/instance/fileUUID..st: -------------------------------------------------------------------------------- 1 | accessing 2 | fileUUID: anObject 3 | 4 | fileUUID := anObject -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTileEditorTest.class/instance/fileUUID.st: -------------------------------------------------------------------------------- 1 | accessing 2 | fileUUID 3 | "the file name of the test map file used for import tests" 4 | 5 | ^ fileUUID -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMTileEditorTest.class/instance/setUp.st: -------------------------------------------------------------------------------- 1 | helper 2 | setUp 3 | 4 | self editor ifNil: [self editor: GMTEEditor new]. 5 | self fileUUID: UUID new asString -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMUtilitiesTest.class/instance/testCollisionGeneratorAcceptance.st: -------------------------------------------------------------------------------- 1 | test cases 2 | testCollisionGeneratorAcceptance 3 | GMCollisionTestGenerator new abandon. -------------------------------------------------------------------------------- /src/GameMecha-Test.package/GMUtilitiesTest.class/methodProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : { 3 | }, 4 | "instance" : { 5 | "testCollisionGeneratorAcceptance" : "ek 12/19/2019 16:26" } } 6 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #'GameMecha-Test'! 2 | -------------------------------------------------------------------------------- /src/GameMecha-Test.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/.filetree: -------------------------------------------------------------------------------- 1 | { 2 | "noMethodMetaData" : true, 3 | "separateMethodMetaAndSource" : false, 4 | "useCypressPropertiesFile" : true } 5 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEAddLayerCommand.class/README.md: -------------------------------------------------------------------------------- 1 | Command that adds a new layer -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEAddLayerCommand.class/class/withEditor..st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | withEditor: anEditor 3 | 4 | ^ (self new) 5 | editor: anEditor; 6 | yourself -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEAddLayerCommand.class/instance/do.st: -------------------------------------------------------------------------------- 1 | execution 2 | do 3 | 4 | self editor addTilemapLayer -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEAddLayerCommand.class/instance/editor..st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor: anObject 3 | 4 | editor := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEAddLayerCommand.class/instance/editor.st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor 3 | 4 | ^ editor -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEAddLayerCommand.class/instance/undo.st: -------------------------------------------------------------------------------- 1 | execution 2 | undo 3 | 4 | self editor deleteTilemapLayers: {self editor getLayerList size} -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBlendLayersCommand.class/README.md: -------------------------------------------------------------------------------- 1 | Command that blends a set of layers together into one -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBlendLayersCommand.class/instance/do.st: -------------------------------------------------------------------------------- 1 | execution 2 | do 3 | 4 | self editor blendLayers: self layers -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/README.md: -------------------------------------------------------------------------------- 1 | A GMTEBrush is responsible for returning a set of indices that are selected by the user and selecting the interchangeable algorithm for the execution. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/class/borderingOffsets.st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | borderingOffsets 3 | 4 | ^ {(-1)@0. 0@(-1). 1@0. 0@1} -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/currentBrush..st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentBrush: anObject 3 | 4 | currentBrush := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/currentBrush.st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentBrush 3 | 4 | ^ currentBrush -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/currentMatrixIndex..st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentMatrixIndex: anObject 3 | 4 | currentMatrixIndex := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/currentMatrixIndex.st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentMatrixIndex 3 | 4 | ^ currentMatrixIndex -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/firstMatrixIndex..st: -------------------------------------------------------------------------------- 1 | accessing 2 | firstMatrixIndex: anObject 3 | 4 | firstMatrixIndex := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/firstMatrixIndex.st: -------------------------------------------------------------------------------- 1 | accessing 2 | firstMatrixIndex 3 | 4 | ^ firstMatrixIndex -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/initialize.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize 3 | 4 | super initialize. 5 | self 6 | resetOutputSet; 7 | radius: 1 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/layer..st: -------------------------------------------------------------------------------- 1 | accessing 2 | layer: anObject 3 | 4 | layer := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/layer.st: -------------------------------------------------------------------------------- 1 | accessing 2 | layer 3 | 4 | ^ layer -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/outputSet..st: -------------------------------------------------------------------------------- 1 | accessing 2 | outputSet: anObject 3 | 4 | outputSet := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/outputSet.st: -------------------------------------------------------------------------------- 1 | accessing 2 | outputSet 3 | 4 | ^ outputSet -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/radius..st: -------------------------------------------------------------------------------- 1 | accessing 2 | radius: anObject 3 | 4 | radius := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/radius.st: -------------------------------------------------------------------------------- 1 | accessing 2 | radius 3 | 4 | ^ radius -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/resetOutputSet.st: -------------------------------------------------------------------------------- 1 | brushHelper 2 | resetOutputSet 3 | 4 | self outputSet: Set new -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/selectFillBrush.st: -------------------------------------------------------------------------------- 1 | select 2 | selectFillBrush 3 | 4 | self currentBrush: [self fillBrush] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/selectLineBrush.st: -------------------------------------------------------------------------------- 1 | select 2 | selectLineBrush 3 | 4 | self currentBrush: [self lineBrush] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/selectRadiusBrush.st: -------------------------------------------------------------------------------- 1 | select 2 | selectRadiusBrush 3 | 4 | self currentBrush: [self radiusBrush] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEBrush.class/instance/selectRectangleBrush.st: -------------------------------------------------------------------------------- 1 | select 2 | selectRectangleBrush 3 | 4 | self currentBrush: [self rectangleBrush] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEButtonGroup.class/README.md: -------------------------------------------------------------------------------- 1 | Buttons can join a GMTEButtonGroup, which then ensures that only one of them is active at a time. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEButtonGroup.class/instance/deselectAllExceptNamed..st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | deselectAllExceptNamed: aName 3 | 4 | self deselectAllExcept: (self at: aName) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEButtonGroup.class/instance/register.as..st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | register: aButton as: aString 3 | 4 | self at: aString put: aButton -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEButtonGroup.class/instance/singleSelect..st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | singleSelect: aButton 3 | 4 | aButton select. 5 | self deselectAllExcept: aButton -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEButtonGroup.class/instance/singleSelectNamed..st: -------------------------------------------------------------------------------- 1 | as yet unclassified 2 | singleSelectNamed: aName 3 | 4 | self singleSelect: (self at: aName) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECommand.class/README.md: -------------------------------------------------------------------------------- 1 | Subclasses implement a do: and undo: method to undo operations in the Tile Editor -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECommand.class/instance/do.st: -------------------------------------------------------------------------------- 1 | execution 2 | do 3 | 4 | self subclassResponsibility -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECommand.class/instance/undo.st: -------------------------------------------------------------------------------- 1 | execution 2 | undo 3 | 4 | self subclassResponsibility -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECommand.class/methodProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : { 3 | }, 4 | "instance" : { 5 | "do" : "Alex M 6/28/2024 01:43", 6 | "undo" : "Alex M 6/28/2024 01:43" } } 7 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/aspectRatio.st: -------------------------------------------------------------------------------- 1 | conversion 2 | aspectRatio 3 | 4 | ^ self width / self height -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/definitionArea..st: -------------------------------------------------------------------------------- 1 | accessing 2 | definitionArea: anObject 3 | 4 | definitionArea := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/definitionArea.st: -------------------------------------------------------------------------------- 1 | accessing 2 | definitionArea 3 | 4 | ^ definitionArea -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/height..st: -------------------------------------------------------------------------------- 1 | accessing 2 | height: anObject 3 | 4 | height := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/height.st: -------------------------------------------------------------------------------- 1 | accessing 2 | height 3 | 4 | ^ height -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/origin..st: -------------------------------------------------------------------------------- 1 | accessing 2 | origin: anObject 3 | 4 | origin := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/origin.st: -------------------------------------------------------------------------------- 1 | accessing 2 | origin 3 | 4 | ^ origin -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/valueArea..st: -------------------------------------------------------------------------------- 1 | accessing 2 | valueArea: anObject 3 | 4 | valueArea := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/valueArea.st: -------------------------------------------------------------------------------- 1 | accessing 2 | valueArea 3 | 4 | ^ valueArea -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/width..st: -------------------------------------------------------------------------------- 1 | accessing 2 | width: anObject 3 | 4 | width := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTECoordinateSystem.class/instance/width.st: -------------------------------------------------------------------------------- 1 | accessing 2 | width 3 | 4 | ^ width -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEDeleteLayersCommand.class/README.md: -------------------------------------------------------------------------------- 1 | Command that deletes a set of layers -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEDeleteLayersCommand.class/instance/do.st: -------------------------------------------------------------------------------- 1 | execution 2 | do 3 | 4 | self editor deleteTilemapLayers: self layers 5 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEDeleteLayersCommand.class/instance/layers..st: -------------------------------------------------------------------------------- 1 | accessing 2 | layers: anObject 3 | 4 | layers := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEDeleteLayersCommand.class/instance/layers.st: -------------------------------------------------------------------------------- 1 | accessing 2 | layers 3 | 4 | ^ layers -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEDeleteLayersCommand.class/instance/undo.st: -------------------------------------------------------------------------------- 1 | execution 2 | undo 3 | 4 | self editor addTilemapLayersAt: self layers. 5 | self restoreTiles -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/README.md: -------------------------------------------------------------------------------- 1 | Command that records changes of tiles in the tilemap -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/currentSprites..st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentSprites: anObject 3 | 4 | currentSprites := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/currentSprites.st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentSprites 3 | 4 | ^ currentSprites -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/do.st: -------------------------------------------------------------------------------- 1 | execution 2 | do 3 | 4 | self placeTilesFromList: self currentSprites -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/editor..st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor: anObject 3 | 4 | editor := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/editor.st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor 3 | 4 | ^ editor -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/previousSprites..st: -------------------------------------------------------------------------------- 1 | accessing 2 | previousSprites: anObject 3 | 4 | previousSprites := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/previousSprites.st: -------------------------------------------------------------------------------- 1 | accessing 2 | previousSprites 3 | 4 | ^ previousSprites -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/tileMap..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMap: anObject 3 | 4 | tileMap := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/tileMap.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMap 3 | 4 | ^ tileMap -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditTilesCommand.class/instance/undo.st: -------------------------------------------------------------------------------- 1 | execution 2 | undo 3 | 4 | self placeTilesFromList: self previousSprites -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/editorMinimumExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | editorMinimumExtent 3 | "Minimum extent of the tile editor" 4 | 5 | ^ RealEstateAgent scaleFactor * (700 @ 400) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/getInputFieldSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | getInputFieldSize 3 | "Attribute input field width" 4 | 5 | ^ (TextStyle defaultFont approxWidthOfText: '1.00' asText) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/getVisibilityIndicator..st: -------------------------------------------------------------------------------- 1 | constants 2 | getVisibilityIndicator: aBoolean 3 | 4 | aBoolean 5 | ifTrue: [^ ' (v)'] 6 | ifFalse: [^ ' (h)'] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/initialize.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize 3 | 4 | super initialize. 5 | self register -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/maxBrushRadius.st: -------------------------------------------------------------------------------- 1 | constants 2 | maxBrushRadius 3 | "Maximum allowed radius for brushes" 4 | 5 | ^ 50 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/maxNumberOfCommands.st: -------------------------------------------------------------------------------- 1 | constants 2 | maxNumberOfCommands 3 | "Maximum amount of stored commands" 4 | 5 | ^ 50 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/minBrushRadius.st: -------------------------------------------------------------------------------- 1 | constants 2 | minBrushRadius 3 | "Minimum allowed radius for brushes" 4 | 5 | ^ 0 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/previewTileSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | previewTileSize 3 | "Extent of TileSelector in the tile tray" 4 | 5 | ^ RealEstateAgent scaleFactor * (70 @ 70) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/startupMinimumExtent.st: -------------------------------------------------------------------------------- 1 | constants 2 | startupMinimumExtent 3 | "Minimum extent of the startup wizard" 4 | 5 | ^ 300@200 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/tileMapMaxGridSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | tileMapMaxGridSize 3 | "Maximum size of the tileMap per dimension" 4 | 5 | ^ 200 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/tileMapMaxPaddingSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | tileMapMaxPaddingSize 3 | "Maximum size of the tileMap padding" 4 | 5 | ^ 0.9 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/tileMapMinGridSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | tileMapMinGridSize 3 | "Minimum size of the tileMap per dimension" 4 | 5 | ^ 0 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/tileMapMinPaddingSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | tileMapMinPaddingSize 3 | "Minimum size of the tileMap padding" 4 | 5 | ^ 0 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/class/toolBarVSpace.st: -------------------------------------------------------------------------------- 1 | constants 2 | toolBarVSpace 3 | 4 | ^ 0.15 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/addTilemapLayer.st: -------------------------------------------------------------------------------- 1 | layer manipulation 2 | addTilemapLayer 3 | 4 | self addTilemapLayersAt: {self getLayerList size + 1} -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/anyLayerSelected.st: -------------------------------------------------------------------------------- 1 | layer manipulation 2 | anyLayerSelected 3 | "Checks whether any layer is selected" 4 | 5 | ^ (self selectedLayers size > 0) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/associatedMorph..st: -------------------------------------------------------------------------------- 1 | accessing 2 | associatedMorph: anObject 3 | 4 | associatedMorph := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/associatedMorph.st: -------------------------------------------------------------------------------- 1 | accessing 2 | associatedMorph 3 | "The morph associated with the model" 4 | 5 | ^ associatedMorph -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/brush..st: -------------------------------------------------------------------------------- 1 | accessing 2 | brush: anObject 3 | 4 | brush := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/brush.st: -------------------------------------------------------------------------------- 1 | accessing 2 | brush 3 | "The brush associated with the editor" 4 | 5 | ^ brush -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/brushButtons..st: -------------------------------------------------------------------------------- 1 | accessing 2 | brushButtons: anObject 3 | 4 | brushButtons := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/brushButtons.st: -------------------------------------------------------------------------------- 1 | accessing 2 | brushButtons 3 | "GMTEButtonGroup of the buttons selecting brushes" 4 | 5 | ^ brushButtons -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/commands..st: -------------------------------------------------------------------------------- 1 | accessing 2 | commands: anObject 3 | 4 | commands := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/commands.st: -------------------------------------------------------------------------------- 1 | accessing 2 | commands 3 | "List of recent commands, used for undo/redo" 4 | 5 | ^ commands -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/currentCommand..st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentCommand: anObject 3 | 4 | currentCommand := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/currentCommand.st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentCommand 3 | "Index of the command whose state the editor is currently in" 4 | 5 | ^ currentCommand -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/getBrushRadius.st: -------------------------------------------------------------------------------- 1 | accessing 2 | getBrushRadius 3 | 4 | self brush ifNil: [^ nil]. 5 | 6 | ^ self brush radius -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/getBrushRadiusAsString.st: -------------------------------------------------------------------------------- 1 | accessing 2 | getBrushRadiusAsString 3 | 4 | ^ self getBrushRadius asString -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/getGridHeightAsString.st: -------------------------------------------------------------------------------- 1 | accessing 2 | getGridHeightAsString 3 | 4 | ^ self getGridHeight asString -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/getGridWidthAsString.st: -------------------------------------------------------------------------------- 1 | accessing 2 | getGridWidthAsString 3 | 4 | ^ self getGridWidth asString -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/getPaddingAsString.st: -------------------------------------------------------------------------------- 1 | accessing 2 | getPaddingAsString 3 | 4 | ^ self getPadding asString -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/initializeDefaultTileMapMatrix.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initializeDefaultTileMapMatrix 3 | 4 | self initializeTileMapMatrixWithHeight: 10 width: 10 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/layerAt..st: -------------------------------------------------------------------------------- 1 | layer manipulation 2 | layerAt: anIndex 3 | "Is this layer selected" 4 | 5 | ^ self selectedLayers includes: anIndex -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/layerCount.st: -------------------------------------------------------------------------------- 1 | accessing 2 | layerCount 3 | "Returns the amount of layers in the tileMap" 4 | 5 | ^ self tileMap tileMatrixStack layerCount -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/mapViewer..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapViewer: anObject 3 | 4 | mapViewer := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/mapViewer.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapViewer 3 | "The panel that contains the tileMap" 4 | 5 | ^ mapViewer -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/resetLayers..st: -------------------------------------------------------------------------------- 1 | layer manipulation 2 | resetLayers: aSet 3 | "Resets the layers represented by aSet" 4 | 5 | self tileMap resetLayers: aSet -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/resetSelectedLayers.st: -------------------------------------------------------------------------------- 1 | layer manipulation 2 | resetSelectedLayers 3 | "Resets all selected layers" 4 | 5 | self resetLayers: self selectedLayers -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/resetView.st: -------------------------------------------------------------------------------- 1 | menu buttons 2 | resetView 3 | "Centers and fully zooms out the view" 4 | 5 | self tileMap resetView -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/savedSinceModified..st: -------------------------------------------------------------------------------- 1 | accessing 2 | savedSinceModified: anObject 3 | 4 | savedSinceModified := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/savedSinceModified.st: -------------------------------------------------------------------------------- 1 | accessing 2 | savedSinceModified 3 | "Whether the tileMap has been modified since the last save" 4 | 5 | ^ savedSinceModified -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectAllLayers.st: -------------------------------------------------------------------------------- 1 | layer manipulation 2 | selectAllLayers 3 | "Selects all layers" 4 | 5 | 1 to: self layerCount do: [:i | self selectLayer: i] 6 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectFillBrush.st: -------------------------------------------------------------------------------- 1 | painting 2 | selectFillBrush 3 | 4 | self brushButtons singleSelectNamed: 'fillBrush'. 5 | self brush selectFillBrush -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectLineBrush.st: -------------------------------------------------------------------------------- 1 | painting 2 | selectLineBrush 3 | 4 | self brushButtons singleSelectNamed: 'lineBrush'. 5 | self brush selectLineBrush -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectRadiusBrush.st: -------------------------------------------------------------------------------- 1 | painting 2 | selectRadiusBrush 3 | 4 | self brushButtons singleSelectNamed: 'radiusBrush'. 5 | self brush selectRadiusBrush -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectedLayers..st: -------------------------------------------------------------------------------- 1 | accessing 2 | selectedLayers: anObject 3 | 4 | selectedLayers := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectedLayers.st: -------------------------------------------------------------------------------- 1 | accessing 2 | selectedLayers 3 | "Set that contains the user selected layers" 4 | 5 | ^ selectedLayers -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectedTile..st: -------------------------------------------------------------------------------- 1 | accessing 2 | selectedTile: anObject 3 | 4 | selectedTile := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/selectedTile.st: -------------------------------------------------------------------------------- 1 | accessing 2 | selectedTile 3 | "Currently selected form for painting the map" 4 | 5 | ^ selectedTile -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/tileMap..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMap: anObject 3 | 4 | tileMap := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/tileMap.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMap 3 | "The tileMap that the editor works on" 4 | 5 | ^ tileMap -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/tileStore..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileStore: anObject 3 | 4 | tileStore := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/tileStore.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileStore 3 | "Panel where the user can select tiles" 4 | 5 | ^ tileStore -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/tileTray..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileTray: anObject 3 | 4 | tileTray := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/tileTray.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileTray 3 | "Lower panel. Shows selected tile, and could be expanded for more utility" 4 | 5 | ^ tileTray -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditor.class/instance/toggleGrid.st: -------------------------------------------------------------------------------- 1 | menu buttons 2 | toggleGrid 3 | "Toggles the visibility of the map grid" 4 | 5 | self tileMap toggleHighlightingLayer -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/brush.st: -------------------------------------------------------------------------------- 1 | accessing 2 | brush 3 | 4 | ^ self model brush -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/currentTileChanges..st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentTileChanges: anObject 3 | 4 | currentTileChanges := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/currentTileChanges.st: -------------------------------------------------------------------------------- 1 | accessing 2 | currentTileChanges 3 | 4 | ^ currentTileChanges -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/handlesMouseDown..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseDown: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/handlesMouseMove..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseMove: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/handlesMouseOver..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseOver: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/model..st: -------------------------------------------------------------------------------- 1 | accessing 2 | model: anObject 3 | 4 | model := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/model.st: -------------------------------------------------------------------------------- 1 | accessing 2 | model 3 | 4 | ^ model -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/mouseLeave..st: -------------------------------------------------------------------------------- 1 | event handling 2 | mouseLeave: anEvent 3 | 4 | self tileSelectionSet clearAllHighlightings -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/previousTileStates..st: -------------------------------------------------------------------------------- 1 | accessing 2 | previousTileStates: anObject 3 | 4 | previousTileStates := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/previousTileStates.st: -------------------------------------------------------------------------------- 1 | accessing 2 | previousTileStates 3 | 4 | ^ previousTileStates -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/selectedLayers.st: -------------------------------------------------------------------------------- 1 | accessing 2 | selectedLayers 3 | 4 | ^ self model selectedLayers -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/tileSelectionSet..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSelectionSet: anObject 3 | 4 | tileSelectionSet := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/tileSelectionSet.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSelectionSet 3 | 4 | ^ tileSelectionSet -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEEditorTileMap.class/instance/zoomAt.by..st: -------------------------------------------------------------------------------- 1 | view 2 | zoomAt: aPoint by: aFloat 3 | 4 | super zoomAt: aPoint by: aFloat. 5 | self tileSelectionSet clearAllHighlightings -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/README.md: -------------------------------------------------------------------------------- 1 | A rectangular morph that works like a button. Can be configured to messages to other objects on click. 2 | 3 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/class/getIcon..st: -------------------------------------------------------------------------------- 1 | icons 2 | getIcon: aSymbol 3 | 4 | ^ self perform: (#icon, aSymbol capitalized) asSymbol -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/actionSelector..st: -------------------------------------------------------------------------------- 1 | accessing 2 | actionSelector: anObject 3 | 4 | actionSelector := anObject asSymbol -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/actionSelector.st: -------------------------------------------------------------------------------- 1 | accessing 2 | actionSelector 3 | "The method called on the target" 4 | 5 | ^ actionSelector -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/arguments..st: -------------------------------------------------------------------------------- 1 | accessing 2 | arguments: anObject 3 | 4 | arguments := anObject asArray copy -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/arguments.st: -------------------------------------------------------------------------------- 1 | accessing 2 | arguments 3 | "Arguments for the method that is called on the target" 4 | 5 | ^ arguments -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/basicButtonGroup..st: -------------------------------------------------------------------------------- 1 | accessing 2 | basicButtonGroup: anObject 3 | 4 | buttonGroup := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/basicEnabled..st: -------------------------------------------------------------------------------- 1 | accessing 2 | basicEnabled: anObject 3 | 4 | enabled := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/buttonGroup..st: -------------------------------------------------------------------------------- 1 | accessing 2 | buttonGroup: anObject 3 | 4 | self basicButtonGroup: anObject. 5 | anObject register: self as: self groupName -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/enabled.st: -------------------------------------------------------------------------------- 1 | accessing 2 | enabled 3 | 4 | ^ enabled -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/groupName..st: -------------------------------------------------------------------------------- 1 | accessing 2 | groupName: anObject 3 | 4 | groupName := anObject. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/groupName.st: -------------------------------------------------------------------------------- 1 | accessing 2 | groupName 3 | "How this button is identified in its group" 4 | 5 | ^ groupName -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/handlesMouseDown..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseDown: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/handlesMouseMove..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseMove: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/handlesMouseOver..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseOver: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/initialize.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize 3 | 4 | super initialize. 5 | self 6 | selected: false; 7 | stateSprites: Dictionary new -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/mouseLeave..st: -------------------------------------------------------------------------------- 1 | event handling 2 | mouseLeave: anEvent 3 | 4 | self enabled ifFalse: [^ nil]. 5 | 6 | self updateVisualState: anEvent -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/mouseMove..st: -------------------------------------------------------------------------------- 1 | event handling 2 | mouseMove: anEvent 3 | 4 | self enabled ifFalse: [^ nil]. 5 | 6 | self updateVisualState: anEvent -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/select.st: -------------------------------------------------------------------------------- 1 | logic 2 | select 3 | 4 | self selected: true. 5 | self setImageMode: 'pressed' -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/selected..st: -------------------------------------------------------------------------------- 1 | accessing 2 | selected: anObject 3 | 4 | selected := anObject. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/selected.st: -------------------------------------------------------------------------------- 1 | accessing 2 | selected 3 | "Is this button in a group currently selected" 4 | 5 | ^ selected -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/stateSprites..st: -------------------------------------------------------------------------------- 1 | accessing 2 | stateSprites: anObject 3 | 4 | stateSprites := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/target..st: -------------------------------------------------------------------------------- 1 | accessing 2 | target: anObject 3 | 4 | target := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageButton.class/instance/target.st: -------------------------------------------------------------------------------- 1 | accessing 2 | target 3 | "Object the actionSelector method is called on" 4 | 5 | ^ target -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageMorph.class/class/placeholderDepth.st: -------------------------------------------------------------------------------- 1 | constants 2 | placeholderDepth 3 | "TODO: comment" 4 | 5 | ^ 32 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageMorph.class/instance/free.st: -------------------------------------------------------------------------------- 1 | removing 2 | free 3 | "Fully delete morph" 4 | 5 | self owner ifNotNil: [self owner removeMorph: self]. 6 | self abandon -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageMorph.class/instance/fullResolutionSprite..st: -------------------------------------------------------------------------------- 1 | accessing 2 | fullResolutionSprite: anObject 3 | 4 | fullResolutionSprite := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEImageMorph.class/instance/fullResolutionSprite.st: -------------------------------------------------------------------------------- 1 | accessing 2 | fullResolutionSprite 3 | 4 | ^ fullResolutionSprite -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEMoveLayerCommand.class/README.md: -------------------------------------------------------------------------------- 1 | Command that moves a layer up or down in the hierarchy -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEMoveLayerCommand.class/instance/editor..st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor: anObject 3 | editor := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEMoveLayerCommand.class/instance/editor.st: -------------------------------------------------------------------------------- 1 | accessing 2 | editor 3 | ^ editor -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEMoveLayerCommand.class/instance/layerID..st: -------------------------------------------------------------------------------- 1 | accessing 2 | layerID: anObject 3 | layerID := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEMoveLayerCommand.class/instance/layerID.st: -------------------------------------------------------------------------------- 1 | accessing 2 | layerID 3 | ^ layerID -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEMoveLayerCommand.class/instance/moveDirection..st: -------------------------------------------------------------------------------- 1 | accessing 2 | moveDirection: anObject 3 | moveDirection := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEMoveLayerCommand.class/instance/moveDirection.st: -------------------------------------------------------------------------------- 1 | accessing 2 | moveDirection 3 | ^ moveDirection -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEPlaceHolderCommand.class/README.md: -------------------------------------------------------------------------------- 1 | Command that is put at the start of the LinkedList containing all commands for convenience -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEPlaceHolderCommand.class/instance/do.st: -------------------------------------------------------------------------------- 1 | execution 2 | do -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEPlaceHolderCommand.class/instance/undo.st: -------------------------------------------------------------------------------- 1 | execution 2 | undo -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEStaticCoordinateMatrix.class/instance/coordinateSystem..st: -------------------------------------------------------------------------------- 1 | accessing 2 | coordinateSystem: anObject 3 | 4 | coordinateSystem := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEStaticCoordinateMatrix.class/instance/coordinateSystem.st: -------------------------------------------------------------------------------- 1 | accessing 2 | coordinateSystem 3 | 4 | ^ coordinateSystem -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETile.class/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/src/GameMecha-TileEditor.package/GMTETile.class/README.md -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETile.class/class/fromSprite..st: -------------------------------------------------------------------------------- 1 | instance creation 2 | fromSprite: aSprite 3 | 4 | ^ (self new) 5 | updateSprite: aSprite; 6 | yourself -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETile.class/class/placeHolderColor.st: -------------------------------------------------------------------------------- 1 | constants 2 | placeHolderColor 3 | 4 | ^ Color transparent -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETile.class/instance/copySpriteFromTile..st: -------------------------------------------------------------------------------- 1 | updating 2 | copySpriteFromTile: aTile 3 | 4 | self updateSprite: aTile fullResolutionSprite -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileContainer.class/README.md: -------------------------------------------------------------------------------- 1 | Contains and manages layout for TileSelectors. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileContainer.class/class/minTileSize.st: -------------------------------------------------------------------------------- 1 | constants 2 | minTileSize 3 | "Minimal size of tile" 4 | 5 | ^ 40 * RealEstateAgent scaleFactor -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileContainer.class/instance/parent..st: -------------------------------------------------------------------------------- 1 | accessing 2 | parent: anObject 3 | 4 | parent := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileContainer.class/instance/parent.st: -------------------------------------------------------------------------------- 1 | accessing 2 | parent 3 | 4 | ^ parent -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileContainer.class/instance/stepTime.st: -------------------------------------------------------------------------------- 1 | accessing 2 | stepTime 3 | 4 | ^ 1 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileHighlighting.class/class/decoMorphAlphaValue.st: -------------------------------------------------------------------------------- 1 | constants 2 | decoMorphAlphaValue 3 | "The alpha value for the default decoMorph" 4 | 5 | ^ 0.2 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileHighlighting.class/instance/applyBorderHighlighting.st: -------------------------------------------------------------------------------- 1 | highlighting 2 | applyBorderHighlighting 3 | 4 | self 5 | borderColor: Color white; 6 | borderWidth: 1 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileHighlighting.class/instance/decorationMorph..st: -------------------------------------------------------------------------------- 1 | accessing 2 | decorationMorph: anObject 3 | 4 | decorationMorph := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileHighlighting.class/instance/decorationMorph.st: -------------------------------------------------------------------------------- 1 | accessing 2 | decorationMorph 3 | 4 | ^ decorationMorph -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileHighlighting.class/instance/initialize.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize 3 | 4 | super initialize. 5 | self applyBorderHighlighting -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileHighlighting.class/instance/removeBorderHighlighting.st: -------------------------------------------------------------------------------- 1 | highlighting 2 | removeBorderHighlighting 3 | 4 | self 5 | borderColor: Color transparent; 6 | borderWidth: 0 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileHighlighting.class/instance/removeDecoMorphHighlighting.st: -------------------------------------------------------------------------------- 1 | highlighting 2 | removeDecoMorphHighlighting 3 | 4 | self removeMorph: self decorationMorph -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/class/maxLayers.st: -------------------------------------------------------------------------------- 1 | constants 2 | maxLayers 3 | "The maximum amount of tileMatrixStack layers" 4 | 5 | ^ 80 6 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/class/zoomStep.st: -------------------------------------------------------------------------------- 1 | constants 2 | zoomStep 3 | 4 | ^ 0.1 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/backgroundTiles..st: -------------------------------------------------------------------------------- 1 | accessing 2 | backgroundTiles: anObject 3 | 4 | self 5 | basicBackgroundTiles: anObject; 6 | updateMap 7 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/backgroundTiles.st: -------------------------------------------------------------------------------- 1 | accessing 2 | backgroundTiles 3 | 4 | ^ backgroundTiles -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/basicBackgroundTiles..st: -------------------------------------------------------------------------------- 1 | accessing 2 | basicBackgroundTiles: anObject 3 | 4 | backgroundTiles := anObject 5 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderSizeTotalHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderSizeTotalHeight: anObject 3 | 4 | borderSizeTotalHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderSizeTotalHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderSizeTotalHeight 3 | 4 | ^ borderSizeTotalHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderSizeTotalWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderSizeTotalWidth: anObject 3 | 4 | borderSizeTotalWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderSizeTotalWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderSizeTotalWidth 3 | 4 | ^ borderSizeTotalWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderTileHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderTileHeight: anObject 3 | 4 | borderTileHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderTileHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderTileHeight 3 | 4 | ^ borderTileHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderTileWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderTileWidth: anObject 3 | 4 | borderTileWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/borderTileWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | borderTileWidth 3 | 4 | ^ borderTileWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/exportAsImage.st: -------------------------------------------------------------------------------- 1 | import/export 2 | exportAsImage 3 | 4 | self exportAsPNG -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/forceMapSizeRatio..st: -------------------------------------------------------------------------------- 1 | accessing 2 | forceMapSizeRatio: anObject 3 | 4 | forceMapSizeRatio := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/forceMapSizeRatio.st: -------------------------------------------------------------------------------- 1 | accessing 2 | forceMapSizeRatio 3 | 4 | ^ forceMapSizeRatio -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/fullGridSizeHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | fullGridSizeHeight: anObject 3 | 4 | fullGridSizeHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/fullGridSizeHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | fullGridSizeHeight 3 | 4 | ^ fullGridSizeHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/fullGridSizeWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | fullGridSizeWidth: anObject 3 | 4 | fullGridSizeWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/fullGridSizeWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | fullGridSizeWidth 3 | 4 | ^ fullGridSizeWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/handlesMouseDown..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseDown: anEvent 3 | 4 | ^ (self hasStaticView not) and: [anEvent shiftPressed] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/handlesMouseMove..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseMove: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/handlesMouseWheel..st: -------------------------------------------------------------------------------- 1 | event handling 2 | handlesMouseWheel: anEvent 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/hasStaticView..st: -------------------------------------------------------------------------------- 1 | accessing 2 | hasStaticView: anObject 3 | 4 | hasStaticView := anObject. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/hasStaticView.st: -------------------------------------------------------------------------------- 1 | accessing 2 | hasStaticView 3 | 4 | ^ hasStaticView -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapPaddedHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapPaddedHeight: anObject 3 | 4 | mapPaddedHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapPaddedHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapPaddedHeight 3 | 4 | ^ mapPaddedHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapPaddedWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapPaddedWidth: anObject 3 | 4 | mapPaddedWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapPaddedWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapPaddedWidth 3 | 4 | ^ mapPaddedWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapPadding..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapPadding: anObject 3 | 4 | mapPadding := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapPadding.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapPadding 3 | 4 | ^ mapPadding -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapSizeHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapSizeHeight: anObject 3 | 4 | mapSizeHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapSizeHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapSizeHeight 3 | 4 | ^ mapSizeHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapSizeWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapSizeWidth: anObject 3 | 4 | mapSizeWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapSizeWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapSizeWidth 3 | 4 | ^ mapSizeWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapTileHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapTileHeight: anObject 3 | 4 | mapTileHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapTileHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapTileHeight 3 | 4 | ^ mapTileHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapTileWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapTileWidth: anObject 3 | 4 | mapTileWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/mapTileWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | mapTileWidth 3 | 4 | ^ mapTileWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/resetView.st: -------------------------------------------------------------------------------- 1 | view 2 | resetView 3 | 4 | self view reset. 5 | self updateMap -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileCornerOffsetBackground..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileCornerOffsetBackground: anObject 3 | 4 | tileCornerOffsetBackground := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileCornerOffsetBackground.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileCornerOffsetBackground 3 | 4 | ^ tileCornerOffsetBackground -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileCornerOffsetMap..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileCornerOffsetMap: anObject 3 | 4 | tileCornerOffsetMap := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileCornerOffsetMap.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileCornerOffsetMap 3 | 4 | ^ tileCornerOffsetMap -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileHeight: anObject 3 | 4 | tileHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileHeight 3 | 4 | ^ tileHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileMatrixStack..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMatrixStack: anObject 3 | 4 | tileMatrixStack := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileMatrixStack.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMatrixStack 3 | 4 | ^ tileMatrixStack -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileMatrixStackBackground..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMatrixStackBackground: anObject 3 | 4 | tileMatrixStackBackground := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileMatrixStackBackground.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMatrixStackBackground 3 | 4 | ^ tileMatrixStackBackground -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileMatrixStackHighlighting..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMatrixStackHighlighting: anObject 3 | 4 | tileMatrixStackHighlighting := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileMatrixStackHighlighting.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileMatrixStackHighlighting 3 | 4 | ^ tileMatrixStackHighlighting -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileSizeHeight..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSizeHeight: anObject 3 | 4 | tileSizeHeight := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileSizeHeight.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSizeHeight 3 | 4 | ^ tileSizeHeight -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileSizeRatio..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSizeRatio: anObject 3 | 4 | tileSizeRatio := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileSizeRatio.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSizeRatio 3 | 4 | ^ tileSizeRatio -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileSizeWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSizeWidth: anObject 3 | 4 | tileSizeWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileSizeWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileSizeWidth 3 | 4 | ^ tileSizeWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileWidth..st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileWidth: anObject 3 | 4 | tileWidth := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/tileWidth.st: -------------------------------------------------------------------------------- 1 | accessing 2 | tileWidth 3 | 4 | ^ tileWidth -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/view..st: -------------------------------------------------------------------------------- 1 | accessing 2 | view: anObject 3 | 4 | view := anObject. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/view.st: -------------------------------------------------------------------------------- 1 | accessing 2 | view 3 | 4 | ^ view -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/viewScaleFactor.st: -------------------------------------------------------------------------------- 1 | view-conversion 2 | viewScaleFactor 3 | "Note: given that view has same ratio as tileMap" 4 | 5 | ^ 1 / (self view extent x) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/zoomInAt..st: -------------------------------------------------------------------------------- 1 | view 2 | zoomInAt: aPoint 3 | 4 | self zoomAt: aPoint by: GMTETileMap zoomStep -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMap.class/instance/zoomOutAt..st: -------------------------------------------------------------------------------- 1 | view 2 | zoomOutAt: aPoint 3 | 4 | self zoomAt: aPoint by: (GMTETileMap zoomStep negated) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/at.at..st: -------------------------------------------------------------------------------- 1 | accessing 2 | at: row at: column 3 | 4 | (self inBounds: column@row) ifFalse: [^ nil]. 5 | ^ super at: row at: column -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/belowLayer..st: -------------------------------------------------------------------------------- 1 | comparing 2 | belowLayer: aLayer 3 | "Check if self is logically beneath aLayer" 4 | 5 | ^ (self aboveLayer: aLayer) not -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/displayName..st: -------------------------------------------------------------------------------- 1 | accessing 2 | displayName: anObject 3 | 4 | displayName := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/displayName.st: -------------------------------------------------------------------------------- 1 | accessing 2 | displayName 3 | 4 | ^ displayName -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/free.st: -------------------------------------------------------------------------------- 1 | removing 2 | free 3 | "Correctly free tiles from layer" 4 | 5 | self doTiles: [:tile | tile free]. 6 | self setNil -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/initialize.st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize 3 | 4 | super initialize. 5 | self visible: true 6 | 7 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/layerIndex..st: -------------------------------------------------------------------------------- 1 | accessing 2 | layerIndex: anObject 3 | 4 | layerIndex := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/layerIndex.st: -------------------------------------------------------------------------------- 1 | accessing 2 | layerIndex 3 | 4 | ^ layerIndex -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/visible..st: -------------------------------------------------------------------------------- 1 | accessing 2 | visible: aBool 3 | 4 | visible := aBool. 5 | 6 | self doTiles: [:tile | tile visible: aBool] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixLayer.class/instance/visible.st: -------------------------------------------------------------------------------- 1 | accessing 2 | visible 3 | 4 | ^ visible -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/class/morphicLayerDistance.st: -------------------------------------------------------------------------------- 1 | constants 2 | morphicLayerDistance 3 | "Distance between two layers" 4 | 5 | ^ 2 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/class/morphicLayerOffsetDefault.st: -------------------------------------------------------------------------------- 1 | constants 2 | morphicLayerOffsetDefault 3 | "default offset for a tileMatrixStack" 4 | 5 | ^ 100 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/basicVisible..st: -------------------------------------------------------------------------------- 1 | accessing 2 | basicVisible: aBool 3 | 4 | visible := aBool -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/collectLayers..st: -------------------------------------------------------------------------------- 1 | eumerating 2 | collectLayers: aBlock 3 | 4 | ^ self matrixLayers collect: [:layer | aBlock value: layer] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/doLayers..st: -------------------------------------------------------------------------------- 1 | eumerating 2 | doLayers: aBlock 3 | 4 | self matrixLayers do: [:layer | aBlock value: layer] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/doTiles..st: -------------------------------------------------------------------------------- 1 | eumerating 2 | doTiles: aBlock 3 | 4 | self doLayers: [:layer | layer doTiles: aBlock] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/height..st: -------------------------------------------------------------------------------- 1 | accessing 2 | height: anObject 3 | 4 | height := anObject. -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/height.st: -------------------------------------------------------------------------------- 1 | accessing 2 | height 3 | 4 | ^ height -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/hideLayer..st: -------------------------------------------------------------------------------- 1 | updating 2 | hideLayer: anIndex 3 | 4 | (self layer: anIndex) visible: false -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/initialize.st: -------------------------------------------------------------------------------- 1 | initilization 2 | initialize 3 | 4 | super initialize. 5 | self 6 | matrixLayers: OrderedCollection new; 7 | visible: true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/layer..st: -------------------------------------------------------------------------------- 1 | accessing 2 | layer: aLayerIndex 3 | 4 | ^ self matrixLayers at: aLayerIndex -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/layer.at.at..st: -------------------------------------------------------------------------------- 1 | accessing 2 | layer: aLayerIndex at: y at: x 3 | 4 | ^ (self matrixLayers at: aLayerIndex) at: y at: x -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/layerCount.st: -------------------------------------------------------------------------------- 1 | accessing 2 | layerCount 3 | 4 | ^ self matrixLayers size -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/layerNameOf..st: -------------------------------------------------------------------------------- 1 | accessing 2 | layerNameOf: anIndex 3 | 4 | ^ (self layer: anIndex) displayName -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/layerVisible..st: -------------------------------------------------------------------------------- 1 | checking 2 | layerVisible: anIndex 3 | 4 | ^ (self layer: anIndex) visible -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/matrixLayers..st: -------------------------------------------------------------------------------- 1 | accessing 2 | matrixLayers: anObject 3 | 4 | matrixLayers := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/matrixLayers.st: -------------------------------------------------------------------------------- 1 | accessing 2 | matrixLayers 3 | 4 | ^ matrixLayers -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/morphicLayerStartingOffset..st: -------------------------------------------------------------------------------- 1 | accessing 2 | morphicLayerStartingOffset: anObject 3 | 4 | morphicLayerStartingOffset := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/morphicLayerStartingOffset.st: -------------------------------------------------------------------------------- 1 | accessing 2 | morphicLayerStartingOffset 3 | 4 | ^ morphicLayerStartingOffset -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/pushLayer.st: -------------------------------------------------------------------------------- 1 | adding 2 | pushLayer 3 | 4 | self pushLayers: {self layerCount + 1} -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/resetLayer..st: -------------------------------------------------------------------------------- 1 | removing 2 | resetLayer: anIndex 3 | 4 | (self layer: anIndex) free -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/setLayerNameOf.to..st: -------------------------------------------------------------------------------- 1 | accessing 2 | setLayerNameOf: anIndex to: aString 3 | 4 | ^ (self layer: anIndex) displayName: aString -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/showLayer..st: -------------------------------------------------------------------------------- 1 | updating 2 | showLayer: anIndex 3 | 4 | (self layer: anIndex) visible: true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/visible..st: -------------------------------------------------------------------------------- 1 | accessing 2 | visible: aBool 3 | 4 | self basicVisible: aBool. 5 | 6 | self doLayers: [:aLayer | 7 | aLayer visible: aBool] -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/visible.st: -------------------------------------------------------------------------------- 1 | accessing 2 | visible 3 | 4 | ^ visible -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/width..st: -------------------------------------------------------------------------------- 1 | accessing 2 | width: anObject 3 | 4 | width := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileMatrixStack.class/instance/width.st: -------------------------------------------------------------------------------- 1 | accessing 2 | width 3 | 4 | ^ width -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelectionSet.class/instance/applyAllHighlightings.st: -------------------------------------------------------------------------------- 1 | highlighting 2 | applyAllHighlightings 3 | 4 | self do: [:tile | 5 | self applyHighlightingVisuals: tile] 6 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelectionSet.class/instance/highlightImage..st: -------------------------------------------------------------------------------- 1 | accessing 2 | highlightImage: anObject 3 | 4 | highlightImage := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelectionSet.class/instance/highlightImage.st: -------------------------------------------------------------------------------- 1 | accessing 2 | highlightImage 3 | 4 | ^ highlightImage -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelectionSet.class/instance/initialize..st: -------------------------------------------------------------------------------- 1 | initialization 2 | initialize: n 3 | 4 | super initialize: n 5 | 6 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelector.class/README.md: -------------------------------------------------------------------------------- 1 | A clickable Morph to select tiles from the tile store. 2 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelector.class/instance/extent..st: -------------------------------------------------------------------------------- 1 | accessing 2 | extent: anExtent 3 | 4 | super extent: anExtent. 5 | self 6 | borderColor: Color orange; 7 | borderWidth: 1 -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelector.class/instance/handlesMouseDown..st: -------------------------------------------------------------------------------- 1 | input handling 2 | handlesMouseDown: evt 3 | 4 | ^ true -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelector.class/instance/model..st: -------------------------------------------------------------------------------- 1 | accessing 2 | model: anObject 3 | 4 | model := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETileSelector.class/instance/model.st: -------------------------------------------------------------------------------- 1 | accessing 2 | model 3 | 4 | ^ model -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/README.md: -------------------------------------------------------------------------------- 1 | Command that resizes the tilemap -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/do.st: -------------------------------------------------------------------------------- 1 | execution 2 | do 3 | 4 | self editor rescaleGridDimensions: self newSize -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/newSize..st: -------------------------------------------------------------------------------- 1 | accessing 2 | newSize: anObject 3 | 4 | newSize := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/newSize.st: -------------------------------------------------------------------------------- 1 | accessing 2 | newSize 3 | 4 | ^ newSize -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/prevSize..st: -------------------------------------------------------------------------------- 1 | accessing 2 | prevSize: anObject 3 | 4 | prevSize := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/prevSize.st: -------------------------------------------------------------------------------- 1 | accessing 2 | prevSize 3 | 4 | ^ prevSize -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/restoreTiles.st: -------------------------------------------------------------------------------- 1 | restoring 2 | restoreTiles 3 | 4 | self placeTilesFromList: self savedTiles -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/savedTiles..st: -------------------------------------------------------------------------------- 1 | accessing 2 | savedTiles: anObject 3 | 4 | savedTiles := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/savedTiles.st: -------------------------------------------------------------------------------- 1 | accessing 2 | savedTiles 3 | 4 | ^ savedTiles -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTETilemapSizeCommand.class/instance/undo.st: -------------------------------------------------------------------------------- 1 | execution 2 | undo 3 | 4 | self editor rescaleGridDimensions: self prevSize. 5 | self restoreTiles -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEView.class/instance/extent..st: -------------------------------------------------------------------------------- 1 | accessing 2 | extent: anExtent 3 | 4 | self setOrigin: self origin corner: (self origin + anExtent) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEView.class/instance/origin..st: -------------------------------------------------------------------------------- 1 | accessing 2 | origin: aPoint 3 | 4 | self setOrigin: aPoint corner: (aPoint + (self corner - self origin)) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEView.class/instance/reset.st: -------------------------------------------------------------------------------- 1 | updating 2 | reset 3 | 4 | self setOrigin: 0 @ 0 corner: 1 @ 1. 5 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/GMTEView.class/instance/size..st: -------------------------------------------------------------------------------- 1 | accessing 2 | size: aFraction 3 | 4 | self extent: (aFraction @ aFraction) -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/MorphicToolBuilder.extension/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "MorphicToolBuilder" } 3 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/arguments..st: -------------------------------------------------------------------------------- 1 | accessing 2 | arguments: anObject 3 | 4 | arguments := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/arguments.st: -------------------------------------------------------------------------------- 1 | accessing 2 | arguments 3 | 4 | ^ arguments -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/buildWith..st: -------------------------------------------------------------------------------- 1 | building 2 | buildWith: builder 3 | 4 | ^ builder buildPluggableImageButton: self -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/buttonGroup..st: -------------------------------------------------------------------------------- 1 | accessing 2 | buttonGroup: anObject 3 | 4 | buttonGroup := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/buttonGroup.st: -------------------------------------------------------------------------------- 1 | accessing 2 | buttonGroup 3 | 4 | ^ buttonGroup -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/description..st: -------------------------------------------------------------------------------- 1 | accessing 2 | description: anObject 3 | 4 | description := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/description.st: -------------------------------------------------------------------------------- 1 | accessing 2 | description 3 | ^ description -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/groupName..st: -------------------------------------------------------------------------------- 1 | accessing 2 | groupName: anObject 3 | 4 | groupName := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/groupName.st: -------------------------------------------------------------------------------- 1 | accessing 2 | groupName 3 | 4 | ^ groupName -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/iconName..st: -------------------------------------------------------------------------------- 1 | accessing 2 | iconName: aSymbol 3 | 4 | iconName := aSymbol -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/iconName.st: -------------------------------------------------------------------------------- 1 | accessing 2 | iconName 3 | 4 | ^ iconName -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/project..st: -------------------------------------------------------------------------------- 1 | accessing 2 | project: anObject 3 | 4 | project := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableImageButtonSpec.class/instance/project.st: -------------------------------------------------------------------------------- 1 | accessing 2 | project 3 | 4 | ^ project -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableStaticTextSpec.class/README.md: -------------------------------------------------------------------------------- 1 | PluggableStaticText is supposed to enable simple text that seamlessly fits into the window -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableStaticTextSpec.class/instance/buildWith..st: -------------------------------------------------------------------------------- 1 | building 2 | buildWith: builder 3 | 4 | ^ builder buildPluggableStaticText: self -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableStaticTextSpec.class/instance/text..st: -------------------------------------------------------------------------------- 1 | accessing 2 | text: anObject 3 | 4 | text := anObject -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/PluggableStaticTextSpec.class/instance/text.st: -------------------------------------------------------------------------------- 1 | accessing 2 | text 3 | 4 | ^ text -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/ToolBuilder.extension/instance/buildPluggableStaticText..st: -------------------------------------------------------------------------------- 1 | *GameMecha-TileEditor 2 | buildPluggableStaticText: aSpec 3 | ^self subclassResponsibility -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/ToolBuilder.extension/instance/pluggableImageButtonSpec.st: -------------------------------------------------------------------------------- 1 | *GameMecha-TileEditor 2 | pluggableImageButtonSpec 3 | 4 | ^ PluggableImageButtonSpec -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/ToolBuilder.extension/instance/pluggableStaticTextSpec.st: -------------------------------------------------------------------------------- 1 | *GameMecha-TileEditor 2 | pluggableStaticTextSpec 3 | 4 | ^ PluggableStaticTextSpec -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/ToolBuilder.extension/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "ToolBuilder" } 3 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/monticello.meta/categories.st: -------------------------------------------------------------------------------- 1 | SystemOrganization addCategory: #'GameMecha-TileEditor'! 2 | -------------------------------------------------------------------------------- /src/GameMecha-TileEditor.package/properties.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /testingResources/map.morph: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/testingResources/map.morph -------------------------------------------------------------------------------- /testingResources/squeak.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/testingResources/squeak.aiff -------------------------------------------------------------------------------- /testingResources/squeak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/testingResources/squeak.png -------------------------------------------------------------------------------- /testingResources/squeak.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/testingResources/squeak.wav -------------------------------------------------------------------------------- /testingResources/squeak2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/testingResources/squeak2.gif -------------------------------------------------------------------------------- /testingResources/test: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /testingResources/test.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /testingResources/testMapFile.morph: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpi-swa-teaching/GameMecha/21b764c808ed88c3ca8f9e1912639ce1a1e34af5/testingResources/testMapFile.morph --------------------------------------------------------------------------------