Commit graph

3821 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
Isaac0-dev
de7ad4b0d6
memory.c cleanup and optimisation (#1157)
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
## Low hanging fruit optimisations for the memory data structures in `memory.c`
Mostly generic performance improvements:
- Swapping `calloc` calls for `malloc` calls where it's safe
- Combined allocations into one large allocation for `node + buffer`
- Using `realloc` instead of full `calloc` + `memcpy` + `free`.
2026-05-03 07:52:42 +10: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
PeachyPeachSM64
58a6b7e019 Remove dead code in custom geo and bhv functions
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
- Custom geo asm and custom behaviors were meant to use any non-local
  function from any active mod, but the condition for it was always
  false (gSmLuaConvertSuccess is never set to false and funcRef is not
  checked)
- By default, they should NOT be able to retrieve anything from other mods
- Even without this condition, they are still allowed to use any
  function exposed to _G

Approved by Isaac.
2026-05-01 12:51:36 +02: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
EmeraldLockdown
8edcc86049
Fix crash when CG was loaded in main menu related to Yoshi (#1206)
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 crash when CG was loaded in main menu

* Remove now unecessary check

* This *should* undo this

* Let's try that again!

* Remove leftover code
2026-04-24 18:05:57 +02: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
Agent X
6919878b40
Introduce this new pack in a more proper reviewable manner (#1192)
* Introduce this new pack in a more proper reviewable manner

Ideally I should have made a PR for my new pack and I understand the new geo function may have come out of no where. I've been thinking about adding it for a while and was going to utilize it in a new project I'm working on but I should have explained it first before pushing anything for sure

* Address suggestions

* Restore these, whoops
2026-04-21 23:41:44 -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
Blockyyy
754d822c85
fix lingering kick pvp interaction (#1202) 2026-04-21 21:33:30 -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
PeachyPeachSM64
7666a8f9eb Revert "Re-add my own coop cafe pipe model rendition :)"
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
This reverts commit e22d85b119.

Lack of PR.

Built-in DynOS packs have barely any utility in the coopdx build,
specifically if it's private jokes/references.
Coop Cafe is a private community associated with coopdx, not a core part
of it.
This pack should be distributed as a separate mod instead.
2026-04-10 01:16:03 +02:00
Agent X
a194f4eaa1 Merge branch 'dev' into screen-shader-effects 2026-04-08 22:56:08 -04:00
Agent X
e22d85b119 Re-add my own coop cafe pipe model rendition :)
Return of a subsequent removal
2026-04-08 22:55:42 -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
Blockyyy
dfb3b2523d
Fix lives (#1119)
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 lives going below 0 right before a game over (also fixes a crash where if you exited with -1 lives and went into a subarea you would crash)
- Restore how lives get removed upon death exit (like in vanilla)
- Prevent bubbling from happening if you don't have enough lives (this fixes the annoying bug where you would get put back in a bubble and get popped immediately after over and over again)
2026-03-27 13:32:44 +10: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
Isaac0-dev
b5d021b231 fixed dynos animations on held objects [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-24 10:10:37 +10:00
Agent X
78c7076f16 Merge remote-tracking branch 'origin/dev' into screen-shader-effects 2026-03-20 18:03:27 -04:00