Commit graph

2778 commits

Author SHA1 Message Date
Agent X
5b5b9101f8 Merge branch 'dev' into screen-shader-effects 2026-05-03 19:10:39 -04:00
jayden
5dabcaa313
Add audio_stream_get/set_volume_channel (#1205)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
Allows modders to play audio streams on channels other than level background music.
4 constants have been added for this purpose:
- `MOD_AUDIO_CHANNEL_MASTER` - sound is only affected by master volume
- `MOD_AUDIO_CHANNEL_MUSIC` - sound is affected by music volume, same as previous behaviour
- `MOD_AUDIO_CHANNEL_SFX` - sound is affected by sfx volume, same as sample behaviour
- `MOD_AUDIO_CHANNEL_ENV` - sound is affected by env volume 
This was done instead of using the existing `SEQ_PLAYER_*` constants to avoid confusion and because there isn't a `NONE`/`MASTER` option.

Additionally, sets the default to `MOD_AUDIO_CHANNEL_MUSIC` as to not break compatibility.

```lua
audio_stream_set_volume_channel(stream, MOD_AUDIO_CHANNEL_SFX) -- wow its just like a sample
audio_stream_get_volume_channel(stream) -- returns MOD_AUDIO_CHANNEL_SFX (its actually 2)
```
2026-05-03 17:59:11 +10:00
Agent X
8afdcda1d1 Address review 2026-05-02 21:43:49 -04:00
Agent X
e7dcfb6f54
Merge branch 'dev' into screen-shader-effects 2026-05-02 16:39:01 -04:00
Agent X
8796f2abd7 Fix some default values 2026-05-02 16:37:22 -04:00
Agent X
594cb4cc33 Merge branch 'dev' into screen-shader-effects 2026-05-02 15:31:52 -04:00
djoslin0
e88bd178fc
Refactor collision surface systems and add the ability to add/remove/move surfaces (#1143)
- Add `smlua_collision_add_surface`, `_move_surface`, `_delete_surface` Lua APIs
- Add `remove_static_object_collision` to fully free a SOC and its surfaces
- Split surface pools into separate static, SOC, and dynamic pools
- Replace index-based SOC tracking with unique ID counter (`sSOCIdCounter`)
- Invalidate Lua CObjects for recycled surfaces on pool clear
- Expose `SURFACE_POOL_STATIC/DYNAMIC/SOC` constants to Lua
- Add `growing_array_swap_and_pop` and `growing_array_swap_and_pop_index` to memory utils

Co-authored-by: MysterD <myster@d>
2026-05-02 14:58:46 -04:00
PeachyPeachSM64
b4ce78e6d6 Run autogen 2026-05-02 12:44:36 +02:00
Cooliokid956
3459e7fa83
Fix ModAudio.file.relativePath virtually (#1214)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
Applied a compatibility band-aid for `ModAudio.file.relativePath` using unions and properties. The only real thing here is the new hidden `return_self` function I had to make for this to work

unction
2026-05-02 00:35:27 -04:00
EmeraldLockdown
b4b31bdb0c
Multiple dx11 fixes (#1213)
* This is an awful workflow. Probably still need to update dx11 program ver

* Yea, going to despise this workflow

* Whoops

* Weewoo

* Fix comp error

* Bump dx11 ver due to it having an extremely limited number of inputs
2026-05-01 22:46:15 -04:00
EmeraldLockdown
37f4b2e550
Expose gHudDisplay (#1158)
* Expose `gHudDisplay`

* Fix that
2026-05-01 22:25:06 -04:00
Cooliokid956
1d9de02af1
CObject Properties (#1068)
* CObject Properties

- Added property members to CObjects via `PROPERTY` macro
`PROPERTY(name, get, set)`
  - `name`: property name
  - `get`: `fun(self): value`
  - `set`: `fun(self, value)`
- Prettified `LuaObjectField` struct with unions for function/property value types
- Added properties to `struct ModAudio`
  - `position`
  - `looping`
  - `frequency`
  - `volume`
    - NOTE: only work with streams- the audio reform will come later

* Define array size only when necessary

- new `__pairs` metamethod for `CObject`s, cycles through all of an object's fields, in alphabetical order
- stray semicolon!
2026-05-01 22:12:51 -04:00
Cooliokid956
d973faffed
Add version info (Windows) + Smart update checker (#1069)
* Add version info (Windows) + Smart update checker

* patch autogen, remove prints

* Fix special case (min=0,fix=!0)

* Not that obvious!!

* Still too obvious... last one

* the djoslin0 review

* Nuked
2026-05-01 22:05:42 -04:00
Squishy
0d95dfde11
Add independent X and Y scaling to text rendering functions (#1182)
* djui scale cool awesome

* fix autogen

* stop unnecessary yellow underlines

* Fix accidental bind removal
2026-05-01 21:17:44 -04:00
Emeraldsniper
0e2ba340fc
Control the Lighting Engine with le_set_enabled in real time (#1193)
* Control the Lighting Engine with le_disable and le_enable in real time

(FORK REDO FOR PR)

* I hate it when I typo

* Control the Lighting Engine in real time with le_set_active (new change)

* Changed to le_set_enabled to be better in line with functions
2026-05-01 21:15:09 -04:00
Agent X
675c71e00d v1.5 2026-05-01 21:01:14 -04:00
Blockyyy
793196d581
add stayInLevelAfterStar constants (#1210)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2026-04-30 12:24:57 +10:00
Agent X
f10e3062d8 Change 0.85x DJUI scale to 0.75x
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2026-04-22 18:18:42 -04:00
Agent X
668c1678ad Revert "Add scroll support to DJUI menus (#1173)"
This reverts commit f76f8d3c08.
2026-04-22 18:15:32 -04:00
Leonardo Manrique
a6b24865fa
Fix syntax error in _clock_gettime POSIX fallback (#1204)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
Remove stray `)` after the fallback clock_gettime() call in the _POSIX_MONOTONIC_CLOCK == 0 branch.
2026-04-22 16:41:51 +10:00
Cooliokid956
b05b929fa4
Upgrade miniaudio: v0.11.21 -> v0.11.25 (#1065)
* Upgraded miniaudio: `v0.11.21` -> `v0.11.23`

Benefits:
- Read changelogs (lots of bug fixes!)
  - [0.11.22](https://github.com/mackron/miniaudio/releases/tag/0.11.22)
  - [0.11.23](https://github.com/mackron/miniaudio/releases/tag/0.11.23)
- Split files means shorter compile times for dependent files

* Upgraded miniaudio again: `v0.11.23` -> `v0.11.25`

Read changelogs (lots of bug fixes!)
- [0.11.24](https://github.com/mackron/miniaudio/releases/tag/0.11.24)
- [0.11.25](https://github.com/mackron/miniaudio/releases/tag/0.11.25)
2026-04-21 23:43:02 -04:00
EmeraldLockdown
638a242763
Mark all unused variables as unused, resolve other warnings (#1147)
* Mark all unused variables as unused, resolve some unsafe code, some things still need to be looked at

* Remove a lot of unused variables that didn't need to exisat

* Remove UNUSED keyword from appartion values

---------

Co-authored-by: Agent X <44549182+AgentXLP@users.noreply.github.com>
2026-04-21 23:40:24 -04:00
EmeraldLockdown
6510f3928c
Fix cutscenes, syncing issues, and more (Yoshi!) (#1109)
* Fixes

* Lots more changes

* Yoshi :D

* Remove some unecessary changes

* Oops

* Remove temp code

* Revert changes made to king bobomb, will be handled in #1196

* copied from main not dev, oops

* Address review and do a minor improvement

* Nuke that
2026-04-21 23:37:30 -04:00
EmeraldLockdown
f04106325e
Make languages default to english with missing data (#1140)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
* Make languages default to english with missing data

* Make syntax in ini more concise

* coolio is happy now, right?

* good idea peachy, thanks!
2026-04-21 21:49:02 -04:00
mingokrb
df73c83a67
Add "do not show again" checkbox to host message panel (#1165)
* Add "do not show again" checkbox to host message panel

* remove unused lines

was messing with the checkbox size to see how it would look but in the end i just kept it default, so these are now just useless lines i forgot to remove

* Add Russian and Spanish translations
2026-04-21 21:43:18 -04:00
abcpea
84b2aead86
Improved deadzone implementation (#1077)
* Improved deadzone implementation (sneaking now possible even with high deadzones)

* Reworked deadzone algorithm

* Faster/Stronger/Better

* minor renaming

* Requested change

* use float instead of double sqrt()
2026-04-21 21:42:09 -04:00
Leonardo Manrique
f76f8d3c08
Add scroll support to DJUI menus (#1173)
Adds scrollable capability to DJUI panels, fixing a well known bug where users had to change DJUI scale just to be able to press hidden buttons
2026-04-21 21:40:43 -04:00
jayden
45bc3062be
Fix get_texture_info and add HOOK_ON_DYNOS_PACKS_TOGGLED (#1181)
* respect overridden textures

* add HOOK_ON_DYNOS_CHANGED

* document HOOK_ON_DYNOS_CHANGED

* HOOK_ON_DYNOS_CHANGED -> HOOK_ON_DYNOS_PACK_TOGGLED

* Apply suggestions from code review

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>

* Update data/dynos_mgr_tex.cpp

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>

* add missing include

* add pack name and enabled

---------

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
2026-04-21 21:22:18 -04:00
ManIsCat2
962ea72e41
Fix Texture tiles & Add shift support (#1095)
* shift support

* 14 days for ts :wilted_rose:

---------

Co-authored-by: xLuigiGamerx <88401287+xLuigiGamerx@users.noreply.github.com>
2026-04-21 21:21:39 -04:00
EmeraldLockdown
660f9aff80
Allow clients to view server settings (#973)
* Allow clients to view server settings

* Remove unecessary include

* Address review

* Address reviews
2026-04-21 21:18:29 -04:00
Agent X
0f8169a854 Merge branch 'dev' into screen-shader-effects 2026-04-21 21:10:06 -04:00
jayden
21dd1ce81d
Add mod_fs_file_set_compression (#1187)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
* add compression level to modfs files

* document modfs compression

* correction in modfs guide

* undo text mode write check

* compression level use s32 instead of int

* fix missing s32
2026-04-10 23:25:58 +02:00
Agent X
a194f4eaa1 Merge branch 'dev' into screen-shader-effects 2026-04-08 22:56:08 -04:00
PeachyPeach
24c5a226ed
Fix mod storage load/save number (#1169)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
- Fix `mod_storage_load/save_number` incorrect behavior. These functions should now be used only with numbers, not integers (see next point). The `mod_storage_load_number` can still load integer values from existing mod storage files.
- Add `mod_storage_load/save_integer` for integer values.
- Expand the range of savable values to `double` (64-bit float) and `long long` (64-bit integer) for respectively `number` and `integer` mod storage functions.
- Fix an obscure bug with `smlua_to_integer` that truncated very high integer values due to an implicit cast to double, causing floating-point imprecision issues. Thanks @yoshiweegee for the explanation.
2026-04-05 10:56:53 +10:00
PeachyPeach
de25c5437b
Make djui_hud_measure_text compute text height (#1177)
- Change `djui_hud_measure_text` to return both text width and height
  - New syntax is: `local width, height = djui_hud_measure_text(text)`
  - Old syntax still works, but only returns `width`
- Fix incorrect char height for some fonts
- Fix nametags interpolation using the wrong scale
2026-04-05 10:00:03 +10:00
PeachyPeach
8afe062be1
Fix nametags color and rendering order (#1150)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
* Fix nametags color and rendering order

* make growing_array_init reuse array and buffer if they were already allocated

* use prim color for text color

* isaac review

* update text color descriptions

* small optimization
2026-04-04 09:37:16 +10:00
PeachyPeachSM64
ba54cbd1d0 path separators
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2026-04-03 00:23:31 +02:00
PeachyPeachSM64
5288ac5b2d fix text interpolation with legacy font 2026-03-29 19:24:28 +02:00
Gibson Pilconis
b27fa1dd7a
Fix rumble and add PS4/PS5 controller rumble. (#1007)
Previously `thread6_rumble_loop()` was only being called once in
`thread5_game_loop()`. This commit removes that call and adds one to
`game_loop_one_iteration()`, creating the desired outcome of
`thread6_runnable_loop()` running once per frame.

Additionally, PS4 and PS5 rumble support is added. PS4 and PS5 rumble
requires a feature called 'extended reporting', which can be enabled
using two SDL hints. Since extended reported, once enabled, breaks
compatibility with DirectInput until the controller is restarted, an
option is also added to the configuration menu to toggle this
functionality.
2026-03-27 12:54:05 +10:00
EmeraldLockdown
43c697edf7
Fix issue with mouse buttons being applied to pad (#1156)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2026-03-26 12:52:21 +10:00
Agent X
78c7076f16 Merge remote-tracking branch 'origin/dev' into screen-shader-effects 2026-03-20 18:03:27 -04:00
Isaac0-dev
fb8fbd1136 forgot to run autogen [build]
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2026-03-20 16:49:29 +10:00
Isaac0-dev
111b2e7ea5 bump version [build] 2026-03-20 16:48:33 +10:00
ThePlayerRolo
7ec6c77e1c
Implement smlua_audio_utils_allocate_sequence() (#891)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2026-03-20 08:14:24 +10:00
Isaac0-dev
34d4069c53 more scroll texture fixes
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2026-03-19 23:01:30 +10:00
PeachyPeach
e645aa7cef
Adds compilation fixes for ARM in headless mode (#1151)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
Co-authored-by: Alfredo <jalfredo.gallegos@gmail.com>
2026-03-16 22:32:39 +01:00
EmeraldLockdown
8735cf96ad
Add get_mod_files (#1091)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
* Add `get_mod_files`

* Dont allocate memory, use the stack

* Implement peachy's suggestion

* Actually allow optional to wrok
2026-03-15 21:49:01 +01:00
djoslin0
2c367b556d
Add surface collision Lua hooks (#1139)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
* Add surface collision Lua hooks

- Add 6 new hooks:
    HOOK_ON_FIND_WALL_COLLISION,
    HOOK_ON_FIND_CEIL,
    HOOK_ON_FIND_FLOOR,
    HOOK_ON_FIND_WATER_LEVEL,
    HOOK_ON_FIND_POISON_GAS_LEVEL,
    HOOK_ON_FIND_SURFACE_ON_RAY

- Hooks expose current result values and allow overriding collision outputs from Lua

* Remove unnecessary branches

---------

Co-authored-by: MysterD <myster@d>
2026-03-15 14:04:36 +01:00
Cooliokid956
697f1c3f82
Add Scroll Binds (#835)
* Add Scroll Binds

and fix a five year oob array index/write

* number

* fix that part

I just saw this

* That should be that

I have tested it, scroll works on the Up input, and on a regular input, so does everything else
2026-03-15 14:02:17 +01:00
PeachyPeach
3b53952767
DJUI Text improvements and bug fixes (#1131)
- Drastically improve and optimize display list usage for text
- Add text alignment with and without interpolation, and color codes, new lines and tabs are now handled properly
- Restored alpha color code (`#RGBA` or `#RRGGBBAA`) for `djui_print_text` functions (regular DJUI text allows alpha color codes, but ignores the alpha component)
- Add constants for common text alignment and rotation pivot values
- Fix interpolation issues with all `djui_hud` elements
- A few autogen fixes (missing `number` type for constants, missing return values for some functions)
- Fix recolorable hud font offsets on `e`, `i` and `o` letters
2026-03-11 08:38:24 +10:00