Commit graph

1282 commits

Author SHA1 Message Date
MysterD
0a54b7ebed Merge branch 'unstable' of github.com:djoslin0/sm64ex-coop into unstable 2022-02-17 18:27:19 -08:00
MysterD
f5df2917b8 Prevented race condition that caused all objects to disappear in rare circumstances 2022-02-17 18:13:43 -08:00
MysterD
267b1c2542 Prevented 'player left this level' from being displayed when a player connects 2022-02-16 22:56:39 -08:00
MysterD
c6278694d1 Fix Yoshi sounds 2022-02-16 22:51:59 -08:00
MysterD
dab7cf4c2b Added player description to player list 2022-02-16 22:30:17 -08:00
MysterD
a44acd51f2 Added HUD rendering to hide-and-seek 2022-02-16 18:10:06 -08:00
MysterD
da5f9263fd Fix compile error that emerged in the merge 2022-02-15 22:29:22 -08:00
MysterD
e536d140bb Added HOOK_ON_INTERACT to Lua API 2022-02-15 22:21:31 -08:00
MysterD
1ea28b9c5a Added rect rendering to Lua API 2022-02-15 22:15:49 -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
ef12ff9e70 Removed asserts (or made them soft) 2022-02-15 22:04:34 -08:00
MysterD
8c0e3460f6 Fixed certain object desyncs
Prevented friendly lakitu and 1up spawners from desyncing the object table
Resynchronized 1up spawners
Increased max packet size to 2048
2022-02-15 22:04:01 -08:00
MysterD
265d23892b Fixed crash in star seleciton 2022-02-15 22:03:17 -08:00
Isaac
46a4b377a5 Update controller_bind_mapping.c 2022-02-16 15:04:51 +10:00
Isaac
956a95bb8f Update crash_handler.c 2022-02-16 15:04:18 +10:00
MysterD
25fe547113 More audio fixes
by djoslin0 and theclashingfritz
2022-02-15 18:22:55 -08:00
Prince Frizzy
bd247372ef audio: Extend the amount of notes that can play at once.
Provided by theclashingfritz
2022-02-15 02:06:18 -08:00
Prince Frizzy
f565e89c68 sound: Add extended channel mode for sequences.
Provided by theclashingfritz
2022-02-15 01:36:44 -08:00
MysterD
c818b7930a Added wario sounds
Have yet to pitch correct them.

Huge thanks to theclashingfritz and anzz1
2022-02-14 23:36:53 -08:00
MysterD
91b26646e0 Fix crash in geo_process_node_and_siblings() 2022-02-14 18:15:54 -08:00
MysterD
8abae8d26b Fix crash in peach cutscene 2022-02-14 18:30:02 -08:00
MysterD
f73c841bfe Fixed crash in init_shadow() 2022-02-14 18:28:01 -08:00
MysterD
6d6d94fcde Add Wario's moveset based on steven's mod 2022-02-14 18:26:44 -08:00
MysterD
3436d6d26f Update lua docs 2022-02-13 22:18:03 -08:00
MysterD
6f8714c764 Added FluffaLuigi's Wario model 2022-02-13 21:52:35 -08:00
MysterD
de02ffbf71 Fixed init_shadow crash 2022-02-13 17:05:25 -08:00
MysterD
2fea65b8ef Fix crash in get_level_name() 2022-02-13 16:47:42 -08:00
MysterD
988c75d621 Fixed crash in save set flag packet 2022-02-13 16:31:22 -08:00
MysterD
6d7d79a4aa Fixed crash in spawn star packet 2022-02-13 16:24:11 -08:00
MysterD
2b9c5b5a90 Fixed crash in spawn object packet 2022-02-13 16:17:58 -08:00
MysterD
31f6896814 Fixed crash on chat message 2022-02-13 15:57:54 -08:00
MysterD
922f8ef582 Fixed painting crash - when shoved OOB in a wobbly painting room 2022-02-13 15:54:12 -08:00
MysterD
127a35d05b Fix water droplet crash 2022-02-13 14:43:50 -08:00
MysterD
92ea8b78b3 Bump version to 16 2022-02-13 14:04:54 -08:00
MysterD
b5de854674 Added chat commands: /kick /ban /permban /players 2022-02-12 15:23:05 -08:00
MysterD
6925db864c Added a custom version of PeachyPeach's crash screen for Windows 2022-02-12 13:30:53 -08:00
MysterD
0098b0c472 Fixed crashes on 32-bit due to pointer offsets 2022-02-10 18:05:47 -08:00
Cameron Hall
fc8bb5e6bd Fix strange audio bugs on 32-bit
increase audio heap size, fix buffer overflow reading gBankSetsData, warn on soundAlloc failure

