Commit Graph

1111 Commits

Author SHA1 Message Date
Adam Bird
1ce9634f65
clear bongo bongo static effect on actor reset (#2603) 2023-03-12 08:06:52 +01:00
Adam Bird
39acd71fc4
remove left over boss location logic from mq logic (#2619) 2023-03-12 08:01:18 +01:00
Malkierian
73052617ed
[GI] Item_Give and OnReceiveItem updates (#2580)
* Changed OnReceiveItem hook to pass GetItemEntry, which required the following changes:

Reworked the references to it in `z_parameter` to call a single function with the item return and hook call in it for ease of editing.

Modified the pendingSale functionality to set and pass a modIndex value as well, as mod items (like randomizer) in shops still use the vanilla sale path.

* Missed some files for the pendingSale changes.

Also added Randomizer_Item_Give to the OnReceiveItem system.

* Ice traps now trigger OnReceiveItem.

* All ice traps truly do work now.

As a side effect, item autosave doesn't work for shop/scrub/merchant transactions, requires new OnSaleEnded hook that can also call the autosave.

* Removed unnecessary calls to ItemTable_RetrieveEntry where GetItemEntry properties were being used to call it.  General code cleanup.

* Added OnSaleEnd hook for when rupees are finished deducting after a sale.

Migrated AutoSave to its own function, registered AutoSave function to OnReceiveItem and OnSaleEnd hooks to help with autsaving after buying items.

Some futureproofing for AutoSave function with parameters for skipping autosave, for when transition end is migrated to AutoSave function (whether through direct call or through a hook).

* Renamed hook paramaters, and registered hook function parameters, to a more descriptive alternative.

* Missed a couple, fixed a typo.

* One more missed paramater name refactor.

Refactored all references to OnReceiveItem to OnItemReceive to mirror upcoming full hook refactor for name ordering conventions.

Up-to-date with develop.
2023-03-12 08:00:03 +01:00
aMannus
095066ffcd
Enemy Rando - Arwing range check (Khan Edition) (#2613)
* Arwing range check

* Small code cleanup
2023-03-11 09:47:56 -08:00
aMannus
1c00d56053
Exclude club moblins in clear rooms (#2593) 2023-03-08 13:10:14 -05:00
Adam Bird
7c558ae089
fix rando quest selection falling back to vanilla saves (#2599) 2023-03-08 13:09:22 -05:00
Adam Bird
60f4f71495
fix flag wind speed to use correct uint type (#2600) 2023-03-08 13:08:54 -05:00
Adam Bird
2117d98178
fix skulltula token count message on vanilla (#2597) 2023-03-08 10:18:02 -05:00
briaguya
4a89c20ac9
bump lus + resolve lus conflicts (#2598) 2023-03-07 23:03:00 -05:00
briaguya
eb28d114cd
khan -> dev 2023-03-06 23:39:08 -05:00
Malkierian
5d32343919
Modify cutsceneIndex in scene transition autosave to include use-cases outside of normal vanilla play. (#2588) 2023-03-06 23:17:27 -05:00
Adam Bird
ce115272cd
fix equip now enhancement running with non-equipment items (#2590) 2023-03-06 23:15:51 -05:00
Adam Bird
0a67e42f6c
handle angry happy mask throwing link out in entrance randomizer (#2578) 2023-03-04 00:30:20 -05:00
briaguya
76ceda3118
khan -> dev 2023-03-02 17:13:31 -05:00
Adam Bird
a5bf135541
fix change age cheat causing link to spawn in the wrong spot (#2573) 2023-03-02 17:12:46 -05:00
Josh Bodner
0d54cb15df
Spot fix so autosave dropdown will save immediately (#2568) 2023-03-02 16:57:55 -05:00
David Chavez
981c6348ab
Fix voice compilation (#2571) 2023-03-02 21:58:27 +01:00
Amaro Martínez
d3f864cea9
Simplify Asset Headers (#2474) 2023-03-02 15:37:47 +01:00
David Chavez
21466192e5
[Accessibility] Text to Speech (#2487) 2023-03-02 09:27:28 +01:00
David Chavez
b13f6f4b70
[Interpolation] Allow Matching & Limit Max FPS (#2466) 2023-03-01 16:12:55 +01:00
David Chavez
109345e94d
[Resources] Properly encode soh textures and remove raw load (#2548) 2023-03-01 10:18:26 +01:00
David Chavez
b74be9196c
[Accessibility] Add ability to disable camera re-centering on idle (#2503)
* Add ability to disable camera recentering on idle

* Remove platform check

* Update else camera comment
2023-02-28 21:42:15 -05:00
Adam Bird
1fc6a2f08f
Rando version warning on different builds (#2420)
* save build version to savefile

* adjust rando hash icons to use fade in/out

* add dialog message support on the file select screen and display rando version warning

* remove duplicated message functions and use stubbed play state instead for rando warning

* add major/minor/patch version saving to file and compare against

* use strncpy and memset for build version

* don't show rando warning one copy/erase screens

* review feedback

* Add german and french translations for rando warning

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>

---------

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2023-02-28 20:46:55 -05:00
David Chavez
27d7cb0bc1
[CMake] Clean soh/CMakeLists (#2556) 2023-02-28 19:19:34 +01:00
briaguya
2df6acc908
Fix: some greg hint stuff (#2557)
Co-authored-by: briaguya <briaguya@alice>
2023-02-28 18:23:22 +01:00
David Chavez
c91a044d46
[GameInteractor] Introduce GameFrameUpdate Hook and Migrate Cheats (#2554) 2023-02-28 11:20:43 +01:00
Evgenii Babinets
afc61e65ee
Restored vanilla pause buffering and input behavior broken by 'easy frame advance' cheat (#2511)
* Restored vanilla pause buffering and input behavior broken by 'easy frame advance' cheat

Currently, holding A and repeatedly pausing and unpausing will cause that A input to be repeated, resulting in Link rolling without additional A inputs. Similarly, holding Z and unpausing in front of a candidate actor will cause Link to switch Z-targeting to that actor.

As a side effect, this also does not allow inputs to be buffered before the Subscreen has finished its closing animation, which is how vanilla also works. This is slightly unfortunate because the "freeze" before the game resumes is considerably shorter in Shipwright, but it'd be better to implement a fake delay there if we want to make it more forgiving.

* Fixed writing past end of the buffer when loading personal item tracker notes longer than 8 characters

* Revert "Fixed writing past end of the buffer when loading personal item tracker notes longer than 8 characters"

This reverts commit 721c18d488.
2023-02-28 04:22:26 -05:00
briaguya
7f5221b149
Supersonic merge fixes (#2553)
* ss2

* Remove Comments and Rupees when dead.

* Rupees removal for real

* Updated Inline formatting as well as changed Mode Idenitifier from Super Sonic to Rupee Dash.

* Add OnPlayerUpdate hook

* Move rupee dash to hooks

* Update comment for DashInterval

* ss2

* Remove Comments and Rupees when dead.

* Rupees removal for real

* Updated Inline formatting as well as changed Mode Idenitifier from Super Sonic to Rupee Dash.

* Add OnPlayerUpdate hook

* Move rupee dash to hooks

* Update comment for DashInterval

* Update Health to not crash on less than 16 units.

* lus

* fix build, use `Health_ChangeBy`

---------

Co-authored-by: Caladius <Caladius@users.noreply.github.com>
Co-authored-by: David Chavez <david@dcvz.io>
2023-02-28 03:52:32 -05:00
Josh Bodner
f481b86386
Change autosave to use dropdown (#2550) 2023-02-28 00:07:47 -05:00
briaguya
061e232685
fix greg hint (and an RSK parsing issue) (#2547)
* fix RSK parsing error introduced by  #2541

* add logic to not give greg hint when we shouldn't

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-27 21:03:00 -05:00
Adam Bird
9ec091a636
add missing settings values that weren't being parsed (#2541) 2023-02-26 23:05:07 -05:00
Adam Bird
f7bb807940
[Game Interactor] Add LoadGame and ExitGame hooks (#2542)
* add loadgame/exitgame GI hooks

* implement loadgame/exitgame hooks in game code

* move entrance tracker data lifecycle to hooks

* update cosmetic editor to update onloadgame hook
2023-02-26 23:04:57 -05:00
briaguya
17aeec4b13
add greg to gameplay stats (#2544)
Co-authored-by: briaguya <briaguya>
2023-02-26 23:04:47 -05:00
David Chavez
2cb4a6ee7e
[Resources] Cleanup old hacks and rename (#2546) 2023-02-27 02:55:40 +01:00
David Chavez
448b4e49d3
[GameInteractor] Update Naming Modhooks (#2543) 2023-02-27 01:46:25 +01:00
Adam Bird
c1ddeec02a
fix cutscenes loading wrong resource when only an mq rom is loaded (#2545) 2023-02-27 01:44:30 +01:00
briaguya
60b206140d
Greg Hint + Hint cleanup (#2537)
* Restore greg stuff

* Cleanup

* Actually check for Greg when creating Greg hint

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* whoops

* Update soh/soh/Enhancements/randomizer/3drando/hints.cpp

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* fix greg hint crash, clean up hint generation (clear out hints when setting is off)

* update vanillafill too

* fix text id, parse json, expand array to fit hint

* actually parse/use greg hint RSK

* specify "after buying a key" in hover text hint

---------

Co-authored-by: David Chavez <david@dcvz.io>
Co-authored-by: Ralphie Morell <stratomaster64@gmail.com>
2023-02-24 20:35:15 -05:00
briaguya
fef230bc87
make greg bridge more greg (#2532)
* make greg bridge more greg

* use green rupee color from cosmetics editor

* use hooks to not patch/unpatch every frame

* use gi hook

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-24 15:55:53 -05:00
Malkierian
29daec879b
Shopsanity price range selection (#2517)
* Adds price range select box for shopsanity when shopsanity is 1 or more items.
Default option is the original functionality, now under "Random" select option.

Other options include Affordable, which makes each item 10 rupees, and one option for each level of wallet available with shopsanity, where each wallet's max capacity is the upper limit on the price randomization. These still go in 5 rupee increments, like Random.

Also keeps track of and saves/loads settings appropriately on game start.

* Changed "Random" default shopsanity price selection to "Balanced" to be more properly descriptive.

Refactored GetRandomShopPrice to try to keep Balanced as the default, with a sane fallback price of 150 should the weighted randomizer somehow fail.

* Missed one change from Random to Balanced.

* Changed wallet range to minimum of 5, and removed the multiple of 5 requirement (full rando within range).

* Modified the system to add a checkbox for affordability which then adds a price cap that is just above the max value of the previous wallet tier. Effectively this keeps the wallet lock in place, but prevents anything from getting more expensive than 5 past the previous tier.

* Fixed hover help text and tooltip formatting.

* Changed wallet ranges to generate multiples of 5. May need weighted generation after playtesting.
2023-02-24 04:21:13 -05:00
briaguya
23d2e4a2cc
improve cvar usage in AudioEditor (#2523)
Co-authored-by: briaguya <briaguya@alice>
2023-02-24 03:21:46 -05:00
briaguya
95fe6b492b
fix: use trick names for scrub and house of skulltula hints (#2528)
* update writealllocations to always write trickname and start seeing where things break

* handle simple vs complex items

* always grab a trick name

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-24 03:21:35 -05:00
briaguya
df6da69f7d
add greg bridge altar text (#2524)
Co-authored-by: briaguya <briaguya@alice>
2023-02-24 03:20:24 -05:00
briaguya
96dd7073e4
always add a gossip stone hint for greg when greg bridge is enabled (#2530)
* always add a gossip stone hint for greg when greg bridge is enabled

* don't double loop

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-24 02:57:31 -05:00
briaguya
231b7eecca
"greg the green rupee" (#2529)
Co-authored-by: briaguya <briaguya@alice>
2023-02-24 02:57:19 -05:00
briaguya
e25b11c5ac
Add menu option for changing disappearing path behavior (#2527)
* Adding CVar for z-fighting fix

* ultraship update

* remove commented out code

* formatting

---------

Co-authored-by: Bagbar <ckonrad86@gmx.de>
2023-02-23 22:42:58 -05:00
briaguya
ff94d35ea9
fix a couple junk hints that were making AutoFormatHintTextString loop forever (#2525) 2023-02-23 22:14:17 -05:00
Adam Bird
6e4b1aec2a fix excluded locations being removed if you haven't viewed the location tab (#2518) 2023-02-23 08:47:13 +01:00
Adam Bird
3d30f1701a make the gf chest as child use the correct RC check (#2519) 2023-02-23 08:47:13 +01:00
Adam Bird
ffbaef7823 fix incorrect hint key for child spawn location (#2507) 2023-02-23 08:47:13 +01:00
Amaro Martínez
656e593a67 Fix Lakeside Laboratory title card (#2501) 2023-02-23 08:47:13 +01:00
Adam Bird
6a09934e3b fix logic to use fire timer for deku scrub in DMC (#2502) 2023-02-23 08:47:13 +01:00
briaguya
d238533aba
bump lus (#2521) 2023-02-23 01:49:54 -05:00
Matt Wiens
7860f88241
Fix menu bar fix description typo (#2504) 2023-02-23 01:14:27 -05:00
Evgenii Babinets
e8e4afbbcd
Fixed potential memory corruption when loading personal item tracker notes (#2512) 2023-02-23 01:13:32 -05:00
Ralphie Morell
4a4f7e6d96
[Fix] Static Bomb Radius (#2515) 2023-02-21 08:49:53 +01:00
briaguya
9325e6d0a5
fix: don't show duplicate gregs on item tracker (#2498)
Co-authored-by: briaguya <briaguya@alice>
2023-02-17 11:05:15 -05:00
briaguya
494bdcdb25
gibbs -> dev 2023-02-17 08:02:08 -05:00
Malkierian
868689ce3e
Entrance tracker tweaks (#2446)
* Hide return transitions for dungeon, grotto and interior entrances when "Decouple entrances" is off.

* "Highlight last entrance" now highlights the override reverseIndex entry in the list if "Decouple entrances" is off, to correspond with not displaying return directions for the same setting (without this, nothing gets highlighted with the return transitions hidden with "Decouple entrances" off).

* Removed unnecessary printf

* Moved redundancy check to filtering loop instead of display loop.

Introduced setting to optionally force showing redundant entrances when decoupled is off.

Formatting changes suggested by Archez.

* Changed "show redundant" to "hide reverse" where applicable, and change

Added option disabling based on Decouple Entrances.

* Finished descriptive comment.

* Moved "Hide reverse" to left column of tracker settings.

Changed to PaddedEnhancementCheckbox, changed checkbox padding accordingly, and set default to true.

* Restore tooltip to Hide Reverse option, fix default value.

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>

* Restored padding underneath last option in entrance tracker List Items section.

---------

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
2023-02-17 07:38:07 -05:00
Adam Bird
3f3f4ff3ef
Fix: Prevent certain items from being marked as "major" (#2496)
* fix certain items being marked as major

* simplify check

* avoid string check
2023-02-17 07:14:43 -05:00
briaguya
68c8f50a71
greg bridge in logic (#2460)
* greg bridge in logic

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 21:53:08 -05:00
briaguya
3d8752b3aa
you found greg! (#2458)
adds greg to the item tracker

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 20:10:31 -05:00
briaguya
f4f10e4a49
don't show duped sequence names, don't repeat track intros on barinade (#2482)
* better fix for repeated sequence names, add delay to fix repeated bgm on barinade

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 18:45:51 -05:00
briaguya
6b93da37d4
fix: use cache on LoadFileRaw (#2489)
* fix: use cache on LoadFileRaw

this makes it so explosions don't use the dpad texture

---------

Co-authored-by: briaguya <briaguya@alice>
2023-02-16 18:05:36 -05:00
David Chavez
6cd7066706
Generate assets with MQ present (#2485) 2023-02-16 13:32:01 -05:00
AltoXorg
877fc2dcca
use the convenient printf fomat as ImGui::Text supports it (#2486) 2023-02-16 11:37:27 -05:00
briaguya
1e6ec1bdda
exclude audio from shuffle (#2411)
* Rename "SFX Editor" to "Audio Editor"
* Move some functionality out into a new class `AudioCollection`
* Add a tab to exclude sfx/sequences from shuffle pool 

---------

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: briaguya <briaguya>
Co-authored-by: David Chavez <david@dcvz.io>
2023-02-16 09:49:45 -05:00
briaguya
deb47ea430
hintless altar text (#2456)
Co-authored-by: briaguya <briaguya@alice>
2023-02-15 21:00:44 -05:00
Bigs
d275740c88
Separate X/Y axis sensitivity sliders (#2472)
* Update z_camera.c

* Update GameControlEditor.cpp

* Update GameControlEditor.cpp

* Update GameControlEditor.cpp

Adding Sliders for first person X and Y axis

* Update z_player.c

Modified variables to allowed separate sensitivity settings for x and y axis
2023-02-15 20:42:21 -05:00
David Chavez
8934274c67
[GameInteractor] Game Hooks (#2481) 2023-02-15 20:30:34 +01:00
David Chavez
2c10bca615
Fix compilation against latest libultraship (#2479) 2023-02-15 11:06:19 +01:00
Bigs
b19c72070d
Enhancement Toggle - Disable Automatic First Person Mode for Bombchus (#2471)
* Update z_camera.c

* Revert "Update z_camera.c"

* Update GameMenuBar.cpp

Added tickbox for NoFPChus

* Update z_player.c

Added check for Disable First Person Bomchus enhancement

* Update z_player.c

Removed comment as statement is clear on its own

* Update GameMenuBar.cpp
2023-02-15 01:47:38 -05:00
Kenix3
3a4a260e21
SoH now uses the multithreaded resource manager. (#2467)
* SoH now uses the multithreaded resource manager.

* Fixes build errors on Linux and decreases audio heap size.

* Updates LUS.
2023-02-15 01:02:09 -05:00
Ralphie Morell
7c3c662eba
Rando: Allow strings as seed hashes (#2438)
* Allows strings to be used for rando seed hashes;
updated conversion method from `stoi` to `stoul`

* apply suggestions

* Allow spaces + autoselect on input field focus

* Added new text filter; applied suggestions

* leaving 3d rando logic alone

* Apply more suggestions

* Revert buffer size to 1024
2023-02-14 21:43:25 -05:00
PurpleHato
e60f2b0c55
ADD: Time Savers -> Link as default file name (#2475) 2023-02-14 21:15:15 -05:00
Cardboy777
2241635ac5
Option for link's models reflect the projectile weapon he's holding (Bow/Slingshot) (#2454)
* Link's models reflect the projectile weapon he's holding

extracted logic from months-old PR

* apply bow/slingshot model changes only if 'gBowSlingShotAmmoFix' is enabled

* Apply suggestions from code review

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* whitespace

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-02-14 21:14:42 -05:00
Cardboy777
218971c4a9
Option for projectile ammo to match item instead of age (#2453)
* Projectile ammo matches ItemAction instead of age

extracted logic from months-old PR

* Added cvar under "Enhancements -> Gameplay -> Items" for bow/slingshot ammo

* Update GameMenuBar.cpp
2023-02-14 21:14:20 -05:00
Garrett Cox
462ab00c7e
Save skipped checks (#2476) 2023-02-14 20:50:59 -05:00
PurpleHato
622d8c4aff
TWEAK: Debug Warp Translations errors (#2464)
Volvagia is Vulcania in french (I'm so used to it in English)
and I somehow put the german version of dodongo's cavern in french, oops
2023-02-14 08:56:25 -05:00
PurpleHato
75782e4019
TWEAK: German Rando Navi Hint (Shiek Name) (#2463)
In German Shiek is called Sheik (something related to how they switched letter to conserve the wanted pronunciation of the name)
2023-02-14 08:55:12 -05:00
David Chavez
66b2d2d5fa
Add asset headers (#2465) 2023-02-14 08:29:46 -05:00
louist103
8c87bc13db
More junk hints. (#2417)
* More junk hints.

* More hints.

* Update soh/soh/Enhancements/randomizer/3drando/hint_list.cpp

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* More junk hints.

* More hints.

* Remove a hint.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-02-13 22:50:13 -05:00
Adam Bird
67421179e4
Fix: Rando settings not being initialized in time (#2461)
* fix entrance init and entrance tracker not working properly when no spoiler log is loaded

* fix rando adult trade spoilable items reverting when no spoiler log loaded
2023-02-13 02:00:59 -05:00
Adam Bird
1e9f8df33b
Fix: Hyrule Field bridge entrance and sun song placing link out of bounds in Entrance Rando (#2457)
* fix market night escape to work with entrance rando; adjust HF bridge spawn to not have link fall in water at night

* use scene enums for ER logic instead of magic nums

* fix sun song loading are with wrong link position with grotto shuffle on

* Update soh/soh/Enhancements/randomizer/randomizer_entrance.c
2023-02-12 23:34:16 -05:00
PurpleHato
8f9dc17752
FIX: Inverted Night and Day in German (#2448) 2023-02-12 17:58:57 -05:00
briaguya
df1e26d4cd
fix rainbow popping (#2441) 2023-02-08 00:19:48 -05:00
Adam Bird
fdf9d51444
update cvar name for n64 mode (#2440) 2023-02-08 00:18:53 -05:00
Adam Bird
f57cae120d
Fix: exclude locations not updating and add more location logic (#2428)
* fix location tab not updating and remove hidden excludes during generation

* add more exclude locations and fix broken ones

* update check tracker check visibility

* rename enum

* rename enums again
2023-02-06 20:51:26 -05:00
PurpleHato
177194ca5a
ADD: Exit Market at Night to rando preset (#2432) 2023-02-06 17:06:40 -05:00
PurpleHato
3218b2def2
FIX: Song's Overlay with Fast Ocarina Playback (#2431)
* FIX: Affected songs

* TWEAK: Addressed comments
2023-02-06 10:56:40 -05:00
David Chavez
8a76a3aa83
Fix: Hang on exit game and CC is enabled (#2427)
Happens during dev - might affect release, so PRing this.
2023-02-06 11:02:51 +01:00
Ralphie Morell
5771e6cd1f
Fix spillover on goron messages (#2425) 2023-02-01 00:12:21 -05:00
aMannus
e14fcf92d2
Fix GI overruling link size over anything else (#2424) 2023-01-31 07:21:16 -05:00
aMannus
612700c2ab
Change gPauseAnyCursor into combobox (#2423)
* Change gPauseAnyCursor into combobox

* Add enums

* Change naming
2023-01-31 06:53:22 -05:00
Adam Bird
4e08eca1b9
adjust closed forest and starting age settings for edge cases (#2421) 2023-01-30 22:51:41 -05:00
Sirius902
44f963e310
Rumble and check tracker fixes (#2419)
* Fix rumble

* Fix check tracker crash
2023-01-30 12:33:52 -05:00
Sirius902
544460d909
QPA restoration (#2422) 2023-01-30 08:43:30 -05:00
PurpleHato
f6c310ae84
TWEAK: Controller Navigation rename + tooltip (#2407)
* TWEAK: Controller Navigation rename + tooltip

* TWEAK: add back FW

* TWEAK: Button size + name

* TWEAK: Tooltip and text position

* TWEAK: added a PaddedSeparator

* TWEAK: Removed the padding from aMannus Request
2023-01-28 12:02:38 -05:00
PurpleHato
9b020c0986
TWEAK: Misspelling "Gold" in German + Box formating (#2416) 2023-01-28 10:51:41 -05:00
lilDavid
3617b2e5b7
Fix chest sizes making contents unobtainable (#2410) 2023-01-28 10:17:47 -05:00
aMannus
72dcf3466b
Check tracker fixes (#2414) 2023-01-27 19:16:31 -05:00