Commit Graph

252 Commits (73ffdf6e98da78cdc2fcc516384baba3b2cbdd89)

Author SHA1 Message Date
Isaac0-dev c7bdeef8d5
multiple improvements (#176) 2022-09-12 20:00:51 -07:00
Emerald Lockdown 034a4364bf
Hns stuff (#155)
* Readded headstart and cleaned up code

* Added pu prevention, credit to sunk, and cleaned up some comments

* Cleaned up code and added fancy pause exit stuff

* Update network_utils.c

* Revert commit
2022-09-12 19:58:37 -07:00
MysterD bc8e9ff19b Revert "Character Movesets and Extended Moveset changes. (#156)"
This reverts commit ee74afc804.
2022-08-25 20:42:31 -07:00
MysterD 12c644da10 Merge branch 'coop' of github.com:sm64ex-coop-dev/sm64ex-coop into coop 2022-08-25 17:49:25 -07:00
TheGag96 adaf96ec59
Extended Moveset: Fix ground pound jump (#153)
Woops!
2022-08-25 17:26:37 -07:00
stvene3004 ee74afc804
Character Movesets and Extended Moveset changes. (#156)
* CHanges

* Changes and extensions t' Wario and Luigi's movesets (mostly Wario's)

- Wario's shoulder bash now hits more stuff.
- You can now control Wario's bash angle.
- Introducin' Wario's Piledriver. Press Z while holdin' an object in the air to use it.
- Wario's ground pound now has a squish effect when you land on the ground.
- Changed up some Wario voice clips.
- Luigi can now also scuttle when he's holdin' an object.

* Made the dive hop more visually accurate

* Changes and extensions t' Wario and Luigi's movesets (mostly Wario's)


- Wario's shoulder bash now hits more stuff.
- You can now control Wario's bash angle.
- Introducin' Wario's Piledriver. Press Z while holdin' an object in the air to use it.
- Wario's ground pound now has a squish effect when you land on the ground.
- Changed up some Wario voice clips.
- Luigi can now also scuttle when he's holdin' an object.
2022-08-25 17:24:15 -07:00
MysterD 747184d8b9 Added 'Platforms' level to Arena 2022-08-11 22:17:42 -07:00
Emerald Lockdown 2d2395ad34
Readded headstart and cleaned up code, cleaned up comments, pu prevention (ty sunk) (#140)
* Readded headstart and cleaned up code

* Added pu prevention, credit to sunk, and cleaned up some comments
2022-08-11 01:24:21 -07:00
Emerald Lockdown ac7b872304
Shell rush modifications (#150)
* Shell Rush Modifictations

* Oops
2022-08-11 01:20:09 -07:00
TheGag96 d87dd73db1
Fix issues Extended Moveset mod (+ extras) (#146)
* Allow Lua action hooks to specify custom functions for more behavior

...like gravity, and update all current mods to match.

Spin jump and wall slide from the Extended Moveset mod now have gravity
code basically matching the original mod.

Currently, any place you'd want to use one of these new action hooks
still requires an O(n) check through all action hook per call. This
should probably be changed.

* Fix some remaining issues with Extended Moveset Lua port

- Remove divergent spin jump code
- Remove divergent roll code
- Remap roll button to Y
- Reimplement dive slide to make dive hop work like the original
- Allow spin from double jump, backflip, side flip

* Fix more issues with Extended Moveset Lua port

- Reimplement all users of update_walking_speed to incorporate the Tight
  Controls edits and modified speed caps
- Fix instances of angle arithmetic to wrap properly across the mod

* Don't chop off group bits of custom action flags; assign missing groups in mods

This fixes the Extended Moveset's underwater actions. Chopping off those
bits was making the game consider the underwater actions to be a part of
the Stationary group, which caused `check_common_stationary_cancels`,
which upwarps Mario to the surface.

* Tweak roll sliding angle tendency

Rolling will now gradually (but fairly quckly) try to tend Mario's
facing angle down the slope.

This is cleaner than my old method that tries to flip Mario's angle
(wrongly) when he begins moving downward, having that logic coexist with
the logic for normal sliding actions that can also tend Mario to face
backward down the slope. Just looks ugly now by comparison.

* Disallow spin jump on slides in Extended Moveset port

This matches the original mod

* Extended Moveset: Crazy Box Bounce check

* Extended Moveset: Fix hugging the wall when spin jumping after wall kick

* Extended Moveset: Fix ledge drop snapping up to ground

Just reimplement `act_air_hit_wall` ourselves.

* Extended Moveset: Add Kaze's walking speed fix

* smlua_hooks.c: Restore option to use old API for hook_mario_action

The intent is to allow mods outside of this repo to continue working.

Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
2022-08-07 15:25:00 -07:00
MysterD 5e5ef35118 Revert custom palette changes to built in mods 2022-08-07 15:13:51 -07:00
TheGag96 dc3ca7c76d
Arbitrary shirt, pants, glove colors + settings menu (#145)
* Support for more granular player colors

You can now configure RGB values for shirt, pants, gloves, and shoes.
Due to some limitations, configuring shoes does nothing at the moment.

* Remove paletteIndex and friends

Restructured and filled in some remaining code to account for that.

* Add Edit Palette panel to Player panel

* Change PlayerPalette contents to an enum-indexed array, remove shoes

This gets rid of all the hokey code doing switch cases on the
different parts.

* Fix goof with player model selection box

Should actually have affect now even if a custom palette is being used.

* Fix gap in player color display list commands

The extra space was leftover from when I was trying to get shoes
working. Forgot to clean it up.

* Standardize PlayerParts enum, including for lua constants autogen

* djui_panel_player.c: Properly hook sending palette changes on unpause

Editing the palette and then unpausing should send out the packet to
everyone with the new palette changes (and update the palette preset
selection box), but since we weren't hooking that situation before, it
would stay changed only for you. You would have had to press the Back
button for it to work right.

* Allow Lua mods to continue using `paletteIndex`, `overridePaletteIndex`

This lets mod code like this still work unchanged:

if s.team == 2 then
    np.overridePaletteIndex = 7
elseif s.team == 1 then
    np.overridePaletteIndex = 15
else
    np.overridePaletteIndex = np.paletteIndex
end

It's essentially faked, and would work strangely if the value of either
variable was inspected more closely directly. This should at least
handle the typical use case, though.

Every frame, `overridePaletteIndex` is checked to see if it was modified
from its previous value. If so, `overridePalette` is set to the preset
corresponding to the index. `paletteIndex` contains a special value that
when used to assign to `overridePaletteIndex`, it copies `palette` into
`overridePalette` to restore the real colors, which of course may not
follow the presets at all.

* characters.h: Pack `PlayerPalette` to eliminate size differences between computers

* mario_misc.c: Remove remaining "TODO GAG"
2022-08-07 15:13:19 -07:00
MysterD 68634493de Fix up camera overrides in sm74 2022-08-05 21:18:37 -07:00
MysterD 9871ab71d5 Fix camera overrides in Star Road - by Isaac 2022-08-05 21:17:13 -07:00
MysterD 50d2946bcc Added star road 2022-08-05 21:13:47 -07:00
MysterD 4794c2e130 added more info to uncompress error 2022-08-05 18:43:45 -07:00
MysterD c214acb33f Change fixCollisionBugs from server setting to mod setting 2022-06-25 01:26:53 -07:00
MysterD ae7c1427b9 Only use defined signals 2022-06-05 22:57:17 -07:00
MysterD ab0d46d61e Prevent hide-and-seek from warping to castle grounds 2022-05-29 15:34:41 -07:00
MysterD 867cc65605 Allow set_mario_colors on any layer, add recursive descent to geo parsing, fix color flashing in Arena 2022-05-28 01:26:40 -07:00
MysterD 445316cbdb Arena: made level stuff account for new level 2022-05-25 18:01:05 -07:00
MysterD 3052f9c78c Merge branch 'coop' of github.com:sm64ex-coop-dev/sm64ex-coop into coop 2022-05-25 17:49:42 -07:00
EmeraldLoc fcba78b69e
Modifed arena mod (#115)
* Modifed arena mod to make levels cycle and add a change level command
2022-05-25 17:48:20 -07:00
MysterD 0778226e60 Added level to arena 2022-05-25 17:46:54 -07:00
Amy54Desu a1c73d13ef
Fix Player Limit Settings and Hide Server Only Chat Commands (#114) 2022-05-21 23:07:29 -07:00
EmeraldLoc 3eed46a2a1
Hide and seek modifications (#101) 2022-05-21 21:17:00 -07:00
MysterD 7c67af5051 Add arena 2022-05-21 21:05:41 -07:00
EmeraldLoc 694f583a69
Fixed everything in dj's todolist for hns (#85)
* Fixed everything in dj's todolist for hns, and also made it more balanced
in other ways. List of changes roughly: made anticamp off by default, made
mario only have to touch another mario, and made vanish cap off always,
and made caps off for hiders
2022-05-09 23:11:12 -07:00
MysterD d55f8a39ef Possible fixes to shell race level desyncs, prevent first place from getting mushrooms 2022-05-09 08:28:30 -07:00
MysterD f2ca0e18fc Fix crash when toggling dynos packs 2022-04-23 02:22:12 -07:00
MysterD e16efd7dd6 Fix sm74 ee course 11 2022-04-22 19:27:19 -07:00
MysterD 28c3555ea8 Fix romhack cannon camera in sm74 2022-04-16 15:39:14 -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 d3a669c3b0 Added SM74 (created by Lugmillord) 2022-04-15 18:28:10 -07:00
MysterD 4008d99c75 Moved low gravity and mario run to examples 2022-04-13 01:38:32 -07:00
MysterD 1773153971 Add shell rush gamemode 2022-03-30 20:15:17 -07:00
MysterD d049c647dd Allow Lua mods to prevent exit to castle/exit course 2022-03-30 20:03:22 -07:00
MysterD 1de1086fd3 Hide-and-seek: only update last seeker index when the round is active 2022-03-25 23:27:58 -07:00
MysterD c543c9eaa2 hide-and-seek: disable friendly fire 2022-03-25 23:18:48 -07:00
MysterD 0588d3a859 Hide-and-seek: allow anti-camp timer to be enabled/disabled 2022-03-25 23:16:56 -07:00
MysterD 2ba309d5db Hide-and-seek: exiting through the pause menu makes you a seeker 2022-03-25 23:10:43 -07:00
Isaac 989e304552
Made slide-kick minimum speed a bit more reasonable (#38)
* Made slide-kick minimum speed a bit more reasonable

* Changed the speed minimum to 15

* Minor adjustment

* Fix spelling and punctuation.
2022-03-22 19:51:25 -07:00
mjcox244 509db70385
Add more Example Lua mods (#35) 2022-03-18 21:30:53 -07:00
MysterD 0cd2a91e9c Added allocate_mario_action() 2022-03-17 01:17:34 -07: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
mjcox244 aded0b6d25
Make Football a gamemode (#21)
Small change to football to mark it as a game mode so you can't play H&S and football at once
2022-03-12 16:05:19 -08:00
MysterD 859feb530d Added ability for Lua to show/hide SM64 HUD 2022-03-10 18:33:52 -08:00
MysterD 497a250476 Allowed Lua mods to override player models and palettes 2022-03-10 18:23:25 -08:00
MysterD 4638ff6f22 Added the ability to set surface collisions on custom behaviors 2022-03-09 23:02:20 -08:00
MysterD 3641d5404e Added getter for network area timer 2022-03-09 21:25:21 -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 e62ad54cd9 Football improvements
Rewrote all of the ball-to-player interactions
Player collisions are better now
Attacks affect the ball in different ways
Centered camera during the countdown period
Players lose their velocity during the countdown period
2022-03-09 21:24:39 -08:00
MysterD c8b441b3fe Remove debug bind from football.lua 2022-03-09 21:24:39 -08:00
MysterD 25cd318198 Added football gamemode 2022-03-07 22:23:05 -08:00
MysterD fb00d355f8 Fix indentation in character-movesets 2022-03-05 18:20:44 -08:00
stvene3004 5acc823f2a
Mid-air Corkscrew Conk stuff (#14)
* Mid-air Conk changes.

Added a visual when the Corkscrew Conk is executed mid-air and slightly nerfed it when executed in mid-air.

* Added a visual to mid-air conk and nerfed it.
2022-03-05 18:18:33 -08:00
MysterD 4f9c30fd46 Add steven.'s character moveset changes 2022-03-05 00:32:58 -08:00
Amy54Desu f2efa5a5d0
Spin Pound dive removal and Wario bug fix. (#11)
* Update character-movesets.lua

This new version removes the dive for Luigi's Spin Pound and fixes the momentum glitch with Wario

* Spin Pound Dive removal and Wario bug fix

The Spin Pound Dive was easily removed by just removing the code that puts you into a dive when B is pressed. The Wario bug was also fixed by simply making it so if Wario is in the Water Jump Hold action the faster air speed from holding an item doesn't apply to him.
2022-03-04 20:08:57 -08:00
MysterD 82d60fed4f Added steven.'s character moveset changes 2022-02-23 18:20:46 -08:00
MysterD aaa325865c Pull in Draco's character moveset changes 2022-02-23 18:13:29 -08:00
MysterD dab7cf4c2b Added player description to player list 2022-02-16 22:30:17 -08:00
MysterD 6198a1208d character-movesets: nerfed waluigi jump height 2022-02-16 21:04:11 -08:00
MysterD 2c149620fb Rewrite how round state and timers are done 2022-02-16 18:27:52 -08:00
MysterD a44acd51f2 Added HUD rendering to hide-and-seek 2022-02-16 18:10:06 -08:00
MysterD c46296700a Character-movesets: adjusted Wario jump 2022-02-15 22:56:46 -08:00
MysterD 65cf1bcf65 Extended-moveset: fixed twirl wall climbing, fixed character sounds 2022-02-15 22:56:29 -08:00
MysterD 3e7c5cf788 Added credits 2022-02-14 19:12:15 -08:00
MysterD c0e1579fce Implemented Draco's fixes for Luigi 2022-02-14 18:27:25 -08:00
MysterD 6d6d94fcde Add Wario's moveset based on steven's mod 2022-02-14 18:26:44 -08:00
MysterD 0cd3cbca3d Hide-and-seek mod bugfixes 2022-02-05 15:05:18 -08:00
MysterD 89ea861c5b Added Draco's acceleration/friction to character movesets 2022-02-05 13:15:35 -08:00
MysterD ef52827f26 Updated hide-and-seek mod's description 2022-02-05 12:37:13 -08:00
MysterD 5ca457d4cd Fixed pragma-packing 2022-02-05 12:22:41 -08:00
MysterD 62d337f794 Added seeker losing state to hide-and-seek mod 2022-02-04 00:15:28 -08:00
MysterD ab1e85994e Added hook_on_sync_table_change() to Lua API 2022-02-04 00:15:14 -08:00
MysterD d57606bfa3 Added round end popup to hide-and-seek 2022-02-04 00:14:38 -08:00
MysterD 0935eed3b7 Rewrite of how lua hooks chat commands 2022-02-03 19:50:27 -08:00
MysterD 4bf4c476e6 Updated hide-and-seek mod 2022-02-03 19:06:21 -08:00
MysterD 7059605ab7 Added hide and seek mod 2022-02-02 20:28:24 -08:00
MysterD 8c41630c0a Changed extended-movset's roll button to dpad-up 2022-02-01 19:36:47 -08:00
MysterD 3d5d0b5306 Made Lua log to console outside of DEBUG builds 2022-01-29 15:42:33 -08:00
MysterD 6b67d3b6a7 Improvements to Character Movesets
Luigi:
  Added spin ground pound
  Restored air movement
  Prevented wing flutter and scuttle from stacking

Toad:
  Prevented jump from sticking to platforms
  Made side flip's height slightly higher
2022-01-29 15:20:01 -08:00
MysterD 38c16e9286 Made faster-swimming's vertical swimming fast 2022-01-29 01:15:59 -08:00
MysterD 459aadf000 Fixed bubble behavior for character movesets and made Luigi's vertical swimming fast 2022-01-29 01:15:45 -08:00
MysterD df202c1936 Resynchronize Yoshi to fix softlock, synchronized special triple jump better 2022-01-28 19:13:23 -08:00
MysterD e157dca8bd Fixed incompatible tag comparisons, added two simple mods 2022-01-27 23:56:44 -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 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 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 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