Provided by: camthesaxman
2022-02-06 15:34:34 -08:00
MysterD
e95a1d48e0 Fixed code warnings on smlua files (32-bit) 2022-02-06 15:19:44 -08:00
MysterD
89ea861c5b Added Draco's acceleration/friction to character movesets 2022-02-05 13:15:35 -08:00
MysterD
5ca457d4cd Fixed pragma-packing 2022-02-05 12:22:41 -08:00
MysterD
132a942df4 Moved in-game mod list 2022-02-05 12:20:21 -08:00
MysterD
ccdfd0854d Bumped version to 15 2022-02-05 10:29:34 -08:00
MysterD
ece9eca819 Fixed WDW water level desync 2022-02-05 10:26:56 -08:00
MysterD
36fbe2053b Prevented level change popup for players in credits 2022-02-05 10:26:38 -08:00
MysterD
0c05fbae87 Made Lua mods show up in player list 2022-02-05 10:26:07 -08:00
MysterD
948e4283de Made Lua mods show up in Discord Activity 2022-02-05 10:25:36 -08:00
MysterD
a28f046eb9 Made players drop held obj when bouncing on each other 2022-02-05 10:25:20 -08:00
MysterD
434176e7d6 Added a bunch of functions to Lua wrapper 2022-02-04 19:13:15 -08:00
MysterD
b226f7c271 Added line logging for all lua errors 2022-02-04 01:19:48 -08:00
MysterD
73ecd55eb9 Fix configfile buffer overrun (Mac mods missing fix) 2022-02-04 00:43:49 -08:00
MysterD
44b1d89c58 Fixed stack corruption in pause menu (Mac crash fix) 2022-02-04 00:21:18 -08:00
MysterD
ab1e85994e Added hook_on_sync_table_change() to Lua API 2022-02-04 00:15:14 -08:00
MysterD
0935eed3b7 Rewrite of how lua hooks chat commands 2022-02-03 19:50:27 -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
8109bbcb59 Fixed hang related to mod incompatibility checking 2022-02-02 20:26:48 -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
0845cb036d Added stick and dpad binds to controls menu 2022-02-01 19:35:15 -08:00
MysterD
9a3796f0b8 Added ability for sync tables to contain tables 2022-02-01 18:15:10 -08:00
MysterD
5e8db3de00 Allowed keys of SyncTables to be non-strings 2022-01-31 22:34:06 -08:00
MysterD
836e2f6e7d Refactoring lua sync table 2022-01-31 21:32:57 -08:00
MysterD
d92ea3ff21 Lua networking improvements
More types can be sent over the network
SyncTables are synchronized on client join
2022-01-31 19:09:03 -08:00
MysterD
20599aa6f3 Made globalIndex able to be determined by just localIndex
refactored the ugly spaghetti mess that was network_player_connected()
2022-01-31 00:29:44 -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
c170984471 Autogenerated Lua documentation 2022-01-29 22:47:22 -08:00
MysterD
3d5d0b5306 Made Lua log to console outside of DEBUG builds 2022-01-29 15:42:33 -08:00
MysterD
1755df7c3a Re-enabled DEVELOPMENT flag's handling of keep alive packets 2022-01-29 01:16:23 -08:00
MysterD
28a979120a Fixed Discord join and download problems 2022-01-28 23:29:55 -08:00
MysterD
d731aa067d Revert "Prevented rare Discord crash on Linux"
This reverts commit bffcd7c30b.
2022-01-28 22:05:15 -08:00
MysterD
836f44463b Bumped version to unst 14 2022-01-28 19:16:05 -08:00
MysterD
df202c1936 Resynchronize Yoshi to fix softlock, synchronized special triple jump better 2022-01-28 19:13:23 -08:00
MysterD
fae014d957 Prevented packets from overrunning their buffers 2022-01-28 19:12:18 -08:00
MysterD
4c4b2b826c Made discord/socket use the right format types on Linux vs Windows 2022-01-28 00:15:06 -08:00
MysterD
f0ad3dd7d0 Prevent 'exit course' from doing the wrong warp sometimes 2022-01-28 00:03:39 -08:00
MysterD
35ac2165ad Prevent crash and end-of-level corruption when someone collects a non-course star 2022-01-28 00:01:34 -08:00
MysterD
bffcd7c30b Prevented rare Discord crash on Linux 2022-01-28 00:00:54 -08:00
MysterD
32ceded772 Prevent rendering of unimplemented characters 2022-01-28 00:00:25 -08:00
MysterD
5d9ad46730 Adjusted player enter/exit level popup 2022-01-27 23:59:46 -08:00
MysterD
1e3acefff1 Adjusted bouncing on players 2022-01-27 23:59:18 -08:00
MysterD
e157dca8bd Fixed incompatible tag comparisons, added two simple mods 2022-01-27 23:56:44 -08:00
MysterD
880afd79c3 Refactored interactable djui elements 2022-01-27 23:55:42 -08:00
MysterD
809dfd6373 Reading headers from lua files
Fix up warnings on Linux
Disabled mod checkboxes when an incompatible one is enabled
Display descriptions when hovering over a mod
2022-01-27 23:53:58 -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
47a129573f Fixed Mac Lua library 2022-01-23 23:00:44 -08:00
MysterD
fe857de663 Fixed linux compile errors 2022-01-23 20:05:31 -08:00
MysterD
d09abc7bcd Switched from dynamic to static Lua lib 2022-01-23 20:04:53 -08:00
MysterD
0631108733 Lua will try to load from writable-path/mods before ./mods 2022-01-23 18:47:06 -08:00
MysterD
5ccb987ca7 Lua: more typechecking (converted lua_to* to smlua_to_*) 2022-01-23 17:15:04 -08:00
MysterD
7d3769a216 Added Lua function param count checking 2022-01-23 17:00:13 -08:00
MysterD
b45c61a605 Added Lua allow-list for cobject pointers 2022-01-23 16:35:43 -08:00
MysterD
fe11e25e0b Allowed enabling/disabling of mods through the UI 2022-01-23 15:45:42 -08:00
MysterD
79a659781c Added download progress bar 2022-01-23 11:32:03 -08:00
MysterD
75dfb45c6b Decreased the amount of back and forth for downloads
Server sends 5 chunks before waiting for another request
Download packets resend at a slower rate
2022-01-23 02:33:25 -08:00
MysterD
cdbf9eaabf Networking improvements
Reliable packets now save the actual remote address
Clients now only accepts server packets from the desired server
2022-01-23 01:55:43 -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
348d1509a1 Sandboxed Lua scripts 2022-01-21 20:06:45 -08:00
MysterD
0626c77048 Lua: moved hook functions into their own file 2022-01-21 19:40:26 -08:00
MysterD
34e903b89a Merge branch 'unstable' into lua 2022-01-21 19:19:21 -08:00
MysterD
edec02a89b Bump version to unst 13 2022-01-21 19:15:51 -08:00
MysterD
addd16721f Added headless server compile mode 2022-01-21 19:13:41 -08:00
MysterD
777b9287e6 Notify players where other players go with a popup 2022-01-21 18:24:53 -08:00
MysterD
6a447c10f4 Added ability to exit course, exiting out of the painting 2022-01-21 00:56:54 -08:00
MysterD
101a6400e0 Added define guards around controller bind mappings 2022-01-20 23:35:38 -08:00
MysterD
f45ae4a115 Allow players to change name/model/palette while connected 2022-01-20 22:23:57 -08:00
MysterD
8837dcc023 Removed server enforcement of unique player palettes 2022-01-20 21:52:14 -08:00
MysterD
05999a9ae8 Added key/bind names to controls menu 2022-01-20 21:46:22 -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
MysterD
8aa9a95d5b More Lua improvements
Added Lua wrapper functions for mario_actions_moving.c, mario_step.h, mario_actions_airborne.c, camera.h, mario_actions_stationary.h

