* CONCEPT: Basic vertex lighting engine
Set the geometry mode on your model to G_LIGHTING_ENGINE_EXT, spawn a `bhvAmbientLight`, spawn some `bhvPointLight`s, and then you got yourself a mighty interesting scene.
* Fixes
* How did I miss this
* Make light set home pos
- Fixed script file path shortening for Windows in console errors (what I could at least, the one left unfixed is preprocessed and I can't mess with that)
- Adjusted audio sanity check messages to sound more natural
- 9 new functions added:
## `audio_stream_set_loop_points(audio, start, end)`
Sets an audio stream's loop points in samples, no longer requiring a hacky method to loop streams in mods
## `get_active_mod()`
Returns the mod currently being processed, can be used by mods with APIs to determine what they're being used by and react accordingly
## `get_area_update_counter()`
Returns `gAreaUpdateCounter`, can be used to determine various in-game statistics, as well as if the game is being updated
## Exposed several object pointers
`get_current_object()` to retrieve `gCurrentObject`
`get_dialog_object()` to retrieve `gContinueDialogFunctionObject`
`(get|set)_cutscene_focus()` to retrieve/assign `gCutsceneFocus`
`(get|set)_secondary_camera_focus()` to retrieve/assign `gSecondCameraFocus`
Sherbie's suggestions from #497 and #538, as well as suggestions from others on discord.
Add 2 new camera settings to free camera, being camera collision and dpad usage.
Add an entire new camera submenu for romhack camera, which are now no longer exclusive to romhacks.
* PvP Rework
This rearranges the damages of last PR. The underused attacks should still see some buffs.
* Adjust how punches apply invincibility
Also increase punch invincibility timer to 12
* EmeraldLoc's easy suggestions
* Rework punching pvp
Punching no longer reduces invincibility frames. Instead, punches can ignore knockback invincibility and the full punch punch kick combo can be done.
* Adjust numbers
Breakdances should not deal 3 damage
* Potential fix for more common tripping
"Trip" here refers to 1 damage kicks
* Add temporary invincibility to rollouts
This is a test to see how different pvp feels with this change. Suggestion by sausrelics.
* Fix invincibility
* Prevent low damage/low knockback kicks altogether
* Update ignored attack list
* Allow dives to be attacked by most actions
A lot of people don't want dives to be entirely invincible and some suggested to make dives be able to only pierce through jump kicks
* Slightly nerf kick knockback
Suggestion by emily
* Rework dive piercing
Instead of all actions being able to hit dives other than jumpkicks, now only slidekicks (and ground pounds) can hit dives.
* Mild kick knockback increase from nerf
* Change direct equality to checking flag
* Decrease dive and punch knockback
* Prevent trades against dives with slidekicks
* Revert "Prevent trades against dives with slidekicks"
This reverts commit 2a2c3266a7.
* Allow ground pounds to always hit a sliding player
* Add server setting to change pvp
* Add pvp settings to config
* Add selection to menu
* Fix issues + autogen
* Rewrite goto statement to not use goto
Sometimes, the player can ground pound a pole before even landing or punch/kick an enemy at high speeds which will kill the enemy but not give bounce back to the player. This fixes those, although there are definitely mod incompatibilities.
- Only inited `smlua_audio_utils` if needed, since there will probably be plenty of people who play without ever using mods with custom audio.
- Fixed the pause anywhere setting - this ended up not being fully accurate to ex-coop, which it was originally intended to be.
- Stopped regenerating dynos collision bin on start up every time therefore giving a slight start up speed boost for some people.
- Added a config file setting that lets people choose to compress dynos bins on startup (disabled by default).
- Fixed a warning that shows on non macs during compiling.
- Properly fixed the chat box focus.
- Made the public lobby rules panel "temporary".
- Added a cleaner loading screen design.
- Added an ex-coop theme easter egg, can only be activated from the config file.
- Cleaned up the Lua traceback logging, now shows the folder and file the error occurred in, rather than the full path.
- Added a way to set `gCheckingSurfaceCollisionsForCamera`, so mods can specify to surface finding functions to ignore `SURFACE_FLAG_NO_CAM_COLLISION` internally.
- Rewrote the way smlua pushes CObjects/CPointers to Lua. Now using the C Lua API entirely to connect to Lua.
- Fixed a use-after-free bug that could easily crash the game through Lua (explained further in one of my comments below).
- Fixed a common crash in `audio_sanity_check`.
* Add a menu where mods can put their options at
* Document mod menu hook functions
* Add HOOK_ON_LANGUAGE_CHANGED
* Add new Cheats mod
* Make player menu disable singleplayer pause
* fix some git merge conflicts that weren't resolved (#55)
and added -latomic to build flags to fix compile warnings while compiling miniaudio
* Remove legacy 'deluxe' field from built-in mods
* Lots of improvements to memory safety
* Abbreviated hex color parsing
Co-Authored-By: Mechstreme <84944335+mechstreme@users.noreply.github.com>
---------
Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-authored-by: Mechstreme <84944335+mechstreme@users.noreply.github.com>
Renamed the function interact_unknown_08 to interact_spiny_walking
and added the constant INTERACT_SPINY_WALKING, which has the same value of INTERACT_UNKNOWN_08
INTERACT_UNKNOWN_08 is kept for compatibility with smlua, and behavior dynos bins