MysterD
647d7c92b9
Fixed player interactions
2022-04-21 00:48:26 -07:00
MysterD
b531c30a46
Added passes_pvp_interaction_checks()
2022-04-20 18:27:34 -07:00
MysterD
8f5136783c
Merge branch 'unstable' of github.com:sm64ex-coop-dev/sm64ex-coop into unstable
2022-04-20 11:22:18 -07:00
MysterD
0db8bde5ab
Add headPos to marioBodyState
2022-04-20 18:21:36 -07:00
PeachyPeach
ee9dbc6e80
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
1b291b0941
Added HOOK_ON_OBJECT_RENDER
2022-04-19 22:36:47 -07:00
MysterD
cc4e3c6354
Refactor how objects set their models
2022-04-19 18:47:50 -07:00
MysterD
78f3a573ba
exposed sequence ids to lua
2022-04-15 21:51:18 -07:00
MysterD
f986102dc4
Added ability to set a level to skip credits, fixed SM74 bugs
2022-04-15 18:33:10 -07:00
MysterD
dc4310a152
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
84e3099d6e
Add a vanilla-like camera for romhacks
2022-04-11 21:04:15 -07:00
MysterD
709a145575
Quick fixes for test
2022-04-10 10:11:13 -07:00
MysterD
208ae3815e
Added default volume support for custom sequences
2022-04-10 09:47:17 -07:00
MysterD
18815bff0b
Added support for custom music
2022-04-10 09:11:45 -07:00
MysterD
0e4ab8ec64
Added HOOK_GET_STAR_COLLECTION_DIALOG
2022-04-10 02:44:11 -07:00
MysterD
1873148be8
Add exit castle warp params to Lua
2022-04-10 02:29:44 -07:00
MysterD
fbab32369c
Allow ability to disable vanilla course-specific settings for camera
2022-04-10 01:55:11 -07:00
MysterD
2d159af4cc
Allow coop mods to use the backup save slot independently of the normal one
2022-04-10 00:30:47 -07:00
MysterD
2e8017a39c
Allow course names/acts to be changed from Lua
2022-04-09 23:28:36 -07:00
MysterD
37e2593279
Unhardcoded all behavior dialogs, allowed replacement of dialogs
2022-04-09 19:50:50 -07:00
MysterD
47dd967af5
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
38ac873568
Made trajectories overridable from Lua
2022-04-08 23:01:41 -07:00
MysterD
18025909c8
Un-hardcoded vanilla trajectories
2022-04-08 21:01:17 -07:00
MysterD
d25159fd77
Refactored StarPositions
2022-04-08 19:46:01 -07:00
MysterD
8805ec2a07
Made the entry level configurable by Lua
2022-04-08 19:39:22 -07:00
MysterD
d4f462d491
Added custom level script overrides, warps work now
2022-04-08 19:29:16 -07:00
MysterD
6500173464
Allow Lua to adjust default star spawn positions
2022-04-08 00:37:20 -07:00
MysterD
57531d7453
Add more bhv functions and a func to ge tthe current save
2022-04-07 01:17:48 -07:00
MysterD
54d958a34d
Added behavior actions for rom hacks
2022-04-06 18:36:15 -07:00
MysterD
6dd90100ad
Adjustments for Lua/Mods
2022-04-06 18:24:50 -07:00
MysterD
2aeb96cc59
Merge branch 'unstable' into level-scripts
2022-04-06 01:36:33 -07:00
Agent-11 / Agent X
058183d020
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
4052347247
More progress toward custom DynOS levels
2022-04-02 15:14:04 -07:00
MysterD
6f00bd7bd0
Ran autogen
2022-03-30 20:03:59 -07:00
MysterD
16aa75ca93
Fix compile errors / run autogen
2022-03-29 21:12:42 -07:00
MysterD
745fce41a8
Add custom collisions to DynOS/Lua
2022-03-28 01:02:33 -07:00
MysterD
5efd8565eb
Added ability for Lua mods to adjust gServerSettings
2022-03-26 01:08:15 -07:00
MysterD
7deafce819
Add set_mario_y_vel_based_on_fspeed() to lua
2022-03-26 00:01:13 -07:00
MysterD
2dfb28ddc7
Add gLakituState to Lua
2022-03-25 23:58:10 -07:00
MysterD
b38af4b798
Added a bunch of camera functions to Lua
2022-03-25 23:46:37 -07:00
MysterD
f8d52343b5
Add HOOK_ON_PAUSE_EXIT
2022-03-25 23:06:14 -07:00
MysterD
f38741ba4a
Make new timers immutable
2022-03-25 21:39:03 -07:00
Isaac
4f78f507ee
Add save file flag functions to lua api ( #41 )
2022-03-24 19:30:15 -07:00
Prince Frizzy
b01553200b
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
9c73f75bed
Fix compile error
2022-03-21 13:02:16 -07:00
MysterD
c34ffd90e7
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
d5f225018f
Added HOOK_ON_OBJECT_UNLOAD, HOOK_ON_SYNC_OBJECT_UNLOAD
2022-03-17 01:43:08 -07:00
MysterD
7a00461333
Added allocate_mario_action()
2022-03-17 01:17:34 -07:00
MysterD
55ff99cfe2
Added hooks: HOOK_ON_LEVEL_INIT, HOOK_ON_WARP, HOOK_ON_SYNC_VALID
2022-03-16 23:53:01 -07:00
MysterD
f74b6a47d0
Load Super Keeberghrh's ERROR model when DynOS can't find the model
2022-03-16 01:34:18 -07:00
MysterD
d2522cc955
Added ability for mods to load custom geos
2022-03-14 00:11:36 -07:00
MysterD
5c4bb676a3
Re-ran autogen
2022-03-13 00:25:36 -08:00
MysterD
3cf546923e
Merge branch 'unstable' of github.com:sm64ex-coop-dev/sm64ex-coop into unstable
2022-03-13 00:25:22 -08:00
Prince Frizzy
c62e65d7e8
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
43ae67c337
Update to Refresh 13 ( #19 )
...
* Refresh 13
Co-authored-by: n64 <n64>
2022-03-13 00:17:10 -08:00
MysterD
bdd939f24e
Added hook: HOOK_ALLOW_PVP_ATTACK, disabled friendly fire in football
2022-03-12 23:43:47 -08:00
MysterD
12e28f4099
Added Lua definitions for autocomplete in visual studio code
2022-03-12 21:28:57 -08:00
MysterD
2876251fb6
Added DynOS warp functions to Lua API
2022-03-11 18:11:32 -08:00
MysterD
dacc7d9b9c
Allowed Lua mods to override player models and palettes
2022-03-10 18:23:25 -08:00
MysterD
316bf8afa0
Moved smlua_XXX_utils.[ch] to src/pc/lua/utils/
2022-03-09 23:09:33 -08:00
MysterD
01cd49273e
Added the ability to set surface collisions on custom behaviors
2022-03-09 23:02:20 -08:00
MysterD
9334840448
Added ability for Lua to spawn non-synchronized objects
2022-03-09 21:25:34 -08:00
MysterD
ed95ad3cb7
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
151c8b1389
Add more vec3f functions to Lua
2022-03-05 18:10:20 -08:00
MysterD
37d1d70a59
Add collision_find_surface_on_ray()
2022-03-05 14:24:58 -08:00
MysterD
d321b34798
Add custom behavior Lua examples
2022-03-04 23:14:01 -08:00
MysterD
b9086f9414
Documented manually created Lua functions
2022-03-04 23:05:23 -08:00
MysterD
c82debc7fb
More lua doc fixes
2022-03-04 22:38:43 -08:00
MysterD
a6670df963
Add missing AreaTimerType to documentation
2022-03-04 22:31:32 -08:00
MysterD
68e89ff337
Fix Lua documentation autogen links
2022-03-04 22:24:21 -08:00
MysterD
b6004d7358
Update Lua documentation autogeneration
2022-03-04 22:22:31 -08:00
MysterD
6e74c21b0f
Fixed how constants.md autogen'd links
2022-03-04 22:11:10 -08:00
MysterD
e6fac87fdc
Add networking for custom behaviors
2022-03-04 20:03:00 -08:00
MysterD
35774e366e
Add define_custom_obj_fields() to Lua
2022-03-04 18:16:54 -08:00
MysterD
a562c4be9b
Add object animations to Lua, add CPointer allowlist
2022-03-03 18:31:45 -08:00
MysterD
3de0900bbc
Initial custom behavior commit
2022-03-03 01:04:15 -08:00
MysterD
394a9feac0
Ran autogen
2022-03-01 12:06:06 -08:00
MysterD
62718d8987
Add more constants to Lua
2022-02-25 22:44:37 -08:00
MysterD
a0832d0cfe
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
965e62836f
Add support for Lua functions inside parameters
2022-02-22 23:34:22 -08:00
MysterD
3a1ec9c7e2
Add obj_behaviors to the Lua API
2022-02-22 22:39:45 -08:00
MysterD
3852ca19c3
Add Lua wrappers for object_helpers.c
2022-02-22 18:34:51 -08:00
MysterD
cba01d0b63
Added BehaviorScript pointer handling to Lua API
2022-02-22 18:29:30 -08:00
MysterD
cee83df8c9
Initial Lua support for spawning objects
2022-02-21 22:46:39 -08:00
MysterD
6a15de3443
Fix compile issues for Linux/Mac
2022-02-20 20:23:10 -08:00
MysterD
52f3368756
Added object fields to Lua API
2022-02-19 13:51:02 -08:00
MysterD
688dc5a73d
Binary search Lua struct fields
2022-02-18 23:39:18 -08:00
MysterD
6af5fb58d9
Added HUD rendering to hide-and-seek
2022-02-16 18:10:06 -08:00
MysterD
a1ec9ad628
Added HOOK_ON_INTERACT to Lua API
2022-02-15 22:21:31 -08:00
MysterD
a9e6cd532a
Added global textures
2022-02-15 22:14:55 -08:00
MysterD
a73b828106
Created TextureInfo struct
2022-02-15 22:13:10 -08:00
MysterD
d84d12a433
Added image drawing to Lua API
2022-02-15 22:12:20 -08:00
MysterD
2d70b235ff
Added CPointers to Lua/autogen
2022-02-15 22:09:21 -08:00
MysterD
404466fe66
Adjusted function autogen to automatically pull includes
2022-02-15 22:08:24 -08:00
MysterD
7dd18aaa2a
Added text rendering to Lua API
2022-02-15 22:08:01 -08:00
MysterD
1fbfed2187
Fixed Wario sounds pitch/speed
2022-02-15 00:51:19 -08:00
MysterD
e53c3d5f71
Add Wario's moveset based on steven's mod
2022-02-14 18:26:44 -08:00
MysterD
956efe1e86
Print totals when autogenerating lua documentation
2022-02-05 13:33:22 -08:00
MysterD
410c10f433
Added a bunch of functions to Lua wrapper
2022-02-04 19:13:15 -08:00
MysterD
0831fec716
Added read-only column to Lua struct documentation
2022-02-04 01:32:19 -08:00
MysterD
75d5211fcf
Added network_get_player_text_color_string() to lua api
2022-02-03 19:05:59 -08:00
MysterD
4cd13853db
Changed autogeneration of Lua constants to pull directly from src
2022-02-03 00:43:17 -08:00
MysterD
3677a1ac7f
Added support for returning structs from C to Lua
2022-02-03 00:43:08 -08:00
MysterD
4f3888b7e3
Added chat commands to lua mods
2022-02-03 00:42:57 -08:00
MysterD
92c248d728
Added chat message creation to Lua
2022-02-03 00:42:48 -08:00
MysterD
f92ac3b472
Added immutable strings to autogen, added djui_popup_create
2022-02-03 00:42:31 -08:00
MysterD
774ae79c2e
Adjusted autogen to pull functions directly from src
2022-02-03 00:41:07 -08:00
MysterD
8c9aae228b
Added network utils functions to Lua
2022-02-02 20:24:35 -08:00
MysterD
e630cfe8c7
Added on_player_connected/disconnected hooks
2022-02-02 19:33:36 -08:00
MysterD
39cefa6ec4
Added gNetworkPlayers to lua api
2022-02-02 19:24:51 -08:00
MysterD
bdb6de75e1
Added HOOK_ON_PVP_ATTACK
2022-02-02 19:19:17 -08:00
MysterD
7bca69b4bb
Fixed character sound functions
2022-02-01 21:59:34 -08:00
MysterD
0853986e8d
Added ability for sync tables to contain tables
2022-02-01 18:15:10 -08:00
MysterD
97fa7b15ea
Refactoring lua sync table
2022-01-31 21:32:57 -08:00
MysterD
598e8b5bed
Initial foundation for lua networking
2022-01-30 23:11:33 -08:00
MysterD
a854889fa5
Removed ACT_(MARIO_ACTION) Lua functions from API (useless)
2022-01-29 23:02:36 -08:00
MysterD
fd88c77dfa
Removed unimplemented functions from documentation
2022-01-29 22:59:36 -08:00
MysterD
eefb52880c
Autogenerated Lua documentation
2022-01-29 22:47:22 -08:00
MysterD
b26f3e43fc
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
a606c99cd1
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
5a0a2eb9e0
Lua: autogenerated cobjects
2022-01-25 19:28:10 -08:00
MysterD
776c13e978
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
b03e32daf1
Added Lua function param count checking
2022-01-23 17:00:13 -08:00
MysterD
90691ee89d
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
bc431deb4e
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
652e29b679
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
4ff49cbca7
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