Commit graph

2751 commits

Author SHA1 Message Date
djoslin0
06e9c8aa2f
Fix substring bug in require() (#867)
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 substring bug in require()

When require() was searching for a matching module, it would only
consider the end of the filename. So foobar.lua and bar.lua could both
match a require('bar').

This commit fixes that.

* remove debug logs

---------

Co-authored-by: MysterD <myster@d>
2025-06-22 12:48:42 +02:00
djoslin0
c68ee859ea
Add mod development mode (#851)
With mod development mode on you can press the L bind while paused to
reload the active mods. This reload will rescan the directories for
the active modes and thus refresh their file caches.

Mod development mode also enables live lua module reloading. Any time
a lua module is updated, coop will live reload the functions that changed
and do its best to maintain the previous variable states.

---------

Co-authored-by: MysterD <myster@d>
2025-06-22 19:07:15 +10:00
djoslin0
01fd935807
Fix bug in fixCollisionBugsRoundedCorners, add floorNormalMinY, ceilNormalMaxY (#856)
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
There was a bug in resolving wall collisions with fixCollisionBugsRoundedCorners enabled.
Due to the way a check was written, it would often ignore walls when it shouldn't have.

I've also added gLevelValues.floorNormalMinY and gLevelValues.ceilNormalMaxY
These will values will be used to determine which surfaces will become a wall, floor, or ceiling

Co-authored-by: MysterD <myster@d>
2025-06-19 17:15:31 +10:00
Isaac0-dev
6bb8bd95ee fix HOOK_ON_PACKET_RECEIVE 2025-06-19 17:14:15 +10:00
Isaac0-dev
b9db3d5416 fix stack checking for coroutines 2025-06-18 15:09:41 +10:00
Isaac0-dev
f587dc38be removed get_game_tick_counter
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
use get_global_timer instead
2025-06-15 21:01:32 +10:00
djoslin0
2f573d17f9
Change get_game_tick_counter() to use gGlobalTimer (#853)
The old version was incrementing at the start of the code iteration, but it makes
more sense to increment after the frame is built. That way every event within one
visible game tick will get the same tick identifier

Co-authored-by: MysterD <myster@d>
2025-06-15 20:15:23 +10:00
djoslin0
f42e4ad55b
Add get_game_tick_counter() (#852)
Coop now maintains a counter that increments at the start of each game tick,
And another counter that increments at the start of each frame render.

This is to be able to identify specific frames regardless of mod load, hook,
and execution order.

---------

Co-authored-by: MysterD <myster@d>
2025-06-15 17:26:53 +10:00
djoslin0
24b92ecc2a
Add a safer version of Lua's require() (#847)
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
I didn't add standard Lua require() because I've always been
afraid of it. I'm not sure we can guarantee which files it
will read (or not read).

Instead, here is a custom implementation. It should work more
or less the same and allow for more modular code.

For backwards compatibility reasons, all of the lua files in
the base mod folder will be loaded as in the past. Aka one at
a time and alphabetically.

However, now coop will look for Lua files in subdirectories
and will load them in when another Lua file calls require().

The file search order is more reasonable than normal Lua
require(). It will first look for files relative to the
currently running script. If there is no matching relative
file, it will pick from any Lua file that is in any of the
mod's subdirectories.

---------

Co-authored-by: MysterD <myster@d>
2025-06-14 19:49:07 +10:00
Isaac0-dev
8f1830b079 cleanup old gfx symbol management code 2025-06-14 14:58:55 +10:00
Isaac0-dev
aea1ab9b86 change the djui auto scale math
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
unfortunately the completely dynamic method causes scaling issues with text
2025-06-14 14:35:09 +10:00
Isaac0-dev
7b1dabfb43 more copy paste errors
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
2025-06-13 22:18:51 +10:00
King
86d5069a7e
replace "auto" djui scale functionality with 4x native resolution (#846)
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
2025-06-13 11:16:21 +10:00
Isaac0-dev
99548b5b42 found another one 2025-06-13 11:13:56 +10:00
Isaac0-dev
c8902d9c20 fix a copy paste error 2025-06-13 11:06:58 +10:00
Sunk
0ecaaf767a
Add type conversion functions (#839)
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
2025-06-09 18:35:57 +02:00
Isaac0-dev
01eb5c34c0 fixed the update false alarm bug with garbage data (linux) 2025-06-09 21:07:09 +10:00
Isaac0-dev
27b7c3d823
mario object get optimizations (#840) 2025-06-09 20:04:24 +10:00
Isaac0-dev
bee2b924bd disable lua vertex colors for G_PACKED_NORMALS_EXT
by maniscat2

Co-Authored-By: ManIsCat2 <137772623+ManIsCat2@users.noreply.github.com>
2025-06-09 19:03:22 +10:00
Isaac0-dev
b7edf71499 replace get_texture_average_color with texture_to_lua_table 2025-06-09 14:39:07 +10:00
PeachyPeach
17c311ae7d
smlua event hooks refactor (#826)
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
2025-06-09 07:40:48 +10:00
djoslin0
838fe40d6e
Add HOOK_ON_ADD_SURFACE and HOOK_ON_CLEAR_AREAS (#843)
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
2025-06-08 13:46:28 +10:00
Isaac0-dev
b99f18dacc check texInfo so mods can't spoof it in smlua_to_texture_info
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
2025-06-06 09:34:23 +10:00
Isaac0-dev
73db1b0345 fix autogen texinfo get 2025-06-06 07:29:24 +10:00
Isaac0-dev
98ff007818 get_texture_average_color
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
pass in a texture, it returns the average color of the texture
2025-06-05 22:33:24 +10:00
Isaac0-dev
378b619fd6 made autogen build djui_hud_render_texture* 2025-06-05 21:03:38 +10:00
PeachyPeach
c79d59d8ec
Fix vec3f bugs (#837) 2025-06-05 19:44:09 +10:00
Isaac0-dev
e1aab9c479 gfx_get_texture
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
returns a pointer to the texture in the gfx command
2025-06-05 17:07:53 +10:00
Isaac0-dev
50f83b1ffe log line on error in gfx_set_command 2025-06-05 15:36:40 +10:00
Isaac0-dev
ced949627f improved remote player platform upwarping
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
fixes the bug in whomp's fortress where remote players could be seen on the cone roof of the tower, when they weren't really there
2025-06-04 13:26:19 +10:00
Isaac0-dev
dc4678c121 made escape button respond to release 2025-06-04 11:47:52 +10:00
Isaac0-dev
ecbb911367 fix djui console spam 2025-06-04 11:34:26 +10:00
Isaac0-dev
c939d9c925 correct return logic to fix back button bug 2025-06-04 10:16:41 +10:00
Isaac0-dev
65b67ad9fa fix djui back button bug and crash [build]
could be caused by pressing B and letting go of A on the same frame
2025-06-04 09:46:59 +10:00
Isaac0-dev
b8fe342c17 fix custom dialog boxes not being properly reset 2025-06-04 09:41:36 +10:00
Isaac0-dev
f0d6e4331d reset modified graph nodes on network shutdown 2025-06-04 02:36:35 +10:00
Beckowl
566e2ba934
Add `ModelExtendedId param to HOOK_OBJECT_SET_MODEL` (#834)
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
2025-06-03 18:12:56 +10:00
Agent X
2dfcb39704 Revert "Small behavior fixes [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
This reverts commit bf4bef435a.
2025-05-31 18:22:24 -04:00
Agent X
ff31ae55fa Bug fixes
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
If it ain't broke, don't fix it
2025-05-30 16:14:19 -04:00
Agent X
feba35b010 Expose sync_object_get_object
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
2025-05-29 11:31:31 -04:00
Agent X
dd13da2a0d Re-run autogen for everything 2025-05-29 10:57:44 -04:00
Isaac0-dev
56a5e0b7d2 fix opengl warning 2025-05-29 12:49:38 +10:00
Agent X
1f2e09da6e Re-arrange some parameters and add math.round
Co-Authored-By: xLuigiGamerx <88401287+xLuigiGamerx@users.noreply.github.com>
2025-05-28 22:34:45 -04:00
PeachyPeach
69e129805e
More math improvements (#820)
* More math improvements

* more math functions

* stack check

* added error message when trying to modify read-only table; fix gSmluaConstants printed to console
2025-05-29 02:52:31 +02:00
NitroDisPro
dea7247d9f
Add HOOK_MARIO_OVERRIDE_FLOOR_CLASS (#812)
* Update lua_definitions constants.lua

* you kiddin' dude

* Update lua docs constants.md

* Update smlua_constants_autogen.c

* Update smlua_hooks.h

* Update mario.c to add HOOK_MARIO_OVERRIDE_FLOOR_CLASS to mario_get_floor_class(m)

yeah i sure love using web interface

* Update lua guide hooks.md

* Whoops
2025-05-28 18:13:46 -04:00
Beckowl
97e0737bbb
expose utf8 (#829) 2025-05-28 17:01:40 -04:00
Agent X
3795e5afbc Add some sync object functions [build]
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
2025-05-26 14:51:57 -04:00
Agent X
0327ef9a94 make my own small adjustments
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
2025-05-24 09:10:24 -04:00
Cooliokid956
b79960e42c
Fix Chat Scrolling (#822)
* stupid oversight

and more

* Fix macOS compilation
2025-05-24 09:05:28 -04:00
Agent X
c856188ab2 Make Lua Profiler in misc in non dev again [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
2025-05-22 19:54:20 -04:00