Extended Moveset Mod:
Started porting spin jump from extended moveset
Added act_ground_pound_jump, act_spin_pound, act_spin_pound_land,
2022-01-19 01:00:56 -08:00
MysterD
f631f4d62f More Lua improvements
restrict lua libraries
extended moveset: finish roll, dive hopping
wrote a python script to codegen lua functions from C header files
converted most of mario.h
2022-01-18 18:51:06 -08:00
MysterD
68eff636d9 More Lua improvements, ported ACT_ROLL / ACT_ROLL_AIR from extended moveset 2022-01-18 01:48:51 -08:00
MysterD
ec161c9c09 Reimplemented how Lua reads/writes to C Objects 2022-01-17 20:50:39 -08:00
MysterD
1c29a2b47f Second iteration of Lua IO
Started working on third
2022-01-17 19:23:52 -08:00
MysterD
0aa1e04f93 More lua improvements
Added mods folder for lua scripts
Created constants.lua so scripts could use constants internal to the C code
Created event hooks
Separated out lua functions into multiple files
2022-01-16 18:07:45 -08:00
MysterD
1a47707be8 Initial LUA support - MarioState read/write 2022-01-16 08:51:29 -08:00
MysterD
511e7c5028 Prevent bubble softlock by halting bubble popping for half a second after being bubbled 2022-01-15 21:50:35 -08:00
MysterD
b5762c2446 Add in-game player list 2022-01-15 20:44:11 -08:00
MysterD
6a1ceab5ca Made bubble-on-death a server setting 2022-01-14 20:33:06 -08:00
MysterD
625e9b5df9 Fix various bugs with spiny and lakitu 2022-01-14 20:06:26 -08:00
MysterD
839575efe1 Fixed home radius on many enemies, fixed draw distance bug 2022-01-14 16:33:22 -08:00
MysterD
84b9fc8691 Reverted: Removed player offset when changing areas 2021-09-05 15:55:39 -07:00
MysterD
a98538c797 Bumped version to 12 2021-09-05 14:45:26 -07:00
MysterD
8fb46314fa Resync bouncing fireball to only have one owner 2021-09-05 14:42:53 -07:00
MysterD
3721877b6a Removed player offset when changing areas 2021-09-05 14:34:17 -07:00
MysterD
4cebce4864 Added Waluigi - model provided by Super Keeberghrh 2021-09-05 14:23:47 -07:00
MysterD
01f1615092 Player bounce improvements: jump height depends on velocity, crouching players cause a twirl 2021-09-01 18:11:01 -07:00
MysterD
628ed5b798 Resync bhv1upHiddenInPoleSpawner to prevent a sync table mismatch 2021-08-30 18:35:47 -07:00
MysterD
b0ba739a6e Fixed player-in-cutscene position/animations on late-join 2021-08-30 18:31:59 -07:00
MysterD
92692378b4 Added adjustable draw distance for objects 2021-08-30 18:22:36 -07:00
MysterD
f18007cd34 Added 30 or 60 FPS toggle 2021-08-29 20:17:38 -07:00