Skip to content

Commit

Permalink
Added changelog and increased version to 3.14.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pkraif committed Oct 19, 2022
1 parent 3740323 commit 3f76da7
Show file tree
Hide file tree
Showing 29 changed files with 101 additions and 73 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions BBMOD_GML/objects/OPlayer/CleanUp_0.gml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ event_inherited();

camera = camera.destroy();

bbmod_light_punctual_remove(flashlight);
window_set_cursor(cr_default);
5 changes: 5 additions & 0 deletions BBMOD_GML/objects/OPlayer/Create_0.gml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ matrixGun = matrix_build_identity();

punchRight = true;

flashlight = new BBMOD_SpotLight();
flashlight.Range = 300;
flashlight.Color.Alpha = 0.1;
bbmod_light_punctual_add(flashlight);

////////////////////////////////////////////////////////////////////////////////
// Camera

Expand Down
7 changes: 7 additions & 0 deletions BBMOD_GML/objects/OPlayer/Step_0.gml
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,13 @@ else
animationPlayer.set_node_rotation(_rightArmIndex, undefined);
}

////////////////////////////////////////////////////////////////////////////////
// Adjust flashlight
flashlight.Enabled = !global.day;
flashlight.Direction = new BBMOD_Vec3(dcos(directionBody), -dsin(directionBody), 0.0);
flashlight.Position = new BBMOD_Vec3(x, y, z + 20.0)
.Add(flashlight.Direction.Scale(2.0));

