* Introduce this new pack in a more proper reviewable manner
Ideally I should have made a PR for my new pack and I understand the new geo function may have come out of no where. I've been thinking about adding it for a while and was going to utilize it in a new project I'm working on but I should have explained it first before pushing anything for sure
* Address suggestions
* Restore these, whoops
* Mark all unused variables as unused, resolve some unsafe code, some things still need to be looked at
* Remove a lot of unused variables that didn't need to exisat
* Remove UNUSED keyword from appartion values
---------
Co-authored-by: Agent X <44549182+AgentXLP@users.noreply.github.com>
* Fixes
* Lots more changes
* Yoshi :D
* Remove some unecessary changes
* Oops
* Remove temp code
* Revert changes made to king bobomb, will be handled in #1196
* copied from main not dev, oops
* Address review and do a minor improvement
* Nuke that
* Add "do not show again" checkbox to host message panel
* remove unused lines
was messing with the checkbox size to see how it would look but in the end i just kept it default, so these are now just useless lines i forgot to remove
* Add Russian and Spanish translations
* Improved deadzone implementation (sneaking now possible even with high deadzones)
* Reworked deadzone algorithm
* Faster/Stronger/Better
* minor renaming
* Requested change
* use float instead of double sqrt()
This reverts commit e22d85b119.
Lack of PR.
Built-in DynOS packs have barely any utility in the coopdx build,
specifically if it's private jokes/references.
Coop Cafe is a private community associated with coopdx, not a core part
of it.
This pack should be distributed as a separate mod instead.
- Fix `mod_storage_load/save_number` incorrect behavior. These functions should now be used only with numbers, not integers (see next point). The `mod_storage_load_number` can still load integer values from existing mod storage files.
- Add `mod_storage_load/save_integer` for integer values.
- Expand the range of savable values to `double` (64-bit float) and `long long` (64-bit integer) for respectively `number` and `integer` mod storage functions.
- Fix an obscure bug with `smlua_to_integer` that truncated very high integer values due to an implicit cast to double, causing floating-point imprecision issues. Thanks @yoshiweegee for the explanation.
- Change `djui_hud_measure_text` to return both text width and height
- New syntax is: `local width, height = djui_hud_measure_text(text)`
- Old syntax still works, but only returns `width`
- Fix incorrect char height for some fonts
- Fix nametags interpolation using the wrong scale
* Fix nametags color and rendering order
* make growing_array_init reuse array and buffer if they were already allocated
* use prim color for text color
* isaac review
* update text color descriptions
* small optimization
- Fix lives going below 0 right before a game over (also fixes a crash where if you exited with -1 lives and went into a subarea you would crash)
- Restore how lives get removed upon death exit (like in vanilla)
- Prevent bubbling from happening if you don't have enough lives (this fixes the annoying bug where you would get put back in a bubble and get popped immediately after over and over again)
Previously `thread6_rumble_loop()` was only being called once in
`thread5_game_loop()`. This commit removes that call and adds one to
`game_loop_one_iteration()`, creating the desired outcome of
`thread6_runnable_loop()` running once per frame.
Additionally, PS4 and PS5 rumble support is added. PS4 and PS5 rumble
requires a feature called 'extended reporting', which can be enabled
using two SDL hints. Since extended reported, once enabled, breaks
compatibility with DirectInput until the controller is restarted, an
option is also added to the configuration menu to toggle this
functionality.
* Add Scroll Binds
and fix a five year oob array index/write
* number
* fix that part
I just saw this
* That should be that
I have tested it, scroll works on the Up input, and on a regular input, so does everything else
This was happening because the previous mode would be reset before it was actually called. It was unique to `WARP_TYPE_SAME_AREA`. The solution is explained in the code comment. Also added some unused keywords to suppress warnings.
- Drastically improve and optimize display list usage for text
- Add text alignment with and without interpolation, and color codes, new lines and tabs are now handled properly
- Restored alpha color code (`#RGBA` or `#RRGGBBAA`) for `djui_print_text` functions (regular DJUI text allows alpha color codes, but ignores the alpha component)
- Add constants for common text alignment and rotation pivot values
- Fix interpolation issues with all `djui_hud` elements
- A few autogen fixes (missing `number` type for constants, missing return values for some functions)
- Fix recolorable hud font offsets on `e`, `i` and `o` letters
* 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
* Peachy changes