1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-14 21:40:03 +00:00
Commit graph

271 commits

Author SHA1 Message Date
Dragorn421
e7b0daa2ec
[headers 7] Add sys_matrix.h (#2150)
* add sys_matrix.h, based on MM's

* move matrix debug macros to sys_matrix.h

* bss
2024-09-07 00:26:47 -04:00
cadmic
3faa1c6acc
Move button macros to include/controller.h (#2138)
* Move button macros to include/controller.h

* Fix z_mag button ordering
2024-09-06 10:24:19 +02:00
cadmic
c6d7cc7697
[ntsc-1.2] Match __osMalloc.c and code_800FC620.c (new/delete) (#2106)
* Match __osMalloc

* Match src/code/code_800FC620.c (new/delete)

* Wrap versions-specific files in ifdefs to fix compilation

* Fix bss

* Remove {FAULT,RAND,OSMALLOC}_VERSION in favor of PLATFORM_N64

* Fix __osMalloc data splits, add unused strings

* __osMalloc.h -> osMalloc.h

* Fix merge
2024-09-04 11:10:14 +02:00
cadmic
2152d1df2d
[ntsc-1.2] Import libleo from Decompollaborate/n64dd (#2104)
* Create stack.h for STACK/STACK_TOP

* Import libleo from Decompollaborate/n64dd

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>

* Use (unsigned) int when in mdebug

* Apply suggestions from code review

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* Use && in leocmdex.c

* Use proper names for character tables, revert sNonKanjiIndices

* Fix incorrect OSMesg casts

* Use LEO_ERROR_GOOD even where docs say 0

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* Remove "Presumably" comment

* Whitespace

* Remove redundant (debug-only) returns

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-09-03 15:30:14 -04:00
Dragorn421
68818044db
[ntsc-1.2] Decompile fault.c (#2046)
* wip decomp ntsc-1.2 fault.c

* more ntsc-1.2 fault.c

* decompiled fault_v1.c

* name fault_v1 functions, wip

* try to clean up build system (two versions of the fault system coexisting)

* cleanup

* cleanup2

* fix build gc-eu-mq-dbg

* match 2 more, ty anon

* matched

* review

* more review

* fixup spec

* `(uintptr_t)ptr op int` instead of `ptr op (type*)int`

* move fault.h out of global headers, properly include fault.h and versions.h

* compile all fault_*.c files regardless of version by overriding FAULT_VERSION

* n64 FaultMgr.framebuffer s32 -> u16*

* FaultMgr.framebuffer -> FaultMgr.fb

* make gc FaultMgr.fb u16* (yes, thats everything)

* bss

* fix Fault_Printf return type

* noop FaultDrawer_SetFontColor, FaultDrawer_SetCharPad in fault_n64

* fault_color_ stuff is only for fault_gc

* rm empty line in makefile

* I guess `D_80105A90_unknown` is `[sg]TotalAllocFailures`

* bss

* `Fault_WaitInput` -> `Fault_WaitForInput`

* use named fault funcs in pointers array

* FAULT_OOT{N64,GC} -> FAULT_{N64,GC}

* Apply suggestions from code review

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

* review, sync fault_{gc,n64}

* Apply `FPCSR_CE` suggestions from code review

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

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2024-08-28 09:38:42 +02:00
Dragorn421
614c411058
match z_title.c (#2075) 2024-08-23 16:26:53 -04:00
cadmic
e6bc4bd8cb
Add names to all typedef'd structs, unions, and enums (#2028)
* Add names to all typedef'd structs, unions, and enums

* wtf vs code

* Use a better regex
2024-08-12 03:07:48 -04:00
cadmic
feac688313
Match NTSC file select (#1998)
* Match NTSC file select

Co-authored-by: inspectredc <inspectredc@gmail.com>

* nes -> eng in macros

* Duplicate more code but use less #ifs

* Format

---------

Co-authored-by: inspectredc <inspectredc@gmail.com>
2024-08-08 00:27:02 -04:00
cadmic
ec5068c58d
Introduce OOT_VERSION and OOT_REGION defines for build info and ROM header (#2003)
* Use version defines for build info and ROM header

* Use existing REGION_ defines for OOT_REGION instead
2024-07-28 00:46:55 -04:00
Anghelo Carvajal
d8f2e9abc6
Move PlayState to a new z64play.h (#1966)
* ActorContext

* frameadvance

* SfxSource

* GameOverContext

* RoomContext

* TransitionActorContext

* fix bss

* Move PlayState

* Move play functions to new header

* SAC_ENABLE

* no longer needed

* SAC_ENABLE again

* z_demo being silly

* comment

* format headers

* fix retail bss

* actually fix bss

* Cutscene_ProcessScript comment

* bss again

* Update src/code/z_demo.c

Co-authored-by: cadmic <cadmic24@gmail.com>

* rename to frame_advance and remove it from z64.h

* move macros too

* review

* Rename SequenceContext to SceneSequences

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
2024-06-25 15:13:31 -04:00
mzxrules
8d83727429
Experiment: remove global.h dependency from sys_math, sys_math3d, z_lib (#1956)
* split sys_math, sys_math3d, z_lib from global.h

* suggestions

* forgot this

* more math stuff

* nit fix

* re-add ichain.h

* resolve tharo's comments
2024-06-19 00:00:23 -04:00
fig02
06bbdf88f1
Revamp "AnimationContext" Docs, now called "AnimTaskQueue" (#1941)
* start using task terminology

* more docs

* format

* cleanups

* MoveActor -> ActorMove

* missed a couple

* hopefully the last changes

* comment explaining the group change

* some review

* dragorn review

* remove accidental file

* fix matching issue, now use while loop
2024-06-18 23:46:36 -04:00
inspectredc
e88084fe65
Fix LensMode Enum Names (#1954) 2024-06-09 14:43:15 -04:00
Derek Hensley
1b60dcf6dd
Use Romfile in place of vromStart and vromEnd in structs (#1742)
* KaleidoMgrOverlay

* GameStateOverlay

* ActorOverlay

* EffectSsOverlay

* MapMarkDataOverlay

* Missed DEFINE_ACTOR_UNSET

* ROM_FILE_UNSET

* DEFINE_OBJECT_EMPTY

* DmaEntry

* ACTOR_UNSET

* romfile.h

* newline

* Format
2024-02-29 14:15:04 +01:00
Tharo
c521f1f8ae
Remove gSystemHeap and use _buffersSegmentEnd instead, make buffer alignments explicit for gcc (#1901)
* Remove gSystemHeap and use _buffersSegmentEnd instead, make buffer alignments explicit for gcc

* ALIGNEDn -> ALIGNED(n), reposition alignment attribute for PreNmiBuff

* Correct positioning of ALIGNED for filter data in audio/lib/data.c

* Add ALIGNED to TypenameMacros

* ALIGNED(4) on same line for PreNmiBuff

* Revert audio load.c change, to be submitted separately
2024-02-27 19:01:47 -05:00
Tharo
dcf61174e9
Filename & line number args cleanup (#1891)
* Filename & line number args cleanup

* Use int for line number args over s32/u32

* Add missing const qualifiers from filename args

* Fix gcc warning in game.c

* Add comment to weird assignments in GameState_Init
2024-02-27 02:37:33 -05:00
cadmic
d9a1148d13
Match retail __osMalloc.c (#1684)
* Match retail __osMalloc.c

* Add TODO about N64 ArenaNode debug info

* FLAG prefix -> FLAG suffix
2024-02-02 17:37:32 -05:00
engineer124
a0d31dba68
Document Audio Thread Commands (#1399)
* begin docs

* cleanup

* copy over progress

* cleanup

* small cleanup

* more docs, fill out cmds

* small touchup

* pan weight ganon comment

* fix specId

* seqcmd cleanup

* format

* small cleanup

* one more thing

* small feedback from MM

* partial PR

* some PR Suggestions

* small adjustments

* ticks, seqticks, frames, updates: term cleanup

* small fix

* PR Review

* PR Review

* PR Review

* rm param

* adjust comment

* update renamed functions

* format

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-01-31 18:25:23 -05:00
cadmic
5ba625b171
Match yaz0.c (#1660) 2024-01-29 18:14:30 -05:00
Dragorn421
1a8772e540
Cleanup z_collision_check 1 (#1427)
* Cleanup `z_collision_check.c` and structs

* Revert `other*` names to master, split to other pr

* WIP/experimental: `ColliderCylinderElement`

* Revert "WIP/experimental: `ColliderCylinderElement`"

This reverts commit cfc8c32ace.

* ac/atHitInfo -> HitElem

* rename some collider elements to "elem" (instead of item, info, hurtbox...)

* cut down on more "hitbox" usage

* name all `ColliderElement*` temps properly

* rearrange colcheck structs

* add collider shape name descriptions

* reword collider shape descriptions

* jntsph first again

---------

Co-authored-by: fig02 <fig02srl@gmail.com>
2024-01-11 10:30:47 -05:00
Tharo
5ce4670fd1
Documentation for audio_thread_manager.c (#1562)
* Documentation for audio_thread_manager.c

* Fixes

* Move AudioTask back to z64audio.h and include in audiomgr.h, adjust bug comment

* Adjust AudioMgrDebugLevel enum
2023-11-30 16:22:30 -05:00
fig02
4908b8b37c
Player Docs: public facing csAction things (#1561)
* name public csAction functions

* format

* adjust function comment

* format
2023-10-28 07:46:24 -04:00
Tharo
a20163c6ab
Use long over int for s32/u32 types (#1546)
* long s32

* Suggested changes
2023-10-17 21:16:31 +02:00
fig02
2cb4ff4fd3
Player Docs: csMode -> csAction (#1547)
* csmode -> cs action

* format
2023-09-26 12:48:41 -04:00
Tharo
9b207c356a
Document Framebuffer Filters, VisCvg and VisZbuf (#1534)
* Document z_viscvg and z_viszbuf

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Few more notes

* Some more notes

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* Review

* Americanisation, FB RGB

* Oops

* Review

* Minor documentation modifications

* Header, base struct and enums

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* functions.h fix

* Suggested changes, further adjustments to file doc comments

* Further suggested changes, standardize capitalization of gfxP

* g

---------

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2023-09-16 17:16:58 -04:00
Tharo
7235af2249
Apply noreturn attribute where applicable (#1532) 2023-09-09 10:24:52 -04:00
Dragorn421
ccae1f7387
Split z64.h: move various things, state, sram, gfx, jpeg, prerender, speedmeter (#1487)
* Split z64.h more

* fix speedmeter.h (expect this kind of issue resolution to pop up eventually)

* fix z64object.h

* fix z64state.h

* fix (probably only partially) z64play.h

* fix fix speedmeter.h :)

* revert making a play header (sadge), add/split transition & transition_instances

* move stuff to cutscene, interface

* Move `TransitionCircle%` enums to `z64transition_instances.h`

* z64state.h -> z64game.h with a "this is not final" comment

* forward declare GraphicsContext in z64game.h instead of including the header file for it

* don't comment on where the forward declarations are from

reasoning:
1) it's easy to go out of sync (like this comment, it was outdated anyway)
2) any IDE can easily find the struct anyway
2023-08-15 12:21:19 -04:00
engineer124
0ce0313342
Minor Misc Cleanup 3 (#1502)
* more misc cleanup

* remove z64 conflicts

* undo ISVDbg
2023-07-05 18:36:19 -04:00
Tharo
47ffb59f68
Generate gamestate overlay table with an include/tables/ header (#1504)
* Generate gamestate overlay table from an include/tables/ header

* GameStateIndex -> GameStateId, move to z64.h, add GameStateId enum name field to the gamestate table, adjust and improve gamestate table comment

* Shorten zeros in table definition

* Generate linker symbols, other suggested changes

* GAMESTATE_MAX -> GAMESTATE_ID_MAX like the others
2023-07-04 12:36:55 -04:00
Tharo
12f67e108a
Further documentation for overlay relocation (#1498)
* Further documentation for overlay relocation

* Suggested changes

* Format

* REL_ -> RELOC_
2023-02-27 09:14:02 +01:00
Dragorn421
985dd7f520
EnHoll docs (door-less transition between rooms) (#1419)
* some EnHoll cleanup

* some more EnHoll cleanup

* even more EnHoll cleanup

* EnHoll docs

* `enHollFillAlpha` -> `bgCoverAlpha`

* Dl -> DL

* one temp: action -> type

* Move static data out of `EnHoll_HorizontalVisibleNarrow`

* "fade" -> "bgcover"

* spread sentence over several lines

* tweak comments formatting

Co-authored-by: fig02 <fig02srl@gmail.com>
2023-01-12 17:08:38 -05:00
Dragorn421
542012efa6
Fix misc 19 (#1488)
* "bgs sword" -> "biggoron sword"

* Animation_ChangeImpl: last arg is `ANIMTAPER_` enum

* TransitionTileStatus -> state

* Tiny gbi.h formatting fixups

* some cleanup on floormaster

* misc float ops cleanup

* sunsSongState = SUNSSONG_INACTIVE

* continueFlag == CS_CMD_STOP

* fix few camera names inconsistency

* textual 0 padding? not on my lawn

* libultra: construct address from end of dmem rather than oob from imem

* more free1 -> 2 fixup
2023-01-10 13:03:31 -05:00
Dragorn421
41e80b951b
Split z64.h: gfxprint, message, pause, view (as new headers), +misc (#1475)
* Split z64.h more

* Cleanup

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* forward declare `OcarinaStaff` struct for pointer members in message and pause structs

* define `struct OcarinaStaff`, not just the `OcarinaStaff` type

* PauseBgPreRenderState back to z64.h

* Move PauseBgPreRenderState and TransitionTileStatus near the PlayState struct definition

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2022-12-30 14:55:31 +01:00
Derek Hensley
bd317dbb9d
Fbdemo Docs: TransitionTile (#1471)
* TransitionTile'

* Final clean up

* PR

* Header comment

* vtx_tn

* Name background DL

* row <-> col

* Rename update functions

* Update header

* Enum

* Done -> Ready + cleanups

* Update include/z64transition.h

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-12-28 22:29:59 +01:00
fig02
7927e7b330
z_demo documentation (#1327)
* commit old stuff

* progress

* progress

* progress

* progress

* more progress, renaming cues next

* small changes

* enum values added for all actions

* hardcoded values removed when possible

* commands renamed

* first pass of action -> cue

* fix some matches

* some more cleanup

* scriptPtr

* forgot one

* remove cue rot union

* more changes

* some more stuff

* more stuff

* fix matching issues

* some more things

* progress, starting to rename destinations

* small changes

* name some destinations

* more names

* need to switch branch

* progress

* first pass of destination names

* usages fixed

* use destination enum

* fix csdis

* format

* command descriptions

* revert accidental zap changes

* forgot some things

* use a single macro for CutsceneCameraPoint (idk why i didnt think of this sooner)

* typo

* review1

* clarify ruby/sapphire comment

* remove endframe for commands that dont use it

* some more review

* most review, but not all

* scriptPtr -> script, and another small change

* ocarina action

* remove +1 from light settings command, change comment

* actionIndex -> cueIdTemp (i guess)

* _SetCueX -> _SetXFromCue

* format

* tweak fade out seq arg names

* use spline terminology

* more dragorn and engineer review

* misc start/end frame note

* cleanup StartPosRotFromCue vs PosRotFromCue

* cleanup spline terminology

* sPrevCamId -> sReturnToCamId

* comment on debug cs data address

* Cutscene_Init -> Cutscene_InitContext

* single point types are not a list

* remove todo comment

* some more review

* rumble struct names

* some review

* more review

* missed one

* reword pointer comment

* even more review

* match transition terminology with z_play

* change condition and format

* frame count

* command specific structs with alignment

* anon review

* remove unneeded arg from time macro

* yeet `CsCmdGeneric`

* remove unused from single point types

* typo

* compromise attempt -- name endFrame everywhere

* fixes

* fix again

* copied the wrong note

* cutscene data note

* review, format

* compat defines

* idk whats going on man

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-12-24 13:55:17 -05:00
Derek Hensley
4a9873775c
TransitionFade docs and clean up other transitions (#1459)
* TransitionFade docs

* PR suggestions

* Fix

* Fill

* Other transitions + enums

* Prefix transition assests with trans

* Fix end_title

* format

* OutNames

* nitpicks PR

* cleaner
2022-12-24 03:46:56 +01:00
fig02
1c6878b070
Name Message_StartOcarina and related things (#1473)
* name functions and msg ctx var

* start ocarina

* clarifying comments

* typo
2022-12-20 23:03:41 +01:00
Dragorn421
738268a79a
R_PAUSE_MENU_MODE -> R_PAUSE_BG_PRERENDER_STATE and docs (#1368)
* `R_PAUSE_MENU_MODE` -> `R_PAUSE_BG_PRERENDER_STATE` and document values and usage

* `SREG(33)` -> `R_GRAPH_TASKSET00_FLAGS`

* format

* `PAUSE_BG_PRERENDER_DRAW` -> `PAUSE_BG_PRERENDER_SETUP`

* `PAUSE_BG_PRERENDER_FILTER` -> `PAUSE_BG_PRERENDER_PROCESS`

* DList -> display list
2022-12-19 19:19:57 -05:00
engineer124
aa48c66e10
Introduce Player csMode enum (#1462)
* player csmode enum

* cleanup

* missed one, player2

* spell out enum name

* use CSMODE_MAX for data
2022-12-12 22:22:56 -05:00
Dragorn421
da2e8a8f2c
Skelanime/Animation header cleanup (#1434)
* Skelanime/Animation header cleanup

* touch up names of the two existing moveFlags macros

* formatter is a dum dum D:
2022-11-30 18:46:12 +01:00
Dragorn421
92f081d7f3
Add skybox .h and cleanup, SkyboxDraw_ -> Skybox_ (#1435)
* Add skybox .h and cleanup

* move forward declared structs to top of file

* `SkyboxDraw_` -> `Skybox_`

* format

* move more forward declared structs to top of file
2022-11-26 17:53:41 -05:00
Lauri Koskela
b57f2162ee
Document NPC talking and player tracking (#1426)
* Rename npc dialog state variable

* Rename and doc NPC actor talking funtion

* Introduce NpcTalkState enum

* Rename NPC_TALK_STATE enum values

* Document NpcPlayerInteractionState and related functions

* Rename player tracking opt enum variants

* Rename npc functions, interact info

* Minor npc actor function tweaks

* Minor comment fixes for npc

* Generalize NPC player tracking to point tracking

* Change unused NpcInteractInfo field type and name

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

* Rename headRot and torsoRot

* Rename GetTalkState to UpdateTalkState

* Minor comment fixes

* Rename rotateActorShape and clarify related comments

* Remove unneeded parentheses in z_en_heishi4.c

* Reformat

* Remove unclear comment

* Rename yPosOffset to yOffset

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2022-11-25 12:52:28 -05:00
Tharo
7ecafcfe7d
More documentation for z_std_dma.c (#1415)
* More documentation for z_std_dma

* uintptr casts for rom symbols in z64animation.h and z_kanfont.c

* Format

* Suggested changes, more defines for static texture sizes

* PI Interface -> PI

* Further suggested changes

* Format

* Comments about item_name and map_name texture assumptions
2022-11-16 21:57:02 -05:00
Tharo
acc077a24c
Mempak doc (#1382)
* Mempak doc

* Format

* Suggested changes

* Further changes
2022-11-16 02:32:07 -05:00
Tharo
6d5287ff12
TwoHeadArena and TwoHeadGfxArena docs (#1349)
* TwoHeadArena and TwoHeadGfxArena docs, ALIGNOF macro

* AllocStart -> AllocHead , AllocEnd -> AllocTail

* Format

* Suggested changes

* Fix

* Further suggested changes
2022-11-13 18:29:50 -05:00
Tharo
c165ed015c
Improvements to Video Interface related functions and data (#1332)
* Improvements to VI related functions

* Fix

* Suggested changes

* Comment enum values

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

* Suggested changes, plus comments in visetspecial.c

* Name gViConfigModeType

* Further suggested changes

* Format

* Fix comment on modeLPN2

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2022-11-13 18:07:27 -05:00
Dragorn421
7453709cc1
Doc speed_meter timers and misc. low-ish level stuff (#1364)
* Misc docs (somewhat lower level)

* Run formatter

* Simplify comment

* `a = a +` -> `a +=` with pad removal

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* `isPreNMIStateRunning` -> `inPreNMIState`

* line breaks

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
2022-10-29 16:44:27 -04:00
fig02
26d6028ff1
Rename scene lists (#1344)
* first pass

* revert unwanted zap change

* review

* name Actor_InitContext, change arg name

* change bzero to use type
2022-10-16 18:00:18 -04:00
Tharo
0b38f6e678
gbi.h and ucode_disas.c cleanups (#1267)
* Merge GfxMod and Gfx, various ucode_disas improvements, gdSPDefMtx, gbi.h formatting improvements

* Suggested changes

* Further suggested changes

* Fix matrix

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Formatting changes

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Clarify Gnoop callback

* the thing

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Switch spaces, uintptr

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-10-15 17:14:35 -04:00
fig02
fd24ad6e67
Document elf_message scripting system (#1398)
* `cUpElfMsgs` -> `cUpMsgs`

Motivation:
ElfMessage is the name of the system that handles c-up messages from navi, but also messages from child/adult saria
so it would make sense to name this after the system name like "ElfMsg"
but "cUpElf" primarily reads like (to me) "c up navi" since the actor implementing navi is EnElf

I think it'd be better to clear that confusion between "navi" and "elfmsg system" by just not using "elf" in the name

* Standardize c-up navi messages ElfMessage data to be named after "CUp"

* -> "Navi"

* Make symbols in `elf_message_` segments static

* new docs

* change commands, format

* introduce navi file id

* use enum

* remove concat

* add clarifying comment for skip

* concat cmd type

* Hints -> QuestHint

* rename command header

* s -> g

* missed enum name

* singular

* missed one

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-10-15 13:24:13 -04:00