1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-11 03:39:59 +00:00
oot/include/variables.h
petrie911 6ce382bc8d
Morpha (ovl_Boss_Mo) (#438)
* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* it begins

* more functions

* another match

* starting documentation

* the big function works. also two more matches

* small fix

* data cleanup

* removed .s

* match with player

* inching closer to matching

* two more matches. almost there

* OH MY GOD IT MATCHES

* cleanup: part 1 of infinity

* named a bunch of stuff

* Naming particle fields

* terminal commas

* terminal commas

* small enum fix

* added description of droplet widths

* merge

* updating

* Gfx

* vt

* xml

* bgcheck

* more on objects

* unused stuff

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "44f5d7cb9"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "44f5d7cb9"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "6f874af4a"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "6f874af4a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* object names

* fixes

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "6f874af4a"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "6f874af4a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "0305ec2c2"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "0305ec2c2"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* ZAPD works

* .s

* merge

* starting work

* more stuff

* builds OK

* first pass

* PR fixes (Louis)

* Bg_toki_hikari all functions matching (#781)

* starting toki_hikari

* func_808BA018 matched and some work on other func

* init and draw matched, one to go

* matched final function, removed ASM, updated spec

* adding suggested changes

* Volvagia (ovl_Boss_Fd) and related actors (#352)

* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* Lots of functions matched. Some big ones are close.

* Five left unmatched, one close.

* Merged data and decompiled the giant function into something readable. Its branch structure has yet to be matched.

* Three unmatched, one essentially matched, the rest matched.

* More fixes.

* Documented more of the structure and cleaned up a bit.

* BossFd2, BgVbSima, and EnVbBall matched and documented

* Also removed unneeded .s files

* And need to name EnVbBall's functions

* give this a shot

* fix conflict

* one more try

* removing darkmeiro changes

* and again

* now OK from make clean

* minor cleanup

* One more matching function for BossFd

* which means it doesn't need its .s

* splitting

* splitting

* splitting

* forgot some .s

* fancy new names

* fancy new names

* trying again

* sneaky .s files

* sound effects and some hex to decimal conversions

* Sound effects and static variable cleanup

* format.sh and clean up static variables

* sfx and formatting

* ZAP and cleanup

* small cleanup

* cleanup and ZAP

* ZAP

* looking at the giant function again

* looking at the giant function again

* Only the big function left.

* Those .s files aren't mine, officer

* float literals might be fixed. regalloc still a nightmare

* almost done with the big function

* should make now

* not much of a change

* all functions match. rodata somehow doesn't.

* forgot some things

* lots of cleanup

* and a little more

* small error

* large cleanup. Also BossFd has function names and inlined variable declarations

* still more cleanup

* the quest for 0.1f continues

* forgot to put NON_MATCHING back in

* Data structures fully documented. Still more cleanup.

* DECR now works with BossFd2

* should match now

* cleanup

* small cleanup

* cleanup and names

* tiny thing

* particles and headers and stuff

* now with more enums

* merge

* test

* end test

* update

* cleanup

* object 2

* object 1

* doc object_fd2

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "6f874af4a"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "6f874af4a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* formatting

* .s

* merge actor

* vertex arrays

* a little more

* formatting

* merge opd

* fixed damage check

* cleanup

* fixes

* effect struct

* review

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: fig02 <fig02srl@gmail.com>

* fix mistake in z_bg_hidan_hamstep (#771)

if you're just going to close this pr just wait a week and review it then.

* ovl_En_River_Sound 1 non-matching (#786)

* ovl_En_River_Sound

* Implement review suggestions, run through clang-format

* Responding to PR comments

* Use CHECK_QUEST_ITEM, run through clang-tidy.

* EnTp, 1 nonmatching, and object_tp (#782)

* Data imported, 8 easy functions matched

* Init only remaining nonmatching, data in

* some renaming & fiddling with Init, still nonmatching

* fix colours

* Init still not matching

* Decompile object_tp

* renames

* Rename func_80B20DE0

* Horrible new idea

* Known equivalent, docs next

* Another attempt

* Finished naming in object_tp

* Named functions, more enums

* DrawBridge -> Drawbridge

* skulltulla -> Skulltula

* Name almost all struct variables

* Named most of the temps

* delete asm

* spec

* Missed data file, whoops

* Review

* More review changes

* cleanup en_dha (#787)

* Set __FILE__ in asm_processor (#793)

* Set __FILE__ in asm_processor

* bss fix

* Update to upstream version

Co-authored-by: zelda2774 <zelda2774@invalid>

* ovl_Efc_Erupc OK (#773)

* a few good dead Gfx_TwoTexScrolls

* EfcErupc OK, mostly documented

* review

* remove fake match

Co-authored-by: Fig02 <fig02srl@gmail.com>

* z_bg_mizu_movebg and object_mizu_objects (#747)

* OK a few functions

* BgMizuMovebg_Draw OK, make tweaks to bg_mizu_bwall

* migrate data

* create mizu_objects, defines for water temple water level

* clean up some code

* implement most suggestions

* review

* review2

* formatting

Co-authored-by: Fig02 <fig02srl@gmail.com>

* Document BodyBreak (en_part, body part spawner) (#797)

* done

* status defines

* whoops

* comment wording

* size calc change

* elseif

* Improve the format in z_map_mark_data.c and cleanup mapmark.py (#798)

* Cleanup mapmark.py script

* Rename map mark defines

* Remove unused entries from map_mark_data

* `assert` macro OK (#755)

* create assert macro and replace a bunch of __assert

Signed-off-by: angie <angheloalf95@gmail.com>

* Another bunch of assert

Signed-off-by: angie <angheloalf95@gmail.com>

* more assert

Signed-off-by: angie <angheloalf95@gmail.com>

* assert(false)

Signed-off-by: angie <angheloalf95@gmail.com>

* last assert used in matching code

Signed-off-by: angie <angheloalf95@gmail.com>

* the non-matchings

Signed-off-by: angie <angheloalf95@gmail.com>

* typo

Signed-off-by: angie <angheloalf95@gmail.com>

* format

Signed-off-by: angie <angheloalf95@gmail.com>

* change macro to uppercase

Signed-off-by: angie <angheloalf95@gmail.com>

* Apply suggestions from code review

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

* Change ASSERT(false) to ASSERT(0)

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

* General object cleanup (#799)

* Object cleanup

* Fix running man

* fix mm symbols

* Updated to use latest version of ZAPD (#777)

* Updated config file

* Added missing files

* Temporarily removed asm_processor changes.

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "96ffc1e62"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "96ffc1e62"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "179af7d11"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "179af7d11"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Cleanup and fixes.

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "50ad2fe78"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "50ad2fe78"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Makefile fix

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "b9120803e"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "b9120803e"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>

* Decompile `object_zo` 🐬 (#794)

* Initial xml

* most of in-code references

* Add limbs and evrything else

* Functions used by EnRiverSound

* Fix forearm and use void* for textures

* Run formatter

* Change Hints in scene's XMLs (#800)

* Remove blobhint

* Add segments and offsets, and remove most hints

* Change PathHint to Path

* Add missing final new lines in scenes xmls

* finished object_skb (#790)

* finished object_skb

* neglected the limbs and dlists, so I added them

* adding the textures

* fixing some names

* ....forgot to change the c file....

* hopefully fixed formatting issue

* EnFish, OK and documented (#795)

* Matching

* Some naming

* spec

* Name another function

* Name animations, clarify use of GI_MAX and GI_NONE

* Documented bottle range functions

* Simplify squared distance function in EnIceHono, actor descriptions

* Functions for dropped fish

* More naming

* Change 65535.5f to (0xFFFF + 0.5f)

* Change 65535.5f to (0xFFFF + 0.5f)

* name phases

* Named other types, Docile functions

* Naming complete

* delete asm

* format, remove outdated comment

* Fix a few DrawFlexOpa arguments

* Review changes

* Change back to original playSound

* Function comments per review

* Update asm-processor and add make dependencies for global asm and early includes (#801)

* Update asm-processor to latest master

* Add make dependencies for global asm and early includes

* Update asm-processor to latest master

* Decompile the pause menu aka. ovl_kaleido_scope (+ minor changes) (#803)

* Decompile ovl_kaleido_scope + minor cleanups

* Add a common header for ovl_kaleido_scope

* Start cleaning up and documenting kaleido_scope (+ some interface docs)

* Improve and fix some kaleido_scope non matchings

* Match KaleidoSetup_Init

* Extract icon_item_fra/ger_static files

* Add more documentation and matches to kaleido_scope

* Improve the z_kaleido_collect.c non matching

* Rename z_kaleido_8081EFF0.c to z_kaleido_prompt.c

* Update most kaleido variables to be static

* Improve GS flag macros

* Improve z_lmap_mark.c and extract z_lmap_mark_data.c with a script

* Various minor fixes and improvements

* Minor fixes and review changes

* Review changes part 2

* Rename gSetTileCustom to gDPSetTileCustom

* Review changes part 3

* Delete `-j` from `make setup` and document use of `-jN` and `-j` in readme (#804)

* Add nproc to make setup

* Add cross-platform nproc equivalents

* Scrap that, just ditch -j in makefile altogether

* Clarified thread advice

* ViMode progress (#802)

* ViMode OK

* Fix variable name in regconvert tool

* ViMode: fix formatting

* Add nonmatching impl for ViMode_Configure, respond to PR

- Fixed struct field naming (unkXX -> unk_XX)
- ViMode_Configure args are not flags for top/left etc; seem to be for
    video mode
- Used @Random06457's implementation of `ViMode_LogPrint`

* Use plain LOG_ADDRESS in ViMode_LogPrint

* Incorporate PR feedback from Roman971

* Add scene macros (#792)

* add scene macros

* SCENECMD -> SCENE_CMD

* light renaming

* SCENE_CMD_ROOM_BEHAVIOR

* update params names

* Remove extra spaces

* More review changes by fig

* remove MM cmd ids

* more review changes

* last minute edit

* I keep confusing both lights commands

* Review changes

* Yet another cutscene change

* Unused02 is unused

* Add UNK_09 macro and other minor fixes (#813)

(cherry picked from commit d3a6d4d2e1)

* Match BossFd_Fly (ovl_Boss_Fd OK) (#807)

* Simplify PNGs rules in the makefile (#814)

* simplify rules

* update `-eh`

* Add every unreserved object in an automated way (#805)

* it's crashing

* fix stuff

* fix xmls

* problematic objects

* fix tabs

* Fix suffixes

* add missing new lines

* Add comments to the problematic objects

* Find and replace fixes

* Add Fig's objects

* I forgot to add a Name in a cutscene, so I'm adding it here

* Update object decomp tutorial a little bit

* Update problematic objects

* Update docs/tutorial/object_decomp.md

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

* Change comments

* comment out a few blobs

* dammit tluts

* Change a bunch of objects

* update the last bunch

* update comments on  oA11 and oB2

* Ninja-edit to fix compatibility with ZAPD's PR 142

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

* Add clean assets (#785)

* makefile change

* also delete

* Add cleantools

* rename cleanassets and assetclean

* add rules to PHONY in makefile

* Remove toolsclean

* object_hata OK (#806)

* everything except limbs

* spec

* object_hata OK

* Replace symbols, unused data, enums, some cleanup

* Fix compiler warnings in EnRiverSound

* Address Roman's review

* Correct limbs name

* Changed unk_192 to timer, as well as add missing trailing comma for formating (#817)

* Remove some unused duplicated C files (#818)

* Removes qemu from the README.md (#819)

* Removes qemu from the README.md

* Increments the step references in other parts of the README.md

* Update README.md

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

* Update README.md

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

* Update README.md

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

* Update README.md

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

* Match EnSkb_PostLimbDraw (obl_en_skb OK) (#821)

* Small bgcheck documentation pass (#816)

* implement some documentation

* remove unnecessary comments related to decomp

* eliminate comment function prototypes

* Add `actorfixer.py` ~~and `graphovl.py`~~; and a few improvements to `extract_assets.py` (#783)

* Only process touched files and abort the extraction if one file wasn't extracted properly

Signed-off-by: angie <angheloalf95@gmail.com>

* add actorfixer and graphovl

Signed-off-by: angie <angheloalf95@gmail.com>

* Re set execution permisions to diff.py

Signed-off-by: angie <angheloalf95@gmail.com>

* Add graphs/ to gitignore

Signed-off-by: angie <angheloalf95@gmail.com>

* Add looners flag to graphovl

Signed-off-by: angie <angheloalf95@gmail.com>

* Parse macros

Signed-off-by: angie <angheloalf95@gmail.com>

* cleanup

Signed-off-by: angie <angheloalf95@gmail.com>

* Add enum parser to graphovl

Signed-off-by: angie <angheloalf95@gmail.com>

* Remove redundant code

Signed-off-by: angie <angheloalf95@gmail.com>

* cleanup

Signed-off-by: angie <angheloalf95@gmail.com>

* Custom colors to graphovl!

* Select multiples styles for graphovl

* Add solarized light style

* Add renames of #796

* Add unaccounted warning flag

* remove graphovl

* git subrepo clone https://github.com/AngheloAlf/graphovl.git tools/graphovl

subrepo:
  subdir:   "tools/graphovl"
  merged:   "577e71592"
upstream:
  origin:   "https://github.com/AngheloAlf/graphovl.git"
  branch:   "master"
  commit:   "577e71592"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* remove graphovl

* Add `graphovl/` to gitignore

* Label a bug in Door_Shutter (#810)

* comment

* Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c

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

* Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c

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

* Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c

Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>

* change message

* typo

* repeated myself

* extra space lmao

* change wording again

* Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c

* indent

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

* en_weather_tag Quick documentation pass (#808)

* Quick documentation pass

* Fill out the En_Weather_Tag enum

* move the enum into the header

* implement roman's suggestion

* object_sa OK (#789)

* object_sa OK

* PR fixes (AngheloAlf)

* PR fixes (Roman)

* Improve z_jpeg documentation (#825)

* Improve z_jpeg documentation

* JpegWork::data is probably better than address

* Rename Jpeg_SendTask to Jpeg_ScheduleDecoderTask

* Rename njpegUCode to gJpegUCode

* Rename GetU16 to GetUnalignedU16 and improve docs

* Decompile a bunch of objects (#603)

* Mostly done but shifted

* still messed up

* Almost OK

* OBJECT_JYA_OBJ OK, OBJECT_GR OK

* Done

* Merge master and format

* Cleanup

* Cleanup 2

* Start object MB dont merge yet

* Object_MB OK

* Object_ydan_objects OK

* General 'ydan' actor cleanup

* Forgot some small things

* Object_EC OK

* add .gitkeep and run format

* Object_sd OK but no textures cause of a zap issue

* PR fixes

* Fix object_sd

* fix ydan

* delete .gitkeep files

* OBJECT_BOX as far as it can go with current ZAP

* Fix undefined_syms

* Start child link object

* Push progress, dont merge yet

* Object_mori_objects OK

* Fixed?

* Fix conflicts again

* Seems like i missed some textures

* Extract data for BgBombwall

* More field

* ZAP YEP 2.0

* Object_Box OK

* Object_SD ok.  Ready to merge

* remove ASM and merge master

* remove ASM

* remove files wrongfully added to docs/

* Almost done

* Change comment in z_player_lib.c

* forgot some DLists in player_lib.c

* Fix conflict, run format

* Same as before but this time with Tex and TLUT

* Last few things

* fix object_GR and add limbs to object_sd

* Nane -> Name

* gChildDekuShieldMtx is now a matrix and not a blob

* PR fixes (Fig)

* add a space for comment in z_player_lib.c

* re push and new lines

* PR fixes (AngheloAlf)

* PR fixes (Roman)

* Fix Heishi2

* PR fixes (Fig)

* Replace spacing in a file

* PR fixes (Roman)

* Track XML extraction time (#826)

* extracted-assets.json

* delete `.extracted-assets.json` in distclean

* Move `rm .extracted-assets.json` to `assetclean`

* Outname -> OutName for OBJECT_LINK_CHILD (#827)

* Outname -> OutName

* ANother child fix

* TLUT -> tlut

* Change nanoseconds to seconds in extract_assets.py (#829)

* Match 2 more functions in z_eff_blure.c (#831)

* Match ViMode_Configure (z_vimode.c OK) (#830)

* warnings fixed (#835)

* ZAPD update: libpng, zroom improvements and others (#811)

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "769f5702a"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "769f5702a"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Add `libpng` to readme

* Remove `-ifp` since it doesn't exists anymore in ZAPD

* Remove extra print I added

* Add UNK_09 macro and other minor fixes

* Simplify PNG rules

* simplify gitignore

* Update README.md

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

* Update dockerfile

* basic instructions for cygwin and mac

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "86160be69"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "86160be69"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Change nanoseconds to seconds in extract_assets.py

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

* "Decompile" more objects. (#784)

* Object_hakach_objects OK and fix a warning in z_play.c

* Object Warp1 OK

* Object_spot16_obj OK

* object_cs Skeleton and limbs OK

* Limbs are broken

* Limbs OK

* Object_CS OK

* Object_jya_door OK

* fix errors and add new lines

* PR fixes (AngheloAlf)

* PR fixes (EllipticEllipsis)

* PR fixes (Fig)

* Rename Spot16 and Jya

* GraveYard -> Graveyard

* PR fixes

* -s

* PR fixes

* Object_RU1, Object_MA1, and warp pad objects Decompiled (#828)

* Ruto limbs

* RutoLimb enum

* the enum doesn't go in en_door

* Limb DLists

* Name almost all textures and clean up EnRu1.c

* remove padding

* Name all but 1 animation and remove undefined syms

* Object MA limbs OK

* (MA1)Most textures

* Small renames in EnMa1.c

* Object MA1 OK

* add base object for Mjin

* Mjin OK

* Update object_ma1.xml

* PR fixes (Fig)

* PR fixes

* Missed one

* Update assets/xml/objects/object_ru1.xml

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

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

* En_River_Sound OK (#833)

* match en_river_sound

* remove asm

* some docs

* more docs

* saria song

* review stuff

* z_sram OK (#834)

* match z_sram

* format and remove unused asm, also make some data static

* review comments

* another change

* Match Jpeg_Decode (z_jpeg.c OK) (#839)

* Match EnDaiku_UpdateText (En_Daiku OK) (#841)

* Match 1 of the 2 remaining functions in Bg_Mizu_Movebg (#840)

* Improve Audio_SequencePlayerProcessSequence (#844)

Co-authored-by: zelda2774 <zelda2774@invalid>

* Fix and rename nes_font_static (#753)

* renames

* change digits and control pad names

* Add codepoints, rename blank char 0x7F

* BgGndFiremeiro OK and documented (#850)

* OK, data imported

* Name everything

* Delete asm

* Add struct `LegacyLimb` and rename `AnimationHeader2` for `object_human` (#849)

* Add LegacyLimb and rename AnimationHeader2

* Simplify SkelAnime_GetFrameDataLegacy

* Minor fixes

* Move LegacyLimb with the rest of the limbs

* EnVali OK and documented, object_vali and object_bl completely analysed and documented (#845)

* OK

* Some naming

* Name more, correct typo in Biri, extract skel

* just Draws need names, fix typos in bili and warp1

* Decompile object_vali and add symbols

* Few more names

* Bari naming done

* object_bl completed, symbols added

* Label object_bl

* Formatter

* delete asm

* review changes

* review changes

* review

* Interface improvements (#822)

* Add symbols, does NOT build OK

* parameter OK with syms

* Use `static` more and inline arrays

* wip docs

* Start on Interface_Draw, NOT OK yet

* rename variables since interface dev is weird

* nonmatching for now

* kaleido

* Update src/code/z_parameter.c

Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>

* Make most texture rectangles use shifts

* fix symbols for all interface things

* done with interface_draw for now

* Update z_parameter.c

* format files

* fix wrong function calls

* fix bss

* improvements in matching

* remove button enum for now

* (void)0 to fix warning

* make conditional look nicer

* fix

* fix wrong combiner

* Update src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c

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

* format

* remove "HUD" naming

* review suggestions

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

* Migrate .bss for fault drawer and .data for item00 (#823)

* Item00 and fault drawer

* Test

* Test2

* test3

* test4

* remove .data file for item00

* revert hex

* WHY

* PLEASE

* PR fixes (Roman) and run clang-format version 10

* Fault_drawer was swapped ...again)

* Decompile and label EnEiyer (#852)

* En_Eiyer OK

* Label EnEiyer

* Style fixes

* Rename colCyl -> collider

* Use CLAMP_MIN

* Format

* Review changes

* Match Camera_PrintSettings (z_camera OK) (#853)

* Match Camera_PrintSettings

* rm asm

* Match Math3D_LineSegMakePerpLineSeg (#854)

* Match Math3D_LineSegMakePerpLineSeg

Also renamed to Math3D_LineVsLineClosestTwoPoints

* Fix UB

* Some actor.c docs (in preparation for en_test) (#820)

* renames

* format

* format functions.h

* clean

* arg name

* remove asm

* Decompile obj_bean (magic bean and soft soil).  2 NON_MATCHINGs (#846)

* did a bunch

* Do a bunch more

* all functions in C

* Macros for draw and collision part of state flags

* Done for now

* remove ASM

* PR fixes (Elliptic)

* all angles are hex and take away bad names

* PR fixes (Roman)

* PR fixes

* PR fixes (Fig)

* restore map mark

* Fix the other messed with files

* Decompile some more objects (#848)

* Object_FU limbs and skel OK

* limbs OK

* Object_FU textures OK

* Object_FU face textures OK

* Symbols in en_fu.c

* en_fu.c limb enum

* Remove Object_fu from undefined_syms, move textures to draw, and small cleanup

* Object_bird OK

* Object_Bird OK, added cutscene for shot sun, and song of storms

* Rainbow Bridge CS

* Great fairy CS

* Cutscene -> Cs

* remove '&' from Cutscenes

* Cleanup object_bird

* Update z_en_fu.c

* Update z_en_fu.h

* Update z_en_fu.c

* Update z_en_fu.h

* Update z_en_fu.h

* DC intro CS

* Zeldas lullaby CS

* Nabooru Knuckle CS

* Owl Lake Hylia CS

* Sun song CS

* Undefined sym in Boss Dodongo

* Missed a few more

* DC tex name

* Windmill man limbs

* z_En_Ossan and dependencies (#824)

* fix colliderinit typo

* fix initchain

* reloc

* progress

* progress

* Pick off a few easy functions, reduce number of warnings

* more tough OKs

* Getting closer to all OK, fix en_girla header

* some hard OKs, 7 to go

* two funcs remaining

* func_80AC7094 OK!

* Fix warnings, begin documentation

* get most of object_ossan documented, document some of en_ossan

* improve en_girla function names

* more EnOssan documentation

* more documentation

* en_tana basically complete, en_girla vars all named, en_ossan documentation improvements

* delete TIME ITSELF

* object_oF1d_map OK

* more names, fixed a poition typo

* Nearly all en_ossan functions named, all variables named

* format.sh

* forgot to delete data

* implement pr changes

* EnOssan OK! implement most of Roman's suggestions

* ugh

* implement figs suggestions

* implement roman's suggestion

* Can't tell my left from my other left

Co-authored-by: fig02 <fig02srl@gmail.com>

* Some progress on z_vr_box.c (#838)

* z_vr_box.c progress

* Rename dpList to dlistBuf and SKYBOX_CLEAR_SKY to SKYBOX_NORMAL_SKY

* Fix

* renamed dlistBuf to dListBuf and split large string further

* Change PreRenderContext to just be PreRender (#862)

* Decompile Fishing and document object_fish (#856)

* Start decompiling Fishing

* Decompile more functions in Fishing

* Decompile a few more functions in Fishing

* Decompile func_80B6E9E0 and func_80B7825C (non matching)

* Minor Fishing cleanups

* Migrate fishing bss to C and match 3 functions

* Decompile and match Fishing_Update

* Migrate fishing data to C and minor cleanups

* Fix the object_fish xml and use its symbols in Fishing

* Partially document Fishing and object_fish

* Add more documentation/cleanups to Fishing and object_fish

* Use object_fish symbols in Demo_Ec and fix naming

* Minor fixes to Fishing docs

* Apply review suggestions for Fishing

* Apply 2 more review suggestions for Fishing

* Apply some review suggestions for Fishing

* Extract all "place name" title cards (#858)

* Forest and shadow temple

* fire temple

* Water temple

* Spirit temple

* Deku tree

* jabu jabu

* DC

* Inside Ganons castle

* GTG

* Castle courtyard

* great fairy's fountain

* chamber of sages

* shooting gallery

* Temple of time

* market

* back alley

* kokir shop

* goron shop

* zora shop

* House of skulltula

* bazarr

* potion shop

* gravekeepers hut

* lakeside lab

* hyrule field

* kak

* graveyard

* zoras river

* kokiri forest

* lake hylia

* zoras domain

* zoras fountain

* gerudo valley

* lost woods

* the rest of them

* cleanup

* final cleanup

* PR fixes (Zel)

* (Re) fix case

* segment 0

* Fix map name static conflict

* Comment about ZAPD

* number 0

* Update place_title_cards.xml

* Update spec

* Fix all xmls to explicitly use offsets (#859)

* Forest and shadow temple

* fire temple

* Water temple

* Spirit temple

* Deku tree

* jabu jabu

* DC

* Inside Ganons castle

* GTG

* Castle courtyard

* great fairy's fountain

* chamber of sages

* shooting gallery

* Temple of time

* market

* back alley

* kokir shop

* goron shop

* zora shop

* House of skulltula

* bazarr

* potion shop

* gravekeepers hut

* lakeside lab

* hyrule field

* kak

* graveyard

* zoras river

* kokiri forest

* lake hylia

* zoras domain

* zoras fountain

* gerudo valley

* lost woods

* the rest of them

* cleanup

* final cleanup

* PR fixes (Zel)

* Fra -> FRA and cleanup map_name_static

* map_name_static

* DONE

* SHould be it

* Done done done done

* vector

* remove another pr

* ?

* EnDekubaba OK and documented, object_dekubaba documented (#864)

* 13 functions left, data imported

* 2 left

* 1 left

* OK

* Begin naming

* sfx rename

* spec

* Begin naming, add LINK_IS_CHILD to EnDu

* Fix spelling of its/it's

* Document most of object_dekubaba, import symbols

* Document draw functions, begin on actionfuncs

* New actor function names, some float constants

* Name almost everything

* Delete asm

* Name size, format

* Review changes

* Review changes

* Brackets, format

* Fix Sheik typo (#867)

* db_camera (#842)

* Decompile shrink_window.c

* progress

* progress

* makefile

* progress

* match 8 functions

* 1 more match

* match 2 functions

* decompile func_800B9638

* fix flow

* migrate .bss

* doc

* name some stuff

* fixes

* comment fix

* remove scene .c files

* old z_camera .s files

* revert z_camera change

* revert unwanted z_camera change

* fixes

* remove unused files, run clang-format and fix non-matching

* fix clang-format causing non-matching

* remove newline + old comment in func_800B3BD4

* make db_camera global variables static

* add s prefix to startic variables

* change magic constants

* rename "unk_50"

* Match func_800B3BD4 and Match DbCamera_UpdateDemoControl (-bss)

* Lots of progress on update

* Mainly cleanup

* run format.sh + remove unused asm

* replace chevrons with add quotes

* remove useless cast + use correct empty argument function declaration

Co-authored-by: engineer124 <engineer124engineer124@gmail.com>

* Match Interface_Draw (z_parameter OK) (#876)

* Interface_Draw down to permuter score = 175

* Fix typo

* Matched Interface_Draw!

* clean-up

* Another touch-up

* a little more cleanup

* No more direct gGameInfo->data access

* Audio WIP (#836)

* being code_800EC960

* wip

* wip

* more audio progress

* migrate data in code_800E11F0

* wip

* make ok

* remove asm

* wip

* move some variables outside of gAudioContext to the AudioContext structure due to the size used in func_800E3094

* more progress

* wip

* wip

* split code_800E11F0

* migrate rodata in code_800E11F0

* match functions that couldn't because of data issues

* move code_800E4FE0 asm files

* wip

* more wip

* fix global functions, and forward declarations

* wip

* wip

* wip

* ocarina wip

* match a couple functions

* some progress

* separate some bss

* match func_800EDA3C

* some matching

* more matches

* migrate audio rodata

* some matches

* more matchess

* start on synthesis

* work on synthesis

* fix function declaration

* Merge branch 'master' into audio

* match a few more functions

* wip

* wip

* more matching, rename Audio_SetBGM to Audio_QueueSeqCmd

* name several audio functions, and audiocontext members

* more naming, rename code_800E11F0 to audio_load, code_800DAAC0 to audio_synthesis

* audio wip

* match a few more functions.

* wip

* add missing NON_MATCHING directive

* wip

* some matching, data reogranization

* match cursed function

* wip

* wip

* formatting

* remove prefix from struct memebers

* missed function rename

* review

Co-authored-by: fig02 <fig02srl@gmail.com>

* ZAPD update: Gotta go fast! (#877)

* copy over the xml

* Rename anims

* A bunch of renames

* minor extract_assets fixes

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "820678b4e"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "820678b4e"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Change rgb5a1 to rgba16

* eye and eyebrows

* some dlists

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "6be9af65d"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "6be9af65d"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Dancing Couple (ovl_En_Tg) (#866)

* Match EnTg_Destroy

* Match EnTg_Init

* Matching EnTg_Update

* Match func_80B18360

Moving both 'return phi;'s into a single return at the end of the function causes the assembly to not match.

* Probably equivalent, non-matching func_80B183F8

* Matching EnTg_Draw

* Matching update function

* Matching func_80B18778

* All functions decompiled

* Move data to C code

* All functions matched excepted weird switch/case

* Last matching function

* Remove unused ASM

* Name obvious symbols

* Clang format

* Name text-related functions and variables

* Describe actor as Dancing Couple

See https://github.com/zeldaret/oot/pull/866#discussion_r664726581

* Use named constants

* Name drawing constants

* Use THIS macro for void*

* Name the function that sets environment color

* Add comments to parts of code that aren't clear

* Rename timesSpokenTo to nextDialogue, treat isTalking as boolean

* z_en_ko OK (#869)

* .data OK

* Progress

* push some old stuff

* Finish a chain

* Progress

* Progress

* Run mathfixer.py

* Progress

* match one more

* Up to date

* Match func_80A97610

* func_80A96FD0

* most of the way through the mega switch

* small formatting thing. still stuck on the switch

* start a big switch function

* a little closer

* done with matching for now starting objects

* func_80A97738 OK!

* func_80A995CC OK!

* func_80A99864 OK!

* en_ko OK!

* Code clean-up pass

* more EnKo cleanups, object_fa and object_kw1 textures documented

* complete object_km1, more EnKo documentation

* More documentation

* delete asm

* Clean-up rebase issues

* bleh

* Implement Dragorn's suggestions

* fix spec, implement fig's suggestions

* whoops (ill leave it for the docs tho lol)

* whoops again

* i made an ouchie

* smile

* last one for real

Co-authored-by: Louis <35883445+louist103@users.noreply.github.com>
Co-authored-by: fig02 <fig02srl@gmail.com>

* z_en_bigokuta OK (#878)

* start

* Did some more

* Progress

* More

* IDK

* Chip away a little

* im done

* func_809BEBBC OK!

* get rid of graphovl

* revert random changes

* Big Okuta OK!

* more clean-ups

* implement dragorn's suggestions

* implement fig and louist's suggestions

Co-authored-by: Louis <35883445+louist103@users.noreply.github.com>

* z_obj_mure OK (#875)

* almost matching init, matching data

* more matchings, some non-matching progress

* finishing up SpawnActor, fixing .data types

* first decompile pass done, few non matchings

* cleanup/update matchings and remove asm

* format code

* pick up some OKs

* 1 non_matching left, some documentation

* z_obj_mure OK... but at what cost?

* implement suggested changes, some more documentation

* Implement Fig's suggestions

* review

Co-authored-by: Sam Lyon <sam.c.lyon@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>

* convert remaining RGB5a1 to RGBA16 (#879)

* Stalfos (en_test) OK and object_sk2 documented (#868)

* fix colliderinit typo

* migrate data

* init has 1 problem

* progress

* progress

* builds now

* progress

* progress

* lots of funcs matched

* many functions, fix warnings

* 1 left

* done

* docs progress

* remove graphovl

* missed some

* change some funcs

* some more

* another

* format

* more docs

* cleanups1

* limbs, DLs, textures

* limbs named (thanks elliptic)

* more docs

* Name animations, import symbols

* Named sections of xml

* more docs

* rename limbs and use flag macros

* name

* review1 and use limb enum

* review2

* agro -> aggro

* review3

* review4

* review5

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

* Use a temp symbol for RomStart/RomEnd symbols, makes the map show the right value for actual RomStart/RomEnd symbols (#880)

* builds OK

* first pass

* PR fixes (Louis)

* fixes

* a little more

* format

* dragorn's stuff

* more cleanup, merge, and format

* now with work buffers

* forgot sfx

* update and draw

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Louis <35883445+louist103@users.noreply.github.com>
Co-authored-by: Parker Burnett <burnettparker@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: glankk <glankk@users.noreply.github.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com>
Co-authored-by: zelda2774 <zelda2774@invalid>
Co-authored-by: mzxrules <mzxrules@gmail.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Nicholas Estelami <NEstelami@users.noreply.github.com>
Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
Co-authored-by: Zach Banks <zjbanks@gmail.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>
Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
Co-authored-by: Vijfhoek <me@vijf.life>
Co-authored-by: Synray <31429825+Synray@users.noreply.github.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
Co-authored-by: krimtonz <33664508+krimtonz@users.noreply.github.com>
Co-authored-by: Aly Cerruti <aprime2003@gmail.com>
Co-authored-by: Sam Lyon <sam.c.lyon@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-08-08 15:26:56 -04:00

3359 lines
78 KiB
C

#ifndef _VARIABLES_H_
#define _VARIABLES_H_
#include "z64.h"
#include "segment_symbols.h"
extern u32 D_0300AA48;
extern u32 D_03012B20;
extern Gfx D_06025218[];
extern Gfx D_060252D8[];
extern Gfx D_06025438[];
extern Gfx D_06025598[];
extern Gfx D_06025658[];
extern Gfx D_060257B8[];
extern Gfx D_0602A738[];
extern Gfx D_0602CB48[];
//extern ? D_070380D4;
//extern ? D_0703811C;
//extern ? D_80000004;
//extern ? D_80000008;
//extern ? D_8000000C;
//extern ? D_80000010;
//extern ? D_80000020;
extern u32 osTvType;
extern u32 osRomBase;
extern u32 osResetType;
extern u32 osMemSize;
extern u8 osAppNmiBuffer[];
extern u8 D_80009320[];
extern u8 D_800093F0[];
extern s8 D_80009430;
extern u32 D_80009460;
extern u32 gDmaMgrDmaBuffSize;
extern vu8 gViConfigUseDefault;
extern u8 gViConfigAdditionalScanLines;
extern u32 gViConfigFeatures;
extern f32 gViConfigXScale;
extern f32 gViConfigYScale;
extern OSPiHandle* gCartHandle;
extern u32 gCurrentRegion;
extern u32 __osPiAccessQueueEnabled;
extern OSViMode osViModePalLan1;
extern u64 osClockRate;
extern s32 osViClock;
extern u32 __osShutdown;
extern u32 __OSGlobalIntMask;
extern OSThread* __osThreadTail[];
extern OSThread* __osRunQueue;
extern OSThread* __osActiveQueue;
extern OSThread* __osRunningThread;
extern OSThread* __osFaultedThread;
extern OSPiHandle* __osPiTable;
extern OSPiHandle* __osCurrentHandle[];
extern OSTimer* __osTimerList;
extern OSViMode osViModeNtscLan1;
extern OSViMode osViModeMpalLan1;
extern OSViContext* __osViCurr;
extern OSViContext* __osViNext;
extern OSViMode osViModeFpalLan1;
extern u32 __additional_scanline;
extern u8 gBuildTeam[];
extern u8 gBuildDate[];
extern u8 gBuildMakeOption[];
extern OSMesgQueue gPiMgrCmdQ;
extern OSViMode gViConfigMode;
extern u8 D_80013960;
extern OSMesg piAccessBuf;
extern OSMesgQueue __osPiAccessQueue;
extern OSPiHandle __Dom1SpeedParam;
extern OSPiHandle __Dom2SpeedParam;
extern OSThread __osThreadSave;
extern OSTimer __osBaseTimer;
extern OSTime __osCurrentTime;
extern u32 __osBaseCounter;
extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
extern OSPiHandle __CartRomHandle;
extern DmaEntry gDmaDataTable[0x60C];
//extern ? D_800D7288;
extern u8 D_801120C0[];
extern u8 D_80113070[];
extern u64 gJpegUCode[];
//extern ? D_80115440;
//extern ? D_80115760;
//extern ? D_80115770;
//extern ? D_8011578C;
//extern ? D_8011579C;
//extern ? D_801157AC;
//extern ? D_801157BC;
//extern ? D_801157CC;
//extern ? D_801157DC;
//extern ? D_801157EC;
//extern ? D_801157FC;
//extern ? D_801158C0;
//extern ? D_801158CC;
//extern ? D_801158D0;
//extern ? D_801158D4;
//extern ? D_801158D8;
//extern ? D_801158DC;
//extern ? D_801158E0;
//extern ? D_801158E4;
//extern ? D_801158E8;
//extern ? D_801158EC;
//extern ? D_801158F0;
//extern ? D_801158F4;
//extern ? D_801158F8;
//extern ? D_801158FC;
//extern ? D_80115908;
//extern ? D_80115914;
//extern ? D_80115920;
//extern ? D_8011592C;
//extern ? D_801159A4;
//extern ? D_801159A5;
//extern ? D_801159A6;
//extern ? D_801159A8;
//extern ? D_801159A9;
//extern ? D_801159AA;
extern EffectSsOverlay gEffectSsOverlayTable[EFFECT_SS_TYPE_MAX];
extern Gfx D_80116280[];
extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; // original name: "actor_dlftbls" 801162A0
extern s32 gMaxActorId; // original name: "MaxProfile"
//extern ? D_80119E2C;
//extern ? D_80119E52;
//extern ? D_80119E54;
//extern ? D_80119E94;
//extern ? D_80119EAC;
extern s32 gDbgCamEnabled;
//extern ? D_8011DB20;
//extern ? D_8011DE00;
//extern ? D_8011DE18;
//extern ? D_8011DE20;
//extern ? D_8011DE2C;
//extern ? D_8011DE54;
//extern ? D_8011DE6C;
//extern ? D_8011DE78;
//extern ? D_8011DEAC;
//extern ? D_8011DEEC;
//extern ? D_8011DF5C;
//extern ? D_8011DF6C;
//extern ? D_8011DFAC;
//extern ? D_8011DFEC;
//extern ? D_8011E008;
//extern ? D_8011E028;
//extern ? D_8011E02A;
//extern ? D_8011E02C;
//extern ? D_8011E02E;
//extern ? D_8011E056;
//extern ? D_8011E058;
//extern ? D_8011E05A;
//extern ? D_8011E068;
//extern ? D_8011E06A;
//extern ? D_8011E06C;
//extern ? D_8011E06E;
//extern ? D_8011E096;
//extern ? D_8011E098;
//extern ? D_8011E09A;
extern s16 D_8011E0B0;
//extern ? D_8011E0D4;
extern GameStateOverlay gGameStateOverlayTable[6];
//extern ? D_8011FAF0;
extern u8 D_8011FB30;
extern u8 D_8011FB34;
extern u8 D_8011FB38;
extern u8 D_8011FB3C;
extern u16 D_8011FB40;
//extern ? D_8011FB44;
//extern ? D_8011FB48;
//extern ? D_8011FC1C;
//extern ? D_8011FD3C;
//extern ? D_8011FDCC;
//extern ? D_8011FDD0;
//extern ? D_8011FE00;
//extern ? D_8011FE20;
//extern ? D_8011FE48;
//extern ? D_8011FE70;
//extern ? D_8011FE7C;
//extern ? D_8011FE88;
//extern ? D_8011FE94;
//extern ? D_8011FEC4;
//extern ? D_8011FED0;
extern s32 gZeldaArenaLogSeverity;
extern MapData gMapDataTable;
extern s16 gSpoilingItems[3];
extern s16 gSpoilingItemReverts[3];
extern FlexSkeletonHeader* gPlayerSkelHeaders[2];
extern u8 gPlayerModelTypes[][5];
extern Gfx* D_80125D68[];
extern Gfx* D_80125DE8[];
extern Gfx* D_80125E08[];
extern Gfx* D_80125E18[];
extern Gfx* D_80125E58[];
extern Gfx* D_80125EF8[];
extern Gfx gCullBackDList[];
extern Gfx gCullFrontDList[];
extern Gfx gEmptyDL[];
extern u32 gBitFlags[32];
extern u16 gEquipMasks[4];
extern u16 gEquipNegMasks[4];
extern u32 gUpgradeMasks[8];
extern u32 gUpgradeNegMasks[8];
extern u8 gEquipShifts[4];
extern u8 gUpgradeShifts[8];
extern u16 gUpgradeCapacities[8][4];
extern u32 gGsFlagsMask[4];
extern u32 gGsFlagsShift[4];
extern void* gItemIcons[0x82];
extern u8 gItemSlots[56];
extern void (*gSceneCmdHandlers[26])(GlobalContext*, SceneCmd*);
extern s16 gLinkObjectIds[2];
extern u32 gObjectTableSize;
extern RomFile gObjectTable[OBJECT_ID_MAX];
extern EntranceInfo gEntranceTable[1556];
extern Scene gSceneTable[SCENE_ID_MAX];
//extern ? D_8012A4A0;
extern u16 gSramSlotOffsets[];
//extern ? D_8012A690;
//extern ? D_8012A69C;
//extern ? D_8012A6A4;
//extern ? D_8012A704;
//extern ? D_8012A71C;
extern u8 gLetterTLUT[4][32]; // original name: "moji_tlut"
extern u8 gFontFF[]; // original name: "font_ff"
//extern ? D_8012AC90;
//extern ? D_8012ACA0;
//extern ? D_8012AD20;
//extern ? D_8012AD2C;
//extern ? D_8012AD40;
//extern ? D_8012ADC0;
//extern ? D_8012ADD8;
//extern ? D_8012AE18;
//extern ? D_8012AE24;
//extern ? D_8012AE30;
//extern ? D_8012AE3C;
//extern ? D_8012AEBC;
//extern ? D_8012AF0C;
//extern ? D_8012B000;
//extern ? D_8012B030;
//extern ? D_8012B060;
//extern ? D_8012BA90;
//extern ? D_8012BBA8;
//extern ? D_8012BFA8;
//extern ? D_8012C3A8;
//extern ? D_8012C7A8;
//extern ? D_8012CDC8;
//extern ? D_8012CEA0;
//extern ? D_8012CEE0;
//extern ? D_8012CEE4;
//extern ? D_8012CEE8;
//extern ? D_8012CEEC;
//extern ? D_8012CEF0;
//extern ? D_8012CEF4;
//extern ? D_8012CEF8;
//extern ? D_8012CF04;
//extern ? D_8012CF08;
//extern ? D_8012CF0C;
//extern ? D_8012CF10;
//extern ? D_8012CF14;
//extern ? D_8012CF18;
//extern ? D_8012CF24;
//extern ? D_8012CF30;
//extern ? D_8012CF34;
//extern ? D_8012CF38;
//extern ? D_8012CF3C;
//extern ? D_8012CF40;
//extern ? D_8012CF44;
//extern ? D_8012CF48;
//extern ? D_8012CF4C;
//extern ? D_8012CF50;
//extern ? D_8012CF60;
//extern ? D_8012CF64;
//extern ? D_8012CF68;
//extern ? D_8012CF6C;
//extern ? D_8012CF70;
//extern ? D_8012CF74;
//extern ? D_8012CF78;
//extern ? D_8012CF7C;
//extern ? D_8012CF80;
//extern ? D_8012CF84;
//extern ? D_8012CF88;
//extern ? D_8012CF94;
//extern ? D_8012CF98;
//extern ? D_8012CF9C;
//extern ? D_8012CFA4;
//extern ? D_8012CFA8;
//extern ? D_8012CFAC;
//extern ? D_8012CFB0;
//extern ? D_8012CFB4;
//extern ? D_8012CFC4;
//extern ? D_8012CFD0;
//extern ? D_8012CFE4;
//extern ? D_8012CFF8;
//extern ? D_8012D00C;
//extern ? D_8012D020;
//extern ? D_8012D034;
//extern ? D_8012D05C;
//extern ? D_8012D070;
//extern ? D_8012D084;
//extern ? D_8012D0AC;
//extern ? D_8012D0C0;
//extern ? D_8012D0D4;
//extern ? D_8012D0E4;
//extern ? D_8012D0F8;
//extern ? D_8012D103;
//extern ? D_8012D10C;
//extern ? D_8012D110;
//extern ? D_8012D114;
//extern ? D_8012D128;
//extern ? D_8012D13C;
//extern ? D_8012D14C;
//extern ? sDbCameraColors;
//extern ? D_8012D170;
//extern ? D_8012D172;
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[KALEIDO_OVL_MAX];
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
extern u8 gBossMarkState;
extern void* D_8012D1F0;
//extern ? D_8012D200;
//extern ? D_8012D207;
//extern ? D_8012D210;
//extern ? D_8012D230;
//extern ? D_8012D248;
//extern ? D_8012D260;
//extern ? D_8012D264;
extern s32 gScreenWidth;
extern s32 gScreenHeight;
extern u32 gSystemHeapSize;
extern Mtx gMtxClear;
extern MtxF gMtxFClear;
extern u8 D_8012DBB0;
extern u32 D_8012DBC0;
extern vu32 gIrqMgrResetStatus;
extern volatile OSTime gIrqMgrRetraceTime;
extern s32 gDebugArenaLogSeverity;
//extern ? sUCodeDisasGeometryModes;
//extern ? sUCodeDisasMtxFlags;
//extern ? sUCodeDisasRenderModeFlags;
//extern ? D_8012DDDC;
//extern ? sUCodeDisasModeHMacros;
//extern ? sUCodeDisasModeLMacros;
extern s16* gWaveSamples[9];
extern f32 gPitchBendFrequencyScale[256];
//extern ? D_8012F098;
//extern ? D_8012F0B0;
extern f32 D_8012F4B4[256];
extern f32 gNoteFrequencies[];
extern u8 gDefaultShortNoteVelocityTable[16];
extern u8 gDefaultShortNoteDurationTable[16];
extern AdsrEnvelope gDefaultEnvelope[3];
extern NoteSubEu gZeroNoteSub;
extern NoteSubEu gDefaultNoteSub;
extern u16 gHeadsetPanQuantization[0x10];
extern f32 gHeadsetPanVolume[128];
extern f32 gStereoPanVolume[128];
//extern ? D_8012FBAA;
//extern ? D_8012FFFF;
//extern ? D_80130001;
//extern ? D_80130002;
//extern ? D_80130004;
//extern ? D_80130006;
extern f32 gDefaultPanVolume[128];
extern s16 D_80130228[];
extern s16 D_80130328[];
//extern ? D_801304A0;
//extern ? D_801304AC;
//extern ? D_801304C0;
extern s32 gAudioContextInitalized;
//extern ? D_801304E8;
//extern ? D_80130500;
extern f32 D_80130510;
extern s32 D_80130514;
extern u8 D_80130570[8];
extern u8 D_80130578[4][7];
extern u8 D_80130594[4][7];
//extern ? D_801305B0;
//extern ? D_801305B4;
//extern ? D_801305B8;
//extern ? D_801305BC;
//extern ? D_801305C0;
//extern ? D_801305CC;
extern u8 D_801305D0[];
//extern ? D_801305E0;
//extern ? D_801305F4;
//extern ? D_801305FF;
//extern ? D_80130600;
//extern ? D_80130604;
//extern ? D_80130608;
//extern ? D_8013060C;
//extern ? D_80130610;
//extern ? D_80130614;
//extern ? D_80130618;
//extern ? D_8013061C;
//extern ? D_80130624;
//extern ? D_80130628;
//extern ? D_8013062C;
//extern ? D_80130630;
//extern ? D_80130634;
//extern ? D_80130638;
//extern ? D_8013063C;
//extern ? D_80130640;
//extern ? D_80130644;
//extern ? D_80130648;
//extern ? D_8013064C;
//extern ? D_80130650;
//extern ? D_80130654;
//extern ? D_80130658;
//extern ? D_801306DC;
//extern ? sOcarinaAllowedBtnMask;
//extern ? sOcarinaABtnMap;
//extern ? sOcarinaCUPBtnMap;
//extern ? sOcarinaCDownBtnMap;
//extern ? sOcarinaInpEnabled;
//extern ? D_80130F10;
//extern ? sCurOcarinaBtnVal;
//extern ? sPrevOcarinaNoteVal;
//extern ? sCurOcarinaBtnIdx;
//extern ? sLearnSongLastBtn;
//extern ? D_80130F24;
//extern ? D_80130F28;
//extern ? D_80130F2C;
//extern ? D_80130F30;
//extern ? D_80130F34;
//extern ? sPlaybackState;
//extern ? D_80130F3C;
//extern ? D_80130F3E;
//extern ? sNotePlaybackTimer;
//extern ? sPlaybackNotePos;
//extern ? sStaffPlaybackPos;
//extern ? D_80130F4C;
//extern ? sDisplayedNoteValue;
//extern ? sNotePlaybackVolume;
//extern ? sNotePlaybackVibrato;
//extern ? sNotePlaybackTone;
//extern ? sNormalizedNotePlaybackTone;
//extern ? sNormalizedNotePlaybackVolume;
//extern ? D_80130F68;
//extern ? sOcarinaNoteValues;
//extern ? sOcaMinigameApndPos;
//extern ? sOcaMinigameEndPos;
//extern ? sOcarinaSongs;
//extern ? D_80131100;
//extern ? D_8013170C;
//extern ? D_80131840;
extern u8* gFrogsSongPtr; // D_80131854: pointer to a u8 array of the notes you need to play for the frogs
//extern ? D_80131858;
//extern ? sRecordSongPos;
//extern ? D_80131860;
//extern ? D_80131864;
//extern ? D_80131868;
//extern ? D_8013186C;
//extern ? D_80131870;
//extern ? D_80131874;
//extern ? D_80131878;
//extern ? D_8013187C;
//extern ? D_80131880;
//extern ? sPierresSong;
//extern ? D_8013188C;
extern OcarinaSong* gScarecrowCustomSongPtr;
extern u8* gScarecrowSpawnSongPtr;
//extern ? D_80131BEC;
//extern ? D_80131BF0;
extern OcarinaSongInfo gOcarinaSongNotes[];
//extern ? D_80131C80;
//extern ? D_80131C84;
//extern ? D_80131C88;
//extern ? D_80131C90;
//extern ? D_80131C94;
//extern ? D_80131C98;
//extern ? D_80131C9C;
//extern ? D_80131CA0;
//extern ? D_80131CA4;
//extern ? D_80131CA8;
//extern ? D_80131CAC;
//extern ? D_80131E08;
//extern ? D_80131E14;
//extern ? D_80131E20;
//extern ? D_80131E24;
//extern ? D_80131E38;
//extern ? D_80131E43;
//extern ? D_80131E59;
//extern ? D_80131E64;
//extern ? D_80131E6F;
//extern ? D_80131E7A;
//extern ? D_80131E88;
//extern ? D_80131EBC;
//extern ? D_80131EC0;
//extern ? D_80131EC4;
//extern ? D_80131EC8;
//extern ? D_80131ED0;
//extern ? D_80131ED4;
//extern ? D_80131ED8;
//extern ? D_80131EDC;
//extern ? D_80131EE0;
//extern ? D_80131EE4;
//extern ? D_80131EEE;
//extern ? D_80131EFC;
//extern ? D_80131F00;
//extern ? D_80131F04;
//extern ? D_80131F08;
//extern ? D_80131F0C;
//extern ? D_80131F18;
//extern ? D_80131F1C;
//extern ? D_80131F20;
//extern ? D_80131F28;
//extern ? D_80131F2C;
//extern ? D_80131F30;
//extern ? D_80131F44;
//extern ? D_80131F4C;
//extern ? D_80131F50;
//extern ? D_80131F54;
//extern ? D_80131F64;
//extern ? D_80131F68;
//extern ? D_80131F6C;
extern Struct_8013331C *D_8013331C[];
extern u8 D_80133340[4];
//extern ? D_80133344;
extern s32 D_8013338C;
extern UNK_TYPE D_80133390[];
extern UNK_TYPE D_80133398[];
extern u8 D_801333A0;
extern u8 D_801333A4;
extern SoundBankEntry* gSoundBanks[7];
extern u8 sBankSizes[7];
extern u8 D_801333CC;
extern u16 D_801333D0;
extern Vec3f D_801333D4;
extern f32 D_801333E0;
extern s8 D_801333E8;
extern u8 D_801333F0;
extern u8 D_801333F4;
extern u8 D_801333F8;
//extern ? sSeqCmdWrPos;
//extern ? sSeqCmdRdPos;
//extern ? D_80133408;
//extern ? D_8013340C;
//extern ? D_80133414;
//extern ? D_80133418;
extern AudioSessionSettings gAudioSessionPresets[18];
extern s32 gOverlayLogSeverity;
//extern ? D_80134480;
//extern ? D_80134484;
extern s32 gSystemArenaLogSeverity;
//extern ? D_801344C0;
extern u32 gOSSiAccessQueueCreated; // = 0;
extern u32 gOSContInitialized; // = 0
extern s32 __osPfsInodeCacheChannel;
extern u8 __osPfsInodeCacheBank;
extern s32 __osPfsLastChannel;
//extern ? D_80135130;
//extern ? D_80135158;
//extern ? D_801351A8;
//extern ? D_801351BC;
//extern ? D_801351F8;
//extern ? D_8013520C;
//extern ? D_80135220;
//extern ? D_80135230;
//extern ? D_80135244;
//extern ? D_80135264;
//extern ? D_80135278;
//extern ? D_801352B8;
//extern ? D_801352CC;
//extern ? D_801352E0;
//extern ? D_801352F4;
//extern ? D_80135308;
//extern ? D_8013531C;
//extern ? D_80135330;
//extern ? D_80135344;
//extern ? D_80135358;
//extern ? D_801353A4;
//extern ? D_801353B8;
//extern ? D_801353E0;
//extern ? D_801353F4;
//extern ? D_80135418;
//extern ? D_80135450;
//extern ? D_80135458;
//extern ? D_80135494;
//extern ? D_80135498;
//extern ? D_801354B4;
//extern ? D_801354E0;
//extern ? D_80135504;
//extern ? D_80135518;
//extern ? D_80135548;
//extern ? D_8013555C;
//extern ? D_80135594;
//extern ? D_801355C0;
//extern ? D_801355D4;
//extern ? D_801355E8;
//extern ? D_801355FC;
//extern ? D_80135610;
//extern ? D_80135624;
//extern ? D_80135638;
//extern ? D_8013564C;
//extern ? D_80135660;
//extern ? D_80135674;
//extern ? D_80135688;
//extern ? D_8013569C;
//extern ? D_801356C0;
//extern ? D_801356F8;
//extern ? D_8013571C;
//extern ? D_80135730;
//extern ? D_80135750;
//extern ? D_80135780;
//extern ? D_8013579C;
//extern ? D_801357C0;
//extern ? D_801357F8;
//extern ? D_8013581C;
//extern ? D_80135838;
//extern ? D_80135878;
//extern ? D_80135894;
//extern ? D_8013589C;
//extern ? D_80135958;
//extern ? D_8013595C;
//extern ? D_80135964;
//extern ? D_801359AC;
//extern ? D_801359B0;
//extern ? D_80135A4C;
//extern ? D_80135A54;
//extern ? D_80135ADC;
//extern ? D_80135AE8;
//extern ? D_80135BB4;
//extern ? D_80135BBC;
//extern ? D_80135BF4;
//extern ? D_80135C00;
//extern ? D_80135C24;
//extern ? D_80135FD8;
//extern ? D_80135FE8;
//extern ? D_80135FF0;
//extern ? D_80135FF4;
//extern ? D_80136010;
//extern ? D_80136028;
//extern ? D_80136040;
//extern ? D_80136048;
//extern ? D_80136078;
//extern ? D_8013607C;
//extern ? D_80136080;
//extern ? D_80136090;
//extern ? D_801360A0;
//extern ? D_801360B0;
//extern ? D_801360C0;
//extern ? D_801360D0;
//extern ? D_801360E0;
//extern ? D_801360F0;
//extern ? D_80136100;
//extern ? D_80136110;
//extern ? D_80136130;
//extern ? D_80136140;
//extern ? D_80136150;
//extern ? D_80136160;
//extern ? D_80136170;
//extern ? D_80136180;
//extern ? D_80136184;
//extern ? D_801361B8;
extern char D_80136208[];
extern char D_80136218[];
extern char D_80136228[];
extern char D_80136238[];
//extern ? D_8013627C;
//extern ? D_8013628C;
//extern ? D_8013629C;
//extern ? D_801362AC;
//extern ? D_801362BC;
//extern ? D_801362CC;
//extern ? D_801362E4;
//extern ? D_801362F4;
//extern ? D_80136304;
//extern ? D_80136340;
//extern ? D_80136354;
//extern ? D_80136358;
//extern ? D_80136374;
//extern ? D_80136384;
//extern ? D_80136398;
//extern ? D_801363A4;
//extern ? D_801363B4;
//extern ? D_801363C4;
//extern ? D_801363D4;
//extern ? D_801363E4;
//extern ? D_801363F4;
//extern ? D_80136408;
//extern ? D_80136434;
//extern ? D_80136458;
//extern ? D_80136480;
//extern ? D_80136490;
//extern ? D_801364A0;
//extern ? D_801364B4;
//extern ? D_801364C4;
//extern ? D_801364D4;
//extern ? D_801364D8;
//extern ? D_80136508;
//extern ? D_80136518;
//extern ? D_8013653C;
//extern ? D_8013654C;
//extern ? D_8013657C;
//extern ? D_80136598;
//extern ? D_801365BC;
//extern ? D_801365D4;
//extern ? D_801365E4;
//extern ? D_80136610;
//extern ? D_80136614;
//extern ? D_8013662C;
//extern ? D_8013663C;
//extern ? D_80136640;
//extern ? D_8013665C;
//extern ? D_80136684;
//extern ? D_801366A0;
//extern ? D_801366B8;
//extern ? D_801366D8;
//extern ? D_801366E8;
//extern ? D_801366FC;
//extern ? D_80136754;
//extern ? D_8013675C;
//extern ? D_8013678C;
//extern ? D_80136790;
//extern ? D_801367D8;
//extern ? D_80136818;
//extern ? D_8013681C;
//extern ? D_80136838;
//extern ? D_80136848;
//extern ? D_8013686C;
//extern ? D_80136870;
//extern ? D_8013688C;
//extern ? D_8013689C;
//extern ? D_801368B8;
//extern ? D_801368D8;
//extern ? D_801368E8;
//extern ? D_80136904;
//extern ? D_80136914;
//extern ? D_80136924;
//extern ? D_80136934;
//extern ? D_80136944;
//extern ? D_80136954;
//extern ? D_80136964;
//extern ? D_80136974;
//extern ? D_80136984;
//extern ? D_80136994;
//extern ? D_801369A4;
//extern ? D_801369B4;
//extern ? D_801369C4;
//extern ? D_801369D4;
//extern ? D_801369F4;
//extern ? D_80136A04;
//extern ? D_80136A14;
//extern ? D_80136A24;
//extern ? D_80136A34;
//extern ? D_80136A44;
extern char D_80136A54[];
extern char D_80136A68[];
extern char D_80136A7C[];
extern char D_80136A90[];
extern char D_80136AA4[];
extern char D_80136AB8[];
extern f32 D_80136D3C;
extern f32 D_80136D40;
extern f32 D_80136D44;
//extern ? D_801385A4;
//extern ? D_801385B8;
//extern ? D_801385F8;
//extern ? D_8013861C;
//extern ? D_80138620;
//extern ? D_80138634;
//extern ? D_80138654;
//extern ? D_8013866C;
//extern ? D_80138670;
//extern ? D_80138678;
//extern ? D_801386CC;
//extern ? D_801386D0;
//extern ? D_801386E4;
//extern ? D_801386F4;
//extern ? D_80138708;
//extern ? D_80138718;
//extern ? D_80138724;
//extern ? D_80138780;
//extern ? D_80138784;
//extern ? D_80138798;
//extern ? D_801387A8;
//extern ? D_801387BC;
//extern ? D_801387CC;
//extern ? D_80138810;
//extern ? D_80138834;
//extern ? D_80138858;
//extern ? D_8013887C;
//extern ? D_801388A4;
//extern ? D_801388B4;
//extern ? D_801388C4;
//extern ? D_801388CC;
//extern ? D_801388F0;
//extern ? D_801388F4;
//extern ? D_80138900;
//extern ? D_8013894C;
//extern ? D_80138950;
//extern ? D_80138960;
//extern ? D_80138980;
//extern ? D_80138990;
//extern ? D_801389A0;
//extern ? D_801389C0;
//extern ? D_801389D0;
//extern ? D_801389F0;
//extern ? D_80138A00;
//extern ? D_80138A10;
//extern ? D_80138A50;
//extern ? D_80138A60;
//extern ? D_80138A80;
//extern ? D_80138AA4;
//extern ? D_80138AB4;
//extern ? D_80138AC4;
//extern ? D_80138AE0;
//extern ? D_80138AF0;
//extern ? D_80138B30;
//extern ? D_80138B40;
//extern ? D_80138B68;
//extern ? D_80138B78;
//extern ? D_80138B8C;
//extern ? D_80138B9C;
//extern ? D_80138BB0;
//extern ? D_80138BC0;
//extern ? D_80138BC8;
//extern ? D_80138C14;
//extern ? D_80138C18;
//extern ? D_80138C20;
//extern ? D_80138C44;
//extern ? D_80138C48;
//extern ? D_80138C50;
//extern ? D_80138C74;
//extern ? D_80138C78;
//extern ? D_80138C80;
//extern ? D_80138CE0;
//extern ? D_80138CEC;
//extern ? D_80138D5C;
//extern ? D_80138D60;
//extern ? D_80138D68;
//extern ? D_80138DA4;
//extern ? D_80138DAC;
//extern ? D_80138DE8;
//extern ? D_80138E2C;
//extern ? D_80138E3C;
//extern ? D_80138E80;
//extern ? D_80138E90;
//extern ? D_80138E98;
//extern ? D_80138EBC;
//extern ? D_80138EC0;
//extern ? D_80138EC8;
//extern ? D_80138EEC;
//extern ? D_80138EF0;
//extern ? D_80138F04;
//extern ? D_80138F14;
//extern ? D_80138F28;
//extern ? D_80138FD0;
//extern ? D_80138FD8;
//extern ? D_80139038;
//extern ? D_80139060;
//extern ? D_80139094;
//extern ? D_801390B4;
//extern ? D_801390D4;
//extern ? D_801390F4;
//extern ? D_8013912C;
//extern ? D_80139140;
//extern ? D_80139168;
//extern ? D_801391B4;
//extern ? D_80139218;
//extern ? D_80139248;
//extern ? D_80139294;
//extern ? D_801392DC;
//extern ? D_8013930C;
//extern ? D_80139344;
//extern ? D_8013935C;
//extern ? D_8013938C;
//extern ? D_801393DC;
//extern ? D_801393FC;
//extern ? D_80139408;
//extern ? D_80139450;
//extern ? D_80139488;
//extern ? D_801394C0;
//extern ? D_801394F8;
//extern ? D_80139530;
//extern ? D_80139550;
//extern ? D_8013956C;
//extern ? D_80139588;
//extern ? D_801395A4;
//extern ? D_801395C0;
//extern ? D_801395DC;
//extern ? D_80139604;
//extern ? D_8013960C;
//extern ? D_80139614;
//extern ? D_80139644;
//extern ? D_80139654;
//extern ? D_8013965C;
//extern ? D_80139690;
//extern ? D_801396D4;
//extern ? D_80139714;
//extern ? D_80139754;
//extern ? D_80139764;
//extern ? D_80139794;
//extern ? D_801397C4;
//extern ? D_801397E4;
//extern ? D_801397F4;
//extern ? D_80139824;
//extern ? D_8013984C;
//extern ? D_801398C0;
//extern ? D_801398E4;
//extern ? D_80139910;
//extern ? D_80139930;
//extern ? D_80139960;
//extern ? D_80139964;
//extern ? D_80139968;
//extern ? D_8013996C;
//extern ? D_80139970;
//extern ? D_80139984;
//extern ? D_801399A4;
//extern ? D_801399CC;
//extern ? D_801399E8;
//extern ? D_80139A00;
//extern ? D_80139A24;
//extern ? D_80139A34;
//extern ? D_80139A48;
//extern ? D_80139A60;
//extern ? D_80139A84;
//extern ? D_80139AA8;
//extern ? D_80139AD4;
//extern ? D_80139AE8;
//extern ? D_80139B08;
//extern ? D_80139B28;
//extern ? D_80139B4C;
//extern ? D_80139B74;
//extern ? D_80139B98;
//extern ? D_80139BB4;
//extern ? D_80139BD8;
//extern ? D_80139BF0;
//extern ? D_80139C34;
//extern ? D_80139C58;
//extern ? D_80139C90;
//extern ? D_80139CC0;
//extern ? D_80139D00;
//extern ? D_80139D2C;
//extern ? D_80139D54;
//extern ? D_8013A580;
//extern ? D_8013A5B0;
//extern ? D_8013A5C8;
//extern ? D_8013A5D8;
//extern ? D_8013A5F0;
//extern ? D_8013A608;
//extern ? D_8013A620;
//extern ? D_8013A638;
//extern ? D_8013A640;
//extern ? D_8013A670;
//extern ? D_8013A674;
//extern ? D_8013A68C;
//extern ? D_8013A694;
//extern ? D_8013A6C4;
//extern ? D_8013A6C8;
//extern ? D_8013A6E0;
//extern ? D_8013A6E8;
//extern ? D_8013A714;
//extern ? D_8013A718;
//extern ? D_8013A738;
//extern ? D_8013A750;
//extern ? D_8013A768;
//extern ? D_8013A780;
//extern ? D_8013A788;
//extern ? D_8013A7B4;
//extern ? D_8013A7B8;
//extern ? D_8013A7D0;
//extern ? D_8013A7D8;
//extern ? D_8013A804;
//extern ? D_8013A808;
//extern ? D_8013A828;
//extern ? D_8013A840;
//extern ? D_8013A868;
//extern ? D_8013A880;
//extern ? D_8013A8BC;
//extern ? D_8013A8E4;
//extern ? D_8013A8FC;
//extern ? D_8013A94C;
//extern ? D_8013A988;
//extern ? D_8013A9B0;
//extern ? D_8013A9C8;
//extern ? D_8013AA04;
//extern ? D_8013AA2C;
//extern ? D_8013AA44;
//extern ? D_8013AA94;
//extern ? D_8013AAD0;
//extern ? D_8013AAF8;
//extern ? D_8013AB10;
//extern ? D_8013AB4C;
//extern ? D_8013AB74;
//extern ? D_8013AB8C;
//extern ? D_8013ABDC;
//extern ? D_8013AC18;
//extern ? D_8013AC58;
//extern ? D_8013AC7C;
//extern ? D_8013ACA0;
//extern ? D_8013ACB8;
//extern ? D_8013B830;
//extern ? D_8013B844;
//extern ? D_8013B858;
//extern ? D_8013B864;
//extern ? D_8013B868;
//extern ? D_8013B87C;
//extern ? D_8013B890;
//extern ? D_8013B8A4;
//extern ? D_8013B8B0;
//extern ? D_8013B8B4;
//extern ? D_8013B9E0;
//extern ? D_8013BA00;
//extern ? D_8013BA18;
//extern ? D_8013BA38;
//extern ? D_8013BA58;
//extern ? D_8013BA78;
//extern ? D_8013BA98;
//extern ? D_8013BAB8;
//extern ? D_8013BAFC;
//extern ? D_8013BD40;
//extern ? D_8013BD4C;
//extern ? D_8013BD5C;
//extern ? D_8013BD6C;
//extern ? D_8013BD7C;
//extern ? D_8013BD94;
//extern ? D_8013BDAC;
//extern ? D_8013BDBC;
//extern ? D_8013BE88;
//extern ? D_8013BE98;
//extern ? D_8013BEA4;
//extern ? D_8013BEB8;
//extern ? D_8013BEF4;
//extern ? D_8013BF00;
//extern ? D_8013BF30;
//extern ? D_8013BF6C;
//extern ? D_8013BF98;
//extern ? D_8013BFBC;
//extern ? D_8013BFE0;
//extern ? D_8013C004;
//extern ? D_8013C028;
//extern ? D_8013C04C;
//extern ? D_8013C07C;
//extern ? D_8013C084;
//extern ? D_8013C0A0;
//extern ? D_8013C0A4;
//extern ? D_8013C160;
extern char D_8013C190[];
//extern ? D_8013C1A0;
//extern ? D_8013C1B0;
//extern ? D_8013C1C0;
//extern ? D_8013C1E4;
//extern ? D_8013C218;
//extern ? D_8013C22C;
//extern ? D_8013C240;
//extern ? D_8013C2C0;
//extern ? D_8013C2F4;
//extern ? D_8013C330;
//extern ? D_8013C340;
//extern ? D_8013C350;
//extern ? D_8013C360;
//extern ? D_8013C370;
//extern ? D_8013C380;
//extern ? D_8013C390;
//extern ? D_8013C3D0;
//extern ? D_8013C3D8;
//extern ? D_8013C3E0;
//extern ? D_8013C3E4;
//extern ? D_8013C3F0;
//extern ? D_8013C3F8;
//extern ? D_8013C3FC;
//extern ? D_8013C400;
//extern ? D_8013C404;
//extern ? D_8013C408;
//extern ? D_8013C410;
//extern ? D_8013C414;
//extern ? D_8013C420;
//extern ? D_8013C428;
//extern ? D_8013C42C;
//extern ? D_8013C430;
//extern ? D_8013C434;
//extern ? D_8013C438;
//extern ? D_8013C440;
//extern ? D_8013C444;
//extern ? D_8013C44C;
//extern ? D_8013C450;
//extern ? D_8013C458;
//extern ? D_8013C470;
//extern ? D_8013C480;
//extern ? D_8013C490;
//extern ? D_8013C4C8;
//extern ? D_8013C500;
//extern ? D_8013C52C;
//extern ? D_8013C55C;
//extern ? D_8013C56C;
//extern ? D_8013C57C;
//extern ? D_8013C58C;
//extern ? D_8013C59C;
//extern ? D_8013C5AC;
//extern ? D_8013C5BC;
//extern ? D_8013C5CC;
//extern ? D_8013C5DC;
//extern ? D_8013C5EC;
//extern ? D_8013C5FC;
//extern ? D_8013C60C;
//extern ? D_8013C61C;
//extern ? D_8013C62C;
//extern ? D_8013C63C;
//extern ? D_8013C64C;
//extern ? D_8013C65C;
//extern ? D_8013C66C;
//extern ? D_8013C67C;
//extern ? D_8013C68C;
//extern ? D_8013C69C;
//extern ? D_8013C6D4;
//extern ? D_8013C6E8;
//extern ? D_8013C6FC;
//extern ? D_8013C710;
//extern ? D_8013C724;
//extern ? D_8013C738;
//extern ? D_8013C750;
//extern ? D_8013C760;
//extern ? D_8013C770;
//extern ? D_8013C780;
//extern ? D_8013C840;
extern char D_8013C860[];
extern char D_8013C874[];
extern f32 D_8013C888;
extern f32 D_8013C88C;
extern f32 D_8013C890;
extern f32 D_8013C894;
extern f32 D_8013C898;
//extern ? D_8013C8A0;
//extern ? D_8013C8B0;
//extern ? D_8013C8C0;
//extern ? D_8013C8D0;
//extern ? D_8013C8E0;
//extern ? D_8013CB20;
//extern ? D_8013CB2C;
//extern ? D_8013CB40;
//extern ? D_8013CB4C;
//extern ? D_8013CB58;
//extern ? D_8013CB68;
extern f32 D_8013CB80;
//extern ? D_8013CBA0;
//extern ? D_8013CBC0;
//extern ? D_8013CBD4;
//extern ? D_8013CBD8;
//extern ? D_8013CC18;
//extern ? D_8013CC60;
//extern ? D_8013CCA8;
//extern ? D_8013CCDC;
//extern ? D_8013CD20;
//extern ? D_8013CD6C;
//extern ? D_8013CDB4;
//extern ? D_8013CDEC;
//extern ? D_8013CE14;
//extern ? D_8013D700;
//extern ? D_8013D708;
//extern ? D_8013D75C;
//extern ? D_8013D760;
//extern ? D_8013D768;
//extern ? D_8013D774;
//extern ? D_8013D778;
//extern ? D_8013D788;
//extern ? D_8013D790;
//extern ? D_8013D7E0;
//extern ? D_8013D7E4;
//extern ? D_8013D7F4;
//extern ? D_8013D810;
//extern ? D_8013D864;
//extern ? D_8013D87C;
//extern ? D_8013D884;
//extern ? D_8013D894;
//extern ? D_8013D898;
//extern ? D_8013D8A8;
//extern ? D_8013D8E8;
//extern ? D_8013D908;
//extern ? D_8013D918;
//extern ? D_8013D928;
//extern ? D_8013D938;
//extern ? D_8013D948;
//extern ? D_8013D958;
//extern ? D_8013D968;
//extern ? D_8013D988;
//extern ? D_8013D998;
//extern ? D_8013D9C0;
//extern ? D_8013D9C8;
//extern ? D_8013D9D8;
//extern ? D_8013E770;
//extern ? D_8013E784;
//extern ? D_8013E798;
//extern ? D_8013E7AC;
//extern ? D_8013E7C0;
//extern ? D_8013E7D4;
//extern ? D_8013E7E8;
//extern ? D_8013E7FC;
//extern ? D_8013E810;
//extern ? D_8013E824;
//extern ? D_8013E838;
//extern ? D_8013E84C;
//extern ? D_8013E860;
//extern ? D_8013E874;
//extern ? D_8013E888;
//extern ? D_8013E89C;
//extern ? D_8013E8B0;
//extern ? D_8013E8C4;
//extern ? D_8013E8D8;
//extern ? D_8013E8EC;
extern u32* D_8013E960;
extern u32* D_8013E99C;
//extern ? D_8013E9B4;
//extern ? D_8013E9C4;
//extern ? D_8013E9E0;
//extern ? D_8013EA20;
//extern ? D_8013EAE0;
//extern ? D_8013EAE8;
//extern ? D_8013EAF4;
//extern ? D_8013EAFC;
//extern ? D_8013EB08;
//extern ? D_8013EB14;
//extern ? D_8013EB20;
//extern ? D_8013EB2C;
//extern ? D_8013EB38;
//extern ? D_8013EB44;
//extern ? D_8013EB50;
//extern ? D_8013EB5C;
//extern ? D_8013EB68;
//extern ? D_8013EB74;
//extern ? D_8013EB80;
//extern ? D_8013EB8C;
//extern ? D_8013EB98;
//extern ? D_8013EBA4;
//extern ? D_8013EBB0;
//extern ? D_8013EBBC;
//extern ? D_8013EBC8;
//extern ? D_8013EBD4;
//extern ? D_8013EBE0;
//extern ? D_8013EBEC;
//extern ? D_8013EBF8;
//extern ? D_8013EC04;
//extern ? D_8013EC10;
//extern ? D_8013EC1C;
//extern ? D_8013EC28;
//extern ? D_8013EC34;
//extern ? D_8013EC40;
//extern ? D_8013EC4C;
//extern ? D_8013EC58;
//extern ? D_8013EC64;
//extern ? D_8013EC70;
//extern ? D_8013EC7C;
//extern ? D_8013EC88;
//extern ? D_8013EC94;
//extern ? D_8013ECA0;
//extern ? D_8013ECAC;
//extern ? D_8013ECB8;
//extern ? D_8013ECC4;
//extern ? D_8013ECD0;
//extern ? D_8013ECDC;
//extern ? D_8013ECE8;
//extern ? D_8013ECF4;
//extern ? D_8013ED00;
//extern ? D_8013ED0C;
//extern ? D_8013ED18;
//extern ? D_8013ED24;
//extern ? D_8013ED30;
//extern ? D_8013ED3C;
//extern ? D_8013ED48;
//extern ? D_8013ED54;
//extern ? D_8013ED60;
//extern ? D_8013ED6C;
//extern ? D_8013ED78;
//extern ? D_8013ED84;
//extern ? D_8013ED90;
//extern ? D_8013ED9C;
//extern ? D_8013EDA8;
//extern ? D_8013EDB4;
//extern ? D_8013EDC0;
//extern ? D_8013EDCC;
//extern ? D_8013EDD8;
//extern ? D_8013EDE4;
//extern ? D_8013EDF0;
//extern ? D_8013EDFC;
//extern ? D_8013EE08;
//extern ? D_8013EE14;
//extern ? D_8013EE20;
//extern ? D_8013EE2C;
//extern ? D_8013EE38;
//extern ? D_8013EE44;
//extern ? D_8013EE50;
//extern ? D_8013EE5C;
//extern ? D_8013EE68;
//extern ? D_8013EE74;
//extern ? D_8013EE80;
//extern ? D_8013EE8C;
//extern ? D_8013EE98;
//extern ? D_8013EEA4;
//extern ? D_8013EEB0;
//extern ? D_8013EEBC;
//extern ? D_8013EEC8;
//extern ? D_8013EED4;
//extern ? D_8013EEE0;
//extern ? D_8013EEEC;
//extern ? D_8013EEF8;
//extern ? D_8013EF04;
//extern ? D_8013EF10;
//extern ? D_8013EF1C;
//extern ? D_8013F2C0;
//extern ? D_8013F2D0;
//extern ? D_8013F2E0;
//extern ? D_8013F2F0;
//extern ? D_8013F310;
//extern ? D_8013FF50;
//extern ? D_8013FF64;
//extern ? D_8013FF78;
//extern ? D_8013FF8C;
//extern ? D_8013FF94;
//extern ? D_8013FFB8;
//extern ? D_8013FFBC;
//extern ? D_8013FFD0;
//extern ? D_8013FFE4;
//extern ? D_8013FFF8;
//extern ? D_8014000C;
//extern ? D_80140020;
//extern ? D_80140034;
//extern ? D_80140048;
//extern ? D_80140050;
//extern ? D_80140074;
//extern ? D_80140078;
//extern ? D_8014008C;
//extern ? D_801400A0;
//extern ? D_801400B4;
//extern ? D_801400C8;
//extern ? D_801400DC;
//extern ? D_801400F0;
//extern ? D_80140104;
//extern ? D_8014010C;
//extern ? D_8014012C;
//extern ? D_80140130;
//extern ? D_80140144;
//extern ? D_80140158;
//extern ? D_8014016C;
//extern ? D_80140180;
//extern ? D_80140194;
//extern ? D_801401A8;
//extern ? D_801401BC;
//extern ? D_801401C4;
//extern ? D_801401E4;
//extern ? D_801401E8;
//extern ? D_801401FC;
//extern ? D_80140210;
//extern ? D_80140224;
//extern ? D_80140238;
//extern ? D_8014024C;
//extern ? D_80140258;
//extern ? D_8014026C;
//extern ? D_8014027C;
//extern ? D_80140290;
//extern ? D_801402A4;
//extern ? D_801402B8;
//extern ? D_801402C4;
//extern ? D_801402D8;
//extern ? D_801402E0;
//extern ? D_80140310;
//extern ? D_80140314;
//extern ? D_80140328;
//extern ? D_8014033C;
//extern ? D_80140350;
//extern ? D_80140358;
//extern ? D_8014038C;
//extern ? D_80140390;
//extern ? D_801403A4;
//extern ? D_801403B8;
//extern ? D_801403CC;
//extern ? D_801403E0;
//extern ? D_801403F4;
//extern ? D_80140410;
//extern ? D_8014042C;
//extern ? D_80140460;
//extern ? D_80140464;
//extern ? D_80140478;
//extern ? D_8014048C;
//extern ? D_801404B0;
//extern ? D_801404C4;
//extern ? D_801404CC;
//extern ? D_801404FC;
//extern ? D_80140500;
//extern ? D_80140514;
//extern ? D_80140528;
//extern ? D_8014054C;
//extern ? D_80140560;
//extern ? D_80140568;
//extern ? D_8014059C;
//extern ? D_801405A0;
//extern ? D_801405B4;
//extern ? D_801405C8;
//extern ? D_801405D0;
//extern ? D_80140604;
//extern ? D_80140608;
//extern ? D_8014061C;
//extern ? D_80140638;
//extern ? D_8014064C;
//extern ? D_80140680;
//extern ? D_8014068C;
//extern ? D_80140698;
//extern ? D_801406A4;
//extern ? D_801406B0;
//extern ? D_801406BC;
//extern ? D_801406C8;
//extern ? D_801406D4;
//extern ? D_801406F0;
//extern ? D_80140700;
//extern ? D_8014071C;
//extern ? D_8014072C;
//extern ? D_8014073C;
//extern ? D_80140754;
//extern ? D_80140764;
//extern ? D_80140774;
//extern ? D_8014078C;
//extern ? D_8014079C;
//extern ? D_801407AC;
//extern ? D_801407BC;
//extern ? D_801407D0;
//extern ? D_801407DC;
//extern ? D_8014080C;
//extern ? D_80140810;
//extern ? D_80140850;
//extern ? D_80140864;
//extern ? D_80140878;
//extern ? D_80140880;
//extern ? D_801408A4;
//extern ? D_801408B4;
//extern ? D_801408B8;
//extern ? D_801408C0;
//extern ? D_80140908;
//extern ? D_80140910;
//extern ? D_80140958;
//extern ? D_8014095C;
//extern ? D_80140964;
//extern ? D_801409AC;
//extern ? D_801409B4;
//extern ? D_801409FC;
//extern ? D_80140A00;
//extern ? D_80140A20;
//extern ? D_80140A44;
//extern ? D_80140A88;
//extern ? D_80140AB4;
//extern ? D_80140AD0;
//extern ? D_80140B0C;
//extern ? D_80140B3C;
//extern ? D_80140B5C;
//extern ? D_80140B74;
//extern ? D_80140BB8;
//extern ? D_80140BBC;
//extern ? D_80140BC0;
//extern ? D_80140BD4;
//extern ? D_80140BEC;
//extern ? D_80140C14;
//extern ? D_80140C58;
//extern ? D_80140C94;
//extern ? D_80140CA8;
//extern ? D_80140CC4;
//extern ? D_80140CDC;
//extern ? D_80140CF0;
//extern ? D_80140D08;
//extern ? D_80140D58;
//extern ? D_80140D5C;
//extern ? D_80140D60;
//extern ? D_80140D74;
//extern ? D_80140D80;
//extern ? D_80140D8C;
//extern ? D_80140D9C;
//extern ? D_80140DB8;
//extern ? D_80140DF0;
//extern ? D_80140E00;
//extern ? D_80140E18;
//extern ? D_80140E2C;
//extern ? D_80140E3C;
//extern ? D_80140E60;
//extern ? D_80140E70;
//extern ? D_80140E88;
//extern ? D_80140E98;
//extern ? D_80140EC4;
//extern ? D_80140EE0;
//extern ? D_80140EFC;
//extern ? D_80140F28;
//extern ? D_80140F30;
//extern ? D_80140F4C;
//extern ? D_80140F68;
//extern ? D_80140F84;
//extern ? D_80140F88;
//extern ? D_80140F94;
//extern ? D_80140FAC;
extern char D_80141030[];
//extern ? D_80141060;
//extern ? D_80141064;
//extern ? D_80141070;
//extern ? D_8014107C;
//extern ? D_80141088;
//extern ? D_801410A0;
//extern ? D_801410AC;
//extern ? D_801410B8;
//extern ? D_801410C4;
//extern ? D_801410D0;
//extern ? D_801410E4;
//extern ? D_801410F0;
//extern ? D_80141104;
//extern ? D_80141110;
//extern ? D_8014111C;
//extern ? D_80141128;
//extern ? D_80141134;
//extern ? D_80141140;
//extern ? D_80141144;
//extern ? D_80141150;
//extern ? D_8014115C;
//extern ? D_80141168;
//extern ? D_801411A0;
//extern ? D_801411AC;
//extern ? D_801411BC;
//extern ? D_801411C0;
//extern ? D_801411C8;
//extern ? D_801411D4;
//extern ? D_801411E0;
//extern ? D_801411F0;
//extern ? D_801411F4;
//extern ? D_80141200;
//extern ? D_8014120C;
//extern ? D_80141210;
//extern ? D_8014121C;
//extern ? D_80141228;
//extern ? D_80141234;
//extern ? D_80141240;
//extern ? D_8014124C;
//extern ? D_80141250;
//extern ? D_8014125C;
//extern ? D_80141268;
//extern ? D_80141274;
//extern ? D_80141280;
//extern ? D_8014128C;
//extern ? D_80141290;
//extern ? D_8014129C;
//extern ? D_801412A8;
//extern ? D_801412B4;
//extern ? D_801412BC;
//extern ? D_801412C8;
//extern ? D_801412D4;
//extern ? D_801412E0;
//extern ? D_801412EC;
//extern ? D_801412F0;
//extern ? D_801412FC;
//extern ? D_80141308;
//extern ? D_80141314;
//extern ? D_80141320;
//extern ? D_8014132C;
//extern ? D_80141334;
//extern ? D_80141340;
//extern ? D_80141348;
//extern ? D_80141380;
//extern ? D_801413A0;
//extern ? D_801413B0;
//extern ? D_801413C4;
//extern ? D_801413D4;
//extern ? D_801413F4;
//extern ? D_80141404;
//extern ? D_80141428;
//extern ? D_80141438;
//extern ? D_8014145C;
//extern ? D_8014146C;
//extern ? D_80141490;
//extern ? D_801414A0;
//extern ? D_801414C4;
//extern ? D_801414D4;
//extern ? D_801414F4;
//extern ? D_80141504;
//extern ? D_80141528;
//extern ? D_80141538;
//extern ? D_8014155C;
//extern ? D_8014156C;
//extern ? D_80141594;
//extern ? D_801415A4;
//extern ? D_801415CC;
//extern ? D_801415DC;
//extern ? D_80141604;
//extern ? D_80141614;
//extern ? D_8014163C;
//extern ? D_8014164C;
//extern ? D_80141670;
//extern ? D_80141680;
//extern ? D_801416A8;
//extern ? D_801416B8;
//extern ? D_801416E0;
//extern ? D_801416F0;
//extern ? D_80141718;
//extern ? D_80141728;
//extern ? D_80141750;
//extern ? D_80141760;
//extern ? D_80141784;
//extern ? D_80141798;
//extern ? D_801417C0;
//extern ? D_801417D0;
//extern ? D_801417E0;
//extern ? D_801417F4;
//extern ? D_80141804;
//extern ? D_80141814;
//extern ? D_80141824;
//extern ? D_80141850;
//extern ? D_80141860;
//extern ? D_80141884;
//extern ? D_801418A4;
//extern ? D_801418B4;
//extern ? D_801418C4;
//extern ? D_801418D4;
//extern ? D_801418FC;
//extern ? D_80141910;
//extern ? D_80141920;
//extern ? D_80141948;
//extern ? D_80141958;
//extern ? D_80141968;
//extern ? D_80141978;
//extern ? D_801419A0;
//extern ? D_801419B0;
//extern ? D_801419C0;
//extern ? D_801419D0;
//extern ? D_801419F8;
//extern ? D_80141A08;
//extern ? D_80141A18;
//extern ? D_80141A38;
//extern ? D_80141A60;
//extern ? D_80141A70;
//extern ? D_80141A80;
//extern ? D_80141A90;
//extern ? D_80141AA0;
//extern ? D_80141AC8;
//extern ? D_80141AD8;
//extern ? D_80141AE8;
//extern ? D_80141AF8;
//extern ? D_80141B20;
//extern ? D_80141B30;
//extern ? D_80141B40;
//extern ? D_80141B50;
//extern ? D_80141B78;
//extern ? D_80141B88;
//extern ? D_80141B98;
//extern ? D_80141BA8;
//extern ? D_80141BD0;
//extern ? D_80141BE0;
//extern ? D_80141BF0;
//extern ? D_80141C00;
//extern ? D_80141C28;
//extern ? D_80141C38;
//extern ? D_80141C48;
//extern ? D_80141C58;
//extern ? D_80141C68;
//extern ? D_80141C90;
//extern ? D_80141CA0;
//extern ? D_80141CB0;
//extern ? D_80141CC0;
//extern ? D_80141CD0;
//extern ? D_80141CF8;
//extern ? D_80141D08;
//extern ? D_80141D18;
//extern ? D_80141D28;
//extern ? D_80141D50;
//extern ? D_80141D60;
//extern ? D_80141D70;
//extern ? D_80141D80;
//extern ? D_80141DA8;
//extern ? D_80141DB8;
//extern ? D_80141DC8;
//extern ? D_80141DD8;
//extern ? D_80141E00;
//extern ? D_80141E10;
//extern ? D_80141E20;
//extern ? D_80141E30;
//extern ? D_80141E40;
//extern ? D_80141E68;
//extern ? D_80141E78;
//extern ? D_80141E88;
//extern ? D_80141E98;
//extern ? D_80141EC0;
//extern ? D_80141ED0;
//extern ? D_80141EE0;
//extern ? D_80141EF0;
//extern ? D_80141F18;
//extern ? D_80141F28;
//extern ? D_80141F38;
//extern ? D_80141F48;
//extern ? D_80141F70;
//extern ? D_80141F80;
//extern ? D_80141F90;
//extern ? D_80141FA0;
//extern ? D_80141FC8;
//extern ? D_80141FD8;
//extern ? D_80141FE8;
//extern ? D_80141FF8;
//extern ? D_80142008;
//extern ? D_80142030;
//extern ? D_80142040;
//extern ? D_80142050;
//extern ? D_80142060;
//extern ? D_80142088;
//extern ? D_80142098;
//extern ? D_801420A8;
//extern ? D_801420B8;
//extern ? D_801420E0;
//extern ? D_801420F0;
//extern ? D_80142100;
//extern ? D_80142110;
//extern ? D_80142138;
//extern ? D_80142148;
//extern ? D_80142158;
//extern ? D_80142168;
//extern ? D_80142190;
//extern ? D_801421A0;
//extern ? D_801421B0;
//extern ? D_801421C0;
//extern ? D_801421E8;
//extern ? D_801421F8;
//extern ? D_80142208;
//extern ? D_80142218;
//extern ? D_80142240;
//extern ? D_80142250;
//extern ? D_80142260;
//extern ? D_80142270;
//extern ? D_80142298;
//extern ? D_801422A8;
//extern ? D_801422B8;
//extern ? D_801422C8;
//extern ? D_801422F0;
//extern ? D_80142300;
//extern ? D_80142310;
//extern ? D_80142320;
//extern ? D_80142348;
//extern ? D_80142358;
//extern ? D_80142368;
//extern ? D_80142378;
//extern ? D_801423A0;
//extern ? D_801423B0;
//extern ? D_801423C0;
//extern ? D_801423D0;
//extern ? D_801423F8;
//extern ? D_80142408;
//extern ? D_80142418;
//extern ? D_80142428;
//extern ? D_80142450;
//extern ? D_80142460;
//extern ? D_80142470;
//extern ? D_80142480;
//extern ? D_801424A8;
//extern ? D_801424B8;
//extern ? D_801424C8;
//extern ? D_801424D8;
//extern ? D_80142500;
//extern ? D_80142510;
//extern ? D_80142520;
//extern ? D_80142530;
//extern ? D_80142558;
//extern ? D_80142568;
//extern ? D_80142578;
//extern ? D_80142588;
//extern ? D_801425B0;
//extern ? D_801425C0;
//extern ? D_801425D0;
//extern ? D_801425E0;
//extern ? D_80142608;
//extern ? D_80142618;
//extern ? D_80142628;
//extern ? D_80142638;
//extern ? D_80142660;
//extern ? D_80142670;
//extern ? D_80142680;
//extern ? D_80142690;
//extern ? D_801426B8;
//extern ? D_801426C8;
//extern ? D_801426D8;
//extern ? D_801426E8;
//extern ? D_80142710;
//extern ? D_80142720;
//extern ? D_80142730;
//extern ? D_80142740;
//extern ? D_80142768;
//extern ? D_80142778;
//extern ? D_80142788;
//extern ? D_80142798;
//extern ? D_801427C0;
//extern ? D_801427D0;
//extern ? D_801427E0;
//extern ? D_801427F0;
//extern ? D_80142818;
//extern ? D_80142828;
//extern ? D_80142838;
//extern ? D_80142848;
//extern ? D_80142870;
//extern ? D_80142880;
//extern ? D_80142890;
//extern ? D_801428A0;
//extern ? D_801428C8;
//extern ? D_801428D8;
//extern ? D_801428E8;
//extern ? D_801428F8;
//extern ? D_80142920;
//extern ? D_80142930;
//extern ? D_80142940;
//extern ? D_80142950;
//extern ? D_80142978;
//extern ? D_80142988;
//extern ? D_80142998;
//extern ? D_801429A8;
//extern ? D_801429D0;
//extern ? D_801429E0;
//extern ? D_801429F0;
//extern ? D_80142A00;
//extern ? D_80142A28;
//extern ? D_80142A38;
//extern ? D_80142A48;
//extern ? D_80142A58;
//extern ? D_80142A80;
//extern ? D_80142A90;
//extern ? D_80142AA0;
//extern ? D_80142AB0;
//extern ? D_80142AD8;
//extern ? D_80142AE8;
//extern ? D_80142AF8;
//extern ? D_80142B08;
//extern ? D_80142B30;
//extern ? D_80142B40;
//extern ? D_80142B50;
//extern ? D_80142B60;
//extern ? D_80142B88;
//extern ? D_80142B98;
//extern ? D_80142BA8;
//extern ? D_80142BB8;
//extern ? D_80142BE0;
//extern ? D_80142BF0;
//extern ? D_80142C00;
//extern ? D_80142C6C;
//extern ? D_80142C74;
//extern ? D_80142C84;
//extern ? D_80142C9C;
//extern ? D_80142CAC;
//extern ? D_80142CBC;
//extern ? D_80142CD4;
//extern ? D_80142CF4;
//extern ? D_80142D0C;
//extern ? D_80142D1C;
//extern ? D_80142D2C;
//extern ? D_80142D44;
//extern ? D_80142D54;
//extern ? D_80142D64;
//extern ? D_80142D7C;
//extern ? D_80142D8C;
//extern ? D_80142E80;
//extern ? D_80142E94;
//extern ? D_80142EA8;
//extern ? D_80142EBC;
//extern ? D_80142ED0;
//extern ? D_80142EE0;
//extern ? D_80142F18;
//extern ? D_80142F28;
//extern ? D_80142F40;
//extern ? D_80142F58;
//extern ? D_80142F68;
//extern ? D_80142F78;
//extern ? D_80142F88;
//extern ? D_80142F98;
//extern ? D_80142FA8;
//extern ? D_80142FC4;
//extern ? D_80142FD4;
//extern ? D_80142FE4;
//extern ? D_80142FF4;
//extern ? D_80143004;
//extern ? D_80143024;
//extern ? D_80143034;
//extern ? D_80143044;
//extern ? D_80143054;
//extern ? D_80143070;
//extern ? D_801430C0;
//extern ? D_80143100;
//extern ? D_8014311C;
//extern ? D_8014313C;
//extern ? D_80143154;
//extern ? D_801434D8;
//extern ? D_801434F8;
//extern ? D_80143518;
//extern ? D_80143538;
//extern ? D_80143558;
//extern ? D_80143578;
//extern ? D_80143598;
//extern ? D_801435C4;
//extern ? D_801435D0;
//extern ? D_801435DC;
//extern ? D_801435F0;
//extern ? D_801435FC;
//extern ? D_80143608;
//extern ? D_80143628;
//extern ? D_80143640;
//extern ? D_8014365C;
//extern ? D_80143670;
//extern ? D_8014368C;
//extern ? D_801436AC;
//extern ? D_801436CC;
//extern ? D_801436DC;
//extern ? D_801436EC;
//extern ? D_801436FC;
//extern ? D_8014370C;
//extern ? D_8014371C;
//extern ? D_80143738;
//extern ? D_8014375C;
//extern ? D_80143774;
//extern ? D_80143790;
//extern ? D_801437A4;
//extern ? D_801437C0;
//extern ? D_801437E0;
//extern ? D_80143800;
//extern ? D_80143810;
//extern ? D_80143820;
//extern ? D_80143830;
//extern ? D_80143840;
//extern ? D_80143850;
//extern ? D_8014386C;
//extern ? D_801438AC;
//extern ? D_801438B4;
//extern ? D_801438C0;
//extern ? D_801438E4;
//extern ? D_80143908;
//extern ? D_8014392C;
//extern ? D_80143968;
//extern ? D_80143978;
//extern ? D_801439A4;
//extern ? D_801439B4;
//extern ? D_801439C4;
//extern ? D_801439F0;
//extern ? D_80143A00;
//extern ? D_80143A10;
//extern ? D_80143A20;
//extern ? D_80143A30;
//extern ? D_80143A40;
//extern ? D_80143A6C;
//extern ? D_80143A7C;
//extern ? D_80143A8C;
//extern ? D_80143AB8;
//extern ? D_80143AC8;
//extern ? D_80143B0C;
//extern ? D_80143B28;
//extern ? D_80143B30;
//extern ? D_80143B3C;
//extern ? D_80143B60;
//extern ? D_80143B84;
//extern ? D_80143BA8;
//extern ? D_80143BE8;
//extern ? D_80143BF8;
//extern ? D_80143C08;
//extern ? D_80143C18;
//extern ? D_80143C1C;
//extern ? D_80143C20;
//extern ? D_80143C40;
//extern ? D_80143CF0;
//extern ? D_80143D08;
//extern ? D_80143D28;
//extern ? D_80143D50;
//extern ? D_80143D74;
//extern ? D_80143D98;
//extern ? D_80143DBC;
//extern ? D_80143DEC;
//extern ? D_80143E30;
//extern ? D_80143E44;
//extern ? D_80143E5C;
//extern ? D_80143E64;
//extern ? D_80143E94;
//extern ? D_80143E98;
//extern ? D_80143EA0;
//extern ? D_80143ED4;
//extern ? D_80143ED8;
//extern ? D_80143EF0;
//extern ? D_80143F04;
//extern ? D_80143F1C;
//extern ? D_80143F24;
//extern ? D_80143F40;
//extern ? D_80143F44;
//extern ? D_80143F50;
//extern ? D_80143F58;
//extern ? D_80143F70;
//extern ? D_80143F74;
//extern ? D_80143F7C;
//extern ? D_80143F94;
//extern ? D_80143F98;
//extern ? D_80143FC4;
//extern ? D_80143FE0;
//extern ? D_80143FFC;
//extern ? D_80144018;
//extern ? D_80144038;
//extern ? D_80144054;
//extern ? D_80144070;
//extern ? D_8014408C;
//extern ? D_801440AC;
//extern ? D_801440D8;
//extern ? D_801440F4;
//extern ? D_801440FC;
//extern ? D_80144120;
//extern ? D_80144124;
//extern ? D_8014412C;
//extern ? D_80144150;
//extern ? D_80144154;
//extern ? D_8014415C;
//extern ? D_80144180;
//extern ? D_80144190;
//extern ? D_801441AC;
//extern ? D_801441B8;
//extern ? D_801441DC;
//extern ? D_801441E8;
//extern ? D_80144204;
//extern ? D_80144220;
//extern ? D_8014422C;
//extern ? D_80144244;
//extern ? D_80144250;
//extern ? D_80144268;
//extern ? D_80144294;
//extern ? D_801442A8;
//extern ? D_801442C8;
//extern ? D_801442E0;
//extern ? D_801442FC;
//extern ? D_80144300;
//extern ? D_8014431C;
//extern ? D_80144340;
//extern ? D_80144364;
//extern ? D_80144370;
//extern ? D_80144394;
//extern ? D_801443B0;
//extern ? D_801443BC;
//extern ? D_801443C4;
//extern ? D_801443D0;
//extern ? D_801443D8;
//extern ? D_801443E4;
//extern ? D_801443EC;
//extern ? D_801443F8;
//extern ? D_80144400;
//extern ? D_8014440C;
//extern ? D_80144414;
//extern ? D_80144420;
//extern ? D_80144428;
//extern ? D_80144434;
//extern ? D_8014443C;
//extern ? D_80144448;
//extern ? D_80144454;
//extern ? D_8014445C;
//extern ? D_80144468;
//extern ? D_80144470;
//extern ? D_8014447C;
//extern ? D_80144484;
//extern ? D_80144490;
//extern ? D_80144498;
//extern ? D_801444A4;
//extern ? D_801444AC;
//extern ? D_801444B8;
//extern ? D_801444C0;
//extern ? D_801444CC;
//extern ? D_801444D4;
//extern ? D_801444E0;
//extern ? D_801444E8;
//extern ? D_801444F4;
//extern ? D_801444FC;
//extern ? D_80144508;
//extern ? D_80144510;
//extern ? D_8014451C;
//extern ? D_80144524;
//extern ? D_80144530;
//extern ? D_80144538;
//extern ? D_80144544;
//extern ? D_8014454C;
//extern ? D_80144558;
//extern ? D_80144560;
//extern ? D_8014459C;
//extern ? D_801445CC;
//extern ? D_801445D8;
//extern ? D_801445E0;
//extern ? D_801445EC;
//extern ? D_801445F4;
//extern ? D_80144600;
//extern ? D_80144608;
//extern ? D_80144614;
//extern ? D_8014461C;
//extern ? D_80144628;
//extern ? D_80144630;
//extern ? D_8014463C;
//extern ? D_80144644;
//extern ? D_80144650;
//extern ? D_80144658;
//extern ? D_80144664;
//extern ? D_8014466C;
//extern ? D_80144678;
//extern ? D_80144680;
//extern ? D_8014468C;
//extern ? D_80144694;
//extern ? D_801446A0;
//extern ? D_801446A8;
//extern ? D_801446B4;
//extern ? D_801446BC;
//extern ? D_801446C8;
//extern ? D_801446D0;
//extern ? D_801446DC;
//extern ? D_801446E4;
//extern ? D_801446F0;
//extern ? D_801446F8;
//extern ? D_80144704;
//extern ? D_8014470C;
//extern ? D_80144718;
//extern ? D_80144720;
//extern ? D_8014472C;
//extern ? D_80144738;
//extern ? D_80144744;
//extern ? D_80144750;
//extern ? D_80144758;
//extern ? D_80144764;
//extern ? D_8014476C;
//extern ? D_80144778;
//extern ? D_80144780;
//extern ? D_8014478C;
//extern ? D_80144798;
//extern ? D_801447AC;
//extern ? D_801447C8;
//extern ? D_801447D4;
//extern ? D_801447E4;
//extern ? D_80144870;
//extern ? D_801448AC;
//extern ? D_801448EC;
//extern ? D_8014492C;
//extern ? D_80144A20;
//extern ? D_80144A28;
//extern ? D_80144A38;
//extern ? D_80144A40;
//extern ? D_80144A50;
//extern ? D_80144A58;
//extern ? D_80144A68;
//extern ? D_80144A70;
//extern ? D_80144A80;
//extern ? D_80144A88;
//extern ? D_80144A98;
//extern ? D_80144AA0;
//extern ? D_80144AB0;
//extern ? D_80144AB8;
//extern ? D_80144AC8;
//extern ? D_80144AD0;
//extern ? D_80144AE0;
//extern ? D_80144AE8;
//extern ? D_80144AF8;
//extern ? D_80144B00;
//extern ? D_80144B10;
//extern ? D_80144B18;
//extern ? D_80144B28;
//extern ? D_80144B30;
//extern ? D_80144B40;
//extern ? D_80144B50;
//extern ? D_80144B60;
//extern ? D_80144B6C;
//extern ? D_80144B7C;
//extern ? D_80144B8C;
//extern ? D_80144B9C;
//extern ? D_80144BA8;
//extern ? D_80144BB8;
//extern ? D_80144BC8;
//extern ? D_80144BD8;
//extern ? D_80144BE0;
//extern ? D_80144BF0;
//extern ? D_80144BF8;
//extern ? D_80144C08;
//extern ? D_80144C10;
//extern ? D_80144C20;
//extern ? D_80144C40;
//extern ? D_80144C80;
//extern ? D_80144CBC;
//extern ? D_80144CF0;
//extern ? D_80144D10;
//extern ? D_80144D24;
//extern ? D_80144D2C;
//extern ? D_80144D30;
//extern ? D_80144D50;
//extern ? D_80144D5C;
//extern ? D_80144D8C;
//extern ? D_80144D98;
//extern ? D_80144DA4;
//extern ? D_80144DB0;
//extern ? D_80144DBC;
//extern ? D_80144DC8;
//extern ? D_80144DE8;
//extern ? D_80144DF4;
//extern ? D_80144E08;
//extern ? D_80144E1C;
//extern ? D_80144E28;
//extern ? D_80144E3C;
//extern ? D_80144E40;
//extern ? D_80144E48;
//extern ? D_80144E88;
//extern ? D_80144EB4;
//extern ? D_80144EB8;
//extern ? D_80144EDC;
//extern ? D_80144EE8;
//extern ? D_80144EFC;
//extern ? D_80144F10;
//extern ? D_80144F1C;
//extern ? D_80144F38;
//extern ? D_80144F60;
//extern ? D_80144F80;
//extern ? D_80144F98;
//extern ? D_80144FA8;
//extern ? D_80144FB4;
//extern ? D_80144FD4;
//extern ? D_80144FF0;
//extern ? D_80145008;
//extern ? D_80145018;
//extern ? D_80145024;
//extern ? D_8014503C;
//extern ? D_80145054;
//extern ? D_8014509C;
//extern ? D_801450B8;
//extern ? D_801450C0;
//extern ? D_801450E4;
//extern ? D_801450F0;
//extern ? D_80145100;
//extern ? D_80145118;
//extern ? D_80145128;
//extern ? D_80145134;
//extern ? D_80145144;
//extern ? D_80145150;
//extern ? D_80145160;
//extern ? D_80145170;
//extern ? D_80145180;
//extern ? D_8014518C;
//extern ? D_8014519C;
//extern ? D_801451AC;
//extern ? D_801451BC;
//extern ? D_801451CC;
//extern ? D_801451DC;
//extern ? D_801451EC;
//extern ? D_80145200;
//extern ? D_80145210;
//extern ? D_8014521C;
//extern ? D_80145228;
//extern ? D_80145240;
//extern ? D_80145248;
//extern ? D_80145264;
//extern ? D_80145268;
//extern ? D_8014527C;
//extern ? D_8014528C;
//extern ? D_80145298;
//extern ? D_801452A4;
//extern ? D_801452B0;
//extern ? D_801452C0;
//extern ? D_801452D4;
//extern ? D_801452E8;
//extern ? D_801452FC;
//extern ? D_80145308;
//extern ? D_80145314;
//extern ? D_80145324;
//extern ? D_80145338;
//extern ? D_8014534C;
//extern ? D_80145360;
//extern ? D_8014536C;
//extern ? D_80145378;
//extern ? D_80145384;
//extern ? D_80145394;
//extern ? D_80145398;
//extern ? D_801453CC;
//extern ? D_801453D8;
//extern ? D_801453DC;
//extern ? D_80145410;
//extern ? D_8014541C;
//extern ? D_80145420;
//extern ? D_8014545C;
//extern ? D_80145460;
//extern ? D_8014549C;
//extern ? D_801454A0;
//extern ? D_801454DC;
//extern ? D_80145510;
//extern ? D_80145530;
//extern ? D_80145548;
//extern ? D_80145554;
//extern ? D_80145560;
//extern ? D_80145578;
//extern ? D_80145594;
//extern ? D_801455A0;
//extern ? D_801455C0;
//extern ? D_80145604;
//extern ? D_80145650;
//extern ? D_80145660;
//extern ? D_80145670;
//extern ? D_80145678;
//extern ? D_801456AC;
//extern ? D_801456B0;
//extern ? D_801456C4;
//extern ? D_801456EC;
//extern ? D_801456F8;
//extern ? D_80145718;
//extern ? D_80145720;
//extern ? D_8014573C;
//extern ? D_80145744;
//extern ? D_8014574C;
//extern ? D_80145754;
//extern ? D_8014575C;
//extern ? D_80145780;
//extern ? D_80145794;
//extern ? D_80145D40;
//extern ? D_80145D54;
//extern ? D_80145D60;
//extern ? D_80145D80;
//extern ? D_80145D8C;
//extern ? D_80145DEC;
//extern ? D_80145DF8;
//extern ? D_80145E58;
//extern ? D_80145E64;
//extern ? D_80145EBC;
//extern ? D_80145F18;
//extern ? D_80145F24;
//extern ? D_80145F48;
extern char D_80145F68[];
extern char D_80145F94[];
extern char D_80145FA0[];
extern char D_80145FFC[];
extern char D_80146014[];
//extern ? D_80146020;
//extern ? D_80146038;
//extern ? D_80146044;
//extern ? D_80146064;
//extern ? D_8014606C;
//extern ? D_8014607C;
//extern ? D_80146088;
//extern ? D_801460B0;
//extern ? D_801460CC;
//extern ? D_801460E0;
//extern ? D_801460F0;
//extern ? D_801460FC;
//extern ? D_8014610C;
extern char D_801461CC[];
//extern ? D_80146118;
//extern ? D_80146128;
//extern ? D_80146150;
//extern ? D_80146160;
//extern ? D_8014616C;
//extern ? D_80146198;
//extern ? D_801461A4;
//extern ? D_801461E0;
//extern ? D_801461F0;
//extern ? D_80146200;
//extern ? D_80146214;
extern char D_80146230[];
extern char D_80146238[];
//extern ? D_8014624C;
//extern ? D_80146260;
//extern ? D_80146274;
//extern ? D_8014627C;
//extern ? D_80146290;
//extern ? D_801462A4;
//extern ? D_801462A8;
//extern ? D_801462BC;
//extern ? D_801462D0;
//extern ? D_801462FC;
//extern ? D_80146318;
//extern ? D_80146344;
//extern ? D_80146360;
//extern ? D_8014638C;
//extern ? D_801463D0;
//extern ? D_801463DC;
//extern ? D_80146414;
//extern ? D_80146430;
//extern ? D_80146434;
//extern ? D_80146440;
//extern ? D_8014647C;
//extern ? D_80146480;
//extern ? D_8014648C;
//extern ? D_801464D0;
//extern ? D_80146570;
//extern ? D_80146580;
//extern ? D_8014659C;
//extern ? D_801465AC;
//extern ? D_80146670;
//extern ? D_80146690;
//extern ? D_80146698;
//extern ? D_801466A4;
//extern ? D_801466A8;
//extern ? D_801466B4;
//extern ? D_801466BC;
//extern ? D_801466C8;
//extern ? D_801466D0;
//extern ? D_801466DC;
//extern ? D_801466E0;
//extern ? D_801466EC;
//extern ? D_80146744;
//extern ? D_80146798;
//extern ? D_801467B8;
//extern ? D_801467D8;
//extern ? D_801467E0;
//extern ? D_80146810;
//extern ? D_80146858;
//extern ? D_8014685C;
//extern ? D_80146884;
//extern ? D_801468A8;
//extern ? D_801468B8;
//extern ? D_801468E0;
//extern ? D_801468F0;
//extern ? D_8014691C;
//extern ? D_8014692C;
//extern ? D_80146958;
//extern ? D_80146968;
//extern ? D_80146994;
//extern ? D_801469CC;
//extern ? D_801469F0;
//extern ? D_801469F8;
//extern ? D_80146A04;
//extern ? D_80146A0C;
//extern ? D_80147A98;
//extern ? D_80147AA4;
//extern ? D_80147AAC;
//extern ? D_80147AB4;
//extern ? D_80147AC0;
//extern ? D_80147AC8;
//extern ? D_80147AD4;
//extern ? D_80147AE4;
//extern ? D_80147AE8;
//extern ? D_80147AF4;
//extern ? D_80147B08;
//extern ? D_80147B18;
//extern ? D_80147B28;
//extern ? D_80147B38;
//extern ? D_80147B44;
//extern ? D_80147B50;
//extern ? D_80147B60;
//extern ? D_80147B70;
//extern ? D_80147B7C;
//extern ? D_80147B80;
//extern ? D_80147B9C;
//extern ? D_80147BA4;
//extern ? D_80147BAC;
//extern ? D_80147BB8;
//extern ? D_80147BC0;
//extern ? D_80147BCC;
//extern ? D_80147BE0;
//extern ? D_80147BE4;
//extern ? D_80147C04;
//extern ? D_80147C08;
//extern ? D_80147D98;
//extern ? D_80147D9C;
//extern ? D_80147DB8;
//extern ? D_80147DD0;
//extern ? D_80147E14;
//extern ? D_80147E58;
//extern ? D_80147E60;
//extern ? D_80147E6C;
//extern ? D_80147E70;
//extern ? D_80147E7C;
//extern ? D_80147E98;
//extern ? D_80147EB0;
//extern ? D_80147EC4;
//extern ? D_80147EF8;
//extern ? D_80147F18;
//extern ? D_80147F44;
//extern ? D_80147F5C;
//extern ? D_80147F90;
//extern ? D_80147FAC;
//extern ? D_80147FCC;
//extern ? D_80147FEC;
//extern ? D_80148008;
//extern ? D_8014802C;
//extern ? D_80148044;
//extern ? D_8014808C;
//extern ? D_80148374;
//extern ? D_80148380;
//extern ? D_801483A4;
//extern ? D_80148434;
//extern ? D_8014844C;
//extern ? D_80148450;
//extern ? D_8014845C;
//extern ? D_80148480;
//extern ? D_8014849C;
//extern ? D_801484C0;
//extern ? D_801484DC;
//extern ? D_801484F0;
//extern ? D_80148504;
//extern ? D_80148518;
//extern ? D_8014851C;
//extern ? D_80148544;
//extern ? D_80148568;
//extern ? D_8014858C;
//extern ? D_801485D0;
//extern ? D_801485D8;
//extern ? D_801485DC;
//extern ? D_801485E0;
//extern ? D_801485E4;
//extern ? D_801485E8;
//extern ? D_801485EC;
//extern ? D_801485F0;
//extern ? D_801485F4;
//extern ? D_801485F8;
//extern ? D_80148614;
//extern ? D_80148638;
//extern ? D_80148654;
//extern ? D_80148698;
//extern ? D_801486A0;
//extern ? D_801486A4;
//extern ? D_801486A8;
//extern ? D_801486AC;
//extern ? D_801486B0;
//extern ? D_801486B4;
//extern ? D_801486B8;
//extern ? D_801486BC;
//extern ? D_801486C0;
//extern ? D_801486E4;
//extern ? D_80148700;
//extern ? D_80148724;
//extern ? D_80148740;
//extern ? D_80148764;
//extern ? D_80148780;
//extern ? D_8014879C;
//extern ? D_801487B8;
//extern ? D_801487D4;
//extern ? D_801487F0;
//extern ? D_8014881C;
//extern ? D_8014882C;
//extern ? D_80148848;
//extern ? D_80148858;
//extern ? D_80148868;
//extern ? D_80148878;
//extern ? D_80148884;
//extern ? D_80148898;
//extern ? D_801488B8;
//extern ? D_801488DC;
//extern ? D_80148900;
//extern ? D_80148924;
//extern ? D_80148944;
//extern ? D_80148964;
//extern ? D_8014897C;
//extern ? D_80148998;
//extern ? D_801489BC;
//extern ? D_801489DC;
//extern ? D_801489F8;
//extern ? D_801489FC;
//extern ? D_80148A00;
//extern ? D_80148A04;
//extern ? D_80148B38;
//extern ? D_80148B5C;
//extern ? D_80148B7C;
//extern ? D_80148B90;
//extern ? D_80148BA0;
//extern ? D_80148BB8;
//extern ? D_80148BCC;
//extern ? D_80148BE0;
//extern ? D_80148BFC;
//extern ? D_80148C10;
//extern ? D_80148C2C;
//extern ? D_80148C5C;
//extern ? D_80148C80;
//extern ? D_80148CA0;
//extern ? D_80148CD0;
//extern ? D_80148CF4;
//extern ? D_80148CFC;
//extern ? D_80148D04;
//extern ? D_80148D2C;
//extern ? D_80148D34;
//extern ? D_80148D3C;
//extern ? D_80148D5C;
//extern ? D_80148D84;
//extern ? D_80148D9C;
//extern ? D_80148DA0;
//extern ? D_80148DB8;
//extern ? D_80148DBC;
//extern ? D_80148DD4;
//extern ? D_80148DD8;
//extern ? D_80148DEC;
//extern ? D_80148DF0;
//extern ? D_80148DF4;
//extern ? D_80148E10;
//extern ? D_80148E30;
//extern ? D_80148E44;
//extern ? D_80148E60;
//extern ? D_80148E78;
//extern ? D_80148E90;
//extern ? D_80148EA8;
//extern ? D_80148EC8;
//extern ? D_80148EE4;
//extern ? D_80148EFC;
//extern ? D_80148F18;
//extern ? D_80148F30;
//extern ? D_80148F48;
//extern ? D_80148F60;
//extern ? D_80148F80;
//extern ? D_80148F94;
//extern ? D_80148FB4;
//extern ? D_80148FD4;
//extern ? D_80148FF4;
//extern ? D_80149018;
//extern ? D_8014903C;
//extern ? D_80149060;
//extern ? D_80149080;
//extern ? D_801490A4;
//extern ? D_801490C8;
//extern ? D_801490F0;
//extern ? D_80149114;
//extern ? D_80149138;
//extern ? D_80149164;
//extern ? D_80149194;
//extern ? D_801491B0;
//extern ? D_801491D0;
//extern ? D_801491E8;
//extern ? D_80149204;
//extern ? D_80149218;
//extern ? D_80149420;
//extern ? D_8014942C;
//extern ? D_80149438;
//extern ? D_80149444;
//extern ? D_80149450;
//extern ? D_80149C60;
//extern ? D_80149C88;
//extern ? D_80149CB0;
//extern ? D_80149CC8;
//extern ? D_80149CE0;
//extern ? D_80149CF8;
//extern ? D_80149D10;
//extern ? D_80149D28;
//extern ? D_80149D2C;
//extern ? D_80149D40;
//extern ? D_80149D48;
//extern ? D_80149D58;
//extern ? D_80149D5C;
//extern ? D_80149D64;
//extern ? D_80149D74;
//extern ? D_80149D80;
//extern ? D_80149D94;
//extern ? D_80149DA4;
//extern ? D_80149DB8;
//extern ? D_80149DBC;
//extern ? D_80149DCC;
//extern ? D_80149DDC;
//extern ? D_80149DEC;
//extern ? D_80149DF8;
//extern ? D_80149E08;
//extern ? D_80149E18;
//extern ? D_80149E28;
//extern ? D_80149E38;
//extern ? D_80149E44;
//extern ? D_80149E50;
//extern ? D_80149E60;
//extern ? D_80149E68;
//extern ? D_80149EAC;
//extern ? D_80149EF0;
//extern ? D_80149F34;
//extern ? D_80149F48;
//extern ? D_80149F4C;
//extern ? D_80149F5C;
//extern ? D_80149F6C;
//extern ? D_80149F7C;
//extern ? D_80149F88;
//extern ? D_80149F94;
//extern ? D_80149FA4;
//extern ? D_80149FB0;
//extern ? D_80149FBC;
//extern ? D_80149FC4;
//extern ? D_80149FD0;
//extern ? D_80149FE0;
//extern ? D_80149FEC;
//extern ? D_80149FF0;
//extern ? D_80149FF4;
//extern ? D_8014A004;
//extern ? D_8014A014;
//extern ? D_8014A024;
//extern ? D_8014A030;
//extern ? D_8014A03C;
//extern ? D_8014A048;
//extern ? D_8014A054;
//extern ? D_8014A058;
//extern ? D_8014A05C;
//extern ? D_8014A060;
//extern ? D_8014A068;
//extern ? D_8014A06C;
//extern ? D_8014A074;
//extern ? D_8014A080;
//extern ? D_8014A08C;
//extern ? D_8014A098;
//extern ? D_8014A0A4;
//extern ? D_8014A0AC;
//extern ? D_8014A0B8;
//extern ? D_8014A0C4;
//extern ? D_8014A0D0;
//extern ? D_8014A0DC;
//extern ? D_8014A0E8;
//extern ? D_8014A0F4;
//extern ? D_8014A100;
//extern ? D_8014A108;
//extern ? D_8014A10C;
//extern ? D_8014A110;
//extern ? D_8014A114;
//extern ? D_8014A118;
//extern ? D_8014A11C;
//extern ? D_8014A120;
//extern ? D_8014A124;
//extern ? D_8014A128;
//extern ? D_8014A12C;
//extern ? D_8014A130;
//extern ? D_8014A134;
//extern ? D_8014A140;
//extern ? D_8014A154;
//extern ? D_8014A178;
//extern ? D_8014A19C;
//extern ? D_8014A1BC;
//extern ? D_8014A1C4;
//extern ? D_8014A1E4;
//extern ? D_8014A1EC;
//extern ? D_8014A200;
//extern ? D_8014A210;
//extern ? D_8014A224;
//extern ? D_8014A228;
//extern ? D_8014A23C;
//extern ? D_8014A250;
//extern ? D_8014A260;
//extern ? D_8014A268;
//extern ? D_8014A27C;
//extern ? D_8014A290;
//extern ? D_8014A2A8;
//extern ? D_8014A2C0;
//extern ? D_8014A2DC;
//extern ? D_8014A2E4;
//extern ? D_8014A30C;
//extern ? D_8014A310;
//extern ? D_8014A324;
//extern ? D_8014A334;
//extern ? D_8014A344;
//extern ? D_8014A350;
//extern ? D_8014A354;
//extern ? D_8014A364;
//extern ? D_8014A384;
//extern ? D_8014A39C;
//extern ? D_8014A3B4;
//extern ? D_8014A3D8;
//extern ? D_8014A3F0;
//extern ? D_8014A404;
//extern ? D_8014A414;
//extern ? D_8014A428;
//extern ? D_8014A43C;
//extern ? D_8014A450;
//extern ? D_8014A45C;
//extern ? D_8014A460;
extern const s16 D_8014A6C0[];
#define gTatumsPerBeat (D_8014A6C0[1])
extern const AudioContextInitSizes D_8014A6C4;
//extern ? D_8014A710;
//extern ? D_8014A728;
//extern ? D_8014A730;
//extern ? D_8014A738;
//extern ? D_8014A744;
//extern ? D_8014A750;
//extern ? D_8014A75C;
//extern ? D_8014A764;
//extern ? D_8014A770;
//extern ? D_8014A778;
//extern ? D_8014A784;
//extern ? D_8014A790;
//extern ? D_8014A798;
//extern ? D_8014A7A0;
//extern ? D_8014A7A8;
//extern ? D_8014A7B0;
//extern ? D_8014A7B8;
//extern ? D_8014A7BC;
//extern ? D_8014A7D0;
//extern ? D_8014A7E0;
//extern ? D_8014A7E8;
//extern ? D_8014A7F0;
//extern ? D_8014A7FC;
//extern ? D_8014A808;
//extern ? D_8014A814;
//extern ? D_8014A820;
//extern ? D_8014A82C;
//extern ? D_8014A838;
//extern ? D_8014A844;
//extern ? D_8014A854;
//extern ? D_8014A8B0;
//extern ? D_8014A8B4;
//extern ? D_8014A8C4;
//extern ? D_8014A8C8;
//extern ? D_8014A8D8;
//extern ? D_8014A8DC;
//extern ? D_8014A8EC;
//extern ? D_8014A8F0;
//extern ? D_8014A900;
//extern ? D_8014A920;
//extern ? D_8014A950;
//extern ? D_8014A968;
//extern ? D_8014A980;
//extern ? D_8014A9B8;
//extern ? D_8014A9EC;
//extern ? D_8014AA20;
//extern ? D_8014AA38;
//extern ? D_8014AA5C;
//extern ? D_8014AA80;
//extern ? D_8014B210;
//extern ? D_8014B280;
//extern ? D_8014B2E0;
//extern ? D_8014B2E8;
//extern ? D_8014B2F0;
//extern ? D_8014B2F4;
//extern ? D_8014B2F8;
//extern ? D_8014B2FC;
//extern ? D_8014B300;
//extern ? D_8014B304;
//extern ? D_8014B308;
//extern ? D_8014B310;
//extern ? D_8014B314;
//extern ? D_8014B318;
//extern ? D_8014B31C;
//extern ? D_8014B320;
//extern ? D_8014F548;
//extern ? D_8014FFFF;
//extern ? D_80151658;
//extern ? D_801533D4;
//extern ? D_80153768;
//extern ? D_801538F0;
//extern ? D_801538F4;
//extern ? D_801538F8;
//extern ? D_801538FC;
//extern ? D_80153900;
//extern ? D_80153930;
//extern ? D_80153948;
//extern ? D_8015394C;
//extern ? D_80153958;
//extern ? D_8015395A;
//extern ? D_8015395C;
//extern ? D_8015395E;
extern s16 D_80153960[];
//extern ? D_80153962;
//extern ? D_80153964;
//extern ? D_80153966;
//extern ? D_80153968;
//extern ? D_80153984;
//extern ? D_801539C8;
//extern ? D_801539D4;
//extern ? D_801539E0;
//extern ? D_801539E4;
//extern ? D_801539E8;
//extern ? D_801539EC;
//extern ? D_801539F0;
//extern ? D_801539F4;
//extern ? D_801539F8;
//extern ? D_801539FC;
//extern ? D_80153C50;
//extern ? D_80153C52;
//extern ? D_80153C54;
//extern ? D_80153C56;
//extern ? D_80153C58;
//extern ? D_80153CA8;
//extern ? D_80153CB4;
//extern ? D_80153CC0;
//extern ? D_80153CCC;
//extern ? D_80153CD8;
//extern ? D_80153CDC;
//extern ? D_80153CF8;
//extern ? D_80153CFC;
//extern ? D_80153D74;
//extern ? D_80153D78;
//extern ? D_80153D90;
//extern ? D_80153DEC;
//extern ? D_80153E48;
//extern ? D_80153E74;
//extern ? D_80153ED0;
//extern ? D_80153EFC;
//extern ? D_80153F28;
//extern ? D_80153F54;
//extern ? D_80153F74;
//extern ? D_80153FA0;
//extern ? D_80153FD0;
//extern ? D_80153FE4;
//extern ? D_80153FF8;
//extern ? D_8015400C;
//extern ? D_8015401C;
//extern ? D_80154030;
//extern ? D_80154040;
//extern ? D_80154054;
//extern ? D_80154068;
//extern ? D_80154078;
//extern ? D_8015408C;
//extern ? D_801540A8;
//extern ? D_801540B4;
//extern ? D_801540CC;
//extern ? D_801540D8;
//extern ? D_801540DC;
//extern ? D_801540F4;
//extern ? D_8015410C;
//extern ? D_80154120;
//extern ? D_80154128;
//extern ? D_8015413C;
//extern ? D_80154144;
//extern ? D_80154154;
//extern ? D_8015419C;
//extern ? D_801541A8;
//extern ? D_801541B8;
//extern ? D_801541CC;
//extern ? D_801541E0;
//extern ? D_801541F4;
//extern ? D_80154214;
//extern ? D_80154230;
//extern ? D_80154238;
//extern ? D_80154290;
//extern ? D_80154294;
//extern ? D_801542A8;
//extern ? D_801542BC;
//extern ? D_801542D0;
//extern ? D_801542E4;
//extern ? D_801542F8;
//extern ? D_8015430C;
//extern ? D_80154314;
//extern ? D_80154328;
//extern ? D_8015432C;
//extern ? D_80154334;
//extern ? D_80154358;
//extern ? D_8015435C;
//extern ? D_80154364;
//extern ? D_80154380;
//extern ? D_80154394;
//extern ? D_80154398;
//extern ? D_801543CC;
//extern ? D_801543F4;
//extern ? D_80154400;
//extern ? D_8015440C;
//extern ? D_80154428;
//extern ? D_80154434;
//extern ? D_80154464;
//extern ? D_80154470;
//extern ? D_801544AC;
//extern ? D_801544C0;
//extern ? D_801544D8;
//extern ? D_801544F8;
//extern ? D_80154518;
//extern ? D_80154538;
//extern ? D_8015454C;
//extern ? D_8015455C;
//extern ? D_80154568;
//extern ? D_80154570;
//extern ? D_80154588;
//extern ? D_801545A0;
//extern ? D_801545B8;
//extern ? D_801545BC;
//extern ? D_801545D4;
//extern ? D_801545E4;
//extern ? D_801545EC;
//extern ? D_80154618;
//extern ? D_80154620;
//extern ? D_80154644;
//extern ? D_8015464C;
//extern ? D_8015466C;
//extern ? D_80154670;
//extern ? D_80154688;
//extern ? D_8015469C;
//extern ? D_801546C8;
//extern ? D_801546D0;
//extern ? D_801546F0;
//extern ? D_801546F4;
//extern ? D_80154708;
//extern ? D_80154720;
//extern ? D_80154738;
//extern ? D_80154770;
//extern ? D_80154780;
//extern ? D_801547A4;
//extern ? D_801547AC;
//extern ? D_801547F4;
//extern ? D_801547FC;
//extern ? D_80154800;
//extern ? D_80154848;
//extern ? D_80154858;
//extern ? D_80154868;
//extern ? D_80154878;
//extern ? D_80154880;
//extern ? D_801548C8;
//extern ? D_801548D0;
//extern ? D_801548D4;
//extern ? D_8015491C;
//extern ? D_8015493C;
//extern ? D_8015494C;
//extern ? D_80154968;
//extern ? D_80154984;
//extern ? D_80154998;
//extern ? D_801549AC;
//extern ? D_801549B0;
//extern ? D_801549B8;
//extern ? D_801549BC;
//extern ? D_801549C0;
//extern ? D_801549C4;
//extern ? D_801549D8;
//extern ? D_801549EC;
//extern ? D_801549F8;
//extern ? D_80154A20;
//extern ? D_80154A48;
//extern ? D_80154A64;
//extern ? D_80154A78;
//extern ? D_80154AA0;
//extern ? D_80154AB4;
//extern ? D_80154AC0;
//extern ? D_80154AC8;
//extern ? D_80154AE8;
//extern ? D_80154AFC;
//extern ? D_80154B00;
extern u8 gAudioBankTable[];
extern u8 D_80155340[];
extern u8 gSequenceTable[];
extern u8 gAudioTable[];
//extern ? D_80155C70;
extern u8 D_80155F50[];
extern u8 D_80157580[];
extern u8 D_801579A0[];
extern u64 gJpegUCodeData[];
//extern ? D_8015BC30;
//extern ? D_8015BC3C;
//extern ? D_8015BC48;
//extern ? D_8015BC58;
//extern ? D_8015BC64;
//extern ? D_8015BC70;
//extern ? D_8015BC80;
//extern ? D_8015BC8C;
//extern ? D_8015BC98;
//extern ? D_8015BCA8;
//extern ? D_8015BCB4;
//extern ? D_8015BCC0;
//extern ? D_8015BCD0;
//extern ? D_8015BCDC;
//extern ? D_8015BCE8;
//extern ? D_8015BCF8;
//extern ? D_8015BCFC;
//extern ? D_8015BD00;
//extern ? D_8015BD08;
//extern ? D_8015BD0A;
//extern ? D_8015BD0C;
//extern ? D_8015BD0E;
//extern ? D_8015BD10;
//extern ? D_8015BD34;
//extern ? D_8015BD38;
//extern ? D_8015BD3C;
//extern ? D_8015BD50;
//extern ? D_8015BD70;
//extern ? D_8015BD7C;
//extern ? D_8015BD80;
//extern ? D_8015BD84;
//extern ? D_8015BD90;
//extern ? D_8015BD9C;
//extern ? D_8015CE46;
//extern ? playerFloorPoly;
//extern ? D_8015CE58;
//extern ? D_8015CE80;
//extern ? D_8015CE8C;
//extern ? D_8015CEA0;
//extern ? D_8015CEA8;
//extern ? D_8015CEC0;
//extern ? D_8015CED0;
//extern ? D_8015CF00;
//extern ? D_8015CF10;
//extern ? D_8015CF12;
//extern ? D_8015CF14;
//extern ? D_8015D3A4;
//extern ? D_8015D3A8;
//extern ? D_8015D3CC;
//extern ? D_8015D3D0;
//extern ? D_8015D3D8;
//extern ? D_8015D3DA;
//extern ? D_8015D3DC;
//extern ? D_8015D86C;
//extern ? D_8015D870;
//extern ? D_8015D894;
//extern ? D_8015D898;
//extern ? D_8015D8A0;
//extern ? D_8015D8A2;
//extern ? D_8015D8A4;
//extern ? D_8015DD34;
//extern ? D_8015DD38;
//extern ? D_8015DD5C;
//extern ? D_8015DD60;
//extern ? D_8015DD68;
//extern ? D_8015DD6A;
//extern ? D_8015DD6C;
//extern ? D_8015E1FC;
//extern ? D_8015E200;
//extern ? D_8015E224;
//extern ? D_8015E228;
//extern ? D_8015E230;
//extern ? D_8015E268;
//extern ? D_8015E2A0;
//extern ? D_8015E2D8;
//extern ? D_8015E310;
//extern ? D_8015E320;
//extern ? D_8015E358;
//extern ? D_8015E390;
//extern ? D_8015E3A0;
//extern ? D_8015E3D8;
//extern ? D_8015E410;
//extern ? D_8015E420;
//extern ? D_8015E430;
//extern ? D_8015E440;
//extern ? D_8015E478;
//extern ? D_8015E4B0;
//extern ? D_8015E4C0;
//extern ? D_8015E4F8;
//extern ? D_8015E530;
//extern ? D_8015E564;
//extern ? D_8015E598;
//extern ? D_8015E5A8;
//extern ? D_8015E5DC;
//extern ? D_8015E610;
//extern ? D_8015E61C;
//extern ? D_8015E628;
//extern ? D_8015E638;
//extern ? D_8015E648;
extern SaveContext gSaveContext; // 0x8015E660
extern GameInfo* gGameInfo; // 0x8015FA90
//extern ? D_8015FA98;
//extern ? D_8015FA9B;
//extern ? D_8015FC18;
extern u16 D_8015FCC0;
extern u16 D_8015FCC2;
extern u16 D_8015FCC4;
//extern ? D_8015FCC6;
extern u8 D_8015FCC8;
//extern ? D_8015FCCA;
extern u8 D_8015FCF0;
extern Vec3f D_8015FCF8;
extern s16 D_8015FD04;
extern s16 D_8015FD06;
extern f32 D_8015FD08;
extern s16 D_8015FD0C;
//extern ? D_8015FD10;
extern u8 D_8015FD70;
//extern ? D_8015FD7C;
//extern ? D_8015FD7E;
//extern ? D_8015FD80;
//extern ? D_8015FD84;
//extern ? D_8015FD88;
//extern ? D_8015FD98;
//extern ? D_8015FDA0;
//extern ? D_8015FDAE;
//extern ? D_8015FDB0;
//extern ? D_8015FDF8;
extern MapData* gMapData;
//extern ? D_80160020;
//extern ? D_801600C0;
extern u8 D_80161010;
extern u8 D_801610D4;
extern u8 D_801610D5;
extern u8 D_801610DA;
//extern ? D_80161118;
//extern ? D_8016111A;
//extern ? D_8016111C;
//extern ? D_80161120;
//extern ? D_8016112C;
//extern ? D_80161138;
//extern ? D_8016113C;
//extern ? D_80161160;
//extern ? D_8016116E;
//extern ? D_80161170;
//extern ? D_8016117E;
//extern ? D_80161180;
//extern ? D_80161240;
//extern ? D_801612D0;
//extern ? D_801612D2;
//extern ? D_801612EC;
extern f32 gBossMarkScale;
extern PauseMapMarksData* gLoadedPauseMarkDataTable;
extern s32 gTrnsnUnkState;
extern Color_RGBA8_u32 D_801614B0;
extern SpeedMeter gSpeedMeter;
//extern ? D_801664F0;
//extern ? D_80166500;
//extern ? D_80166510;
//extern ? D_80166528;
//extern ? D_801665B0;
//extern ? D_801665C0;
//extern ? D_801665D0;
//extern ? D_801665D4;
//extern ? D_801665D8;
//extern ? D_801665DC;
//extern ? D_801665E0;
//extern ? D_801665F0;
//extern ? D_80166648;
extern PreNmiBuff* gAppNmiBufferPtr;
extern SchedContext gSchedContext;
extern PadMgr gPadMgr;
//extern ? D_80166D28;
extern u32 gSegments[NUM_SEGMENTS];
extern volatile OSTime D_8016A520;
extern volatile OSTime D_8016A528;
extern volatile OSTime D_8016A530;
extern volatile OSTime D_8016A538;
extern volatile OSTime D_8016A540;
extern volatile OSTime D_8016A548;
extern volatile OSTime D_8016A550;
extern volatile OSTime D_8016A558;
extern volatile OSTime gRSPAudioTotalTime;
extern volatile OSTime gRSPGFXTotalTime;
extern volatile OSTime gRSPOtherTotalTime;
extern volatile OSTime gRDPTotalTime;
extern SpeedMeterTimeEntry* gSpeedMeterTimeEntryPtr;
//extern ? D_8016A590;
//extern ? D_8016A594;
//extern ? D_8016A598;
//extern ? D_8016A5A0;
//extern ? D_8016A5B8;
//extern ? D_8016A5C4;
//extern ? D_8016A5D0;
//extern ? D_8016A5E8;
//extern ? D_8016A5F8;
//extern ? D_8016A608;
//extern ? D_8016A618;
//extern ? D_8016A628;
//extern ? D_8016A638;
//extern ? D_8016A688;
//extern ? D_8016A698;
//extern ? D_8016A6A8;
//extern ? D_8016A6E8;
//extern ? D_8016A6F8;
//extern ? D_8016A704;
//extern ? D_8016A710;
//extern ? D_8016A720;
//extern ? D_8016A724;
//extern ? D_8016A728;
//extern ? D_8016A730;
//extern ? D_8016A732;
//extern ? D_8016A734;
//extern ? D_8016A736;
//extern ? D_8016A738;
//extern ? D_8016A73A;
//extern ? D_8016A73C;
//extern ? D_8016A73E;
//extern ? D_8016A740;
//extern ? D_8016A750;
//extern ? D_8016A794;
//extern ? D_8016A7AC;
extern FaultThreadStruct gFaultStruct;
//extern ? D_8016B5F6;
//extern ? D_8016B684;
//extern ? D_8016B690;
//extern ? D_8016B692;
//extern ? D_8016B6A0;
//extern ? D_8016B6B5;
//extern ? D_8016B6B8;
extern OSMesgQueue D_8016B6E0;
//extern OSMesg D_8016B6F8;
extern u8* D_8016B738[];
//extern u32 D_8016B780;
//extern ? sAudioUpdateStartTime;
//extern ? sAudioUpdateEndTime;
//extern ? D_8016B7A8;
//extern ? D_8016B7AC;
//extern ? D_8016B7B0;
//extern ? D_8016B7B8;
//extern ? D_8016B7C8;
//extern ? D_8016B7D8;
//extern ? D_8016B7DC;
//extern ? D_8016B7E0;
//extern ? D_8016B7E8;
//extern ? D_8016B8B0;
//extern ? D_8016B8B1;
//extern ? D_8016B8B2;
//extern ? D_8016B8B3;
//extern ? D_8016B8B4;
//extern ? D_8016B8B8;
//extern ? D_8016B9B8;
//extern ? D_8016B9D8;
//extern ? D_8016B9E0;
//extern ? D_8016B9F2;
//extern ? D_8016B9F3;
//extern ? D_8016B9F4;
//extern ? D_8016B9F6;
//extern ? D_8016B9F8;
//extern ? D_8016B9F9;
//extern ? D_8016BA00;
//extern ? D_8016BA04;
//extern ? D_8016BA08;
//extern ? D_8016BA09;
//extern ? sCurOcarinaBtnPress;
//extern ? D_8016BA10;
//extern ? sPrevOcarinaBtnPress;
//extern ? D_8016BA18;
//extern ? sCurOcarinaSong;
//extern ? sOcarinaSongAppendPos;
//extern ? sOcarinaHasStartedSong;
//extern ? gOcarinaSongNotestartIdx;
//extern ? sOcarinaSongCnt;
//extern ? sOcarinaAvailSongs;
//extern ? D_8016BA2E;
//extern ? D_8016BA50;
//extern ? D_8016BA70;
//extern ? sLearnSongExpectedNote;
//extern ? D_8016BAA0;
//extern ? D_8016BAA8;
//extern ? D_8016BAB0;
//extern ? sDebugPadPressRaw;
//extern ? sDebugPadPress;
//extern ? sAudioUpdateTaskStart;
//extern ? sAudioUpdateTaskEnd;
extern SoundBankEntry D_8016BAD0[9];
extern SoundBankEntry D_8016BC80[12];
extern SoundBankEntry D_8016BEC0[22];
extern SoundBankEntry D_8016C2E0[20];
extern SoundBankEntry D_8016C6A0[8];
extern SoundBankEntry D_8016C820[3];
extern SoundBankEntry D_8016C8B0[5];
//extern ? D_8016C9A0;
extern u8 D_8016E1A0[7];
extern u8 D_8016E1A8[7];
extern u8 D_8016E1B0[7];
extern Struct_800F7CEC D_8016E1B8[7][3]; // total size = 0xA8
extern u8 D_8016E260;
extern u8 D_8016E264[];
//extern ? D_8016E270;
extern u16 D_8016E2E0[];
extern u16 D_8016E2F8[];
extern u8 D_8016E310[];
//extern ? D_8016E320;
//extern ? D_8016E348;
//extern ? sAudioSeqCmds;
extern unk_D_8016E750 D_8016E750[4];
//extern ? D_8016EE8B;
extern AudioContext gAudioContext; // at 0x8016F180
//extern ? D_80174D28;
//extern ? D_80174D38;
//extern ? D_80174D48;
//extern ? D_80174D64;
//extern ? D_80174D68;
//extern ? D_80174D88;
//extern ? D_80174DA0;
//extern ? D_80174DB8;
//extern ? D_80174DBC;
//extern ? D_80174DC0;
extern void(*D_801755D0)(void); // not sure about arguments yet.
extern u32 __osMalloc_FreeBlockTest_Enable;
//extern ? D_80175640;
//extern ? D_80175670;
//extern ? D_80175680;
//extern ? D_80175688;
//extern ? D_80175690;
//extern ? D_80175698;
//extern ? D_8017569C;
//extern ? D_801756A0;
//extern ? D_801756A8;
extern Arena gSystemArena;
extern OSPifRam osPifBuffers[MAXCONTROLLERS];
extern OSMesg osSiMesgBuff[SIAccessQueueSize];
extern OSMesgQueue gOSSiMessageQueue;
extern OSPifRam __osPifInternalBuff;
extern u8 __osContLastPoll;
extern u8 __osMaxControllers;
extern OSMesgQueue __osContMesgQueue;
extern OSMesg __osContMesgBuff[4];
extern __OSInode __osPfsInodeCache;
extern OSPifRam gPifMempakBuf;
//extern ? D_801759A0;
//extern ? D_801759A4;
//extern ? D_801759A8;
//extern ? D_801759AA;
//extern ? D_801759AC;
//extern ? D_801759AE;
//extern ? D_801759B0;
//extern ? D_801759B2;
//extern ? D_801759B4;
//extern ? D_801759B6;
//extern ? D_801759B8;
//extern ? D_801759BA;
//extern ? D_801759BC;
//extern ? D_801759BE;
extern u16 gZBuffer[SCREEN_HEIGHT][SCREEN_WIDTH]; // 0x25800 bytes
extern u64 gGfxSPTaskOutputBuffer[0x3000]; // 0x18000 bytes
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE]; // 0xC00 bytes
extern u8 gGfxSPTaskStack[0x400]; // 0x400 bytes
extern GfxPool gGfxPools[2]; // 0x24820 bytes
extern u8 gAudioHeap[0x38000]; // 0x38000 bytes
extern u8 gSystemHeap[];
#endif