Commit graph

67 commits

Author SHA1 Message Date
PeachyPeach
17c311ae7d
smlua event hooks refactor (#826)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2025-06-09 07:40:48 +10:00
Agent X
81c4180a06 Remove Waluigi anims 2024-07-01 18:32:27 -04:00
Agent X
dfc55faa5b Fix Waluigi 2024-06-30 15:09:07 -04:00
FluffaMario
5cba5bede1
Updated Player Characters (#85)
* Update Player Characters

* Oops...

* Slipped through

* Hopefully this is good now?
2024-06-30 07:40:29 -04:00
Cooliokid956
bc811e730b
Character anim cleanup: take 2 (#63)
defining each animation is no longer necessary, as the get_character_anim function now passes through the characterAnim parameter on the principle that mario's animation enums correspond to the character animation enums
only if an animation beyond the range of mario animations is defined, then it is used
this wouldn't allow characters to reuse mario's animations for different slots, but that shouldn't be needed anyways

bye bye macro
2024-06-09 16:17:33 +10:00
Isaac0-dev
3503f4e86c
fix warnings in characters.c (#62)
until a better fix is found
2024-06-07 22:51:30 +10:00
Cooliokid956
c811b4ebdf
Clean up animation definitions in character tables (#61)
The definition of character animations has been reduced to a macro, BASE_ANIMS(), which defines initial animations that can be subsequently overwritten if the character uses different animations.

while testing, the near/far clip plane functions prevented compilation as they appeared to be using keywords, so i've also changed the offending functions' parameters.
2024-06-07 19:39:43 +10:00
Agent X
ceb7aa4649 Palette system overhaul and preset rewrite 2024-05-21 17:09:59 -04:00
Agent X
dd6ce3d7f9 Actually fix Waluigi anims 2024-05-11 19:17:50 -04:00
Agent X
ee1034a79b Disable Waluigi anims for now 2024-05-11 16:43:07 -04:00
Yuyake
74b0a6175c
Update characters.c
Added the color palette for Luigi that was originally gonna be set but never was.
2024-05-06 14:08:28 -06:00
PeachyPeach
2a36b14dcd Remove OMM Rebirth temporary fixes (#542) 2024-03-25 18:35:25 -04:00
Isaac0-dev
663e4549d8
extract assets from rom at runtime (#4)
* Proof of concept for loading rom assets at runtime

* Added skybox textures

* Adjusted format

* Load all texture assets from rom

* Adjusted rom asset loading

* Load all Vtx lists from rom

* clean up toad, wario and his cap conflicts

* Load sound samples from rom

* fix toad sounds

* Loaded sequences from rom

* Load collisions from rom

* Object animations are now loaded from the rom

* Load player animations from rom

* Load goddard anims from rom

* whoops

* fix some compile errors

* drag and drop rom checker, everything works now.

* fix errors due to merge conflicts

* fix compile errors on windows, switch to md5

* fix vertex colors during load

Co-Authored-By: Agent X <44549182+agent-11@users.noreply.github.com>

* Load dialogs from rom

* Loaded course/act names from rom

* Loaded ingame text from rom

* rerun autogen & blacklist smlua_text_utils_init

* fix ttc_seg7_vertex_0700B238 colors

---------

Co-authored-by: MysterD <myster@d>
Co-authored-by: Agent X <44549182+agent-11@users.noreply.github.com>
2024-03-23 16:11:30 -04:00
Agent X
74422d16a4 Fix Toadette palette 2024-03-09 14:18:30 -05:00
Agent X
5fb6757382 Restore 64 Memories name 2023-12-21 18:39:12 -05:00
Agent X
4ccde40ed3 Revert "Make Luigi Green brighter"
This reverts commit d9efd4f88e.
2023-12-21 17:26:32 -05:00
Agent X
d9efd4f88e Make Luigi Green brighter 2023-12-17 13:01:01 -05:00
Agent X
0a210993ae Re-add 64 Memories palette 2023-12-15 20:25:23 -05:00
Agent X
2343cf04f3 Adjust palettes and add palette constants to Lua 2023-12-12 18:14:37 -05:00
AleNinten
dde4ae2ca9 New palettes! 2023-12-12 04:22:52 +01:00
FluffaMario
a1ee126010 Update characters.c 2023-12-08 23:42:30 -06:00
FluffaMario
4337aeca0e Update Toad 2023-12-08 23:20:54 -06:00
FluffaMario
aed5353e61 Double Oops 2023-12-08 03:52:17 -06:00
MysterD
b61574d2c6 Disable Waluigi animations for now 2023-11-26 21:31:17 -05:00
David Joslin
c5a3a6cf32 Made fire palettes non-beige again 2023-11-21 17:02:13 -05:00
FluffaMario
7764597a6e Almost forgot this, whoops! 2023-11-15 19:06:37 -06:00
FluffaMario
ab4b797ff8 Updated Mario, Added code for mirror culling. 2023-11-14 00:34:13 -06:00
Agent X
802affd839 ENHANCE_LEVEL_TEXTURES and make all DynOS textures overridable in Lua 2023-11-11 12:15:32 -05:00
Isaac0-dev
b12b479d70 loading screen (#495)
* loading screen

* fix compile error

* Fix animation comparisons after character anim commit

* Cleaned up character sound/anim lookup code

* hopefully fix problems with queued mods

* use dj's changes

* fix compile errors due to upstream merge
2023-11-06 14:59:17 -05:00
Agent X
49bca1cc01 sm64coopdx
Co-Authored-By: Yuyake <140215214+AngelicMiracles@users.noreply.github.com>
Co-Authored-By: FluffaMario <50761036+FluffaMario@users.noreply.github.com>
Co-Authored-By: Gregory Heskett <gheskett@gmail.com>
Co-Authored-By: iZePlayzYT <69536095+iZePlayzYT@users.noreply.github.com>
Co-Authored-By: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-Authored-By: eros71 <16540103+eros71-dev@users.noreply.github.com>
2023-10-30 01:03:36 -04:00
David Joslin
048f4f1fd4 Fix animation comparisons after character anim commit 2023-10-27 23:45:48 -07:00
MysterD
b002061609 Cleaned up character sound/anim lookup code 2023-10-27 18:59:00 -07:00
Keeberghrh
e02a68e221
Character Animation System (#441)
Replaces references to set_mario_animation() with set_character_animation(), but the old function still exists as a way to play any character animation on any character. Waluigi has two animations, added as a test and may not be final. Exposed new functions to Lua for usage in mods.
Primary concern is that each character requires 209 lines indicating what animations they use, similar to Character Sounds.
2023-10-27 17:43:45 -07:00
xLuigiGamerx
7a8bffa318
Fixing up the glyphs and changing some things (#479)
* Readded version checks, added some extra symbols and changed print.c and print.h a bit, also changed all characters head icons. And made ~ into multiply and ^ into key (no longer beta key) and remade all beta textures for all versions.

* Changed the Q to q in the custom hud font

* Added mathematical symbols

* Turns out there are ? in other versions and there was a jp check stopping us from using it and I am dumb

* No more funny comments

* No more print.c funny comments

* Fixed accidentally screwed up coin counter

---------

Co-authored-by: xLuigiGamerx <mohammmedsadawi666@gmail.com>
2023-10-20 18:19:21 +02:00
xLuigiGamerx
5ec85180ec
Adding the missing colorful letters (q, v, x, z). (#464)
* xLuigiGamerxsDevFork

* xLuigiGamerxsDevFork

* Fixed Accidentally used older character.c file

---------

Co-authored-by: xLuigiGamerx <mohammmedsadawi666@gmail.com>
2023-09-13 03:04:30 -07:00
FluffaLuigi
2a52b4af4e
Update Mario, Luigi and Wario's Models (#434)
Updated Luigi and Wario's models to their latest revision.
Mario, Luigi and Wario's sideburns now match the color of the rest of their hair with the player's palette.
Mario and Luigi's Logos were made into IA16 textures and are now shaded to look a bit better with the rest of the cap.
Cap inside was made a darker variant of the regular cap color across both the held and item caps.
Fixed an oversight with the cap wings, though mostly so that they're more consistent.
Removed Mario's unused model data since none of it is ever getting used as far as I'm aware.
2023-07-04 16:23:34 -07:00
Skeltan
b13d6fd3f1
Updated characters.c (#431)
Remaking this pull request because I realized I cloned the wrong branch so commits were messed up

Thanks DYosh for reminding me about Fire Wario and Fire Waluigi
Updated those 2 palettes to match the recently changed Wario and Waluigi palettes
new-palettes

Also made Waluigi's Overalls a bit darker to correspond the N64 model and render
2023-07-04 14:17:17 -07:00
MysterD
ccfb46043b Fixed character anim offsets during certain dialog boxes 2023-06-16 18:09:23 -07:00
Skeltan
2bd2089ed3
Added Toad default palette + other palette tweaks (#370) 2023-05-03 00:58:19 -07:00
Agent X
4af8af677f Touch up new hooks 2023-02-28 22:39:16 -05:00
SMS Alfredo
35bdaef094
Character Sound Hook (#223)
* Character Sound Hook

* The rest of autogen to be safe

* Indentation Fix

* Fix more indentation

* Get rid of unneeded auto gen junk

* Run autogen again

* Add HOOK_CHARACTER_SOUND to guide
2022-12-17 19:25:30 +01:00
PeachyPeach
a8e397047a
CAP color; near/far warning fix (#214)
Added CAP color part; Player's cap no longer uses the SHIRT color
    Added METAL color as an alias of CAP color; Metal characters now uses the CAP color to tint the metal texture (was SHIRT color)
    Fixed the cap inside color (was HAIR color)
    Fixed the near/far warning
2022-10-30 17:30:40 -07:00
PeachyPeach
6449b7d578
Complete color palettes; gfx macros (#191) 2022-09-18 17:30:13 -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
PeachyPeach
4fbafc2708
Fixed various audio bugs; DynOS can now detect texture duplicates to decrease generated bin files size (#110)
Fixed the following audio bugs:
    Bug: Rom-hacks sequences don't seem to be affected by volume scaling and
         muting
    Fix: Force the BGM sequences to follow the vanilla behavior:
        Volume can't go higher than default volume
        Volume is reduced to 31% when the game is paused
        Audio is stopped when the game is paused outside the Castle levels
    Bug: (Pointed out by Draco) Mario's voice clips are not replaced by the
         player's character's in the following instances: fall to death
         barrier, "here we go" in the ending cutscene, "let's a go"
         after selecting a star, "okey dokey" after starting the game.
    Fix: The first two ones now call
         play_character_sound(m, CHAR_SOUND_...) instead of
         play_sound(SOUND_MARIO_..., pos). The last two ones couldn't be
         fixed the same way for two reasons: First, the corresponding sounds
         were not referenced in the sound table, second, the sound played is
         always cut-off after a few frames (due to how sm64 resets the sound
         banks after loading a level).

Added SOUND_*_LETS_A_GO and SOUND_*_OKEY_DOKEY sounds for each playable
    character as Bass samples.
    Character Bass sounds work the same way as vanilla sounds (i.e. can be
    played with play_character_sound), but they cannot be prematurely stopped
    by sm64 sound banks shenanigans.
    This fixes the cut-off for both the star select and the castle grounds
    entry, plays the sound corresponding to the player's character, and doesn't
    need to extend or edit the sound table.

DynOS can detect texture duplicates when generating a bin or lvl file.
    When a duplicate is detected, the name of the original texture node is
    written instead of the whole PNG data, decreasing significantly the
    resulting file size.
2022-05-19 16:40:45 -07:00
PeachyPeach
27db236b5d
Various bug fixes + Added is_game_paused() and more background music functions to lua (#93)
Bug: DynOS models with animations cannot swap animations if they are
     loaded via lua (smlua_model_util_get_id and
     obj_set_model_extended).
Fix: DynOS_Actor_GetActorGfx takes a graph node instead of a georef,
     and checks for DynosValidActors graph nodes if georef is NULL.

Bug: The game can crash when calling obj_set_model_extended inside a
     HOOK_ON_OBJECT_RENDER hook.
Fix: The crash happens in smlua_model_util_load_with_pool_and_cache_id
     due to pool being NULL. If the game can't allocate an
     AllocOnlyPool object, use DynOS to generate the graph node.

Bug: warp_to_level and similar functions don't trigger HOOK_ON_WARP.
Fix: Call HOOK_ON_WARP hooks in DynOS_Warp_UpdateWarp and
     DynOS_Warp_UpdateExit after level and mario initialization.

Bug: The game sometimes calls HOOK_ON_OBJECT_RENDER hooks for
     unintended objects.
Fix: Initialize hookRender field to 0 when creating an object.

Bug: Actions can't apply gfx offsets to characters that have an anim
     offset (Waluigi, Wario)
Fix: Add m->curAnimOffset to gfx.pos[1] instead of setting it to
     m->pos[1] + m->curAnimOffset, except during the jumbo star
     cutscene.
2022-05-14 14:28:25 -07:00
MysterD
ad6642a4bd Add support for custom HUD textures and faster texture packs w/o EXTERNAL_DATA 2022-05-06 22:03:12 -07:00
MysterD
cdb1bbe92a Fix DynOS vertex offset writing 2022-04-11 22:54:36 -07:00
Prince Frizzy
75bb9b7912
Update to Refresh 13 (#19)
* Refresh 13

Co-authored-by: n64 <n64>
2022-03-13 00:17:10 -08:00
Prince Frizzy
32b0c91935
Fixes for Refresh 12 2022-02-19 01:39:38 -05:00