Commit graph

286 commits

Author SHA1 Message Date
Agent X
c0e547e2d1 [build] Increment version to 1.3 2025-03-27 17:13:14 -04:00
Agent X
3e540790a3
Basic Vertex Point Lighting Engine (#716)
* CONCEPT: Basic vertex lighting engine

Set the geometry mode on your model to G_LIGHTING_ENGINE_EXT, spawn a `bhvAmbientLight`, spawn some `bhvPointLight`s, and then you got yourself a mighty interesting scene.

* Fixes

* How did I miss this

* Make light set home pos
2025-03-27 16:36:02 -04:00
Baconator2558
c26e968076
Allow wind to be ignored with HOOK_ALLOW_HAZARD_SURFACE (#721)
* Update constants.md

* Update constants.lua

* Update smlua_constants_autogen.c

* Update surface_terrains.h

* Update hooks.md

* Add files via upload
2025-03-27 14:48:36 -04:00
Cooliokid956
efcfff210d
Miscellaneous additions (#711)
- Fixed script file path shortening for Windows in console errors (what I could at least, the one left unfixed is preprocessed and I can't mess with that)
- Adjusted audio sanity check messages to sound more natural
- 9 new functions added:

## `audio_stream_set_loop_points(audio, start, end)`
Sets an audio stream's loop points in samples, no longer requiring a hacky method to loop streams in mods

## `get_active_mod()`
Returns the mod currently being processed, can be used by mods with APIs to determine what they're being used by and react accordingly

## `get_area_update_counter()`
Returns `gAreaUpdateCounter`, can be used to determine various in-game statistics, as well as if the game is being updated

## Exposed several object pointers
`get_current_object()` to retrieve `gCurrentObject`
`get_dialog_object()` to retrieve `gContinueDialogFunctionObject`
`(get|set)_cutscene_focus()` to retrieve/assign `gCutsceneFocus`
`(get|set)_secondary_camera_focus()` to retrieve/assign `gSecondCameraFocus`
2025-03-24 07:31:06 +10:00
Agent X
0f0997a2ac Add mod menu text hook and make hook functions return index
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-03-15 18:04:59 -04:00
Sunk
edacdcc7e4
More settings to the Camera settings menu (#555)
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
Sherbie's suggestions from #497 and #538, as well as suggestions from others on discord.
Add 2 new camera settings to free camera, being camera collision and dpad usage.
Add an entire new camera submenu for romhack camera, which are now no longer exclusive to romhacks.
2025-03-14 13:01:51 +10:00
Agent X
3792f0aebb Raise custom object fields limit from 16 to 64 2025-03-13 22:09:46 -04:00
Isaac0-dev
04ea4d6ad4 smlua use lot and lvt names rather than an index 2025-03-10 12:21:48 +10:00
Isaac0-dev
f238b3d0f5
allow Lua to manipulate displaylists and vertices (#675)
Co-authored-by: ManIsCat2 <137772623+ManIsCat2@users.noreply.github.com>
2025-02-27 14:27:55 +10:00
Isaac0-dev
a457f48959 remove some whitespace in gSmluaConstants 2025-02-24 19:55:43 +10:00
Isaac0-dev
22f63c9e05 fix cobject arrays: implement setting fields 2025-02-18 15:09:22 +10:00
Isaac0-dev
cd5b5f9934 bump version 2025-02-15 08:08:41 +10:00
Isaac0-dev
ff83d6a037 autogen array implementation
arrays are pushed to Lua via tables
2025-02-12 17:38:38 +10:00
Isaac0-dev
9a13c298ad added HOOK_ON_INTERACTIONS
this is called after mario's interactions are processed
2025-02-11 17:58:57 +10:00
Isaac0-dev
d53d20c11c HOOK_ON_DIALOG fixes, expose set_dialog_box_state 2025-02-10 18:31:59 +10:00
Agent X
bc9273900f Increment version 2025-01-11 15:16:07 -05:00
Isaac0-dev
6abf4695cf run autogen 2025-01-07 09:08:25 +10:00
Amy54Desu
1f1683815e
HOOK_MARIO_OVERRIDE_GEOMETRY_INPUTS (#591) 2024-12-31 10:38:52 +10:00
Agent X
c17b82a7a3 Mod Storage: SUPERCHARGED 2024-12-30 18:18:14 -05:00
jayden
c8faa22072
Final touches for geo hooks (#588)
* new geo process children hook

* EXPOSE the mat stack

* fix formatting (oops)
2024-12-28 08:44:36 -05:00
jayden
1291350bed
Add hooks to graph node processing (#587)
* geo process hooking

* autogen update!
2024-12-27 22:07:31 -05:00
Agent X
982e2f1594 Raise mod storage limits to 1024 2024-12-19 16:24:30 -05:00
xLuigiGamerx
6757a3abb7
Added FONT_SPECIAL (#556)
* Fixed player and mod lists not updating on language change

* Added `FONT_SPECIAL` which is based on the special controls letters in dialog boxes
2024-12-17 08:58:38 -05:00
Agent X
faceaa684a Document sound functions 2024-12-16 20:18:28 -05:00
Agent X
f7a48d23fe HOOK_ON_DJUI_THEME_CHANGED 2024-12-11 23:55:10 -05:00
Agent X
eac580e04a Expose more lag compensation things to Lua 2024-12-01 16:46:05 -05:00
Agent X
78e3271391 Update version number 2024-11-28 10:41:44 -05:00
Sunk
947ce9f080
Rework PvP Balance (#357)
* PvP Rework

This rearranges the damages of last PR. The underused attacks should still see some buffs.

* Adjust how punches apply invincibility

Also increase punch invincibility timer to 12

* EmeraldLoc's easy suggestions

* Rework punching pvp

Punching no longer reduces invincibility frames. Instead, punches can ignore knockback invincibility and the full punch punch kick combo can be done.

* Adjust numbers

Breakdances should not deal 3 damage

* Potential fix for more common tripping

"Trip" here refers to 1 damage kicks

* Add temporary invincibility to rollouts

This is a test to see how different pvp feels with this change. Suggestion by sausrelics.

* Fix invincibility

* Prevent low damage/low knockback kicks altogether

* Update ignored attack list

* Allow dives to be attacked by most actions

A lot of people don't want dives to be entirely invincible and some suggested to make dives be able to only pierce through jump kicks

* Slightly nerf kick knockback

Suggestion by emily

* Rework dive piercing

Instead of all actions being able to hit dives other than jumpkicks, now only slidekicks (and ground pounds) can hit dives.

* Mild kick knockback increase from nerf

* Change direct equality to checking flag

* Decrease dive and punch knockback

* Prevent trades against dives with slidekicks

* Revert "Prevent trades against dives with slidekicks"

This reverts commit 2a2c3266a7.

* Allow ground pounds to always hit a sliding player

* Add server setting to change pvp

* Add pvp settings to config

* Add selection to menu

* Fix issues + autogen

* Rewrite goto statement to not use goto
2024-11-25 20:48:40 +10:00
EmeraldLockdown
904c4c9c13
Change MAX_KEY_VALUE_LENGTH to 512 (#386) 2024-10-23 10:49:23 +10:00
Sunk
9621424069
Fix early hits (#363)
Sometimes, the player can ground pound a pole before even landing or punch/kick an enemy at high speeds which will kill the enemy but not give bounce back to the player. This fixes those, although there are definitely mod incompatibilities.
2024-10-17 18:31:01 +10:00
Isaac0-dev
4aa2a20f72
fixes, clean up and some new features (#259)
- Only inited `smlua_audio_utils` if needed, since there will probably be plenty of people who play without ever using mods with custom audio.
- Fixed the pause anywhere setting - this ended up not being fully accurate to ex-coop, which it was originally intended to be.
- Stopped regenerating dynos collision bin on start up every time therefore giving a slight start up speed boost for some people.
- Added a config file setting that lets people choose to compress dynos bins on startup (disabled by default).
- Fixed a warning that shows on non macs during compiling.
- Properly fixed the chat box focus.
- Made the public lobby rules panel "temporary".
- Added a cleaner loading screen design.
- Added an ex-coop theme easter egg, can only be activated from the config file.
- Cleaned up the Lua traceback logging, now shows the folder and file the error occurred in, rather than the full path.
- Added a way to set `gCheckingSurfaceCollisionsForCamera`, so mods can specify to surface finding functions to ignore `SURFACE_FLAG_NO_CAM_COLLISION` internally.
- Rewrote the way smlua pushes CObjects/CPointers to Lua. Now using the C Lua API entirely to connect to Lua.
	- Fixed a use-after-free bug that could easily crash the game through Lua (explained further in one of my comments below).
- Fixed a common crash in `audio_sanity_check`.
2024-09-12 19:09:01 +10:00
EmeraldLockdown
c3d3f8545a
HOOK_ON_NAMETAGS_RENDER (#213) 2024-09-12 19:01:16 +10:00
Agent X
a4ed5ddb53 v1.0.3 2024-09-01 19:00:38 -04:00
Agent X
e6edb61dfb Bump online version 2024-09-01 17:51:20 -04:00
Agent X
c94990f743 v1.0.2 2024-09-01 14:17:52 -04:00
Agent X
8690c0e4ee Increment version 2024-07-10 12:06:11 -04:00
Agent X
b20753f0c0 Change METAL back to CAP 2024-07-05 22:46:16 -04:00
Agent X
81c4180a06 Remove Waluigi anims 2024-07-01 18:32:27 -04:00
Agent X
c144ff6780 Remove unused Waluigi animation 2024-06-30 17:46:18 -04:00
Agent X
b228b3bb0e Re-enable update checker/changelog code, set version back to v1.0 2024-06-30 07:43:13 -04:00
Agent X
8a5a23a8a6 Add HOOK_ON_MODS_LOADED 2024-06-29 16:00:42 -04:00
Agent X
6eae0e28d1 Change METAL to EMBLEM 2024-06-21 13:51:06 -04:00
Isaac0-dev
eeebfecca4
more loading screen fixes for non supported builds (#74) 2024-06-19 11:43:01 +10:00
Agent X
41525c1fc3 Rename HOOK_OVERRIDE_PHYS_STEP_DEFACTO_SPEED to HOOK_MARIO_OVERRIDE_PHYS_STEP_DEFACTO_SPEED 2024-06-12 09:42:43 -04:00
Agent X
2b2dceb333
Add a mod menu where mods can put DJUI elements (#56)
* Add a menu where mods can put their options at

* Document mod menu hook functions

* Add HOOK_ON_LANGUAGE_CHANGED

* Add new Cheats mod

* Make player menu disable singleplayer pause

* fix some git merge conflicts that weren't resolved (#55)

and added -latomic to build flags to fix compile warnings while compiling miniaudio

* Remove legacy 'deluxe' field from built-in mods

* Lots of improvements to memory safety

* Abbreviated hex color parsing

Co-Authored-By: Mechstreme <84944335+mechstreme@users.noreply.github.com>

---------

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-authored-by: Mechstreme <84944335+mechstreme@users.noreply.github.com>
2024-06-01 20:52:43 -04:00
Agent X
ceb7aa4649 Palette system overhaul and preset rewrite 2024-05-21 17:09:59 -04:00
PeachyPeach
14cbb673fc
Proper custom object fields (#39) 2024-05-14 08:52:56 +10:00
Agent X
ec3fb07e76 Add @Hex4dec HOOK_ON_ATTACK_OBJECT 2024-05-11 18:44:18 -04:00
Agent X
96018588cd Fix convert_constants.py on Python 3.12 2024-05-11 17:55:38 -04:00
Isaac0-dev
90b071acc0
exposed a bunch of interaction functions to Lua (#22)
Renamed the function interact_unknown_08 to interact_spiny_walking
and added the constant INTERACT_SPINY_WALKING, which has the same value of INTERACT_UNKNOWN_08
INTERACT_UNKNOWN_08 is kept for compatibility with smlua, and behavior dynos bins
2024-05-03 18:38:21 +10:00