Skip to content

Commit

Permalink
[bugfix] Removed the unused mp3 verions of the splashscreen sound
Browse files Browse the repository at this point in the history
  • Loading branch information
meronbrouwer committed Dec 16, 2024
2 parents 842c24c + 42e143f commit 92a0ba5
Show file tree
Hide file tree
Showing 24 changed files with 251 additions and 139 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Fetch source code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4.2.2

- name: Set up JDK 21
uses: actions/setup-java@v3.9.0
uses: actions/setup-java@v4.5.0
with:
distribution: 'zulu'
java-version: 21

- name: Cache Maven packages
uses: actions/cache@v3.0.11
uses: actions/cache@v4.1.2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v4.2.2

- name: Set up JDK 21
uses: actions/setup-java@v3.9.0
uses: actions/setup-java@v4.5.0
with:
distribution: 'zulu'
java-version: 21

- name: Cache Maven packages
uses: actions/cache@v3.0.11
uses: actions/cache@v4.1.2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v4.2.2

- name: Set up JDK 21
uses: actions/setup-java@v3.9.0
uses: actions/setup-java@v4.5.0
with:
distribution: 'zulu'
java-version: 21
Expand All @@ -29,7 +29,7 @@ jobs:
server-password: MAVEN_CENTRAL_PASSWORD

- name: Cache Maven packages
uses: actions/cache@v3.0.11
uses: actions/cache@v4.1.2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
Expand All @@ -44,7 +44,7 @@ jobs:
run: xvfb-run mvn package -P release -Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}

