MysterD
80a5638bd1
Added more detailed lua error logs
2022-04-23 00:15:08 -07:00
MysterD
0d29a29c1b
Use binary search for all Lua cobject fields
2022-04-22 18:51:25 -07:00
MysterD
5cfef9abb3
Added gActiveMods global to lua
2022-04-22 18:44:59 -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
ef7dc41560
Added HOOK_ON_DEATH
2022-04-21 18:34:12 -07:00
MysterD
c8a0e6da10
Fixed player interactions
2022-04-21 00:48:26 -07:00
MysterD
4b63a16056
Added passes_pvp_interaction_checks()
2022-04-20 18:27:34 -07:00
MysterD
186149b2dd
Merge branch 'unstable' of github.com:sm64ex-coop-dev/sm64ex-coop into unstable
2022-04-20 11:22:18 -07:00
MysterD
18d7140954
Add headPos to marioBodyState
2022-04-20 18:21:36 -07:00
PeachyPeach
9e5a45ecdd
Added lua profiler; Added useful object functions; Bug fixes ( #65 )
...
Added a basic lua profiler
If the game is compiled with LUA_PROFILER=1, displays on screen the average execution time per frame of each active lua mod, in microseconds.
Added object functions
For some reasons, accessing the object fields obj.o* via lua is rather slow, and can drastically increase execution time of custom behaviors. For basic stuff like setting an object's velocity or moving it, some functions, missing from the original code, have been added:
s32 obj_is_valid_for_interaction(struct Object *o): returns 1 if an object is valid for interaction, i.e. active, tangible and not interacted.
s32 obj_check_hitbox_overlap(struct Object *o1, struct Object *o2): returns 1 if two objects hitboxes overlap. Doesn't check tangibility, only hitbox values.
void obj_set_vel(struct Object *o, f32 vx, f32 vy, f32 vz): sets an object's velocity.
void obj_move_xyz(struct Object *o, f32 dx, f32 dy, f32 dz): moves an object position by (dx, dy, dz).
Bug fixes:
Disable collisions with walls and ceilings after Mario exits a warp pipe to prevent softlocks in narrow places.
Make the koopa shell exclamation box respawn after some time.
Quicksand no longer downwarps and instant-kills Mario if he's shocked while being above it.
2022-04-20 11:20:45 -07:00
MysterD
2347ab61c1
Added HOOK_ON_OBJECT_RENDER
2022-04-19 22:36:47 -07:00
MysterD
dd6f6c430e
Refactor how objects set their models
2022-04-19 18:47:50 -07:00
MysterD
6b67c983ec
exposed sequence ids to lua
2022-04-15 21:51:18 -07:00
MysterD
fbce5f23c6
Added ability to set a level to skip credits, fixed SM74 bugs
2022-04-15 18:33:10 -07:00
MysterD
9653a19c7d
Improve rom hack camera's collisions in tight spaces and focus underwater. Add HOOK_ON_SET_CAMERA_MODE
2022-04-13 00:10:50 -07:00
MysterD
431af75d88
Add a vanilla-like camera for romhacks
2022-04-11 21:04:15 -07:00
MysterD
ef4a83dc88
Quick fixes for test
2022-04-10 10:11:13 -07:00
MysterD
2c187bba45
Added default volume support for custom sequences
2022-04-10 09:47:17 -07:00
MysterD
9dc78a0971
Added support for custom music
2022-04-10 09:11:45 -07:00
MysterD
957e03cd81
Added HOOK_GET_STAR_COLLECTION_DIALOG
2022-04-10 02:44:11 -07:00
MysterD
958b04378c
Add exit castle warp params to Lua
2022-04-10 02:29:44 -07:00
MysterD
15d6dc3a9c
Allow ability to disable vanilla course-specific settings for camera
2022-04-10 01:55:11 -07:00
MysterD
3db42f1700
Allow coop mods to use the backup save slot independently of the normal one
2022-04-10 00:30:47 -07:00
MysterD
653ab58a5d
Allow course names/acts to be changed from Lua
2022-04-09 23:28:36 -07:00
MysterD
c75e71f24e
Unhardcoded all behavior dialogs, allowed replacement of dialogs
2022-04-09 19:50:50 -07:00
MysterD
98f02458e3
Added a way to bind to movtexqc ids through lua, added the rest of the object constants
2022-04-09 01:47:20 -07:00
MysterD
defb7dc830
Made trajectories overridable from Lua
2022-04-08 23:01:41 -07:00
MysterD
ef63435bc1
Un-hardcoded vanilla trajectories
2022-04-08 21:01:17 -07:00
MysterD
72584d5552
Refactored StarPositions
2022-04-08 19:46:01 -07:00
MysterD
37367a9756
Made the entry level configurable by Lua
2022-04-08 19:39:22 -07:00
MysterD
403bf30be9
Added custom level script overrides, warps work now
2022-04-08 19:29:16 -07:00
MysterD
6a7712b1c8
Allow Lua to adjust default star spawn positions
2022-04-08 00:37:20 -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
52e705c9d8
Merge branch 'unstable' into level-scripts
2022-04-06 01:36:33 -07:00
Agent-11 / Agent X
746dd50c5c
Add get/set_environment_region ( #56 )
...
Set the water height with a function. Also added an example for it in the documentation.
2022-04-05 15:53:16 -07:00
MysterD
046c595f92
More progress toward custom DynOS levels
2022-04-02 15:14:04 -07:00
MysterD
34d28ffb3c
Ran autogen
2022-03-30 20:03:59 -07:00
MysterD
2115e4358d
Fix compile errors / run autogen
2022-03-29 21:12:42 -07:00
MysterD
d74f5cfe61
Add custom collisions to DynOS/Lua
2022-03-28 01:02:33 -07:00
MysterD
de048928ce
Added ability for Lua mods to adjust gServerSettings
2022-03-26 01:08:15 -07:00
MysterD
4a9e618efe
Add set_mario_y_vel_based_on_fspeed() to lua
2022-03-26 00:01:13 -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
MysterD
322e4983ae
Add HOOK_ON_PAUSE_EXIT
2022-03-25 23:06:14 -07:00
MysterD
033b11ac22
Make new timers immutable
2022-03-25 21:39:03 -07:00
Isaac
65df754b09
Add save file flag functions to lua api ( #41 )
2022-03-24 19:30:15 -07:00
Prince Frizzy
a89aa6ced8
A load of fixes and cleanup.. ( #39 )
...
Red Coins will now properly play the cutscene for who collected the last red coin.
Secrets will now properly play the cutscene for who collected the last secret.
Treasure Chests will now only play the star cutscene for the person who opened the last chest.
Properly named some unknown Treasure Chest fields.
The Chain Chomp Chain should now properly be despawned for late joiners.
Improved the Big Boo's Haunt Merry-Go-Round checks for Mario.
2022-03-22 19:50:13 -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
11649ce1d8
Added HOOK_ON_OBJECT_UNLOAD, HOOK_ON_SYNC_OBJECT_UNLOAD
2022-03-17 01:43:08 -07:00
MysterD
0cd2a91e9c
Added allocate_mario_action()
2022-03-17 01:17:34 -07:00
MysterD
7252d836a9
Added hooks: HOOK_ON_LEVEL_INIT, HOOK_ON_WARP, HOOK_ON_SYNC_VALID
2022-03-16 23:53:01 -07:00
MysterD
469e4ac4e4
Load Super Keeberghrh's ERROR model when DynOS can't find the model
2022-03-16 01:34:18 -07:00
MysterD
edf06bede0
Added ability for mods to load custom geos
2022-03-14 00:11:36 -07:00
MysterD
85d4012e89
Re-ran autogen
2022-03-13 00:25:36 -08:00
MysterD
b695cbd55a
Merge branch 'unstable' of github.com:sm64ex-coop-dev/sm64ex-coop into unstable
2022-03-13 00:25:22 -08:00
Prince Frizzy
84aa5ad890
Fixes for multiple players getting a star cutscene, Even if they didn't spawn it. ( #22 )
...
* Fix up star cutscene issues.
2022-03-13 00:22:48 -08: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
3ce66ac312
Added hook: HOOK_ALLOW_PVP_ATTACK, disabled friendly fire in football
2022-03-12 23:43:47 -08:00
MysterD
08d4818ba7
Added Lua definitions for autocomplete in visual studio code
2022-03-12 21:28:57 -08:00
MysterD
24df92fa48
Added DynOS warp functions to Lua API
2022-03-11 18:11:32 -08:00
MysterD
497a250476
Allowed Lua mods to override player models and palettes
2022-03-10 18:23:25 -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
d03aacc144
Added ability for Lua to spawn non-synchronized objects
2022-03-09 21:25:34 -08:00
MysterD
1b99e22848
Added the ability to spawn particles from Lua
...
Added particles to football
Increased the object cap for particles
2022-03-09 21:25:07 -08:00
MysterD
7aab694743
Add more vec3f functions to Lua
2022-03-05 18:10: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
d3b9163507
Add missing AreaTimerType to documentation
2022-03-04 22:31:32 -08:00
MysterD
4d4edf152a
Fix Lua documentation autogen links
2022-03-04 22:24:21 -08:00
MysterD
e4f72105a3
Update Lua documentation autogeneration
2022-03-04 22:22:31 -08:00
MysterD
e740529776
Fixed how constants.md autogen'd links
2022-03-04 22:11:10 -08:00
MysterD
a87116a632
Add networking for custom behaviors
2022-03-04 20:03:00 -08:00
MysterD
9c7036afe3
Add define_custom_obj_fields() to Lua
2022-03-04 18:16:54 -08:00
MysterD
3bc80ad7be
Add object animations to Lua, add CPointer allowlist
2022-03-03 18:31:45 -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
fa36ed308e
Add more constants to Lua
2022-02-25 22:44:37 -08:00
MysterD
33ced38baa
Various Lua object API improvements
...
Lifted immutablity of most Lua struct fields
Added object constants to Lua API
Added ability to set struct pointers in Lua API
Prevented respawners for Lua-spawned objects
2022-02-25 18:30:05 -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
8d81d8df50
Fix compile issues for Linux/Mac
2022-02-20 20:23:10 -08:00
MysterD
b3e21d7edc
Added object fields to Lua API
2022-02-19 13:51:02 -08:00
MysterD
3274fca929
Binary search Lua struct fields
2022-02-18 23:39:18 -08:00
MysterD
a44acd51f2
Added HUD rendering to hide-and-seek
2022-02-16 18:10:06 -08:00
MysterD
e536d140bb
Added HOOK_ON_INTERACT to Lua API
2022-02-15 22:21:31 -08:00
MysterD
669e17bc18
Added global textures
2022-02-15 22:14:55 -08:00
MysterD
29599a82ec
Created TextureInfo struct
2022-02-15 22:13:10 -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
502bf08393
Fixed Wario sounds pitch/speed
2022-02-15 00:51:19 -08:00
MysterD
6d6d94fcde
Add Wario's moveset based on steven's mod
2022-02-14 18:26:44 -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
f4279924fb
Added read-only column to Lua struct documentation
2022-02-04 01:32:19 -08:00
MysterD
b6a3733bf0
Added network_get_player_text_color_string() to lua api
2022-02-03 19:05:59 -08:00
MysterD
6fcc60a791
Changed autogeneration of Lua constants to pull directly from src
2022-02-03 00:43:17 -08:00
MysterD
cf34aa0b08
Added support for returning structs from C to Lua
2022-02-03 00:43:08 -08:00
MysterD
fb01338278
Added chat commands to lua mods
2022-02-03 00:42:57 -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
12f66994e6
Added on_player_connected/disconnected hooks
2022-02-02 19:33:36 -08:00
MysterD
c59aeedf78
Added gNetworkPlayers to lua api
2022-02-02 19:24:51 -08:00
MysterD
fcb459d095
Added HOOK_ON_PVP_ATTACK
2022-02-02 19:19:17 -08:00
MysterD
0d7b6daa9b
Fixed character sound functions
2022-02-01 21:59:34 -08:00
MysterD
9a3796f0b8
Added ability for sync tables to contain tables
2022-02-01 18:15:10 -08:00
MysterD
836e2f6e7d
Refactoring lua sync table
2022-01-31 21:32:57 -08:00
MysterD
e9d3bf49da
Initial foundation for lua networking
2022-01-30 23:11:33 -08:00
MysterD
d5aeec5490
Removed ACT_(MARIO_ACTION) Lua functions from API (useless)
2022-01-29 23:02:36 -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
0aa8cd0e35
More improvements to Lua
...
autogenerated functions for characters.h
Fixes in autogen:
improvements to LVT/LOT conversion
improvements to immutability status
Updates to character-movesets.lua, every character has a moveset now
Added .type to stuct Character
Prevented unimplemented actions from crashing the game
2022-01-26 20:35:13 -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
MysterD
2e79f860e6
More lua improvements
...
Added hooks: ON_SET_MARIO_ACTION, BEFORE_PHYS_STEP
Working on Luigi's character abilities
Autogen lua functions for surface_collision.h
2022-01-24 19:19:19 -08:00
MysterD
7d3769a216
Added Lua function param count checking
2022-01-23 17:00:13 -08:00
MysterD
767809f56a
Lua mod table and download
...
Mods are now loaded into a table
Clients now request a mod list from the server, then download each file one at a time before joining
Embedded constants.lua into the program
2022-01-22 23:59:49 -08:00
MysterD
8f3ca4c6ea
Lua stuff
...
Added HOOK_BEFORE_MARIO_UPDATE
Added support for Vec3f/Vec3s in autogenerated lua functions
Added more lua functions from mario_actions_submerged.c, and thread6.c
Renamed animation-related fields in CObject wrappers
Moved coss and sins to wrapper
Extended Moveset:
Fixed rolling angle bug
Added rumble calls
Set facing direction when spinning
Added ledge parkour
Corrected ground pound animation
2022-01-20 19:04:34 -08:00
MysterD
cc2324d35e
Even more Lua improvements
...
Added support for structs: Surface, GraphNodeObject_sub, Animation
Generated lua wrapper functions for more functions in mario_actions_submerged.c
Fixed play_sound() wrapper to use a vec3f
Extended Moveset:
ported wall slide and water ground pound
2022-01-20 18:02:12 -08:00
MysterD
b364493807
Even more Lua improvements
...
Reorganized autogenerated lua functions into their own file
Grouped up COBJECT LVTs
Partially implemented: struct MarioBodyState, Object, ObjectNode, GraphNodeObject
Reimplemented lua function wrappers for: camera.h, mario.h, mario_actions_*.c, mario_step.h
2022-01-19 19:20:57 -08:00