Commit graph

5025 commits

Author SHA1 Message Date
PeachyPeach
07c229afdc
Fix rendering issues with held objects (#1221)
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
Add a way to save and load a gfx state in display lists.
Its primary purpose is to save the gfx state before rendering a held object, then restore it later.
It fixes the issue where Mario had opaque legs with the vanish and metal caps when holding an object.
2026-05-06 07:10:59 +10:00
Agent X
b37b2bf29f Prevent HOOK_ON_HUD_RENDER_BEHIND from being halted
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-05-04 23:41:07 -04:00
EmeraldLockdown
82a3afcc0f
Add HOOK_ON_PLAY_MODE_UPDATE and HOOK_BEFORE_PLAY_MODE_UPDATE (#1160)
* Add playmode hooks

* Add hook to docs, fix some crashes semi-related

* Rename that func
2026-05-04 21:01:01 -04:00
Isaac0-dev
ed4a0e12c0
Add Community section with Discord link
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-05-05 09:35:01 +10:00
DorfDork
f688416483
Scale bone anim support (#1215)
* Scale bone anim support

Code changes provided by ExcellentGamer. Supports model anims which modify scale.

* Peachy code changes by ExcellentGamer

* Autogen constants

* changed vc3f_set to vec3f_copy
2026-05-05 00:15:00 +02:00
Isaac0-dev
95782f447c dynos_mgr_actor.cpp clean up
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
mostly cosmetic.
2026-05-04 22:33:37 +10: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
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
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
629b97a789 Hide deprecated fields
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-05-02 13:38:15 +02: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
denpakei
a87e67d7ac
more font adjustments (#1211)
cyrillic letters in font_normal adjusted by @idiotforge, in font_hud adjusted by @xLuigiGamerx

in the recolorable hud font, i fixed some things i missed last time
2026-04-29 21:21:27 -04: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
iZePlayz
9b021f9ba0
Fixed Tab-Completion for the "psc" command (#1174)
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-22 11:31:25 -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
EmeraldLockdown
7e10a3bb13
Add in C documentation (#1176)
* Add in C documentation

* update readme

* Remove unecessary spacing
2026-04-21 21:35:01 -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
denpakei
26f6910206
make custom_font_hud_recolor's gradients a bit more consistent (#1201)
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-20 01:17:10 -04:00
PeachyPeach
b0e1f1e465
Fix DynOS packs Lua code execution (#1194)
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 dynos packs code execution

* make mod player models ignore dynos local player model only
2026-04-12 09:42:21 +10: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
PeachyPeachSM64
b8a7983512 Revert "Reunite Cafe Pipe pack w/ fixed smoke once more"
This reverts commit 418080e71d.
2026-04-10 01:15:51 +02:00
Agent X
418080e71d Reunite Cafe Pipe pack w/ fixed smoke once more 2026-04-09 19:06:58 -04:00
bluelightzero
8a395088fd
Fix Hyperspeed when taking damage underwater with faster-swimming.lua (#1186)
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-08 22:59:25 -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
Squishy
bdd34bdd3e
Remove Character Select and Subsequent Mods (#1185)
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-08 01:42:33 -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