- name: Set up Apache Maven Central
uses: actions/setup-java@v3.9.0
uses: actions/setup-java@v4.5.0
with:
distribution: 'zulu'
java-version: 21
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Yaeger requires JDK21, and is available through the Maven Central Repository.
<dependency>
<groupId>com.github.han-yaeger</groupId>
<artifactId>yaeger</artifactId>
<version>2023.2024</version>
<version>2024.2025</version>
</dependency>
```

Expand Down
15 changes: 15 additions & 0 deletions architecture/class-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# A guide through Yaeger's internals

After reading this guide, you should have a basic picture of how Yaeger's internals work. Not everything will be covered,
but the basic setup should be clear and it should be possible to figure out how the missing parts work.

## Introduction

To get insight into how Yaeger is built, we will be using different views on its internals. We will base this on the game
of Pac-Man.

![Pac-Man](images/pacman.png)

## Base classes for Scenes and Entities


Binary file added architecture/images/pacman.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions architecture/plantuml/classdiagrams/user-perspective-base.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
@startuml
'https://plantuml.com/class-diagram

class YaegerGame {
setupGame(): void
setupScenes(): void
addScene(int, YaegerScene): void
}

interface YaegerScene {
setupScene(): void
setupEntities(): void
}

abstract class StaticScene implements YaegerScene{
addEntity(YaegerEntity): void
}

abstract class DynamicScene extends StaticScene{
}

abstract class YaegerEntity {
}

abstract class CircleEntity extends YaegerEntity {
}

abstract class DynamicCircleEntity extends CircleEntity {
}

abstract class EllipseEntity extends YaegerEntity {
}

abstract class DynamicEllipseEntity extends EllipseEntity {
}

abstract class RectangleEntity extends YaegerEntity {
}

abstract class DynamicRectangleEntity extends RectangleEntity {
}

abstract class SpriteEntity extends YaegerEntity {
}

abstract class DynamicSpriteEntity extends SpriteEntity {
}

abstract class TextEntity extends YaegerEntity {
}

abstract class DynamicTextEntity extends TextEntity {
}


@enduml
36 changes: 36 additions & 0 deletions architecture/plantuml/classdiagrams/user-perspective-tilemap.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
@startuml
'https://plantuml.com/class-diagram

class YaegerGame {
setupGame(): void
setupScenes(): void
addScene(int, YaegerScene): void
}

interface YaegerScene {
setupScene(): void
setupEntities(): void
}

abstract class StaticScene implements YaegerScene{
addEntity(YaegerEntity): void
}

abstract class DynamicScene extends StaticScene{
}

abstract class YaegerEntity {
}

interface TileMapContainer {
setupTileMaps(): void
addTileMap(TileMap): void
}

abstract class TileMap{
setupEntities(): void
addEntity(int, Class<? extends YaegerEntity>): void
}


@enduml
2 changes: 1 addition & 1 deletion docs/creating-entities.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Creating entities

All available entities, expect the `TextEntity`, are abstract classes, meaning
All available entities, except the `TextEntity`, are abstract classes, meaning
they should be extended to create an instance. After creating a class, an
instance should be created, which can then be added to a `YaegerScene`, or a
`CompositeEntity` through the `addEntity(YaegerEntity)` method.
Expand Down
3 changes: 2 additions & 1 deletion docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ group them within their specific methods.

If you have a machine with Apple Silicon you might come across an error in the build process like this:

![Error building because of libraries that cannot be linked](./images/00-mac-error.png)
![Error building because of libraries that cannot be linked](images/00-mac-error.png)


Check failure on line 57 in docs/faq.md

View workflow job for this annotation

GitHub Actions / Check materials and publish if tagged

Multiple consecutive blank lines [Expected: 1; Actual: 2]
To solve this you have to change the architecture of your JDK to one that is not specific to an ARM CPU.

Expand Down
15 changes: 11 additions & 4 deletions docs/timing-things.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,22 @@ implementations of `YaegerScene` available: a `StaticScene` and a
contains a Game World Update (GWU) to which all instances of `DynamicEntity`
added to the scene will listen.

This chapter will discuss the different ways in the GWU can be used within
This chapter will discuss the different ways in which the GWU can be used within
Yaeger. It will start by discussing how the GWU gets delegated to all
objects, after which different ways to use in within your scene of entity.
objects, after which different ways are discussed to use it within your scene or
entity.

## How the GWU is delegated to all objects

The GWU is initiated by the `DynamicScene`, and handed down to all dynamic
entities that were added to the scene. This is done in the same order as in
which they were added to the scene.
entities, timers, spawners and composite entities that were added to the scene.
This is done in the same order as in which they were added to the scene.

From a programming point-of-view, the GWU is a timed method call. The
`DynamicScene` calls its `update()` method, which then calls all the `update()`
methods of all the dynamic entities, timers, spawners and composite entities. If
those objects themself also contain child-objects, their `update()` method is
then also called. And so forth.

![Update Delegation](images/update-delegation.png)

Expand Down
27 changes: 14 additions & 13 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>com.github.han-yaeger</groupId>
<artifactId>yaeger</artifactId>
<version>2023.2024</version>
<version>2024.2025</version>
<packaging>jar</packaging>


Expand All @@ -15,7 +15,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>21</java.version>
<javafx.version>21.0.1</javafx.version>
<javafx.version>23.0.1</javafx.version>
<sonar.projectKey>han-yaeger_yaeger</sonar.projectKey>
<sonar.organization>han-yaeger</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
Expand Down Expand Up @@ -155,7 +155,7 @@
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.10</version>
<version>0.8.12</version>
<executions>
<execution>
<id>prepare-agent</id>
Expand All @@ -165,13 +165,6 @@
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>9.5</version>
</dependency>
</dependencies>
<configuration>
<excludes>
<exclude>com/github/hanyaeger/core/guice/**/*</exclude>
Expand Down Expand Up @@ -217,6 +210,7 @@
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
Expand Down Expand Up @@ -258,20 +252,27 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.5.0</version>
<version>5.13.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-core</artifactId>
<version>4.0.16-alpha</version>
<version>4.0.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>openjfx-monocle</artifactId>
<version>jdk-12.0.1+2</version>
<version>21.0.2</version>
<scope>test</scope>
</dependency>
<!-- This dependency is required to fix a security-issue with Google Guice 7.0, which uses an older
version of guava. Setting an explicit dependency forces Maven to use the specified version.-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.3.1-jre</version>
</dependency>
</dependencies>
</project>
21 changes: 10 additions & 11 deletions release.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
# Changes in this release

## Configuration

* Updated Mockito to 4.8.0
* Updated jUnit to 5.9.1
* Updated JavaFX to 19
This release is mainly focussed on updated the dependencies and fixing bugs.

## Refactor

## Features
## Configuration

* Added a new animation system, in which parts of a sprite-sheet can be
encapsulated by a Java-object. This will make it far easier to fully animate
an entity (#239).
* Updated Jacoco to 0.8.12
* Updated JavaFX to 23.0.1
* Updated testfx-code to 5.13.0
* Updated openjfx-monocle to 21.0.2
* Updated Guava to 33.3.1-jr so ensure Google Guice does not use the broken version
* Updated Mockito to 5.13.0

## Bugfixes

* Fixed two issues related to the bounding boxes in Composite Entities (#249, #268)
* Fixed #265 (getSpeedInDirection with same direction returns 0 instead of actual speed). Thanks to @Liam-Rougoor.
Loading

0 comments on commit 92a0ba5

Please sign in to comment.