////////////////////////////////////////////////////////////////////////////////
// Game over
if (hp <= 0.0)
Expand Down
2 changes: 1 addition & 1 deletion BBMOD_GML/options/amazonfire/options_amazonfire.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/android/options_android.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/html5/options_html5.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/ios/options_ios.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/linux/options_linux.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/mac/options_mac.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/operagx/options_operagx.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/tvos/options_tvos.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/windows/options_windows.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion BBMOD_GML/options/windowsuap/options_windowsuap.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions BBMOD_GML/scripts/BBMOD_BaseCamera/BBMOD_BaseCamera.gml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
/// @see BBMOD_Camera
function BBMOD_BaseCamera()
: BBMOD_Class() constructor
{
{
BBMOD_CLASS_GENERATED_BODY;

static Class_destroy = destroy;

/// @var {camera} An underlying GameMaker camera.
/// @var {camera} An underlying GameMaker camera.
/// @readonly
Raw = camera_create();

Expand Down Expand Up @@ -72,12 +72,12 @@ function BBMOD_BaseCamera()
///
/// @desc Recomputes camera's view and projection matrices.
///
/// @return {Struct.BBMOD_Camera} Returns `self`.
/// @return {Struct.BBMOD_BaseCamera} Returns `self`.
///
/// @note This is called automatically in the {@link BBMOD_Camera.update}
/// @note This is called automatically in the {@link BBMOD_BaseCamera.update}
/// method, so you do not need to call this unless you modify
/// {@link BBMOD_Camera.Position} or {@link BBMOD_Camera.Target} after the
/// `update` method.
/// {@link BBMOD_BaseCamera.Position} or {@link BBMOD_BaseCamera.Target}
/// after the `update` method.
///
/// @example
/// ```gml
Expand Down
6 changes: 4 additions & 2 deletions BBMOD_GML/scripts/BBMOD_BaseShader/BBMOD_BaseShader.gml
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,8 @@ function BBMOD_BaseShader(_shader, _vertexFormat)

/// @func set_point_lights([_lights])
///
/// @desc Sets uniform `bbmod_LightPunctualDataA`.
/// @desc Sets uniforms `bbmod_LightPunctualDataA` and
/// `bbmod_LightPunctualDataB`.
///
/// @param {Array<Struct.BBMOD_PointLight>} [_lights] An array of point
/// lights. If `undefined`, then the lights defined using
Expand All @@ -310,7 +311,8 @@ function BBMOD_BaseShader(_shader, _vertexFormat)

/// @func set_punctual_lights([_lights])
///
/// @desc Sets uniform `bbmod_LightPunctualDataA`.
/// @desc Sets uniforms `bbmod_LightPunctualDataA` and
/// `bbmod_LightPunctualDataB`.
///
/// @param {Array<Struct.BBMOD_PunctualLight>} [_lights] An array of punctual
/// lights. If `undefined`, then the lights defined using
Expand Down
6 changes: 3 additions & 3 deletions BBMOD_GML/scripts/BBMOD_Gizmo/BBMOD_Gizmo.gml
Original file line number Diff line number Diff line change
Expand Up @@ -606,9 +606,9 @@ function BBMOD_Gizmo(_size=10.0)
///
/// @return {Struct.BBMOD_Gizmo} Returns `self`.
///
/// @note This requires you to use a {@link BBMOD_Camera} and it will not
/// do anything if its [apply](./BBMOD_Camera.apply.html) method has not been
/// called yet!
/// @note This requires you to use a {@link BBMOD_BaseCamera} and it will
/// not do anything if its [apply](./BBMOD_BaseCamera.apply.html) method has
/// not been called yet!
static update = function (_deltaTime) {
if (!global.__bbmodCameraCurrent)
{
Expand Down
4 changes: 2 additions & 2 deletions BBMOD_GML/scripts/BBMOD_PunctualLight/BBMOD_PunctualLight.gml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ global.__bbmodPunctualLights = [];
/// Defaults to `(0, 0, 0)`.
/// @param {Real} [_range] The light's range. Defaults to 1.
///
/// @see BBMOD_PunctualLight
/// @see BBMOD_PointLight
/// @see BBMOD_SpotLight
function BBMOD_PunctualLight(_color=BBMOD_C_WHITE, _position=undefined, _range=1.0)
: BBMOD_Light() constructor
{
{
BBMOD_CLASS_GENERATED_BODY;

/// @var {Struct.BBMOD_Color} The color of the light. Default value is
Expand Down
4 changes: 4 additions & 0 deletions BBMOD_GML/scripts/__bbmod_camera/__bbmod_camera.gml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/// @var {Struct.BBMOD_BaseCamera} The last used camera. Can be `undefined`.
/// @private
global.__bbmodCameraCurrent = undefined;

/// @var {Struct.BBMOD_Vec3}
/// @private
global.__bbmodCameraPosition = new BBMOD_Vec3();
Expand Down
4 changes: 0 additions & 4 deletions BBMOD_GML/scripts/__bbmod_init/__bbmod_init.gml
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
/// @var {Struct.BBMOD_Camera} The last used camera. Can be `undefined`.
/// @private
global.__bbmodCameraCurrent = undefined;

/// @var {Struct.BBMOD_Renderer} The last used renderer. Can be `undefined`.
/// @private
global.__bbmodRendererCurrent = undefined;
7 changes: 3 additions & 4 deletions BBMOD_GML/scripts/__bbmod_init/__bbmod_init.yy

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 0 additions & 39 deletions ChangelogDev.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,3 @@
# Changelog dev
> This file is used to accumulate changes before a changelog for a release is
> created.
## GML API:
### Core module:
* Method `BBMOD_RenderQueue.set_sampler` now also accepts a specific index instead of just a uniform name. This is useful for HLSL11, which does not have the `uniform` keyword.
* Added new struct `BBMOD_PunctualLight`, which is a base struct for punctual lights.
* Struct `BBMOD_PointLight` now inherits from `BBMOD_PunctualLight`.
* Added new struct `BBMOD_SpotLight`, which is a new punctual light - a spot light.
* Added new function `bbmod_light_punctual_add`, which adds a punctual light to be sent to shaders.
* Added new function `bbmod_light_punctual_count`, which retrieves number of punctual lights added to be sent to shaders.
* Added new function `bbmod_light_punctual_get`, which retrieves a punctual light at given index.
* Added new function `bbmod_light_punctual_remove`, which removes a punctual light so it is not sent to shaders anymore.
* Added new function `bbmod_light_punctual_remove_index`, which removes a punctual light so it is not sent to shaders anymore.
* Added new function `bbmod_light_punctual_clear`, which removes all punctual lights sent to shaders.
* Functions `bbmod_light_point_add`, `bbmod_light_point_count`, `bbmod_light_point_get`, `bbmod_light_point_remove`, `bbmod_light_point_remove_index` and `bbmod_light_point_clear` are now deprecated. Please use the new `bbmod_light_punctual_*` functions instead.
* Added new property `MaxPunctualLights` to `BBMOD_BaseShader`, which is the maximum number of punctual lights in the shader. This must match with value defined in the raw GameMaker shader!
* Property `MaxPointLights` of `BBMOD_BaseShader` is now obsolete. Please use the new `MaxPunctualLights` instead.
* Added new method `set_punctual_lights` to `BBMOD_BaseShader`, which sets uniform `bbmod_LightPunctualDataA`.
* Method `set_point_lights` of `BBMOD_BaseShader` is now deprecated, please use the new `set_punctual_lights` instead.

### Camera module:
* Added new property `Up` to `BBMOD_Camera`, which is the camera's up vector.
* Changed `BBMOD_Camera.AspectRatio`'s default value to `window width / window height`. Previously it was set to `16 / 9`.
* Added new struct `BBMOD_BaseCamera`, which inherits from `BBMOD_Class` and it is now the base struct for cameras. It has a `destroy` method that destroys the raw GameMaker camera!
* Struct `BBMOD_Camera` now inherits from `BBMOD_BaseCamera`.

## Raycasting module:
* Added new struct `BBMOD_FrustumCollider`, which is a frustum collider that can be initialized from any view-projection matrix or a `BBMOD_Camera`.
* Added new method `TestFrustum` to `BBMOD_Collider`, which tests whether a collider intersects with a frustum collider. This method is by default not implemented and it will throw a `BBMOD_NotImplementedException`!
* Implemented method `TestFrustum` for `BBMOD_SphereCollider`.

## Rendering module:
### Post-processing submodule:
* Added new struct `BBMOD_PostProcessor`, which handles post-processing effects.

### Renderer submodule:
* Moved enum `BBMOD_EAntialiasing` from the Renderer submodule to the Post-processing submodule.
* Moved properties `ColorGradingLUT`, `ChromaticAberration`, `Grayscale`, `Vignette`, `VignetteColor` and `Antialiasing` from `BBMOD_Renderer` to `BBMOD_PostProcessor`.
* Added new property `PostProcessor` to `BBMOD_Renderer`, which is an instance of post-processor. Default is `undefined`.
* Property `EnablePostProcessing` of `BBMOD_Renderer` is now obsolete.
41 changes: 41 additions & 0 deletions docs_src/Changelog/Changelog3.14.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Changelog 3.14.0
This release brings various improvements to different parts of the library. Post-processing was separated from renderer into a dedicated struct. A new type of punctual light was added - a spot light. A frustum collider and frustum-sphere intersection test was added, using which you can make simple frustum culling. Lastly, a new basic camera with full control over from, to and up vectors was added, so it is easier to create BBMOD cameras matching regular GameMaker cameras.

## GML API:
### Core module:
* Method `BBMOD_RenderQueue.set_sampler` now also accepts a specific index instead of just a uniform name. This is useful for HLSL11, which does not have the `uniform` keyword.
* Added new struct `BBMOD_PunctualLight`, which is a base struct for punctual lights.
* Struct `BBMOD_PointLight` now inherits from `BBMOD_PunctualLight`.
* Added new struct `BBMOD_SpotLight`, which is a new punctual light - a spot light.
* Added new function `bbmod_light_punctual_add`, which adds a punctual light to be sent to shaders.
* Added new function `bbmod_light_punctual_count`, which retrieves number of punctual lights added to be sent to shaders.
* Added new function `bbmod_light_punctual_get`, which retrieves a punctual light at given index.
* Added new function `bbmod_light_punctual_remove`, which removes a punctual light so it is not sent to shaders anymore.
* Added new function `bbmod_light_punctual_remove_index`, which removes a punctual light so it is not sent to shaders anymore.
* Added new function `bbmod_light_punctual_clear`, which removes all punctual lights sent to shaders.
* Functions `bbmod_light_point_add`, `bbmod_light_point_count`, `bbmod_light_point_get`, `bbmod_light_point_remove`, `bbmod_light_point_remove_index` and `bbmod_light_point_clear` are now deprecated. Please use the new `bbmod_light_punctual_*` functions instead.
* Added new property `MaxPunctualLights` to `BBMOD_BaseShader`, which is the maximum number of punctual lights in the shader. This must match with value defined in the raw GameMaker shader!
* Property `MaxPointLights` of `BBMOD_BaseShader` is now obsolete. Please use the new `MaxPunctualLights` instead.
* Added new method `set_punctual_lights` to `BBMOD_BaseShader`, which sets uniform `bbmod_LightPunctualDataA`.
* Method `set_point_lights` of `BBMOD_BaseShader` is now deprecated, please use the new `set_punctual_lights` instead.

### Camera module:
* Added new property `Up` to `BBMOD_Camera`, which is the camera's up vector.
* Changed `BBMOD_Camera.AspectRatio`'s default value to `window_get_width() / window_get_height()`. Previously it was set to `16 / 9`.
* Added new struct `BBMOD_BaseCamera`, which inherits from `BBMOD_Class` and it is now the base struct for cameras. It has a `destroy` method that destroys the raw GameMaker camera!
* Struct `BBMOD_Camera` now inherits from `BBMOD_BaseCamera`.

### Raycasting module:
* Added new struct `BBMOD_FrustumCollider`, which is a frustum collider that can be initialized from any view-projection matrix or a `BBMOD_Camera`.
* Added new method `TestFrustum` to `BBMOD_Collider`, which tests whether a collider intersects with a frustum collider. This method is by default not implemented and it will throw a `BBMOD_NotImplementedException`!
* Implemented method `TestFrustum` for `BBMOD_SphereCollider`.

### Rendering module:
#### Post-processing submodule:
* Added new struct `BBMOD_PostProcessor`, which handles post-processing effects.

#### Renderer submodule:
* Moved enum `BBMOD_EAntialiasing` from the Renderer submodule to the Post-processing submodule.
* Moved properties `ColorGradingLUT`, `ChromaticAberration`, `Grayscale`, `Vignette`, `VignetteColor` and `Antialiasing` from `BBMOD_Renderer` to `BBMOD_PostProcessor`.
* Added new property `PostProcessor` to `BBMOD_Renderer`, which is an instance of post-processor. Default is `undefined`.
* Property `EnablePostProcessing` of `BBMOD_Renderer` is now obsolete.
1 change: 1 addition & 0 deletions docs_src/Changelog/Changelog_.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
In this section you can find changelogs for all releases of BBMOD since 3.0.0.

## Contents
* [3.14.0](./Changelog3.14.0.html)
* [3.13.1](./Changelog3.13.1.html)
* [3.13.0](./Changelog3.13.0.html)
* [3.12.0](./Changelog3.12.0.html)
Expand Down
1 change: 1 addition & 0 deletions docs_src/Modules/CameraModule.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ making 3D games using BBMOD.

## Scripting API
### Structs
* [BBMOD_BaseCamera](./BBMOD_BaseCamera.html)
* [BBMOD_Camera](./BBMOD_Camera.html)
8 changes: 8 additions & 0 deletions docs_src/Modules/CoreModule.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,12 @@ quaternions etc.
* [bbmod_light_point_get](./bbmod_light_point_get.html)
* [bbmod_light_point_remove_index](./bbmod_light_point_remove_index.html)
* [bbmod_light_point_remove](./bbmod_light_point_remove.html)
* [bbmod_light_punctual_add](./bbmod_light_punctual_add.html)
* [bbmod_light_punctual_clear](./bbmod_light_punctual_clear.html)
* [bbmod_light_punctual_count](./bbmod_light_punctual_count.html)
* [bbmod_light_punctual_get](./bbmod_light_punctual_get.html)
* [bbmod_light_punctual_remove_index](./bbmod_light_punctual_remove_index.html)
* [bbmod_light_punctual_remove](./bbmod_light_punctual_remove.html)
* [bbmod_material_exists](./bbmod_material_exists.html)
* [bbmod_material_get](./bbmod_material_get.html)
* [bbmod_material_register](./bbmod_material_register.html)
Expand Down Expand Up @@ -181,11 +187,13 @@ quaternions etc.
* [BBMOD_OutOfBoundsException](./BBMOD_OutOfBoundsException.html)
* [BBMOD_PointLight](./BBMOD_PointLight.html)
* [BBMOD_Property](./BBMOD_Property.html)
* [BBMOD_PunctualLight](./BBMOD_PunctualLight.html)
* [BBMOD_Quaternion](./BBMOD_Quaternion.html)
* [BBMOD_RenderCommand](./BBMOD_RenderCommand.html)
* [BBMOD_RenderQueue](./BBMOD_RenderQueue.html)
* [BBMOD_Resource](./BBMOD_Resource.html)
* [BBMOD_Shader](./BBMOD_Shader.html)
* [BBMOD_SpotLight](./BBMOD_SpotLight.html)
* [BBMOD_Sprite](./BBMOD_Sprite.html)
* [BBMOD_StaticBatch](./BBMOD_StaticBatch.html)
* [BBMOD_Vec2](./BBMOD_Vec2.html)
Expand Down
1 change: 1 addition & 0 deletions docs_src/Modules/RaycastingModule.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ used for smaller projects that do not require complex collision checking.
### Structs
* [BBMOD_AABBCollider](./BBMOD_AABBCollider.html)
* [BBMOD_Collider](./BBMOD_Collider.html)
* [BBMOD_FrustumCollider](./BBMOD_FrustumCollider.html)
* [BBMOD_PlaneCollider](./BBMOD_PlaneCollider.html)
* [BBMOD_Ray](./BBMOD_Ray.html)
* [BBMOD_RaycastResult](./BBMOD_RaycastResult.html)
Expand Down
2 changes: 1 addition & 1 deletion docs_src/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# BBMOD
Welcome to the official documentation of BBMOD 3.13.1!
Welcome to the official documentation of BBMOD 3.14.0!

BBMOD is an advanced 3D rendering solution for GameMaker. It consists of a
custom model and animation file formats (`*.bbmod`, `*.bbanim`), a model
Expand Down
3 changes: 2 additions & 1 deletion gmdoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"title": "BBMOD Docs",
"author": "BlueBurn",
"prefix": ["bbmod", "__bbmod"],
"version": "3.13.1",
"version": "3.14.0",
"analytics": "",
"api": {
"rating": "/bbmod/page_rating.php"
Expand All @@ -15,6 +15,7 @@
"Changelog": {
"file": "Changelog/Changelog_.md",
"pages": {
"3.14.0": "Changelog/Changelog3.14.0.md",
"3.13.1": "Changelog/Changelog3.13.1.md",
"3.13.0": "Changelog/Changelog3.13.0.md",
"3.12.0": "Changelog/Changelog3.12.0.md",
Expand Down

0 comments on commit 3f76da7

Please sign in to comment.