Commit graph

4855 commits

Author SHA1 Message Date
EmeraldLockdown
d3cc77fe72
Merge f87c1c8b74 into fcef8699f2 2025-10-27 22:35:55 -07:00
PeachyPeachSM64
fcef8699f2 Fix other various buffer overflows and make string conversion 188% faster
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-10-26 16:01:47 +01:00
PeachyPeachSM64
c4c7f6c1b9 Fix buffer overflow in HOOK_ON_DIALOG
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-10-26 13:57:20 +01:00
PeachyPeach
32f395fb0c
ModFs improvements (#907)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* zip + json properties; check existing file in create file

* smlua_audio_utils_replace_sequence

* audio_stream_load, audio_sample_load, smlua_model_util_get_id

* get_texture_info + can also load PNG files

* smlua_collision_util_get

* add wildcard in properties files + set text mode

* filepath restrictions

* Some mod_storage improvements

- Cache mod storage files into a map to reduce file I/O
- Fix a bug in mod_storage_save
- Add mod_storage_load_all that returns all keys/values as a table

* shutdown; fix buffer overflow; fix warnings; lua table

* reject binary files starting with MZ or ELF

* function members

* better doc

* adding file rewind

* ModFS guide; replace yaml by ini; read string buffer changes
2025-10-21 19:42:06 +02:00
Beckowl
25838f13bc
fix require (#908)
* fix require

* Refactor smlua_find_mod_file

* formatting

* initialize arrays for consistency

* normalize relative path in mod_allocate_file instead (fix mod dev mode)

* do cleanup

* Remove useless branch + add comments

* fix mod_file_exists

* WIP: cache mod files at root (LIVE RELOAD IS BROKEN)

* Fix live reload

* remove useless declaration (??)

* fix incorrect top handling

* cleanup x2

* stupid

* loading sentinel + mark top level files as loading

* address dj's comment
2025-10-21 19:04:48 +02:00
Cooliokid956
9a934f8443
Static Object Collision / Check for freed CObject (#924)
* Static Object Collision

* no soc surface pool; bnot

* Isaac review

---------

Co-authored-by: PeachyPeachSM64 <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-10-21 19:04:05 +02:00
Cooliokid956
98891b7334
Fix custom Palette Idle action (#946)
* Palette Idle fixes

- Return to Idle only from palette editor action
- disallow cap toggles if cap is missing

* The Peachy review
2025-10-21 19:02:53 +02:00
Baconator2558
3b5a1a3dcb
Fix X Axis Inversion on Free Cam + Fix PlayerCamState in Custom Camera Modes (#958)
* Update bettercamera.inc.h

Fixes X axis inversion on free cam

* Use PlayerCamState for Free Cam

* Use PlayerCamState for ROM Hack Cam

* Use sMarioCamState to access PlayerCameraState

Probably should've just done this initially.
2025-10-21 19:02:06 +02:00
PeachyPeach
4671f09f79
G_CULL_INVERT_EXT; Vec2 functions; bug fixes (#985) 2025-10-21 18:56:35 +02:00
Jaid
f58b82997f
Update custom_font.c (#956)
Some checks failed
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
2025-10-17 00:30:26 +02:00
Baconator2558
77a43c60a3
Add Ability to Rotate Held Objects (#953)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update rendering_graph_node.c

---------

Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-10-17 00:30:00 +02:00
Chase Bradley
fc7a2f5557
Fix buffer overruns in update checker's network-facing code. (#888)
* fix buffer overrun when formatting remote version string

* fix buffer overrun when null-terminating the latest version string

* Update update_checker.c

---------

Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-10-17 00:24:11 +02:00
PeachyPeachSM64
b4c8f023d2 Make painting textures replaceable by Lua
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
Fix `textureArray` type to be recognized by autogen.

Painting textures can be replaced with the following code:
```
local tex1 = get_texture_info("texture_bottom")
local tex2 = get_texture_info("texture_top")

gPaintingValues.bob_painting.textureArray[1] = tex1.texture
gPaintingValues.bob_painting.textureArray[2] = tex2.texture
```

Texture format must be RGBA 16-bit for built-in textures or
RGBA 32-bit for mod loaded textures.
2025-10-05 12:12:14 +02:00
EmeraldLockdown
f87c1c8b74 Remove unecessary include 2025-09-30 18:02:44 -05:00
EmeraldLockdown
d7afad9389 Allow clients to view server settings 2025-09-30 18:00:23 -05:00
WBmarioo
68f4fd18d7
Originals Edits (#951)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* Originals edits

Added VL Tone and CJ Luigi voices. VL is a (slightly, not as much as djoslin toad) pitched up mario voice and CJ uses excoop's original luigi voice.

* Fix some things

Fix one, will fix voice table soon

* Update main.lua

Fix typo

* Fix 3

final fix, with indenting

* update voice pitch code

edits to toad/vl voice pitch code. added three voice files to CJ, now his table is completed.

* pitch table

is a table and it looks better now
2025-09-23 19:08:46 +02:00
PeachyPeach
d9f5869fcd
Fix Texture type; add various get_name functions (#945)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-09-15 20:59:26 +02:00
ManIsCat2
f80f8eba62
gsSPLightColor() support (#948)
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
* G_MW_LIGHTCOL

* Update gfx_pc.c

---------

Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-09-15 18:56:40 +02:00
PeachyPeachSM64
d3f57ae845 fix warnings again
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-09-14 17:44:00 +02:00
PeachyPeachSM64
1e146de393 autogen 2025-09-14 16:33:12 +02:00
PeachyPeachSM64
2e98dd5a5e Fix warnings 2025-09-14 14:19:58 +02:00
Beckowl
1c71449ed2
Add lua params support to level macros (allocate dialog pt. 2) (#905)
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
* all OBJECT fields are now Lua variables

* add lua variable support to SHOW_DIALOG

* fix object_with_acts

* minor tweak

* Peachy review

---------

Co-authored-by: PeachyPeachSM64 <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-09-13 20:36:28 +02:00
ManIsCat2
6524e709a3
Fresnel Lighting from F3DEX3 (#941)
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
* Fresnel part1

* Fresnel part2

* vmacu
2025-09-13 12:40:38 +02:00
PeachyPeachSM64
2c332d4db6 Fix HOOK_ON_DIALOG
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-09-13 01:26:15 +02:00
Emily♥
7f2c5cc53b
Remove interaction limit for PVP (#942)
* Fix Eyerok pounding in multiplayer

Eyerok now only enters the double pound state if ALL players stand on the pedestal rather than just one. Players standing on the pedestal will be ignored. I had to write a new function for this, I hope this is acceptable.

* Suggested changes

I didn't want to change the name of arg0 in eyerok_check_mario_relative_z because it was a vanilla function, but I suppose I can.

* Remove interaction limit for PVP

Fixes issues with certain mods
2025-09-13 00:08:30 +02:00
PeachyPeachSM64
653056bd10 Revert "Reset Mario animations on server shutdown"
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
This reverts commit 7405ae7244.

Make Animation and AnimationTable fields immutable

Fix variable type in music_changed_through_warp
2025-09-02 20:28:03 +02:00
Baconator2558
da13adf72c
Fix obj_init_animation (#936)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* Fix obj_init_animation

* Update object_helpers.c
2025-08-30 21:49:02 +02:00
PeachyPeachSM64
cee5957e11 Fix cap sequences not replaced/playing on dynos warp and level entry; Add gLevelValues.shellSequence
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-08-29 22:54:40 +02:00
PeachyPeachSM64
6f9c83d3e4 Revert "Read-Only marked as protected" (#921)
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-08-29 19:08:27 +02:00
Cooliokid956
85ab20357d
Restored OOB death + De-sorted fields + Read-Only marked as protected (#921)
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
* De-sort fields + Add `protected`

This fixes the atrocious ordering in autocomplete (a,b,g,r 😭)
also adds the protected scope for read-only fields

_ReadOnlyTable revision

* Restored OOB death (when alone)

also bubbles the player

* Rerun autogen

* Peachy Review

* kill goto

* Curly Brace
2025-08-28 18:06:55 +02:00
ManIsCat2
5f1a2d0b42
Gfx commands to Copy Lights into Env/Prim color (#927)
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-08-28 06:27:25 +10:00
Isaac0-dev
e0c76a9ecc fix a warning from previous prs
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-08-27 09:36:30 +10:00
John S
c0e03a2ca9
Add clamping at 99999 to the FPS counter (#932) 2025-08-27 09:31:59 +10:00
Isaac0-dev
e74ea05fde
revise better frame pacing (#901)
improved frame pacing, where frame delaying is done just before displaying the frame.
so, the frame is fully rendered, and then the delay is done to wait the extra time before displaying the frame.
This is a far more reliable and consistent way to manage frame pacing, and it will help to keep the framerate from choking too badly when the game lags a little. 

The changes to `gfx_end_frame` is to minimize the steps necessary between delaying and actually displaying the frame. This is an optimization just to increase the accuracy of frame pacing even further.

Also, delta calculation is improved when the number of frames to draw is known. 

Djui cursor movement is also updated every frame for smoother movement.
2025-08-27 08:17:16 +10:00
Isaac0-dev
ac1cf57cf0
new djui hud tools: viewport, scissor and render line (#916)
added these new djui hud tools for Lua:
- djui_hud_set_viewport
- djui_hud_reset_viewport
- djui_hud_set_scissor
- djui_hud_reset_scissor
- djui_hud_render_line - this code could already be done exactly. this is just to make rendering lines more efficient. 

Also made nametags use a viewport for scaling in the credits.
2025-08-27 08:15:41 +10:00
John S
95588761fd
Fix the FPS display for displaying FPS counts higher than 5 digits (#931)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-08-26 07:42:19 +10:00
Baconator2558
d2860d70da
Add Option to Save Active Palette as Preset (#899)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* Update djui_panel_player.c

* Update Czech.ini

* Update Dutch.ini

* Update English.ini

* Update French.ini

* Update German.ini

* Update Italian.ini

* Update Japanese.ini

* Update Polish.ini

* Update Portuguese.ini

* Update Russian.ini

* Update Spanish.ini

* Update djui_panel_player.c
2025-08-20 20:55:24 +02:00
xLuigiGamerx
89366ed5ee
Fixed the hud camera status not updating for freecam (#925)
* Fixed the hud camera status not updating for freecam

* Actually, this is better, thanks kingthememer
2025-08-20 20:40:26 +02:00
ManIsCat2
4fb5375d0d
GEO_BONE GeoLayout command (#913)
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-08-20 12:46:32 +10:00
PeachyPeach
6e4373adc9
Fix graph node interpolation (#917)
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
Shared graph nodes were incorrectly interpolated, only the first object with a shared graph node was interpolated properly.
Thanks to @Cooliokid956 for noticing that most of node types were **never** interpolated.

- Use a double hashmap to store interpolated data for each graph node and object. All translations, rotations and scales are now interpolated correctly.
- Add `GraphNodeScaleXYZ` type to scale to all 3 dimensions; Add `GEO_SCALE_XYZ` command.

gMtxTbl was also reaching it's limit, so dynamic allocation was added.
2025-08-19 08:15:30 +10:00
PeachyPeachSM64
b671458f81 Enforce function pointers types in dynos
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
geo layouts -> geo_* functions only
behaviors -> bhv_* functions only
level scripts -> lvl_* functions only
other -> no function allowed

thanks maniscat for reporting the issue
2025-08-17 19:27:41 +02:00
PeachyPeachSM64
7405ae7244 Reset Mario animations on server shutdown
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-08-14 00:49:09 +02:00
PeachyPeachSM64
a2b4ac8f08 Fix palette editor cap on/off invulnerability 2025-08-13 21:01:39 +02:00
Isaac0-dev
a38a7525b5 fixed non directory mod reloading for dev mode
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
modName is the mod's actual name during a reload, when it needs to be the file path for non directory mods.
2025-08-08 12:19:31 +10:00
PeachyPeachSM64
7c54a80f84 geo_num3_switch is not a display list
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-08-07 14:22:31 +02:00
Isaac0-dev
4195aed2ad
fix the coopnet library readme
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-08-06 09:39:11 +10:00
Beckowl
03b29489b1
Add `smlua_text_utils_allocate_dialog` (#896)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* wip

* get rid of seg2_dialog_table and fix crashes

* remove unused include

* change more types to s32

* remove dialog tables from eu_translation.h

* fix dialog_table_get signature

* Change `oToadMessageDialogId` to s32

* remove exit from dialog_table_add

* warning

* calloc allocated dialogs

* avoid memcpy on allocation fail

* Move dialog entry text field init to dialog_table_init

* Free original dialog entries' text field

* Put all reset logic in one place

* Run autogen

* Remove ``get_dialog_text_ascii`` from autogen

* minor fix

* free dialog->str if replaced

* nevermind

* remove get_dialog_unmodified from autogen

* Change -1 to DIALOG_NONE

* update stuff to s32

* use growing array functions

* Change limit to something more reasonable

* add null check

* remove explicit cast

* Minor fixes

* more type fix

* peachy review

* Fix weird enums in autogen

* remove extra newline :p

* add dialog restore

* bump max dialogs just a lil bit 🥺

* add lua behavior params

* all OBJECT fields are now Lua variables

* Revert lua behavior params changes

* isaac review

* fix segfault

---------

Co-authored-by: PeachyPeachSM64 <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-08-03 17:49:45 +02:00
PeachyPeachSM64
f0a0a10544 dynos behaviors: adding missing fields and small bug fix
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-07-29 16:33:22 +02:00
PeachyPeachSM64
e01e4f3dbc don't expose these 2025-07-29 15:16:38 +02:00
PeachyPeachSM64
912556bb94 autogen 2025-07-29 15:01:56 +02:00