Commit graph

120 commits

Author SHA1 Message Date
Agent X
4aada40a62
area_create_warp_node and area_get_warp_node* (#270)
* area_get_warp_node*

- Added area_get_warp_node to Lua
- Added area_get_warp_node_from_params to Lua

* area_create_warp_node and warp constants

Here you go Isaac!

* Add object param

* Commits work again, pushing everything else
2023-02-20 21:47:32 -05:00
Prince Frizzy
523e7842d9
A bunch of LUA autogen additions. (#235)
* A bunch of LUA autogen additions.
- Add support for Vec4f, Vec4s and Mat4 in the autogen.
- Improve error messages for improper argument counts
- Added support for more pointer types in the autogen.

* Fix offsets in sMat4Fields.

* autogen: Rework this at the request of DJ.
2022-11-30 00:37:12 -08:00
Prince Frizzy
f815a53080
Add some new LUA helper functions and fix some bugs. (#230)
- Add new functions for objects, Feel free to flesh some out if need be.
- Fix long-standing issue with our LUA garbage collection, It will now run after all our hooks do to prevent buildup which causes lag.
2022-11-12 05:01:50 -08:00
PeachyPeach
55ed83ddb8
djui_hud_render_texture_tile[_interpolated]; increased GFX pool and main memory pool (#211)
djui_hud_render_texture_tile: allows user to draw a part of a texture instead of the whole texture (tilesets)
    increased GFX pool size from 512kB to 4MB
    increased main memory pool size from ~11MB to 32MB
2022-11-02 19:45:20 -07:00
MysterD
36270e4301 Reran autogen 2022-09-26 19:30:09 -07:00
Agent X
4b84a87c6f
Mod storage, network_discord_id_from_local_index and other small changes (#200)
* Mod storage & network_discord_id_from_local_index

Introducing mod storage, a key/value system for saving things like high scores or settings or anything like that to AppData\Roaming\sm64ex-coop\sav\mod-name.sav (Windows example)
You can currently save only strings meaning if you want to save a number you'd need to do
mod_storage_save("score", tostring(score))
and then
score = tonumber(mod_storage_load("score"))
To handle types like that.
network_discord_id_from_local_index() returns the discord ID of a player by local index.
Some misc changes I made were removing the unsed ini.h include in save_file.c and making the autogen converters output LF line endings instead of CRLF on windows.

* Prevent getting id if using direct connect

* Update djui_panel_player.c

Why does this bother me?

Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
2022-09-26 19:28:26 -07:00
Emerald Lockdown
8e9b2c270c
save_file_erase_current_backup_save and more (#189) 2022-09-26 19:14:53 -07:00
Agent X
6c0757c908
Color type and palette/color functions (#199)
Added a Color type (typedef u8 Color[3])
Added network_player_color_to_palette and network_player_palette_to_color
Reran autogen
2022-09-26 19:11:51 -07:00
Agent X
1241c56ed9
Expose level_trigger_warp and related constants (#197) 2022-09-19 19:51:27 -07:00
Emerald Lockdown
ade3e7b887
Remove save_file_erase function (#195) 2022-09-19 19:33:43 -07:00
Isaac0-dev
d4417171e4
Improvements (#151)
More lives fixes, death loop fix, add a null check and add get_dialog_id()
add a way to disable rom hack cam collisions
expose more sound management functions
2022-08-25 17:25:54 -07:00
Emerald Lockdown
93bdbf81c3
Expose save star flag (#139)
* added save_file_set_star_flags and save_reload
2022-08-07 20:53:42 -07:00
Emerald Lockdown
670acc638e
Exposed save_file_erase and save_file_reload to lua (#137) 2022-08-07 20:52:51 -07:00
Prince Frizzy
913f41f6ae
Add some more functions for use in LUA, And expose others. (#129)
* Add some functions, and restore one.
2022-08-05 22:17:05 -07:00
MysterD
946f16329c Added ability to have completely custom levels that don't override anything 2022-06-05 21:55:31 -07:00
PeachyPeach
27db236b5d
Various bug fixes + Added is_game_paused() and more background music functions to lua (#93)
Bug: DynOS models with animations cannot swap animations if they are
     loaded via lua (smlua_model_util_get_id and
     obj_set_model_extended).
Fix: DynOS_Actor_GetActorGfx takes a graph node instead of a georef,
     and checks for DynosValidActors graph nodes if georef is NULL.

Bug: The game can crash when calling obj_set_model_extended inside a
     HOOK_ON_OBJECT_RENDER hook.
Fix: The crash happens in smlua_model_util_load_with_pool_and_cache_id
     due to pool being NULL. If the game can't allocate an
     AllocOnlyPool object, use DynOS to generate the graph node.

Bug: warp_to_level and similar functions don't trigger HOOK_ON_WARP.
Fix: Call HOOK_ON_WARP hooks in DynOS_Warp_UpdateWarp and
     DynOS_Warp_UpdateExit after level and mario initialization.

Bug: The game sometimes calls HOOK_ON_OBJECT_RENDER hooks for
     unintended objects.
Fix: Initialize hookRender field to 0 when creating an object.

Bug: Actions can't apply gfx offsets to characters that have an anim
     offset (Waluigi, Wario)
Fix: Add m->curAnimOffset to gfx.pos[1] instead of setting it to
     m->pos[1] + m->curAnimOffset, except during the jumbo star
     cutscene.
2022-05-14 14:28:25 -07:00
MysterD
933914d984 Add djui_hud_world_pos_to_screen_pos, and render interpolated rect/texture 2022-05-13 19:54:49 -07:00
MysterD
f2c032c6d8 Specify filetypes in audio folder, add audio_custom_shutdown() 2022-05-08 15:44:04 -07:00
MysterD
ad6642a4bd Add support for custom HUD textures and faster texture packs w/o EXTERNAL_DATA 2022-05-06 22:03:12 -07:00
MysterD
80a5638bd1 Added more detailed lua error logs 2022-04-23 00:15:08 -07:00
MysterD
48cff1c5da Split up functions.md into multiple pages 2022-04-22 18:41:42 -07:00
MysterD
bc7821a1e9 Added custom mod packets 2022-04-22 00:13:58 -07:00
MysterD
dd6f6c430e Refactor how objects set their models 2022-04-19 18:47:50 -07:00
MysterD
9dc78a0971 Added support for custom music 2022-04-10 09:11:45 -07:00
MysterD
653ab58a5d Allow course names/acts to be changed from Lua 2022-04-09 23:28:36 -07:00
MysterD
3731ab31af Add more bhv functions and a func to ge tthe current save 2022-04-07 01:17:48 -07:00
MysterD
2187e7b4b3 Added behavior actions for rom hacks 2022-04-06 18:36:15 -07:00
MysterD
6751829f91 Adjustments for Lua/Mods 2022-04-06 18:24:50 -07:00
MysterD
b7be386200 Add gLakituState to Lua 2022-03-25 23:58:10 -07:00
MysterD
4d9ff3a3b1 Added a bunch of camera functions to Lua 2022-03-25 23:46:37 -07:00
Isaac
65df754b09
Add save file flag functions to lua api (#41) 2022-03-24 19:30:15 -07:00
MysterD
823f28acd3 Fix compile error 2022-03-21 13:02:16 -07:00
MysterD
c58702df93 Misc Lua fixes/enhancements
approach_s32 now stays within 32 bits
Fixed SOUND_ARG_LOAD
Added OBJ_COL_FLAGS_*
Added reset_rumble_timers
Added get_hand_foot_pos_*
Added get_water_surface_pseudo_floor
Adjusted new hooks to be called at the appropriate times
2022-03-19 00:56:59 -07:00
MysterD
edf06bede0 Added ability for mods to load custom geos 2022-03-14 00:11:36 -07:00
Prince Frizzy
75bb9b7912
Update to Refresh 13 (#19)
* Refresh 13

Co-authored-by: n64 <n64>
2022-03-13 00:17:10 -08:00
MysterD
08d4818ba7 Added Lua definitions for autocomplete in visual studio code 2022-03-12 21:28:57 -08:00
MysterD
89d44f6501 Moved smlua_XXX_utils.[ch] to src/pc/lua/utils/ 2022-03-09 23:09:33 -08:00
MysterD
4638ff6f22 Added the ability to set surface collisions on custom behaviors 2022-03-09 23:02:20 -08:00
MysterD
c2177b4eec Add collision_find_surface_on_ray() 2022-03-05 14:24:58 -08:00
MysterD
b3ae635e98 Add custom behavior Lua examples 2022-03-04 23:14:01 -08:00
MysterD
f2247cd973 Documented manually created Lua functions 2022-03-04 23:05:23 -08:00
MysterD
18a5ebafae More lua doc fixes 2022-03-04 22:38:43 -08:00
MysterD
e4f72105a3 Update Lua documentation autogeneration 2022-03-04 22:22:31 -08:00
MysterD
a87116a632 Add networking for custom behaviors 2022-03-04 20:03:00 -08:00
MysterD
3ad6c721dc Initial custom behavior commit 2022-03-03 01:04:15 -08:00
MysterD
ecc33286ad Ran autogen 2022-03-01 12:06:06 -08:00
MysterD
bbeec3c707 Add support for Lua functions inside parameters 2022-02-22 23:34:22 -08:00
MysterD
816df2117f Add obj_behaviors to the Lua API 2022-02-22 22:39:45 -08:00
MysterD
e499f51767 Add Lua wrappers for object_helpers.c 2022-02-22 18:34:51 -08:00
MysterD
44fca9aede Added BehaviorScript pointer handling to Lua API 2022-02-22 18:29:30 -08:00
MysterD
94bc7940cc Initial Lua support for spawning objects 2022-02-21 22:46:39 -08:00
MysterD
a44acd51f2 Added HUD rendering to hide-and-seek 2022-02-16 18:10:06 -08:00
MysterD
ded74e7fb5 Added image drawing to Lua API 2022-02-15 22:12:20 -08:00
MysterD
941375718b Added CPointers to Lua/autogen 2022-02-15 22:09:21 -08:00
MysterD
f862b3ac21 Adjusted function autogen to automatically pull includes 2022-02-15 22:08:24 -08:00
MysterD
3fcc31e233 Added text rendering to Lua API 2022-02-15 22:08:01 -08:00
MysterD
62517c6bce Print totals when autogenerating lua documentation 2022-02-05 13:33:22 -08:00
MysterD
434176e7d6 Added a bunch of functions to Lua wrapper 2022-02-04 19:13:15 -08:00
MysterD
b6a3733bf0 Added network_get_player_text_color_string() to lua api 2022-02-03 19:05:59 -08:00
MysterD
cf34aa0b08 Added support for returning structs from C to Lua 2022-02-03 00:43:08 -08:00
MysterD
a3467bb6dc Added chat message creation to Lua 2022-02-03 00:42:48 -08:00
MysterD
271a375510 Added immutable strings to autogen, added djui_popup_create 2022-02-03 00:42:31 -08:00
MysterD
d82dc207aa Adjusted autogen to pull functions directly from src 2022-02-03 00:41:07 -08:00
MysterD
cecb145bbb Added network utils functions to Lua 2022-02-02 20:24:35 -08:00
MysterD
c59aeedf78 Added gNetworkPlayers to lua api 2022-02-02 19:24:51 -08:00
MysterD
0d7b6daa9b Fixed character sound functions 2022-02-01 21:59:34 -08:00
MysterD
4daa658567 Removed unimplemented functions from documentation 2022-01-29 22:59:36 -08:00
MysterD
c170984471 Autogenerated Lua documentation 2022-01-29 22:47:22 -08:00
MysterD
bf2969be04 More Lua improvements
convert_functions.py no longer hardcodes acceptable LOT_ values
Added characters.h and surface_collision.h to convert_structs.py
Prevented mod filenames with a slash in it from being considered acceptable
Sanitized mod filenames when received from the server
2022-01-25 20:28:34 -08:00
MysterD
08ccde2937 Lua: autogenerated cobjects 2022-01-25 19:28:10 -08:00