Commit graph

650 commits

Author SHA1 Message Date
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
PeachyPeach
0f351e11fb
Gfx/Vtx improvements (#756)
Some checks failed
Build coop / build-windows (push) Has been cancelled
Build coop / build-ubuntu (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
- Renamed the `new` and `realloc` functions to `create` and `resize`
- Added `delete_all`
- Made Mod Data a class:
  - Allocation is now limited to prevent out-of-memory crashes: 1024 display lists of max size 2048 and 1024 vertex buffers of max size 4096 per mod
  - Added error codes to identify the cause of a failure (name not found, pointer not found, max size exceeded, item pool is full, ...)
2025-04-24 14:03:17 +10:00
Agent X
6c7068f1ea Revert "Constants fix"
This reverts commit 6659377cd4.
2025-04-17 18:27:36 -04:00
Agent X
6659377cd4 Constants fix 2025-04-17 14:51:03 -04:00
PeachyPeach
467b22e939
Gfx set command: v2 + Gfx/Vtx dynamic alloc (#718)
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
* set_gfx_command part 2

* part 3

* get gfx/vtx from name; copy gfx/vtx

* gfx/vtx dynamic allocation lua

* gfx/vtx_new: don't take level/model/vanilla names

* Clean up gbi constants

* update example

* Isaac review; add gfx_get_next_command and vtx_get_next_vertex

* make all commands length 1; missing NULL checks
2025-04-12 18:19:14 -04:00
PeachyPeach
26d64ee79d
fix apply_platform_displacement (#740)
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-12 23:03:12 +10:00
Cooliokid956
f22855d21e
Platform DIsplacement on demand (#739)
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
+ two other functions that pipocalio asked for
2025-04-11 23:37:57 -04:00
Agent X
a1ad188a6b Update hooks.md 2025-04-10 17:33:13 -04:00
Blockyyy
43d2248727
HOOK_BEFORE_WARP, added params to HOOK_ON_LEVEL_INIT and HOOK_ON_WARP (#736) 2025-04-10 17:17:59 -04:00
Baconator2558
ce8350514c
Add HOOK_ALLOW_FORCE_WATER_ACTION (#731)
* Update constants.md

* Update constants.lua

* Update smlua_constants_autogen.c

* Update surface_terrains.h

* Update hooks.md

* Add files via upload

* Update constants.lua

* Update smlua_hooks.h

* Update smlua_constants_autogen.c

* Update constants.md

* Update mario_actions_airborne.c

* Update mario_actions_airborne.c

* Update mario_actions_stationary.c

* Update mario_actions_automatic.c

* Update mario_actions_object.c

* Update mario_actions_moving.c

* Update mario_actions_submerged.c

* Update mario_actions_airborne.c

* Update mario_actions_stationary.c

* Update mario_actions_automatic.c

* Update mario_actions_object.c

* Update mario_actions_moving.c

* Update mario_actions_submerged.c

* Update hooks.md

* Update hooks.md

* Update mario_actions_submerged.c

* Update hooks.md

* deal with gCamera being exposed incorrectly

* update gCamera as the pointer is updated

* served time for crimes against C

* Update revamped flying damage (#722)

* forgot to null check it

* lois (#5)

* deal with gCamera being exposed incorrectly

* update gCamera as the pointer is updated

* served time for crimes against C

* Update revamped flying damage (#722)

* forgot to null check it

* Fix/optimize/improve lighting engine

* Camera fixes

---------

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-authored-by: Sunk <69110309+Sunketchupm@users.noreply.github.com>
Co-authored-by: Agent X <44549182+AgentXLP@users.noreply.github.com>

* Update lighting_engine.c

* Update lighting_engine.c

* bart (#6)

* deal with gCamera being exposed incorrectly

* update gCamera as the pointer is updated

* served time for crimes against C

* Update revamped flying damage (#722)

* forgot to null check it

* Fix/optimize/improve lighting engine

* Camera fixes

* Fix small LE whoopsie

* Update CS to v1.13

* New coopnet libraries for macOS (#725)

* Fix camera issues (#726)

* Fix vanilla camera in automatic

* Correct dpad movement direction

Matches the same direction as romhack camera now

* Make Git hash only dev or debug

* Fixes

* fix some script errors in mods that pass in nil objects

technically this is the mod's fault, but this is more consistent behavior for a cheap fix

* Further fix camera (#727)

* Further fix camera

* Remove re-override

* fix scrolling textures simply not scrolling

this was caused by the duplicated vertices commit

* free stuff

---------

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-authored-by: Sunk <69110309+Sunketchupm@users.noreply.github.com>
Co-authored-by: Agent X <44549182+AgentXLP@users.noreply.github.com>
Co-authored-by: EmeraldLockdown <86802223+EmeraldLoc@users.noreply.github.com>

* Update smlua_cobject.c

* Update mario_step.c

* Update bettercamera.inc.h

* Update camera.c

* Update smlua_cobject.h

* Update camera.c

* Add files via upload

* Update constants.lua

* Update constants.md

* Update hooks.md

* Update smlua_constants_autogen.c

* Update smlua_hooks.h

* Update smlua_hooks.h

* Update smlua_hooks.c

* Update mario_actions_airborne.c

* Update mario_actions_automatic.c

* Update mario_actions_moving.c

* Update mario_actions_object.c

* Update mario_actions_stationary.c

* Update mario_actions_submerged.c

* Update mario_step.c

* Update mario_actions_airborne.c

* Update mario_actions_automatic.c

* Update mario_actions_moving.c

* Update mario_actions_object.c

* Update mario_actions_stationary.c

* Update mario_actions_submerged.c

* Update hooks.md

* Update mario_actions_airborne.c

* Update mario_actions_automatic.c

* Update mario_actions_moving.c

* Update mario_actions_object.c

* Update mario_actions_stationary.c

* Update mario_actions_submerged.c

* Update mario_actions_submerged.c

* Update mario_step.c

* Update mario_actions_stationary.c

* Update mario_actions_submerged.c

* Update mario_step.c

* Update mario_actions_airborne.c

* Update mario_actions_airborne.c

* Update mario_actions_automatic.c

* Update mario_actions_moving.c

* Update mario_actions_object.c

* Update mario_actions_submerged.c

---------

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-authored-by: Sunk <69110309+Sunketchupm@users.noreply.github.com>
Co-authored-by: Agent X <44549182+AgentXLP@users.noreply.github.com>
Co-authored-by: EmeraldLockdown <86802223+EmeraldLoc@users.noreply.github.com>
2025-04-07 18:47:52 -04:00
Agent X
4b36c4df45 Make Yoshi visible in main menu 2025-04-06 14:16:51 -04:00
Cooliokid956
3bfa75e32b
Miscellaneous Additions: Addendum (#723)
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
* More autogen work

- made the `Pointer_` classes into aliases instead so that they're actually associated with their true type
- "Total constants" metric is now accurate

* High Quality Master Volume

* Audio work

it's 12:55am and there are some bright flashes outside (lightning)

- cracked the code (interpreted the "Acc" in `tempoAcc`)
- added several functions that will help greatly in the Streamed Music department (you can now match sequenced music fading (transitions, eepy, etc.))
- introducing `gMasterVolume`! a variable that is only updated when it needs to be, theoretically improving performance (by some amount). this variable is used in many places in place of recalculations of the same number
- made it so that muting the game skips some audio processing (not the main process since that would linger after unmuting (not good))
- fixed an oversight where lua volumes were not taken into account when `audio_stream_set_volume`
- it's its 😁
- removed additional `#include "audio/external.h"`

it is 1:06am
gn

* Add mouse status functions

you can now check if mouse buttons were held, clicked, or released

* Sorting was a bad idea

disabled sorting for constants so that they are represented more closely to their original defines

* Expose playerlist page index

also noticed that sorting still sucks

* Minor (very important) detail

lalette

* Addressing the PeachyPeachSM64 reviews

* Return of the Forced 4:3 Mode

shoutouts to DISPLAY.FORCE_4BY3 for sticking through the toughest of times, waiting for this day to come

* Added scroll support

- Scrolling added to chat box (hold ctrl to scroll fewer lines, shift to scroll faster)
- Scrolling functions added to smlua

* Addressing the Isaac0-dev review + fixes

- mouse scroll is now accumulated
- djui_gfx_get_dimensions
- forced 4:3 won't kick in if the window isn't wide enough
- game now recognizes horizontal resizing when in 4:3 mode

* Run autogen

* gfx_get_dimensions

works just as well
2025-04-05 13:52:14 -04:00
Isaac0-dev
c2823c268e fix some script errors in mods that pass in nil objects
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
technically this is the mod's fault, but this is more consistent behavior for a cheap fix
2025-04-01 16:13:56 +10:00
Agent X
43f4f7aec2 Fix small LE whoopsie
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-03-29 13:41:55 -04:00
Agent X
0ee8d5f81e Fix/optimize/improve lighting engine 2025-03-28 23:06:48 -04:00
Agent X
02bd7917cb Fix lighting engine merge header mistake 2025-03-27 17:24:49 -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
Isaac0-dev
f2b4f4aaad add herobrine
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
Co-Authored-By: Agent X <44549182+AgentXLP@users.noreply.github.com>
2025-03-26 14:21:02 +10: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
2479eaabfb This new camera code is NOT up to pollos standards. 2025-03-18 23:06:36 -04: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
Agent X
ab49c33d86 Expose some cool math functions
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-14 22:25:56 -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
ManIsCat2
334aac7cf1 add lua texture image 2025-03-11 00:52:38 +03:30
Isaac0-dev
f98571c458 add documentation to some missing manual functions 2025-03-10 23:22:20 +10:00
Isaac0-dev
04ea4d6ad4 smlua use lot and lvt names rather than an index 2025-03-10 12:21:48 +10:00
Isaac0-dev
d6e243c4a7 add obj_get_model_id_extended, remember regular model ids 2025-03-04 15:09:09 +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
bc4679d2e0 fix array typing in docs 2025-02-22 19:00:47 +10:00
Isaac0-dev
2ec4b5e53c set_find_wall_direction 2025-02-22 11:54:07 +10:00
Isaac0-dev
b1b5b93dcc remove some dangerous functions 2025-02-13 22:33:34 +10:00
Isaac0-dev
5a2e060c2d autogen implement structs with name after definition 2025-02-12 18:24:01 +10:00
Isaac0-dev
bb768ef55b autogen fix integer type detection 2025-02-12 17:46:24 +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
Isaac0-dev
7fb3d3de89 run autogen 2025-02-07 10:10:37 +10:00
Agent X
fefb222198 Re-expose function 2025-01-10 19:04:55 -05:00
Isaac0-dev
6abf4695cf run autogen 2025-01-07 09:08:25 +10:00
PeachyPeach
85b51fd02a
Autogen documentation for vec types (#609) 2025-01-06 08:40:36 +10:00
John S
be0e47a4c2
Documentation of mario.h, mario_actions_airborne.c, mario_actions_automatic.c, mario_actions_cutscene.c, and mario_actions_moving.c (#601)
* WIP mario.h - mario_actions_moving.c

* Fix improper list formatting

bulleted lists are broken due to whitespace stripping, i may fix this later.

* Fix some issues in formatting and missing descriptions

* Accidental struct syntax fix

* Fix repeating descriptions

* Fix repeating descriptions final
2024-12-31 21:00:54 -05:00
Agent X
f880e6c569 Document level_update.h and add new instant warp function (70.1%) 2024-12-31 19:39:36 -05:00