sm64coopdx/actors
Agent X 19a429dbe5
Add built-in preset screen shader effects configurable through Lua (#1217)
* C++ lighting engine

Runs better using my new system for storing and iterating through lights.

I removed the lighting ctx profiler because after I've realized its very inaccurate and was probably programmed incorrectly from the start. Although I remember it working fine before and not constantly showing 20 ms or higher when I'm in an extremely simple level with extremely simple lights and the FPS is way too high for it to be taking 20 ms.

* Whoops

* Make some optimizations

* Fix small bug with LE inside graphics vertex function

I also brought back the lighting profiler because it's better than nothing.

* Some optimizations

* Cache active lights and 4 lights per vertex limit

Less branching and less iterating with the limit

* Screen shader effects for Lua [OpenGL]

Hue, saturation, brightness, contrast, exposure, dithering, posterization

Global = usually an object in the world
Non global = usually a screen element

Also:
* Changed skyboxes to use environment color instead of vertex color, visually identical
* Changed hud head texture to be non global
* changed power meter to be non global
* changed sparkles to be global
* changed some BBH vertex types to global

OpenGL renderer supported only for now.

* Add default values and better function names

Also fixed sizes in reset function

* Add scanlines effect

* Add global enabled function

* Fix some default values

* Hopefully fix white sparkles

* Whoops

* Address review

* Update function names

* Fix shader crash

* Address reviews
2026-05-11 15:59:48 -04:00
..
amp extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bird extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
blargg extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
blue_coin_switch extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
blue_fish extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bobomb extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bomb extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
boo extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
boo_castle extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
book extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bookend extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bowling_ball
bowser extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bowser_flame extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bowser_key extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
breakable_box extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bub extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bubba extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bubble extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bullet_bill extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
bully Speed up lighting engine by 80% 2025-07-17 15:41:06 -04:00
burn_smoke Fix headless compilation and do some formatting 2024-06-30 20:55:47 -04:00
butterfly extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
cannon_barrel extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
cannon_base extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
cannon_lid extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
capswitch extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
chain_ball extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
chain_chomp extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
chair extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
checkerboard_platform extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
chillychief extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
chuckya extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
clam_shell extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
coin Make coins able to be shaded by Lua 2024-06-21 22:38:08 -04:00
cyan_fish extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
dirt extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
door extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
dorrie extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
error_model Gfx Vtx vanilla only duplicates (#733) 2025-04-08 10:20:50 +10:00
exclamation_box extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
exclamation_box_outline extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
explosion extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
eyerok extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
flame extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
flyguy extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
fwoosh extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
goomba extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
haunted_cage extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
heart extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
heave_ho extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
hoot extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
impact_ring extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
impact_smoke extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
king_bobomb extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
klepto extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
koopa Fix headless compilation and do some formatting 2024-06-30 20:55:47 -04:00
koopa_flag extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
koopa_shell extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
lakitu_cameraman extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
lakitu_enemy extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
leaves extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
luigi Change METAL back to CAP 2024-07-05 22:46:16 -04:00
luigi_cap Change METAL back to CAP 2024-07-05 22:46:16 -04:00
mad_piano extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
manta Fix mantas and sushis being unshadable by Lua 2024-06-22 10:33:02 -04:00
mario Change METAL back to CAP 2024-07-05 22:46:16 -04:00
mario_cap Change METAL back to CAP 2024-07-05 22:46:16 -04:00
metal_box extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
mips extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
mist extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
moneybag extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
monty_mole extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
monty_mole_hole extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
mr_i_eyeball extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
mr_i_iris extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
mushroom_1up extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
number change misleading switch case field label (#781) 2025-05-02 13:33:36 +02:00
peach extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
pebble extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
penguin extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
piranha_plant extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
pokey extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
poundable_pole extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
power_meter Add built-in preset screen shader effects configurable through Lua (#1217) 2026-05-11 15:59:48 -04:00
purple_switch extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
sand extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
scuttlebug extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
seaweed extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
skeeter extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
small_key extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
smoke extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
snowman Fix snowman cap 2024-07-05 22:47:22 -04:00
snufit extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
sparkle extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
sparkle_animation Add built-in preset screen shader effects configurable through Lua (#1217) 2026-05-11 15:59:48 -04:00
spindrift extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
spiny extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
spiny_egg extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
springboard extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
star extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
stomp_smoke extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
sushi Fix mantas and sushis being unshadable by Lua 2024-06-22 10:33:02 -04:00
swoop extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
test_platform extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
thwomp extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
toad extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
toad_cap Change METAL back to CAP 2024-07-05 22:46:16 -04:00
toad_player Change METAL back to CAP 2024-07-05 22:46:16 -04:00
tornado extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
transparent_star extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
treasure_chest extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
tree extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
ukiki extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
unagi extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
walk_smoke extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
waluigi Change METAL back to CAP 2024-07-05 22:46:16 -04:00
waluigi_cap Change METAL back to CAP 2024-07-05 22:46:16 -04:00
wario Change METAL back to CAP 2024-07-05 22:46:16 -04:00
wario_cap Change METAL back to CAP 2024-07-05 22:46:16 -04:00
warp_collision extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
warp_pipe extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
water_bubble extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
water_mine extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
water_ring extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
water_splash extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
water_wave extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
whirlpool extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
white_particle extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
white_particle_small extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
whomp extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
wiggler_body extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
wiggler_head extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
wooden_signpost extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
yellow_sphere extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
yellow_sphere_small extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
yoshi extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
yoshi_egg extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
common0.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
common0.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
common0_geo.c
common1.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
common1.h Updated Mario, Added code for mirror culling. 2023-11-14 00:34:13 -06:00
common1_geo.c
custom0.c sm64coopdx 2023-10-30 01:03:36 -04:00
custom0.h Added Luigi 2023-11-15 19:04:40 -06:00
custom0_geo.c Load Super Keeberghrh's ERROR model when DynOS can't find the model 2022-03-16 01:34:18 -07:00
group0.c
group0.h Updated Mario, Added code for mirror culling. 2023-11-14 00:34:13 -06:00
group0_geo.c
group1.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group1.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group1_geo.c
group2.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group2.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group2_geo.c
group3.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group3.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group3_geo.c
group4.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group4.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group4_geo.c
group5.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group5.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group5_geo.c
group6.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group6.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group6_geo.c
group7.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group7.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group7_geo.c
group8.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group8.h
group8_geo.c
group9.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group9.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group9_geo.c
group10.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group10.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group10_geo.c
group11.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group11.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group11_geo.c
group12.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group12.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group12_geo.c
group13.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group13.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group13_geo.c
group14.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group14.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group14_geo.c
group15.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group15.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group15_geo.c
group16.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group16.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group16_geo.c
group17.c Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
group17.h Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
group17_geo.c
zcustom0.c
zcustom0.h
zcustom0_geo.c