Commit graph

4346 commits

Author SHA1 Message Date
Isaac0-dev
10ead40b5d fix some threading crashes 2024-11-26 16:28:27 +10:00
Prince Frizzy
507f578dbb
Threaded Audio Support (#176)
* Initial threaded audio. (WIP)

* Ready for testing threaded audio.

* Remove this, It causes issues on older gcc versions.

* Fix Loading Thread not running properly.

* Fix Loading Screen & Implementation Updates

* Update comment.

* Revamp Thread States
2024-11-26 15:53:09 +10:00
Isaac0-dev
bf2d7b629e refactored mod categories and refresh button
no longer restarts djui
2024-11-26 14:37:37 +10:00
Denis Kopyrin
cd6cb12df6 Improve romhack camera Y axis smoothness (#516) 2024-11-26 12:22:30 +10:00
EmeraldLockdown
0f8e397a25
Add Mod Categories (#214)
* Add Mod Categories

* Update French Translation

take 3, hope this coauthor works frfr

Co-Authored-By: Skeltan <110261917+Skeltan@users.noreply.github.com>

* Add "All" option

* Portugese translation

Co-Authored-By: Mechstreme <84944335+Mechstreme@users.noreply.github.com>

* Add Categorias to purtugese

Co-Authored-By: Mechstreme <84944335+Mechstreme@users.noreply.github.com>

* Update French.ini

Co-Authored-By: Skeltan <110261917+Skeltan@users.noreply.github.com>

* Free category from memory

* Update German Language

Co-Authored-By: DMMaster636 <86197998+DMMaster636@users.noreply.github.com>

* Add CS mod category

* Make built in character select mods use CS category

* Remove main Character Select mod from having category entry

CS has its own github repo so gonna let Squishy handle that

* Add all translations using DeepL

* Forgot to remove that

* Actually translate the italian language lol

* Remove uneccessary translation comments

* Ok, now I actually saved all the files, so this should work now :D

---------

Co-authored-by: Skeltan <110261917+Skeltan@users.noreply.github.com>
Co-authored-by: Mechstreme <84944335+Mechstreme@users.noreply.github.com>
Co-authored-by: DMMaster636 <86197998+DMMaster636@users.noreply.github.com>
2024-11-26 12:19:10 +10:00
Radek Krzyśków
f81919ca23
Updated DirectX mouse buttons handling (#382)
- mouse clicks registered even when the game doesn't have focus
  - generally, `SDL_GetMouseState()` and `SDL_GetRelativeMouseState()` functions will not work with the `DXGI` backend, so that's why custom logic exists in `"src/pc/controller/controller_mouse.c"` 
  - fixing this issue required adding explicit checks for `(GetFocus() == game_window)`
- mouse clicks being registered immediatelly once the window receives focus
  - added a check to match the logic of the "SDL2 / OpenGL" version: 1st mouse click only activates the focus, then any following mouse buttons are processed as usual
- detecting whether the primary and secondary mouse buttons were swapped
  - `GetKeyState()` seems to work better than `GetAsyncKeyState()` because it does not require extra conditional statement like `(GetSystemMetrics(SM_SWAPBUTTON) != FALSE)`, and also from testing it seems the game will not receive an input when user clicks away to choose a different window
2024-11-26 11:46:35 +10:00
Sunk
947ce9f080
Rework PvP Balance (#357)
* 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
2024-11-25 20:48:40 +10:00
Radek Krzyśków
cb34d85c33
Fixed empty keyboard bind names on DXGI (#510) 2024-11-25 19:28:42 +10:00
Sunk
5965b55eb6
Custom exclamation boxes (again) (#360)
* Unhardcode exclamation boxes

Part 1 of creating custom exclamation boxes

* Add `set_exclamation_box` and `get_exclamation_box`

Part 2 of creating custom exclamation boxes

* Exclamation box docs

Part 3 of creating exclamation boxes, although this was entirely optional

* Safety check

* Add a warning

* Remake component check

* Update warnings

* Check for subtables not being tables

* Reduce exclamation box size

This matches how many contents could exist in vanilla due to its hardcoded id 99 check. This check allows me to reasonably assume that no romhacks have more than 99 custom contents. Other mods that may use this function really shouldn't need more than 99 contents either.
2024-11-25 19:26:37 +10:00
Blockyyy
d51ee7ffe4
Fix HOOK_ON_SEQ_LOAD (#518) 2024-11-25 16:51:32 +10:00
Cooliokid956
70866a66e3
Remove temporary ex-coop CoopNet versioning (#521)
* Remove temporary ex-coop CoopNet versioning

* don't need this anymore
2024-11-25 16:50:10 +10:00
Isaac0-dev
39826deadd add a way to find surface types in collision 2024-11-22 08:57:37 +10:00
Isaac0-dev
4deff6f3f4 fix an oversight 2024-11-21 15:10:21 +10:00
Sunk
382b03d97f
Fix gLevelValues.numCoinsToLife div/0 error (#500) 2024-11-20 07:48:11 +10:00
Isaac0-dev
d10e7c758e library update 2024-11-18 19:01:19 +10:00
Sunk
eb6183e87a
Fix camera reset bug (#499)
* Move camera down if hanging with romhack camera

* Fix camera reset bug

From issue #494

* Isaac's suggestions
2024-11-16 14:21:40 +10:00
Khangaroo
693a77078d
Low-hanging fruit mod loading optimizations (#493)
* Low-hanging fruit mod loading optimizations

* Fix DynOS fread spam and don't use a linked list for mod cache (still O(n^2), but much faster)
2024-11-16 12:44:57 +10:00
Isaac0-dev
15eb8dd8fc Revert "changes to recent pr"
This reverts commit 4ba9970972.
2024-11-14 22:58:53 +10:00
Isaac0-dev
3e39f5651a add some bounds checks 2024-11-13 13:29:50 +10:00
Isaac0-dev
4ba9970972 changes to recent pr 2024-11-13 13:28:36 +10:00
Khangaroo
d2aaeb23e9
Minor vertex processing optimizations (#490)
* Minor vertex processing optimizations

* Only cache global light if lighting is enabled
2024-11-13 13:27:43 +10:00
Agent X
fff34af6ac Disable file select on OG title screen (accessible with special_warp(SPECIAL_WARP_TITLE)) 2024-11-12 19:01:02 -05:00
Agent X
d5ec52fcc2 Restore vanilla Eyerok boss dialog 2024-11-12 17:50:15 -05:00
Agent X
d66cbf6dfc Restore vanilla chain chomp cutscene 2024-11-12 17:45:06 -05:00
Brobgonal Second
b730f7e58b
Fixed Toadette's hair being red, hair's palette now matches Toad's (#488) 2024-11-12 22:28:14 +10:00
Brobgonal Second
76c0f97c98
Updated Toadette's icon to match Toad's (#397)
* Fixed one Yoshi voiceline being stereo instead of mono

* Revert "Fixed one Yoshi voiceline being stereo instead of mono"

This reverts commit 10135bf94c.

* Fixed one Yoshi voiceline being stereo instead of mono

* Updated Toadette's icon to match Toad's
2024-11-12 22:27:56 +10:00
Khangaroo
1babad1640
Don't use default VAO (#487)
* Don't use default VAO

* Don't use a VAO on OpenGL 2.1
2024-11-12 11:08:21 +10:00
Agent X
aa830ce456 Some minor DJUI theme adjustments 2024-11-11 10:05:20 -05:00
Agent X
7e50a3790a
Update README to mention wiki 2024-11-11 10:04:50 -05:00
Sunk
945d1efe91
Move camera down if ceiling hanging with romhack camera (#407) 2024-11-11 15:12:25 +10:00
Radek Krzyśków
42cf0e3eea
Fixed smlua_model_util_get_id buffer overflow (#404)
- added the missing limit check for `sCustomModelsCount`
 (caused memory overflow into `bbh_seg7_vertex_`)
- changed `LOG_ERROR` to `LOG_LUA_LINE`, so that the mod dev can easily see any missing models
 (similar to getting warnings about missing audio files with `audio_sample_load`)
2024-11-11 08:45:21 +10:00
Khangaroo
b8381cf198
Fix DJUI text rendering with MSAA (#405) 2024-11-11 08:45:04 +10:00
Sunk
1a440f6380
Fix camera problems (#398)
Fixed the issue where the camera wasn't behaving like vanilla in vanilla sm64
Fixed the issue where the camera was just stuck while in water/flying in a romhack
2024-11-04 17:49:23 +10:00
Radek Krzyśków
aa12eaacce
Use virtual-key names instead of physical-key names in the binds menu (#395) 2024-11-03 07:57:04 +10:00
Blockyyy
93cbf480b6
Reset skybox color on network shutdown (#393) 2024-11-01 21:25:54 +10:00
Cooliokid956
d02b85bb5e
Nametags improvements (#392)
The nametag's scale is now controlled by its depth, matching the player's size
The nametag's color now uses the same function used by chat to retrieve the player color
The nametag will fade away if it gets too close to the camera
2024-10-31 19:02:48 +10:00
Brobgonal Second
4915bad1e7
Fixed one Yoshi voiceline being stereo instead of mono (#389)
* Fixed one Yoshi voiceline being stereo instead of mono

* Revert "Fixed one Yoshi voiceline being stereo instead of mono"

This reverts commit 10135bf94c.

* Fixed one Yoshi voiceline being stereo instead of mono
2024-10-27 15:52:35 +10:00
Cooliokid956
6badf67a33
Add location label override (#390) 2024-10-27 15:52:17 +10:00
John S
2cf1d03ed5
Optimization of mtxf_lookat() (#377)
* Update mtxf_lookat

* Make new mtxf_lookat a little easier to read and add mario specific types

* fix the declaration for mtx[3][3]

* Added negative sign
2024-10-24 07:17:29 +10:00
EmeraldLockdown
904c4c9c13
Change MAX_KEY_VALUE_LENGTH to 512 (#386) 2024-10-23 10:49:23 +10:00
Radek Krzyśków
b4b66c369a
Fixed clipboard (text copy & paste) implementation (#380)
- fixed "SDL_GetClipboardText" memory leak
- forcing unicode clipboard data format on Windows (UTF-16LE system, UTF-8 in-game)
- all "get_clipboard_text" functions return a zero-width string in case of failure, instead of NULL
2024-10-22 22:24:13 +10:00
Isaac0-dev
85a81d3d81 reset Lua error message on network shutdown 2024-10-22 21:09:46 +10:00
Isaac0-dev
fd99cee674 fixed non dev compile 2024-10-22 20:54:11 +10:00
Brobgonal Second
a81d8fde26 Fixed a bug with the [CS] VL-Tone & Cjes Luigi mod (#383)
Fixed a bug with the [CS] VL-Tone & Cjes Luigi mod when enabled without the Character Select mod enabled would send a wrong error message would say 'Extra Characters requires Character Select to be enabled.' instead of '[CS] VL-Tone & Cjes Luigi requires Character Select to be enabled.'
2024-10-22 17:23:30 +10:00
Motoo Chhotoo Chintoo
e967e2cd1e
Functions to update Mod Menu elements (#385)
Three new functions have been added, to be able to change the respective mod menu elements' values:
- update_mod_menu_element_checkbox
- update_mod_menu_element_slider
- update_mod_menu_element_inputbox
2024-10-22 16:45:19 +10:00
Cooliokid956
418b1201a0
Various FOV fixes and additions (#384)
* interpolate all fovs

* perfected the fov equation

just the facts

* create fov coefficient function

use it to scale units along with fov

* add get_current_fov

returns the current fov
2024-10-22 11:04:46 +10:00
Isaac0-dev
d7352b8d2a fixed Lua profiler showing mods that aren't active 2024-10-20 21:36:30 +10:00
Prince Frizzy
a0ae1cdc02
Revamp Djui Profilers (#381) 2024-10-20 20:27:09 +10:00
Isaac0-dev
e99d600bf7 indentation in packet_player.c 2024-10-20 09:28:55 +10:00
Isaac0-dev
a621ed2eba bump version 2024-10-20 09:27:05 +10:00