Commit Graph

822 Commits

Author SHA1 Message Date
Anghelo Carvajal
92c4d42f44
z_skin and z_skin_awb OK and documented a bit (#415)
* oot copypaste

* func_8013859C non matching and func_80138700

* protos

* the other functions

* func_80138300

* progress

* func_80137F58

* func_80137EBC

* func_80137B34 NON_MATCHING

* func_80137970

* func_8013835C

* z64skin

* some docs

* some bits

* Match func_80137B34

* Match Skin_DrawImpl

* Match Skin_Init tahnks to Anon

* Some docs?

* AnimatedLimb

* SkinVtx

* more names

* fix merge issue

* format

* another clean

* trailing comma

* cleanup

* format

* add some descriptions

* Import bss

* last cleanup

* Update ZAPD symbol map

* Reanme gIdentityMtx and gIdentityMtxF

* fix merge issues

* bss

* review

* Update include/z64skin.h

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* bss

* Port @fig02 skin docs

* format and a few changes

* format

* Port over OoT review

* fixes

* Engineer's review

* format

* address pr

* Fix bss

* fix bss

* Update src/code/z_skin_awb.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* bss

* bss

* undo

* pr

* Skin_Setup

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2022-03-23 17:30:34 -04:00
mzxrules
f1560614d6
z_object_switch OK (#527)
* z_obj_switch all functions attempted

* z_obj_switch OK

* Document z_obj_switch

* update gameplay_dangeon_keep references

* pr changes implemented

* fix warnings

* pr suggestions, name all functions
2022-03-10 05:49:11 -05:00
Maide
6ed7b0849c
En_Osk (#670)
* En_Osk

* PR

* run actorfixer

Co-authored-by: angie <angheloalf95@gmail.com>
2022-03-09 23:19:00 -03:00
immibis
fa321be0f3
Bg_F40_Switch OK and documented (#526)
* Bg_F40_Switch OK and documented

* updates for Bg_F40_Switch PR

* update names

* formatting

* func_80BC46B0 → BgF40Switch_CheckAll
2022-03-09 22:08:36 -03:00
Derek Hensley
d36b0d506d
Misc NON_MATCHINGS/NON_EQUIVALENTS (#696)
* Match the rest in fireObj

* Fix FireObjLightParams struct

* Fix up bomjima

* Match ObjSnowball

* 2 functions in EnGoroiwa

* Rename randMultiplier

* Minor cleanup

* More cleanup

* Boss02 Ok

* Match Boss06_Draw

* format

* bss

* Remove static from osFlash bss

* PR suggestions

* Remove LightInfoPositional

* 0x4000

* Format

* Cleanup

* Fix bombjima data

* Boss02 newline

* PR stuff

* Change func_8012CF0C to NON_EQUIVALENT

* Matched func_8012CF0C by AngheloAlf

* RSPMatrix -> Mtx

* Bubbles fix
2022-03-09 22:02:27 -03:00
engineer124
fe32df0e82
Document Actor_DrawDamageEffects (#645)
* Being documenting `Actor_DrawDamageEffects` and apply to actors

* More doc progress

* Small cleanup

* Document display lists

* more cleanup

* Fix Typo

* PR Review

* Shock -> Spark

* Missed one

* Missed another

* Fix dust textures

* Remove `_tex` from `light_orb_tex` (so that it matches convention)

* electric stun -> electric spark

* Fix mistake

* Fix float

* spark -> sparks where applicable

* Missed even more shocks...

* Name `drawDmgEffTimer` for consistency

* Fix BSS
2022-03-09 20:37:27 -03:00
Anghelo Carvajal
e7940e3bed
Add autogenerated limb enum info in the object's XMLs (#633)
* first pass

* Fix limb enums for objects with more than one skeleton

* Manually fix object_cne
2022-03-05 13:06:02 -03:00
Maide
040db7ac40
En_Mm3 (#671)
* En_Mm3

* PR

* Merge
2022-03-05 12:57:38 -03:00
Parker Burnett
4a18f3ca4d
En_shn OK (#638)
* Building on Macs

* Add Mac building documentation

* Review

* Update for new z64compress

* Review

* getting some matching done

* gettting some more matches

* actor fixer

* almost OK

* Shn OK

* fixing data and warnings

* finishing touches

* forgot to update spec

* dang comments not being formatted

* this should fix things

* fixing feedback and other fixes

* fixing things

* fixing things

* addressing PR

* format and minor fix

* actorfixer

* fixing actor

* fixing enum

* yay format

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2022-03-05 12:45:49 -03:00
Parker Burnett
10a1ef8f1d
Bg_ingate OK (#643)
* close, 2 functions left, both close

* documenting what I can

* fixing things

* fixing

* changing weekEventReg

* master fix

* ran actorfixer
2022-03-05 12:22:43 -03:00
Maide
26d71ffbf6
En_Prz (#656)
* En_Prz

* PR

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2022-03-05 12:09:23 -03:00
Derek Hensley
1e4411a871
General Cleanup 2 (#681)
* cleanup

* Clean up toto

* More ClockTime macro

* rename pad

* EnGo and format

* EntityLineTest booleans

* Other bgcheck tests

* Graph Allocs

* Lib_Segmented

* Fix toto comment

* Remove macro comment for EnBigpo_DrawLantern

* Format and remove sym from undefined_syms.txt

* PR suggestions

* BgIkanaRay params

* One day i'll remember

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2022-03-05 12:03:20 -03:00
EllipticEllipsis
7fcefd8d3f
Decompile and partially document some functions in z_play (#582)
* Decomp 10 functions in z_play, start documentation

* Add numbers to enums in z_en_torch2.h

* Decompile a 5 more functions (56 unattempted)

* Add more details, name some more variables

* Bit more Doxygen

* Format

* Fix arguments

* Add symbols to actorfixer.py

* Merge branch 'master' into play

* Fix z_actor

* Review

* Deduplicate CycleSceneFlags

* Fix warning

* Fix unk4

* Review
2022-03-05 11:57:28 -03:00
Anghelo Carvajal
6017869b1e
z_player_call OK (#693)
* Match functions

* Rename functions

* Import data and bss, and minor fixes

* Format

* Whoops

* Add some protos to z_player
2022-03-05 11:51:51 -03:00
Maide
d9155eb498
Bg_Hakugin_Switch (#699) 2022-03-05 11:42:55 -03:00
Tom Overton
f9dac7d483
En_Racedog OK (#690)
* func_80B24630 OK

* func_80B248B8 OK

* func_80B246F4 OK

* func_80B25448 OK

* func_80B256BC OK

* EnRacedog_Draw OK

* LimbDraw functions OK

* func_80B2583C OK

* func_80B258D8 OK

* EnRacedog_Update OK

* func_80B255AC OK

* func_80B2538C OK

* func_80B252F8 OK

* Data imported to C

* Update struct to have everything Init needs

* func_80B24E14 OK

* EnRacedog_Destroy OK

* func_80B24C14 OK

* EnRacedog_Init OK

* func_80B2478C OK

* func_80B24CB4 OK

* func_80B251EC OK

* func_80B24F08 OK

* func_80B25490 OK

* Use generated reloc

* Object symbols and other misc cleanup

* More cleanup

* Move data to be in-function like how Dg does it

* Rename to ENRACEDOG_GET_3E0 until this actor is actually documented

* Last itty bitty cleanup

* Better header

* Forgot to name the LimbDraw functions, whoops

* Respond to reviews

* Match how Dg does weekEventReg stuff

* Respond to review
2022-03-05 11:34:26 -03:00
Maide
f87cabbc55
En_Butte (#683) 2022-03-05 11:27:33 -03:00
Maide
640f039cce
En_Gg2 (#676)
Co-authored-by: angie <angheloalf95@gmail.com>
2022-03-05 11:22:16 -03:00
Maide
1c955e56b0
En_Tab (#657)
* En_Tab

* PR
2022-03-05 11:16:36 -03:00
Maide
888448decf
Obj_Hakaisi (#655)
* Obj_Hakaisi

* Fix

* PR
2022-03-05 11:10:55 -03:00
Tom Overton
f4a9d117b1
En_Syateki_Crow (Shooting Gallery Guay) OK (#694)
* EnSyatekiCrow_Init OK

* EnSyatekiCrow_Destroy OK

* func_809CA5D4

* func_809CA67C OK

* func_809CA71C OK

* func_809CA840 OK

* func_809CA8E4 OK

* EnSyatekiCrow_Update OK

* func_809CAAF8 OK

* func_809CABC0 OK

* func_809CACD0 OK

* EnSyatekiCrow_Draw OK

* func_809CAE5C OK

* func_809CAF2C OK

* Migrate data to C

* Object symbols

* Use generated reloc

* Name static variables

* Name LimbDraw functions

* Remove struct padding

* Respond to review

* Respond to Elliptic's review
2022-03-05 11:03:59 -03:00
Averane
5f9e906727
EnHeishi OK and documented (#597)
* EnHeishi first pass

* fixed references to updated function names

* fixed references to updated function names part 2

* removed unnecessary externs

* pr fixes

* fix header

* fix object files to match demoheishi changes

* cleanup

* PR comments addressed

* merge master

* use actors flags with change for demoheishi too
2022-03-05 10:58:54 -03:00
emilybrooks
aa6c316102
Ovl_En_Drs OK and Documented (#669)
* done

* merged master, some cleanup

* more cleanup

* review 1

* removed the skelAnime temp

* format

* prototype newline

* globalctx2
2022-03-05 10:54:09 -03:00
Maide
cf98c4e7e8
Optional file disasm (#664)
* Add optional file disasm

* Fix for full
2022-03-05 10:49:01 -03:00
Anghelo Carvajal
77cfd399d0
z_demo with 4 NON_MATCHINGs (#514)
* starting

* a bunch

* and another bunch

* a bunch

* Match func_800EB1DC

* func_800EB4B4

* func_800EB6F8

* 2 more

* fix prototype of a random kankyo function

* func_800EBD60 non matching

* func_800EC678 matched?

* func_800EC6D4

* break

* func_800ECD7C

* A bunch of functions

* func_800EE200

* func_800EDF78 and func_800EE0CC

* func_800EDBE0 NON_MATCHING

* Cutscene_Init NON_MATCHING

* func_800EA324 NON_EQUIVALENT

* Fix warnings

* func_800EC924 NON_EQUIVALENT

* Cutscene_ProcessCommands NON_EQUIVALENT

* Format

* Split z_demo data and import it

* Import bss

* Match func_800EB364

* Rename Cutscene_Command_SetTime

* Improve Cutscene_ProcessCommands a bit (still not equivalent, probably)

* Improve Cutscene_ProcessCommands thanks to engineer and anon

* Cutscene_ProcessCommands NON_MATCHING

* Name some commands

* Fix

* Renames based on Engineer knowledge of Audio stuff

* More command names

* Cutscene_Command_GiveTatlToPlayer

* Some cutscene commands macros

* more command macros

* Macros for unknown commands

* Improve Cutscene_Command_Textbox a bit

* Rename stuff

* Name Terminator and Camera

* MOTIONBLUR

* Macros for textbox commands

* CS_PLAYER_ACTION_LIST

* A few macro renames

* Small cleaning

* A bit more of cleanup

* Rumble

* Entrance comments in func_800EB6F8

* Some var renames

* CS_CMD_FADESCREEN

* More clean up

* Clean functions protos

* Move CutsceneStateHandler out of z64.h

* Cutscene_DoNothing

* Cutscene_IsPlayingCs & Cutscene_GetSceneSetupIndex

* And more renames

* name some stuff in the cutscenecontext struct

* npcActionIndex->actorActionIndex

* Undo names of CS_STATE_ enum

* Name Cutscene_ActorTranslate family of functions

* small docs pass

* sfxconvert and format

* Hopefully last cleanup

* Add some missing functions to actorfixer

* Fix merge issues and remove trailing commas

* Cutscene commands fix

* Cutscene_Command_Misc improved by engineer

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Address review

* bss

* Match Cutscene_Command_Textbox by anon58

* Fix merge issues

* Match Cutscene_Command_Misc by @hensldm

* review

* float time macros

* fix merge issues

* format

* Fix building assets

* fix merge issues

* format

* Fix

* format

* fix merge issues

* fix

* fix

* format

* fix issues and run format

* bss

* Fix conflicts, bss and formatter

* Update include/functions.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/functions.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/z64.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/z64cutscene.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/z64cutscene.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/z64cutscene.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* address review and fix some stuff

* fix merge problems

* more fixes and format

* Fixes

* Update include/functions.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/functions.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_demo.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Engineer suggestions

* format

* Elliptic review

* Use dec for ShrinkWindow_SetLetterboxTarget

* add a few comments

* Cutscene_Command_ChooseCreditsScenes

* Update src/code/z_demo.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* format

* some cleanups and some comments

* change actorActionCmd from hex to dec in the codebase

* minor comment on textboxcmd

* ahhhh

* Update src/code/z_demo.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* brackets

* minor comments

* rewording

* im dumb

* brackets

* another bracket

* Dawn of the New Day

* Update src/code/z_demo.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* fixes

* Cutscene_Command_TransitionFX by Anon

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2022-03-04 19:14:52 -05:00
Maide
8b7cbb1273
En_Gk (#580)
* En_Gk

* Merge

* Merge

* TrasnformDraw

* PR

* a

* Ok

* PR
2022-02-28 03:03:03 +00:00
Maide
d60f3fcf2c
En_Gg (#585)
* En_Gg

* remove syms

* merge

* Merge

* PR

* PR
2022-02-28 02:59:07 +00:00
Maide
e127ee650a
En_Pr2 (#587)
* En_Pr2

* Cringe

* Merge

* PR

* Revert EnEncount1

* PR
2022-02-28 02:52:39 +00:00
Maide
6f4b349020
En_Zob (#593)
* En_Zob

* Merge

* Merge

* Merge

* PR

* fixer
2022-02-28 02:44:29 +00:00
Maide
c9f64d3344
Obj_Hunsui (#626)
* Obj_Hunsui

* PR

* Merge

* Merge
2022-02-28 02:38:36 +00:00
Maide
84e13ff2a0
Obj_Comb (#632)
* Obj_Comb

* PR
2022-02-28 02:29:56 +00:00
Maide
bb6b580a6b
Mir_Ray (1 non-matching) (#634)
* Mir_Ray

* PR

* fmt
2022-02-28 02:18:40 +00:00
Maide
484263dedc
Obj_Bombiwa (#637)
* Obj_Bombiwa

* PR
2022-02-28 02:11:06 +00:00
louist103
684df37ebc
En_Door (#571)
* progress

* it matches mostly

* symbols

* done for now

* fix warnings and stuff

* formatter

* NON_EQUIVALENT

* pr fixes

* formatter and actorfixer

* fix pm

* more fixes

* PR fixes

* it actually builds again

* matching function

Co-authored-by: Louis <louist103@pop-os.localdomain>
2022-02-27 17:37:24 -05:00
Ethan Roseman
91b983776e
Set up AnsiColor Jenkins plugin (#682)
* Set up AnsiColor Jenkins plugin

* deliberate error

* Update z_en_firefly.c
2022-02-20 12:53:05 -05:00
engineer124
fa069535d0
Camera Preparation (#644)
* Copy progress from z_camera

* cleanup functions.h

* Oops

* Revert `SUB16` and `ADD16` back to original names

* PR Suggestions

* PR Suggestions

* Fix merge with master
2022-02-20 00:33:47 +00:00
Derek Hensley
71c0120fbd
SubS Cutscenes, Flags, Objects, and Angles (#665)
* Bring cutscene code over

* Document cutscene functions

* Bring over flags code

* Document flags

* Bring Object code over

* Document object functions

* Better infinite loop comment

* Remove Effect_add correction

* Bring func_8013D5E8 code over

* Document angle helper

* ActorFixer

* Rename angle helper

* Missed gs

* Should probably test before commiting

* Better angle helper name as well as typo fix

* English is hard

* Len to num

* Fix merge

* Fix merge

* Format

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2022-02-19 23:49:36 +00:00
Derek Hensley
f67ecbc3c2
EnBba01 Ok and Documented (#667)
* Decomp Bba_01

* Doc bba01

* Document object_bba

* Remove new line

* Cleanup/rename EnHy to help differentiate it from overlays

* Adjust xml comment

* PR suggestions

* English is hard

* English is hard 2

* Add note about invalid textIds

* typo

* Fix merge

* Remove 0 defines
2022-02-19 23:27:15 +00:00
Maide
b949669131
Door_Shutter (#623)
* Door_Shutter

* PR

* Fix macro

* PR

Co-authored-by: angie <angheloalf95@gmail.com>
2022-02-19 23:05:22 +00:00
Tom Overton
fc270e338e
Change all hex weekEventReg accesses into decimal (#660)
* Change all hex weekEventReg accesses into decimal

* Remove hex from Osn
2022-02-19 22:39:55 +00:00
Maide
c98184f8e3
Cleanup various enums (#612)
* PR

* Add SQ and GI enums

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2022-02-19 21:42:05 +00:00
Maide
3f15c0017a
En_Zoraegg (#630)
* En_Zoraegg

* Revert bgCheckFlags

* roomInf

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2022-02-19 21:36:16 +00:00
Tom Overton
fed9dc991d
Tutorial on decompiling objects (and also object_dns documented) (#647)
* Fix existing documentation

* Fill out object_decomp.md

* First part of object decomp example

* Document animations

* Tutorial for identifying blob

* Naming everything else referenced in the actor

* Name all limb display lists

* Finish example

* Some tips and tricks

* Remove TODO

* Make merging.md consistent with everything else

* Name limbs properly

* Rename "bouncing idle" to "walk", since they use that animation to walk towards you if they catch you

* Run formatter again

* Purge hylian toolbox

* Be a bit more precise about vertex naming

* Also -> Further

* Correct description of how extract_assets works

* Format types of data

* Add note about palette

* Update text about object's C file

* Fix typo

* one more time -> in more detail

* Format render error as code

* explain what texture animations are

* Standardize on bullet points

* Use anon's sugestion for the "How we work with objects" section

* Trailing commas for better formatting

* Delete undefined_syms reference in object decomp

* Add note about root limbs

* Remove undefined_syms reference in object_decomp_example

* Remove "since"

* Explain *how* I changed the texture

* Explain what to do if the limb doesn't render anything

* Fix some extremely tiny incorrect enum name thing

* Explain the object symbol stuff bettter

* Add link to ZAPD documentation

* Also update documentation

* Update actor flags for Dns
2022-02-19 21:30:31 +00:00
Tom Overton
8e3d28b536
En_Syateki_Wf (Shooting Gallery Wolfos) OK (#673)
* EnSyatekiWf_Init and EnSyatekiWf_Destroy OK

* func_80A201CC OK

* func_80A20284 OK

* func_80A2030C and func_80A20320 OK

* func_80A20378 OK

* func_80A200E0 OK

* func_80A203DC OK

* func_80A20670 OK

* func_80A206DC and func_80A20710 OK

* func_80A2075C OK

* func_80A2079C and func_80A20800 OK

* func_80A208F8 OK

* Import data to C

* func_80A20858 OK

* EnSyatekiWf_Update OK

* Draw functions OK

* Use generated reloc

* Delete struct padding

* Use object symbols

* Name the statics

* ANIMMODE enum

* Misc cleanup

* Format

* Respond to review

* Change do-while loops to just be while loops

* Decimal counter
2022-02-19 21:26:04 +00:00
Tom Overton
debcfa3d72
Bg_Numa_Hana (Wooden Flower in Woodfall Temple) OK and documented, partial documentation of object_numa_obj (#666)
* Import data to C

* BgNumaHana_Init OK

* BgNumaHana_Destroy OK

* BgNumaHana_Update OK

* func_80A1A500 OK

* func_80A1AE08 and func_80A1AE1C OK

* func_80A1AA14 and func_80A1AA28 OK

* func_80A1AA38 and func_80A1AA4C OK

* A few more functions

* Finish most functions

* func_80A1A56C OK

* BgNumaHana_Draw OK

* Use generated reloc

* Use object symbols

* Actor flags

* Minor cleanup

* Some initial documentation

* More documentation

* Document flower petal struct

* Some more struct vars

* Name everything else

* Finish documenting the object for the flower

* Final doc pass

* UNK_TYPE

* Respond to review and fix build
2022-02-19 21:18:15 +00:00
Parker Burnett
249871642f
Obj_kinoko OK (#646)
* z_obj_kinoko OK

* fixing DL and changing to thisx

* naming display list

* minor fix

* fixing PR suggestions

* addressing PR

* reverting name and leaving a comment
2022-02-19 21:12:22 +00:00
Maide
0e6cf608d2
En_Pr (#631) 2022-02-19 20:59:15 +00:00
Maide
717adf8ed8
En_Sth (#625)
* En_Sth

* Skull tokens

* PR
2022-02-19 20:49:57 +00:00
Maide
e2d546c8f0
En_Bom_Bowl_Man (#616)
* En_Bom_Bowl_Man

* sAnimations

* Fixup data

* PR
2022-02-19 20:45:21 +00:00
Maide
c91423abae
En_Baba (#592)
* En_Baba

* Merge

* Merge

* PR

* PR

* Apply suggestions from code review

Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Baba/z_en_baba.c

* format

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com>
Co-authored-by: angie <angheloalf95@gmail.com>
2022-02-19 20:38:52 +00:00