Commit Graph

141 Commits (3adf0f782aba327703d2c8cb21bb6cc53d9a205e)

Author SHA1 Message Date
TheGag96 a1bcd19529 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 ab7eecc0bd Fix up camera overrides in sm74 2022-08-05 21:18:37 -07:00
MysterD ec04b8e9d7 Fix camera overrides in Star Road - by Isaac 2022-08-05 21:17:13 -07:00
MysterD 5f94ad7c0d Added star road 2022-08-05 21:13:47 -07:00
MysterD df286fe9d3 added more info to uncompress error 2022-08-05 18:43:45 -07:00
MysterD 8b3c3acd2c Change fixCollisionBugs from server setting to mod setting 2022-06-25 01:26:53 -07:00
MysterD fcc65317ca Only use defined signals 2022-06-05 22:57:17 -07:00
MysterD 635c29dcbe Prevent hide-and-seek from warping to castle grounds 2022-05-29 15:34:41 -07:00
MysterD e829943461 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 6468c8ed65 Arena: made level stuff account for new level 2022-05-25 18:01:05 -07:00
MysterD 829b9e856b Merge branch 'coop' of github.com:sm64ex-coop-dev/sm64ex-coop into coop 2022-05-25 17:49:42 -07:00
EmeraldLoc 99fd4914f9 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 f6ba22a2a8 Added level to arena 2022-05-25 17:46:54 -07:00
Amy54Desu df57dddbea Fix Player Limit Settings and Hide Server Only Chat Commands (#114) 2022-05-21 23:07:29 -07:00
EmeraldLoc 6ba8a8a989 Hide and seek modifications (#101) 2022-05-21 21:17:00 -07:00
MysterD f9e156790a Add arena 2022-05-21 21:05:41 -07:00
EmeraldLoc 8fa2a6e51e 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 e328766148 Possible fixes to shell race level desyncs, prevent first place from getting mushrooms 2022-05-09 08:28:30 -07:00
MysterD a8fbf26338 Fix crash when toggling dynos packs 2022-04-23 02:22:12 -07:00
MysterD ae0bf647f7 Fix sm74 ee course 11 2022-04-22 19:27:19 -07:00
MysterD bb260b4543 Fix romhack cannon camera in sm74 2022-04-16 15:39:14 -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 0178d3319c Added SM74 (created by Lugmillord) 2022-04-15 18:28:10 -07:00
MysterD 6ad503b1b7 Moved low gravity and mario run to examples 2022-04-13 01:38:32 -07:00
MysterD a6da108009 Add shell rush gamemode 2022-03-30 20:15:17 -07:00
MysterD 377fcefd86 Allow Lua mods to prevent exit to castle/exit course 2022-03-30 20:03:22 -07:00
MysterD eb5ac5ea45 Hide-and-seek: only update last seeker index when the round is active 2022-03-25 23:27:58 -07:00
MysterD e30330afd2 hide-and-seek: disable friendly fire 2022-03-25 23:18:48 -07:00
MysterD abb0f03661 Hide-and-seek: allow anti-camp timer to be enabled/disabled 2022-03-25 23:16:56 -07:00
MysterD 4d47be3d4d Hide-and-seek: exiting through the pause menu makes you a seeker 2022-03-25 23:10:43 -07:00
Isaac 38c8aa9b4e 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 a8e54a038c Add more Example Lua mods (#35) 2022-03-18 21:30:53 -07:00
MysterD 7a00461333 Added allocate_mario_action() 2022-03-17 01:17:34 -07: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
mjcox244 a0cd40adf3 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 d89cb61e04 Added ability for Lua to show/hide SM64 HUD 2022-03-10 18:33:52 -08:00
MysterD dacc7d9b9c Allowed Lua mods to override player models and palettes 2022-03-10 18:23:25 -08:00
MysterD 01cd49273e Added the ability to set surface collisions on custom behaviors 2022-03-09 23:02:20 -08:00
MysterD f92051b3df Added getter for network area timer 2022-03-09 21:25:21 -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 05981a3598 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 9f07571993 Remove debug bind from football.lua 2022-03-09 21:24:39 -08:00
MysterD 7c06f5d00e Added football gamemode 2022-03-07 22:23:05 -08:00
MysterD 5a85e91445 Fix indentation in character-movesets 2022-03-05 18:20:44 -08:00
stvene3004 9e55018150 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 aea99707f3 Add steven.'s character moveset changes 2022-03-05 00:32:58 -08:00
Amy54Desu 56e481fc43 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 49803ae652 Added steven.'s character moveset changes 2022-02-23 18:20:46 -08:00
MysterD 1a742bfb9a Pull in Draco's character moveset changes 2022-02-23 18:13:29 -08:00
MysterD 3523ceae00 Added player description to player list 2022-02-16 22:30:17 -08:00
MysterD 71f1a72f41 character-movesets: nerfed waluigi jump height 2022-02-16 21:04:11 -08:00
MysterD edf2b313c0 Rewrite how round state and timers are done 2022-02-16 18:27:52 -08:00
MysterD 6af5fb58d9 Added HUD rendering to hide-and-seek 2022-02-16 18:10:06 -08:00
MysterD 11797ff471 Character-movesets: adjusted Wario jump 2022-02-15 22:56:46 -08:00
MysterD 4d21e4d916 Extended-moveset: fixed twirl wall climbing, fixed character sounds 2022-02-15 22:56:29 -08:00
MysterD 5979578ddb Added credits 2022-02-14 19:12:15 -08:00
MysterD cfb40d7b4a Implemented Draco's fixes for Luigi 2022-02-14 18:27:25 -08:00
MysterD e53c3d5f71 Add Wario's moveset based on steven's mod 2022-02-14 18:26:44 -08:00
MysterD 73da8ee434 Hide-and-seek mod bugfixes 2022-02-05 15:05:18 -08:00
MysterD 0a114094b9 Added Draco's acceleration/friction to character movesets 2022-02-05 13:15:35 -08:00
MysterD a6d901465e Updated hide-and-seek mod's description 2022-02-05 12:37:13 -08:00
MysterD 1f05fd0367 Fixed pragma-packing 2022-02-05 12:22:41 -08:00
MysterD 9619a1c1a6 Added seeker losing state to hide-and-seek mod 2022-02-04 00:15:28 -08:00
MysterD 3dca09851e Added hook_on_sync_table_change() to Lua API 2022-02-04 00:15:14 -08:00
MysterD 1d6168e1b9 Added round end popup to hide-and-seek 2022-02-04 00:14:38 -08:00
MysterD ecb6956203 Rewrite of how lua hooks chat commands 2022-02-03 19:50:27 -08:00
MysterD 9926c951e2 Updated hide-and-seek mod 2022-02-03 19:06:21 -08:00
MysterD bfa3861e59 Added hide and seek mod 2022-02-02 20:28:24 -08:00
MysterD de7fd5f068 Changed extended-movset's roll button to dpad-up 2022-02-01 19:36:47 -08:00
MysterD 7dd157bfbf Made Lua log to console outside of DEBUG builds 2022-01-29 15:42:33 -08:00
MysterD ad328b8f57 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 5957097174 Made faster-swimming's vertical swimming fast 2022-01-29 01:15:59 -08:00
MysterD fd3854785b Fixed bubble behavior for character movesets and made Luigi's vertical swimming fast 2022-01-29 01:15:45 -08:00
MysterD 96ddc36c52 Resynchronize Yoshi to fix softlock, synchronized special triple jump better 2022-01-28 19:13:23 -08:00
MysterD 40db37afc1 Fixed incompatible tag comparisons, added two simple mods 2022-01-27 23:56:44 -08:00
MysterD 913ea4c5c0 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 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 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 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 64438413c5 Sandboxed Lua scripts 2022-01-21 20:06:45 -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
MysterD b217e359fb 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 69ca7d53bb 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 ed65f76b29 More Lua improvements, ported ACT_ROLL / ACT_ROLL_AIR from extended moveset 2022-01-18 01:48:51 -08:00
MysterD 5e86511652 Reimplemented how Lua reads/writes to C Objects 2022-01-17 20:50:39 -08:00
MysterD 0be69f4648 Second iteration of Lua IO
Started working on third
2022-01-17 19:23:52 -08:00
MysterD 2d41f9317d 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