Commit graph

667 commits

Author SHA1 Message Date
Sunk
9acb632b8e
Fix HOOK_ALLOW_HAZARD_SURFACE and expose SURFACE_IS_* macros (#865)
* Fix HOOK_ALLOW_HAZARD_SURFACE

* Peachy's suggestions

* Exposed `surface_is_*` macros
2025-06-24 22:15:27 +02:00
xLuigiGamerx
1ad874a1c5
Added math.tween along with common easing functions (#833)
* Added `xOffset` and `yOffset` to the `DjuiFont` struct to align the custom hud fonts

* Replaced `VL-Tones and CJes` CS pack with `The Originals` CS pack

* Removed the shading from the emblems and sideburns for `[CS] The Originals`

* Updated Djoslin0 Toad to give him recolorable hair and updated CJes and VL-Tones Luigi hud icons.

* Updated `[CS] The Originals` models to add missing reverts

* Wrong outdated Djoslin Toad model fix

* Added `math.tween` and along with common easing functions

* Fixed wrong implementation of `IN_OUT_ELASTIC`

* Added `OUT_IN` easing variants

* Fixed Incorrect `OUT_IN_SINE` function

* Fixed wrong `OUT_IN_ELASTIC` implementation
2025-06-24 22:09:17 +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
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
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
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
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
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
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
Agent X
46b9cf5fb8 whoops 2025-05-29 10:55:51 -04: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
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
PeachyPeach
bbabaa3c79
Fix hand/foot pos and get any Mario part position (#816)
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 hand/foot pos and get any Mario part position
2025-05-21 23:52:04 +02:00
PeachyPeach
8db6356754
Improving math functions (#813)
* Improving math functions

* Isaac review
2025-05-21 23:50:49 +02:00
Isaac0-dev
ecac2afd07 fix some issues with smlua
get_temp_s32_pointer and deref_s32_pointer: these are actually safe and mods use them
fixed a nil script error with smlua_to_cpointer
2025-05-21 21:50:13 +10:00
Sunk
ce67d8c0a5
Add gLevelValues.wallMaxRadius (#815) 2025-05-21 11:19:02 +10:00
Sunk
047adf35bf
Expose and create some useful functions (#819) 2025-05-21 09:40:30 +10:00
Prince Frizzy
02c9a4146b
More Optimizations (#792)
* Initial work on optimizations.

* Requested Changes Part 1

* Requested Changes Part 2

* Requested Changes Part 3

* Requested Changes Part 4

* Requested Changes Part 5

* Requested Changes Part 6

* Update deprecated.lua

---------

Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-05-16 20:27:49 -04:00
Isaac0-dev
5cb2296710 make extract_display_lists.py consistent across platforms
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-10 13:30:06 +10:00
Isaac0-dev
dcc9090ac0 rename Area's unk04 to root and fix lookup error 2025-05-10 13:17:09 +10:00
PeachyPeach
0d4fd39a00
Fix interactions again (#795) 2025-05-08 08:51:44 +10:00
Beckowl
7472aa9b0a
Expose useful global graphnodes (#789)
* Add global node getters

* move pointer asterisk thing for consistency

* Run autogen

* Add geo prefix to new functions

* Run regen

* Rename functions

* run autogen

* Make viewport fields mutable

* Address code review comments
2025-05-07 17:09:08 -04:00
Agent X
6d1f533113 Fully fix 1.3 script errors and other stuff [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-04 21:48:03 -04:00
Agent X
954af5bc0a this should fix SDL_Joystick lag [build] 2025-05-04 18:41:38 -04:00
Agent X
d66efc4671 Fix THI black title screen glitch [build] 2025-05-04 16:45:43 -04:00
PeachyPeach
d94cf00eb9
Fix wrongly documented functions (#783)
Some checks are pending
Build coop / build-ubuntu (push) Waiting to run
Build coop / build-windows (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2025-05-02 16:34:43 +02:00
jayden
af6e0afbcf
change misleading switch case field label (#781) 2025-05-02 13:33:36 +02:00
Agent X
ee7d694940 Fix HOOK_ON_WARP and document more functions (87.18%) 2025-05-01 20:26:04 -04:00
Blockyyy
a0f557bf68
fix HOOK_BEFORE_WARP (#753)
* fix HOOK_BEFORE_WARP

* actual fix and correct hooks.md

* reset arg, make WARP_ARG_EXIT_COURSE -1
2025-04-30 18:22:31 -04:00
PeachyPeach
507e6f6102
Fix autogen documentation (#769)
* Fix autogen documentation

* verbose
2025-04-27 17:24:29 -04:00
Blockyyy
ea353af5c9
HOOK_ON_INSTANT_WARP (#747)
* make HOOK_ON_WARP trigger on instant warps

* oops

* HOOK_ON_INSTANT_WARP

* make the displacement a Vec3s, hooks.md

* fix hooks.md oversight

* get rid of this
2025-04-27 17:21:17 -04:00
Prince Frizzy
15d6f6ae07
Add some sanity checks to prevent bugs and exploits. (#767)
* Add some sanity checks to prevent bugs and exploits.

* Improve sanity check for Koopa Shell Riding.

* Sort and optimize MarioState structure.
2025-04-27 17:02:15 -04:00
Agent X
6b5263d60e Whoops
Some checks are pending
Build coop / build-ubuntu (push) Waiting to run
Build coop / build-windows (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2025-04-27 00:35:55 -04:00
Agent X
bf85d9f9d5 Lay some groundwork for more documentation, fix compilation error, put backgrounds into enum 2025-04-26 23:29:21 -04:00
Agent X
5d5147cb0e Document more functions! (83%)
Some checks failed
Build coop / build-ubuntu (push) Has been cancelled
Build coop / build-windows (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-04-25 17:03:41 -04:00