Compare commits

..

No commits in common. "develop" and "v1-alpha4" have entirely different histories.

24 changed files with 34 additions and 77 deletions

View file

@ -1,7 +1,7 @@
<component name="CopyrightManager">
<copyright>
<option name="allowReplaceRegexp" value="Copyright .* The StarOpenSource Engine Authors" />
<option name="allowReplaceRegexp" value="Copyright .* The StarOpenSource Engine Contributors" />
<option name="notice" value="STAROPENSOURCE ENGINE SOURCE FILE&#10;Copyright (c) &amp;#36;today.year The StarOpenSource Engine Authors&#10;Licensed under the GNU Affero General Public License v3&#10;&#10;This program is free software: you can redistribute it and/or modify&#10;it under the terms of the GNU Affero General Public License as&#10;published by the Free Software Foundation, either version 3 of the&#10;License, or (at your option) any later version.&#10;&#10;This program is distributed in the hope that it will be useful,&#10;but WITHOUT ANY WARRANTY; without even the implied warranty of&#10;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&#10;GNU Affero General Public License for more details.&#10;&#10;You should have received a copy of the GNU Affero General Public License&#10;along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;." />
<option name="myName" value="sos!engine" />
</copyright>
</component>
</component>

View file

@ -6,13 +6,17 @@
*/
module sosengine.ansi {
// Dependencies
// -> Java
// -> Java <-
requires transitive java.management;
// -> Engine
// -> Engine <-
requires transitive sosengine.base;
// -> Libraries
// -> Common stuff <-
requires transitive static lombok;
requires transitive org.jetbrains.annotations;
// -> Subystem-specific dependencies <-
requires org.fusesource.jansi;
// API access

View file

@ -56,7 +56,7 @@ public final class StacktraceAll implements Placeholder {
.append(" priority=")
.append(thread.getPriority())
.append(" group=")
.append(thread.getThreadGroup() == null ? "<unknown>" : thread.getThreadGroup().getName())
.append(thread.getThreadGroup().getName())
.append(" state=")
.append(thread.getState().name())
.append(" daemon=")

View file

@ -238,8 +238,8 @@ public final class LoggerInstance {
/**
* Builds a new {@link LoggerInstance} instance.
*
* @return new {@link LoggerInstance} instance
* @throws IllegalStateException if {@link #clazz} is unset
* @return new {@link LoggerInstance}
* @throws IllegalStateException if the class or origin is unset
* @since v1-alpha2
*/
public LoggerInstance build() throws IllegalStateException {
@ -294,7 +294,6 @@ public final class LoggerInstance {
*
* @param clazz new class of the issuer
* @return builder instance
* @see LoggerInstance#clazz
* @since v1-alpha2
*/
public @NotNull Builder setClazz(@Nullable Class<?> clazz) {
@ -307,7 +306,6 @@ public final class LoggerInstance {
*
* @param origin new origin of the issuer
* @return builder instance
* @see LoggerInstance#origin
* @since v1-alpha2
*/
public @NotNull Builder setOrigin(@Nullable String origin) {
@ -320,7 +318,6 @@ public final class LoggerInstance {
*
* @param metadata new metadata about the issuer
* @return builder instance
* @see LoggerInstance#metadata
* @since v1-alpha2
*/
public @NotNull Builder setMetadata(@Nullable String metadata) {

View file

@ -173,8 +173,8 @@ public class DependencyVector {
/**
* Builds a new {@link DependencyVector} instance.
*
* @return new {@link DependencyVector} instance
* @throws IllegalStateException if {@link #identifier}, {@link #versioningSystem} or {@link #version} is unset or the version string is invalid
* @return new {@link DependencyVector}
* @throws IllegalStateException when the identifier, versioning system or version is unset or the version string is invalid
* @since v1-alpha4
*/
public @NotNull DependencyVector build() throws IllegalStateException {

View file

@ -20,6 +20,7 @@
package de.staropensource.sosengine.base.type;
import de.staropensource.sosengine.base.exception.TristateConversionException;
import org.jetbrains.annotations.NotNull;
/**
* Just a {@link Boolean}, but it can be {@link #UNSET}.
@ -49,15 +50,16 @@ public enum Tristate {
FALSE;
/**
* Converts the {@link Tristate} into a {@link Boolean}.
* Converts a {@link Tristate} into a {@link Boolean}.
* Make sure to check for {@link #UNSET} first.
*
* @param tristate {@link Tristate} to convert
* @return booleanized {@link Tristate}
* @throws TristateConversionException when encountering {@link #UNSET}
* @since v1-alpha2
*/
public boolean toBoolean() {
return switch (this) {
public static boolean toBoolean(@NotNull Tristate tristate) {
return switch (tristate) {
case UNSET -> throw new TristateConversionException();
case TRUE -> true;
case FALSE -> false;

View file

@ -80,7 +80,7 @@ public final class Miscellaneous {
* @since v1-alpha2
*/
public static boolean getBooleanizedInteger(@Range(from = 0, to = 1) int integer) throws TristateConversionException {
return getTristatedInteger(integer).toBoolean();
return Tristate.toBoolean(getTristatedInteger(integer));
}
/**

View file

@ -5,9 +5,7 @@
*/
module sosengine.base {
// Dependencies
// -> Java
requires transitive java.management;
// -> Dependencies
requires transitive static lombok;
requires transitive org.jetbrains.annotations;
requires org.reflections;

View file

@ -41,11 +41,3 @@ The engine API documentation covers the core engine and all official subsystems.
- [graphics:glfw](https://jd.engine.staropensource.de/v1-alpha3/graphics:glfw/)
- [graphics:opengl](https://jd.engine.staropensource.de/v1-alpha3/graphics:opengl/)
- [graphics:vulkan](https://jd.engine.staropensource.de/v1-alpha3/graphics:vulkan/)
- v1-alpha4
- [All subsystem](https://jd.engine.staropensource.de/v1-alpha4/all/)
- [base](https://jd.engine.staropensource.de/v1-alpha4/base/)
- [testing](https://jd.engine.staropensource.de/v1-alpha4/testing/)
- [ansi](https://jd.engine.staropensource.de/v1-alpha4/ansi/)
- [slf4j-compat](https://jd.engine.staropensource.de/v1-alpha4/slf4j-compat/)
- [windowing](https://jd.engine.staropensource.de/v1-alpha4/windowing/)
- [windowing:glfw](https://jd.engine.staropensource.de/v1-alpha4/windowing:glfw/)

View file

@ -21,7 +21,7 @@
versioningCodename=Sugarcookie
versioningVersion=1
versioningType=alpha
versioningTyperelease=5
versioningTyperelease=4
versioningFork=
# Java

View file

@ -34,7 +34,7 @@ import org.slf4j.helpers.MessageFormatter;
*
* @since v1-alpha0
*/
public final class CompatibilityLogger extends LegacyAbstractLogger {
public class CompatibilityLogger extends LegacyAbstractLogger {
/**
* Logger instance, used to print all log messages coming from SLF4J.
*

View file

@ -31,7 +31,7 @@ import java.util.concurrent.ConcurrentMap;
*
* @since v1-alpha0
*/
public final class CompatibilityLoggerFactory implements ILoggerFactory {
public class CompatibilityLoggerFactory implements ILoggerFactory {
ConcurrentMap<@NotNull String, @NotNull Logger> loggerMap;
/**

View file

@ -35,7 +35,7 @@ import org.slf4j.spi.SLF4JServiceProvider;
* @since v1-alpha0
*/
@Getter
public final class CompatibilityLoggerProvider implements SLF4JServiceProvider {
public class CompatibilityLoggerProvider implements SLF4JServiceProvider {
/**
* Contains a {@link CompatibilityLoggerFactory}.
*

View file

@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
*/
@EngineSubsystem
@SuppressWarnings({ "JavadocDeclaration" })
public final class Slf4jCompatSubsystem extends SubsystemClass {
public class Slf4jCompatSubsystem extends SubsystemClass {
/**
* Contains the class instance.
*

View file

@ -21,6 +21,5 @@
* Code of the SLF4J Compatibility subsystem.
*
* @see de.staropensource.sosengine.slf4j_compat.Slf4jCompatSubsystem#Slf4jCompatSubsystem()
* @since v1-alpha0
*/
package de.staropensource.sosengine.slf4j_compat;

View file

@ -6,7 +6,7 @@
*/
module sosengine.slf4j_compat {
// Dependencies
// -> Engine
// -> Subsystems
requires transitive sosengine.base;
// -> Libraries
requires transitive static lombok;

View file

@ -6,8 +6,10 @@
*/
open module sosengine.testapp {
// Dependencies
// -> Engine
// -> Subsystems
requires sosengine.base;
requires sosengine.windowing;
requires sosengine.slf4j_compat;
// -> Libraries
requires static lombok;
}

View file

@ -5,7 +5,7 @@
*/
module sosengine.testing {
// Dependencies
// -> Engine
// -> Subsystems
requires transitive sosengine.base;
// -> Libraries
requires transitive static lombok;

View file

@ -1,22 +0,0 @@
<!--
~ STAROPENSOURCE ENGINE SOURCE FILE
~ Copyright (c) 2024 The StarOpenSource Engine Contributors
~ Licensed under the GNU Affero General Public License v3
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU Affero General Public License as
~ published by the Free Software Foundation, either version 3 of the
~ License, or (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU Affero General Public License for more details.
~
~ You should have received a copy of the GNU Affero General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<body>
<p>Welcome to the sos!engine API documentation!<br/>
You are currently in the documentation for the <b>testing</b> subproject, which provides classes useful for testing the engine.</p>
</body>

View file

@ -1 +0,0 @@
../../../../src/main/javadoc/theme.css

View file

@ -328,7 +328,7 @@ public class GlfwWindow extends Window {
if (isTerminated())
return false;
return Miscellaneous.getTristatedInteger(glfwGetWindowAttrib(identifierLong, GLFW_FOCUSED)).toBoolean();
return Tristate.toBoolean(Miscellaneous.getTristatedInteger(glfwGetWindowAttrib(identifierLong, GLFW_FOCUSED)));
}
/** {@inheritDoc} */

View file

@ -8,7 +8,7 @@ import de.staropensource.sosengine.windowing.implementable.Window;
*/
module sosengine.windowing.glfw {
// Dependencies
// -> Engine
// -> Subsystems
requires transitive sosengine.base;
requires transitive sosengine.windowing;
// -> Libraries

View file

@ -736,7 +736,7 @@ public abstract class Window implements AutoCloseable {
/**
* Builds a new {@link Window} instance.
*
* @throws IllegalStateException if {@link #title}, {@link #size} or {@link #position} is unset
* @throws IllegalStateException if the window title, size or position is unset
* @throws Exception thrown when creating a new {@link Window} instance fails
* @return {@link Window} instance
* @since v1-alpha2
@ -949,7 +949,6 @@ public abstract class Window implements AutoCloseable {
*
* @param name new window name
* @return builder instance
* @see Window#name
* @since v1-alpha2
*/
public @NotNull Builder setName(@Nullable String name) {
@ -962,7 +961,6 @@ public abstract class Window implements AutoCloseable {
*
* @param title new window title
* @return builder instance
* @see Window#title
* @since v1-alpha2
*/
public @NotNull Builder setTitle(@Nullable String title) {
@ -975,7 +973,6 @@ public abstract class Window implements AutoCloseable {
*
* @param size new window size
* @return builder instance
* @see Window#size
* @since v1-alpha2
*/
public @NotNull Builder setSize(@Nullable Vec2i size) {
@ -988,7 +985,6 @@ public abstract class Window implements AutoCloseable {
*
* @param minimumSize new minimum window size
* @return builder instance
* @see Window#minimumSize
* @since v1-alpha2
*/
public @NotNull Builder setMinimumSize(@Nullable Vec2i minimumSize) {
@ -1001,7 +997,6 @@ public abstract class Window implements AutoCloseable {
*
* @param maximumSize new maximum window size
* @return builder instance
* @see Window#maximumSize
* @since v1-alpha2
*/
public @NotNull Builder setMaximumSize(@Nullable Vec2i maximumSize) {
@ -1014,7 +1009,6 @@ public abstract class Window implements AutoCloseable {
*
* @param position new window position
* @return builder instance
* @see Window#position
* @since v1-alpha2
*/
public @NotNull Builder setPosition(@Nullable Vec2i position) {
@ -1027,7 +1021,6 @@ public abstract class Window implements AutoCloseable {
*
* @param windowMode new window mode
* @return builder instance
* @see Window#windowMode
* @since v1-alpha2
*/
public @NotNull Builder setWindowMode(@Nullable WindowMode windowMode) {
@ -1040,7 +1033,6 @@ public abstract class Window implements AutoCloseable {
*
* @param monitor new target monitor
* @return builder instance
* @see Window#monitor
* @since v1-alpha2
*/
private synchronized @NotNull Builder setMonitor(@Nullable Monitor monitor) {
@ -1053,7 +1045,6 @@ public abstract class Window implements AutoCloseable {
*
* @param resizable new resizable flag state
* @return builder instance
* @see Window#resizable
* @since v1-alpha2
*/
public @NotNull Builder setResizable(@NotNull Tristate resizable) {
@ -1066,7 +1057,6 @@ public abstract class Window implements AutoCloseable {
*
* @param borderless new borderless flag state
* @return builder instance
* @see Window#borderless
* @since v1-alpha2
*/
public @NotNull Builder setBorderless(@NotNull Tristate borderless) {
@ -1079,7 +1069,6 @@ public abstract class Window implements AutoCloseable {
*
* @param focusable new focusable flag state
* @return builder instance
* @see Window#focusable
* @since v1-alpha2
*/
public @NotNull Builder setFocusable(@NotNull Tristate focusable) {
@ -1092,7 +1081,6 @@ public abstract class Window implements AutoCloseable {
*
* @param onTop new on top flag state
* @return builder instance
* @see Window#onTop
* @since v1-alpha2
*/
public @NotNull Builder setOnTop(@NotNull Tristate onTop) {
@ -1105,7 +1093,6 @@ public abstract class Window implements AutoCloseable {
*
* @param transparent new transparency flag state
* @return builder instance
* @see Window#transparent
* @since v1-alpha2
*/
public @NotNull Builder setTransparent(@NotNull Tristate transparent) {
@ -1118,7 +1105,6 @@ public abstract class Window implements AutoCloseable {
*
* @param rendering new rendering flag state
* @return builder instance
* @see Window#rendering
* @since v1-alpha2
*/
public @NotNull Builder setRendering(@NotNull Tristate rendering) {

View file

@ -6,7 +6,7 @@
*/
module sosengine.windowing {
// Dependencies
// -> Engine
// -> Subsystems
requires transitive sosengine.base;
// -> Libraries
requires transitive static lombok;