Compare commits

...

598 commits

Author SHA1 Message Date
Pepe20129
7b4df9bdb2
Boss Rush cleanup (#5652)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Reduce stuff in the `.h`s & use `COND_HOOK` + variants

* Move some boss rush stuff from `z_file_choose.c`

* clang

* Update BossRush.cpp
2025-08-13 12:08:32 -07:00
Philip Dubé
fadae49977
shipinit bonk damage (#5653)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* shipinit bonk damage

* no initFunc
2025-08-13 09:46:36 -07:00
Pepe20129
ee20f7f762
Fix max count for TH keys (#5670)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-08-12 20:39:31 -07:00
nclok1405
ce38e03562
Allow console commands in debug save (#5675) 2025-08-12 20:38:44 -07:00
Philip Dubé
9cdffc080b
small typo fixes (#5680)
incorrect RR was tripping up my code generator
2025-08-12 20:36:51 -07:00
PurpleHato
c597e1c4ce
TWEAK: SoT Time Travel - Allow Swordless (#5716)
* Magic number + more modular

* tweak + switch

* forgot basic oot

* linebreak

* c-lang
2025-08-12 19:57:19 -07:00
Pepe20129
526d221c56
Add timestamps for remaining custom rando items (#5713) 2025-08-12 19:57:02 -07:00
Pepe20129
3e39a94083
Turn song text into a notification (#5712) 2025-08-12 19:56:52 -07:00
Pepe20129
6d4c6f8ea6
Rando: Remove ice trap effect from vanilla ice trap chests (#5711)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
2025-08-05 20:43:41 -07:00
Malkierian
429021d434
Add THRescuedAllCarpenters to reset list to prevent seed bleed of bridge. (#5725) 2025-08-05 18:28:19 -07:00
Malkierian
1d20000411
MPQ Support LUS Bump (#5570)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Adapt to changes to LUS regarding including MPQ support.

* CMake compile definitions are stupid.

* Don't manually close O2RArchive.

* Finish LUS bump, including SoH-side fix for font free crash.
2025-07-28 08:54:31 -07:00
aMannus
73209fcf2c
Merge pull request #5697 from Malkierian/blair-foxtrot-dev
Blair Foxtrot -> Develop
2025-07-25 11:56:33 +02:00
Malkierian
27d88c80b1 Merge branch 'develop-blair' of github.com:Malkierian/Shipwright into blair-foxtrot-dev 2025-07-24 10:04:06 -07:00
Malkierian
7d7072f717
Bump version to 9.0.5 (#5694) 2025-07-23 21:31:13 -07:00
Jordan Longstaff
ccf3d4b6a0
Add playing icon to improve Audio Editor indicator (#5686) 2025-07-23 20:48:01 -07:00
AltoXorg
d06cf6bf10
timesplitdata.json obey app directory (#5693) 2025-07-23 20:45:46 -07:00
Malkierian
d51e88b972
Rando Versioning (Again) (#5691)
* Adds Sulu/Spock rando block check (data not empty, but all sub-entries null), and put that and data being empty to the old file flow.
Also moves the `SaveFile` call to after everything else is loaded to preserve sohStats block.

* Add check for blank buildVersion in sohStats block for determining old saves.

* clang
2025-07-23 20:45:22 -07:00
Malkierian
c588d48672
Bump version to Blair Echo. (#5690) 2025-07-21 22:21:59 -07:00
Malkierian
35ad68578e
Prevent empty randomizer blocks from triggering the rando version flow. (#5689)
Clear SpoilerLog CVar when unsupported spoiler log is discovered on load.
2025-07-21 22:19:04 -07:00
Malkierian
5066fbf82c
Fix old file deletion. (#5688) 2025-07-21 17:57:40 -07:00
Malkierian
47c5a7f308
Bump version to Blair Delta 9.0.3, and fix a typo. (#5687) 2025-07-21 14:31:48 -07:00
Pepper0ni
37fb25d2b3
Fix logic for items given at run start due to settings (#5665)
* initial changes

* submodules

* fix master sword, skip zelda and skip epona logic

* I for one welcome our new clang overlords...
2025-07-21 11:00:39 -07:00
Shishu the Dragon
681e8dda26
Ivan: collect deku seeds (#5654) 2025-07-21 10:47:03 -07:00
Malkierian
a93b484cf3
Add Clear Devices button that will erase the controllers block. (#5683) 2025-07-21 10:44:53 -07:00
OtherBlue
dfa10383e4
Split Skip Pickup Messages (#5648)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Split Skip Pickup Messages

following ZFG's comment https://youtube.com/clip/UgkxF-LDaR-zyTkqSkqtP3dkLrCca_KGScIw?si=RJY9SIG8QKSiWgVl

splits the Skip Pickup Messages time saver for consumables and bottle pickups

* CVar updates I missed

* another cvar I missed
2025-07-02 21:35:49 -07:00
Malkierian
237dcfec74
Move all maps from Menu.h to the source files that use them. (#5644)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
2025-07-01 17:40:42 -07:00
Philip Dubé
ec54d02c0c
Spirit Flags (#5631)
1. skip cutscene delay for sun on floor & sun on block
2. persist sun on floor temp flag
3. persist big mirror being solved before platform lowered

2 removes need for weird bomb key logic
3 needed for shuffle doors
2025-07-01 12:04:26 -07:00
Philip Dubé
cddc7353af
tts: replace rupee count with key count in dungeons (except first 3 child dungeons) (#5642) 2025-07-01 10:54:39 -07:00
aMannus
48d2193fec
CrowdControl additions & improvements (#5104)
* CrowdControl additions & improvements

* Update after dev merge

* clang format

* Revert "clang format"

This reverts commit 1be5ad18f5.

* clang format
2025-07-01 10:54:26 -07:00
Philip Dubé
05a7f728e7
dev tools save editor: change dungeon drop down to current dungeon (#5635)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-07-01 10:30:02 -07:00
aMannus
db58c3a029
Fix clang-format ps1 script (#5637)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Fix clang-format ps1 script

* use path variable
2025-06-30 16:56:55 -07:00
Philip Dubé
f80836d8b7
Enemy Randomizer: all the invis (#5621)
Fire Keese, Floormaster, Ice Keese, Keese, Redead, Stalfos
2025-06-30 14:52:45 -07:00
Philip Dubé
928bb7767b
reduce logical implications of closed forest (#5626)
* reduce logical implications of closed forest

closed forest should only be about kokiri blocking the way,
no need to try plug alternate forest escapes out

* revert adult deku being unlocked in forest without showing mido sword/shield
2025-06-30 14:52:02 -07:00
Malkierian
96d3b480b1
Merge pull request #5638 from Malkierian/blair-dev-6-30
Blair->Dev 6/30
2025-06-30 14:31:30 -07:00
Malkierian
7f3d2adc63 Fix whitespacing in presets. 2025-06-30 13:04:51 -07:00
Malkierian
015dcf2af1 Fix typo. 2025-06-30 10:58:49 -07:00
Malkierian
30d1932354 Re-add new preset items to new preset files. 2025-06-30 09:37:02 -07:00
Malkierian
002e8e9f09 Merge branch 'develop-blair' of github.com:Malkierian/Shipwright into develop 2025-06-30 09:28:11 -07:00
Malkierian
32683e2a74
Change early return in CheckTrackerLoadGame to check specifically for Boss Rush instead of Not Rando. (#5634)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
2025-06-29 19:12:04 -07:00
Philip Dubé
063fb2577f
cleanup, trying to speed up build (#5627)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-06-29 18:21:47 -07:00
Malkierian
16c3cb1adf
Tracker circle (#5632)
* Fix item tracker circle display.

* Add .o2r to .gitignore.

* clang
2025-06-29 18:06:21 -07:00
Philip Dubé
112fbc5a4b
trick: ledge clip into gtg (#5618)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* trick: ledge clip into gtg

* fix
2025-06-29 13:57:57 -07:00
Malkierian
a9b857469e
Fix Boss Rush scene/cutscene setup after Bongo/Twinrova. (#5623)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
Also prevent check tracker crash loading Boss Rush.
2025-06-28 17:48:21 -07:00
Eblo
9924ebbd05
Enhancement to double pause menu animation speed (#5615)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Add enhancement to speed up pause menu animation

* Rename CVar to FasterPauseMenu

* Rename kaleido to pause menu

* Rename register func to InitFasterPauseMenu
2025-06-28 07:50:28 -07:00
Malkierian
1161ce3546
Expand tooltip for Free Look to explain camera locks and scene reload. (#5624)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-06-28 07:50:06 -07:00
louist103
e15f8d395b
Backport 2ship streamed audio (#5457)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Bring over changes from 2ship

# Conflicts:
#	.github/workflows/apt-deps.txt
#	soh/CMakeLists.txt
#	soh/soh/resource/importer/AudioSampleFactory.h
#	soh/soh/resource/importer/AudioSequenceFactory.cpp
#	soh/soh/resource/importer/AudioSequenceFactory.h
#	soh/soh/resource/importer/AudioSoundFontFactory.h

* Update xml format

* Format and fix mixer for Windows

* Fixes for new LUS

* Good ole clang-format
2025-06-27 17:15:02 -07:00
Philip Dubé
9e686ae6f6
Shuffles: use ObjectExtension system for rando object identity (#5603)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-06-25 22:00:53 -07:00
Eric Hoey
8b616c8709
first person to first-person (#5616)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-06-25 21:54:57 -07:00
Pepper0ni
1d24edaa92
Split Gerudo Fortress and fix break room logic errors (#5338)
* Separate HBA range

* Separate 4 rooftop regions

* Rest of rooftops

* Small cleanup

* Whoops

* Create `thieves_hideout.cpp` & move `gerudo_fortress.cpp`

* Ground and some inside

* More outside cleanup and more inside

* Kitchen

* Final tweaks

* Use `TH_` prefix for Thieves' Hideout locations

* Add clarifying images (+ `.xcf` source)

* Thieves' Hideout is overworld

* Fix `RC_GF_GS_TOP_FLOOR` & blue -> violet entrance

* Address review

* Update gerudo_fortress.cpp

* Address review

* Split "CarpenterRescue"

* Rename events

* Update logic.cpp

* Move from function to event

* Rename most of the regions

* Address review

* Add new conections

* update logic, get it working

* apply clang format

* undo clang format in logic files

* final reordering

* remove additions to .gitIgnore

* Fix some jump trick logic

* clean up ShufflePots

* fix submodules

* update for review and talk to jail and always gate PRs

* change thieves hideout to scene handling

* final fixes and update enum names and hint text

---------

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
2025-06-25 21:54:48 -07:00
Eric Hoey
63bd4ed565
cast to signed 16-bit to stop truncation (#5617) 2025-06-25 21:42:27 -07:00
Philip Dubé
c2e7adf915
more tricks (#4866)
* more tricks

1. big poe without epona
2. king dodongo with chu
3. morpha without hookshot
4. open underwater chests (ignore water temple usage for now because water logic is weird)
5. DC MQ stairs without stick, also bring over vanilla alternatives for stairs

rename RT_DC_STAIRCASE to RT_DC_STAIRS_WITH_BOW

* consistency
2025-06-25 09:33:47 -07:00
Jordan Longstaff
3b82b8eeff
Ruto no longer targetable with sitting down skip (#5611) 2025-06-25 09:27:45 -07:00
Eric Hoey
74560a360d
fix pot param (#5610) 2025-06-23 18:32:35 -07:00
louist103
040e0e1921
Tools update (#5454)
* Bump ZAPDTR & OTRExporter.
Changes to use o2r by default
Changes to the new player animation format

# Conflicts:
#	OTRExporter
#	ZAPDTR
#	soh/soh/OTRGlobals.cpp
#	soh/src/code/z_skelanime.c

* Fix actions

* Format

* Cherry pick ZAPDTR

* Update exporter

* Move configs to port

* Remove copy

* Remove more XML copies

* Remove extractor directory from actions builds.

* Fix OTRExporter for linux

* FIx ZAPD volatile

* Format

* Fix extractor?

* Fix linux

* Fix

* Remove appimage stuff

* Screnity now

* Remove ZAPD from install paths

* Remove soh.sh.in

* Fix linux

* Cleanups and use a thread for message box
2025-06-23 21:29:40 -04:00
Malkierian
4676242086
Fix dpad navigation on Quest Status pause screen. (#5607) 2025-06-23 16:02:04 -07:00
xxAtrain223
afde504a0f
Updated SpoilerFileExists to cache the results. (#5606) 2025-06-23 16:01:49 -07:00
xxAtrain223
17613d1f50
Fix Available Checks On Load (#5599)
* Setup call to RecalculateAvailableChecks instead of direct call.

* Remove RecalculateAvailableChecks from CheckTrackerSettingsWindow::DrawElement.
2025-06-23 15:52:17 -07:00
Philip Dubé
64f9e433da
Tag navi dive tricks as glitches (#5598) 2025-06-22 21:35:17 -07:00
Malkierian
e0ebc115ce
Initialize OTRGlobals' Context early to prevent non-portable crash during asset archive lookup. (#5605) 2025-06-22 16:32:37 -07:00
Malkierian
cf0ea3033e
Fix warning for euro symbol in CustomMessageManager.h. (#5604) 2025-06-22 12:41:13 -07:00
Malkierian
2d59721b7a
Small fixes to allow running and seed generation. (#5600)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
2025-06-19 22:10:06 -07:00
nclok1405
7ecefa8f90
Converted "Passage of Time on File Select" to ShipInit Hook (#5595) 2025-06-19 18:59:46 -07:00
nclok1405
7514bdc08b
Convert enemy-specific cheats "No ReDead/Gibdo Freeze" and "Keese/Guay don't Target You" to hooks (#5597)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-06-19 15:06:10 -07:00
Sirius902
3943242cb2
Dynamically construct weird frame data (#5195) 2025-06-19 15:05:57 -07:00
Schicksal88
517b52176c
German translation cleanup (#5471)
* German translation cleanup

- German ice trap names and code for it to show up. Changed the order of translations to english/french/german to make it consistent with item_list.cpp.
- German shops as those are now complete.
- German translation for ingame fileselect rando menu.
- Added function to mark an item as plural. This is necessary to have proper grammar in most german sentences. If an item has a € at the end of it and the sentence it get's inserted into has |singular|plural| forms defined, the singular part get's removed.
- Added the plural markers & |singular|plural| parts to the entire german script where it was necessary.
- Fixed grammar, typos, inconsistencies and now everything uses official Zelda-game names.
- Fixed vanilla/master quest map text

* ice trap fix

accidentally commented out french twice instead of spanish. fixed.

* German Randomizer

Some fix for Schicksal

* Fix number 2

Fix number 2 for Schicksal

* Update soh/soh/Enhancements/custom-message/CustomMessageManager.cpp

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

* clang format

---------

Co-authored-by: amafresh <arminamayeh@gmail.com>
Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2025-06-19 14:53:50 -07:00
Philip Dubé
7f3aac36b2
ShuffleFreestanding: ShipInit (#5583) 2025-06-19 14:53:15 -07:00
Philip Dubé
1e60c48e3a
a11y: linux tts with espeak-ng (#5428)
* a11y: linux tts with espeak-ng

* dlopen

* Show setting on Linux
2025-06-19 14:27:56 -07:00
Philip Dubé
4c31f2bc88
Extend RT_BLUE_FIRE_MUD_WALLS (#5215)
Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
2025-06-19 13:43:39 -07:00
Philip Dubé
180d6a1b90
FasterShadowShip.cpp (#5114)
Makes boat 25x faster
2025-06-19 13:42:53 -07:00
Philip Dubé
561f151615
a11y: tts integration with randomizer start menu (#5414) 2025-06-19 13:42:00 -07:00
nclok1405
565d57112e
Japanese translation for Better Debug Warp Screen (#5491)
* Japanese translation for Better Debug Warp Screen

* Incorporate fixes by balloondude2 (except Shield/Treasure Chest Grave inconsistencies which I'm unsure how to handle that)

* Localize "Scene Selection" header for each language

* Added/Restored the ability to render Hiragana characters using GFXP_HIRAGANA macro
2025-06-19 13:41:41 -07:00
Philip Dubé
7f4c570a47
ShuffleFairies: ShipInit (#5582)
* ShuffleFairies: ShipInit

* fix big fairy items
2025-06-19 13:40:37 -07:00
Philip Dubé
073205c862
ShufflePots: ShipInit (#5584) 2025-06-19 13:40:24 -07:00
nclok1405
4f95ab3f46
Add/Restore the option to automatically boot into Debug Warp Screen (#5485)
* Added/Restored the option to automatically boot into Debug Warp Screen

* clang-formated

* Added a new hook and moved Boot To Debug Warp Screen to it

* clang

* Added DebugEnabled to initFunc's CVar list. This should prevent Debug Warp from being triggered when Boot to Debug Warp option is enabled but Debug Mode option is disabled.

* No longer hijacks CustomLogoTitle

* Disable "Boot Sequence" dropdown when Boot to Debug Warp Screen is enabled
2025-06-19 13:39:03 -07:00
Philip Dubé
c0ea595fa5
rando: always spawn gerudo guard behind gate (also fix gaurd typos) (#5399)
* rando: always spawn guard behind gate (also fix gaurd typos)

someone had seed where they had card so couldn't be caught to pass gate in reverse wasteland

* move guard spawn logic to hook
2025-06-19 13:38:11 -07:00
Philip Dubé
a9ede7d46e
SwitchTimerMultiplier: fix crash due to missing actor param (#5593) 2025-06-19 13:37:48 -07:00
Malkierian
be22c02d00
Reapply "Set Sample Rate to 32000 hz (#4780)" (#5234) (#5508)
This reverts commit feea299291.

Also applies rupee screech fix LL provided to 2ship.
2025-06-19 13:34:47 -07:00
Philip Dubé
81b3123586
timesavers: shipinit (#5416)
* timesavers: shipinit

* feedback

* intro skip not unconditional
2025-06-19 13:34:11 -07:00
Pepe20129
87c971372d
Change Region's scene string with a SceneId (#5398)
* Change region scene from string to sceneid

* Deduce `timePass` from scene

* Deduce `areas` from scene where possible

No possible for `RR_CASTLE_GROUNDS` & "link's pocket" areas

* Update zoras_fountain.cpp

* Applied clang format

* Address review

* Address review

* Clang format

* Fix pseudo regions

* Format

* Address review

* Address review
2025-06-19 13:32:39 -07:00
Philip Dubé
4c547416cc
replace MT RNG with PCG (#4973)
replace boost hashing with FNV-1a
removes boost as a dependency
2025-06-19 13:31:35 -07:00
Pepper0ni
b564148380
Add wallet to mask logic, clean up mask logic (#5567)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
2025-06-19 13:28:50 -07:00
Malkierian
a9a49ccbe6
Adds saving and loading for location exclusion, and hooks the check tracker up to return false from IsVisibleInCheckTracker if a location was excluded. (#5594) 2025-06-19 13:26:43 -07:00
Pepper0ni
2daf343755
Change excluded checks to have junk instead of non-advancment. (#5592)
* Change excluded checks to have junk instead of non-advancment

* loud frying pan noises
2025-06-19 13:26:30 -07:00
Malkierian
081338b9f9
Merge pull request #5577 from Malkierian/dev-blair-6-12
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
Blair -> Develop 6/12
2025-06-18 13:01:13 -07:00
Pepper0ni
b932b8f6c9
Clarify hint text for pots in interiors (#5591)
Some checks are pending
generate-builds / build-windows (push) Blocked by required conditions
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
* Clarify hint text for pots in interors

* Make dampe's pots text less like a naming error
2025-06-18 08:39:09 -07:00
Pepper0ni
19e9f39a9a
Hardcode spirit hands to be dungeon checks (#5590)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Hardcode spirit hands to be dungeon checks

* CLANG CLANG CLANG!
2025-06-16 15:29:46 -07:00
Pepper0ni
aa7693a103
fix various oversights with altar hint off (#5589) 2025-06-16 15:29:22 -07:00
Pepper0ni
f2bc7cd1dc
Fix rare crash in randomiser generation (#5585)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2025-06-15 10:22:36 -07:00
xxAtrain223
620d08002c
RecalculateAvailableChecks Fix - IsSaveLoaded Guard (#5587)
* Added IsSaveLoaded guard clause to RecalculateAvailableChecks.

* Combined RecalculateAvailableChecks guard clauses.
2025-06-15 10:22:03 -07:00
Malkierian
35361c9e8d
Create macro to make All and None buttons for cutscene skips trigger ShipInit for each CVar changed. (#5576) 2025-06-15 10:20:09 -07:00
Philip Dubé
330e64180c
Difficulty: SwitchTimerMultiplier (#5555)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Difficulty: FireTimerMultiplier

Introduces slider to adjust timer on fire walls resetting switches

* rename, add more timers

* also shadow trial, dampe race, deku water

* avoid decrementing timer to 0, which with BgMizu can cause timer to go below 0 & break

* gtg eye statue

* also scale torches

* tooltip

* Limit difficulty: torches stop at -3 & shadow temple torch puzzle stops at -4

* put timer condition as should when convenient
2025-06-15 10:19:58 -07:00
Jordan Longstaff
b600836e4f
New options that affect feeding Jabu-Jabu (#5397)
* New options that affect feeding Jabu-Jabu

* Add hints for what Jabu-Jabu wants

* Roll back "key" settings to just closed/open, finish rando logic

* Revert "Add hints for what Jabu-Jabu wants"

This reverts commit 2a1974a669.

* Fix vanilla enhancement disabler
2025-06-15 10:19:52 -07:00
Pepper0ni
eefe7729ab
CanUse instead of HasItem for Hover Boots to reach jabu switch ledge (#5581)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* CanUse instead of HasItem for Hover Boots to reach jabu switch

* also fix a similar issue in fountain
2025-06-14 07:51:33 -07:00
Jordan Longstaff
ab9af742fa
Finish hint translations for fish by waterfall (#5466)
Some checks are pending
generate-builds / generate-soh-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Finish hint translations for fish by waterfall

* Revise
2025-06-13 22:43:31 -07:00
Philip Dubé
213ea742eb
Gerudo Guards: offer to throw you in jail (#5390)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Gerudo Guards: offer to throw you in jail

Necessary for logic to use being captured in routing

* don't intercept Ge3

* TODO_TRANSLATE

* cleanup
2025-06-13 22:43:25 -07:00
Malkierian
cd32181415 Fix incorrect merge conflict resolution. 2025-06-12 22:41:19 -07:00
Malkierian
c2b6942282 clang 2025-06-12 17:57:29 -07:00
Malkierian
2b1322d723 Merge branch 'develop-blair' of github.com:Malkierian/Shipwright into develop 2025-06-12 17:46:47 -07:00
Jason
62c03abfd4
Updates docs/MODDING.md example to reflect current codebase (#5558)
* Update docs/MODDING.md change example to reflect current codebase

* Changes to MODDING.md (#5558): fixes slight typo

* Changes to MODDING.md (#5558): fix typo and remove uneeded explanation that minimum and maximum are floats
2025-06-12 13:39:21 -07:00
Malkierian
bf3add7a72
Re-add ShipInit::InitAll() to the end of applyPreset(). (#5574) 2025-06-12 13:24:19 -07:00
Philip Dubé
9432b3420b
tts: only announce timer at 10s intervals (#5559)
* tts: only announce timer at 30s

1. reading out every second doesn't have enough time to even say more than a number
2. tts is hard to hear the rest of the game over while it's counting non stop

* under a minute announce every 10s
2025-06-12 13:23:47 -07:00
Pepper0ni
c7e3e08f8d
Fix club moblins moving out of bounds and remove them from the no-clear-room list (#5569) 2025-06-12 13:23:42 -07:00
Philip Dubé
52debea44b
Difficulty: CuccosToReturn (#5552)
* Difficulty: CuccosToReturn

Mirrors rando option

* remove RSK_CUCCO_COUNT

* revert forcing rando to at least 1
2025-06-11 14:41:54 -07:00
Malkierian
69792e9717
Save and Randomizer Version Control (#5557)
* Add version control for Rachael saves and old rando saves.

* Change spoiler drop success sound to puzzle success chime.
Add spoiler drop fail sound (sys_error).
Improve path sanitizer operation.
Add check for a spoiler having a version and it equaling running version. Deletes spoiler CVar if spoiler becomes unusuable while running, and prevents loading dropped spoilers that don't match.

* clang

* Remove backslash escaping from Sanitize.
Remove duplicate Sanitize from Context and make it use SohUtils.
Fix typo.
2025-06-11 14:39:15 -07:00
Philip Dubé
07328a0ecb
remove leftover No Dampe Fire checkbox (#5561)
got moved to difficulty dropdown
2025-06-11 14:38:34 -07:00
Philip Dubé
af99ef8e07
Hookify TreesDropSticks (#5566)
* Hookify TreesDropSticks

* fix off by one
2025-06-11 14:38:12 -07:00
Rozelette
dbc2ff09b5
Convert actor health bars to use ObjectExtension (#5565) 2025-06-11 14:37:34 -07:00
Malkierian
0b9fe2d9b9
Fix Search Crash from Scrolling (#5571)
* Fix search crashing when section child scrolled too far.

* clang
2025-06-11 14:35:57 -07:00
Eric Hoey
ad850e50b1
prevent OOB write for BGM fix in grotto mixed pools (#5572) 2025-06-11 14:35:49 -07:00
Pepe20129
abb0a93945
Add Anubis, Flare Dancer, Skull Kid & Spear Moblin to enemy randomizer (#5483)
* Add Anubis, Flare Dancer, Skull Kid & Spear Moblin

* Include spear moblins and exclude flare dancer in clear rooms

* Exclude anubis from clear rooms

* Fix skull kill issues

* Clang format

* Address review

* Use hook

* Update z_en_mb.c
2025-06-04 18:07:57 -07:00
Philip Dubé
5b2c30edb0
Faster water temple gate (#5556)
* rando: faster water temple gate

* move to time saver
2025-06-04 17:09:06 -07:00
nclok1405
3377dc636a
Default to Hiragana keyboard when playing in Japanese (#5543)
* Default to Hiragana keyboard in Name Entry screen when playing in Japanese (NTSC behavior)

* clang-formated
2025-06-04 17:08:50 -07:00
Philip Dubé
3a60c3f651
SkipAmyPuzzle (#5550) 2025-06-04 17:08:36 -07:00
Philip Dubé
56a53e9fac
consolidate RAND_GET_OPTION (#5553) 2025-06-04 17:08:27 -07:00
Pepe20129
f5d8f1eece
Add ShuffleSongs.cpp & RO_SONG_SHUFFLE_OFF (#5534)
* ShuffleSongs.cpp

* Address review and fix build

* Update soh/soh/Enhancements/randomizer/settings.cpp

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

* Change back to "Off"

---------

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2025-05-30 12:51:21 -07:00
Malkierian
40fa3c8d64
Convert RandomizerInf to the dynamic #define model to allow for automatic string names. (#5537) 2025-05-29 19:14:32 -07:00
Pepe20129
40da9997c5
Fix some dark link issues (#5532) 2025-05-29 07:51:35 -07:00
Philip Dubé
2b360d4bbe
Rebottle Blue Fire (#5375)
* Rebottle Blue Fire

* hookify
2025-05-29 07:06:53 -07:00
Hunter Marshall
fc10e36cdb
Fix minor mistakes in region table (#5545)
* Fix minor mistakes in region table

* Update soh/soh/Enhancements/randomizer/location_access/dungeons/ice_cavern.cpp

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

---------

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2025-05-27 14:34:36 -07:00
Pepper0ni
f0e36c2694
Fix failure to assign areas to regions on initial spoiler load (#5540) 2025-05-27 13:19:30 -07:00
Malkierian
fa6f45bde5
Fix Preset List with no customs available (#5535)
* Surround preset file processing with the fs::exists check rather than returning early.

* clang
2025-05-27 13:19:14 -07:00
xxAtrain223
de96f3cd0a
Typo Fixes (#5533)
* Fixed a couple typos.

* Ran clang format.
2025-05-24 10:39:53 -07:00
Jordan Longstaff
4e8e6d2313
Move Rupee Dash Mode hook to its own file (#5178)
* Move Rupee Dash Mode hook to its own file

* Rename initFunc
2025-05-23 20:29:43 -07:00
Rozelette
8b4cad1710
Rework ActorViewer to use hooks (#5474)
* Rework ActorViewer to use hooks

* Rework ActorViewer to use hooks

* Remove ResetData
2025-05-23 18:47:08 -07:00
xxAtrain223
d330f22071
Available Checks Entrance Shuffle (#5363)
* EntranceShuffler ApplyEntranceOverrides.

* Updated ApplyEntranceOverrides.

* Updated ApplyEntranceOverrides.

* Initial Entrance Discovery.

* Added Randomizer_EntranceDiscovered.

* Updated Randomizer_DiscoverRegion to discover unshuffled connected regions.

* Removed extra semi-colon.

* Update to latest entranceShuffleTable.

* Format fixes.

* Updated EntranceDiscovered to account for entrances not in the entranceShuffleTable.

* Rediscover regions when loading a game.

* Rediscover entrances when enabling Available Checks.

* Added Rando::Context::ParseTricksJson.

* Updated ApplyEntranceOverrides to skip default (unset) overrides.

* Fix clang-format failed check.

* Set mLACSCondition when loading a Randomizer game.

* Updated rediscover loop to use MAX_ENTRANCE_RANDO_USED_INDEX.

* Move entrance discovered into ProcessExits.

* Discover spawns when pulling/placing the master sword.

* Discover adult/child spawn when using Song of Time to switch age.

* Reset logic and ApplyOrStoreItems without applying the item effects to the save when calculating available checks.

* Removed !itemLoc->IsAddedToPool() from the check tracker.

* Remove region discovery as its not needed anymore.

* Cleanup changed files for PR.

* Added Available Checks - Process Undiscovered Exits DebugConsole command.

* Added initial Available Checks - Recalculate DebugConsole command.

* ACPUE, recalculate only if save loaded. ACR, set age and times for the starting region.
2025-05-23 17:49:01 -07:00
TheLynk
f2298c6a8e
Add Two New Tricks "Navi dive" (#5477)
* add navi dive bottom of the well

* add kokiri sword logic for botw

* Optimisation Logic

* Add Navi Dive Lost Wood

* Update Logic

* Move IsChild in logic trick

* Add brackets

* Clang-Format

* Tweak Text

Tweak Text

* Final Push ?

* It's really the last push
2025-05-23 15:37:30 -07:00
Malkierian
99c3fa6006
Preset Manager (#5459)
* Add presets sidebar, proof of concept row-based listing.

* Complete and unify section check/x drawing.

* Add error state to InputString, and corresponding members and builders to InputOptions.
Implement saving and loading of preset files.

* Implement `Config::SetBlock()`.
Implement Apply.
Implement Delete.
Some json structure changes.

* Apply `CVarClear()` calls in CVar-prefixed widget functions.

* Comment out satellite preset pickers for now.

* clang

* Fix ButtonOptions initializer list.

* I hate clang...

* Loop new preset checkbox creation.
Restore auto-resizing to new preset popup.
Remove errant BeginDisabled in randomizer (merge artifact?).

* Add BlockInfo struct to make array with all info for each block.
Setup loops for all other same-ish situations (applying presets, setting up columns, etc) based on blockInfo.

* Save tracker windows info for later restoration.
Lay the groundwork for said restoration.

* Complete tracker window restoration on preset application.

* Fix RadioButtonsOptions builder parameter type.
Add race lockout to new and apply buttons.

* Revert application of CVarClear on UIWidgets widgets (need to preserve manually-set default states).

* Remove enhancements satellite picker.
Swap randomizer satellite picker to use the manager presets, only displays presets with randomizer section included.
Move built-in presets to the asset archive, and remove delete button on them.
Remove PresetEntries.cpp.

* Fix locations and tricks tabs not updating live when applying preset with new system.

* Apply RandoGenerating lockout to rando preset Apply button.

* Fix new presets not being properly filtered in satellite selectors.

* Fix currently selected presets getting deleted still being selected in satellite selectors.

* Change BigPoeTargetCount in preset files to 1.
2025-05-23 14:57:49 -07:00
Philip Dubé
3a069e621e
Fix warnings (#5516)
* use size_t instead of uint8_t for hint ids

* va_arg int instead of s16

warning: second argument to 'va_arg' is of promotable type 's16' (aka 'short'); this va_arg has undefined behavior because arguments will be promoted to 'int' [-Wvarargs]

* more issues like #5443
2025-05-23 14:21:25 -07:00
Malkierian
d69a45674f
Adds a check for "OneDrive" in the execution path to the startup errors that prevent running. (#5522) 2025-05-23 14:06:25 -07:00
Rozelette
a2541fded8
Exclude build dependencies from clang format (#5490) 2025-05-23 14:06:19 -07:00
nclok1405
150029fa49
Set default player name to "リンク" ("Link" in Katakana) when playing in Japanese (#5487) 2025-05-23 14:05:59 -07:00
Rozelette
e4448f491e
Add ObjectExtension system (#5429) 2025-05-23 14:05:33 -07:00
Jordan Longstaff
db8440e744
Move Shadow Tag Mode hook to its own file (#5179)
* Move Shadow Tag Mode hook to its own file

* Rename initFunc
2025-05-23 14:04:43 -07:00
Jordan Longstaff
d8acc32876
Move Daytime Gold Skulltulas mod hook to its own file (#5174)
* Move Daytime Gold Skulltulas mod hook to its own file

* Fix externs?

* Rename initFunc
2025-05-23 14:04:20 -07:00
Malkierian
ae480e107e
Implement Log Level selector setting (#5263)
* Implement Log Level selector setting.

* run clang

* Enum for default value.

* PR feedback: use CVAR_DEVELOPER_TOOLS in CVar builder.

* Slight change to try to force a PR update.

* screw you clang
2025-05-23 14:03:30 -07:00
Philip Dubé
ca32dfd246
Dampe Fire (#5521)
* No Dampe Fire

* spicy

* bikeshed
2025-05-23 14:03:20 -07:00
Philip Dubé
24013e2e5c
skip bottling big poes (#5247)
* setting to skip bottling big poes

empty bottle still required to collect

avoids logic needing to work around player soft locking by filling bottles without poe collector access

* No option, zero option

* TEXT_BIG_POE_COLLECTED_RANDO

* update preset

* fix talking to poe collector after receiving item
2025-05-23 14:00:35 -07:00
Pepper0ni
a9fc317a5a
Fix crash when no valid enemies are selected (#5519)
* fix crash when no valid enemies are selected

* Clanged
2025-05-22 15:23:14 -07:00
Philip Dubé
1d716a5975
ShuffleBeehives.cpp (#5511) 2025-05-22 15:18:03 -07:00
Pepper0ni
2511275b8b
Fix getting heart containers on pocket and skipped impas song (#5518)
* fix getting heart containers on pocket and skipped impas song

* curse you clang! CURSE YOU!
2025-05-21 15:01:54 -07:00
Malkierian
79b6719db3
Change soh.otr loading to use LocateFileAcrossAppDirs() instead of just the app bundle path. (#5525) 2025-05-21 11:30:16 -07:00
Pepper0ni
01ce1eeac8
Fix oversight in lab boots trick, you need to be able to swim back up (#5524) 2025-05-21 08:51:43 -07:00
Pepper0ni
5bf3761a18
Fix Boss and Tower entryways skipping requirements in decoupled (#5484)
* Fix boss and tower entryways in decoupled

* Add patches to child boss room entryways

* Apply fixes

* remember to set ALL the new exits
2025-05-21 08:51:34 -07:00
Philip Dubé
4216776cd6
Fix entrance optimization (#5520)
I'm an idiot
2025-05-19 22:47:04 -07:00
Malkierian
e1f6297807
Merge pull request #5517 from HarbourMasters/develop-blair
Develop blair
2025-05-19 09:19:44 -07:00
briaguya
081f82875a
fix link voice missing when hanging off ledges (#5506)
* fix link voice missing when hanging off ledges

* remove unused bitrate var

* hardcoded but justified

* format
2025-05-18 21:24:57 -07:00
Pepper0ni
4334a132e3
fix the wrong codepath being used in CanBuy when generating seeds (#5514) 2025-05-18 14:28:55 -07:00
briaguya
f0e40fd1dc
fix incorrect token count in messages when tokensanity is off (#5503)
* fix incorrect token count in messages when tokensanity is off

* Update OTRGlobals.cpp
2025-05-18 14:26:10 -07:00
Pepper0ni
f16e34e8b8
fix and rename IsKeysanity to IsFireLoopLocked (#5515)
* c

* fix and rename IsKeysanity

* add comment
2025-05-18 14:25:18 -07:00
briaguya
53566c9a73
fix incorrect __VA_ARGS__ use in lusprintf version of osSyncPrintf (#5510) 2025-05-18 16:25:24 -04:00
briaguya
50f42b93fe
fix "is valid for C/ObjC but not for C++" warnings (#5512) 2025-05-18 16:25:00 -04:00
Malkierian
ecad59e31f
Add tooltip to Generate Seed button when disabled indicating the need to be on File Select. (#5509) 2025-05-17 18:52:45 -07:00
Pepper0ni
8e34942924
Toggle the vanilla flags instead of the rando flags when removing one time scrubs (#5504) 2025-05-17 18:06:24 -07:00
xxAtrain223
e0d5fbec42
Available Checks Prices (#5446)
* Improved the item location price availability.

* Moved the available checks price logic into location_access.cpp.

* Fixed typo and clarified check status identified.
2025-05-17 18:05:20 -07:00
Eric Hoey
b30fff5d57
Skip Forest Temple Basement Pillars Cutscene (#5473)
* vb forest pillar cs skip

* change to one point cutscene skip

* rm whitespace
2025-05-17 17:56:57 -07:00
xxAtrain223
66351fa4e4
Remove freestanding key from Bottom of the Well Perimeter. (#5496) 2025-05-17 17:30:01 -07:00
xxAtrain223
9cb6530858
Fix Enable Available Checks from title screen. (#5502) 2025-05-17 17:29:53 -07:00
briaguya
3c0e7bcf72
bump lus (to bump imgui) (#5501) 2025-05-17 17:12:05 -04:00
briaguya
b418db7792
bump lus (#5500) 2025-05-17 15:35:51 -04:00
briaguya
4f0ed2949e
fix seed gen underflow (#5499) 2025-05-17 07:55:21 -07:00
briaguya
026c7619da
set soh c standard to 23 (#5498) 2025-05-17 02:16:59 -04:00
Christopher Leggett
6acabae38f
Prevent another use of gSaveContext during Seed Generation (#5458)
* Prevent BeanPlanted using gSaveContext for seed gen

* address malk's comment about extern

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2025-05-16 23:11:04 -07:00
Archez
9010b8c540
port over nametag improvements from 2ship (#5160) 2025-05-17 01:09:23 -04:00
Malkierian
e673eaefb6
Warnings Round 2 (mostly Rando) (#5486)
* Handle virtually all warnings in `soh/Enhancements/randomizer`.
Handle order of operations warning in FasterHeavyBlockLift.

* Missed a few.

* Add float-specific versions of some M_PI and M_SQRT defines, and swap them in for the static casts in draw.cpp.

* Swap a static cast for M_PIf in check tracker code.
2025-05-16 21:54:36 -07:00
Malkierian
23a5198986
Merge pull request #5497 from HarbourMasters/develop-blair
blair -> dev
2025-05-16 21:46:00 -07:00
Pepper0ni
5b6844ccd8
reapply changes needed for C23 build on develop (#5467) 2025-05-17 00:41:14 -04:00
Malkierian
b900f8599a
Bump LUS to latest, and handle tinyxml and gfx_pc changes. (#5470) 2025-05-16 21:14:55 -07:00
briaguya
4fd0bf402e
set c standard to 17 (#5492) 2025-05-16 15:07:52 -07:00
Pepper0ni
e8c2db8151
remove all refernces to Doge (#5488) 2025-05-15 19:51:14 -07:00
Malkierian
45d9fe54d2
Warnings Squashing Round 1 (#5469)
* Fix truncation warning in `entrance.h`.

* Fix type warning in fishsanity.cpp

* Fix implicit conversion warnings in BossRush, Mouse, and UIWidgets.hpp.

* Add Random_Float and use it in GameInteractor_RawAction.cpp.
Make non-specified seed init a separate function.

* clang after type change

* Fix truncation and conversion warnings in ExtraTraps.cpp.

* Resolve type conversion warnings in InputViewer.cpp.

* Resolve some type conversion warnings in hook_handlers.cpp.

* Remove `Random_Float`, and apply `RandomDouble` where it was being used instead.
Add proper range notation to `RandomDouble` to denote the lack of inclusivity for the max part of the range.

* Convert c-style casts to static_cast.
2025-05-13 19:30:04 -07:00
Philip Dubé
afc52f07d2
location_access: don't short circuit event access logic (#5216)
event logic is only run while event isn't set
2025-05-13 12:30:22 -07:00
Philip Dubé
eb95f9060f
Faster empty bottle, faster bean skulltula (#5355)
* Faster empty bottle, faster bean skulltula

* shipinit
2025-05-13 12:30:04 -07:00
Philip Dubé
f9cde383b7
ignore out of bounds entrance overrides in json (#5253)
was causing segfault when using settings from door shuffle on develop
2025-05-12 20:33:21 -07:00
Pepper0ni
f72085b6ca
fix oversight in dragon room of MQ water (#5482) 2025-05-12 20:31:40 -07:00
Eric Hoey
804a24861b
add option description to LACS reward options (#5472) 2025-05-07 14:45:42 -07:00
Jordan Longstaff
6cbb298f76
Skip Kakariko and Hyrule Castle gate cutscenes (#5314)
* Skip Kakariko gate cutscenes

* Simplify a bit

* Revert "Simplify a bit"

This reverts commit ffa68c130fede6962bb4488b85c9ec61ccc60170.

* Add Hyrule Castle gate skip

* Add missing backtick

* Redo simplifications

* Run clang-format

* Proper casting of clearCamera argument

Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>

---------

Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
2025-05-06 17:01:36 -07:00
Eric Hoey
6a93625f5c
VBify Crawl Speed Enhancement and Add Exlcude Glitch-Aiding Crawlspace Option (#5465)
* add menu option

* VBify + add conditions

* oops wrong func

* clean up includes + casting

* move z_player externed functions

* better name

* correct menu text

* one last name final final

* maintain glitch-aiding selection
2025-05-06 17:00:33 -07:00
Jordan Longstaff
19eb4f39ab
Skip trial barrier dispel cutscenes (#5464) 2025-05-01 20:27:20 -07:00
Philip Dubé
a0e49f9960
a11y: read out changes in action button (#5421)
* a11y: read out changes in action button

* remove drop & throw & putaway

* down when on horse

* typos
2025-05-01 20:26:15 -07:00
Philip Dubé
626511ffb1
CheckBeatable: move clearing ctx->playthroughBeatable into function (#5408) 2025-05-01 20:11:55 -07:00
Philip Dubé
1a322c3eb5
OTRGlobals: use SohUtils::CopyStringToCharBuffer (#5328)
* OTRGlobals: use SohUtils::CopyStringToCharBuffer

* size_t

* fix issues when max buffer size is 0
2025-05-01 20:11:01 -07:00
Philip Dubé
3c33185d1a
optimize GetEntrance (#5257) 2025-05-01 19:36:03 -07:00
Philip Dubé
d790ea4bce
use LOGIC_BUY_STICKS / LOGIC_BUY_NUTS in logic (#5251) 2025-05-01 19:34:56 -07:00
Jordan Longstaff
bc3b17f4ab
Add coloured text as current BGM indicator in Audio Editor (#5392) 2025-05-01 19:00:43 -07:00
Pepper0ni
4c9063caa7
Remove redundent entrance logic check when adding a region to the pool. (#5413)
* remove redundent entrance logic check when adding a region to the pool.

* how did this trigger clang...
2025-05-01 19:00:31 -07:00
Pepper0ni
baa91cbadb
Format map GI text (#5417)
* Format map GI text

* dum
2025-05-01 19:00:22 -07:00
Philip Dubé
4debe6829a
Apply final specifier to classes inheriting from Ship::GuiWindow (#5443)
Was getting infamous c++ style warnings:
```
In file included from /home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:8:
In file included from /home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.hpp:12:
In file included from /home/erpre/s/ShipWright/soh/soh/SohGui/SohMenuBar.h:3:
In file included from /home/erpre/s/ShipWright/soh/../libultraship/include/libultraship/libultraship.h:5:
In file included from /home/erpre/s/ShipWright/soh/../libultraship/include/libultraship/bridge.h:4:
In file included from /home/erpre/s/ShipWright/soh/../libultraship/src/public/bridge/resourcebridge.h:9:
In file included from /home/erpre/s/ShipWright/soh/../libultraship/src/resource/type/Texture.h:3:
In file included from /home/erpre/s/ShipWright/soh/../libultraship/src/resource/Resource.h:3:
In file included from /home/erpre/s/ShipWright/soh/../libultraship/src/resource/File.h:3:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/string:42:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/char_traits.h:57:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'SohGui::SohMenu' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<SohGui::SohMenu>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<SohGui::SohMenu>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<SohGui::SohMenu>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<SohGui::SohMenu, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<SohGui::SohMenu, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[18], const char (&)[10]>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<SohGui::SohMenu, std::allocator<void>, const char (&)[18], const char (&)[10]>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<SohGui::SohMenu>::__shared_ptr<std::allocator<void>, const char (&)[18], const char (&)[10]>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<SohGui::SohMenu>::shared_ptr<std::allocator<void>, const char (&)[18], const char (&)[10]>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:121:21: note: in instantiation of function template specialization 'std::make_shared<SohGui::SohMenu, const char (&)[18], const char (&)[10]>' requested here
  121 |     mSohMenu = std::make_shared<SohMenu>(CVAR_WINDOW("Menu"), "Port Menu");
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'SohConsoleWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<SohConsoleWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<SohConsoleWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<SohConsoleWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<SohConsoleWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<SohConsoleWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[24], const char (&)[13], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<SohConsoleWindow, std::allocator<void>, const char (&)[24], const char (&)[13], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<SohConsoleWindow>::__shared_ptr<std::allocator<void>, const char (&)[24], const char (&)[13], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<SohConsoleWindow>::shared_ptr<std::allocator<void>, const char (&)[24], const char (&)[13], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:124:27: note: in instantiation of function template specialization 'std::make_shared<SohConsoleWindow, const char (&)[24], const char (&)[13], ImVec2>' requested here
  124 |     mConsoleWindow = std::make_shared<SohConsoleWindow>(CVAR_WINDOW("SohConsole"), "Console##SoH", ImVec2(820, 630));
      |                           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'SohGfxDebuggerWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<SohGfxDebuggerWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<SohGfxDebuggerWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<SohGfxDebuggerWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<SohGfxDebuggerWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<SohGfxDebuggerWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[28], const char (&)[17], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<SohGfxDebuggerWindow, std::allocator<void>, const char (&)[28], const char (&)[17], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<SohGfxDebuggerWindow>::__shared_ptr<std::allocator<void>, const char (&)[28], const char (&)[17], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<SohGfxDebuggerWindow>::shared_ptr<std::allocator<void>, const char (&)[28], const char (&)[17], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:128:14: note: in instantiation of function template specialization 'std::make_shared<SohGfxDebuggerWindow, const char (&)[28], const char (&)[17], ImVec2>' requested here
  128 |         std::make_shared<SohGfxDebuggerWindow>(CVAR_WINDOW("SohGfxDebugger"), "GfxDebugger##SoH", ImVec2(820, 630));
      |              ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'SohStatsWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<SohStatsWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<SohStatsWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<SohStatsWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<SohStatsWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<SohStatsWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[22], const char (&)[11], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<SohStatsWindow, std::allocator<void>, const char (&)[22], const char (&)[11], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<SohStatsWindow>::__shared_ptr<std::allocator<void>, const char (&)[22], const char (&)[11], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<SohStatsWindow>::shared_ptr<std::allocator<void>, const char (&)[22], const char (&)[11], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:131:25: note: in instantiation of function template specialization 'std::make_shared<SohStatsWindow, const char (&)[22], const char (&)[11], ImVec2>' requested here
  131 |     mStatsWindow = std::make_shared<SohStatsWindow>(CVAR_WINDOW("SohStats"), "Stats##Soh", ImVec2(400, 100));
      |                         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'AudioEditor' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<AudioEditor>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<AudioEditor>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<AudioEditor>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<AudioEditor, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<AudioEditor, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[25], const char (&)[13], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<AudioEditor, std::allocator<void>, const char (&)[25], const char (&)[13], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<AudioEditor>::__shared_ptr<std::allocator<void>, const char (&)[25], const char (&)[13], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<AudioEditor>::shared_ptr<std::allocator<void>, const char (&)[25], const char (&)[13], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:139:31: note: in instantiation of function template specialization 'std::make_shared<AudioEditor, const char (&)[25], const char (&)[13], ImVec2>' requested here
  139 |     mAudioEditorWindow = std::make_shared<AudioEditor>(CVAR_WINDOW("AudioEditor"), "Audio Editor", ImVec2(820, 630));
      |                               ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'InputViewer' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<InputViewer>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<InputViewer>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<InputViewer>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<InputViewer, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<InputViewer, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[25], const char (&)[13]>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<InputViewer, std::allocator<void>, const char (&)[25], const char (&)[13]>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<InputViewer>::__shared_ptr<std::allocator<void>, const char (&)[25], const char (&)[13]>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<InputViewer>::shared_ptr<std::allocator<void>, const char (&)[25], const char (&)[13]>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:141:25: note: in instantiation of function template specialization 'std::make_shared<InputViewer, const char (&)[25], const char (&)[13]>' requested here
  141 |     mInputViewer = std::make_shared<InputViewer>(CVAR_WINDOW("InputViewer"), "Input Viewer");
      |                         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'InputViewerSettingsWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<InputViewerSettingsWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<InputViewerSettingsWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<InputViewerSettingsWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<InputViewerSettingsWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<InputViewerSettingsWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[33], const char (&)[22], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<InputViewerSettingsWindow, std::allocator<void>, const char (&)[33], const char (&)[22], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<InputViewerSettingsWindow>::__shared_ptr<std::allocator<void>, const char (&)[33], const char (&)[22], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<InputViewerSettingsWindow>::shared_ptr<std::allocator<void>, const char (&)[33], const char (&)[22], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:143:33: note: in instantiation of function template specialization 'std::make_shared<InputViewerSettingsWindow, const char (&)[33], const char (&)[22], ImVec2>' requested here
  143 |     mInputViewerSettings = std::make_shared<InputViewerSettingsWindow>(CVAR_WINDOW("InputViewerSettings"),
      |                                 ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'CosmeticsEditorWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<CosmeticsEditorWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<CosmeticsEditorWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<CosmeticsEditorWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<CosmeticsEditorWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<CosmeticsEditorWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[29], const char (&)[17], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<CosmeticsEditorWindow, std::allocator<void>, const char (&)[29], const char (&)[17], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<CosmeticsEditorWindow>::__shared_ptr<std::allocator<void>, const char (&)[29], const char (&)[17], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<CosmeticsEditorWindow>::shared_ptr<std::allocator<void>, const char (&)[29], const char (&)[17], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:147:14: note: in instantiation of function template specialization 'std::make_shared<CosmeticsEditorWindow, const char (&)[29], const char (&)[17], ImVec2>' requested here
  147 |         std::make_shared<CosmeticsEditorWindow>(CVAR_WINDOW("CosmeticsEditor"), "Cosmetics Editor", ImVec2(550, 520));
      |              ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'ActorViewerWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<ActorViewerWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<ActorViewerWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<ActorViewerWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<ActorViewerWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<ActorViewerWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[25], const char (&)[13], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<ActorViewerWindow, std::allocator<void>, const char (&)[25], const char (&)[13], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<ActorViewerWindow>::__shared_ptr<std::allocator<void>, const char (&)[25], const char (&)[13], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<ActorViewerWindow>::shared_ptr<std::allocator<void>, const char (&)[25], const char (&)[13], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:150:14: note: in instantiation of function template specialization 'std::make_shared<ActorViewerWindow, const char (&)[25], const char (&)[13], ImVec2>' requested here
  150 |         std::make_shared<ActorViewerWindow>(CVAR_WINDOW("ActorViewer"), "Actor Viewer", ImVec2(520, 600));
      |              ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'ColViewerWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<ColViewerWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<ColViewerWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<ColViewerWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:602:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<ColViewerWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
  602 |         _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:970:6: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<ColViewerWindow, std::allocator<void>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<const char (&)[29], const char (&)[17], ImVec2>' requested here
  970 |             _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
      |             ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:1713:14: note: in instantiation of function template specialization 'std::__shared_count<>::__shared_count<ColViewerWindow, std::allocator<void>, const char (&)[29], const char (&)[17], ImVec2>' requested here
 1713 |         : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
      |                     ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:463:4: note: in instantiation of function template specialization 'std::__shared_ptr<ColViewerWindow>::__shared_ptr<std::allocator<void>, const char (&)[29], const char (&)[17], ImVec2>' requested here
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |           ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr.h:1007:14: note: in instantiation of function template specialization 'std::shared_ptr<ColViewerWindow>::shared_ptr<std::allocator<void>, const char (&)[29], const char (&)[17], ImVec2>' requested here
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^
/home/erpre/s/ShipWright/soh/soh/SohGui/SohGui.cpp:153:14: note: in instantiation of function template specialization 'std::make_shared<ColViewerWindow, const char (&)[29], const char (&)[17], ImVec2>' requested here
  153 |         std::make_shared<ColViewerWindow>(CVAR_WINDOW("CollisionViewer"), "Collision Viewer", ImVec2(520, 600));
      |              ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:15: note: qualify call to silence this warning
   88 |         __location->~_Tp();
      |                      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:88:2: warning: destructor called on non-final 'SaveEditorWindow' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
   88 |         __location->~_Tp();
      |         ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at<SaveEditorWindow>' requested here
  149 |       std::destroy_at(__pointer);
      |            ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/alloc_traits.h:720:9: note: in instantiation of function template specialization 'std::_Destroy<SaveEditorWindow>' requested here
  720 |         { std::_Destroy(__p); }
      |                ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/shared_ptr_base.h:616:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<void>>::destroy<SaveEditorWindow>' requested here
  616 |         allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
      |                                   ^

...
```
2025-05-01 19:00:10 -07:00
Eric Hoey
6c14311b66
add dragon room CS (#5461) 2025-05-01 18:59:47 -07:00
Jordan Longstaff
a016453042
Ganon's Tower barrier dispelled if cutscene is skipped (#5462)
* Ganon's Tower barrier dispelled if cutscene is skipped

* More format-compliant comment
2025-05-01 18:59:37 -07:00
Eric Hoey
7cbb0d4d61
Add Missing MQ Jabu Small Crates (#5452)
* also change grass to match

* add crates back
2025-04-29 17:40:01 -04:00
xxAtrain223
e13714e88d
Added missing comma. (#5450) 2025-04-29 14:23:40 -07:00
Eric Hoey
17ed54dbc5
add DC boss switch exception + tooltip (#5447) 2025-04-29 17:20:04 -04:00
Eric Hoey
fec676bbf8
Fix C-Down Position with Anchor Left (#5423) 2025-04-23 17:29:44 -04:00
briaguya
3d3d9c5226
add some imgui ids in input editor (#5439)
* add some imgui ids in input editor

* clang format
2025-04-22 20:39:10 -07:00
Malkierian
8a8ea676ba
Prevents hidden button combo setting from hiding the personal notes window when window type is Window. (#5441) 2025-04-22 20:38:45 -07:00
Pepper0ni
103a36e5fe
fix MQGTG right side resetting (#5442) 2025-04-22 20:38:14 -07:00
Pepper0ni
3c4f38e2f0
make sure adult is spawned for big poe check (#5431) 2025-04-22 17:16:16 -07:00
Pepper0ni
fbbfc07ff1
port over autoFunc punctuation changes and translations (#5426)
---

Co-authored-by: PurpleHato <47987542+PurpleHato@users.noreply.github.com>
Co-authored-by: amafresh <arminamayeh@gmail.com>
2025-04-21 14:21:42 -07:00
Pepper0ni
29af294b0c
fix TODO_TRANSLATE language replacement in cases where the text is already formatted (#5415)
* fix TODO_TRANSLATE language replacement in cases where the text is already formatted

* oops
2025-04-17 10:22:12 -04:00
Malkierian
52a3058926
Merge pull request #5409 from Malkierian/blair-charlie-dev-merge
Blair Charlie to Develop
2025-04-15 16:15:51 -07:00
Malkierian
14907a24b0 Merge branch 'develop-blair' of github.com:HarbourMasters/Shipwright into develop 2025-04-15 15:44:16 -07:00
Christopher Leggett
1b6dc13491
Blair Charlie version bump (#5407) 2025-04-15 14:27:55 -04:00
Malkierian
02ef33393a
Implements a rand inf for Ruto's letter to apply to logic to track it separate from the underwater item check. (#5405) 2025-04-15 13:13:30 -04:00
Archez
5ae8ce4eac
Fix Entrance Rando weather override behavior (#5403)
* Add AfterSceneCommands hook

* move ER weather override to AfterSceneCommands
2025-04-14 19:11:36 -04:00
Malkierian
5e399fe7a2
Race Lockout (#5364)
* Implement race lockout on the new menu, with option for opt-out.

* Cal's requests.
2025-04-13 19:29:29 -04:00
Jordan Longstaff
46b40b0220
Fix misspelling of Broken Giant's Knife fix CVar (#5395) 2025-04-12 12:12:48 -04:00
Malkierian
1416b2490a
Change the Reset All callback back to CosmeticsEditor_ResetAll, because it's already set up to not reset HUD position stuff. (#5385) 2025-04-12 09:14:13 -04:00
Pepper0ni
f304de2eb1
fix oversight in forest trial first room (#5381) 2025-04-11 22:56:47 -04:00
Malkierian
fc0cbbe9e7
Improve tracker dock bgs (#5383)
* Modify the flow for applying opacity to docked tracker windows only when they are docked to the "Main - Deck" dockspace.

* Add opacity clamping for check tracker.
2025-04-11 22:54:52 -04:00
Archez
824c203b97
Merge pull request #5374 from Malkierian/blair-bravo-dev-merge
Blair Bravo -> develop 4-9
2025-04-11 17:20:08 -04:00
Malkierian
f0f2157a4c
Move processing for RAND_INF_WEIRD_EGG to trade item processing so it happens whenever you get the egg. (#5382)
Remove RSK check for garden entrance because access is still handled by `CanUse(RG_WEIRD_EGG)`.
2025-04-11 15:49:34 -04:00
Proloe
698fca8862
Fixed right stick aiming being significantly less precise than left stick aiming. (#5388) 2025-04-11 15:44:40 -04:00
Archez
86e1e8e3aa
Fix boss key kaleido text for NTSC (#5389) 2025-04-11 13:42:08 -04:00
Christopher Leggett
05e96f310d
Fix Fishing-related checks location pool (again) (#5378) 2025-04-11 10:15:31 -04:00
Eric Hoey
a93917bb4a
Fix Adult Fishing as Child Softlock (#5377)
* pass a pointer not a pointer to a pointer

* update GIVanillaBehavior comment

* also drop this
2025-04-10 17:14:25 -04:00
Malkierian
9783f918d2
Add ImGuiWindowFlags_NoSavedSettings to notification windows to prevent cluttering the imgui.ini (#5380) 2025-04-10 09:50:35 -04:00
Malkierian
1791a0c52c
Fix input viewer's first-open position calculation. (#5376) 2025-04-10 09:49:21 -04:00
Malkierian
7e78694aee Merge branch 'develop-blair' of github.com:HarbourMasters/Shipwright into develop 2025-04-09 16:12:46 -07:00
Christopher Leggett
85bc67ef24
Blair Bravo version bump (#5372) 2025-04-09 19:04:28 -04:00
Malkierian
a99e8836fb
Allow seeded enemy rando to use the values of the enemy list selection. (#5371) 2025-04-09 18:18:44 -04:00
Malkierian
c12349a7a3
Add check for bean inventory slot having bean on it to allow availability to succeed with ammo count 0. (#5370) 2025-04-09 16:58:06 -04:00
Pepper0ni
73400f5856
IC ledge to fountain child logic fixed (#5368)
* IC ledge to fountain child logic fixed

* fully unblob ZF
2025-04-09 16:46:43 -04:00
Malkierian
e98a6c3748
Fix migrators for tracker colors to match new menu formats. (#5369)
Add temporary additional clearing to CVarColorPicker's reset functionality to resolve already migrated issues.
2025-04-09 16:38:27 -04:00
Malkierian
c3322c85ae
Swap call to RecalculateAvailableChecks() in SaveFile() to a variable that triggers a recalculation in DrawElement(). (#5366) 2025-04-09 15:26:20 -04:00
Extloga
c21c632c09
Additions for the currencies in randomizer.cpp (#5344)
* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp

* Rearrangement of the currencies in randomizer.cpp
2025-04-09 15:24:05 -04:00
Pepper0ni
93d49d5c41
Fix ZD beehives and some small cleanup. (#5353)
* clean up zora domain logic

* revert useless short circuits
2025-04-09 15:17:25 -04:00
Christopher Leggett
cf75520394
Fix crash in Message Viewer when playing with an NTSC OTR. (#5367) 2025-04-09 15:16:25 -04:00
Eric Hoey
9250af0216
add check for agony option (#5365) 2025-04-09 13:01:26 -04:00
Christopher Leggett
2576f75b1a
Fix non-loach fish making it into the pool when Loach Only is selected. (#5360) 2025-04-09 12:20:37 -04:00
PurpleHato
30520a7565
Rando: Last missing french + tiny tweak (#5359)
* Update hint_list_exclude_overworld.cpp

* missing ones

* Oops forgot a '
2025-04-09 11:35:39 -04:00
Pepper0ni
f2161297a8
Fix break room access and crates underneath crates logic (#5347)
* fix break room acces and crates underneath crates logic

* apply GF_JUMP to the jump from NEAR_GS to LONG_ROOF to reach BREAK_ROOM
2025-04-09 11:21:22 -04:00
Extloga
c1885991fa
Additions for the German translation in two files (#5351)
* Additions for the German translation in hint_list_exclude_dungeon.cpp

* Additions for the German translation in hint_list_exclude_overworld.cpp

* Additions for the German translation in hint_list_exclude_overworld.cpp
2025-04-08 16:31:52 -04:00
Malkierian
f5e0179e2b
Fix a couple typos in enhancement descriptions. (#5358) 2025-04-08 11:44:24 -07:00
Malkierian
f0f6259d2f
Fix Docked Tracker Ghosting (#5354)
* Dynamically changes a tracker's chosen color's opacity to full when it registers as docked to fix the framebuffer ghosting.

* remove debugging
2025-04-08 10:22:25 -07:00
Archez
1b17fea3d0
Add temporary patch for invisible boulder fragments (#5352) 2025-04-08 12:53:39 -04:00
Archez
88669742a2
Fix copyright tex for GC JP (#5324)
* Fix copyright tex for GC JP

* add 2004 texture for jp ce
2025-04-08 08:38:28 -07:00
Eric Hoey
4a3d60d061
Fix Rando Give for Adult Fishing as Child Glitch (#5349)
* VBVBVB

* Update soh/soh/Enhancements/randomizer/hook_handlers.cpp

* Update soh/soh/Enhancements/randomizer/hook_handlers.cpp

* first try
2025-04-08 11:27:08 -04:00
Pepper0ni
d40fa00b9e
Mixed pools now properly disables itself when hidden. (#5341)
* mixed pools now sets itself off when hidden

* the clanging never ends
2025-04-08 08:26:18 -07:00
Pepper0ni
88154d78c8
Fix Market Grass and Crate logic (#5340)
* fix market grass and crate logic

* apply clang
2025-04-08 08:26:04 -07:00
Malkierian
ae7654cb0e
Change check total array types to s16 to handle more check totals (thanks storage temple). (#5348)
Fix typos regarding `overridden` in various parts of the codebase.
2025-04-08 10:13:08 -04:00
Malkierian
71bd48cba9
Move the white iron knuckle entry in randomizedEnemySpawnTable to match the order of enemyCvarList. (#5350) 2025-04-08 07:45:35 -04:00
Christopher Leggett
b71a0c5803
Fix checking gSaveContext for used small keys (#5346) 2025-04-07 19:07:07 -04:00
PurpleHato
4acbf799cc
French Rando : Add missing text + some tweaks (#5327)
* Should cover everything, I hope

* One last

* final tweaks for real this time

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

Co-authored-by: Extloga <141232749+Extloga@users.noreply.github.com>

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

Co-authored-by: Extloga <141232749+Extloga@users.noreply.github.com>

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

Co-authored-by: Extloga <141232749+Extloga@users.noreply.github.com>

* TODO_TRANSLATE is a macro no a string Hato

---------

Co-authored-by: Extloga <141232749+Extloga@users.noreply.github.com>
2025-04-07 18:34:56 -04:00
briaguya
98146c29f9
fix blank names in spoiler (#5329)
* fix blank names in spoiler

* replace a couple more `.english`/`.french` with `.GetEnglish()`/`.GetFrench()`
2025-04-07 17:24:24 -04:00
Pepper0ni
c351a2cf75
Fix shop translations and unify untranslated message alerts. (#5312)
* try to fix messages, crashing on vanilla text

* oops

* adjust shop flavor translations to better fit on 2 lines

* run clang format
2025-04-07 17:22:23 -04:00
Eric Hoey
497f90a392
Set Savewarp in Ganondorf to Ganon's Tower in Entrance Rando (#5339) 2025-04-07 13:27:47 -04:00
Eric Hoey
a247c06be8
Various menu fixes (#5321)
* input viewer + rang + draw + circledisp

* clang
2025-04-04 18:49:03 -04:00
Christopher Leggett
ee23d02921
move AltAssets to gSettings from gEnhancements (#5323) 2025-04-04 15:25:30 -04:00
Archez
2589448057
Fix boss title card extraction for NTSC; Fix Morpha water (#5320) 2025-04-04 11:57:37 -04:00
Malkierian
cb7d9279e4
Fix the GS Map combobox in the Flags tab of the save editor not remembering the selected index, and also rework it to remove the label. (#5317) 2025-04-04 11:00:05 -04:00
Christopher Leggett
38574bbb9e
Fix excluded locations on subsequent seed generations (#5302) 2025-04-04 10:15:04 -04:00
Christopher Leggett
e2bb2edb8a
Fix the start with Master Sword option (#5304) 2025-04-04 10:14:23 -04:00
Archez
f37c3aa228
clang-format .hpp files (#5307)
* Add hpp files to clang-format script

* clang-format hpp files
2025-04-03 23:33:35 -04:00
PBillodeau
9a78b04e68
ESC now toggles menubar (#5293)
* ESC now toggles menubar

* Update "menubar" to "menu" in README

* Add mouse capture toggle to README
2025-04-03 17:33:02 -07:00
Pepper0ni
4f783d5945
fix oversight causing big poes check not to run (#5303) 2025-04-03 16:47:56 -04:00
Archez
2deea6e105
Better verbose output for clang-format (#5306) 2025-04-03 15:23:47 -04:00
Philip Dubé
ef8fa17e7c
simplify clang-format script (#5274)
checked that -print0 & -0 also exist in apple's manpages
2025-04-03 00:36:10 -04:00
Philip Dubé
1e51f1e162
Cleanup whitespace (#5281) 2025-04-03 00:16:52 -04:00
inspectredc
fd96bf6b14
Fix Disable Bomb Billboarding (#5290) 2025-04-03 00:06:16 -04:00
Archez
1c248ded02
Bump Blair Alfa (#5283) 2025-04-02 16:21:47 -04:00
aMannus
dc20abe10b
Fix upgrade crash in rando settings (#5282) 2025-04-02 15:59:04 -04:00
Malkierian
58925bc770
More check renames (#5262)
* Rename a few more entrances to better match interior contents, and a lot of check names to match their grotto names.

* Undo debug commit. Now it's just text changes.
2025-04-02 10:24:01 -07:00
inspectredc
ccb7839eda
Reload font on language change (#5279) 2025-04-02 12:38:12 -04:00
inspectredc
c5e0e32391
Fix Names On Custom Message (#5278)
* Fix Names On Custom Message

* Display Blank Name

* format
2025-04-02 09:45:51 -04:00
inspectredc
2476a7752d
Use sOptionsMenuSettings to avoid OOB read (#5277) 2025-04-02 07:56:30 -04:00
inspectredc
a5a80bd8a2
Fix Crash On Play Scene Inits (#5276) 2025-04-02 07:40:43 -04:00
inspectredc
9892bfaffa
Fix Title Logo Flame Colors (#5275) 2025-04-01 23:56:25 -04:00
Archez
8f126344a4
Apply clang-format to files (#5273) 2025-04-01 22:33:38 -04:00
Archez
e8389e0b2e
Add clang-format scripts and github runner action (#5270) 2025-04-01 17:09:44 -04:00
Christopher Leggett
17b91ecc2d
Fix some misc. Rando menu issues (#5272)
* Fix issue where random and clear seed buttons overlap text input.

* Fix issue where item scale is incorrectly disabled.

On fresh json, there was a mismatch on the defaults where SGIA_JUNK was default for the actual
combobx but SGIA_DISABLED, was used as the default when the CVar was checked in the scale slider's
PreFunc.
2025-04-01 22:53:07 +02:00
xxAtrain223
2bde8fbe5d
Use GetDungeonFromScene (#5271)
* Use GetDungeonFromScene.

* Remove SceneToDungeon map.
2025-03-31 21:18:07 -07:00
Christopher Leggett
05219cbbf7
Prevent GameplayStats and TimeDisplay from getting reset on ship json drag and drop (#5269) 2025-03-31 21:28:48 +02:00
Pepper0ni
eb17f2e99d
Lock mask select behind zelda's letter in rando (#5267)
* Lock mask select behind letter in rando

* change to rand inf
2025-03-31 21:15:41 +02:00
xxAtrain223
35d17b8b0b
Available Randomizer Checks (#5091)
* Calculate accessible checks and show them in the check tracker.

* Added added DoorUnlocked checks to the Fire Temple doors.

This is needed when calculating Accessible checks while playing and using small keys. Otherwise checks will appear unaccessible because Keys have been used.

* Changed RecalculateAccessibleChecks to use the logic ReachabilitySearch.

* Reverted DoorUnlocked changes.

* Added recalculate_accessible_checks debug console command.

* Skip CanBuy check when calculating accessible checks, it spoils that some items can't be bought with the current wallet.

* Set RAND_INF_ZELDAS_LETTER.

* Don't add locations to the pool when calculating accessible checks.

* Save and Load randomizer trick options.

* Get the number of used small keys.

* Added check if bean was planted.

* Show number of Accessible checks in each Area.

* Accounted for missing RG_POCKET_CUCCO in logic HasItem and ApplyItemEffect.

* Show accessible checks via an icon.

* Check shop price against current wallet.

* Recalculate Accessible Checks in CheckTrackerLoadGame instead of LoadFile.

* RecalculateAccessibleChecks on save.

* Don't unset Zelda's Letter.

* Added Only Show Available Checks checkbox.

* Rename Accessible Checks to Available Checks.

* Added option to Enable Available Checks.

* Remove debug console to recalculate available checks, this can now be done by toggling Enable Available Checks in the settings.

* Remove extra requiredTrial.

* Default "Hide unshuffled shop item checks" unchecked.

* Updated GetSmallKeyCount to return int8_t.

* Default AmmoDrop to true until the setting is implemented.

* Fixed Sleeping Waterfall timesaver.

* Updated Only Show Available Checks to let Show Hidden Items reveal hidden available checks.

* Revert "Don't unset Zelda's Letter."

This reverts commit 4b5903940f.

* Set RAND_INF_ZELDAS_LETTER.

* Revert "Fixed Sleeping Waterfall timesaver."

This reverts commit 9b62fd5297.

* Added isMagicAcquired to Logic::HasItem.

* GetDungeonSmallKeyDoors return static emptyVector.

* Comment out AmmoCanDrop in ResetLogic.

* Added location_access CanBuy todo.

* Reverted Get and Set SmallKeyCount to use uint8_t and handled -1 keys.

* Added todo for MQ Water GetUsedSmallKeyCount.
2025-03-30 22:18:42 -07:00
Archez
ae209709ea
Default VSync on to match LUS default (#5261) 2025-03-30 19:24:59 -04:00
Archez
9355aca23e
More prep for clang-format (#5239) 2025-03-31 00:17:09 +02:00
Archez
bcd8842bde
Fix messages crashing when no ntsc game is loaded (#5259)
* Fix messages crashing when no ntsc game is loaded

* rename func
2025-03-31 00:16:44 +02:00
inspectredc
0dc5ff4984
NTSC GC Support (#5254)
* copy n64 pal 10

doing this so i can check diffs i make

* transfer german->jp icon item

* overlays, message data, icon item jpn, audio, code

todo: title_static, gameplay keep

* add kanji and fix title cards

* title static

* spell folder correctly

* boss title cards, do action, icon item, item name, map name

* headers for jpn stuff

* gameplay_keep

* Scenes, audio, jp text extraction, rom support, overlay fixes, sheik & darunia

todo: test & disable darunia fix cvar for ntsc

* msgptr init fix

* icon item offsets

* comment out title cards until zapd can fix itself (we extract these in a different file anyway)

* compile and font implemented to get past title screen

* file select

* message, kaleido and everything else but rando

* uintptr_t

* rando and custom messages working!

* ntsc-j 1.0 support

* n64 logo?

* copy ntsc 10 to 11

* ntsc 11 extraction

* change title version names

* copy ntsc 11 to 12

* ntsc 12 extraction

* clean up some todos

* re checkout submodules post merge

* fix US filename

* support cross-version filenames

* add new versions to non-mq list

* use correct message table init

* Fix ntsc nes message table overriding pal nes message table

* actual fix, allows extraction

* fix file name using wrong font of file being hovered over

* Fix barinade crash

* re-add pal

* better jabu fix and revert LUS

* fix gerudo title cards

* better better owl select

* more owl fixes

* build

* fix some name decode issues

* Switch Language Mid Text

* Fix PAL displaying for JP filenames

* Fix AskToEquip Crash

* Disable Credits Timing Fix on NTSC

* Fix JP Text positioning

* basic language switching (BIG todo: file select, title screen)

* Title Screen Hopefully working

* add ntsc to linux appimage stuff, TODO: add .v64/.n64 support

* Update OTRExporter

* Fix pause to decide offset

* Fix bomb item name crash

* fix fire arrows and PoH

* builds

* update asset changes and fix menu language changing

* fix name decode

* Fix crashes and add rando/boss rush select stuff

* Revive debug feature by setting language cvar too

* Fix ocarina text speed softlock, and update jp text speed changes

* Merge remote-tracking branch 'upstream/develop' into NTSC

* Fix options menu and let pal use japanese fully

* Resolve some suggestions

* match up gTextSpeed changes to english (still broken!)

* Fix text speed crash

* Set default filename language on save init funcs

* copy n64 ntsc 1.2 to gc nmq ntsc and add rom info

* extractor working for ntsc gc u

* Extraction Works

* bump otrexporter

* Display same correct info for n64 ntsc-j and ntsc-u

* ovl asset fixes

* final font diff

* change the correct ovl file choose xml

* copy asset files for jp

* JP Working

* Copy jp and us xmls to mq

* MQ Working

* quicktext more closely aligned with decomp

* add versions to mq switch

* linux appimage v64/n64 checksums

* bump zapd

* Credits Fix Tooltip Adjusted

* update supported hashes json

* update shasums to include JP n64

* add shasum hashes

* Bump submodules back to upstream
2025-03-31 00:16:24 +02:00
Pepper0ni
026a418789
Fix various HBA issues (#5246)
* Fix various HBA issues

* forgot to save

* cleanup to address review
2025-03-30 23:51:20 +02:00
Pepper0ni
c38205ddcf
Apply better big poe logic (#5245) 2025-03-30 23:51:00 +02:00
Archez
035c03bd85
Bump latest LUS main (#5252) 2025-03-30 23:28:53 +02:00
Pepper0ni
28393fba78
Fix early eyeball frog source adaption in King Zora (#5255)
* Fix early eyeball frog source adaption in king zora

* revert inftable sets
2025-03-30 15:07:48 -04:00
Pepper0ni
714b9a731a
Fix fast money accumulator setting (#5256) 2025-03-30 14:52:29 -04:00
Malkierian
e21d322a22
Convert grass shuffle locations to use automatic spoiler name creation. (#5243) 2025-03-30 14:18:19 -04:00
Archez
ae029a3f06
Replace old methods with ShipUtils (#5151)
* Replace old methods with ShipUtils

* remove PAL naming
2025-03-30 13:54:40 -04:00
inspectredc
6140b2ec8f
NTSC Support (N64) (#4198)
* copy n64 pal 10

doing this so i can check diffs i make

* transfer german->jp icon item

* overlays, message data, icon item jpn, audio, code

todo: title_static, gameplay keep

* add kanji and fix title cards

* title static

* spell folder correctly

* boss title cards, do action, icon item, item name, map name

* headers for jpn stuff

* gameplay_keep

* Scenes, audio, jp text extraction, rom support, overlay fixes, sheik & darunia

todo: test & disable darunia fix cvar for ntsc

* msgptr init fix

* icon item offsets

* comment out title cards until zapd can fix itself (we extract these in a different file anyway)

* compile and font implemented to get past title screen

* file select

* message, kaleido and everything else but rando

* uintptr_t

* rando and custom messages working!

* ntsc-j 1.0 support

* n64 logo?

* copy ntsc 10 to 11

* ntsc 11 extraction

* change title version names

* copy ntsc 11 to 12

* ntsc 12 extraction

* clean up some todos

* re checkout submodules post merge

* fix US filename

* support cross-version filenames

* add new versions to non-mq list

* use correct message table init

* Fix ntsc nes message table overriding pal nes message table

* actual fix, allows extraction

* fix file name using wrong font of file being hovered over

* Fix barinade crash

* re-add pal

* better jabu fix and revert LUS

* fix gerudo title cards

* better better owl select

* more owl fixes

* build

* fix some name decode issues

* Switch Language Mid Text

* Fix PAL displaying for JP filenames

* Fix AskToEquip Crash

* Disable Credits Timing Fix on NTSC

* Fix JP Text positioning

* basic language switching (BIG todo: file select, title screen)

* Title Screen Hopefully working

* add ntsc to linux appimage stuff, TODO: add .v64/.n64 support

* Update OTRExporter

* Fix pause to decide offset

* Fix bomb item name crash

* fix fire arrows and PoH

* builds

* update asset changes and fix menu language changing

* fix name decode

* Fix crashes and add rando/boss rush select stuff

* Revive debug feature by setting language cvar too

* Fix ocarina text speed softlock, and update jp text speed changes

* Merge remote-tracking branch 'upstream/develop' into NTSC

* Fix options menu and let pal use japanese fully

* Resolve some suggestions

* match up gTextSpeed changes to english (still broken!)

* Fix text speed crash

* Set default filename language on save init funcs

* bump otrexporter

* Display same correct info for n64 ntsc-j and ntsc-u

* quicktext more closely aligned with decomp

* linux appimage v64/n64 checksums

* bump zapd

* Credits Fix Tooltip Adjusted

* update supported hashes json

* update shasums to include JP n64
2025-03-30 12:29:59 -04:00
Archez
0e23adc237
Change Fullscreen toggle into button (#5236) 2025-03-30 12:20:21 -04:00
Christopher Leggett
554379fd70
Fix some options not updating correctly when dropping jsons and applying Presets (#5240)
* Re-Run ship init funcs on json drop and preset apply

* Prevent registering rando locations from running more than once

* Moves registered=true right after early return

* Move ShipInit call into applyPreset
2025-03-29 00:02:38 -04:00
Malkierian
4d18a36e1a
Clarify "Outside Temple of Time" entrance names. (#5241) 2025-03-28 19:22:51 -07:00
Archez
b66623c152
Fix freezard graphics crash with enemy health scaling (#5232) 2025-03-28 09:30:56 +01:00
Christopher Leggett
32923d83f2
Don't place items on Chest game. (#5233)
This causes it to fall back on vanilla behavior, fixing the crash
Where it tried to draw something invalid.
2025-03-28 04:31:04 +01:00
Malkierian
feea299291
Revert "Set Sample Rate to 32000 hz (#4780)" (#5234)
This reverts commit 9455579f42.
2025-03-28 04:27:01 +01:00
Philip Dubé
b417b87d1c
Shuffle cleanup (#5222)
* Shuffle cleanup

* Grass can be cut with Goron's Bracelet
* Gohma's grass can be cut without defeating Gohma

* more whitespace
2025-03-27 07:48:37 +01:00
aMannus
3e34934e01
Add grass and crates to hell preset (#5221) 2025-03-27 07:47:36 +01:00
Eric Hoey
006650d37b
update break room (#5223) 2025-03-27 07:47:19 +01:00
Malkierian
0ac3f4d6b4
Fix typo in tracker autoscroll tooltip (#5226) 2025-03-27 07:42:41 +01:00
aMannus
057434cdf3
Update Dev Tools Windows (#5220)
* Update dev tools windows

* Review comments
2025-03-26 22:26:11 +01:00
Eric Hoey
47c653a0e5
[Rando] Shuffle Crates (#5017)
* location list + enums

* add identity function

* add new files + hook handlers + settings + crate struct

* add dungeon struct + large crate locations

* fix wasteland name + add overworld hints

* add dungeon hints

* add to item pool

* opt desc + check tracker + overworld locs

* add VB funcs + fix fire locs + dmc crate + shuffle crates not pots again

* fix crate option def

* fix gy crate area

* add ow locs

* context + more location_list

* fix kak crate

* add gv child crates + make exceptions for OOB GF crates + fix GF rht name

* finish adding gv crates + align GF child crates + fix adult GF locs

* fix VB draw + adjust color

* begin logic

* add child archery crate + overworld logic

* deku + dc + rename dc locs

* gtg + spirit

* fire temple logic

* start water temple + some renaming

* finish water temple + renames

* fix dmc crate

* remove child GV + GF crates :( + simplify hints + french

* fix dungeon hint + add french attempt

* cleanup

* smol crate loc list + enums

* setup small crates

* fix fire temple fairy hints

* add logic

* fix small crates + locs

* align GF crates without moving

* add child GV-GF crates for No Logic

* convert to shipinit

* whitespace

* remove old comments

* assets

* proper cap

* better comments on not-shuffled crates

* update for context changes

* update for rest of context changes

* cleanup

* fix shadow hint RHT

* more cleanup

* count to three

* child gf logic

* gv cow crate

* loc list spacing

* remove redundant small crates

* remove left over vb funcs

* split out location list

* fix van spawns

* move NL crates to new type

* rm whitespace

* more whitespacing

* more more whitespace

* update VB

* restore support for custom models

* prep dungeon for develop

* update context for location changes

* finish context post-develop merge

* add heart crates to CSMC

* update loc list + logic fix

* update breakroom crates to adult only

* newline to make github happy

* revise vbshoulds

* formatting sheesh

* update vb info

* BRACKET

* whitespacent

* ws finalfinal
2025-03-26 21:32:32 +01:00
briaguya
9ff49403a8
shipinit (r)ba (#5025)
* RBA and BA

* move rba to shipinit

* make the vanilla condition actually a vanilla condition

* update should docs

* move ba to shipinit

* don't pass things

* try a different readability strategy

* remove option/preset entries

---------

Co-authored-by: rozlette <Rozelette@users.noreply.github.com>
2025-03-26 20:07:54 +01:00
Archez
f1a45cf2ec
Fix Tektite texture body break parts for custom skeletons (#5214)
* Fix Tektite body break parts for custom skeletons

* explicit null check
2025-03-26 20:05:06 +01:00
aMannus
b2ba5a6481
Add clang format off to shuffle grass (#5219) 2025-03-26 19:59:43 +01:00
Christopher Leggett
540aad6715
Don't place GBK into the pool for Triforce Hunt (#5218) 2025-03-26 19:40:03 +01:00
Varuuna
dd81af17bb
[Rando] Grassanity (#4889)
* * fixes softlock when talking to Mido without Kokiri Emerald after killing Gohma

* * moved scene check to hook
* moved vanilla conditioon into GameInteractor_Should

* * corrected hook condition
* removed 'this'

* * reverted GameInteractor and hook_handlers
* changed actor to use existing hook

* * updated kokiri emerald conditions

* * missed parentheses

* * Overworld pretty much done.
* Known issue with Market Night + 2 bushes in KF
* Known issue with Adult bush in ZR

* * fixed locations post-merge

* * renamed option and types to 'GRASSANITY'
* changed grassnity to be a combobox option
* added first 5 deku tree locations

* * color is a sickly green when containing a check
* added ZR 14 (adult only bush on the platform, not the same?)

* * forgot to rename the files to grassanity
* updated draw method to fix regrowing grass

* Removed old WIP locacc files

* * removed comments in bush actor
* added rest of Deku Tree plus MQ

* Added DC + MQ

* Fixed DC incorrect pos value on 1 loc

* JJB done minus after big octo

* Added BotW + MQ locs

* WIP grottos

* Grottos done

* Workaround to allow market grass during night

* Seperated the 2 KF bushes into 4 checks

* Hints and additional formatting

* Slightly less ghastly color

* Corrected the 2 JJB locs

* * Renaming and removal of some locs.
* Restructure in z_en_kusa.c to leave vanilla code alone.
* Formatting.

* * see previous (forgot to stage woops)

* * Clear grassIdentity on item drop
* Added check for RC on RandoDraw function
Results in no extra dupe drops, and instantly correct the color of the grass when cut instead of on collecting the item.

* * fixed dupe location spoiler names which caused occasional crash when writing spoiler log

* * reverse should

* * fixed faulty locations

* * corrected KAK location names and some formatting

* * Fixed market bushes by tree not working at night

* * merged ZR near PoH grass into a single loc

* * Changed to ShipInit (might be missing something?)
* Corrected Should in z_en_kusa.c to use original draw func when setting is Off

* * Renaming to Shuffle Grass

* * minor fix

* * keyboard fail lol

* * suggestions

* * removed unused function

* * move grass locations into ShuffleGrass
* move grass GameInteractor into GIVanillaBehavior
* minor fixes

* * pre-removed locs from dungeon.cpp

* * pre-remove from context.cpp

* * re-added Grass to context

* * added Dana's amazing custom bush models
* using CSMC to display flowers based on "contents"

* * added Dana's grass models
* refactor to lessen the clutter in the switch

* * removed fairy case

* Added back missing Deku Tree locations

* formatting

* Update soh/soh/Enhancements/randomizer/location_access/overworld/zoras_river.cpp

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

* re-added suggestion from previous

* removed wrong line >.>

---------

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2025-03-26 19:33:10 +01:00
aMannus
c1ff45a240
More minor menu/cvar fixes (#5213)
* Minor fixes

* Hide unshuffled shop checks default fix
2025-03-26 11:07:26 +01:00
Philip Dubé
8832bcaf12
Try make item pool size match location pool size (#5181)
Also avoid putting random junk into the pool to begin with

When smaller, add junk from pending junk items

When larger, remove junk from the item pool

This avoids issue where shuffles which add items to pool (souls, overworld keys, triforce pieces) would hit assert about item pool size exceeding location pool size
2025-03-25 15:00:32 -04:00
Extloga
364fec4d29
Additions and fixes for the German translation in several files (#5173)
* Additions and fixes for the German translation in item_list.cpp

* Additions and fixes for the German translation in hint_list_exclude_dungeon.cpp

* Additions and fixes for the German translation in hint_list_exclude_overworld.cpp

* Additions and fixes for the German translation in hint_list_item.cpp

* Additions and fixes for the German translation in randomizer.cpp

* Additions and fixes for the German translation in randomizer.cpp

* Fix for the French translation in item_list.cpp

* Additions and fixes for the German translation in hint_list_exclude_dungeon.cpp

* Fixes for the English text in settings.cpp

* Fixes for the English text in SohMenuEnhancements.cpp

* Fixes for the English text in SohMenuDevTools.cpp

* Fixes for the English text in SohMenuRandomizer.cpp

* Fixes for the English text in ResolutionEditor.cpp

* Fixes for the English text in enemyrandomizer.cpp

* Fixes for the English text in gameplaystats.cpp

* Fixes for the English text in savefile.cpp

* Fixes for the English text in enemyrandomizer.cpp

* Fix for the English text in SohMenuEnhancements.cpp

Co-authored-by: aMannus <mannusmenting@gmail.com>

---------

Co-authored-by: aMannus <mannusmenting@gmail.com>
2025-03-25 19:55:53 +01:00
Malkierian
2fd3825569
Fix warning from popped, minimized menu. (#5212)
* Fix warning from popped, minimized menu.

* Pre-empt another possible missing Pop.
2025-03-25 10:41:25 -07:00
Christopher Leggett
6abacc1024
Fix the player state flag that Tailparasan checks for for Damage Effect (#5211)
* Fix the player state flag that Tailparasan checks for

* Updated comment for accuracy
2025-03-25 18:12:50 +01:00
Christopher Leggett
ebc3616a3a
lus bump to fix shader issues (#5210) 2025-03-25 16:42:52 +01:00
Archez
aabeffa254
prep for clang format (#5202) 2025-03-25 09:22:18 +01:00
Archez
0f1fb1e5de
Add OOB texture fix entry for Arrow heads (#5207) 2025-03-25 09:21:44 +01:00
Archez
890f3ccee6
Change soh override windows to use different cvar name (#5208) 2025-03-25 09:20:08 +01:00
Archez
5bf1dc8285
Fix unhandled opcode crash with authentic gfx patches (#5206) 2025-03-24 21:27:38 -04:00
Christopher Leggett
084627b8af
Force excluded locations update when preset is applied. (#5205)
* Force excluded locations update when preset is applied.

* Apply same fix for tricks tab

* Address review comment
2025-03-24 22:58:56 +01:00
aMannus
c7ff6e4700
Update enhancement and randomizer presets (#5193)
* Prepare fresh presets

* Separate preset files & finish hell preset

* Enhancement presets done

* Finish randomizer presets

* Update missed enhancement cvar

* Better split presets.h

* Address review comments
2025-03-24 22:22:51 +01:00
Christopher Leggett
43510e5ad9
Fix Skull Tokens from Chests locking you in place (#5198)
* temp fix for chest skulltulas

* Implement way to load a vanilla message into a CustomMessage

* dynamically inserts autodismiss text code to skulltula text.
2025-03-24 22:21:09 +01:00
aMannus
bddef32a5a
fix defaults + modIndex (#5201) 2025-03-24 20:09:39 +01:00
lilacLunatic
dc5bc1aa6c
Mouse Support (#4673)
* mouse

* (mouse) small fix

* "fix" implicit declaration

* LUS 1.2

* empty commit to force CI re-run

* include new mouse LUS

* deleted:    soh/soh/Enhancements/controls/GameControlEditor.cpp

* [mouse]LUS

* fix input viewer header

* Bump LUS for mouse support

* Mouse Support

* Comment cleanup

* Adding the actual mouse enhancement files

* Fix (?) Windows and Mac builds

* Maybe fix MacOS now

* Why was it compiling with this??

* Mouse input viewer handling

* [Mouse] LUS bump

* [mouse] LUS

* (Mouse) bump LUS for dxgi fix

* F2 mouse notif

* Update soh/soh/Enhancements/controls/Mouse.h

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>

* Update soh/soh/Enhancements/controls/Mouse.cpp

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>

* Fix mouse shield ranges to match control stick behavior

* Use early returns in Mouse_HandleQuickspin

* newline cleanup

* cleanup

* rename BUTTON_COLOR_MOUSE_BEIGE to BUTTON_COLOR_MOUSE_GRAY

* 'Enable Mouse' tooltip

* Fix includes

* Comments re mouse quickspin

* bullshit

* Hook handler for cursor recentering on shield

* Hook handler for first person mouse aiming

* Hook handlers for mouse quickspin

* Hook handlers for mouse shield control

* Hook registration conditions

* Enable Mouse -> Enable Mouse Controls

---------

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
2025-03-24 19:33:55 +01:00
briaguya
26aa36fe7b
bump lus (#5187)
* pushing what i have so i can try to figure out HW_REG errors

* HW_REG (fix? workaround? either way it builds now)

* factory fixes and shaders

* bump again

* bump again

* copy shaders for `ExtractAssets` too (instead of just in `GenerateSohOtr`)
2025-03-24 09:34:07 +01:00
Philip Dubé
9ae9dc4977
Fix SFM wolfos logic (#5192)
* Fix SFM logic

SFM mixed child wolfos / adult moblin logic, making both incorrect

In particular, Din's Fire is ineffective on Moblins, & slashing your way through them should not be in logic

Adds trick for getting through SFM as adult without killing moblins

Includes small cleanup elsewhere in logic

* moblins not required
2025-03-24 09:11:45 +01:00
Sirius902
1053b0e0cf
Prefix icon paths with CMAKE_SOURCE_DIR (#5197) 2025-03-24 08:56:08 +01:00
briaguya
edd8561ddc
assignable tunics/boots - dont throw items (#5045)
* don't throw items when using assigned tunics/boots

* didn't actually need that

* simplify logic so we don't need to check for holding items

* just use a vb should

* fix comment
2025-03-24 08:46:22 +01:00
Malkierian
c7e3ef9e4d
Wrong type for CVarGetInt on waterfall open enhancement. (#5200) 2025-03-23 21:52:07 -07:00
Malkierian
e25058c256
Fix sleeping waterfall enhancement and rando option combinations. (#5199) 2025-03-23 21:34:06 -07:00
Christopher Leggett
45b8f228d9
Remove MenuOptionIndex Middleman and fix rando presets (#5185)
* Remove CVar Middleman and fix rando presets

* Throwing in a couple of typo corrections
2025-03-23 19:07:12 +01:00
Malkierian
2564721b2c
Change default index retrieval to sidebarOrder vectors. (#5189) 2025-03-23 09:42:34 -07:00
Malkierian
9ffe2ab2b9
Some cleanup (#5183)
* Resolve size_t conversion warnings in UIWidgets.hpp

* Change "Better Debug Warp Menu" to default on.

* Change All/None checkboxes (for item counts and cutscene skips) to buttons.

* Remove all/none for item counts.
Remove arrays for item counts, create widgets directly.
2025-03-22 16:51:59 -07:00
Malkierian
69a32ffba6
Restore combobox functionality to Bunny Hood Effect (#5167)
* Restore combobox functionality to Bunny Hood Effect, and tweak the tooltip.

* Tweak the description a bit more.

* Final tweak?
2025-03-21 18:42:59 +01:00
Pepe20129
983c075a33
Overworld Key Tracker (#5164)
* Overworld Keys Tracker

* Update randomizer_item_tracker.cpp

* Fix id collision

* Post-merge fixes

* Update soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp

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

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2025-03-21 17:53:17 +01:00
Malkierian
ae5e41f7a0
Fix Dungeon Spoiling in Trackers (#5168)
* Prevent spoiling dungeons in check and item trackers if MQ is set to Selection, but selection for specific dungeon is Random.

* Account for other options using "Set Dungeon Quests".
2025-03-21 12:32:46 +01:00
Philip Dubé
1e294134af
Remove EnFr_RandomizerCheckFromSongIndex (#5169)
* Remove EnFr_RandomizerCheckFromSongIndex

Also handle missing return in RawAction::CheckFlag

Also adjust jabu jabu shabom timer override to be non-overflowing constant (but same constant)

* Update soh/soh/Enhancements/enemyrandomizer.cpp

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

* remove shabom room hack from z_obj_roomtimer.c

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2025-03-21 12:27:53 +01:00
Malkierian
04458f2274
Allow F1 to close the menubar modal via new IsPopupOpen() and DismissPopup functions in SohModalWindow. (#5166) 2025-03-21 12:26:03 +01:00
Archez
1bcab06fed
Rework CI build caching for stability (#5170)
* improve github build caching

* add back network build flag

* add back sdlnet
2025-03-21 12:23:01 +01:00
Malkierian
e21a3e4c0f
Add check for GAMEMODE_END_CREDITS in Audio Editor's OnSceneInit hook (#5172)
* Add check for GAMEMODE_END_CREDITS in Audio Editor's OnSceneInit hook to prevent sequence shuffles mid-credits.

* Move extern "C" block up.
2025-03-21 12:22:22 +01:00
Archez
57bc5690e2
Mono dev tools (#5175)
* apply mono font to some dev tool windows

* soh gui wrappers for gfxdebugger and console to set mono font

* it can be just a little larger
2025-03-21 12:21:33 +01:00
Archez
985bf91945
prevent some timesavers applying in boss rush (#5163) 2025-03-20 20:20:50 +01:00
aMannus
b6f957b36f
More Menu Improvements (#5155)
* fix mismatch on default value for notification position

* Fix checkbox vertical offset for multiline

* Moooore changeees too theee menuuuuuu

* capitalization again

* Fix controller config & remove test var
2025-03-20 20:19:16 +01:00
Christopher Leggett
65564e9469
Fix typo in Mute Low HP Alarm CVar (#5161) 2025-03-20 08:46:52 -07:00
Jordan Longstaff
f02032aed4
Skip dialogue before getting Gerudo membership card (#5058)
* Skip dialogue before getting Gerudo membership card

* Change to misc interaction

* Change to forced NPC dialogue

* Rename VB flag
2025-03-20 12:07:43 +01:00
Christopher Leggett
8958db5c2b
Fix CVar mismatches for skip forced dialog and unrestricted items. (#5159) 2025-03-20 00:21:31 -04:00
Christopher Leggett
b3ed249021
Fix Pot Shuffle crash caused by removal of id check (#5158)
* Fix Pot Shuffle crash caused by removal of id check.

* Properly unregister ShufflePots Hook
2025-03-19 23:03:42 -04:00
Philip Dubé
723375a344
fix type signature of Randomizer_DrawMysteryItem (#5156) 2025-03-19 22:19:19 -04:00
Jordan Longstaff
224c810e39
Link can move around while carpenters escape (#5055) 2025-03-20 00:05:20 +01:00
Jordan Longstaff
818c7e4633
Skip carpenter dialogue before Gerudo mini-boss (#5057)
* Skip carpenter dialogue before Gerudo mini-boss

* Apparently I'd forgotten the include

* IS_RANDO default
2025-03-20 00:03:59 +01:00
Malkierian
6ad503e1d2
Adds a modal registration for pressing F1 and confirming Quit from the menu button. (#5154)
Fixes near shortcuts gossip stone name to include "grotto" to signify it's in the grotto.
2025-03-19 23:57:08 +01:00
aMannus
4243eb67ae
Exclude nabooru from boss souls (#5152) 2025-03-19 23:52:33 +01:00
Pepe20129
79b53e5920
Change Compass Colors Match Dungeon to Map & Compass Colors Match Dungeon (#5042)
* Colored maps & compasses with shipinit

* Update SohMenuBar.cpp

* Post-merge fixes

* Whoops
2025-03-19 23:52:16 +01:00
Archez
a6ff511af5
Exclude zora sapphire from random enemy size (#5153) 2025-03-19 21:53:46 +01:00
Jordan Longstaff
70fc060381
Fix Forest Stage upgrades with Skip Misc Interactions (#5052)
* Fix Forest Stage upgrades with Skip Misc Interactions

* Explicit upgrade checks
2025-03-19 20:03:15 +01:00
Philip Dubé
28944cc68f
fix some warnings (#5135)
* fix some warnings

* fix error caught by mac build, fix 3 more warnings

* merge fix

* feedback

* remove color refactor
2025-03-19 12:30:44 -04:00
aMannus
7dd3c1b2ac
update model (#5150) 2025-03-19 15:46:02 +01:00
Christopher Leggett
17b19ddd73
Remove GBK Triforce Hunt as an option (#5117)
Where we were previously checking it, just check the separate triforce hunt option instead.
The option under GBK settings was always kind of a dummy option that wasn't meant to actually be selected, and it was set automatically when Triforce Hunt was on.
This PR just cuts out the middle man, so to speak.
2025-03-19 14:11:56 +01:00
aMannus
7f8e3d4337
randomizer enhancement menu improvements (#5148) 2025-03-19 13:50:04 +01:00
aMannus
80850615c3
Fix key color issues (#5149) 2025-03-19 13:49:51 +01:00
aMannus
5517e22f6e
Exclude skip get item animations outside of rando (#5147) 2025-03-19 12:42:56 +01:00
Philip Dubé
b7b5949bc4
Some location access fixes (#5121)
* Some location access fixes

Split out a few fixes I've made while working on #5105

* assert false

* IC feedback
2025-03-19 12:42:18 +01:00
aMannus
04d79222d4
fix crash (#5146) 2025-03-19 12:34:52 +01:00
aMannus
d109aa795a
Remove Shuffle Pots assert (#5145)
* Remove assert

* Remove exceptions to the assert
2025-03-19 12:34:01 +01:00
Pepper0ni
7a6778c940
exclude maps from junk only GI skip (#5140) 2025-03-19 11:21:39 +01:00
Pepper0ni
dd7dee8f07
Fix finite shields getting thier effect applied in SCL (#5130) 2025-03-19 11:15:55 +01:00
Philip Dubé
37a2730df2
remove unused 3drando custom message code (#5138) 2025-03-19 11:15:43 +01:00
Archez
9795f696c8
Hook unregister fixes and hook debugger tweaks (#5139)
* clang-format before

* Hook unregister fixes and hook debugger tweaks
2025-03-19 11:14:43 +01:00
Philip Dubé
7c227dcc42
remove color from UIWidgets::WidgetOptions (#5141) 2025-03-19 11:11:47 +01:00
xxAtrain223
0f81e6d82b
Initialize the RegionTable when loading a file. (#5144) 2025-03-19 11:11:26 +01:00
aMannus
c72efd08a9
Menu - Enhancements and cheats re-organisation (#5142)
* First pass cheats, extra modes, minigames, difficulty, fixes, graphics

* More progress. One tab left

* Enhancements & cheats done and fix for item tracker font
2025-03-19 08:43:14 +01:00
Pepper0ni
233c07d16a
Fix entrance oversight in shield grave (#5137) 2025-03-18 11:32:54 -04:00
aMannus
ab5ea0e8ee
Further Menu Improvements (#5129)
* Menu improvements

* Update calc for button offsets

* Fix enemy rando UI
2025-03-18 10:12:45 +01:00
Christopher Leggett
9e883ece96
Fix/modern menu/secret flag (#5131)
* Adds ability to set InputString fields as "secret"

Meaning it shows the text as dots like a password field. Currently nothing that is merged into the main branch uses this but Anchor will need it.

* Adds an `addedFlags` field to InputOptions.
2025-03-18 09:26:09 +01:00
Spodi
546b915106
Unify FPS and V-Sync controls and behavior between renderer (#5132)
* FPS and refresh rate logic changes

Changes FPS behavior on all renderer (despite the actual set FPS):
- Clamp FPS to refresh rate when V-Sync on (or can't be disabled)
- Stick to refresh rate when "MatchRefreshRate" is toggled on

* Max 360 FPS for slider on all renderers

* "Match Refresh Rate" unification

Checkbox for all renderer. Was a button for DirectX.

* Fix wrong CVAR for Match Refresh Rate

* More descriptive V-Sync tooltip

* Fix wrong CVar for DISABLE_FOR_DEBUG_MODE_OFF
2025-03-18 09:24:50 +01:00
Malkierian
63ae14cc30
Menu Header Button Reorder (#5134)
* Move close menu button to right side, farthest right, and move Quit SoH to the left of the Reset button.
Also remove last reference to 2ship in tooltips.

* Change Resolution Editor's use of CVarGet to `GetInterpolationFPS()` in OTRGlobals.
2025-03-18 09:24:32 +01:00
PurpleHato
a95883b6b3
Multiple Rando Text related stuff (#5125)
* Multiple Rando Text related stuff

- Mostly french rework / completion of missing lines
- Removal of a duplicate entry for Richard's house overworld key
- Correct naming for the English pond
- Addition of missing text in English and french

* Txeak uncessary spaces
2025-03-17 20:15:53 +01:00
Malkierian
c18d427619
Setup F11 to toggle the fullscreen CVar to keep it synced with fullscreen state. (#5128) 2025-03-17 20:13:35 +01:00
Malkierian
a6163ca2e8
Fixes skip get item prefix in hook handlers and the space in ClimbSpeed CVar. (#5127)
Also moves Item Scale option into rando enhancements to match skip get item animation, as it's directly tied.
2025-03-16 23:36:06 -07:00
aMannus
f3b3e0f5eb
Use percentage of screen size as padding (#5123) 2025-03-16 23:00:47 +01:00
Malkierian
05ab17d3a8
Reimplement ImGui Scaling option. (#5124) 2025-03-16 23:00:30 +01:00
Pepper0ni
112fab503f
Fix oversight in HC storms grotto (#5120) 2025-03-16 22:00:31 +01:00
Pepe20129
797fe2d989
Fix Ganon's Tower entrance logic (#5115)
* Fix tower

* Update fire_temple.cpp
2025-03-16 21:58:04 +01:00
Christopher Leggett
a97f853a14
Prevent Big Octo one point cutscene from playing twice. (#5113) 2025-03-16 21:55:14 +01:00
Malkierian
5b622683f4
Clean up Push/Pop font calls in check and item trackers by adding them instead to Begin/EndFloatWindows functions. (#5122)
Add missing PopFont call to entrance tracker.
2025-03-16 21:51:52 +01:00
Malkierian
7e392e63a8
Modern Menu (#5116)
* Add menu files, hook menu up to window system.
Temporarily rename new menu's UIWidgets to UIWidgets2 to allow both menu systems to coexist temporarily.

* Finish implementing new menu.
Rename 2ship UIWidgets to UIWidgets2 to complete facilitation of both menus working for now.

* More preliminary setup

* More prepwork, begin on settings options

* Finish settings, add enhancements windows

* Fix search function not looking past first columns.

* Add dev tool windows

* Finish dev tools

* Add about window

* Fully replace about window

* Remove moved menu items from menubar, add more windows to new menu

* Implement WindowButtonOptions.
Add ability to not embed popout windows when not popped out.
Add ability to hide the button for WindowButtons.
Fix Entrance Tracker from showing when not enabled.

* Fix entrance tracker settings embedded display.
Fix entrance tracker settings window original size declaration.

* Initial implementation of themed radio button widget.

* Move "About" section to second column of general.
Fix sidebar sections starting in second column.

* Restore Entrance Tracker `Draw()` to allow for custom styling.

* Fix combobox positioning formatting.
Fix color picker end spacing.
Convert everything in check tracker settings to UIWidgets2 (except color pickers and section headers).
Make all tracker windows not embed.

* Minor cleanup

* Fix main volume defaults & mirror jitter fix removal on dev

* Improve color picker with RGB/RGBA options. Not finished.

* Finish creating CVarColorPicker and implement for Check Tracker background color.
Fix tracker and network prefixes.

* Finish check tracker settings and convert check tracker.

* Port all Cheats menu except for Beta Quest

* Port over Beta Quest to new menu

* Remove old cheats menu

* Port cutscene skips to modern menu

* Port Timesaver Enhancements to new menu

* Port the Items and Item Count Messages submenu

* Port Difficulty Options to new Menu

* Removes options that have been ported thus far.

* Port "Reduced Clutter" options to new menu

* Add forgotten callbacks to Hyper Enemies/Bosses

* Copy StateButton to UIWidgets2, and implement custom padding for them in the tracker.

* Ports some pause menu related settinga

* Change tracker window active title color.
Make state buttons smaller in tracker to get more info on screen.

* Convert window title active theming to all windows.

* Port the rest of Enhancements->Gameplay to new menu

* Port the "Graphics" Enhancements to new menu

* Ports Fixes over to the Modern Menu

* Ported Restorations to Modern Menu

* Ported Extra Modes to new menu

* Port Autosave and Boot Sequence to modern menu

* Cleans up some leftover data for ported buttons

* Ports Enhancement Presets to new menu

* Port Additional timers to new menu. Removes Enhancements from old menu

* Cleans up some unused stuff

* Ports Randomizer Enhancements to modern menu

* Convert Item Tracker Settings. Something's wrong with the comboboxes in a second column of a table.

* Fix combobox alignment and label position calculations.

* Convert Entrance Tracker window.

* Save Editor Info tab finished.
Added `PushStyleInput` and `PushStyleTabs` for Info tab.
Fixed some indentation in entrance tracker source.
Added font push to tracker windows.

* Increase size of all icons in save editor.

* Convert flag groups to child windows for automatic sizing and border drawing.

* Flags tab completed.
Finished inventory tab.

* Convert save editor help hover to UIWidgets2.

* Various fixes and corrections

* Start cosmetics editor, fix theme colors not updating

* Cosmetics editor conversion progress

* Remove Mac internal resolution restrictions.

* Copy over advanced resolution partial and enable most options as a custom widget.

* Add size to float sliders, more cosmetics editor progress

* Fix incorrect cvar for notifications

* Radio button & header color options, more cosmetics editor progress

* Finish cosmetics editor conversion

* Create and apply THEME_COLOR macro. Resides in SohGui for easy access to mSohMenu.

* Move ResolutionEditor to SohGui directory.

* Add labels to build info.
Fix slider width calculations.

* Fix some advanced resolution widget hiding.

* Fully implement Advanced Resolution options.
Fix graphics settings formatting.
Improve slider label position calculations.
Implement Clamp options on sliders.

* Finish save editor.
Convert save editor code to `using namespace UIWidgets2`.
Fix search crashing on time splits window.
Remove `SetLastItemHoverText` from `UIWidgets2`.

* Unify cvar sectioning in time splits.

* Add InputString and InputInt widgets, and corresponding CVar Widgets

* Adds Widget Type for Inputs, not currently used.

* Convert Sail to modern menu

* Add Combobox that takes a vector of std::strings

* Convert checkbox and combobx to new widgets

* Add Tristate checkbox

* Convert sliders and tristate checkboxes

* Convert top half of Rando window

* remove/replace remainder of UIWidgets usage in option.cpp

* Converts tricks, locations, and removes old UIWidgets refs

* Fix windows build errors

* Remove Tri-State checkboxes

* Use PushStyleInput instead of PushStyleSlider

lol oops didn't realize it was a thing in Ship.

* Rebase and address review comments

* Convert Crowd Control to modern menu.

* Fix build error

* Audio editor progress

* Re-add CVar SaveOnNextFrame calls to Resolution Editor.
Remove old Resolution Editor files.

* Convert TimeSplits to new menu.
Fix a few enum warnings.

* Decrease padding on Arrow Buttons

* Audio editor + gameplay stats done

* Give Randomizer Menu more screen real-estate

* Port plandomizer menu

* Fix slider width calculation and allow combobox LabelPosition::None

* Fix None labelPos and slider width for inline labels

* Fix all slider value label insertions.
Convert Collision Viewer.

* Minor Collision Viewer enum change.
Convert Actor Viewer.

* Theme/convert Message Viewer.

* Add font to Message Viewer.
Theme Value Viewer.

* DL Viewer and SohModals themed.

* Convert Input Viewer.

* Missed some color settings in Input Viewer.
Removed UIWidgets references from Controller Config, and restored SoH version.

* Remove UIWidgets.hpp include from multiple files.

* Completely remove old UIWidgets.
Rename UIWidgets2 to UIWidgets.
Move Accessibility and Language options to new menu.

* Fix Gfx Debugger not showing up.
Remove menubar registration.

* Fix clearCvars references.

* Fix passing std::string to const char* argument.

* enum name spacing

---------

Co-authored-by: aMannus <mannusmenting@gmail.com>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
2025-03-15 16:11:30 -07:00
Christopher Leggett
c54883da72
Fix more missing location pool exclusions (#5108)
* Fix more location pool exclusion misses

* Add assert to ensure item pool isn't too large.

This will catch any issues where too many items are getting
added to the pool in Debug mode. It only checks to make sure the item
pool is smaller than the location pool, as the code actually handles
that just fine by placing Junk if the pool runs out. The Item Pool being
larger than the location pool though could easily result in items not
being placed. Logic should prevent a seed like that actually being
generated, but No Logic does no such checks.

* Add TODO comment for Item Pool, should be same size as Location Pool.

* Prevent Completed Triforce from ending up in Location List
2025-03-12 10:32:45 -07:00
Malkierian
9b9a0061ab
Unify spoiler name creation across all shuffle types, and remove all versions of constructor functions with explicit spoilerName parameters except base. (#5111) 2025-03-12 10:32:17 -07:00
Philip Dubé
6dedf8a277
Gerudo Valley: fix regression with previous fix when combined with overworld shuffle (#5109)
Missed this in #5094 since only in last week I started becoming familiar with entrance shuffle logic
2025-03-12 10:32:03 -07:00
Philip Dubé
39e52aa8e6
Fix Gerudo Valley entrance logic (#5094)
* Fix Gerudo Valley entrance logic

Logic assumed cucco could be used as child to get around lacking bronze scale,
but this assumption fails if you enter grotto ledge from grotto or initial spawn

* fix lower/upper mixup

* fix: you can walk to lake hylia

* adult can jump across
2025-03-06 16:59:02 -07:00
Philip Dubé
eb6c0d9d29
presets: clear blocks (#5098)
* presets: clear blocks

this avoids needing to list every new cvar in presets.h

* avoid resetting selected preset

* no cvar lists, clear less blocks on drop
2025-02-28 04:34:16 +01:00
Jordan Longstaff
2d78cb561a
Move Broken Giant's Knife fix hook to its own file (#5049)
* Move Broken Giant's Knife fix hook to its own file

* Separate IS_RANDO out of value macro

* Remove redundant extern

* One-line comment
2025-02-28 04:33:48 +01:00
Pepe20129
06387060d6
Trade cleanup (#4971)
* Move adult trade to flags

* Move child trade to flags

* Fix vanilla

* Address review

* Rename `trade_shuffle` to `ShuffleTradeItems`

* Fix mac build

* Update GIVanillaBehavior.h

* Update z_kankyo.c

* Update z_en_heishi2.c
2025-02-25 12:09:01 +01:00
Philip Dubé
db41c6513b
Move boss kill logic into CanKillEnemy (#5000)
* Move boss kill logic into CanKillEnemy

Added hammer as being able to defeat Morpha

* add hammer vs gohma, king dodongo, & twinrova
2025-02-25 10:25:45 +01:00
Philip Dubé
e516f45e23
logic: allow finding big poe in bottle for reward logic (#5075)
* logic: allow finding big poe in bottle for reward logic

only applies when big poe count is set to 1

* Allow multiple big poe bottles for when big poe requirement > 1
2025-02-25 09:30:05 +01:00
Archez
66844fb220
Fix crash with scene logging paths (#5081) 2025-02-25 09:14:27 +01:00
Archez
5fcdf74f5c
Exclude debug file and cutscene map from auto save (#5088)
* Exclude debug file and cutscene map from auto save

* Remove ganon's lair from auto save exclusion
2025-02-25 09:13:31 +01:00
Archez
f023a46a5d
Use gamemode enum (#5089)
* Use gamemode enum

* update console command for file_select
2025-02-25 09:13:17 +01:00
Philip Dubé
51310db68f
ShuffleCows.cpp (#5093) 2025-02-25 09:11:46 +01:00
briaguya
acdb2dd324
bump lus (#5092) 2025-02-20 23:48:11 -05:00
Philip Dubé
49c5e19041
Fix rando generation crash (#5076)
Assertion failed in CreateChildAltarHints because all 3 stones were placed on fairies/beehives while those were disabled

Fix: consolidate on Context building settings dependant location lists. Overworld vs Dungeon should not operate so differently
2025-02-20 22:37:57 -05:00
Jordan Longstaff
b6e2a995f1
Use VB hook to fix Deku Nut upgrade bug (#5047)
* Use VB hook to fix Deku Nut upgrade bug

* Use constexpr, remove unused extern

* Separate IS_RANDO out of value macro

* Restore mask check in hook

* Call VB hook in SkipMiscInteractions hook

* Mask of Truth hook not registered in rando
2025-02-19 20:22:56 -05:00
Eric Hoey
75f33a00d8
Remove Right-Stick Aiming from Enhancement Presets (#5086) 2025-02-19 19:08:24 -05:00
Archez
3d7da51fc7
Remove committed mods folder (#5082) 2025-02-17 20:33:36 -05:00
Miles Acquaviva
cc25c96385
Added and implemented TrailType enum (#5059)
* added TrailType enum

* fixed build, moved declaration

* added enhancement comment

* Apply suggestions from code review

---------

Co-authored-by: link5669 <acqmiles@gmail.com>
2025-02-17 20:03:55 -05:00
aMannus
489cd84faa
Clean up autosave header (#5077) 2025-02-17 17:43:51 -05:00
briaguya
6f22c05eec
pin linuxdeploy (#5070)
* test forked linuxdeploy

* pin version
2025-02-16 08:25:30 +01:00
briaguya
2645a5fce2
bump lus (#5065) 2025-02-15 15:58:26 -05:00
briaguya
169a3d742d
make cmake_minimum_required consistent between root CMakeLists.txt and soh/CMakeLists.txt (#5066)
also remove some version checks that don't apply anymore
2025-02-15 00:59:02 -05:00
briaguya
20a9f41906
remove unused VB_SHOULDs (#5056)
* remove an unused should

* another unused

* remove more unused

* one more

* remove case

* more cases for unused shoulds
2025-02-14 21:32:25 +01:00
Christopher Leggett
6df5abc30b
Fix ER + Fishsanity settings combos (#5061) 2025-02-14 21:30:11 +01:00
aMannus
668040562f
Autosave Overhaul (#5022)
* Autosave interval based

* Move to save on soft reset, remove adjustable interval

* Use new BeforeExitGame hook to prevent non-existent data problems

* Fix check tracker crash, remove BeforeExitGame hook

* update comment
2025-02-14 21:29:22 +01:00
Eric Hoey
dbf7fcf775
explicitly exclude ganon + triforce completed (#5050) 2025-02-13 10:10:27 +01:00
Christopher Leggett
f7d6a47139
Fix issues leftover from PR #5023 (#5054) 2025-02-13 10:09:58 +01:00
Archez
0ce9807df6
ShipInit and move ValueViewer rendering out of src (#5039) 2025-02-12 21:52:18 +01:00
Christopher Leggett
d4b9e8c835
Remove locations from pool that are not shuffled. (#5023)
* Cleanup of unshuffled locations from pool/spoiler

* Removes unshuffled scrubs from the location pool

* Fix some instances of weird spacing

* Actually remove placement of vanilla freestandings

* Cleans up some now unnecessary code.

* Minor Optimization of PlaceItemsForType

* Fixes some grammer and spelling

* Another grammar fix
2025-02-12 21:42:58 +01:00
Archez
266792599e
Add hilite setup calls around all custom GI draws (#5043) 2025-02-12 21:32:28 +01:00
Archez
135c2e8217
Remove POLY_KAL and restore POLY_OPA for kaleido (#5041) 2025-02-12 21:30:06 +01:00
Miles Acquaviva
297a056dff
Created and implemented PosType enum (#5046)
* Created and implemented PosType enum

* fixed formatting

---------

Co-authored-by: link5669 <acqmiles@gmail.com>
2025-02-12 21:28:17 +01:00
Eric Hoey
499a23e9a3
restore night lock + remove interior lock (#5048) 2025-02-12 21:22:00 +01:00
Eric Hoey
126c3b532f
fix loop order + reorder case for clarity (#5044) 2025-02-12 21:21:43 +01:00
briaguya
37fd39c7b5
shipinit dont show master sword (#4989)
* Initial Commit

* Added full functionality for both Hylian and Mirror

* Included Format

* Removed Format

* Pedestal Cutscene

* Much Less OnGameUpdating

* Fix function call

* use enums

* move animation skip to vb should

* move taking out master sword to put in pedestal check into vb should

* move the rest of it over

* extra newline was bugging me

* update on `"IS_RANDO"` and use `COND`s

* make new "uncategorized" section for VB enum

* move shoulds to new file

* move vb rsk checks into conds

---------

Co-authored-by: Patrick12115 <Patrick12115@hotmail.com>
Co-authored-by: Malkierian <malkierian@gmail.com>
2025-02-12 15:32:40 +01:00
Archez
46c6d2f526
Restore pause link drawing behavior to use the work buffer (#5038) 2025-02-11 22:36:12 +01:00
Sarge-117
f5fa0f4e00
fix typo (#5036) 2025-02-11 16:18:16 -05:00
Garrett Cox
ac72ebaaa3
Fix issue with pause buffer input window not applying correctly to closing save prompt state and move code around to be in order of operations (#4975) 2025-02-11 09:56:48 -05:00
briaguya
a7f837014f
fix dark link not getting hit when stunned (#5028)
in https://github.com/HarbourMasters/Shipwright/pull/3280 both `0x00400000` and `0x04000000` were replaced with `PLAYER_STATE1_SHIELDING`.

`0x00400000` is `PLAYER_STATE1_SHIELDING`, but  `0x04000000` is `PLAYER_STATE1_DAMAGED`

this fixes the spots in `z_en_torch2` where we had `PLAYER_STATE1_SHIELDING` where it should have been `PLAYER_STATE1_DAMAGED`
2025-02-09 12:58:27 -05:00
briaguya
29cecd8502
fix dark link softlock (#5027) 2025-02-09 11:49:56 -05:00
aMannus
0177690b54
Remove potion values (#5021) 2025-02-09 09:34:02 +01:00
Spodi
8ce5c46531
Remove "Jitter Fix" option (#5020)
This was just confusing for users.
2025-02-09 01:07:02 -05:00
briaguya
c11887edcd
bump lus (#5026) 2025-02-09 01:06:31 -05:00
briaguya
6abf30aa2f
document vb shoulds (#5004) 2025-02-08 19:12:13 +01:00
Philip Dubé
14a14bb7ef
DC logic: more mud walls (#5019)
A few mud walls in DC logic still used SmashOrBlast, preventing alternative blue fire trick logic
2025-02-08 19:09:18 +01:00
aMannus
8f3711f008
simplify pause menu link (#5013) 2025-02-08 19:08:52 +01:00
Christopher Leggett
2400ad1d68
Start splitting Location List into ShipInit functions (#5011)
* Move fairy checks to separate file

* Moves pot locations to ShipInit function

* Move Freestanding locations to a ShipInit function

* Remove some extra newlines that were pasted in

* Move fish locations to ShipInit function

* Remove ON_BOOT, as it's not really necessary

* Fix weird spacing
2025-02-06 20:30:23 -07:00
briaguya
ca0617b035
add some documentation to RegisterShipInitFunc (#4995) 2025-02-06 21:47:06 -05:00
Christopher Leggett
f2a3ac1740
Fix enabledTricks getting incorrectly logged. (#5012) 2025-02-06 15:40:38 -07:00
Archez
eafe7f0b04
Fix save warping in links house with entrance rando (#5009)
* Fix save warping in links house with entrance rando

* account for interrior shuffle all
2025-02-06 08:33:41 -07:00
Malkierian
4044ab34c3
Add Fortress and Colossus entrance groups to the entrance tracker data, and adjusted the check tracker accordingly (for autoscroll). (#5001) 2025-02-05 16:11:48 -07:00
Archez
3cd4851474
Defer scene DList resource loading to in-game and support alt pathing (#4986)
* Defer scene dlist resource loading to in-game and support alt pathing

* feedback
2025-02-04 18:03:35 -05:00
aMannus
b2cb3ff87d
Unlock locked interior doors with overworld keys enabled (#4948)
* Update LockOverworldDoors.cpp

* Remove key logic from interiors

* Fix entrances, this time while awake
2025-02-04 15:08:28 +01:00
briaguya
811ffa5e98
fix rainbow all (#4991) 2025-02-04 11:32:44 +01:00
briaguya
e44877cca8
implement RemoveSpinAttackDarkness using shipinit and custom update func (#4987)
Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
2025-02-04 10:49:31 +01:00
Archez
40f2e16842
Macos game mode support (#4993)
* Remove macos startup script and rework cpack bundling

---------

Co-authored-by: Lars-Christian Selland <larsy1995@gmail.com>

* Add helper for creating mods folder

---------

Co-authored-by: Lars-Christian Selland <larsy1995@gmail.com>

---------

Co-authored-by: Lars-Christian Selland <larsy1995@gmail.com>
2025-02-04 10:48:41 +01:00
briaguya
11e07a8f9d
rework assignable tunic/boots to use shipinit and hooks (#4978)
* don't put away items when equipping tunics/boots

* vb

* don't need that return

* ok i guess i'm going down the rabbit hole

* more rabbit hole

* shipinit and more hooks

* clean up

* use fewer params, add a missing condition

* make the loops make sense
2025-02-04 10:44:02 +01:00
briaguya
8ae8770db8
pull in startMode docs (#4988) 2025-02-03 18:58:49 -05:00
Philip Dubé
c7f335f23c
Prefer EVENTCHKINF constants to hex (#4965)
Also remove unnecessary const qualifiers that flood warnings
2025-02-03 11:08:58 +01:00
Philip Dubé
e7e02735b0
rando: vanilla dungeon rewards (#4836)
* rando: vanilla dungeon rewards

* gift from rauru is dungeon location, not pocket

* missing apostrophe in preset description

* neither pocket nor gift should be listed in dungeonRewardLocations
2025-02-03 10:57:35 +01:00
Philip Dubé
e5ddcce7f2
use CanKillEnemy more (#4867)
* use CanKillEnemy more

reviewed instances of RG_KOKIRI_SWORD in logic

* kokiri does not damage spikes

* confirmed hammer works vs dodongos

* 3
2025-02-03 10:46:59 +01:00
Xeokn
33d7b173fa
Additional Sail commands (#4970)
* Additional Sail Commands.

Adds "SpawnEnemyWithOffset" and "SpawnActor" to Sail Functions.

* Small Corrections

Indentation my beloved
2025-02-02 17:00:59 -05:00
briaguya
ac9b8c2e87
better soft reset (#4984) 2025-02-02 02:33:04 -05:00
briaguya
f4604673e0
clean up/fix mq dungeon and required trial parsing logic (#4979) 2025-02-01 22:11:56 -05:00
Malkierian
b62808dc2d
Prevent adding Gerudo Fortress Keyring when Keyrings are set to off. (#4981) 2025-02-01 19:38:22 -07:00
briaguya
133825c1cd
update to latest LUS main (#4976) 2025-01-31 11:41:03 -07:00
Malkierian
1744f1fc18
Set Item Tracker Total Checks window to only scale text if Item Tracker window type is Floating. (#4963)
Increase default width to account for window type title text.
2025-01-30 10:37:17 +01:00
Christopher Leggett
7df9641297
Exclude locations fix (#4969)
* Properly check for Excluded Location option.

* Remove GetOption overloads, weren't working anyway
2025-01-29 08:12:42 -07:00
Malkierian
1f65bde583
Move most ImGui-related files/code to an SohGui subfolder. (#4968) 2025-01-28 18:45:21 -07:00
briaguya
668e266ecc
clamp addAlpha when skipping spinning logos to prevent softlock (#4964)
* debug print logos seen

* maybe this is the fix, not sure if there's a better option i'm overlooking

* use clamp

* msvc plz

* msvc?

* max is cleaner
2025-01-27 18:59:46 -07:00
Malkierian
41cf6b3338
LUS bump (#4960) 2025-01-27 14:13:14 -07:00
briaguya
744fab4b05
fix build (#4961) 2025-01-27 13:21:40 -07:00
Pepe20129
31cd419d6f
Update kakariko.cpp (#4959) 2025-01-27 11:31:50 -07:00
Christopher Leggett
b5e6342bc1
Rip Settings out of Rando::Context (#4943)
Not completely happy with everything here but this should fix the bugs
related to settings getting cleared on save load.
2025-01-27 11:30:04 -07:00
Malkierian
ef0350d830
Add translation for bottle item RGs to itemIDs for assigning to slots in logic.cpp (#4954)
Change `CanEmptyBigPoes` to reset to false instead of true.
2025-01-27 09:48:13 -07:00
briaguya
83000e2f6a
bump lus (controllerdb device at boot fix) (#4951)
* test controllerdb device at boot fix

* lus main
2025-01-26 19:37:14 +01:00
Eric Hoey
97c686c2a6
Fix fairy shuffle in LW Scrub Grotto and Royal Family Tomb (#4934)
* add missing fairy locations+hint text

* match rft chest name
2025-01-25 16:35:20 -07:00
Malkierian
8f67efee58
Entrance Names Redux (#4941)
* Add "Blue Warp" to the boss sides of the blue warp pairs to differentiate from the bosses on the other sides of boss doors.
Fix some names that weren't the same in both pairs of entrances.
Renamed a few other entrances for clarification.

* Add function to check entrance name consistency.
Fix remaining non-matching names.

* Document CheckEntranceNames.
Remove declaration of it from the header.
2025-01-25 10:09:17 -07:00
Eric Hoey
b6aa01b28c
fix fire temple hints (#4950) 2025-01-25 09:51:07 -07:00
Christopher Leggett
e99771f69c
Cause spoiler to be re-parsed on soft-reset (#4944) 2025-01-25 09:50:44 -07:00
Garrett Cox
8ac8dc3fd0
Move trap handler to its own file and make the additional trap types seeded (#4942) 2025-01-25 09:50:36 -07:00
briaguya
388eb487e3
rework "Authentic Logo Screen" and "Fast File Select" (#4939)
* skip z_title with button press

* use `RegisterShipInitFunc`

* rip out a bunch of custom ztitle code

* ok now it's almost fully back to vanilla

* titles are back for a limited time

enjoy #Skipping

* move old customizations into new custom draw

* finally getting the hang of this shipinit thing

* vb should let it snow

* boot sequence logic

* clean up logic to better handle changing boot sequence settings

* remove fast file select stuff

* remove authentic logo screen setting

* about window - not super pretty but not ugly imo

* maybe this fixes windows

* maybe alloca? idk why it's working in other files

* just pulling in every include hoping something works

* Revert

This reverts commit c1d02c9a40.

* try some macro fixing magic

* fix another c vs cpp thing

* do it without an extra var

* make `GitCommitHashTruncated` a private member on `AboutWindow` instead of truncating on draw

* move logo asset defs to `soh_assets.h`

* Apply suggestions from code review

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

* VB_SHOULDN'T

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2025-01-24 10:21:15 -05:00
briaguya
6d94cf9bac
bump LUS (joystick thread hint) (#4946) 2025-01-24 10:20:53 -05:00
Garrett Cox
aa2ad23601
Replace old pause buffer input experience with a more accurate one (#4918) 2025-01-23 01:30:34 +00:00
Garrett Cox
69e3342808
Fix improper usage of GetFinalGIEntry, passing the RG instead of GI (#4938) 2025-01-22 11:39:08 -06:00
Eric Hoey
bc561efa8e
change RCs to RHTs (#4932) 2025-01-21 16:51:17 +01:00
Malkierian
c781a76e89
Add DMT Cow Grotto Storms Fairy to DMT location access. (#4931) 2025-01-21 10:05:36 +01:00
Pepper0ni
04c0697379
Clean up settings and add boss soul files (#4891)
* Clean up settings and add boss soul files

* address reviews

* didn't realise there was more

* add comment for how to undummy stealth
2025-01-21 06:46:52 +01:00
Philip Dubé
ad9984ef68
pause warp: check player has buttons (#4927)
* pause warp: check player has buttons

* feedback
2025-01-21 06:45:33 +01:00
PurpleHato
26e92a063f
ADD: French translations for rando on file select (#4928)
* French translation for rando file select

* better seed than Seed
2025-01-21 06:45:15 +01:00
Pepper0ni
6f8ac16a9e
Add DMT cow fairy and give overworld misc song fairies hints (#4930) 2025-01-21 06:44:56 +01:00
aMannus
8a5dd6323c
Use textures for boss souls in item tracker (#4925)
* Use textures for boss souls in item tracker

* Fix builds
2025-01-21 00:12:49 +01:00
aMannus
5c4a6ae8c0
Hint purge (#4924) 2025-01-21 00:03:38 +01:00
Philip Dubé
936b159a67
fix 4 warnings (#4922)
1. pragma in cpp
2. missing return
3. unnecessary function call
4. remove impossible null check
2025-01-21 00:03:21 +01:00
Garrett Cox
eab11d7f56
Lock overworld doors Randomizer option (#4489) 2025-01-21 00:03:02 +01:00
aMannus
ded1c721f2
Fix particles (#4923) 2025-01-20 22:37:44 +01:00
aMannus
878a8fe465
Fix boss soul ice traps (#4921) 2025-01-20 22:37:11 +01:00
briaguya
63046a89ec
simplify controllers (#4914)
* start moving towards just using `ShipDeviceIndex::SDLGamepad`

* rename `ShipDeviceIndex` to `ShipDeviceType`

* all sdl mappings are always `ShipDeviceType::SDLGamepad`

* create new `physicaldevice` directory where the new stuff can live

* `ConnectedPhysicalDeviceManager`

* start to not need index mapping manager

* somes fixes and stuff

* remove more shipdeviceindex stuff

* more removing and what not

* axis thresholds

* rename some stuff and remove device icons

* back to all stuff visible

* show connected device names

* bring in mouse color from lus input editor window

* lus

* remove

* more stuff

* more lus

* basic filtering

* update lus

* upstream LUS

* make `Controller_ShouldRumble` make sense
2025-01-20 19:51:39 +01:00
Christopher Leggett
8244d63719
Fix rando menu sliders so they update on JSON drop (#4912) 2025-01-19 18:06:54 -07:00
Christopher Leggett
526aad59d5
Fix the trick options loop (#4917)
It initialized an array with a size, which pre-filled
it all with nullptrs, and then used push_back on top of that.
So it was a bunch of nullptrs followed by the actual
option pointers. Fixed by calling reserve instead of
constructing with a size, so it reserves the memory it needs
without actually filling the vector with nullptrs, so push_back
properly starts from the beginning.
2025-01-19 18:06:42 -07:00
Philip Dubé
ed674f1ed2
mOptionGroups: populate RSG_TRICKS with loop (#4909)
There were some tricks missing, using loop makes one less place to update when adding tricks
2025-01-19 20:49:59 +01:00
Malkierian
7a7eed74db
entrancesMap cleanup (#4905)
* Make spoiler entrancesMap use the same names and display scheme as the entrance tracker.

* Use `Entry` in place of grotto `Exit` and interior `Outside`.
2025-01-19 20:45:30 +01:00
aMannus
2a172de52a
Cosmetics Editor tweaks (#4904)
* Cosmetics Editor Tweaks

* More work on keys
2025-01-19 20:45:07 +01:00
Lord Jabu Jabu
3357543538 Dev Feature - Create VS Code Build tasks and update build documentation (#4895)
* Added vs code build tasks

* Fix typo in BUILDING.md regarding CMake Tools plugin

* Add "Build All" task to VS Code configuration
2025-01-19 13:49:23 -05:00
aMannus
c466c92905
Uncomment chime on one points (#4901) 2025-01-18 23:54:59 +01:00
Eric Hoey
3061b138fa
pause menu behind advanced + remove from applysideeffects (#4903) 2025-01-18 19:54:52 +01:00
aMannus
8a5dd022f6
Fix ice trap size not getting reset (#4897) 2025-01-18 11:46:59 +01:00
aMannus
188b9757da
Fix triforce hunt timer (#4896) 2025-01-18 11:46:48 +01:00
aMannus
b4f7d2289a
Play success sound on dropping in spoiler log (#4899) 2025-01-18 11:46:38 +01:00
aMannus
7d2a4e5818
Default "Hide unshuffled shop item checks" to off (#4900) 2025-01-18 11:46:01 +01:00
Archez
d1b7a5b814
Fix new Boss Soul skeleton based items (#4902)
* Fix and tweak boss soul skeleton patterns

* slow down morpha tex scroll

* extern c

* lower kotake a little
2025-01-18 11:45:21 +01:00
Pepper0ni
47fdaabd1b
Update Actor Flags to decomp (#4822) 2025-01-16 04:02:23 +01:00
Pepper0ni
88a432aac5
fix minor issues and a BotW rupee (#4888) 2025-01-16 03:26:11 +01:00
aMannus
7f4344e28e
Fix mystery items applying to GI skipped items (#4886) 2025-01-16 00:12:30 +01:00
aMannus
a06b6c4365
check tracker typos (#4885) 2025-01-16 00:12:16 +01:00
aMannus
5ae527c194
Shuffle Fairies - Fix fairies spawning without playing song (#4884)
* Fix fairies spawning without playing song

* Better if statement
2025-01-15 23:12:06 +01:00
Jordan Longstaff
0497ad20d8
Rename Business Scrub functions/flags from decomp (#4776)
* Rename Business Scrub functions/flags from decomp

* Update XML references
2025-01-15 11:23:06 -05:00
aMannus
a86205b999
[RANDO] Boss Soul Shuffle using actual boss models (#4827)
* First pass for first 8 bosses

* Finish all souls
2025-01-15 15:26:44 +01:00
Pepper0ni
3e6a0ef566
Add Dana's models to the game, add cosmetic customisation for keys and rename Bombchus in Logic (#4311)
* initial implementation of new models

* fix typo

* Add smaller skeleton key model and try to fix windows build

* stupid windows, you made me look bad!

* make DrawBombchuBag function work

* small cleanups

* OOGGA BOOGA BOO

* fix post merge leftovers

* post merge fix

* Added Big Key Lighting override to show vanilla lighting when unchanged

* rename CustomdLists into customIconDLs

* post merge fixes

* fix some tooltip issues

* post merge cleanup and some small menu changes

* post merge fix

* post merge fix

* add new boss soul model, colours broken

* update boss soul model for env support

* Add dungeon customise buttons to cosmetic editor

* fix mac build?

* keys don't support alpha

* fix submodules

* ring now draws

* fix keyring colours

* Add bombchu Bag RG, fix boss soul skull colour

* address reviews
2025-01-15 14:18:52 +01:00
Pepper0ni
95a4e1cfba
Fix big poe bottle logic (#4837)
* fix big poe logic

* oops
2025-01-15 13:47:30 +01:00
Philip Dubé
d3c619ec2f
Fix ImgUI red boxes (#4869)
Invisible buttons needed unique IDs
2025-01-15 13:46:47 +01:00
Fredrik Andreasson
651623a845
[Rando] Prevent alarm when at full HP (#4831)
* * Prevent low HP alarm when at full HP for 1 heart start

* * updated name
2025-01-15 13:15:08 +01:00
Pepe20129
a46cfff438
Move some cheats to Shipinit (#4819)
* Infinite ammo

* Infinite health

* Infinite magic

* Infinite money

* Infinite Nayru's love

* Unrestricted items

* Freeze time

* Easy QPA

* Easy ISG

* Deku stick cheats

* Moon jump cleanup

* Update Ammo.cpp

* Address reviews
2025-01-15 13:08:33 +01:00
Pepper0ni
ce289c0be9
Properly store starting age in spoiler log (#4873)
* properly store starting age in spoiler log

* convert ResolvedStatingAge to a setting to store it in the save
2025-01-15 13:05:52 +01:00
Pepe20129
7f31fd2e4e
Organize ship specific save context additions (#4597)
* Basic restructure

* Undo most randomizerInf changes for now

* Small fixes

* Fix linux & mac builds?

* Fix remnants of randomizerInf changes

* Post-merge fix

* Post-merge fix
2025-01-15 13:04:47 +01:00
Malkierian
0d80c4695f
Change UnregisterGameHook type for freestanding handler to OnVanillaBehavior to match registration type. (#4883) 2025-01-14 21:49:49 -07:00
Pepper0ni
2fc3a563c9
fix spirit MQ south child climb chest logic (#4850) 2025-01-13 11:17:12 -07:00
briaguya
b774d39bc7
fix tooltip wonkyness (#4856) 2025-01-12 02:06:34 +01:00
Pepper0ni
66f5e6c26c
Fix generation errors exposed by loccacc refactor (#4861)
* Fix generation errors exposed by loccacc refactor

* oops
2025-01-12 01:50:50 +01:00
Eric Hoey
61de721fe5
Fix Skeleton Key Hint (#4860)
* add skeleton key hint text

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

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

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

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

* add end quote back, oops

---------

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
2025-01-12 01:49:24 +01:00
Eric Hoey
4a91d94507
pass one + pass two + pass three (#4863) 2025-01-12 01:48:27 +01:00
Jordan Longstaff
0ae7f626a1
Added skip of Forest Stage leader cutscene (#4818) 2025-01-11 10:55:36 +01:00
Pepe20129
8e8befc6d5
Update settings.cpp (#4830) 2025-01-11 10:53:45 +01:00
Pepper0ni
7ea6422b6f
fix LW Boulder (#4835) 2025-01-11 08:44:02 +01:00
Pepe20129
1ee31e5d61
Location access files cleanup (#4750)
* Move/Rename locacc files

* Format locacc files

* Split hyrule field file into HF, LH & LLR files

* Split castle town file into MK, TOT & HC/OGC files

* Split kakariko file into KAK & GY files

* Split death mountain file into DMT, GC & DMC

* Split lost woods file into KF, LW & SFM files

* Split gerudo valley file into GV, GF, HW & COLO files

* Move most files into the overworld/dungeons folder

Gerudo fortress needs to be split into gerudo fortress & thieves hideout, the former into overworld and the latter into dungeons

* Remove the optional second condition function

We won't need it as we're doing glitches differently from 3ds rando

* Post-merge fixes

* Split zora's domain file into ZR, ZD & ZF files

* Post-merge fixes

* Forgot to save the file

* Remove the optional second condition function from entrances & events

* Update bottom_of_the_well.cpp

* Add clarifying comment in `gerudo_fortress.cpp`

* Post-merge fixes

* Post-merge fixes

* Remove `s` from `RegionTable_Init_GerudoTrainingGrounds`

* Post-merge fixes
2025-01-11 08:28:23 +01:00
briaguya
6a5e5e2a75
imgui 1.90.6 -> 1.91.6 (#4838) 2025-01-11 02:02:05 -05:00
Fredrik Andreasson
3b26bd0402
Fix Mido without Emerald softlock (#4824)
* * fixes softlock when talking to Mido without Kokiri Emerald after killing Gohma

* * moved scene check to hook
* moved vanilla conditioon into GameInteractor_Should

* * corrected hook condition
* removed 'this'

* * reverted GameInteractor and hook_handlers
* changed actor to use existing hook

* * updated kokiri emerald conditions

* * missed parentheses
2025-01-10 23:14:31 -07:00
Pepper0ni
8dc2b0cec2
fix a few default cutscene settings (#4834) 2025-01-10 23:13:04 -07:00
Archez
4e8ccce002
Move Window calls to portside (#4833)
* Move LUS window calls to portside

* move dropped frame handling to port side

* Use fast3d all in one draw

* bump to upstream lus
2025-01-11 00:33:19 -05:00
Pepper0ni
323ea2df96
Fix song Fairies (#4826)
* Fix song fairies

* forgot a bool
2025-01-08 17:51:51 +01:00
Alejandro Asenjo Nitti
9455579f42
Set Sample Rate to 32000 hz (#4780)
* Set Sample Rate to 32000 hz

* PR review

* .DesiredBuffered = 1680
2025-01-08 01:08:20 -05:00
Jordan Longstaff
707b135711
Rename stick and nut capacity settings in save editor (#4825) 2025-01-08 00:46:48 -05:00
PurpleHato
5d6f20bf55
Frenchsanity (translations) (#4817)
* Most of french rando message

* Should be all

* Plural

* Better wording

* forgot one

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

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

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

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>

* Missing ones

---------

Co-authored-by: Philip Dubé <serprex@users.noreply.github.com>
2025-01-08 05:58:52 +01:00
Pepper0ni
ad596387c6
Stop Adult Anju from breaking (#4767)
* stop anju from breaking

* remove comments

* remove whitespace
2025-01-08 05:50:24 +01:00
Philip Dubé
51fcf4d2c6
Add trick for using blue fire on mud walls (#4810) 2025-01-08 05:49:55 +01:00
Pepper0ni
349aac10be
Fix some flipped entrance data in Entrace Rando (#4828)
* fix a reversed entrance entry

* whitespace pls

* fix market entrance IDs
2025-01-07 21:33:18 -05:00
Archez
a00df04ffd
Fix Naborru fight CS for child and with entrance skips (#4821) 2025-01-07 18:54:48 -05:00
Philip Dubé
47ba512351
Clean up enemy logic (#4816)
* Fix logic thinking naked adult can clear wolfos grotto

Use CanKillEnemy more

* GERUDO_WARRIOR. Can defeat with a lot more than swords

* one more flare dancer

* Put defeating Gerudo Warrior with slingshot/bombchu behind trick
2025-01-07 19:32:52 +01:00
aMannus
61a1d12ffe
Fix shuffled fairies despawning (#4823) 2025-01-07 19:32:20 +01:00
Pepper0ni
6ec71964a1
fix ITEM_00's giving twinrovas check (#4820) 2025-01-06 14:36:12 -07:00
Pepper0ni
cb738306d8
Actually fix issues with log settings (#4813)
* remove taking settings from a loaded spoiler instead of the imGUI settings

* actually fix most SpoilerLoad issues

* fix vanilla saves making future generations have so settings

* remove extra comment
2025-01-06 07:34:51 +01:00
Philip Dubé
2f8bb02502
fix assertion error due to CanUse(RG_BRONZE_SCALE) (#4814) 2025-01-05 22:36:04 -07:00
briaguya
34f77dda92
address some controller duping issues (#4805)
* try no wgi

* bump

* bump to latest LUS main
2025-01-05 21:32:54 +01:00
Philip Dubé
7267b47a83
check tracker: don't show GS from wrong quest when always showing GS (#4803)
* check tracker: don't show GS from wrong quest when always showing GS

also fix comparing `char*` to `""`

* IsQuestOfLocationActive
2025-01-05 19:36:34 +01:00
aMannus
23466e5a5e
Freestanding Shuffle fixes & extract to separate file (#4808)
* Freestanding fixes

* Copy paste fail

* Temporary vanilla items fix
2025-01-05 19:10:46 +01:00
Pepper0ni
700c1a808d
remove taking settings from a loaded spoiler instead of the imGUI settings (#4812) 2025-01-05 19:09:04 +01:00
aMannus
537a57c361
Introduce in-game Randomizer Settings menu, remove plando mode (#4804)
* Initial mockup

* Rip out part of plando mode, implement rando settings menu

* MVP new randomizer flow

* Translation support and code cleanup

* Fixes and more cleanup

* Fix whoopsie

* Fix whoopsie 2
2025-01-05 18:42:45 +01:00
Pepper0ni
55e1af9e81
Fairysanity (#4744)
* Define VB for fairy group spawning

* Add skeleton of new files for fairy shuffle

* Add option to enable/disable fairy shuffle

* Add field to fairy entities to hold randomizer data

* Expose the current grotto id, or find it if not shuffled

This is necessary since, unlike chest or scrub grottos,
fairy fountains, lacking any elements that would normally
differ between grottos, often have identical respawn data.
This change enables fairy shuffle to correctly identify
which fairy fountain was entered so it could load the right
checks.

* Initialise fairy groups if detected

* Randomize first set of fairies

* Make randomized fairies collectible

* VBify fairy healing customization

* Add remaining grotto fairies

* Add remaining fairy group spawns

* Override bean sprouts spawning fairies

* Define bean sprout fairy checks

* Add HasItem and CanUse entries for magic beans.

* Define logic for bean sprout fairies

* Enabling looking up fairies by z coordinate

* Add Temple of Time Gossip Stones

Logic might look a little weird. While the Gossip Stones
respond to Sun's Song, the scene transition takes priority,
so the fairies aren't actually obtainable. Adult does not have
day and night versions and is fully capable of acquiring the
fairies with Sun's Song.

Song of Time is similar, but rather than being dependant on
age, it's dependant on the timesaver to switch ages anywhere
with Song of Time. In this case, the fairies still spawn,
but the age transition deletes them before giving the chance
to collect them. While I could've chosen to ignore this and
simply require the player to disable the enhancement before
playing if it's their only option, I instead decided to
accomodate the enhancement and require one of the other songs
in order for the check to be in logic.

* Disable quick age change around gossip stones to simplify logic

* Add remaining gossip stone fairies

* Finish gossip stone fairies

* Add Desert Colossus Oasis

* Restrict fairy type

Somehow, it was previously possible for Navi to get detected
as a randomized fairy and rendered as an item. I was not
able to reproduce the behavior, but this should prevent it
from happening again.

* Add overworld special fairy spots

* Add mini-dungeon fairy song spots

* Add remaining dungeons except Shadow

* Add Shadow Temple fairies

* Add fairy check flags to the save editor

* Filter fairy checks from check tracker

* Add hints for fairy checks

* get fairysanity as far as I can for now

* fix a few obvious issues

* now builds

* try to convert FairyOnVanillaBehaviorHandler to vardic args

* convert RegisterFairyCustomization to REGISTER_VB_SHOULD

* fix some generation issues

* remove the list of fairy locations

* fix up logic

* more logic changes for gossip stones

* try silly thing for windows

* more stupid

* more dumb testing

* more testing

* small fixes

* implement inside fence storms fairy

* add inside fence storms fairy to logic

* remove duplicate hints (stupid conflicts)

* oops

* Rewrite game interfacing code of fairy shuffle

* Better function names

---------

Co-authored-by: Angel Bulfone <mbulfone@gmail.com>
Co-authored-by: aMannus <mannusmenting@gmail.com>
2025-01-05 14:52:27 +01:00
aMannus
7021230fd5
Fix jabu pot locations (#4811) 2025-01-05 13:42:08 +01:00
aMannus
f8fa4416de
Port over ShipInit from 2Ship (#4756)
* Port over ShipInit and transform Moon Jump as example

* Clean up moon jump

* Updated moon jump structure & cvar defines
2025-01-05 10:48:49 +01:00
inspectredc
f0b02d6c7e
Custom Tunics (#4774)
* Custom Tunics

Co-authored-by: MoriyaFaith 46070717+MoriyaFaith@users.noreply.github.com

* Works for necessary scenarios

* make variable static again
2025-01-05 10:05:12 +01:00
Pepper0ni
91720a3857
Fix forest tooltip again and fix logic issue in fishanity age split (#4801)
* first forest tooltip again

* Fix logic issue with fishanity age split
2025-01-05 09:38:35 +01:00
Malkierian
bbc4cc3305
Fix shield invert tooltips and X-axis application (#4802)
* Update Forest and Carpenters CVars in the migrator.

* Fix shield invert tooltips and X-axis application.
2025-01-04 00:41:14 -07:00
Malkierian
8648cdeca5
Fix the GBK give after completing the triforce in triforce hunt. (#4800) 2025-01-03 15:40:30 -07:00
Pepper0ni
a9113aa7ba
set the logic context to the main save when initing the save (#4796) 2025-01-03 10:04:57 -07:00
Jordan Longstaff
1b6508556d
Fix Broken Giant's Knife flag not resetting (#4608)
* Fix Broken Giant's Knife flag not resetting

* Force setting on in rando

* Fix flag when checkbox is toggled
2025-01-03 00:16:03 -07:00
Jordan Longstaff
1a040b3198
Skip Ganondorf boss battle intro (#4693) 2025-01-03 00:14:49 -07:00
briaguya
822d93880d
bump lus (#4793) 2025-01-02 23:52:30 -07:00
Malkierian
f5b5690361
Make Let It Snow toggle always visible in Silly Cosmetics. (#4759)
* Make Let It Snow toggle always visible in Silly Cosmetics.

* Add tooltip.
2025-01-02 23:44:47 -07:00
Philip Dubé
5155905efa
fix 3 trick locations from spirit to ice cavern (#4792) 2025-01-02 23:07:40 -07:00
Philip Dubé
6133ebe135
cleanup indentation around trees drop sticks (#4778)
* cleanup indentation around trees drop sticks

* combine the range check
2025-01-02 23:07:14 -07:00
Jordan Longstaff
7e481c3f69
Rename code file for inventory functions (#4783) 2025-01-02 23:06:50 -07:00
Philip Dubé
d70c061c5e
minigames: render ammo even when out-of-minigame ammo is infinite (#4785) 2025-01-02 23:06:27 -07:00
briaguya
e57a052468
Update GAME_CONTROLLER_DB.md (#4784) 2025-01-02 18:22:50 -07:00
Philip Dubé
fceb083dc0
check tracker: fix Clear (#4791)
when pressing Clear the input is cleared but list was not updated
2025-01-02 18:22:15 -07:00
Pepper0ni
0544c494e6
Fix 2 broken rupees in ice cavern (#4789) 2025-01-02 14:43:56 -07:00
Pepper0ni
237f8b903a
Fix scarce and minimal item pools removing shuffled sticks and nuts. (#4787)
* fix scarce and minimal item pools removing stick and nut upgrades when they are shuffled.

* improve clarity
2025-01-02 14:12:12 -07:00
Pepe20129
966a86c508
Tricks Cleanup (#4740)
* Quick cleanup

* Re-add experimental tag

* Cleanup and small explanations

* Implement RT_DAMAGE_BOOST_SIMPLE & RT_HOVER_BOOST_SIMPLE

* Update tricks.cpp

* Move glitch status to a tag

* Fully remove the unused LENS & BKSKIP tags

* Enable some disabled tricks

* Add RT_ZF_GREAT_FAIRY_WITHOUT_EXPLOSIVES
2025-01-02 09:44:30 -07:00
Pepper0ni
0d0e03bedc
fix cheese logic (#4786) 2025-01-02 09:44:15 -07:00
Pepper0ni
396e2fd5ff
fix freestanding tracking (#4782) 2025-01-01 15:09:23 -07:00
Philip Dubé
4c6a2a4b64
fix potsanity looking at deku tree MQness when dealing with pots between quests (#4773)
* fix potsanity looking at deku tree MQness when dealing with pots between dungeons

also don't need a loop for a range check

* share logic between placing freestanding & pots

* fix settings typo

* fix all freestanding items still being shuffled

this reinstates original freestanding method of filling in unused locations,
but also extend logic so that when only dungeons have freestanding shuffled
we don't render overworld freestanding as 3d versions until collected

* lift optimization check
2025-01-01 13:26:41 -07:00
Extloga
21e55563b4
Additions and fixes for two translations in hint_list.cpp (#4771)
* Fixes for the German translation in hint_list.cpp

* Additions for two translations in hint_list.cpp

* Fixes for two translations in hint_list.cpp

* Fixes for two translations in hint_list.cpp
2024-12-29 08:30:31 -07:00
Reuben D'Souza
fc8d581efb
fix: readme typos (#4768)
* fix: change complier to compiler

* fix: repeated the
2024-12-27 22:25:25 -07:00
Pepper0ni
32c20b6ebe
several small fixes (#4762) 2024-12-26 11:51:16 -07:00
Archez
61e91526cd
Fix transition wipe not rendering properly (#4757) 2024-12-26 08:26:04 -07:00
briaguya
f7b8ddccfd
don't use magic numbers in EnItem00_CustomItemsParticles (#4728)
* don't use magic numbers in `EnItem00_CustomItemsParticles`

* Update particle enums, add deku/stick bag RGs (#377)

---------

Co-authored-by: aMannus <mannusmenting@gmail.com>
2024-12-25 21:18:20 -07:00
Philip Dubé
3ac06d4afc
fix missing newline in merchant option text (#4758) 2024-12-25 21:16:42 -07:00
Malkierian
2dccacc7f9
Change Kakariko Guard Gate Exit destination name to Bottom Exit rather than Middle. (#4752) 2024-12-25 21:14:35 -07:00
Pepper0ni
1f99dcf56a
Clean up Kakariko logic and fix some errors, move AtNight into CanGetNightTimeGS. (#4748)
* fix kakariko logic

* Update soh/soh/Enhancements/randomizer/3drando/location_access/locacc_kakariko.cpp

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>

---------

Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
2024-12-25 21:14:21 -07:00
aMannus
1c2fbba709
Convert audio sliders from float to int (#4709)
* Audio sliders float -> int

* Implement migrator

* Must construct additional if statements
2024-12-23 12:35:56 -07:00
Pepper0ni
e8cf9a61cc
Fix fortress pots being considered dungeon in pot replacment (#4749)
* Fix fortress pots being considered dungeon in pot replacment

* change to use IsDungeon, make IsDungeon cleaner
2024-12-23 19:16:53 +01:00
Philip Dubé
781bbb85ae
remove out of bounds array access, matching upstream fix (#4751) 2024-12-22 23:05:04 -07:00
Pepper0ni
9ea9100787
Freestanding Rupees/Hearts Shuffle (#4686)
* Enable freestanding items other than heart pieces and keys

* Add option to disable freestanding rupee & heart shuffle

* Add items to pool

* Actually add shuffle setting

* Define overworld locations

* Add logic for overworld freestanding checks

* Add freestanding items for child dungeons.

* Add checks for Ice Cavern and Bottom of the Well

* Add checks for Forest Temple and Gerudo Training Grounds

* Add checks for Fire Temple and Water Temple

* Add Shadow Temple checks

This does not include the spinning pots rupees, even though
they're included with freestanding rupees in the N64 randomizer
as they would require dedicated overrides for the code for
the pots in question.

* Define Spirit Temple and Ganon's Castle hearts

* Add remaining checks to dungeon definitions

* Fix missing logic

* Add freestanding checks to Save Flags Editor

* Fix flags for Zora Fountain underwater rupees

* Add option to enable freestanding shuffle for either dungeons or overworld

* Add missing MQ checks and fix mac & windows compile error

* Improve description and add hint text

* Update logic for Bombchu fixes

* Add missing Spirit Temple MQ hearts

* Add missing settings entries

* Actually add Forest Temple trick to the tricks menu.

* Re-add Ice Cavern lobby rupee

* go over MQ logic

* review logic on non-MQ checks

* convert all freestandings to location based

* add option enum and fix jabu exit logic

* fix mislocated freestandings

* fix mislocted freestandings

* Fix some mislocationed checks

---------

Co-authored-by: Angel Bulfone <mbulfone@gmail.com>
2024-12-22 11:16:00 -07:00
briaguya
ff24581281
Fix actor inits happening too early (#4742)
* fix dogs not running

* clean up kak gs fix

* clean up scrub leader fix
2024-12-21 08:08:48 -07:00
Pepe20129
6fb974bfeb
Rando Cleanup (#4741)
* Delete empty files

* Small Cleanup

* Remove some now useless comments

* Re-add log
2024-12-21 08:08:40 -07:00
Jordan Longstaff
845e37936e
Skip water level change cutscenes in Water Temple (#4726)
* Skip water level change cutscenes in Water Temple

* Fix disappearing HUD issue
2024-12-21 07:52:34 -07:00
Jordan Longstaff
c5923fafcf
Fix Door of Time collision when skipping cutscene (#4734) 2024-12-21 07:47:37 -07:00
Jordan Longstaff
dd11751b43
Rename code_80043480.c from decomp (#4731) 2024-12-20 18:26:42 -05:00
Pepper0ni
35e0a7ce10
Remove excess magic from the MQ GTG pots (#4710)
* remove excess magic

* change rupees to hearts
2024-12-20 18:09:59 -05:00
Pepper0ni
c17b55b465
Improve KZ hook (#4732)
* improve KZ hook

* Adjust KZ hooks to permit early eyeball frog in rando

* Update soh/soh/Enhancements/randomizer/hook_handlers.cpp

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

* Update soh/soh/Enhancements/game-interactor/GameInteractor.h

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

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-12-20 17:44:35 -05:00
Pepper0ni
1edd41e807
Fix freeing gorons cutscene leaving link in cutscene state until the goron actor is killed (#4712)
* Fix goron cutscene

* Update soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c
2024-12-20 14:56:36 -05:00
Jordan Longstaff
e7e5b1190a
Skip playing cutscenes of Pierre spawning (#4736) 2024-12-19 16:28:23 -07:00
Pepper0ni
6daa680a61
Fix Closed forest tooltip (#4733)
* Fix Closed forest tooltip

* forgot to save
2024-12-19 16:27:55 -07:00
briaguya
885e8f7360
collision viewer "apply as decal" default on (#4727) 2024-12-19 10:10:37 -07:00
Malkierian
a7d082246f
Rename all instances of "Training Grounds" to "Training Ground" to match the many that are already there as well as the in-game name. (#4730) 2024-12-19 10:44:16 +01:00
Malkierian
0afffe24fe
Fix Dungeon Type Spoiling (#4719)
* Make new `SpoilAreaFromCheck` function to spoil areas when getting maps or a first check in a dungeon that isn't spoiled by entrance.

* Add scummed check dungeon spoiling on load.
2024-12-18 21:42:36 -07:00
Archez
fd8bd31507
Fix camera mode not following boomerang with first person rang (#4716) 2024-12-18 23:54:55 +01:00
Eric Hoey
380d4c66f8
add bottles and greg to sparkle list (#4720) 2024-12-18 23:54:13 +01:00
Malkierian
3419928f5d
Fix Save Prompt Cursor on Quest/Misc Item Tracker Windows (#4694)
* Fix quest menu cursor "moving" in the background in the save game prompt.
Fix misc item tracker also being able to select R and L/Z in save prompt.
Include MigrationAction entry removal from item count fix PR.

* Fix formatting.
2024-12-18 15:03:51 -07:00
Pepper0ni
03e9331d7e
Fix forest temple lift softlock (#4713) 2024-12-18 15:01:42 -07:00
Archez
f7701a73c5
Fix incorrect entrance value for links house in entrance rando (#4717) 2024-12-18 13:34:06 -05:00
Malkierian
64eadad8c1
Copy Assets with "If Different" Variants, CMake bump (#4714)
* Change copy assets procedure to use "if different" variants of the copy commands.
Bump minimum cmake to 3.26 to accommodate those variants.

* Change MSVC_CMD asset copy command to VS_COPY_ASSETS_CMD, change setting it to only be on Visual Studio build chain.
2024-12-18 00:10:20 -07:00
Archez
6485f72283
ci(linux): fix mkdir not working with cached entries (#4711) 2024-12-17 19:51:07 -05:00
Archez
4bf608a051
ci(linux): install libzip without crypto, bump sdl from 2.28.5 -> 2.30.3 (#4708) 2024-12-17 16:58:42 -05:00
briaguya
5d978c11c4
bump lus/support lus changes (#4701) 2024-12-16 21:12:45 -05:00
Malkierian
e1a53a77d4
Surround BeginTable() calls and table-related draw code in if(){} blocks to fix resize crash. (#4700) 2024-12-16 12:09:25 -07:00
Jordan Longstaff
2a3bdca8a2
Skip Goron Link's forced dialogue (#4688)
* Skip Goron Link's forced dialogue

* Rename VB flag
2024-12-15 22:15:31 -07:00
6268 changed files with 393181 additions and 76790 deletions

View file

@ -1 +1 @@
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build libogg-dev libopus-dev opus-tools libopusfile-dev libvorbis-dev libespeak-ng-dev

21
.github/workflows/clang-format.yml vendored Normal file
View file

@ -0,0 +1,21 @@
name: clang-format
on: [pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
clang-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install clang-format
run: |
sudo apt-get update
sudo apt-get install -y clang-format-14
- name: Run clang-format
run: |
./run-clang-format.sh
git diff --exit-code

View file

@ -6,41 +6,44 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
generate-soh-otr: generate-soh-otr:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - name: Git Checkout
uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- name: ccache - name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2.14 uses: hendrikmuhs/ccache-action@v1.2
with: with:
save: ${{ github.ref_name == github.event.repository.default_branch }}
key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-otr-ccache-${{ github.ref }} ${{ runner.os }}-otr-ccache-${{ github.ref }}
${{ runner.os }}-otr-ccache- ${{ runner.os }}-otr-ccache
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) libzip-dev zipcmp zipmerge ziptool
- name: Cache build folders - name: Restore Cached deps folder
uses: actions/cache@v4 uses: actions/cache/restore@v4
with: with:
key: ${{ runner.os }}-otr-build-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-deps-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-otr-build-${{ github.ref }} ${{ runner.os }}-deps-${{ github.ref }}-
${{ runner.os }}-otr-build- ${{ runner.os }}-deps-
path: | path: deps
build-cmake - name: Create deps folder
SDL2-2.28.5 run: mkdir -p deps
- name: Install latest SDL - name: Install latest SDL
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "SDL2-2.28.5" ]; then if [ ! -d "deps/SDL2-2.30.3" ]; then
wget https://www.libsdl.org/release/SDL2-2.28.5.tar.gz wget https://github.com/libsdl-org/SDL/releases/download/release-2.30.3/SDL2-2.30.3.tar.gz
tar -xzf SDL2-2.28.5.tar.gz tar -xzf SDL2-2.30.3.tar.gz -C deps
fi fi
cd SDL2-2.28.5 cd deps/SDL2-2.30.3
./configure --enable-hidapi-libusb ./configure --enable-hidapi-libusb
make -j 10 make -j 10
sudo make install sudo make install
@ -49,77 +52,86 @@ jobs:
run: | run: |
sudo apt-get remove libtinyxml2-dev sudo apt-get remove libtinyxml2-dev
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "tinyxml2-10.0.0" ]; then if [ ! -d "deps/tinyxml2-10.0.0" ]; then
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
tar -xzf 10.0.0.tar.gz tar -xzf 10.0.0.tar.gz -C deps
fi fi
cd tinyxml2-10.0.0 cd deps/tinyxml2-10.0.0
mkdir build mkdir -p build
cd build cd build
cmake .. cmake ..
make make
sudo make install sudo make install
- name: Generate soh.otr - name: Generate soh.o2r
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
cmake --build build-cmake --config Release --target GenerateSohOtr cmake --build build-cmake --config Release --target GenerateSohOtr -j3
- uses: actions/upload-artifact@v4 - name: Upload soh.o2r
uses: actions/upload-artifact@v4
with: with:
name: soh.otr name: soh.o2r
path: soh.otr path: soh.o2r
retention-days: 1 retention-days: 3
build-macos: build-macos:
needs: generate-soh-otr needs: generate-soh-otr
runs-on: macos-14 runs-on: macos-14
steps: steps:
- uses: actions/checkout@v4 - name: Git Checkout
uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- name: ccache - name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2.14 uses: hendrikmuhs/ccache-action@v1.2
with: with:
create-symlink: true create-symlink: true
save: ${{ github.ref_name == github.event.repository.default_branch }}
key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-14-ccache-${{ github.ref }} ${{ runner.os }}-14-ccache-${{ github.ref }}
${{ runner.os }}-14-ccache- ${{ runner.os }}-14-ccache
# Needed to apply sudo for macports cache restore
- name: Install gtar wrapper - name: Install gtar wrapper
run: | run: |
sudo mv /opt/homebrew/bin/gtar /opt/homebrew/bin/gtar.orig sudo mv /opt/homebrew/bin/gtar /opt/homebrew/bin/gtar.orig
sudo cp .github/workflows//gtar /opt/homebrew/bin/gtar sudo cp .github/workflows/gtar /opt/homebrew/bin/gtar
sudo chmod +x /opt/homebrew/bin/gtar sudo chmod +x /opt/homebrew/bin/gtar
- name: Cache MacPorts - name: Restore Cached MacPorts
id: cache-macports id: restore-cache-macports
uses: actions/cache@v4 uses: actions/cache/restore@v4
with: with:
path: /opt/local/ key: ${{ runner.os }}-14-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}-${{ github.sha }}
key: ${{ runner.os }}-14-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}
restore-keys: | restore-keys: |
${{ runner.os }}-14-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}-
${{ runner.os }}-14-macports- ${{ runner.os }}-14-macports-
path: /opt/local/
# Updated PATH applies to the next step and onwards
- name: Install MacPorts (if necessary) - name: Install MacPorts (if necessary)
run: | run: |
if [ -d /opt/local/ ]; then if command -v /opt/local/bin/port 2>&1 >/dev/null; then
echo "MacPorts already installed" echo "MacPorts already installed"
else else
echo "Installing MacPorts"
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg
sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target / sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target /
fi fi
echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH echo "/opt/local/bin:/opt/local/sbin" >> "$GITHUB_PATH"
- name: Install dependencies - name: Install dependencies
run: | run: |
brew uninstall --ignore-dependencies libpng brew uninstall --ignore-dependencies libpng
sudo port install $(cat .github/workflows/macports-deps.txt) sudo port install $(cat .github/workflows/macports-deps.txt)
brew install ninja brew install ninja
- name: Download soh.otr - name: Download soh.o2r
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: soh.otr name: soh.o2r
path: build-cmake/soh
- name: Build SoH - name: Build SoH
run: | run: |
export PATH="/usr/lib/ccache:/opt/homebrew/opt/ccache/libexec:/usr/local/opt/ccache/libexec:$PATH"
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DBUILD_REMOTE_CONTROL=1 cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DBUILD_REMOTE_CONTROL=1
cmake --build build-cmake --config Release --parallel 10 cmake --build build-cmake --config Release --parallel 10
mv soh.otr build-cmake/soh
(cd build-cmake && cpack) (cd build-cmake && cpack)
mv _packages/*.dmg SoH.dmg mv _packages/*.dmg SoH.dmg
@ -131,76 +143,101 @@ jobs:
path: | path: |
SoH.dmg SoH.dmg
readme.txt readme.txt
- name: Save Cache MacPorts
if: ${{ github.ref_name == github.event.repository.default_branch }}
uses: actions/cache/save@v4
with:
key: ${{ steps.restore-cache-macports.outputs.cache-primary-key }}
path: /opt/local/
build-linux: build-linux:
needs: generate-soh-otr needs: generate-soh-otr
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - name: Git Checkout
uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) sudo apt-get install -y $(cat .github/workflows/apt-deps.txt)
- name: ccache - name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2.14 uses: hendrikmuhs/ccache-action@v1.2
with: with:
key: linux-ccache-${{ github.ref }}-${{ github.sha }} save: ${{ github.ref_name == github.event.repository.default_branch }}
key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
linux-ccache-${{ github.ref }} ${{ runner.os }}-ccache-${{ github.ref }}
linux-ccache- ${{ runner.os }}-ccache
- name: Cache build folders - name: Restore Cached deps folder
uses: actions/cache@v4 id: restore-cache-deps
uses: actions/cache/restore@v4
with: with:
key: linux-build-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-deps-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
linux-build-${{ github.ref }} ${{ runner.os }}-deps-${{ github.ref }}-
linux-build- ${{ runner.os }}-deps-
path: | path: deps
SDL2-2.28.5 - name: Create deps folder
SDL2_net-2.2.0 run: mkdir -p deps
- name: Install latest SDL - name: Install latest SDL
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "SDL2-2.28.5" ]; then if [ ! -d "deps/SDL2-2.30.3" ]; then
wget https://www.libsdl.org/release/SDL2-2.28.5.tar.gz wget https://github.com/libsdl-org/SDL/releases/download/release-2.30.3/SDL2-2.30.3.tar.gz
tar -xzf SDL2-2.28.5.tar.gz tar -xzf SDL2-2.30.3.tar.gz -C deps
fi fi
cd SDL2-2.28.5 cd deps/SDL2-2.30.3
./configure --enable-hidapi-libusb ./configure --enable-hidapi-libusb
make -j 10 make -j 10
sudo make install sudo make install
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/
- name: Install latest SDL_net
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "deps/SDL2_net-2.2.0" ]; then
wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz
tar -xzf SDL2_net-2.2.0.tar.gz -C deps
fi
cd deps/SDL2_net-2.2.0
./configure
make -j 10
sudo make install
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/
- name: Install latest tinyxml2 - name: Install latest tinyxml2
run: | run: |
sudo apt-get remove libtinyxml2-dev sudo apt-get remove libtinyxml2-dev
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "tinyxml2-10.0.0" ]; then if [ ! -d "deps/tinyxml2-10.0.0" ]; then
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
tar -xzf 10.0.0.tar.gz tar -xzf 10.0.0.tar.gz -C deps
fi fi
cd tinyxml2-10.0.0 cd deps/tinyxml2-10.0.0
mkdir build mkdir -p build
cd build cd build
cmake .. cmake ..
make make
sudo make install sudo make install
- name: Install latest SDL_net - name: Install libzip without crypto
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
if [ ! -d "SDL2_net-2.2.0" ]; then if [ ! -d "deps/libzip-1.10.1" ]; then
wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz wget https://github.com/nih-at/libzip/releases/download/v1.10.1/libzip-1.10.1.tar.gz
tar -xzf SDL2_net-2.2.0.tar.gz tar -xzf libzip-1.10.1.tar.gz -C deps
fi fi
cd SDL2_net-2.2.0 cd deps/libzip-1.10.1
./configure mkdir -p build
make -j 10 cd build
cmake .. -DENABLE_COMMONCRYPTO=OFF -DENABLE_GNUTLS=OFF -DENABLE_MBEDTLS=OFF -DENABLE_OPENSSL=OFF
make
sudo make install sudo make install
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
- name: Download soh.otr - name: Download soh.o2r
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: soh.otr name: soh.o2r
path: build-cmake/soh
- name: Build SoH - name: Build SoH
run: | run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
@ -220,39 +257,52 @@ jobs:
path: | path: |
soh.appimage soh.appimage
readme.txt readme.txt
- name: Save Cache deps folder
if: ${{ github.ref_name == github.event.repository.default_branch }}
uses: actions/cache/save@v4
with:
key: ${{ steps.restore-cache-deps.outputs.cache-primary-key }}
path: deps
build-windows: build-windows:
needs: generate-soh-otr needs: generate-soh-otr
runs-on: ${{ (vars.WINDOWS_RUNNER && fromJSON(vars.WINDOWS_RUNNER)) || 'windows-latest' }} runs-on: windows-latest
steps: steps:
- name: Install dependencies - name: Install dependencies
if: ${{ !vars.WINDOWS_RUNNER }}
run: | run: |
choco install ninja choco install ninja -y
Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force -ErrorAction SilentlyContinue Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force -ErrorAction SilentlyContinue
- uses: actions/checkout@v4 - name: Git Checkout
uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- name: ccache - name: Configure sccache
uses: hendrikmuhs/ccache-action@v1.2.14 uses: hendrikmuhs/ccache-action@v1.2
with: with:
variant: sccache variant: sccache
max-size: "1G" max-size: "2G"
evict-old-files: job
save: ${{ github.ref_name == github.event.repository.default_branch }}
key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-ccache-${{ github.ref }} ${{ runner.os }}-ccache-${{ github.ref }}
${{ runner.os }}-ccache- ${{ runner.os }}-ccache
- name: Cache build folder - name: Restore Cached VCPKG folder
uses: actions/cache@v4 id: restore-cache-vcpkg
uses: actions/cache/restore@v4
with: with:
key: ${{ runner.os }}-build-${{ github.ref }}-${{ github.sha }} key: ${{ runner.os }}-vcpkg-${{ github.ref }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-build-${{ github.ref }} ${{ runner.os }}-vcpkg-${{ github.ref }}-
${{ runner.os }}-build- ${{ runner.os }}-vcpkg-
path: | path: vcpkg
build-windows
vcpkg
- name: Configure Developer Command Prompt - name: Configure Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1 uses: ilammy/msvc-dev-cmd@v1
- name: Download soh.o2r
uses: actions/download-artifact@v4
with:
name: soh.o2r
path: build-windows/soh
- name: Build SoH - name: Build SoH
env: env:
VCPKG_ROOT: ${{github.workspace}}/vcpkg VCPKG_ROOT: ${{github.workspace}}/vcpkg
@ -261,22 +311,19 @@ jobs:
cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DBUILD_REMOTE_CONTROL=1 cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DBUILD_REMOTE_CONTROL=1
cmake --build build-windows --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10
mkdir soh-windows (cd build-windows && cpack)
mv ./x64/Release/soh.exe ./soh-windows/soh.exe cd ..
mkdir soh-windows/debug mv _packages/*.zip _packages/soh-windows.zip
mkdir soh-windows/mods - name: Unzip package
New-Item soh-windows/mods/custom_otr_files_go_here.txt -type file run: Expand-Archive -Path _packages/soh-windows.zip -DestinationPath soh-windows
mv ./x64/Release/soh.pdb ./soh-windows/debug/soh.pdb
mv ./README.md ./soh-windows/readme.txt
mv ./build-windows/gamecontrollerdb.txt ./soh-windows/gamecontrollerdb.txt
mv ./x64/Release/assets ./soh-windows
- name: Download soh.otr
uses: actions/download-artifact@v4
with:
name: soh.otr
path: soh-windows
- name: Upload build - name: Upload build
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: soh-windows name: soh-windows
path: soh-windows path: soh-windows
- name: Save Cache VCPKG folder
if: ${{ github.ref_name == github.event.repository.default_branch }}
uses: actions/cache/save@v4
with:
key: ${{ steps.restore-cache-vcpkg.outputs.cache-primary-key }}
path: vcpkg

View file

@ -1 +1 @@
libsdl2 +universal libsdl2_net +universal libpng +universal glew +universal libzip +universal nlohmann-json +universal tinyxml2 +universal libsdl2 +universal libsdl2_net +universal libpng +universal glew +universal libzip +universal nlohmann-json +universal tinyxml2 +universal libogg +universal libopus +universal opusfile +universal libvorbis +universal

View file

@ -48,7 +48,7 @@ jobs:
}); });
return allArtifacts.data.artifacts.reduce((acc, item) => { return allArtifacts.data.artifacts.reduce((acc, item) => {
if (item.name === "soh.otr") return acc; if (item.name === "soh.o2r") return acc;
acc += ` acc += `
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`; - [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
return acc; return acc;

View file

@ -23,24 +23,24 @@ jobs:
if: ${{ matrix.image == 'archlinux:base' }} if: ${{ matrix.image == 'archlinux:base' }}
run: | run: |
echo arch echo arch
echo pacman -S ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost echo pacman -S ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net
pacman -Syu --noconfirm pacman -Syu --noconfirm
pacman -S --noconfirm ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost pacman -S --noconfirm ${{ matrix.cc }} git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net
- name: Install dependencies (dnf) - name: Install dependencies (dnf)
if: ${{ matrix.image == 'fedora:39' }} if: ${{ matrix.image == 'fedora:39' }}
run: | run: |
echo fedora echo fedora
echo dnf install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel boost-devel echo dnf install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel
dnf -y upgrade dnf -y upgrade
dnf -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel boost-devel dnf -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'gcc-c++') || '' }} wget git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools tinyxml2-devel spdlog-devel
- name: Install dependencies (apt) - name: Install dependencies (apt)
if: ${{ matrix.image == 'ubuntu:mantic' || matrix.image == 'debian:bookworm' }} if: ${{ matrix.image == 'ubuntu:mantic' || matrix.image == 'debian:bookworm' }}
run: | run: |
echo debian based echo debian based
echo apt-get install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev echo apt-get install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev
apt-get update apt-get update
apt-get -y full-upgrade apt-get -y full-upgrade
apt-get -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev apt-get -y install ${{ matrix.cc }} ${{ (matrix.cxx == 'g++' && 'g++') || '' }} git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev
- name: Install dependencies (zypper) - name: Install dependencies (zypper)
if: ${{ matrix.image == 'opensuse/tumbleweed:latest' }} if: ${{ matrix.image == 'opensuse/tumbleweed:latest' }}
run: | run: |

11
.gitignore vendored
View file

@ -4,7 +4,9 @@ __pycache__/
.DS_Store .DS_Store
# Text editor remnants # Text editor remnants
.vscode/ .vscode/*
!.vscode/tasks.json
.vs/ .vs/
.idea/ .idea/
cmake-build-** cmake-build-**
@ -400,7 +402,6 @@ ASALocalRun/
lib/libgfxd/libgfxd.a lib/libgfxd/libgfxd.a
ExporterTest/ExporterTest.a ExporterTest/ExporterTest.a
ZAPDUtils/ZAPDUtils.a ZAPDUtils/ZAPDUtils.a
.vscode/
build/ build/
external/ external/
ZAPDUtils/build/ ZAPDUtils/build/
@ -411,6 +412,7 @@ ReleaseObj/*
.tags .tags
tags tags
*.otr *.otr
*.o2r
*.sav *.sav
shipofharkinian.ini shipofharkinian.ini
shipofharkinian.json shipofharkinian.json
@ -451,3 +453,8 @@ _packages
soh/src/boot/build.c soh/src/boot/build.c
soh/properties.h soh/properties.h
# Tools
/clang-format
/clang-format.exe
*.o2r

61
.vscode/tasks.json vendored Normal file
View file

@ -0,0 +1,61 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Setup CMake Project",
"type": "shell",
"command": "cmake",
"args": [
"-S",
".",
"-B",
"build/x64",
"-G",
"Visual Studio 17 2022",
"-T",
"v143",
"-A",
"x64"
],
"group": "build",
"problemMatcher": []
},
{
"label": "Generate SOH OTR",
"type": "shell",
"command": "cmake",
"args": [
"--build",
"./build/x64",
"--target",
"GenerateSohOtr"
],
"group": "build",
"problemMatcher": []
},
{
"label": "Build Project",
"type": "shell",
"command": "cmake",
"args": [
"--build",
"./build/x64"
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": ["Generate SOH OTR"],
"problemMatcher": []
},
{
"label": "Build All",
"dependsOrder": "sequence",
"dependsOn": [
"Setup CMake Project",
"Generate SOH OTR",
"Build Project"
]
}
]
}

61
CMake/FindOgg.cmake Normal file
View file

@ -0,0 +1,61 @@
# - Find ogg
# Find the native ogg includes and libraries
#
# OGG_INCLUDE_DIRS - where to find ogg.h, etc.
# OGG_LIBRARIES - List of libraries when using ogg.
# OGG_FOUND - True if ogg found.
if (OGG_INCLUDE_DIR)
# Already in cache, be silent
set(OGG_FIND_QUIETLY TRUE)
endif ()
find_package (PkgConfig QUIET)
pkg_check_modules (PC_OGG QUIET ogg>=1.3.0)
set (OGG_VERSION ${PC_OGG_VERSION})
find_path (OGG_INCLUDE_DIR ogg/ogg.h
HINTS
${PC_OGG_INCLUDEDIR}
${PC_OGG_INCLUDE_DIRS}
${OGG_ROOT}
)
# MSVC built ogg may be named ogg_static.
# The provided project files name the library with the lib prefix.
find_library (OGG_LIBRARY
NAMES
ogg
ogg_static
libogg
libogg_static
HINTS
${PC_OGG_LIBDIR}
${PC_OGG_LIBRARY_DIRS}
${OGG_ROOT}
)
# Handle the QUIETLY and REQUIRED arguments and set OGG_FOUND
# to TRUE if all listed variables are TRUE.
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (Ogg
REQUIRED_VARS
OGG_LIBRARY
OGG_INCLUDE_DIR
VERSION_VAR
OGG_VERSION
)
if (OGG_FOUND)
set (OGG_LIBRARIES ${OGG_LIBRARY})
set (OGG_INCLUDE_DIRS ${OGG_INCLUDE_DIR})
if(NOT TARGET Ogg::ogg)
add_library(Ogg::ogg UNKNOWN IMPORTED)
set_target_properties(Ogg::ogg PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OGG_INCLUDE_DIRS}"
IMPORTED_LOCATION "${OGG_LIBRARIES}"
)
endif ()
endif ()
mark_as_advanced (OGG_INCLUDE_DIR OGG_LIBRARY)

44
CMake/FindOpus.cmake Normal file
View file

@ -0,0 +1,44 @@
# - FindOpus.cmake
# Find the native opus includes and libraries
#
# OPUS_INCLUDE_DIRS - where to find opus/opus.h, etc.
# OPUS_LIBRARIES - List of libraries when using libopus(file).
# OPUS_FOUND - True if libopus found.
if(OPUS_INCLUDE_DIR AND OPUS_LIBRARY AND OPUSFILE_LIBRARY)
# Already in cache, be silent
set(OPUS_FIND_QUIETLY TRUE)
endif(OPUS_INCLUDE_DIR AND OPUS_LIBRARY AND OPUSFILE_LIBRARY)
find_path(OPUS_INCLUDE_DIR
NAMES opusfile.h
PATH_SUFFIXES opus
)
# MSVC built opus may be named opus_static
# The provided project files name the library with the lib prefix.
find_library(OPUS_LIBRARY
NAMES opus opus_static libopus libopus_static
)
#find_library(OPUSFILE_LIBRARY
# NAMES opusfile opusfile_static libopusfile libopusfile_static
#)
# Handle the QUIETLY and REQUIRED arguments and set OPUS_FOUND
# to TRUE if all listed variables are TRUE.
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Opus DEFAULT_MSG
OPUS_LIBRARY OPUS_INCLUDE_DIR
)
if(OPUS_FOUND)
set(OPUS_LIBRARIES ${OPUS_LIBRARY})
set(OPUS_INCLUDE_DIRS ${OPUS_INCLUDE_DIR})
if(NOT TARGET Opus::opus)
add_library(Opus::opus UNKNOWN IMPORTED)
set_target_properties(Opus::opus PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OPUS_INCLUDE_DIRS}"
IMPORTED_LOCATION "${OPUS_LIBRARIES}"
)
endif()
endif(OPUS_FOUND)

55
CMake/FindOpusFile.cmake Normal file
View file

@ -0,0 +1,55 @@
# FindOpusFile.cmake
# Locate the libopusfile library and its dependencies (libopus and libogg).
# Defines the following variables on success:
# OPUSFILE_FOUND - Indicates if opusfile was found
# OPUSFILE_INCLUDE_DIR - Directory containing opusfile.h
# OPUSFILE_LIBRARY - Path to the opusfile library
# OPUSFILE_LIBRARIES - Full list of libraries to link (opusfile, opus, ogg)
# Search for the OpusFile header
find_path(OPUSFILE_INCLUDE_DIR
NAMES opusfile.h
PATHS /usr/include/opus /usr/local/include/opus /opt/local/include/opus /opt/homebrew/include/opus
DOC "Directory where opusfile.h is located"
)
# Search for the OpusFile library
find_library(OPUSFILE_LIBRARY
NAMES opusfile
DOC "Path to the libopusfile library"
)
# Search for the Opus library (dependency of OpusFile)
find_library(OPUS_LIBRARY
NAMES opus
DOC "Path to the libopus library (dependency of libopusfile)"
)
# Search for the Ogg library (dependency of OpusFile)
find_library(OGG_LIBRARY
NAMES ogg
DOC "Path to the libogg library (dependency of libopusfile)"
)
# Check if all required components are found
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpusFile
REQUIRED_VARS OPUSFILE_LIBRARY OPUSFILE_INCLUDE_DIR OPUS_LIBRARY OGG_LIBRARY
VERSION_VAR OPUSFILE_VERSION
)
# Define an imported target if everything is found
if (OPUSFILE_FOUND)
add_library(Opusfile::Opusfile INTERFACE IMPORTED)
set_target_properties(Opusfile::Opusfile PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OPUSFILE_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${OPUSFILE_LIBRARY};${OPUS_LIBRARY};${OGG_LIBRARY}"
)
# Optionally expose the include and libraries separately
set(OPUSFILE_LIBRARIES ${OPUSFILE_LIBRARY} ${OPUS_LIBRARY} ${OGG_LIBRARY})
set(OPUSFILE_INCLUDE_DIRS ${OPUSFILE_INCLUDE_DIR})
else()
set(OPUSFILE_FOUND FALSE)
endif()

210
CMake/FindVorbis.cmake Normal file
View file

@ -0,0 +1,210 @@
#[=======================================================================[.rst:
FindVorbis
----------
Finds the native vorbis, vorbisenc amd vorbisfile includes and libraries.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``Vorbis::vorbis``
The Vorbis library
``Vorbis::vorbisenc``
The VorbisEnc library
``Vorbis::vorbisfile``
The VorbisFile library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``Vorbis_Vorbis_INCLUDE_DIRS``
List of include directories when using vorbis.
``Vorbis_Enc_INCLUDE_DIRS``
List of include directories when using vorbisenc.
``Vorbis_File_INCLUDE_DIRS``
List of include directories when using vorbisfile.
``Vorbis_Vorbis_LIBRARIES``
List of libraries when using vorbis.
``Vorbis_Enc_LIBRARIES``
List of libraries when using vorbisenc.
``Vorbis_File_LIBRARIES``
List of libraries when using vorbisfile.
``Vorbis_FOUND``
True if vorbis and requested components found.
``Vorbis_Vorbis_FOUND``
True if vorbis found.
``Vorbis_Enc_FOUND``
True if vorbisenc found.
``Vorbis_Enc_FOUND``
True if vorbisfile found.
Cache variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``Vorbis_Vorbis_INCLUDE_DIR``
The directory containing ``vorbis/vorbis.h``.
``Vorbis_Enc_INCLUDE_DIR``
The directory containing ``vorbis/vorbisenc.h``.
``Vorbis_File_INCLUDE_DIR``
The directory containing ``vorbis/vorbisenc.h``.
``Vorbis_Vorbis_LIBRARY``
The path to the vorbis library.
``Vorbis_Enc_LIBRARY``
The path to the vorbisenc library.
``Vorbis_File_LIBRARY``
The path to the vorbisfile library.
Hints
^^^^^
A user may set ``Vorbis_ROOT`` to a vorbis installation root to tell this module where to look.
#]=======================================================================]
if (Vorbis_Vorbis_INCLUDE_DIR)
# Already in cache, be silent
set (Vorbis_FIND_QUIETLY TRUE)
endif ()
set (Vorbis_Vorbis_FIND_QUIETLY TRUE)
set (Vorbis_Enc_FIND_QUIETLY TRUE)
set (Vorbis_File_FIND_QUIETLY TRUE)
find_package (Ogg QUIET)
find_package (PkgConfig QUIET)
pkg_check_modules (PC_Vorbis_Vorbis QUIET vorbis)
pkg_check_modules (PC_Vorbis_Enc QUIET vorbisenc)
pkg_check_modules (PC_Vorbis_File QUIET vorbisfile)
set (Vorbis_VERSION ${PC_Vorbis_Vorbis_VERSION})
find_path (Vorbis_Vorbis_INCLUDE_DIR vorbis/codec.h
HINTS
${PC_Vorbis_Vorbis_INCLUDEDIR}
${PC_Vorbis_Vorbis_INCLUDE_DIRS}
${Vorbis_ROOT}
)
find_path (Vorbis_Enc_INCLUDE_DIR vorbis/vorbisenc.h
HINTS
${PC_Vorbis_Enc_INCLUDEDIR}
${PC_Vorbis_Enc_INCLUDE_DIRS}
${Vorbis_ROOT}
)
find_path (Vorbis_File_INCLUDE_DIR vorbis/vorbisfile.h
HINTS
${PC_Vorbis_File_INCLUDEDIR}
${PC_Vorbis_File_INCLUDE_DIRS}
${Vorbis_ROOT}
)
find_library (Vorbis_Vorbis_LIBRARY
NAMES
vorbis
vorbis_static
libvorbis
libvorbis_static
HINTS
${PC_Vorbis_Vorbis_LIBDIR}
${PC_Vorbis_Vorbis_LIBRARY_DIRS}
${Vorbis_ROOT}
)
find_library (Vorbis_Enc_LIBRARY
NAMES
vorbisenc
vorbisenc_static
libvorbisenc
libvorbisenc_static
HINTS
${PC_Vorbis_Enc_LIBDIR}
${PC_Vorbis_Enc_LIBRARY_DIRS}
${Vorbis_ROOT}
)
find_library (Vorbis_File_LIBRARY
NAMES
vorbisfile
vorbisfile_static
libvorbisfile
libvorbisfile_static
HINTS
${PC_Vorbis_File_LIBDIR}
${PC_Vorbis_File_LIBRARY_DIRS}
${Vorbis_ROOT}
)
include (FindPackageHandleStandardArgs)
if (Vorbis_Vorbis_LIBRARY AND Vorbis_Vorbis_INCLUDE_DIR AND Ogg_FOUND)
set (Vorbis_Vorbis_FOUND TRUE)
endif ()
if (Vorbis_Enc_LIBRARY AND Vorbis_Enc_INCLUDE_DIR AND Vorbis_Vorbis_FOUND)
set (Vorbis_Enc_FOUND TRUE)
endif ()
if (Vorbis_Vorbis_FOUND AND Vorbis_File_LIBRARY AND Vorbis_File_INCLUDE_DIR)
set (Vorbis_File_FOUND TRUE)
endif ()
find_package_handle_standard_args (Vorbis
REQUIRED_VARS
Vorbis_Vorbis_LIBRARY
Vorbis_Vorbis_INCLUDE_DIR
Ogg_FOUND
HANDLE_COMPONENTS
VERSION_VAR Vorbis_VERSION)
if (Vorbis_Vorbis_FOUND)
set (Vorbis_Vorbis_INCLUDE_DIRS ${VORBIS_INCLUDE_DIR})
set (Vorbis_Vorbis_LIBRARIES ${VORBIS_LIBRARY} ${OGG_LIBRARIES})
if (NOT TARGET Vorbis::vorbis)
add_library (Vorbis::vorbis UNKNOWN IMPORTED)
set_target_properties (Vorbis::vorbis PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Vorbis_INCLUDE_DIR}"
IMPORTED_LOCATION "${Vorbis_Vorbis_LIBRARY}"
INTERFACE_LINK_LIBRARIES Ogg::ogg
)
endif ()
if (Vorbis_Enc_FOUND)
set (Vorbis_Enc_INCLUDE_DIRS ${Vorbis_Enc_INCLUDE_DIR})
set (Vorbis_Enc_LIBRARIES ${Vorbis_Enc_LIBRARY} ${Vorbis_Enc_LIBRARIES})
if (NOT TARGET Vorbis::vorbisenc)
add_library (Vorbis::vorbisenc UNKNOWN IMPORTED)
set_target_properties (Vorbis::vorbisenc PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Enc_INCLUDE_DIR}"
IMPORTED_LOCATION "${Vorbis_Enc_LIBRARY}"
INTERFACE_LINK_LIBRARIES Vorbis::vorbis
)
endif ()
endif ()
if (Vorbis_File_FOUND)
set (Vorbis_File_INCLUDE_DIRS ${Vorbis_File_INCLUDE_DIR})
set (Vorbis_File_LIBRARIES ${Vorbis_File_LIBRARY} ${Vorbis_File_LIBRARIES})
if (NOT TARGET Vorbis::vorbisfile)
add_library (Vorbis::vorbisfile UNKNOWN IMPORTED)
set_target_properties (Vorbis::vorbisfile PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_File_INCLUDE_DIR}"
IMPORTED_LOCATION "${Vorbis_File_LIBRARY}"
INTERFACE_LINK_LIBRARIES Vorbis::vorbis
)
endif ()
endif ()
endif ()
mark_as_advanced (Vorbis_Vorbis_INCLUDE_DIR Vorbis_Vorbis_LIBRARY)
mark_as_advanced (Vorbis_Enc_INCLUDE_DIR Vorbis_Enc_LIBRARY)
mark_as_advanced (Vorbis_File_INCLUDE_DIR Vorbis_File_LIBRARY)

View file

@ -1,9 +1,9 @@
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY 0) set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY 0)
set(CPACK_COMPONENTS_ALL "ship" "extractor" "appimage") set(CPACK_COMPONENTS_ALL "ship")
if (NOT CPACK_GENERATOR STREQUAL "External") if (CPACK_GENERATOR STREQUAL "External")
list(REMOVE_ITEM CPACK_COMPONENTS_ALL "appimage") list(APPEND CPACK_COMPONENTS_ALL "extractor" "appimage")
endif() endif()
if (CPACK_GENERATOR MATCHES "DEB|RPM") if (CPACK_GENERATOR MATCHES "DEB|RPM")
@ -24,6 +24,5 @@ if (CPACK_GENERATOR MATCHES "Bundle")
set(CPACK_BUNDLE_NAME "soh") set(CPACK_BUNDLE_NAME "soh")
set(CPACK_BUNDLE_PLIST "macosx/Info.plist") set(CPACK_BUNDLE_PLIST "macosx/Info.plist")
set(CPACK_BUNDLE_ICON "macosx/soh.icns") set(CPACK_BUNDLE_ICON "macosx/soh.icns")
set(CPACK_BUNDLE_STARTUP_COMMAND "macosx/soh-macos.sh")
set(CPACK_BUNDLE_APPLE_CERT_APP "-") set(CPACK_BUNDLE_APPLE_CERT_APP "-")
endif() endif()

View file

@ -60,7 +60,7 @@ if (NOT LINUXDEPLOY_EXECUTABLE)
message(STATUS "Downloading linuxdeploy") message(STATUS "Downloading linuxdeploy")
set(LINUXDEPLOY_EXECUTABLE ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/linuxdeploy) set(LINUXDEPLOY_EXECUTABLE ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/linuxdeploy)
file(DOWNLOAD file(DOWNLOAD
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20240109-1/linuxdeploy-x86_64.AppImage
${LINUXDEPLOY_EXECUTABLE} ${LINUXDEPLOY_EXECUTABLE}
INACTIVITY_TIMEOUT 10 INACTIVITY_TIMEOUT 10
LOG ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/download.log LOG ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/download.log

View file

@ -1,7 +1,5 @@
set(CVAR_VSYNC_ENABLED "${CVAR_PREFIX_SETTING}.VsyncEnabled" CACHE STRING "") set(CVAR_VSYNC_ENABLED "${CVAR_PREFIX_SETTING}.VsyncEnabled" CACHE STRING "")
set(CVAR_Z_FIGHTING_MODE "${CVAR_PREFIX_SETTING}.ZFightingMode" CACHE STRING "") set(CVAR_Z_FIGHTING_MODE "${CVAR_PREFIX_SETTING}.ZFightingMode" CACHE STRING "")
set(CVAR_NEW_FILE_DROPPED "${CVAR_PREFIX_GENERAL}.NewFileDropped" CACHE STRING "")
set(CVAR_DROPPED_FILE "${CVAR_PREFIX_GENERAL}.DroppedFile" CACHE STRING "")
set(CVAR_INTERNAL_RESOLUTION "${CVAR_PREFIX_SETTING}.InternalResolution" CACHE STRING "") set(CVAR_INTERNAL_RESOLUTION "${CVAR_PREFIX_SETTING}.InternalResolution" CACHE STRING "")
set(CVAR_MSAA_VALUE "${CVAR_PREFIX_SETTING}.MSAAValue" CACHE STRING "") set(CVAR_MSAA_VALUE "${CVAR_PREFIX_SETTING}.MSAAValue" CACHE STRING "")
set(CVAR_SDL_WINDOWED_FULLSCREEN "${CVAR_PREFIX_SETTING}.SdlWindowedFullscreen" CACHE STRING "") set(CVAR_SDL_WINDOWED_FULLSCREEN "${CVAR_PREFIX_SETTING}.SdlWindowedFullscreen" CACHE STRING "")

View file

@ -10,6 +10,8 @@ set(CVAR_PREFIX_TRACKER "gTrackers")
set(CVAR_PREFIX_DEVELOPER_TOOLS "gDeveloperTools") set(CVAR_PREFIX_DEVELOPER_TOOLS "gDeveloperTools")
set(CVAR_PREFIX_GENERAL "gGeneral") set(CVAR_PREFIX_GENERAL "gGeneral")
set(CVAR_PREFIX_REMOTE "gRemote") set(CVAR_PREFIX_REMOTE "gRemote")
set(CVAR_PREFIX_GAMEPLAY_STATS "gGameplayStats")
set(CVAR_PREFIX_TIME_DISPLAY "gTimeDisplay")
add_compile_definitions( add_compile_definitions(
CVAR_PREFIX_RANDOMIZER_ENHANCEMENT="${CVAR_PREFIX_RANDOMIZER_ENHANCEMENT}" CVAR_PREFIX_RANDOMIZER_ENHANCEMENT="${CVAR_PREFIX_RANDOMIZER_ENHANCEMENT}"
CVAR_PREFIX_RANDOMIZER_SETTING="${CVAR_PREFIX_RANDOMIZER_SETTING}" CVAR_PREFIX_RANDOMIZER_SETTING="${CVAR_PREFIX_RANDOMIZER_SETTING}"
@ -23,4 +25,6 @@ add_compile_definitions(
CVAR_PREFIX_DEVELOPER_TOOLS="${CVAR_PREFIX_DEVELOPER_TOOLS}" CVAR_PREFIX_DEVELOPER_TOOLS="${CVAR_PREFIX_DEVELOPER_TOOLS}"
CVAR_PREFIX_GENERAL="${CVAR_PREFIX_GENERAL}" CVAR_PREFIX_GENERAL="${CVAR_PREFIX_GENERAL}"
CVAR_PREFIX_REMOTE="${CVAR_PREFIX_REMOTE}" CVAR_PREFIX_REMOTE="${CVAR_PREFIX_REMOTE}"
CVAR_PREFIX_GAMEPLAY_STATS="${CVAR_PREFIX_GAMEPLAY_STATS}"
CVAR_PREFIX_TIME_DISPLAY="${CVAR_PREFIX_TIME_DISPLAY}"
) )

View file

@ -1,11 +1,12 @@
cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR) cmake_minimum_required(VERSION 3.26.0 FATAL_ERROR)
set(CMAKE_SYSTEM_VERSION 10.0 CACHE STRING "" FORCE) set(CMAKE_SYSTEM_VERSION 10.0 CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use") set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use")
set(CMAKE_C_STANDARD 23 CACHE STRING "The C standard to use")
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version") set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version")
project(Ship VERSION 8.0.6 LANGUAGES C CXX) project(Ship VERSION 9.0.5 LANGUAGES C CXX)
include(CMake/soh-cvars.cmake) include(CMake/soh-cvars.cmake)
include(CMake/lus-cvars.cmake) include(CMake/lus-cvars.cmake)
@ -34,7 +35,7 @@ math(EXPR PATCH_INDEX "${PROJECT_VERSION_PATCH}")
# Use the patch number to select the correct word # Use the patch number to select the correct word
list(GET NATO_PHONETIC_ALPHABET ${PATCH_INDEX} PROJECT_PATCH_WORD) list(GET NATO_PHONETIC_ALPHABET ${PATCH_INDEX} PROJECT_PATCH_WORD)
set(PROJECT_BUILD_NAME "MacReady ${PROJECT_PATCH_WORD}" CACHE STRING "" FORCE) set(PROJECT_BUILD_NAME "Blair ${PROJECT_PATCH_WORD}" CACHE STRING "" FORCE)
set(PROJECT_TEAM "github.com/harbourmasters" CACHE STRING "" FORCE) set(PROJECT_TEAM "github.com/harbourmasters" CACHE STRING "" FORCE)
execute_process( execute_process(
@ -53,7 +54,10 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_STRIP_TRAILING_WHITESPACE
) )
set(CMAKE_PROJECT_GIT_COMMIT_HASH "${GIT_COMMIT_HASH}" CACHE STRING "Git commit hash" FORCE) # Get only the first 7 characters of the hash
string(SUBSTRING "${GIT_COMMIT_HASH}" 0 7 SHORT_COMMIT_HASH)
set(CMAKE_PROJECT_GIT_COMMIT_HASH "${SHORT_COMMIT_HASH}" CACHE STRING "Git commit hash" FORCE)
execute_process( execute_process(
COMMAND git describe --tags --abbrev=0 --exact-match HEAD COMMAND git describe --tags --abbrev=0 --exact-match HEAD
@ -79,8 +83,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
set(VCPKG_TARGET_TRIPLET x64-windows-static) set(VCPKG_TARGET_TRIPLET x64-windows-static)
vcpkg_bootstrap() vcpkg_bootstrap()
vcpkg_install_packages(zlib bzip2 libzip libpng sdl2 sdl2-net glew glfw3 nlohmann-json tinyxml2 spdlog) vcpkg_install_packages(zlib bzip2 libzip libpng sdl2 sdl2-net glew glfw3 nlohmann-json tinyxml2 spdlog libogg libvorbis opus opusfile)
if (CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache|sccache") if (CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache|sccache")
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded) set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
endif() endif()
@ -150,6 +153,10 @@ set(GFX_DEBUG_DISASSEMBLER ON)
# Tell LUS we're using F3DEX_GBI_2 (in a way that doesn't break libgfxd) # Tell LUS we're using F3DEX_GBI_2 (in a way that doesn't break libgfxd)
set(GBI_UCODE F3DEX_GBI_2) set(GBI_UCODE F3DEX_GBI_2)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
# Enable MPQ and OTR support
set(INCLUDE_MPQ_SUPPORT ON)
################################################################################ ################################################################################
# Set CONTROLLERBUTTONS_T # Set CONTROLLERBUTTONS_T
@ -161,6 +168,7 @@ add_compile_definitions(CONTROLLERBUTTONS_T=uint32_t)
################################################################################ ################################################################################
add_subdirectory(libultraship ${CMAKE_BINARY_DIR}/libultraship) add_subdirectory(libultraship ${CMAKE_BINARY_DIR}/libultraship)
target_compile_options(libultraship PRIVATE "${WARNING_OVERRIDE}") target_compile_options(libultraship PRIVATE "${WARNING_OVERRIDE}")
target_compile_definitions(libultraship PUBLIC INCLUDE_MPQ_SUPPORT)
add_subdirectory(ZAPDTR/ZAPD ${CMAKE_BINARY_DIR}/ZAPD) add_subdirectory(ZAPDTR/ZAPD ${CMAKE_BINARY_DIR}/ZAPD)
add_subdirectory(OTRExporter) add_subdirectory(OTRExporter)
add_subdirectory(soh) add_subdirectory(soh)
@ -170,24 +178,15 @@ set_property(TARGET soh PROPERTY APPIMAGE_DESKTOP_FILE "${CMAKE_SOURCE_DIR}/scri
set_property(TARGET soh PROPERTY APPIMAGE_ICON_FILE "${CMAKE_BINARY_DIR}/sohIcon.png") set_property(TARGET soh PROPERTY APPIMAGE_ICON_FILE "${CMAKE_BINARY_DIR}/sohIcon.png")
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
install(PROGRAMS "${CMAKE_BINARY_DIR}/linux/soh.sh" DESTINATION . COMPONENT appimage) install(FILES "${CMAKE_BINARY_DIR}/soh/soh.o2r" DESTINATION . COMPONENT ship)
install(FILES "${CMAKE_SOURCE_DIR}/soh.otr" DESTINATION . COMPONENT ship)
install(TARGETS ZAPD DESTINATION ./assets/extractor COMPONENT extractor) install(TARGETS ZAPD DESTINATION ./assets/extractor COMPONENT extractor)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor COMPONENT extractor) install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets COMPONENT extractor)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT extractor) install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml COMPONENT extractor)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists COMPONENT extractor)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
endif() endif()
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor COMPONENT ship) install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/ COMPONENT ship)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT ship) install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml COMPONENT ship)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists COMPONENT ship)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
endif() endif()
find_package(Python3 COMPONENTS Interpreter) find_package(Python3 COMPONENTS Interpreter)
@ -195,34 +194,42 @@ find_package(Python3 COMPONENTS Interpreter)
# Target to generate OTRs # Target to generate OTRs
add_custom_target( add_custom_target(
ExtractAssets ExtractAssets
# CMake versions prior to 3.17 do not have the rm command, use remove instead for older versions COMMAND ${CMAKE_COMMAND} -E rm -f oot.o2r oot-mq.o2r soh.o2r
COMMAND ${CMAKE_COMMAND} -E $<IF:$<VERSION_LESS:${CMAKE_VERSION},3.17>,remove,rm> -f oot.otr oot-mq.otr soh.otr
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root ../soh/assets/xml --custom-otr-file soh.otr "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}" # copy LUS default shaders into assets/custom
COMMAND ${CMAKE_COMMAND} -E rm -r -f ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/graphic/Fast3D/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root assets/xml --custom-otr-file soh.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
COMMENT "Running asset extraction..." COMMENT "Running asset extraction..."
DEPENDS ZAPD DEPENDS ZAPD
BYPRODUCTS oot.otr ${CMAKE_SOURCE_DIR}/oot.otr oot-mq.otr ${CMAKE_SOURCE_DIR}/oot-mq.otr ${CMAKE_SOURCE_DIR}/soh.otr BYPRODUCTS oot.o2r ${CMAKE_SOURCE_DIR}/oot.o2r oot-mq.o2r ${CMAKE_SOURCE_DIR}/oot-mq.o2r ${CMAKE_SOURCE_DIR}/soh.o2r
) )
# Target to generate headers # Target to generate headers
add_custom_target( add_custom_target(
ExtractAssetHeaders ExtractAssetHeaders
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root ../soh/assets/xml --gen-headers COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root assets/xml --gen-headers
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
COMMENT "Generating asset headers..." COMMENT "Generating asset headers..."
DEPENDS ZAPD DEPENDS ZAPD
) )
# Target to generate only soh.otr # Target to generate only soh.o2r
add_custom_target( add_custom_target(
GenerateSohOtr GenerateSohOtr
# CMake versions prior to 3.17 do not have the rm command, use remove instead for older versions COMMAND ${CMAKE_COMMAND} -E rm -f soh.o2r
COMMAND ${CMAKE_COMMAND} -E $<IF:$<VERSION_LESS:${CMAKE_VERSION},3.17>,remove,rm> -f soh.otr
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --norom --custom-otr-file soh.otr "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}" # copy LUS default shaders into assets/custom
COMMAND ${CMAKE_COMMAND} -E rm -r -f ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/graphic/Fast3D/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --norom --custom-otr-file soh.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -DONLYSOHOTR=On -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -DONLYSOHOTR=On -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
COMMENT "Generating soh.otr..." COMMENT "Generating soh.o2r..."
DEPENDS ZAPD DEPENDS ZAPD
) )
@ -230,7 +237,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
find_package(ImageMagick COMPONENTS convert) find_package(ImageMagick COMPONENTS convert)
if (ImageMagick_FOUND) if (ImageMagick_FOUND)
execute_process ( execute_process (
COMMAND ${ImageMagick_convert_EXECUTABLE} soh/macosx/sohIcon.png -resize 512x512 ${CMAKE_BINARY_DIR}/sohIcon.png COMMAND ${ImageMagick_convert_EXECUTABLE} ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png -resize 512x512 ${CMAKE_BINARY_DIR}/sohIcon.png
OUTPUT_VARIABLE outVar OUTPUT_VARIABLE outVar
) )
endif() endif()
@ -239,42 +246,35 @@ endif()
if(CMAKE_SYSTEM_NAME MATCHES "Darwin") if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
add_custom_target(CreateOSXIcons add_custom_target(CreateOSXIcons
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/soh.iconset COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/soh.iconset
COMMAND sips -z 16 16 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_16x16.png COMMAND sips -z 16 16 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_16x16.png
COMMAND sips -z 32 32 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_16x16@2x.png COMMAND sips -z 32 32 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_16x16@2x.png
COMMAND sips -z 32 32 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_32x32.png COMMAND sips -z 32 32 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_32x32.png
COMMAND sips -z 64 64 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_32x32@2x.png COMMAND sips -z 64 64 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_32x32@2x.png
COMMAND sips -z 128 128 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_128x128.png COMMAND sips -z 128 128 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_128x128.png
COMMAND sips -z 256 256 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_128x128@2x.png COMMAND sips -z 256 256 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_128x128@2x.png
COMMAND sips -z 256 256 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_256x256.png COMMAND sips -z 256 256 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_256x256.png
COMMAND sips -z 512 512 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_256x256@2x.png COMMAND sips -z 512 512 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_256x256@2x.png
COMMAND sips -z 512 512 soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_512x512.png COMMAND sips -z 512 512 ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png --out ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_512x512.png
COMMAND cp soh/macosx/sohIcon.png ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_512x512@2x.png COMMAND cp ${CMAKE_SOURCE_DIR}/soh/macosx/sohIcon.png ${CMAKE_BINARY_DIR}/macosx/soh.iconset/icon_512x512@2x.png
COMMAND iconutil -c icns -o ${CMAKE_BINARY_DIR}/macosx/soh.icns ${CMAKE_BINARY_DIR}/macosx/soh.iconset COMMAND iconutil -c icns -o ${CMAKE_BINARY_DIR}/macosx/soh.icns ${CMAKE_BINARY_DIR}/macosx/soh.iconset
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Creating OSX icons ..." COMMENT "Creating OSX icons ..."
) )
add_dependencies(soh CreateOSXIcons) add_dependencies(soh CreateOSXIcons)
install(TARGETS ZAPD DESTINATION ${CMAKE_BINARY_DIR}/assets/extractor) install(TARGETS ZAPD DESTINATION ${CMAKE_BINARY_DIR}/assets)
set(PROGRAM_PERMISSIONS_EXECUTE OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ) set(PROGRAM_PERMISSIONS_EXECUTE OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor) install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls) install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
install(DIRECTORY ${CMAKE_BINARY_DIR}/assets # Rename the installed soh binary to drop the macos suffix
DESTINATION . INSTALL(CODE "FILE(RENAME \${CMAKE_INSTALL_PREFIX}/../MacOS/soh-macos \${CMAKE_INSTALL_PREFIX}/../MacOS/soh)")
PATTERN ZAPD.out
PERMISSIONS ${PROGRAM_PERMISSIONS_EXECUTE}
)
install(CODE " install(CODE "
include(BundleUtilities) include(BundleUtilities)
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/soh-macos\" \"\" \"${dirs}\") fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/../MacOS/soh\" \"\" \"${dirs}\")
") ")
endif() endif()

@ -1 +1 @@
Subproject commit c872b1ff18b793a97385ccf1c864c3fc04051cc7 Subproject commit 461ab19a36cde807591543397e136cae19aa6e7c

View file

@ -61,7 +61,8 @@ Congratulations, you are now sailing with the Ship of Harkinian! Have fun!
### Other shortcuts ### Other shortcuts
| Keys | Action | | Keys | Action |
| - | - | | - | - |
| F1 | Toggle menubar | | ESC | Toggle menu |
| F2 | Toggle capture mouse input |
| F5 | Save state | | F5 | Save state |
| F6 | Change state | | F6 | Change state |
| F7 | Load state | | F7 | Load state |

2
ZAPDTR

@ -1 +1 @@
Subproject commit 04d42249d2c15c3b442a0282a90bc8b7bda25b03 Subproject commit 684f21a475dcfeee89938ae1f4afc42768a3e7ef

View file

@ -1,37 +1,37 @@
message(STATUS "Copying otr files...") message(STATUS "Copying otr files...")
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr) if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${SOURCE_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${SOURCE_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${BINARY_DIR}/soh/) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${BINARY_DIR}/soh/)
message(STATUS "Copied oot.otr") message(STATUS "Copied oot.o2r")
endif() endif()
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr) if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${SOURCE_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${SOURCE_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${BINARY_DIR}/soh/) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${BINARY_DIR}/soh/)
message(STATUS "Copied oot-mq.otr") message(STATUS "Copied oot-mq.o2r")
endif() endif()
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr) if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${SOURCE_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${SOURCE_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${BINARY_DIR}/soh/) execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${BINARY_DIR}/soh/)
message(STATUS "Copied soh.otr") message(STATUS "Copied soh.o2r")
endif() endif()
# Additionally for Windows, copy the otrs to the target dir, side by side with soh.exe # Additionally for Windows, copy the otrs to the target dir, side by side with soh.exe
if(SYSTEM_NAME MATCHES "Windows") if(SYSTEM_NAME MATCHES "Windows")
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr) if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${TARGET_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${TARGET_DIR})
endif() endif()
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr) if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${TARGET_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${TARGET_DIR})
endif() endif()
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr) if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${TARGET_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${TARGET_DIR})
endif() endif()
endif() endif()
if(NOT ONLYSOHOTR AND (NOT EXISTS ${SOURCE_DIR}/oot.otr AND NOT EXISTS ${SOURCE_DIR}/oot-mq.otr)) if(NOT ONLYSOHOTR AND (NOT EXISTS ${SOURCE_DIR}/oot.o2r AND NOT EXISTS ${SOURCE_DIR}/oot-mq.o2r))
message(FATAL_ERROR "Failed to copy. No OTR files found.") message(FATAL_ERROR "Failed to copy. No OTR files found.")
endif() endif()
if(NOT EXISTS ${SOURCE_DIR}/soh.otr) if(NOT EXISTS ${SOURCE_DIR}/soh.o2r)
message(FATAL_ERROR "Failed to copy. No soh OTR found.") message(FATAL_ERROR "Failed to copy. No soh OTR found.")
endif() endif()

View file

@ -3,7 +3,7 @@
## Windows ## Windows
Requires: Requires:
* At least 8GB of RAM (machines with 4GB have seen complier failures) * At least 8GB of RAM (machines with 4GB have seen compiler failures)
* Visual Studio 2022 Community Edition with the C++ feature set * Visual Studio 2022 Community Edition with the C++ feature set
* One of the Windows SDKs that comes with Visual Studio, for example the current Windows 10 version 10.0.19041.0 * One of the Windows SDKs that comes with Visual Studio, for example the current Windows 10 version 10.0.19041.0
* The `MSVC v143 - VS 2022 C++ build tools` component of Visual Studio * The `MSVC v143 - VS 2022 C++ build tools` component of Visual Studio
@ -58,7 +58,7 @@ To develop using Visual Studio you only need to use cmake to generate the soluti
To develop using Visual Studio Code or another editor you only need to open the repository in it. To develop using Visual Studio Code or another editor you only need to open the repository in it.
To build you'll need to follow the instructions from the building section. To build you'll need to follow the instructions from the building section.
_Note: If you're using Visual Studio Code, the [cpack plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._ _Note: If you're using Visual Studio Code, the [CMake Tools plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._
_Experimental: You can also use another build system entirely rather than MSVC like [Ninja](https://ninja-build.org/) for possibly better performance._ _Experimental: You can also use another build system entirely rather than MSVC like [Ninja](https://ninja-build.org/) for possibly better performance._
@ -90,26 +90,26 @@ C:\Program Files\CMake\bin\cmake.exe --build build-cmake --target ExtractAssetHe
#### Debian/Ubuntu #### Debian/Ubuntu
```sh ```sh
# using gcc # using gcc
apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev
# or using clang # or using clang
apt-get install clang git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev apt-get install clang git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev
``` ```
#### Arch #### Arch
```sh ```sh
# using gcc # using gcc
pacman -S gcc git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost pacman -S gcc git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net
# or using clang # or using clang
pacman -S clang git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost pacman -S clang git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net
``` ```
#### Fedora #### Fedora
```sh ```sh
# using gcc # using gcc
dnf install gcc gcc-c++ git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel boost-devel dnf install gcc gcc-c++ git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel
# or using clang # or using clang
dnf install clang git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel boost-devel dnf install clang git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel
``` ```
#### openSUSE #### openSUSE
```sh ```sh
@ -177,7 +177,7 @@ Requires Xcode (or xcode-tools) && `sdl2, libpng, glew, ninja, cmake, tinyxml2,
**Important: For maximum performance make sure you have ninja build tools installed!** **Important: For maximum performance make sure you have ninja build tools installed!**
_Note: If you're using Visual Studio Code, the [cpack plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._ _Note: If you're using Visual Studio Code, the [CMake Tools plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._
```bash ```bash
# Clone the repo # Clone the repo

View file

@ -29,3 +29,10 @@ This file is pulled from https://github.com/gabomdq/SDL_GameControllerDB during
| Spock Charlie 7.0.2 | [c5b4df0](https://github.com/gabomdq/SDL_GameControllerDB/tree/c5b4df0e1061175cb11e3ebbf8045178339864a5) | [+3](https://github.com/gabomdq/SDL_GameControllerDB/compare/228d980...c5b4df0) | | Spock Charlie 7.0.2 | [c5b4df0](https://github.com/gabomdq/SDL_GameControllerDB/tree/c5b4df0e1061175cb11e3ebbf8045178339864a5) | [+3](https://github.com/gabomdq/SDL_GameControllerDB/compare/228d980...c5b4df0) |
| Sulu Alfa 7.1.0 | [a2cf171](https://github.com/gabomdq/SDL_GameControllerDB/tree/a2cf1711b4ebc646a3814705d2fb6aac5707bcae) | [+4/-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/c5b4df0...a2cf171) | | Sulu Alfa 7.1.0 | [a2cf171](https://github.com/gabomdq/SDL_GameControllerDB/tree/a2cf1711b4ebc646a3814705d2fb6aac5707bcae) | [+4/-1](https://github.com/gabomdq/SDL_GameControllerDB/compare/c5b4df0...a2cf171) |
| Sulu Bravo 7.1.1 | [cc9f777](https://github.com/gabomdq/SDL_GameControllerDB/tree/cc9f777721f0cb30058d9eef52a295130b734a4a) | [+29/-9](https://github.com/gabomdq/SDL_GameControllerDB/compare/a2cf171...cc9f777) | | Sulu Bravo 7.1.1 | [cc9f777](https://github.com/gabomdq/SDL_GameControllerDB/tree/cc9f777721f0cb30058d9eef52a295130b734a4a) | [+29/-9](https://github.com/gabomdq/SDL_GameControllerDB/compare/a2cf171...cc9f777) |
| MacReady Alfa 8.0.0 | [c56329f](https://github.com/gabomdq/SDL_GameControllerDB/tree/c56329f4df93fc7a780bdbeae47a9c91447b629c) | [+67/-23](https://github.com/gabomdq/SDL_GameControllerDB/compare/cc9f777...c56329f) |
| MacReady Bravo 8.0.1 | [721b575](https://github.com/gabomdq/SDL_GameControllerDB/tree/721b575d3053b21d6d30419bf74afb5b1d0fa7a4) | [+5/-5](https://github.com/gabomdq/SDL_GameControllerDB/compare/c56329f...721b575) |
| MacReady Charlie 8.0.2 | [721b575](https://github.com/gabomdq/SDL_GameControllerDB/tree/721b575d3053b21d6d30419bf74afb5b1d0fa7a4) | [+0/-0](https://github.com/gabomdq/SDL_GameControllerDB/compare/721b575...721b575) |
| MacReady Delta 8.0.3 | [d4ab609](https://github.com/gabomdq/SDL_GameControllerDB/tree/d4ab609121ee6e687bc3d3a7e80244b3b26d1164) | [+5/-3](https://github.com/gabomdq/SDL_GameControllerDB/compare/721b575...d4ab609) |
| MacReady Echo 8.0.4 | [6555d47](https://github.com/gabomdq/SDL_GameControllerDB/tree/6555d47ecb5d9eebac0e3d8cd19a545e9d946c40) | [+2/-0](https://github.com/gabomdq/SDL_GameControllerDB/compare/d4ab609...6555d47) |
| MacReady Foxtrot 8.0.5 | [037d6a1](https://github.com/gabomdq/SDL_GameControllerDB/tree/037d6a1533ed94fbc6a8c71e6f1f9aff1e46208a) | [+47/-14](https://github.com/gabomdq/SDL_GameControllerDB/compare/6555d47...037d6a1) |
| MacReady Golf 8.0.6 | [075c154](https://github.com/gabomdq/SDL_GameControllerDB/tree/075c1549075ef89a397fd7e0663d21e53a2485fd) | [+340/-301](https://github.com/gabomdq/SDL_GameControllerDB/compare/037d6a1...075c154) |

View file

@ -41,15 +41,28 @@ You can name your branch whatever you want, but it's recommended to name it some
The limit is your imagination. You can add new features, fix bugs, add new mods, or even change the way the game works. We will demonstrate this by creating a mod that changes the speed of the day/night cycle. The limit is your imagination. You can add new features, fix bugs, add new mods, or even change the way the game works. We will demonstrate this by creating a mod that changes the speed of the day/night cycle.
Let's being by finding where the time is updated. Thankfully in the save editor we have a slider already hooked up to the time of day so we can check there for reference. The save editor file is at `soh/soh/Enhancements/debugger/debugSaveEditor.cpp`, if we do a quick search within that file for time we will find the following at line 400: Let's begin by finding where the time is updated. Thankfully in the save editor we have a slider already hooked up to the time of day so we can check there for reference. The save editor file is at `soh/soh/Enhancements/debugger/debugSaveEditor.cpp`, if we do a quick search within that file for time we will find the following at around line 217:
```cpp ```cpp
const uint16_t dayTimeMin = 0; SliderInt("Time", (int32_t*)&gSaveContext.dayTime, intSliderOptionsBase.Min(0).Max(0xFFFF).Tooltip("Time of day"));
const uint16_t dayTimeMax = 0xFFFF; if (Button("Dawn", buttonOptionsBase)) {
ImGui::SliderScalar("Time", ImGuiDataType_U16, &gSaveContext.dayTime, &dayTimeMin, &dayTimeMax); gSaveContext.dayTime = 0x4000;
}
ImGui::SameLine();
if (Button("Noon", buttonOptionsBase)) {
gSaveContext.dayTime = 0x8000;
}
ImGui::SameLine();
if (Button("Sunset", buttonOptionsBase)) {
gSaveContext.dayTime = 0xC001;
}
ImGui::SameLine();
if (Button("Midnight", buttonOptionsBase)) {
gSaveContext.dayTime = 0;
}
``` ```
So this tells us that `gSaveContext.dayTime` is what we're looking for. Let's now do a global search for this to see if we can find where it is updated. We find the following in `soh/src/code/z_kankyo.c` line 925: So this tells us that `gSaveContext.dayTime` is what we're looking for. Let's now do a global search for this to see if we can find where it is updated. We find the following in `soh/src/code/z_kankyo.c` around line 925:
```cpp ```cpp
if (IS_DAY || gTimeIncrement >= 0x190) { if (IS_DAY || gTimeIncrement >= 0x190) {
@ -59,7 +72,7 @@ if (IS_DAY || gTimeIncrement >= 0x190) {
} }
``` ```
We can make a quick change to this code to verify this is indeed what we are looking for, lets multiply the the gTimeIncrement by 10: We can make a quick change to this code to verify this is indeed what we are looking for, lets multiply the gTimeIncrement by 10:
```diff ```diff
if (IS_DAY || gTimeIncrement >= 0x190) { if (IS_DAY || gTimeIncrement >= 0x190) {
@ -71,16 +84,19 @@ if (IS_DAY || gTimeIncrement >= 0x190) {
} }
``` ```
Rebuild the game and launch it, then load a save file. You should see that the time of day is now moving much faster. Terrific! While we could wrap this up and call it a day, we could make this user configurable by making a few more changes. I think a slider would be good for this, there's a slider in the cheat menu that we can use as a reference. Let's find it in `soh/soh/SohMenuBar.cpp` around line 1120: Rebuild the game and launch it, then load a save file. You should see that the time of day is now moving much faster. Terrific! While we could wrap this up and call it a day, we could make this user configurable by making a few more changes. I think a slider would be good for this, there's a slider in the cheat menu that we can use as a reference. Let's find it in `soh/soh/SohGui/SohMenuEnhancements.cpp` around line 1565:
```cpp ```cpp
UIWidgets::EnhancementSliderFloat("Hookshot Reach Multiplier: %.1fx", "##gCheatHookshotReachMultiplier", "gCheatHookshotReachMultiplier", 1.0f, 5.0f, "", 1.0f, false); AddWidget(path, "Hookshot Reach Multiplier: %.2fx", WIDGET_CVAR_SLIDER_FLOAT)
.CVar(CVAR_CHEAT("HookshotReachMultiplier"))
.Options(FloatSliderOptions().Format("%.2f").Min(1.0f).Max(5.0f));
``` ```
This adds a `Widget` which sets a CVar, which then sets the options of the slider. We'll make our minimum 0.2 to allow it to move slower, and our maximum 5.0 to allow it to move up to 5x faster. We'll also set the default to 1.0 so that it doesn't change the behavior by default. Copy this line and paste it below, then make the relevant changes:
The float values being passed in here are `minimum`, `maximum`, and `default` respectively. We'll make our minimum 0.2 to allow it to move slower, and our maximum 5.0 to allow it to move up to 5x faster. We'll also set the default to 1.0 so that it doesn't change the behavior by default. Copy this line and paste it below, then make the relevant changes:
```cpp ```cpp
UIWidgets::EnhancementSliderFloat("Time Multiplier: %.1fx", "##gCheatTimeMultiplier", "gCheatTimeMultiplier", 0.2f, 5.0f, "", 1.0f, false); AddWidget(path, "Time Multiplier: %.2fx", WIDGET_CVAR_SLIDER_FLOAT)
.CVar(CVAR_CHEAT("TimeOfDayMultiplier"))
.Options(FloatSliderOptions().Format("%.2f").Min(0.2f).Max(5.0f).DefaultValue(1.0f));
``` ```
Now we need to replace our hard coded values with the new variable. We can do this by replacing the `10` with a cvar call Now we need to replace our hard coded values with the new variable. We can do this by replacing the `10` with a cvar call
@ -88,10 +104,10 @@ Now we need to replace our hard coded values with the new variable. We can do th
```diff ```diff
if (IS_DAY || gTimeIncrement >= 0x190) { if (IS_DAY || gTimeIncrement >= 0x190) {
- gSaveContext.dayTime += gTimeIncrement * 10; - gSaveContext.dayTime += gTimeIncrement * 10;
+ gSaveContext.dayTime += gTimeIncrement * CVarGetFloat("gCheatTimeMultiplier", 1.0f); + gSaveContext.dayTime += gTimeIncrement * CVarGetFloat(CVAR_CHEAT("TimeOfDayMultiplier"),1.0f);
} else { } else {
- gSaveContext.dayTime += gTimeIncrement * 2 * 10; - gSaveContext.dayTime += gTimeIncrement * 2 * 10;
+ gSaveContext.dayTime += gTimeIncrement * 2 * CVarGetFloat("gCheatTimeMultiplier", 1.0f); + gSaveContext.dayTime += gTimeIncrement * 2 * CVarGetFloat(CVAR_CHEAT("TimeOfDayMultiplier"),1.0f);
} }
``` ```

View file

@ -30,5 +30,49 @@
{ {
"name": "PAL MQ (Debug)", "name": "PAL MQ (Debug)",
"sha1": "cfecfdc58d650e71a200c81f033de4e6d617a9f6" "sha1": "cfecfdc58d650e71a200c81f033de4e6d617a9f6"
},
{
"name": "NTSC 1.0 (US)",
"sha1": "ad69c91157f6705e8ab06c79fe08aad47bb57ba7"
},
{
"name": "NTSC 1.1 (US)",
"sha1": "d3ecb253776cd847a5aa63d859d8c89a2f37b364"
},
{
"name": "NTSC 1.2 (US)",
"sha1": "41b3bdc48d98c48529219919015a1af22f5057c2"
},
{
"name": "NTSC 1.0 (JP)",
"sha1": "c892bbda3993e66bd0d56a10ecd30b1ee612210f"
},
{
"name": "NTSC 1.1 (JP)",
"sha1": "dbfc81f655187dc6fefd93fa6798face770d579d"
},
{
"name": "NTSC 1.2 (JP)",
"sha1": "fa5f5942b27480d60243c2d52c0e93e26b9e6b86"
},
{
"name": "NTSC GC (US)",
"sha1": "b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b"
},
{
"name": "NTSC MQ (US)",
"sha1": "8b5d13aac69bfbf989861cfdc50b1d840945fc1d"
},
{
"name": "NTSC GC (JP)",
"sha1": "0769c84615422d60f16925cd859593cdfa597f84"
},
{
"name": "NTSC GC (JP) (Collector's Edition)",
"sha1": "2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73"
},
{
"name": "NTSC MQ (JP)",
"sha1": "dd14e143c4275861fe93ea79d0c02e36ae8c6c2f"
} }
] ]

@ -1 +1 @@
Subproject commit 60868949e62a4c4c863eb5daf883bae18387f372 Subproject commit 7f737f8be9580980f5a1fe7784d6e1045f0309da

49
run-clang-format.ps1 Normal file
View file

@ -0,0 +1,49 @@
Using Namespace System
$url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6/LLVM-14.0.6-win64.exe"
$llvmInstallerPath = ".\LLVM-14.0.6-win64.exe"
$clangFormatFilePath = ".\clang-format.exe"
$requiredVersion = "clang-format version 14.0.6"
$currentVersion = ""
function Test-7ZipInstalled {
$sevenZipPath = "C:\Program Files\7-Zip\7z.exe"
return Test-Path $sevenZipPath -PathType Leaf
}
if (Test-Path $clangFormatFilePath) {
$currentVersion = & $clangFormatFilePath --version
if (-not ($currentVersion -eq $requiredVersion)) {
# Delete the existing file if the version is incorrect
Remove-Item $clangFormatFilePath -Force
}
}
if (-not (Test-Path $clangFormatFilePath) -or ($currentVersion -ne $requiredVersion)) {
if (-not (Test-7ZipInstalled)) {
Write-Host "7-Zip is not installed. Please install 7-Zip and run the script again."
exit
}
$wc = New-Object net.webclient
$wc.Downloadfile($url, $PSScriptRoot + $llvmInstallerPath)
$sevenZipPath = "C:\Program Files\7-Zip\7z.exe"
$specificFileInArchive = "bin\clang-format.exe"
& "$sevenZipPath" e $llvmInstallerPath $specificFileInArchive
Remove-Item $llvmInstallerPath -Force
}
$basePath = (Resolve-Path .).Path
$files = Get-ChildItem -Path $basePath\soh -Recurse -File `
| Where-Object { ($_.Extension -eq '.c' -or $_.Extension -eq '.cpp' -or `
(($_.Extension -eq '.h' -or $_.Extension -eq '.hpp') -and `
(-not ($_.FullName -like "*\soh\src\*" -or $_.FullName -like "*\soh\include\*")))) -and `
(-not ($_.FullName -like "*\soh\assets\*" -or $_.FullName -like "*\soh\build\*")) }
for ($i = 0; $i -lt $files.Length; $i++) {
$file = $files[$i]
$relativePath = $file.FullName.Substring($basePath.Length + 1)
Write-Host "Formatting [$($i+1)/$($files.Length)] $relativePath"
.\clang-format.exe -i $file.FullName
}

29
run-clang-format.sh Executable file
View file

@ -0,0 +1,29 @@
# this line does quite a bit, so let's break it down
#
# find soh
# use "find" to look in the "soh" directory
# this ensures we don't try to format stuff in the submodules
#
# -type f
# only look for files
#
# -name "*.c" -o -name "*.cpp"
# find all .c and .cpp files
#
# ( -name "*.h" -o -name "*.hpp" ) ! -path "soh/src/**.h" ! -path "soh/include/**.h"
# find all .h and .hpp files that aren't in soh/src or soh/include
# this is because zret decomp only runs clang-format on c files
# https://github.com/zeldaret/mm/blob/b7e5468ca16315a7e322055eff3d97fe980bbc25/format.py#L182
#
# ! -path "soh/assets/*"
# asset headers are autogenerated, don't fight them
#
# -print0
# separate paths with NUL bytes, avoiding issues with spaces in paths
#
# | xargs -0 clang-format-14 -i -verbose
# use xargs to take each path we've found
# and pass it as an argument to clang-format
# verbose to print files being formatted and X out of Y status
find soh -type f \( -name "*.c" -o -name "*.cpp" -o \( \( -name "*.h" -o -name "*.hpp" \) ! -path "soh/src/*" ! -path "soh/include/*" \) \) ! -path "soh/assets/*" -print0 | xargs -0 clang-format-14 -i --verbose

View file

@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Name=SOH Name=SOH
Exec=soh.sh Exec=soh.elf
Terminal=false Terminal=false
Icon=sohIcon Icon=sohIcon
Type=Application Type=Application

View file

@ -1,208 +0,0 @@
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"/../..
export PATH="$HERE"/bin:"$HERE"/usr/bin:"$PATH"
export LD_LIBRARY_PATH="$HERE"/usr/lib:"$LD_LIBRARY_PATH"
export ZENITY=$(command -v zenity)
if [ -z ${SHIP_HOME+x} ]; then
export SHIP_HOME=$PWD
fi
if [ -z ${SHIP_BIN_DIR+x} ]; then
export SHIP_BIN_DIR="$HERE/usr/bin"
fi
if [[ ! -e "$SHIP_HOME"/mods ]]; then
mkdir -p "$SHIP_HOME"/mods
touch "$SHIP_HOME"/mods/custom_otr_files_go_here.txt
fi
while [[ (! -e "$SHIP_HOME"/oot.otr) || (! -e "$SHIP_HOME"/oot-mq.otr) ]]; do
for romfile in "$SHIP_HOME"/*.*64
do
if [[ -e "$romfile" ]] || [[ -L "$romfile" ]]; then
export ASSETDIR="$(mktemp -d /tmp/assets-XXXXX)"
ln -s "$SHIP_BIN_DIR"/{assets,soh.elf,ZAPD} "$ASSETDIR"
export OLDPWD="$PWD"
mkdir -p "$ASSETDIR"/tmp
if [[ -e "$romfile" ]]; then
ln -s "$romfile" "$ASSETDIR"/tmp/rom.z64
else
ORIG_ROM_PATH=$(readlink "$romfile")
ln -s "$ORIG_ROM_PATH" "$ASSETDIR"/tmp/rom.z64
fi
cd "$ASSETDIR"
ROMHASH=$(sha1sum -b "$ASSETDIR"/tmp/rom.z64 | awk '{ print $1 }')
# Remap v64 and n64 hashes to their z64 hash equivalent
# ZAPD will handle converting the data into z64 format
case "$ROMHASH" in
a9059b56e761c9034fbe02fe4c24985aaa835dac) # v64
ROMHASH=cee6bc3c2a634b41728f2af8da54d9bf8cc14099
;;
24708102dc504d3f375a37f4ae4e149c167dc515) # n64
ROMHASH=cee6bc3c2a634b41728f2af8da54d9bf8cc14099
;;
580dd0bd1b6d2c51cc20a764eece84dba558964c) # v64
ROMHASH=0227d7c0074f2d0ac935631990da8ec5914597b4
;;
d6342c59007e57c1194661ec6880b2f078403f4e) # n64
ROMHASH=0227d7c0074f2d0ac935631990da8ec5914597b4
;;
d0bdc2eb320668b4ba6893b9aefe4040a73123ff) # v64
ROMHASH=328a1f1beba30ce5e178f031662019eb32c5f3b5
;;
4946ab250f6ac9b32d76b21f309ebb8ebc8103d2) # n64
ROMHASH=328a1f1beba30ce5e178f031662019eb32c5f3b5
;;
663c34f1b2c05a09e5beffe4d0dcd440f7d49dc7) # v64
ROMHASH=cfbb98d392e4a9d39da8285d10cbef3974c2f012
;;
24c73d378b0620a380ce5ef9f2b186c6c157a68b) # n64
ROMHASH=cfbb98d392e4a9d39da8285d10cbef3974c2f012
;;
8ebf2e29313f44f2d49e5b4191971d09919e8e48) # v64
ROMHASH=f46239439f59a2a594ef83cf68ef65043b1bffe2
;;
4264bf7b875737b8fae77d52322a5099d051fc11) # n64
ROMHASH=f46239439f59a2a594ef83cf68ef65043b1bffe2
;;
973bc6fe56010a8d646166a1182a81b4f13b8cf9) # v64
ROMHASH=50bebedad9e0f10746a52b07239e47fa6c284d03
;;
d327752c46edc70ff3668b9514083dbbee08927c) # v64
ROMHASH=50bebedad9e0f10746a52b07239e47fa6c284d03
;;
ecdeb1747560834e079c22243febea7f6f26ba3b) # v64
ROMHASH=079b855b943d6ad8bd1eb026c0ed169ecbdac7da
;;
f19f8662ec7abee29484a272a6fda53e39efe0f1) # n64
ROMHASH=079b855b943d6ad8bd1eb026c0ed169ecbdac7da
;;
ab519ce04a33818ce2c39b3c514a751d807a494a) # v64
ROMHASH=cfecfdc58d650e71a200c81f033de4e6d617a9f6
;;
c19a34f7646305e1755249fca2071e178bd7cd00) # n64
ROMHASH=cfecfdc58d650e71a200c81f033de4e6d617a9f6
;;
25e8ae79ea0839ca5c984473f7460d8040c36f9c) # v64
ROMHASH=517bd9714c73cb96c21e7c2ef640d7b55186102f
;;
166c02770d67fcc3954c443eb400a6a3573d3fc0) # n64
ROMHASH=517bd9714c73cb96c21e7c2ef640d7b55186102f
;;
esac
case "$ROMHASH" in
cee6bc3c2a634b41728f2af8da54d9bf8cc14099)
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
ROM=GC_NMQ_D
OTRNAME="oot.otr"
fi
;;
0227d7c0074f2d0ac935631990da8ec5914597b4)
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
ROM=GC_NMQ_PAL_F
OTRNAME="oot.otr"
else
continue
fi
;;
328a1f1beba30ce5e178f031662019eb32c5f3b5)
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
ROM=N64_PAL_10
OTRNAME="oot.otr"
else
continue
fi
;;
cfbb98d392e4a9d39da8285d10cbef3974c2f012)
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
ROM=N64_PAL_11
OTRNAME="oot.otr"
else
continue
fi
;;
f46239439f59a2a594ef83cf68ef65043b1bffe2)
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
ROM=GC_MQ_PAL_F
OTRNAME="oot-mq.otr"
else
continue
fi
;;
50bebedad9e0f10746a52b07239e47fa6c284d03)
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
ROM=GC_MQ_D
OTRNAME="oot-mq.otr"
else
continue
fi
;;
079b855b943d6ad8bd1eb026c0ed169ecbdac7da)
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
ROM=GC_MQ_D
OTRNAME="oot-mq.otr"
else
continue
fi
;;
cfecfdc58d650e71a200c81f033de4e6d617a9f6)
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
ROM=GC_MQ_D
OTRNAME="oot-mq.otr"
else
continue
fi
;;
517bd9714c73cb96c21e7c2ef640d7b55186102f)
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
ROM=GC_MQ_D
OTRNAME="oot-mq.otr"
else
continue
fi
;;
*)
echo -e "\n$romfile - $ROMHASH rom hash does not match\n"
continue;;
esac
if [[ ! -e "$SHIP_HOME"/"$OTRNAME" ]]; then
if [ -n "$ZENITY" ]; then
(echo "# 25%"; echo "25"; sleep 2; echo "# 50%"; echo "50"; sleep 3; echo "# 75%"; echo "75"; sleep 2; echo "# 100%"; echo "100"; sleep 3) |
zenity --progress --title="OTR Generating..." --timeout=10 --percentage=0 --icon-name=soh --window-icon=soh.png --height=80 --width=400 &
else
echo "Processing..."
fi
assets/extractor/ZAPD.out ed -eh -i assets/extractor/xmls/"${ROM}" -b tmp/rom.z64 -fl assets/extractor/filelists -o placeholder -osf placeholder -gsf 1 -rconf assets/extractor/Config_"${ROM}".xml -se OTR --otrfile "${OTRNAME}" --portVer "@CMAKE_PROJECT_VERSION@" > /dev/null 2>&1
cp "$ASSETDIR"/"$OTRNAME" "$SHIP_HOME"
fi
else
if [[ (! -e "$SHIP_HOME"/oot.otr) && (! -e "$SHIP_HOME"/oot-mq.otr) ]]; then
if [ -n "$ZENITY" ]; then
zenity --error --timeout=5 --text="Place ROM in $SHIP_HOME" --title="Missing ROM file" --width=500 --width=200
else
echo -e "\nPlace ROM in this folder\n"
fi
exit
fi
fi
done
if [[ (! -e "$SHIP_HOME"/oot.otr) && (! -e "$SHIP_HOME"/oot-mq.otr) ]]; then
if [ -n "$ZENITY" ]; then
zenity --error --timeout=10 --text="No valid ROMs were provided, No OTR was generated." --title="Incorrect ROM file" --width=500 --width=200
else
echo "No valid roms provided, no OTR was generated."
fi
rm -r "$ASSETDIR"
exit
else
(cd "$SHIP_BIN_DIR"; ./soh.elf)
exit
fi
rm -r "$ASSETDIR"
done
(cd "$SHIP_BIN_DIR"; ./soh.elf)
exit

View file

@ -1,9 +1,10 @@
cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR) cmake_minimum_required(VERSION 3.26.0 FATAL_ERROR)
set(CMAKE_SYSTEM_VERSION 10.0 CACHE STRING "" FORCE) set(CMAKE_SYSTEM_VERSION 10.0 CACHE STRING "" FORCE)
project(soh LANGUAGES C CXX) project(soh LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use") set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use")
set(CMAKE_C_STANDARD 23 CACHE STRING "The C standard to use")
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
enable_language(OBJCXX) enable_language(OBJCXX)
@ -137,20 +138,27 @@ endforeach()
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set_source_files_properties(soh/OTRGlobals.cpp PROPERTIES COMPILE_FLAGS "/utf-8") set_source_files_properties(soh/OTRGlobals.cpp PROPERTIES COMPILE_FLAGS "/utf-8")
set_source_files_properties(soh/Enhancements/tts/tts.cpp PROPERTIES COMPILE_FLAGS "/utf-8") set_source_files_properties(soh/Enhancements/tts/tts.cpp PROPERTIES COMPILE_FLAGS "/utf-8")
set_source_files_properties(soh/Enhancements/custom-message/CustomMessageManager.cpp PROPERTIES COMPILE_FLAGS "/utf-8")
set_source_files_properties(soh/Enhancements/custom-message/CustomMessageManager.h PROPERTIES COMPILE_FLAGS "/utf-8")
endif() endif()
# handle Network removals # handle Network removals
if (!BUILD_REMOTE_CONTROL) if (!BUILD_REMOTE_CONTROL)
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/crowd-control/*") list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/crowd-control/")
endif() endif()
# handle speechsynthesizer removals # handle speechsynthesizer removals
if (CMAKE_SYSTEM_NAME STREQUAL "Windows") if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/Darwin*") list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/Darwin")
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/SAPI*") list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/SAPI")
else() else()
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/(Darwin|SAPI).*") list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/(Darwin|SAPI)")
endif()
find_library(ESPEAK espeak-ng)
if (NOT ESPEAK)
list(FILTER soh__ EXCLUDE REGEX "soh/Enhancements/speechsynthesizer/ESpeak")
endif() endif()
# soh/Extractor {{{ # soh/Extractor {{{
@ -176,12 +184,12 @@ file(GLOB_RECURSE src__ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/*.c" "src/*.h"
set_source_files_properties(${src__} PROPERTIES COMPILE_OPTIONS "${WARNING_OVERRIDE}") set_source_files_properties(${src__} PROPERTIES COMPILE_OPTIONS "${WARNING_OVERRIDE}")
list(APPEND src__ ${CMAKE_CURRENT_SOURCE_DIR}/Resource.rc) list(APPEND src__ ${CMAKE_CURRENT_SOURCE_DIR}/Resource.rc)
list(FILTER src__ EXCLUDE REGEX "src/dmadata/*") list(FILTER src__ EXCLUDE REGEX "src/dmadata/")
list(FILTER src__ EXCLUDE REGEX "src/elf_message/*") list(FILTER src__ EXCLUDE REGEX "src/elf_message/")
list(FILTER src__ EXCLUDE REGEX "src/libultra/io/*") list(FILTER src__ EXCLUDE REGEX "src/libultra/io/")
list(FILTER src__ EXCLUDE REGEX "src/libultra/libc/*") list(FILTER src__ EXCLUDE REGEX "src/libultra/libc/")
list(FILTER src__ EXCLUDE REGEX "src/libultra/os/*") list(FILTER src__ EXCLUDE REGEX "src/libultra/os/")
list(FILTER src__ EXCLUDE REGEX "src/libultra/rmon/*") list(FILTER src__ EXCLUDE REGEX "src/libultra/rmon/")
list(APPEND src__ "src/libultra/libc/sprintf.c") list(APPEND src__ "src/libultra/libc/sprintf.c")
list(REMOVE_ITEM src__ "src/libultra/gu/cosf.c") list(REMOVE_ITEM src__ "src/libultra/gu/cosf.c")
list(REMOVE_ITEM src__ "src/libultra/gu/lookat.c") list(REMOVE_ITEM src__ "src/libultra/gu/lookat.c")
@ -275,34 +283,17 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
set_target_properties(${PROJECT_NAME} PROPERTIES MSVC_RUNTIME_LIBRARY ${MSVC_RUNTIME_LIBRARY_STR}) set_target_properties(${PROJECT_NAME} PROPERTIES MSVC_RUNTIME_LIBRARY ${MSVC_RUNTIME_LIBRARY_STR})
endif() endif()
################################################################################ ################################################################################
# Find/download Boost # Find/download Dr Libs (For custom audio)
################################################################################ ################################################################################
include(FetchContent) include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
Boost dr_libs
URL https://archives.boost.io/release/1.81.0/source/boost_1_81_0.tar.gz GIT_REPOSITORY https://github.com/mackron/dr_libs.git
URL_HASH SHA256=205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6 GIT_TAG da35f9d6c7374a95353fd1df1d394d44ab66cf01
SOURCE_SUBDIR "null" # Set to a nonexistent directory so boost is not built (we don't need to build it)
DOWNLOAD_EXTRACT_TIMESTAMP false # supress timestamp warning, not needed since the url wont change
) )
FetchContent_MakeAvailable(dr_libs)
set(Boost_NO_BOOST_CMAKE false)
set(BOOST_INCLUDEDIR ${FETCHCONTENT_BASE_DIR}/boost-src) # Location where FetchContent stores the source
message("Searching for Boost installation")
find_package(Boost)
if (NOT ${Boost_FOUND})
message("Boost not found. Downloading now...")
FetchContent_MakeAvailable(Boost)
message("Boost downloaded to " ${FETCHCONTENT_BASE_DIR}/boost-src)
set(BOOST-INCLUDE ${FETCHCONTENT_BASE_DIR}/boost-src)
else()
message("Boost found in " ${Boost_INCLUDE_DIRS})
set(BOOST-INCLUDE ${Boost_INCLUDE_DIRS})
endif()
################################################################################
# Compile definitions
################################################################################
find_package(SDL2) find_package(SDL2)
set(SDL2-INCLUDE ${SDL2_INCLUDE_DIRS}) set(SDL2-INCLUDE ${SDL2_INCLUDE_DIRS})
@ -317,6 +308,14 @@ if (BUILD_REMOTE_CONTROL)
endif() endif()
endif() endif()
if (ESPEAK)
add_compile_definitions(ESPEAK=1)
endif()
################################################################################
# Compile definitions
################################################################################
target_include_directories(${PROJECT_NAME} PRIVATE assets target_include_directories(${PROJECT_NAME} PRIVATE assets
${CMAKE_CURRENT_SOURCE_DIR}/include/ ${CMAKE_CURRENT_SOURCE_DIR}/include/
${CMAKE_CURRENT_SOURCE_DIR}/src/ ${CMAKE_CURRENT_SOURCE_DIR}/src/
@ -348,8 +347,8 @@ target_include_directories(${PROJECT_NAME} PRIVATE assets
${CMAKE_CURRENT_SOURCE_DIR}/../ZAPDTR/ZAPD/resource/type ${CMAKE_CURRENT_SOURCE_DIR}/../ZAPDTR/ZAPD/resource/type
${SDL2-INCLUDE} ${SDL2-INCLUDE}
${SDL2-NET-INCLUDE} ${SDL2-NET-INCLUDE}
${BOOST-INCLUDE}
${CMAKE_CURRENT_SOURCE_DIR}/assets/ ${CMAKE_CURRENT_SOURCE_DIR}/assets/
${dr_libs_SOURCE_DIR}
. .
) )
@ -440,6 +439,7 @@ if(MSVC)
/Gy; /Gy;
/W3 /W3
> >
/bigobj;
/sdl-; /sdl-;
/permissive-; /permissive-;
/MP; /MP;
@ -510,10 +510,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
-Wno-parentheses -Wno-parentheses
-Wno-narrowing -Wno-narrowing
-Wno-missing-braces -Wno-missing-braces
-Wno-int-conversion
$<$<COMPILE_LANGUAGE:C>: $<$<COMPILE_LANGUAGE:C>:
-Werror-implicit-function-declaration -Werror-implicit-function-declaration
-Wno-incompatible-pointer-types -Wno-incompatible-pointer-types
-Wno-int-conversion
> >
$<$<COMPILE_LANGUAGE:CXX>:-fpermissive> $<$<COMPILE_LANGUAGE:CXX>:-fpermissive>
$<$<COMPILE_LANGUAGE:CXX>: $<$<COMPILE_LANGUAGE:CXX>:
@ -586,11 +586,11 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
-Wno-parentheses -Wno-parentheses
-Wno-narrowing -Wno-narrowing
-Wno-missing-braces -Wno-missing-braces
-Wno-int-conversion
-Wno-implicit-int
$<$<COMPILE_LANGUAGE:C>: $<$<COMPILE_LANGUAGE:C>:
-Werror-implicit-function-declaration -Werror-implicit-function-declaration
-Wno-implicit-int
-Wno-incompatible-pointer-types -Wno-incompatible-pointer-types
-Wno-int-conversion
> >
$<$<COMPILE_LANGUAGE:CXX>:-fpermissive> $<$<COMPILE_LANGUAGE:CXX>:-fpermissive>
$<$<COMPILE_LANGUAGE:CXX>:-Wno-deprecated-enum-enum-conversion> $<$<COMPILE_LANGUAGE:CXX>:-Wno-deprecated-enum-enum-conversion>
@ -600,6 +600,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
target_link_options(${PROJECT_NAME} PRIVATE target_link_options(${PROJECT_NAME} PRIVATE
-pthread -pthread
#-fsanitize=address
-Wl,-export-dynamic -Wl,-export-dynamic
) )
endif() endif()
@ -607,22 +608,23 @@ endif()
################################################################################ ################################################################################
# Pre build events # Pre build events
################################################################################ ################################################################################
if (MSVC) if (CMAKE_GENERATOR MATCHES "Visual Studio")
set(MSVC_CMD ${CMAKE_COMMAND} -E copy_directory $<TARGET_FILE_DIR:soh>/assets ${CMAKE_BINARY_DIR}/soh/assets) add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor ${CMAKE_BINARY_DIR}/soh/assets
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml ${CMAKE_BINARY_DIR}/soh/assets/xml
)
endif() endif()
if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS") if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS")
add_custom_command( add_custom_command(
TARGET ${PROJECT_NAME} TARGET ${PROJECT_NAME}
POST_BUILD POST_BUILD
COMMENT "Copying asset xmls..." COMMENT "Copying asset xmls..."
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/soh/assets/extractor $<TARGET_FILE_DIR:soh>/assets/extractor COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor $<TARGET_FILE_DIR:soh>/assets
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/soh/assets/xml $<TARGET_FILE_DIR:soh>/assets/extractor/xmls COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml $<TARGET_FILE_DIR:soh>/assets/xml
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists $<TARGET_FILE_DIR:soh>/assets/extractor/filelists COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:soh>/assets/symbols
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:soh>/assets/extractor/symbols # COMMAND ${VS_COPY_ASSETS_CMD}
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
COMMAND ${MSVC_CMD}
) )
endif() endif()
################################################################################ ################################################################################
@ -639,6 +641,15 @@ endif()
if (CMAKE_SYSTEM_NAME STREQUAL "Windows") if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
find_package(glfw3 REQUIRED) find_package(glfw3 REQUIRED)
find_package(Ogg CONFIG REQUIRED)
link_libraries(Ogg::ogg)
find_package(Vorbis CONFIG REQUIRED)
link_libraries(Vorbis::vorbisfile)
find_package(Opus CONFIG REQUIRED)
link_libraries(Opus::opus)
find_package(OpusFile CONFIG REQUIRED)
link_libraries(OpusFile::opusfile CONFIG REQUIRED)
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
set(ADDITIONAL_LIBRARY_DEPENDENCIES set(ADDITIONAL_LIBRARY_DEPENDENCIES
"libultraship;" "libultraship;"
@ -652,6 +663,12 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
"imm32;" "imm32;"
"version;" "version;"
"setupapi" "setupapi"
"Ogg::ogg"
"Opus::opus"
"Vorbis::vorbis"
"Vorbis::vorbisenc"
"Vorbis::vorbisfile"
"OpusFile::opusfile"
) )
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32") elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
set(ADDITIONAL_LIBRARY_DEPENDENCIES set(ADDITIONAL_LIBRARY_DEPENDENCIES
@ -692,27 +709,34 @@ else()
find_package(SDL2) find_package(SDL2)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(Threads REQUIRED)
find_package(Ogg REQUIRED)
find_package(Vorbis REQUIRED)
find_package(Opus REQUIRED)
find_package(OpusFile REQUIRED)
set(ADDITIONAL_LIBRARY_DEPENDENCIES set(ADDITIONAL_LIBRARY_DEPENDENCIES
"libultraship;" "libultraship;"
"ZAPDLib;" "ZAPDLib;"
SDL2::SDL2 SDL2::SDL2
"Ogg::ogg"
"Vorbis::vorbis"
"Vorbis::vorbisenc"
"Vorbis::vorbisfile"
"Opus::opus"
"Opusfile::Opusfile"
"$<$<BOOL:${BUILD_REMOTE_CONTROL}>:SDL2_net::SDL2_net>" "$<$<BOOL:${BUILD_REMOTE_CONTROL}>:SDL2_net::SDL2_net>"
${CMAKE_DL_LIBS} ${CMAKE_DL_LIBS}
Threads::Threads Threads::Threads
) )
endif() endif()
if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS") if(NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|NintendoSwitch|CafeOS")
INSTALL(TARGETS soh DESTINATION . COMPONENT ship) INSTALL(TARGETS soh DESTINATION . COMPONENT ship)
endif() endif()
if (CMAKE_SYSTEM_NAME STREQUAL "Windows") if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
INSTALL(FILES $<TARGET_PDB_FILE:soh> DESTINATION ./debug COMPONENT ship) INSTALL(FILES $<TARGET_PDB_FILE:soh> DESTINATION ./debug COMPONENT ship)
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION . COMPONENT ship) INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.o2r DESTINATION . COMPONENT ship)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/linux/appimage/soh.sh.in ${CMAKE_BINARY_DIR}/linux/soh.sh @ONLY)
endif() endif()
find_program(CURL NAMES curl DOC "Path to the curl program. Used to download files.") find_program(CURL NAMES curl DOC "Path to the curl program. Used to download files.")
@ -720,9 +744,9 @@ execute_process(COMMAND ${CURL} -sSfL https://raw.githubusercontent.com/gabomdq/
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/macosx/Info.plist.in ${CMAKE_BINARY_DIR}/macosx/Info.plist @ONLY) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/macosx/Info.plist.in ${CMAKE_BINARY_DIR}/macosx/Info.plist @ONLY)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/macosx/soh-macos.sh.in ${CMAKE_BINARY_DIR}/macosx/soh-macos.sh @ONLY) INSTALL(TARGETS soh DESTINATION ../MacOS COMPONENT ship)
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION ../MacOS COMPONENT ship) INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION ../MacOS COMPONENT ship)
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION ../Resources COMPONENT ship) INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.o2r DESTINATION ../Resources COMPONENT ship)
elseif(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "NintendoSwitch|CafeOS") elseif(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "NintendoSwitch|CafeOS")
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship) INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship)
endif() endif()

View file

@ -5,3 +5,4 @@
*.vtx.inc *.vtx.inc
*.dlist.inc *.dlist.inc
!*.png !*.png
custom/shaders

View file

@ -2,6 +2,7 @@
"health": "Health - $0 Hearts", "health": "Health - $0 Hearts",
"magic": "Magic - $0", "magic": "Magic - $0",
"rupees": "Rupees - $0", "rupees": "Rupees - $0",
"keys": "Keys - $0",
"floor": "Floor $0", "floor": "Floor $0",
"basement": "Basement $0", "basement": "Basement $0",
"item_menu": "Select Item", "item_menu": "Select Item",

View file

@ -2,6 +2,7 @@
"health": "Vie - $0 Coeurs", "health": "Vie - $0 Coeurs",
"magic": "Magie - $0", "magic": "Magie - $0",
"rupees": "Rubis - $0", "rupees": "Rubis - $0",
"keys": "Clés - $0",
"floor": "Étage $0", "floor": "Étage $0",
"basement": "Sous-sol $0", "basement": "Sous-sol $0",
"item_menu": "Inventaire", "item_menu": "Inventaire",

View file

@ -2,6 +2,7 @@
"health": "Energie - $0 Herzen", "health": "Energie - $0 Herzen",
"magic": "Magie - $0", "magic": "Magie - $0",
"rupees": "Rubine - $0", "rupees": "Rubine - $0",
"keys": "Schlüssel - $0",
"floor": "Etage $0", "floor": "Etage $0",
"basement": "Keller $0", "basement": "Keller $0",
"item_menu": "Gegenstände", "item_menu": "Gegenstände",

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,14 @@
<DisplayList Version="0">
<ClearGeometryMode G_LIGHTING="1" />
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
<SetGeometryMode G_LIGHTING="1" />
<CullDisplayList Start="0" End="7"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushBossKeyDL_f3dlite_shrubbery"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_tri_0"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushBossKeyDL_f3dlite_leaf"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_tri_1"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushBossKeyDL_f3dlite_flower_bosskey"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_tri_2"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,8 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="14"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="0" V01="5" V02="6" Flag0="0" V10="7" V11="8" V12="9" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="11" Flag0="0" V10="7" V11="12" V12="13" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,16 @@
<Vertex Version="0">
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="129" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="127" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="110" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="110" G="0" B="64" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="77" G="174" B="197" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="77" G="174" B="197" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="35" G="211" B="143" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="90" G="179" B="211" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="73" G="161" B="213" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="87" G="167" B="230" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="77" G="160" B="224" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="93" G="177" B="221" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="78" G="163" B="220" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="78" G="163" B="220" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="45" G="142" B="31" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="72" G="167" B="201" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="90" G="178" B="213" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="84" G="186" B="191" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="90" G="184" B="203" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="76" G="176" B="194" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="89" G="181" B="205" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="89" G="181" B="205" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="110" G="255" B="193" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="85" G="169" B="221" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="73" G="169" B="199" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="67" G="156" B="216" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="66" G="161" B="204" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="77" G="160" B="224" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="70" G="163" B="206" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="70" G="163" B="206" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="252" G="142" B="201" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="82" G="178" B="199" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="93" G="177" B="221" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="90" G="184" B="203" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="90" G="174" B="219" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="90" G="174" B="219" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="116" G="211" B="26" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="74" G="162" B="214" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="84" G="179" B="200" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="65" G="167" B="192" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="76" G="176" B="194" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="66" G="161" B="204" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="13" G="174" B="96" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="13" G="174" B="96" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="81" G="211" B="87" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="250" G="179" B="101" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="1" G="161" B="85" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="235" G="167" B="88" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="245" G="160" B="82" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="239" G="177" B="98" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="206" G="142" B="24" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="11" G="167" B="90" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="248" G="178" B="100" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="14" G="187" B="105" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="1" G="184" B="104" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="16" G="176" B="97" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="255" B="127" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="244" G="169" B="91" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="12" G="169" B="92" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="1" G="156" B="78" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="12" G="161" B="84" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="245" G="160" B="82" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="8" G="163" B="86" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="8" G="163" B="86" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="50" G="142" B="24" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="8" G="178" B="100" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="245" G="167" B="90" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="243" G="186" B="105" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="239" G="177" B="98" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="1" G="184" B="104" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="243" G="174" B="96" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="243" G="174" B="96" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="175" G="211" B="87" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="255" G="162" B="85" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="6" G="179" B="101" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="23" G="167" B="88" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="16" G="176" B="97" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="12" G="161" B="84" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="166" G="174" B="219" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="166" G="174" B="219" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="140" G="211" B="26" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="172" G="179" B="200" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="190" G="160" B="205" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="180" G="177" B="193" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="186" G="163" B="206" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="186" G="163" B="206" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="4" G="142" B="201" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="172" G="167" B="221" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="174" G="178" B="199" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="158" G="187" B="216" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="165" G="184" B="205" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="164" G="176" B="221" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="167" G="181" B="205" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="167" G="181" B="205" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="146" G="255" B="193" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="183" G="169" B="200" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="170" G="169" B="221" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="188" G="156" B="218" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="177" G="161" B="225" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="190" G="160" B="205" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="178" G="163" B="220" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="178" G="163" B="220" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="211" G="142" B="31" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="166" G="178" B="214" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="184" G="167" B="201" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="171" G="186" B="192" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="180" G="177" B="193" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="165" G="184" B="205" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="179" G="174" B="197" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="221" G="211" B="143" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="166" G="179" B="211" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="168" G="167" B="232" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="164" G="176" B="221" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="177" G="161" B="225" A="255"/>
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="179" G="82" B="59" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="221" G="45" B="113" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="179" G="82" B="59" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="166" G="77" B="45" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="183" G="95" B="43" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="169" G="89" B="26" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="163" G="79" B="35" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="179" G="96" B="32" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="178" G="93" B="36" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="211" G="114" B="225" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="178" G="93" B="36" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="184" G="89" B="55" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="166" G="78" B="43" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="172" G="70" B="65" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="180" G="80" B="62" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="166" G="72" B="53" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="167" G="75" B="51" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="146" G="1" B="63" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="167" G="75" B="51" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="171" G="87" B="35" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="183" G="87" B="57" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="189" G="100" B="40" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="179" G="96" B="32" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="190" G="95" B="52" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="186" G="93" B="50" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="4" G="114" B="55" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="186" G="93" B="50" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="174" G="78" B="57" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="172" G="89" B="35" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="158" G="70" B="42" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="166" G="72" B="53" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="163" G="79" B="35" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="166" G="82" B="37" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="140" G="45" B="230" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="166" G="82" B="37" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="182" G="94" B="42" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="172" G="77" B="56" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="191" G="89" B="64" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="190" G="95" B="52" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="180" G="80" B="62" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="243" G="82" B="160" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="175" G="45" B="169" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="243" G="82" B="160" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="6" G="77" B="155" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="255" G="95" B="171" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="21" G="89" B="168" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="17" G="79" B="158" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="11" G="96" B="174" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="8" G="93" B="170" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="50" G="114" B="232" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="8" G="93" B="170" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="240" G="80" B="159" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="255" G="72" B="152" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="75" B="154" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="1" B="129" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="75" B="154" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="12" G="87" B="165" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="244" G="87" B="164" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="255" G="100" B="178" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="11" G="96" B="174" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="244" G="95" B="172" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="248" G="93" B="170" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="206" G="114" B="232" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="248" G="93" B="170" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="248" G="78" B="156" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="11" G="89" B="166" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="13" G="70" B="151" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="255" G="72" B="152" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="17" G="79" B="158" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="13" G="82" B="160" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="81" G="45" B="169" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="13" G="82" B="160" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="1" G="94" B="171" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="250" G="77" B="155" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="233" G="89" B="168" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="244" G="95" B="172" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="240" G="80" B="159" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="90" G="82" B="37" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="116" G="45" B="230" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="90" G="82" B="37" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="84" G="77" B="56" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="74" G="95" B="41" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="66" G="89" B="62" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="76" G="79" B="63" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="66" G="96" B="51" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="70" G="93" B="50" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="252" G="114" B="55" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="70" G="93" B="50" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="84" G="89" B="35" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="82" G="78" B="57" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="98" G="69" B="40" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="92" G="80" B="35" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="91" G="72" B="51" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="89" G="75" B="51" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="110" G="1" B="63" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="89" G="75" B="51" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="73" G="87" B="56" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="86" G="87" B="35" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="68" G="100" B="38" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="66" G="96" B="51" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="79" G="95" B="31" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="78" G="93" B="36" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="45" G="114" B="225" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="78" G="93" B="36" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="72" G="89" B="55" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="91" G="72" B="51" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="76" G="79" B="63" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="77" G="82" B="59" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="35" G="45" B="113" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="77" G="82" B="59" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="73" G="94" B="43" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="90" G="77" B="45" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="88" G="89" B="24" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="79" G="95" B="31" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="92" G="80" B="35" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="80" G="167" B="214" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="80" G="167" B="214" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="84" G="191" B="187" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="67" G="153" B="223" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="83" G="163" B="234" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="74" G="157" B="229" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="48" G="142" B="228" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="88" G="165" B="0" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="85" G="175" B="207" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="85" G="175" B="207" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="61" G="150" B="221" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="99" G="190" B="211" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="88" G="190" B="193" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="95" G="191" B="201" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="111" G="203" B="224" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="83" G="203" B="176" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="76" G="167" B="208" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="76" G="167" B="208" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="102" G="191" B="218" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="60" G="163" B="195" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="62" G="153" B="215" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="61" G="157" B="205" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="44" G="165" B="180" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="48" G="142" B="228" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="85" G="172" B="214" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="85" G="172" B="214" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="59" G="166" B="189" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="91" G="170" B="234" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="88" G="165" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="111" G="203" B="224" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="79" G="172" B="203" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="79" G="172" B="203" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="88" G="166" B="239" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="80" G="185" B="188" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="64" G="170" B="189" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="70" G="176" B="186" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="83" G="203" B="176" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="44" G="165" B="180" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="252" G="167" B="90" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="252" G="167" B="90" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="18" G="191" B="108" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="251" G="153" B="74" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="233" G="163" B="83" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="242" G="157" B="78" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="142" B="55" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="212" G="165" B="76" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="175" B="98" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="175" B="98" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="150" B="70" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="245" G="190" B="108" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="11" G="190" B="108" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="191" B="109" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="228" G="203" B="112" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="28" G="203" B="112" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="238" G="191" B="108" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="23" G="163" B="83" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="5" G="153" B="74" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="14" G="157" B="78" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="44" G="165" B="76" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="142" B="55" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="250" G="172" B="95" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="250" G="172" B="95" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="29" G="166" B="85" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="230" G="170" B="90" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="237" G="185" B="104" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="231" G="176" B="96" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="212" G="165" B="76" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="228" G="203" B="112" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="6" G="172" B="95" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="6" G="172" B="95" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="227" G="166" B="85" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="19" G="185" B="104" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="26" G="170" B="90" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="25" G="176" B="96" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="28" G="203" B="112" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="44" G="165" B="76" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="180" G="167" B="208" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="180" G="167" B="208" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="154" G="191" B="218" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="194" G="153" B="215" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="208" G="142" B="228" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="212" G="165" B="180" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="171" G="175" B="207" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="171" G="175" B="207" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="195" G="150" B="221" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="168" G="190" B="193" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="157" G="190" B="211" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="161" G="191" B="201" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="173" G="203" B="176" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="145" G="203" B="224" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="176" G="167" B="214" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="176" G="167" B="214" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="172" G="191" B="187" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="173" G="163" B="234" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="189" G="153" B="223" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="182" G="157" B="229" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="168" G="165" B="0" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="208" G="142" B="228" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="177" G="172" B="203" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="177" G="172" B="203" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="168" G="166" B="239" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="192" G="170" B="189" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="176" G="185" B="188" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="186" G="176" B="186" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="212" G="165" B="180" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="173" G="203" B="176" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="171" G="172" B="214" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="197" G="166" B="189" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="165" G="170" B="234" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="161" G="176" B="230" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="145" G="203" B="224" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="168" G="165" B="0" A="255"/>
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="176" G="89" B="42" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="172" G="65" B="69" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="176" G="89" B="42" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="189" G="103" B="33" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="173" G="93" B="22" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="182" G="99" B="27" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="168" G="91" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="208" G="114" B="28" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="171" G="81" B="49" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="195" G="106" B="35" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="171" G="81" B="49" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="157" G="66" B="45" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="168" G="66" B="63" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="161" G="65" B="55" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="173" G="53" B="80" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="145" G="53" B="32" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="180" G="89" B="48" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="154" G="65" B="38" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="180" G="89" B="48" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="196" G="93" B="61" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="194" G="103" B="41" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="195" G="99" B="51" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="208" G="114" B="28" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="212" G="91" B="76" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="171" G="84" B="42" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="197" G="90" B="67" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="171" G="84" B="42" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="165" G="86" B="22" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="157" G="71" B="35" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="161" G="80" B="26" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="145" G="53" B="32" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="168" G="91" B="0" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="177" G="84" B="53" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="168" G="90" B="17" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="177" G="84" B="53" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="176" G="71" B="68" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="192" G="86" B="67" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="186" G="80" B="70" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="212" G="91" B="76" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="173" G="53" B="80" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="4" G="89" B="166" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="238" G="65" B="148" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="4" G="89" B="166" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="5" G="103" B="182" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="23" G="93" B="173" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="14" G="99" B="178" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="44" G="91" B="180" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="114" B="201" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="81" B="158" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="106" B="186" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="81" B="158" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="228" G="53" B="144" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="252" G="89" B="166" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="18" G="65" B="148" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="252" G="89" B="166" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="233" G="93" B="173" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="251" G="103" B="182" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="242" G="99" B="178" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="114" B="201" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="212" G="91" B="180" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="6" G="84" B="161" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="227" G="90" B="171" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="6" G="84" B="161" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="26" G="86" B="166" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="19" G="71" B="152" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="25" G="80" B="160" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="44" G="91" B="180" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="250" G="84" B="161" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="29" G="90" B="171" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="250" G="84" B="161" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="237" G="71" B="152" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="230" G="86" B="166" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="231" G="80" B="160" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="212" G="91" B="180" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="228" G="53" B="144" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="76" G="89" B="48" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="102" G="65" B="38" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="76" G="89" B="48" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="62" G="103" B="41" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="60" G="93" B="61" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="61" G="99" B="51" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="44" G="91" B="76" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="48" G="114" B="28" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="85" G="81" B="49" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="61" G="106" B="35" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="85" G="81" B="49" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="88" G="66" B="63" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="99" G="66" B="45" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="95" G="65" B="55" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="111" G="53" B="32" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="83" G="53" B="80" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="80" G="89" B="42" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="84" G="65" B="69" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="80" G="89" B="42" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="83" G="93" B="22" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="67" G="103" B="33" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="74" G="99" B="27" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="48" G="114" B="28" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="88" G="91" B="0" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="79" G="84" B="53" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="88" G="90" B="17" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="79" G="84" B="53" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="80" G="71" B="68" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="83" G="53" B="80" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="44" G="91" B="76" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="85" G="84" B="42" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="59" G="90" B="67" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="85" G="84" B="42" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="99" G="71" B="35" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="91" G="86" B="22" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="95" G="80" B="26" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="88" G="91" B="0" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="111" G="53" B="32" A="255"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<Vertex Version="0">
<Vtx X="-107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
</Vertex>

View file

@ -0,0 +1,14 @@
<DisplayList Version="0">
<ClearGeometryMode G_LIGHTING="1" />
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
<SetGeometryMode G_LIGHTING="1" />
<CullDisplayList Start="0" End="7"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushFairyDL_f3dlite_shrubbery"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushFairyDL_tri_0"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushFairyDL_f3dlite_leaf"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushFairyDL_tri_1"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushFairyDL_f3dlite_flower_fairy"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushFairyDL_tri_2"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,8 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="14"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="0" V01="5" V02="6" Flag0="0" V10="7" V11="8" V12="9" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="11" Flag0="0" V10="7" V11="12" V12="13" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,16 @@
<Vertex Version="0">
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="129" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="127" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="110" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="110" G="0" B="64" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="77" G="174" B="197" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="77" G="174" B="197" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="35" G="211" B="143" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="90" G="179" B="211" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="73" G="161" B="213" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="87" G="167" B="230" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="77" G="160" B="224" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="93" G="177" B="221" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="78" G="163" B="220" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="78" G="163" B="220" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="45" G="142" B="31" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="72" G="167" B="201" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="90" G="178" B="213" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="84" G="186" B="191" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="90" G="184" B="203" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="76" G="176" B="194" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="89" G="181" B="205" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="89" G="181" B="205" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="110" G="255" B="193" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="85" G="169" B="221" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="73" G="169" B="199" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="67" G="156" B="216" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="66" G="161" B="204" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="77" G="160" B="224" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="70" G="163" B="206" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="70" G="163" B="206" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="252" G="142" B="201" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="82" G="178" B="199" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="93" G="177" B="221" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="90" G="184" B="203" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="90" G="174" B="219" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="90" G="174" B="219" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="116" G="211" B="26" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="74" G="162" B="214" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="84" G="179" B="200" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="65" G="167" B="192" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="76" G="176" B="194" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="66" G="161" B="204" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="13" G="174" B="96" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="13" G="174" B="96" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="81" G="211" B="87" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="250" G="179" B="101" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="1" G="161" B="85" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="235" G="167" B="88" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="245" G="160" B="82" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="239" G="177" B="98" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="206" G="142" B="24" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="11" G="167" B="90" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="248" G="178" B="100" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="14" G="187" B="105" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="1" G="184" B="104" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="16" G="176" B="97" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="255" B="127" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="244" G="169" B="91" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="12" G="169" B="92" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="1" G="156" B="78" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="12" G="161" B="84" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="245" G="160" B="82" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="8" G="163" B="86" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="8" G="163" B="86" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="50" G="142" B="24" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="8" G="178" B="100" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="245" G="167" B="90" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="243" G="186" B="105" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="239" G="177" B="98" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="1" G="184" B="104" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="243" G="174" B="96" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="243" G="174" B="96" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="175" G="211" B="87" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="255" G="162" B="85" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="6" G="179" B="101" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="23" G="167" B="88" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="16" G="176" B="97" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="12" G="161" B="84" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="166" G="174" B="219" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="166" G="174" B="219" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="140" G="211" B="26" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="172" G="179" B="200" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="190" G="160" B="205" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="180" G="177" B="193" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="186" G="163" B="206" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="186" G="163" B="206" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="4" G="142" B="201" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="172" G="167" B="221" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="174" G="178" B="199" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="158" G="187" B="216" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="165" G="184" B="205" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="164" G="176" B="221" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="167" G="181" B="205" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="167" G="181" B="205" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="146" G="255" B="193" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="183" G="169" B="200" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="170" G="169" B="221" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="188" G="156" B="218" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="177" G="161" B="225" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="190" G="160" B="205" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="178" G="163" B="220" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="178" G="163" B="220" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="211" G="142" B="31" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="166" G="178" B="214" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="184" G="167" B="201" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="171" G="186" B="192" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="180" G="177" B="193" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="165" G="184" B="205" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="179" G="174" B="197" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="221" G="211" B="143" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="166" G="179" B="211" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="168" G="167" B="232" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="164" G="176" B="221" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="177" G="161" B="225" A="255"/>
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="179" G="82" B="59" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="221" G="45" B="113" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="179" G="82" B="59" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="166" G="77" B="45" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="183" G="95" B="43" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="169" G="89" B="26" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="163" G="79" B="35" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="179" G="96" B="32" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="178" G="93" B="36" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="211" G="114" B="225" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="178" G="93" B="36" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="184" G="89" B="55" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="166" G="78" B="43" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="172" G="70" B="65" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="180" G="80" B="62" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="166" G="72" B="53" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="167" G="75" B="51" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="146" G="1" B="63" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="167" G="75" B="51" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="171" G="87" B="35" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="183" G="87" B="57" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="189" G="100" B="40" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="179" G="96" B="32" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="190" G="95" B="52" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="186" G="93" B="50" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="4" G="114" B="55" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="186" G="93" B="50" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="174" G="78" B="57" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="172" G="89" B="35" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="158" G="70" B="42" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="166" G="72" B="53" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="163" G="79" B="35" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="166" G="82" B="37" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="140" G="45" B="230" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="166" G="82" B="37" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="182" G="94" B="42" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="172" G="77" B="56" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="191" G="89" B="64" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="190" G="95" B="52" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="180" G="80" B="62" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="243" G="82" B="160" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="175" G="45" B="169" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="243" G="82" B="160" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="6" G="77" B="155" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="255" G="95" B="171" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="21" G="89" B="168" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="17" G="79" B="158" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="11" G="96" B="174" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="8" G="93" B="170" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="50" G="114" B="232" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="8" G="93" B="170" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="240" G="80" B="159" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="255" G="72" B="152" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="75" B="154" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="1" B="129" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="75" B="154" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="12" G="87" B="165" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="244" G="87" B="164" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="255" G="100" B="178" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="11" G="96" B="174" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="244" G="95" B="172" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="248" G="93" B="170" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="206" G="114" B="232" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="248" G="93" B="170" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="248" G="78" B="156" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="11" G="89" B="166" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="13" G="70" B="151" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="255" G="72" B="152" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="17" G="79" B="158" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="13" G="82" B="160" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="81" G="45" B="169" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="13" G="82" B="160" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="1" G="94" B="171" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="250" G="77" B="155" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="233" G="89" B="168" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="244" G="95" B="172" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="240" G="80" B="159" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="90" G="82" B="37" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="116" G="45" B="230" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="90" G="82" B="37" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="84" G="77" B="56" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="74" G="95" B="41" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="66" G="89" B="62" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="76" G="79" B="63" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="66" G="96" B="51" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="70" G="93" B="50" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="252" G="114" B="55" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="70" G="93" B="50" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="84" G="89" B="35" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="82" G="78" B="57" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="98" G="69" B="40" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="92" G="80" B="35" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="91" G="72" B="51" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="89" G="75" B="51" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="110" G="1" B="63" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="89" G="75" B="51" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="73" G="87" B="56" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="86" G="87" B="35" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="68" G="100" B="38" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="66" G="96" B="51" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="79" G="95" B="31" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="78" G="93" B="36" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="45" G="114" B="225" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="78" G="93" B="36" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="72" G="89" B="55" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="91" G="72" B="51" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="76" G="79" B="63" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="77" G="82" B="59" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="35" G="45" B="113" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="77" G="82" B="59" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="73" G="94" B="43" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="90" G="77" B="45" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="88" G="89" B="24" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="79" G="95" B="31" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="92" G="80" B="35" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="80" G="167" B="214" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="80" G="167" B="214" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="84" G="191" B="187" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="67" G="153" B="223" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="83" G="163" B="234" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="74" G="157" B="229" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="48" G="142" B="228" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="88" G="165" B="0" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="85" G="175" B="207" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="85" G="175" B="207" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="61" G="150" B="221" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="99" G="190" B="211" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="88" G="190" B="193" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="95" G="191" B="201" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="111" G="203" B="224" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="83" G="203" B="176" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="76" G="167" B="208" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="76" G="167" B="208" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="102" G="191" B="218" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="60" G="163" B="195" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="62" G="153" B="215" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="61" G="157" B="205" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="44" G="165" B="180" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="48" G="142" B="228" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="85" G="172" B="214" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="85" G="172" B="214" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="59" G="166" B="189" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="91" G="170" B="234" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="88" G="165" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="111" G="203" B="224" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="79" G="172" B="203" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="79" G="172" B="203" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="88" G="166" B="239" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="80" G="185" B="188" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="64" G="170" B="189" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="70" G="176" B="186" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="83" G="203" B="176" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="44" G="165" B="180" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="252" G="167" B="90" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="252" G="167" B="90" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="18" G="191" B="108" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="251" G="153" B="74" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="233" G="163" B="83" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="242" G="157" B="78" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="142" B="55" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="212" G="165" B="76" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="175" B="98" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="175" B="98" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="150" B="70" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="245" G="190" B="108" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="11" G="190" B="108" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="191" B="109" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="228" G="203" B="112" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="28" G="203" B="112" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="238" G="191" B="108" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="23" G="163" B="83" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="5" G="153" B="74" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="14" G="157" B="78" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="44" G="165" B="76" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="142" B="55" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="250" G="172" B="95" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="250" G="172" B="95" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="29" G="166" B="85" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="230" G="170" B="90" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="237" G="185" B="104" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="231" G="176" B="96" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="212" G="165" B="76" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="228" G="203" B="112" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="6" G="172" B="95" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="6" G="172" B="95" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="227" G="166" B="85" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="19" G="185" B="104" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="26" G="170" B="90" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="25" G="176" B="96" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="28" G="203" B="112" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="44" G="165" B="76" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="180" G="167" B="208" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="180" G="167" B="208" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="154" G="191" B="218" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="194" G="153" B="215" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="208" G="142" B="228" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="212" G="165" B="180" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="171" G="175" B="207" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="171" G="175" B="207" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="195" G="150" B="221" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="168" G="190" B="193" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="157" G="190" B="211" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="161" G="191" B="201" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="173" G="203" B="176" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="145" G="203" B="224" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="176" G="167" B="214" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="176" G="167" B="214" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="172" G="191" B="187" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="173" G="163" B="234" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="189" G="153" B="223" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="182" G="157" B="229" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="168" G="165" B="0" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="208" G="142" B="228" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="177" G="172" B="203" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="177" G="172" B="203" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="168" G="166" B="239" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="192" G="170" B="189" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="176" G="185" B="188" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="186" G="176" B="186" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="212" G="165" B="180" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="173" G="203" B="176" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="171" G="172" B="214" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="197" G="166" B="189" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="165" G="170" B="234" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="161" G="176" B="230" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="145" G="203" B="224" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="168" G="165" B="0" A="255"/>
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="176" G="89" B="42" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="172" G="65" B="69" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="176" G="89" B="42" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="189" G="103" B="33" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="173" G="93" B="22" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="182" G="99" B="27" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="168" G="91" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="208" G="114" B="28" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="171" G="81" B="49" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="195" G="106" B="35" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="171" G="81" B="49" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="157" G="66" B="45" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="168" G="66" B="63" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="161" G="65" B="55" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="173" G="53" B="80" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="145" G="53" B="32" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="180" G="89" B="48" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="154" G="65" B="38" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="180" G="89" B="48" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="196" G="93" B="61" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="194" G="103" B="41" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="195" G="99" B="51" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="208" G="114" B="28" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="212" G="91" B="76" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="171" G="84" B="42" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="197" G="90" B="67" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="171" G="84" B="42" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="165" G="86" B="22" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="157" G="71" B="35" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="161" G="80" B="26" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="145" G="53" B="32" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="168" G="91" B="0" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="177" G="84" B="53" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="168" G="90" B="17" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="177" G="84" B="53" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="176" G="71" B="68" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="192" G="86" B="67" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="186" G="80" B="70" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="212" G="91" B="76" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="173" G="53" B="80" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="4" G="89" B="166" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="238" G="65" B="148" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="4" G="89" B="166" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="5" G="103" B="182" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="23" G="93" B="173" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="14" G="99" B="178" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="44" G="91" B="180" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="114" B="201" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="81" B="158" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="106" B="186" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="81" B="158" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="228" G="53" B="144" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="252" G="89" B="166" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="18" G="65" B="148" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="252" G="89" B="166" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="233" G="93" B="173" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="251" G="103" B="182" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="242" G="99" B="178" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="114" B="201" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="212" G="91" B="180" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="6" G="84" B="161" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="227" G="90" B="171" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="6" G="84" B="161" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="26" G="86" B="166" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="19" G="71" B="152" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="25" G="80" B="160" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="44" G="91" B="180" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="250" G="84" B="161" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="29" G="90" B="171" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="250" G="84" B="161" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="237" G="71" B="152" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="230" G="86" B="166" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="231" G="80" B="160" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="212" G="91" B="180" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="228" G="53" B="144" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="76" G="89" B="48" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="102" G="65" B="38" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="76" G="89" B="48" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="62" G="103" B="41" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="60" G="93" B="61" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="61" G="99" B="51" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="44" G="91" B="76" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="48" G="114" B="28" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="85" G="81" B="49" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="61" G="106" B="35" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="85" G="81" B="49" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="88" G="66" B="63" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="99" G="66" B="45" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="95" G="65" B="55" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="111" G="53" B="32" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="83" G="53" B="80" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="80" G="89" B="42" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="84" G="65" B="69" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="80" G="89" B="42" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="83" G="93" B="22" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="67" G="103" B="33" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="74" G="99" B="27" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="48" G="114" B="28" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="88" G="91" B="0" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="79" G="84" B="53" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="88" G="90" B="17" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="79" G="84" B="53" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="80" G="71" B="68" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="83" G="53" B="80" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="44" G="91" B="76" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="85" G="84" B="42" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="59" G="90" B="67" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="85" G="84" B="42" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="99" G="71" B="35" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="91" G="86" B="22" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="95" G="80" B="26" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="88" G="91" B="0" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="111" G="53" B="32" A="255"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<Vertex Version="0">
<Vtx X="-107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
</Vertex>

View file

@ -0,0 +1,14 @@
<DisplayList Version="0">
<ClearGeometryMode G_LIGHTING="1" />
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
<SetGeometryMode G_LIGHTING="1" />
<CullDisplayList Start="0" End="7"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushHeartDL_f3dlite_shrubbery"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushHeartDL_tri_0"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushHeartDL_f3dlite_leaf"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushHeartDL_tri_1"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushHeartDL_f3dlite_flower_heart"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushHeartDL_tri_2"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,8 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="14"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="0" V01="5" V02="6" Flag0="0" V10="7" V11="8" V12="9" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="11" Flag0="0" V10="7" V11="12" V12="13" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,16 @@
<Vertex Version="0">
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="129" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="127" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="110" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="110" G="0" B="64" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="77" G="174" B="197" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="77" G="174" B="197" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="35" G="211" B="143" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="90" G="179" B="211" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="73" G="161" B="213" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="87" G="167" B="230" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="77" G="160" B="224" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="93" G="177" B="221" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="78" G="163" B="220" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="78" G="163" B="220" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="45" G="142" B="31" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="72" G="167" B="201" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="90" G="178" B="213" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="84" G="186" B="191" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="90" G="184" B="203" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="76" G="176" B="194" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="89" G="181" B="205" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="89" G="181" B="205" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="110" G="255" B="193" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="85" G="169" B="221" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="73" G="169" B="199" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="67" G="156" B="216" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="66" G="161" B="204" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="77" G="160" B="224" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="70" G="163" B="206" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="70" G="163" B="206" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="252" G="142" B="201" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="82" G="178" B="199" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="93" G="177" B="221" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="90" G="184" B="203" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="90" G="174" B="219" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="90" G="174" B="219" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="116" G="211" B="26" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="74" G="162" B="214" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="84" G="179" B="200" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="65" G="167" B="192" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="76" G="176" B="194" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="66" G="161" B="204" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="13" G="174" B="96" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="13" G="174" B="96" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="81" G="211" B="87" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="250" G="179" B="101" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="1" G="161" B="85" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="235" G="167" B="88" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="245" G="160" B="82" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="239" G="177" B="98" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="206" G="142" B="24" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="11" G="167" B="90" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="248" G="178" B="100" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="14" G="187" B="105" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="1" G="184" B="104" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="16" G="176" B="97" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="255" B="127" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="244" G="169" B="91" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="12" G="169" B="92" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="1" G="156" B="78" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="12" G="161" B="84" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="245" G="160" B="82" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="8" G="163" B="86" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="8" G="163" B="86" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="50" G="142" B="24" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="8" G="178" B="100" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="245" G="167" B="90" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="243" G="186" B="105" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="239" G="177" B="98" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="1" G="184" B="104" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="243" G="174" B="96" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="243" G="174" B="96" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="175" G="211" B="87" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="255" G="162" B="85" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="6" G="179" B="101" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="23" G="167" B="88" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="16" G="176" B="97" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="12" G="161" B="84" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="166" G="174" B="219" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="166" G="174" B="219" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="140" G="211" B="26" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="172" G="179" B="200" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="190" G="160" B="205" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="180" G="177" B="193" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="186" G="163" B="206" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="186" G="163" B="206" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="4" G="142" B="201" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="172" G="167" B="221" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="174" G="178" B="199" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="158" G="187" B="216" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="165" G="184" B="205" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="164" G="176" B="221" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="167" G="181" B="205" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="167" G="181" B="205" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="146" G="255" B="193" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="183" G="169" B="200" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="170" G="169" B="221" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="188" G="156" B="218" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="177" G="161" B="225" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="190" G="160" B="205" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="178" G="163" B="220" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="178" G="163" B="220" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="211" G="142" B="31" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="166" G="178" B="214" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="184" G="167" B="201" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="171" G="186" B="192" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="180" G="177" B="193" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="165" G="184" B="205" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="179" G="174" B="197" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="221" G="211" B="143" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="166" G="179" B="211" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="168" G="167" B="232" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="164" G="176" B="221" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="177" G="161" B="225" A="255"/>
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="179" G="82" B="59" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="221" G="45" B="113" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="179" G="82" B="59" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="166" G="77" B="45" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="183" G="95" B="43" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="169" G="89" B="26" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="163" G="79" B="35" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="179" G="96" B="32" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="178" G="93" B="36" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="211" G="114" B="225" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="178" G="93" B="36" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="184" G="89" B="55" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="166" G="78" B="43" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="172" G="70" B="65" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="180" G="80" B="62" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="166" G="72" B="53" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="167" G="75" B="51" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="146" G="1" B="63" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="167" G="75" B="51" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="171" G="87" B="35" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="183" G="87" B="57" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="189" G="100" B="40" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="179" G="96" B="32" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="190" G="95" B="52" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="186" G="93" B="50" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="4" G="114" B="55" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="186" G="93" B="50" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="174" G="78" B="57" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="172" G="89" B="35" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="158" G="70" B="42" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="166" G="72" B="53" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="163" G="79" B="35" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="166" G="82" B="37" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="140" G="45" B="230" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="166" G="82" B="37" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="182" G="94" B="42" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="172" G="77" B="56" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="191" G="89" B="64" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="190" G="95" B="52" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="180" G="80" B="62" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="243" G="82" B="160" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="175" G="45" B="169" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="243" G="82" B="160" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="6" G="77" B="155" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="255" G="95" B="171" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="21" G="89" B="168" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="17" G="79" B="158" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="11" G="96" B="174" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="8" G="93" B="170" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="50" G="114" B="232" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="8" G="93" B="170" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="240" G="80" B="159" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="255" G="72" B="152" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="75" B="154" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="1" B="129" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="75" B="154" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="12" G="87" B="165" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="244" G="87" B="164" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="255" G="100" B="178" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="11" G="96" B="174" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="244" G="95" B="172" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="248" G="93" B="170" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="206" G="114" B="232" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="248" G="93" B="170" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="248" G="78" B="156" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="11" G="89" B="166" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="13" G="70" B="151" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="255" G="72" B="152" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="17" G="79" B="158" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="13" G="82" B="160" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="81" G="45" B="169" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="13" G="82" B="160" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="1" G="94" B="171" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="250" G="77" B="155" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="233" G="89" B="168" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="244" G="95" B="172" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="240" G="80" B="159" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="90" G="82" B="37" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="116" G="45" B="230" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="90" G="82" B="37" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="84" G="77" B="56" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="74" G="95" B="41" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="66" G="89" B="62" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="76" G="79" B="63" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="66" G="96" B="51" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="70" G="93" B="50" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="252" G="114" B="55" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="70" G="93" B="50" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="84" G="89" B="35" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="82" G="78" B="57" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="98" G="69" B="40" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="92" G="80" B="35" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="91" G="72" B="51" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="89" G="75" B="51" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="110" G="1" B="63" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="89" G="75" B="51" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="73" G="87" B="56" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="86" G="87" B="35" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="68" G="100" B="38" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="66" G="96" B="51" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="79" G="95" B="31" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="78" G="93" B="36" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="45" G="114" B="225" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="78" G="93" B="36" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="72" G="89" B="55" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="91" G="72" B="51" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="76" G="79" B="63" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="77" G="82" B="59" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="35" G="45" B="113" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="77" G="82" B="59" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="73" G="94" B="43" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="90" G="77" B="45" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="88" G="89" B="24" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="79" G="95" B="31" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="92" G="80" B="35" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="80" G="167" B="214" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="80" G="167" B="214" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="84" G="191" B="187" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="67" G="153" B="223" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="83" G="163" B="234" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="74" G="157" B="229" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="48" G="142" B="228" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="88" G="165" B="0" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="85" G="175" B="207" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="85" G="175" B="207" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="61" G="150" B="221" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="99" G="190" B="211" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="88" G="190" B="193" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="95" G="191" B="201" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="111" G="203" B="224" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="83" G="203" B="176" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="76" G="167" B="208" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="76" G="167" B="208" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="102" G="191" B="218" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="60" G="163" B="195" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="62" G="153" B="215" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="61" G="157" B="205" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="44" G="165" B="180" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="48" G="142" B="228" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="85" G="172" B="214" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="85" G="172" B="214" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="59" G="166" B="189" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="91" G="170" B="234" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="88" G="165" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="111" G="203" B="224" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="79" G="172" B="203" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="79" G="172" B="203" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="88" G="166" B="239" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="80" G="185" B="188" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="64" G="170" B="189" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="70" G="176" B="186" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="83" G="203" B="176" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="44" G="165" B="180" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="252" G="167" B="90" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="252" G="167" B="90" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="18" G="191" B="108" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="251" G="153" B="74" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="233" G="163" B="83" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="242" G="157" B="78" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="142" B="55" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="212" G="165" B="76" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="175" B="98" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="175" B="98" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="150" B="70" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="245" G="190" B="108" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="11" G="190" B="108" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="191" B="109" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="228" G="203" B="112" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="28" G="203" B="112" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="238" G="191" B="108" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="23" G="163" B="83" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="5" G="153" B="74" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="14" G="157" B="78" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="44" G="165" B="76" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="142" B="55" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="250" G="172" B="95" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="250" G="172" B="95" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="29" G="166" B="85" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="230" G="170" B="90" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="237" G="185" B="104" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="231" G="176" B="96" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="212" G="165" B="76" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="228" G="203" B="112" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="6" G="172" B="95" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="6" G="172" B="95" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="227" G="166" B="85" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="19" G="185" B="104" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="26" G="170" B="90" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="25" G="176" B="96" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="28" G="203" B="112" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="44" G="165" B="76" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="180" G="167" B="208" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="180" G="167" B="208" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="154" G="191" B="218" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="194" G="153" B="215" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="208" G="142" B="228" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="212" G="165" B="180" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="171" G="175" B="207" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="171" G="175" B="207" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="195" G="150" B="221" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="168" G="190" B="193" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="157" G="190" B="211" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="161" G="191" B="201" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="173" G="203" B="176" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="145" G="203" B="224" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="176" G="167" B="214" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="176" G="167" B="214" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="172" G="191" B="187" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="173" G="163" B="234" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="189" G="153" B="223" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="182" G="157" B="229" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="168" G="165" B="0" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="208" G="142" B="228" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="177" G="172" B="203" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="177" G="172" B="203" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="168" G="166" B="239" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="192" G="170" B="189" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="176" G="185" B="188" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="186" G="176" B="186" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="212" G="165" B="180" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="173" G="203" B="176" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="171" G="172" B="214" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="197" G="166" B="189" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="165" G="170" B="234" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="161" G="176" B="230" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="145" G="203" B="224" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="168" G="165" B="0" A="255"/>
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="176" G="89" B="42" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="172" G="65" B="69" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="176" G="89" B="42" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="189" G="103" B="33" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="173" G="93" B="22" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="182" G="99" B="27" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="168" G="91" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="208" G="114" B="28" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="171" G="81" B="49" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="195" G="106" B="35" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="171" G="81" B="49" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="157" G="66" B="45" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="168" G="66" B="63" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="161" G="65" B="55" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="173" G="53" B="80" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="145" G="53" B="32" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="180" G="89" B="48" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="154" G="65" B="38" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="180" G="89" B="48" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="196" G="93" B="61" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="194" G="103" B="41" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="195" G="99" B="51" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="208" G="114" B="28" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="212" G="91" B="76" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="171" G="84" B="42" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="197" G="90" B="67" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="171" G="84" B="42" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="165" G="86" B="22" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="157" G="71" B="35" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="161" G="80" B="26" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="145" G="53" B="32" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="168" G="91" B="0" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="177" G="84" B="53" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="168" G="90" B="17" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="177" G="84" B="53" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="176" G="71" B="68" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="192" G="86" B="67" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="186" G="80" B="70" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="212" G="91" B="76" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="173" G="53" B="80" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="4" G="89" B="166" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="238" G="65" B="148" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="4" G="89" B="166" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="5" G="103" B="182" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="23" G="93" B="173" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="14" G="99" B="178" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="44" G="91" B="180" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="114" B="201" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="81" B="158" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="106" B="186" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="81" B="158" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="228" G="53" B="144" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="252" G="89" B="166" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="18" G="65" B="148" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="252" G="89" B="166" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="233" G="93" B="173" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="251" G="103" B="182" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="242" G="99" B="178" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="114" B="201" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="212" G="91" B="180" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="6" G="84" B="161" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="227" G="90" B="171" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="6" G="84" B="161" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="26" G="86" B="166" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="19" G="71" B="152" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="25" G="80" B="160" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="44" G="91" B="180" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="250" G="84" B="161" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="29" G="90" B="171" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="250" G="84" B="161" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="237" G="71" B="152" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="230" G="86" B="166" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="231" G="80" B="160" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="212" G="91" B="180" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="228" G="53" B="144" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="76" G="89" B="48" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="102" G="65" B="38" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="76" G="89" B="48" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="62" G="103" B="41" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="60" G="93" B="61" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="61" G="99" B="51" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="44" G="91" B="76" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="48" G="114" B="28" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="85" G="81" B="49" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="61" G="106" B="35" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="85" G="81" B="49" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="88" G="66" B="63" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="99" G="66" B="45" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="95" G="65" B="55" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="111" G="53" B="32" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="83" G="53" B="80" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="80" G="89" B="42" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="84" G="65" B="69" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="80" G="89" B="42" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="83" G="93" B="22" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="67" G="103" B="33" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="74" G="99" B="27" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="48" G="114" B="28" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="88" G="91" B="0" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="79" G="84" B="53" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="88" G="90" B="17" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="79" G="84" B="53" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="80" G="71" B="68" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="83" G="53" B="80" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="44" G="91" B="76" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="85" G="84" B="42" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="59" G="90" B="67" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="85" G="84" B="42" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="99" G="71" B="35" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="91" G="86" B="22" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="95" G="80" B="26" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="88" G="91" B="0" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="111" G="53" B="32" A="255"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<Vertex Version="0">
<Vtx X="-107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<DisplayList Version="0">
<ClearGeometryMode G_LIGHTING="1" />
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushJunkDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
<SetGeometryMode G_LIGHTING="1" />
<CullDisplayList Start="0" End="7"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushJunkDL_f3dlite_shrubbery"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushJunkDL_tri_0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,8 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushJunkDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="14"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="0" V01="5" V02="6" Flag0="0" V10="7" V11="8" V12="9" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="11" Flag0="0" V10="7" V11="12" V12="13" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,16 @@
<Vertex Version="0">
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="129" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="127" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="110" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="110" G="0" B="64" A="255"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<Vertex Version="0">
<Vtx X="-107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
</Vertex>

View file

@ -0,0 +1,14 @@
<DisplayList Version="0">
<ClearGeometryMode G_LIGHTING="1" />
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
<SetGeometryMode G_LIGHTING="1" />
<CullDisplayList Start="0" End="7"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMajorDL_f3dlite_shrubbery"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMajorDL_tri_0"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMajorDL_f3dlite_leaf"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMajorDL_tri_1"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMajorDL_f3dlite_flower_gold"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMajorDL_tri_2"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,8 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="14"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="0" V01="5" V02="6" Flag0="0" V10="7" V11="8" V12="9" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="11" Flag0="0" V10="7" V11="12" V12="13" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,16 @@
<Vertex Version="0">
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="129" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="127" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="110" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="110" G="0" B="64" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="77" G="174" B="197" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="77" G="174" B="197" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="35" G="211" B="143" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="90" G="179" B="211" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="73" G="161" B="213" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="87" G="167" B="230" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="77" G="160" B="224" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="93" G="177" B="221" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="78" G="163" B="220" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="78" G="163" B="220" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="45" G="142" B="31" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="72" G="167" B="201" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="90" G="178" B="213" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="84" G="186" B="191" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="90" G="184" B="203" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="76" G="176" B="194" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="89" G="181" B="205" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="89" G="181" B="205" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="110" G="255" B="193" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="85" G="169" B="221" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="73" G="169" B="199" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="67" G="156" B="216" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="66" G="161" B="204" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="77" G="160" B="224" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="70" G="163" B="206" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="70" G="163" B="206" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="252" G="142" B="201" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="82" G="178" B="199" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="93" G="177" B="221" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="90" G="184" B="203" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="90" G="174" B="219" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="90" G="174" B="219" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="116" G="211" B="26" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="74" G="162" B="214" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="84" G="179" B="200" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="65" G="167" B="192" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="76" G="176" B="194" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="66" G="161" B="204" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="13" G="174" B="96" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="13" G="174" B="96" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="81" G="211" B="87" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="250" G="179" B="101" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="1" G="161" B="85" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="235" G="167" B="88" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="245" G="160" B="82" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="239" G="177" B="98" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="206" G="142" B="24" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="11" G="167" B="90" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="248" G="178" B="100" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="14" G="187" B="105" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="1" G="184" B="104" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="16" G="176" B="97" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="255" B="127" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="244" G="169" B="91" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="12" G="169" B="92" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="1" G="156" B="78" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="12" G="161" B="84" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="245" G="160" B="82" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="8" G="163" B="86" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="8" G="163" B="86" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="50" G="142" B="24" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="8" G="178" B="100" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="245" G="167" B="90" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="243" G="186" B="105" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="239" G="177" B="98" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="1" G="184" B="104" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="243" G="174" B="96" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="243" G="174" B="96" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="175" G="211" B="87" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="255" G="162" B="85" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="6" G="179" B="101" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="23" G="167" B="88" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="16" G="176" B="97" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="12" G="161" B="84" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="166" G="174" B="219" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="166" G="174" B="219" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="140" G="211" B="26" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="172" G="179" B="200" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="190" G="160" B="205" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="180" G="177" B="193" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="186" G="163" B="206" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="186" G="163" B="206" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="4" G="142" B="201" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="172" G="167" B="221" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="174" G="178" B="199" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="158" G="187" B="216" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="165" G="184" B="205" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="164" G="176" B="221" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="167" G="181" B="205" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="167" G="181" B="205" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="146" G="255" B="193" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="183" G="169" B="200" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="170" G="169" B="221" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="188" G="156" B="218" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="177" G="161" B="225" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="190" G="160" B="205" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="178" G="163" B="220" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="178" G="163" B="220" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="211" G="142" B="31" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="166" G="178" B="214" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="184" G="167" B="201" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="171" G="186" B="192" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="180" G="177" B="193" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="165" G="184" B="205" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="179" G="174" B="197" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="221" G="211" B="143" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="166" G="179" B="211" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="168" G="167" B="232" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="164" G="176" B="221" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="177" G="161" B="225" A="255"/>
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="179" G="82" B="59" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="221" G="45" B="113" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="179" G="82" B="59" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="166" G="77" B="45" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="183" G="95" B="43" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="169" G="89" B="26" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="163" G="79" B="35" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="179" G="96" B="32" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="178" G="93" B="36" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="211" G="114" B="225" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="178" G="93" B="36" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="184" G="89" B="55" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="166" G="78" B="43" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="172" G="70" B="65" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="180" G="80" B="62" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="166" G="72" B="53" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="167" G="75" B="51" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="146" G="1" B="63" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="167" G="75" B="51" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="171" G="87" B="35" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="183" G="87" B="57" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="189" G="100" B="40" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="179" G="96" B="32" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="190" G="95" B="52" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="186" G="93" B="50" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="4" G="114" B="55" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="186" G="93" B="50" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="174" G="78" B="57" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="172" G="89" B="35" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="158" G="70" B="42" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="166" G="72" B="53" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="163" G="79" B="35" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="166" G="82" B="37" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="140" G="45" B="230" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="166" G="82" B="37" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="182" G="94" B="42" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="172" G="77" B="56" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="191" G="89" B="64" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="190" G="95" B="52" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="180" G="80" B="62" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="243" G="82" B="160" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="175" G="45" B="169" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="243" G="82" B="160" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="6" G="77" B="155" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="255" G="95" B="171" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="21" G="89" B="168" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="17" G="79" B="158" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="11" G="96" B="174" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="8" G="93" B="170" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="50" G="114" B="232" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="8" G="93" B="170" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="240" G="80" B="159" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="255" G="72" B="152" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="75" B="154" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="1" B="129" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="75" B="154" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="12" G="87" B="165" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="244" G="87" B="164" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="255" G="100" B="178" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="11" G="96" B="174" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="244" G="95" B="172" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="248" G="93" B="170" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="206" G="114" B="232" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="248" G="93" B="170" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="248" G="78" B="156" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="11" G="89" B="166" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="13" G="70" B="151" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="255" G="72" B="152" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="17" G="79" B="158" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="13" G="82" B="160" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="81" G="45" B="169" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="13" G="82" B="160" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="1" G="94" B="171" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="250" G="77" B="155" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="233" G="89" B="168" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="244" G="95" B="172" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="240" G="80" B="159" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="90" G="82" B="37" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="116" G="45" B="230" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="90" G="82" B="37" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="84" G="77" B="56" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="74" G="95" B="41" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="66" G="89" B="62" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="76" G="79" B="63" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="66" G="96" B="51" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="70" G="93" B="50" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="252" G="114" B="55" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="70" G="93" B="50" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="84" G="89" B="35" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="82" G="78" B="57" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="98" G="69" B="40" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="92" G="80" B="35" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="91" G="72" B="51" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="89" G="75" B="51" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="110" G="1" B="63" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="89" G="75" B="51" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="73" G="87" B="56" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="86" G="87" B="35" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="68" G="100" B="38" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="66" G="96" B="51" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="79" G="95" B="31" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="78" G="93" B="36" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="45" G="114" B="225" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="78" G="93" B="36" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="72" G="89" B="55" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="91" G="72" B="51" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="76" G="79" B="63" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="77" G="82" B="59" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="35" G="45" B="113" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="77" G="82" B="59" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="73" G="94" B="43" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="90" G="77" B="45" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="88" G="89" B="24" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="79" G="95" B="31" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="92" G="80" B="35" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="80" G="167" B="214" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="80" G="167" B="214" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="84" G="191" B="187" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="67" G="153" B="223" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="83" G="163" B="234" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="74" G="157" B="229" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="48" G="142" B="228" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="88" G="165" B="0" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="85" G="175" B="207" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="85" G="175" B="207" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="61" G="150" B="221" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="99" G="190" B="211" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="88" G="190" B="193" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="95" G="191" B="201" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="111" G="203" B="224" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="83" G="203" B="176" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="76" G="167" B="208" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="76" G="167" B="208" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="102" G="191" B="218" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="60" G="163" B="195" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="62" G="153" B="215" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="61" G="157" B="205" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="44" G="165" B="180" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="48" G="142" B="228" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="85" G="172" B="214" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="85" G="172" B="214" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="59" G="166" B="189" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="91" G="170" B="234" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="88" G="165" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="111" G="203" B="224" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="79" G="172" B="203" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="79" G="172" B="203" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="88" G="166" B="239" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="80" G="185" B="188" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="64" G="170" B="189" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="70" G="176" B="186" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="83" G="203" B="176" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="44" G="165" B="180" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="252" G="167" B="90" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="252" G="167" B="90" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="18" G="191" B="108" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="251" G="153" B="74" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="233" G="163" B="83" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="242" G="157" B="78" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="142" B="55" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="212" G="165" B="76" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="175" B="98" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="175" B="98" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="150" B="70" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="245" G="190" B="108" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="11" G="190" B="108" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="191" B="109" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="228" G="203" B="112" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="28" G="203" B="112" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="238" G="191" B="108" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="23" G="163" B="83" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="5" G="153" B="74" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="14" G="157" B="78" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="44" G="165" B="76" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="142" B="55" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="250" G="172" B="95" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="250" G="172" B="95" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="29" G="166" B="85" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="230" G="170" B="90" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="237" G="185" B="104" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="231" G="176" B="96" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="212" G="165" B="76" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="228" G="203" B="112" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="6" G="172" B="95" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="6" G="172" B="95" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="227" G="166" B="85" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="19" G="185" B="104" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="26" G="170" B="90" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="25" G="176" B="96" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="28" G="203" B="112" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="44" G="165" B="76" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="180" G="167" B="208" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="180" G="167" B="208" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="154" G="191" B="218" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="194" G="153" B="215" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="208" G="142" B="228" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="212" G="165" B="180" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="171" G="175" B="207" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="171" G="175" B="207" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="195" G="150" B="221" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="168" G="190" B="193" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="157" G="190" B="211" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="161" G="191" B="201" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="173" G="203" B="176" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="145" G="203" B="224" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="176" G="167" B="214" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="176" G="167" B="214" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="172" G="191" B="187" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="173" G="163" B="234" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="189" G="153" B="223" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="182" G="157" B="229" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="168" G="165" B="0" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="208" G="142" B="228" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="177" G="172" B="203" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="177" G="172" B="203" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="168" G="166" B="239" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="192" G="170" B="189" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="176" G="185" B="188" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="186" G="176" B="186" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="212" G="165" B="180" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="173" G="203" B="176" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="171" G="172" B="214" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="197" G="166" B="189" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="165" G="170" B="234" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="161" G="176" B="230" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="145" G="203" B="224" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="168" G="165" B="0" A="255"/>
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="176" G="89" B="42" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="172" G="65" B="69" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="176" G="89" B="42" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="189" G="103" B="33" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="173" G="93" B="22" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="182" G="99" B="27" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="168" G="91" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="208" G="114" B="28" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="171" G="81" B="49" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="195" G="106" B="35" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="171" G="81" B="49" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="157" G="66" B="45" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="168" G="66" B="63" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="161" G="65" B="55" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="173" G="53" B="80" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="145" G="53" B="32" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="180" G="89" B="48" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="154" G="65" B="38" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="180" G="89" B="48" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="196" G="93" B="61" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="194" G="103" B="41" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="195" G="99" B="51" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="208" G="114" B="28" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="212" G="91" B="76" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="171" G="84" B="42" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="197" G="90" B="67" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="171" G="84" B="42" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="165" G="86" B="22" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="157" G="71" B="35" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="161" G="80" B="26" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="145" G="53" B="32" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="168" G="91" B="0" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="177" G="84" B="53" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="168" G="90" B="17" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="177" G="84" B="53" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="176" G="71" B="68" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="192" G="86" B="67" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="186" G="80" B="70" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="212" G="91" B="76" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="173" G="53" B="80" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="4" G="89" B="166" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="238" G="65" B="148" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="4" G="89" B="166" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="5" G="103" B="182" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="23" G="93" B="173" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="14" G="99" B="178" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="44" G="91" B="180" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="114" B="201" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="81" B="158" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="106" B="186" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="81" B="158" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="228" G="53" B="144" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="252" G="89" B="166" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="18" G="65" B="148" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="252" G="89" B="166" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="233" G="93" B="173" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="251" G="103" B="182" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="242" G="99" B="178" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="114" B="201" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="212" G="91" B="180" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="6" G="84" B="161" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="227" G="90" B="171" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="6" G="84" B="161" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="26" G="86" B="166" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="19" G="71" B="152" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="25" G="80" B="160" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="44" G="91" B="180" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="250" G="84" B="161" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="29" G="90" B="171" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="250" G="84" B="161" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="237" G="71" B="152" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="230" G="86" B="166" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="231" G="80" B="160" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="212" G="91" B="180" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="228" G="53" B="144" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="76" G="89" B="48" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="102" G="65" B="38" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="76" G="89" B="48" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="62" G="103" B="41" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="60" G="93" B="61" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="61" G="99" B="51" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="44" G="91" B="76" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="48" G="114" B="28" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="85" G="81" B="49" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="61" G="106" B="35" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="85" G="81" B="49" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="88" G="66" B="63" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="99" G="66" B="45" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="95" G="65" B="55" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="111" G="53" B="32" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="83" G="53" B="80" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="80" G="89" B="42" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="84" G="65" B="69" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="80" G="89" B="42" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="83" G="93" B="22" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="67" G="103" B="33" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="74" G="99" B="27" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="48" G="114" B="28" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="88" G="91" B="0" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="79" G="84" B="53" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="88" G="90" B="17" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="79" G="84" B="53" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="80" G="71" B="68" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="83" G="53" B="80" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="44" G="91" B="76" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="85" G="84" B="42" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="59" G="90" B="67" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="85" G="84" B="42" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="99" G="71" B="35" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="91" G="86" B="22" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="95" G="80" B="26" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="88" G="91" B="0" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="111" G="53" B="32" A="255"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<Vertex Version="0">
<Vtx X="-107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
</Vertex>

View file

@ -0,0 +1,14 @@
<DisplayList Version="0">
<ClearGeometryMode G_LIGHTING="1" />
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
<SetGeometryMode G_LIGHTING="1" />
<CullDisplayList Start="0" End="7"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMaskDL_f3dlite_shrubbery"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMaskDL_tri_0"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMaskDL_f3dlite_leaf"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMaskDL_tri_1"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMaskDL_f3dlite_flower_mask"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMaskDL_tri_2"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,8 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="14"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="0" V01="5" V02="6" Flag0="0" V10="7" V11="8" V12="9" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="11" Flag0="0" V10="7" V11="12" V12="13" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,16 @@
<Vertex Version="0">
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="129" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="127" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="110" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="110" G="0" B="64" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="77" G="174" B="197" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="77" G="174" B="197" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="35" G="211" B="143" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="90" G="179" B="211" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="73" G="161" B="213" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="87" G="167" B="230" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="77" G="160" B="224" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="93" G="177" B="221" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="78" G="163" B="220" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="78" G="163" B="220" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="45" G="142" B="31" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="72" G="167" B="201" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="90" G="178" B="213" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="84" G="186" B="191" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="90" G="184" B="203" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="76" G="176" B="194" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="89" G="181" B="205" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="89" G="181" B="205" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="110" G="255" B="193" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="85" G="169" B="221" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="73" G="169" B="199" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="67" G="156" B="216" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="66" G="161" B="204" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="77" G="160" B="224" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="70" G="163" B="206" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="70" G="163" B="206" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="252" G="142" B="201" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="82" G="178" B="199" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="93" G="177" B="221" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="90" G="184" B="203" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="90" G="174" B="219" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="90" G="174" B="219" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="116" G="211" B="26" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="74" G="162" B="214" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="84" G="179" B="200" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="65" G="167" B="192" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="76" G="176" B="194" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="66" G="161" B="204" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="13" G="174" B="96" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="13" G="174" B="96" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="81" G="211" B="87" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="250" G="179" B="101" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="1" G="161" B="85" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="235" G="167" B="88" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="245" G="160" B="82" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="239" G="177" B="98" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="206" G="142" B="24" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="11" G="167" B="90" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="248" G="178" B="100" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="14" G="187" B="105" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="1" G="184" B="104" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="16" G="176" B="97" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="255" B="127" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="244" G="169" B="91" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="12" G="169" B="92" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="1" G="156" B="78" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="12" G="161" B="84" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="245" G="160" B="82" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="8" G="163" B="86" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="8" G="163" B="86" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="50" G="142" B="24" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="8" G="178" B="100" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="245" G="167" B="90" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="243" G="186" B="105" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="239" G="177" B="98" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="1" G="184" B="104" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="243" G="174" B="96" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="243" G="174" B="96" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="175" G="211" B="87" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="255" G="162" B="85" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="6" G="179" B="101" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="23" G="167" B="88" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="16" G="176" B="97" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="12" G="161" B="84" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="166" G="174" B="219" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="166" G="174" B="219" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="140" G="211" B="26" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="172" G="179" B="200" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="190" G="160" B="205" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="180" G="177" B="193" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="186" G="163" B="206" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="186" G="163" B="206" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="4" G="142" B="201" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="172" G="167" B="221" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="174" G="178" B="199" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="158" G="187" B="216" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="165" G="184" B="205" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="164" G="176" B="221" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="167" G="181" B="205" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="167" G="181" B="205" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="146" G="255" B="193" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="183" G="169" B="200" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="170" G="169" B="221" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="188" G="156" B="218" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="177" G="161" B="225" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="190" G="160" B="205" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="178" G="163" B="220" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="178" G="163" B="220" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="211" G="142" B="31" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="166" G="178" B="214" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="184" G="167" B="201" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="171" G="186" B="192" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="180" G="177" B="193" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="165" G="184" B="205" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="179" G="174" B="197" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="221" G="211" B="143" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="166" G="179" B="211" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="168" G="167" B="232" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="164" G="176" B="221" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="177" G="161" B="225" A="255"/>
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="179" G="82" B="59" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="221" G="45" B="113" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="179" G="82" B="59" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="166" G="77" B="45" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="183" G="95" B="43" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="169" G="89" B="26" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="163" G="79" B="35" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="179" G="96" B="32" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="178" G="93" B="36" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="211" G="114" B="225" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="178" G="93" B="36" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="184" G="89" B="55" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="166" G="78" B="43" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="172" G="70" B="65" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="180" G="80" B="62" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="166" G="72" B="53" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="167" G="75" B="51" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="146" G="1" B="63" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="167" G="75" B="51" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="171" G="87" B="35" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="183" G="87" B="57" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="189" G="100" B="40" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="179" G="96" B="32" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="190" G="95" B="52" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="186" G="93" B="50" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="4" G="114" B="55" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="186" G="93" B="50" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="174" G="78" B="57" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="172" G="89" B="35" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="158" G="70" B="42" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="166" G="72" B="53" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="163" G="79" B="35" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="166" G="82" B="37" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="140" G="45" B="230" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="166" G="82" B="37" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="182" G="94" B="42" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="172" G="77" B="56" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="191" G="89" B="64" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="190" G="95" B="52" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="180" G="80" B="62" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="243" G="82" B="160" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="175" G="45" B="169" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="243" G="82" B="160" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="6" G="77" B="155" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="255" G="95" B="171" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="21" G="89" B="168" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="17" G="79" B="158" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="11" G="96" B="174" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="8" G="93" B="170" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="50" G="114" B="232" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="8" G="93" B="170" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="240" G="80" B="159" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="255" G="72" B="152" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="75" B="154" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="1" B="129" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="75" B="154" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="12" G="87" B="165" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="244" G="87" B="164" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="255" G="100" B="178" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="11" G="96" B="174" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="244" G="95" B="172" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="248" G="93" B="170" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="206" G="114" B="232" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="248" G="93" B="170" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="248" G="78" B="156" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="11" G="89" B="166" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="13" G="70" B="151" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="255" G="72" B="152" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="17" G="79" B="158" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="13" G="82" B="160" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="81" G="45" B="169" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="13" G="82" B="160" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="1" G="94" B="171" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="250" G="77" B="155" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="233" G="89" B="168" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="244" G="95" B="172" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="240" G="80" B="159" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="90" G="82" B="37" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="116" G="45" B="230" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="90" G="82" B="37" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="84" G="77" B="56" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="74" G="95" B="41" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="66" G="89" B="62" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="76" G="79" B="63" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="66" G="96" B="51" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="70" G="93" B="50" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="252" G="114" B="55" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="70" G="93" B="50" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="84" G="89" B="35" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="82" G="78" B="57" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="98" G="69" B="40" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="92" G="80" B="35" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="91" G="72" B="51" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="89" G="75" B="51" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="110" G="1" B="63" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="89" G="75" B="51" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="73" G="87" B="56" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="86" G="87" B="35" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="68" G="100" B="38" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="66" G="96" B="51" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="79" G="95" B="31" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="78" G="93" B="36" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="45" G="114" B="225" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="78" G="93" B="36" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="72" G="89" B="55" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="91" G="72" B="51" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="76" G="79" B="63" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="77" G="82" B="59" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="35" G="45" B="113" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="77" G="82" B="59" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="73" G="94" B="43" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="90" G="77" B="45" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="88" G="89" B="24" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="79" G="95" B="31" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="92" G="80" B="35" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="80" G="167" B="214" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="80" G="167" B="214" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="84" G="191" B="187" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="67" G="153" B="223" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="83" G="163" B="234" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="74" G="157" B="229" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="48" G="142" B="228" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="88" G="165" B="0" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="85" G="175" B="207" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="85" G="175" B="207" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="61" G="150" B="221" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="99" G="190" B="211" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="88" G="190" B="193" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="95" G="191" B="201" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="111" G="203" B="224" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="83" G="203" B="176" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="76" G="167" B="208" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="76" G="167" B="208" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="102" G="191" B="218" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="60" G="163" B="195" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="62" G="153" B="215" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="61" G="157" B="205" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="44" G="165" B="180" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="48" G="142" B="228" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="85" G="172" B="214" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="85" G="172" B="214" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="59" G="166" B="189" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="91" G="170" B="234" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="88" G="165" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="111" G="203" B="224" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="79" G="172" B="203" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="79" G="172" B="203" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="88" G="166" B="239" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="80" G="185" B="188" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="64" G="170" B="189" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="70" G="176" B="186" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="83" G="203" B="176" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="44" G="165" B="180" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="252" G="167" B="90" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="252" G="167" B="90" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="18" G="191" B="108" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="251" G="153" B="74" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="233" G="163" B="83" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="242" G="157" B="78" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="142" B="55" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="212" G="165" B="76" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="175" B="98" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="175" B="98" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="150" B="70" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="245" G="190" B="108" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="11" G="190" B="108" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="191" B="109" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="228" G="203" B="112" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="28" G="203" B="112" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="238" G="191" B="108" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="23" G="163" B="83" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="5" G="153" B="74" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="14" G="157" B="78" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="44" G="165" B="76" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="142" B="55" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="250" G="172" B="95" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="250" G="172" B="95" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="29" G="166" B="85" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="230" G="170" B="90" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="237" G="185" B="104" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="231" G="176" B="96" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="212" G="165" B="76" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="228" G="203" B="112" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="6" G="172" B="95" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="6" G="172" B="95" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="227" G="166" B="85" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="19" G="185" B="104" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="26" G="170" B="90" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="25" G="176" B="96" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="28" G="203" B="112" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="44" G="165" B="76" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="180" G="167" B="208" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="180" G="167" B="208" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="154" G="191" B="218" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="194" G="153" B="215" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="208" G="142" B="228" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="212" G="165" B="180" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="171" G="175" B="207" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="171" G="175" B="207" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="195" G="150" B="221" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="168" G="190" B="193" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="157" G="190" B="211" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="161" G="191" B="201" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="173" G="203" B="176" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="145" G="203" B="224" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="176" G="167" B="214" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="176" G="167" B="214" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="172" G="191" B="187" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="173" G="163" B="234" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="189" G="153" B="223" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="182" G="157" B="229" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="168" G="165" B="0" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="208" G="142" B="228" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="177" G="172" B="203" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="177" G="172" B="203" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="168" G="166" B="239" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="192" G="170" B="189" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="176" G="185" B="188" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="186" G="176" B="186" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="212" G="165" B="180" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="173" G="203" B="176" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="171" G="172" B="214" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="197" G="166" B="189" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="165" G="170" B="234" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="161" G="176" B="230" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="145" G="203" B="224" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="168" G="165" B="0" A="255"/>
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="176" G="89" B="42" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="172" G="65" B="69" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="176" G="89" B="42" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="189" G="103" B="33" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="173" G="93" B="22" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="182" G="99" B="27" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="168" G="91" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="208" G="114" B="28" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="171" G="81" B="49" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="195" G="106" B="35" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="171" G="81" B="49" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="157" G="66" B="45" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="168" G="66" B="63" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="161" G="65" B="55" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="173" G="53" B="80" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="145" G="53" B="32" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="180" G="89" B="48" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="154" G="65" B="38" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="180" G="89" B="48" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="196" G="93" B="61" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="194" G="103" B="41" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="195" G="99" B="51" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="208" G="114" B="28" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="212" G="91" B="76" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="171" G="84" B="42" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="197" G="90" B="67" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="171" G="84" B="42" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="165" G="86" B="22" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="157" G="71" B="35" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="161" G="80" B="26" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="145" G="53" B="32" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="168" G="91" B="0" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="177" G="84" B="53" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="168" G="90" B="17" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="177" G="84" B="53" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="176" G="71" B="68" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="192" G="86" B="67" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="186" G="80" B="70" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="212" G="91" B="76" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="173" G="53" B="80" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="4" G="89" B="166" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="238" G="65" B="148" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="4" G="89" B="166" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="5" G="103" B="182" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="23" G="93" B="173" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="14" G="99" B="178" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="44" G="91" B="180" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="114" B="201" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="81" B="158" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="106" B="186" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="81" B="158" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="228" G="53" B="144" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="252" G="89" B="166" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="18" G="65" B="148" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="252" G="89" B="166" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="233" G="93" B="173" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="251" G="103" B="182" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="242" G="99" B="178" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="114" B="201" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="212" G="91" B="180" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="6" G="84" B="161" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="227" G="90" B="171" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="6" G="84" B="161" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="26" G="86" B="166" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="19" G="71" B="152" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="25" G="80" B="160" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="44" G="91" B="180" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="250" G="84" B="161" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="29" G="90" B="171" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="250" G="84" B="161" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="237" G="71" B="152" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="230" G="86" B="166" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="231" G="80" B="160" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="212" G="91" B="180" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="228" G="53" B="144" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="76" G="89" B="48" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="102" G="65" B="38" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="76" G="89" B="48" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="62" G="103" B="41" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="60" G="93" B="61" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="61" G="99" B="51" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="44" G="91" B="76" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="48" G="114" B="28" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="85" G="81" B="49" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="61" G="106" B="35" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="85" G="81" B="49" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="88" G="66" B="63" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="99" G="66" B="45" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="95" G="65" B="55" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="111" G="53" B="32" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="83" G="53" B="80" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="80" G="89" B="42" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="84" G="65" B="69" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="80" G="89" B="42" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="83" G="93" B="22" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="67" G="103" B="33" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="74" G="99" B="27" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="48" G="114" B="28" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="88" G="91" B="0" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="79" G="84" B="53" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="88" G="90" B="17" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="79" G="84" B="53" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="80" G="71" B="68" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="83" G="53" B="80" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="44" G="91" B="76" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="85" G="84" B="42" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="59" G="90" B="67" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="85" G="84" B="42" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="99" G="71" B="35" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="91" G="86" B="22" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="95" G="80" B="26" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="88" G="91" B="0" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="111" G="53" B="32" A="255"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<Vertex Version="0">
<Vtx X="-107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
</Vertex>

View file

@ -0,0 +1,14 @@
<DisplayList Version="0">
<ClearGeometryMode G_LIGHTING="1" />
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
<SetGeometryMode G_LIGHTING="1" />
<CullDisplayList Start="0" End="7"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMinorDL_f3dlite_shrubbery"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMinorDL_tri_0"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMinorDL_f3dlite_leaf"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMinorDL_tri_1"/>
<CallDisplayList Path="objects/gameplay_field_keep/mat_gFieldBushMinorDL_f3dlite_flower_bronze"/>
<CallDisplayList Path="objects/gameplay_field_keep/gFieldBushMinorDL_tri_2"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,8 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="14"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="0" V01="5" V02="6" Flag0="0" V10="7" V11="8" V12="9" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="11" Flag0="0" V10="7" V11="12" V12="13" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,134 @@
<DisplayList Version="0">
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
<Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
<Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="17" V11="20" V12="16" Flag1="0"/>
<Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="26" V11="25" V12="24" Flag1="0"/>
<Triangles2 V00="24" V01="27" V02="26" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
<Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="26" V11="28" V12="25" Flag1="0"/>
<Triangle1 V00="29" V01="30" V02="31"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="0" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
<Triangles2 V00="4" V01="7" V02="3" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="9" V02="8" Flag0="0" V10="11" V11="12" V12="9" Flag1="0"/>
<Triangles2 V00="13" V01="12" V02="11" Flag0="0" V10="11" V11="14" V12="13" Flag1="0"/>
<Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
<Triangles2 V00="13" V01="15" V02="12" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="17" V02="16" Flag0="0" V10="19" V11="20" V12="17" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="19" Flag0="0" V10="19" V11="22" V12="21" Flag1="0"/>
<Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
<Triangles2 V00="21" V01="23" V02="20" Flag0="0" V10="24" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="25" V02="24" Flag0="0" V10="27" V11="28" V12="25" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="27" Flag0="0" V10="27" V11="30" V12="29" Flag1="0"/>
<Triangle1 V00="31" V01="29" V02="30"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
<Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="13" V12="12" Flag1="0"/>
<Triangles2 V00="15" V01="16" V02="13" Flag0="0" V10="17" V11="16" V12="15" Flag1="0"/>
<Triangles2 V00="15" V01="18" V02="17" Flag0="0" V10="0" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="0" V01="19" V02="17" Flag0="0" V10="17" V11="19" V12="16" Flag1="0"/>
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="23" V11="21" V12="20" Flag1="0"/>
<Triangles2 V00="23" V01="24" V02="21" Flag0="0" V10="25" V11="24" V12="23" Flag1="0"/>
<Triangles2 V00="23" V01="26" V02="25" Flag0="0" V10="0" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="0" V01="27" V02="25" Flag0="0" V10="25" V11="27" V12="24" Flag1="0"/>
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="31" V11="29" V12="28" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="128" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
<Triangles2 V00="0" V01="4" V02="3" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="6" V02="3" Flag0="0" V10="3" V11="6" V12="1" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="9" Flag0="0" V10="10" V11="7" V12="9" Flag1="0"/>
<Triangles2 V00="10" V01="9" V02="11" Flag0="0" V10="12" V11="10" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="12" Flag0="0" V10="10" V11="12" V12="15" Flag1="0"/>
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="19" V11="16" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="21" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="21" V01="20" V02="22" Flag0="0" V10="14" V11="21" V12="22" Flag1="0"/>
<Triangles2 V00="14" V01="23" V02="21" Flag0="0" V10="19" V11="21" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="24" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="29" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="14" V11="29" V12="30" Flag1="0"/>
<Triangles2 V00="14" V01="31" V02="29" Flag0="0" V10="27" V11="29" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="160" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="24" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="24" V01="25" V02="22" Flag0="0" V10="20" V11="22" V12="25" Flag1="0"/>
<Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="29" V11="26" V12="28" Flag1="0"/>
<Triangles2 V00="29" V01="28" V02="30" Flag0="0" V10="31" V11="29" V12="30" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="192" Count="30"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="4" V02="0" Flag0="0" V10="5" V11="0" V12="4" Flag1="0"/>
<Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="6" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="11" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="11" V01="10" V02="12" Flag0="0" V10="3" V11="11" V12="12" Flag1="0"/>
<Triangles2 V00="3" V01="13" V02="11" Flag0="0" V10="9" V11="11" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="15" V02="16" Flag0="0" V10="17" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
<Triangles2 V00="19" V01="18" V02="20" Flag0="0" V10="3" V11="19" V12="20" Flag1="0"/>
<Triangles2 V00="3" V01="21" V02="19" Flag0="0" V10="17" V11="19" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="25" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="24" V02="26" Flag0="0" V10="27" V11="25" V12="26" Flag1="0"/>
<Triangles2 V00="27" V01="26" V02="28" Flag0="0" V10="3" V11="27" V12="28" Flag1="0"/>
<Triangles2 V00="3" V01="29" V02="27" Flag0="0" V10="25" V11="27" V12="29" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="222" Count="32"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="0" V12="2" Flag1="0"/>
<Triangles2 V00="3" V01="2" V02="4" Flag0="0" V10="5" V11="3" V12="4" Flag1="0"/>
<Triangles2 V00="5" V01="4" V02="6" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="3" V11="5" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="9" V12="11" Flag1="0"/>
<Triangles2 V00="12" V01="11" V02="13" Flag0="0" V10="14" V11="12" V12="13" Flag1="0"/>
<Triangles2 V00="14" V01="13" V02="15" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
<Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="12" V11="14" V12="16" Flag1="0"/>
<Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="17" V12="19" Flag1="0"/>
<Triangles2 V00="20" V01="19" V02="21" Flag0="0" V10="22" V11="20" V12="21" Flag1="0"/>
<Triangles2 V00="22" V01="21" V02="23" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
<Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="20" V11="22" V12="24" Flag1="0"/>
<Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="25" V12="27" Flag1="0"/>
<Triangles2 V00="28" V01="27" V02="29" Flag0="0" V10="30" V11="28" V12="29" Flag1="0"/>
<Triangles2 V00="30" V01="29" V02="31" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
<LoadVertices Path="objects/gameplay_field_keep/gFieldBushMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="254" Count="12"/>
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="2" V12="1" Flag1="0"/>
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="4" V12="6" Flag1="0"/>
<Triangles2 V00="7" V01="6" V02="8" Flag0="0" V10="9" V11="7" V12="8" Flag1="0"/>
<Triangles2 V00="9" V01="8" V02="10" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
<Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="7" V11="9" V12="11" Flag1="0"/>
<EndDisplayList/>
</DisplayList>

View file

@ -0,0 +1,16 @@
<Vertex Version="0">
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="129" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="110" G="0" B="192" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="127" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="146" G="0" B="192" A="255"/>
<Vtx X="0" Y="98" Z="0" S="558" T="-664" R="0" G="0" B="127" A="255"/>
<Vtx X="-54" Y="0" Z="-93" S="1398" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="93" S="-281" T="1008" R="146" G="0" B="64" A="255"/>
<Vtx X="107" Y="0" Z="0" S="1398" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-107" Y="0" Z="0" S="-281" T="1008" R="0" G="0" B="129" A="255"/>
<Vtx X="-54" Y="0" Z="93" S="1398" T="1008" R="110" G="0" B="64" A="255"/>
<Vtx X="54" Y="0" Z="-93" S="-281" T="1008" R="110" G="0" B="64" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="77" G="174" B="197" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="77" G="174" B="197" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="35" G="211" B="143" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="90" G="179" B="211" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="73" G="161" B="213" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="87" G="167" B="230" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="77" G="160" B="224" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="93" G="177" B="221" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="78" G="163" B="220" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="78" G="163" B="220" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="45" G="142" B="31" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="72" G="167" B="201" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="90" G="178" B="213" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="84" G="186" B="191" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="90" G="184" B="203" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="76" G="176" B="194" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="89" G="181" B="205" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="89" G="181" B="205" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="110" G="255" B="193" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="85" G="169" B="221" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="73" G="169" B="199" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="67" G="156" B="216" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="66" G="161" B="204" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="77" G="160" B="224" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="70" G="163" B="206" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="70" G="163" B="206" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="252" G="142" B="201" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="82" G="178" B="199" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="93" G="177" B="221" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="81" G="171" B="209" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="90" G="184" B="203" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="98" G="186" B="214" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="84" G="167" B="221" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="90" G="174" B="219" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="90" G="174" B="219" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="116" G="211" B="26" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="74" G="162" B="214" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="84" G="179" B="200" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="65" G="167" B="192" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="76" G="176" B="194" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="66" G="161" B="204" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="13" G="174" B="96" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="13" G="174" B="96" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="81" G="211" B="87" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="250" G="179" B="101" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="1" G="161" B="85" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="235" G="167" B="88" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="245" G="160" B="82" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="239" G="177" B="98" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="248" G="163" B="86" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="206" G="142" B="24" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="11" G="167" B="90" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="248" G="178" B="100" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="14" G="187" B="105" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="1" G="184" B="104" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="16" G="176" B="97" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="255" B="127" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="244" G="169" B="91" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="181" B="102" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="181" B="102" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="12" G="169" B="92" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="1" G="156" B="78" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="12" G="161" B="84" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="245" G="160" B="82" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="8" G="163" B="86" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="8" G="163" B="86" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="50" G="142" B="24" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="8" G="178" B="100" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="245" G="167" B="90" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="243" G="186" B="105" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="239" G="177" B="98" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="1" G="184" B="104" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="243" G="174" B="96" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="243" G="174" B="96" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="175" G="211" B="87" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="255" G="162" B="85" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="6" G="179" B="101" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="23" G="167" B="88" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="16" G="176" B="97" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="12" G="161" B="84" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="166" G="174" B="219" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="166" G="174" B="219" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="140" G="211" B="26" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="172" G="179" B="200" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="190" G="160" B="205" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="180" G="177" B="193" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="190" G="167" B="194" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="182" G="161" B="215" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="186" G="163" B="206" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="186" G="163" B="206" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="4" G="142" B="201" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="172" G="167" B="221" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="174" G="178" B="199" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="158" G="187" B="216" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="165" G="184" B="205" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="164" G="176" B="221" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="167" G="181" B="205" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="167" G="181" B="205" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="146" G="255" B="193" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="183" G="169" B="200" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="170" G="169" B="221" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="188" G="156" B="218" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="177" G="161" B="225" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="190" G="160" B="205" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="178" G="163" B="220" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="178" G="163" B="220" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="211" G="142" B="31" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="166" G="178" B="214" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="184" G="167" B="201" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="171" G="186" B="192" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="180" G="177" B="193" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="165" G="184" B="205" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="179" G="174" B="197" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="221" G="211" B="143" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="183" G="162" B="213" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="166" G="179" B="211" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="179" G="174" B="197" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="168" G="167" B="232" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="164" G="176" B="221" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="177" G="161" B="225" A="255"/>
<Vtx X="-25" Y="44" Z="36" S="304" T="432" R="179" G="82" B="59" A="255"/>
<Vtx X="-20" Y="43" Z="38" S="496" T="496" R="221" G="45" B="113" A="255"/>
<Vtx X="-22" Y="48" Z="36" S="432" T="304" R="179" G="82" B="59" A="255"/>
<Vtx X="-28" Y="43" Z="29" S="112" T="304" R="166" G="77" B="45" A="255"/>
<Vtx X="-21" Y="50" Z="29" S="304" T="112" R="183" G="95" B="43" A="255"/>
<Vtx X="-27" Y="49" Z="25" S="112" T="112" R="169" G="89" B="26" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="176" T="-16" R="163" G="79" B="35" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="-16" T="176" R="179" G="96" B="32" A="255"/>
<Vtx X="-24" Y="63" Z="4" S="304" T="432" R="178" G="93" B="36" A="255"/>
<Vtx X="-23" Y="62" Z="-1" S="496" T="496" R="211" G="114" B="225" A="255"/>
<Vtx X="-28" Y="61" Z="2" S="432" T="304" R="178" G="93" B="36" A="255"/>
<Vtx X="-22" Y="59" Z="10" S="112" T="304" R="184" G="89" B="55" A="255"/>
<Vtx X="-30" Y="55" Z="5" S="304" T="112" R="166" G="78" B="43" A="255"/>
<Vtx X="-28" Y="55" Z="13" S="112" T="112" R="172" G="70" B="65" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="176" T="-16" R="180" G="80" B="62" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="-16" T="176" R="166" G="72" B="53" A="255"/>
<Vtx X="-42" Y="37" Z="22" S="304" T="432" R="167" G="75" B="51" A="255"/>
<Vtx X="-40" Y="32" Z="25" S="496" T="496" R="146" G="1" B="63" A="255"/>
<Vtx X="-39" Y="37" Z="27" S="432" T="304" R="167" G="75" B="51" A="255"/>
<Vtx X="-38" Y="40" Z="17" S="112" T="304" R="171" G="87" B="35" A="255"/>
<Vtx X="-33" Y="40" Z="26" S="304" T="112" R="183" G="87" B="57" A="255"/>
<Vtx X="-33" Y="46" Z="21" S="112" T="112" R="189" G="100" B="40" A="255"/>
<Vtx X="-29" Y="46" Z="22" S="176" T="-16" R="179" G="96" B="32" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="-16" T="176" R="190" G="95" B="52" A="255"/>
<Vtx X="-14" Y="61" Z="25" S="304" T="432" R="186" G="93" B="50" A="255"/>
<Vtx X="-9" Y="62" Z="22" S="496" T="496" R="4" G="114" B="55" A="255"/>
<Vtx X="-15" Y="63" Z="20" S="432" T="304" R="186" G="93" B="50" A="255"/>
<Vtx X="-18" Y="55" Z="25" S="112" T="304" R="174" G="78" B="57" A="255"/>
<Vtx X="-19" Y="59" Z="16" S="304" T="112" R="172" G="89" B="35" A="255"/>
<Vtx X="-24" Y="55" Z="20" S="112" T="112" R="158" G="70" B="42" A="255"/>
<Vtx X="-24" Y="54" Z="15" S="176" T="-16" R="166" G="72" B="53" A="255"/>
<Vtx X="-26" Y="48" Z="16" S="-16" T="-16" R="175" G="85" B="47" A="255"/>
<Vtx X="-24" Y="51" Z="22" S="-16" T="176" R="163" G="79" B="35" A="255"/>
<Vtx X="-41" Y="48" Z="3" S="304" T="432" R="166" G="82" B="37" A="255"/>
<Vtx X="-42" Y="43" Z="0" S="496" T="496" R="140" G="45" B="230" A="255"/>
<Vtx X="-43" Y="44" Z="6" S="432" T="304" R="166" G="82" B="37" A="255"/>
<Vtx X="-34" Y="50" Z="6" S="112" T="304" R="182" G="94" B="42" A="255"/>
<Vtx X="-38" Y="43" Z="11" S="304" T="112" R="172" G="77" B="56" A="255"/>
<Vtx X="-34" Y="49" Z="14" S="112" T="112" R="191" G="89" B="64" A="255"/>
<Vtx X="-33" Y="46" Z="16" S="176" T="-16" R="190" G="95" B="52" A="255"/>
<Vtx X="-30" Y="51" Z="12" S="-16" T="176" R="180" G="80" B="62" A="255"/>
<Vtx X="-18" Y="44" Z="-40" S="304" T="432" R="243" G="82" B="160" A="255"/>
<Vtx X="-23" Y="43" Z="-37" S="496" T="496" R="175" G="45" B="169" A="255"/>
<Vtx X="-20" Y="48" Z="-37" S="432" T="304" R="243" G="82" B="160" A="255"/>
<Vtx X="-11" Y="43" Z="-39" S="112" T="304" R="6" G="77" B="155" A="255"/>
<Vtx X="-14" Y="50" Z="-33" S="304" T="112" R="255" G="95" B="171" A="255"/>
<Vtx X="-8" Y="49" Z="-36" S="112" T="112" R="21" G="89" B="168" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="176" T="-16" R="17" G="79" B="158" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="-16" T="176" R="11" G="96" B="174" A="255"/>
<Vtx X="8" Y="63" Z="-23" S="304" T="432" R="8" G="93" B="170" A="255"/>
<Vtx X="12" Y="62" Z="-19" S="496" T="496" R="50" G="114" B="232" A="255"/>
<Vtx X="12" Y="61" Z="-25" S="432" T="304" R="8" G="93" B="170" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="3" Y="55" Z="-31" S="112" T="112" R="242" G="69" B="151" A="255"/>
<Vtx X="10" Y="55" Z="-28" S="304" T="112" R="8" G="78" B="156" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="176" T="-16" R="240" G="80" B="159" A="255"/>
<Vtx X="-1" Y="48" Z="-31" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="-16" T="176" R="255" G="72" B="152" A="255"/>
<Vtx X="2" Y="59" Z="-24" S="112" T="304" R="245" G="89" B="166" A="255"/>
<Vtx X="2" Y="37" Z="-47" S="304" T="432" R="0" G="75" B="154" A="255"/>
<Vtx X="-1" Y="32" Z="-47" S="496" T="496" R="0" G="1" B="129" A="255"/>
<Vtx X="-4" Y="37" Z="-47" S="432" T="304" R="0" G="75" B="154" A="255"/>
<Vtx X="4" Y="40" Z="-42" S="112" T="304" R="12" G="87" B="165" A="255"/>
<Vtx X="-6" Y="40" Z="-42" S="304" T="112" R="244" G="87" B="164" A="255"/>
<Vtx X="-1" Y="46" Z="-39" S="112" T="112" R="255" G="100" B="178" A="255"/>
<Vtx X="-5" Y="46" Z="-37" S="176" T="-16" R="11" G="96" B="174" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="-16" T="176" R="244" G="95" B="172" A="255"/>
<Vtx X="-15" Y="61" Z="-25" S="304" T="432" R="248" G="93" B="170" A="255"/>
<Vtx X="-15" Y="62" Z="-19" S="496" T="496" R="206" G="114" B="232" A="255"/>
<Vtx X="-10" Y="63" Z="-23" S="432" T="304" R="248" G="93" B="170" A="255"/>
<Vtx X="-12" Y="55" Z="-28" S="112" T="304" R="248" G="78" B="156" A="255"/>
<Vtx X="-4" Y="59" Z="-24" S="304" T="112" R="11" G="89" B="166" A="255"/>
<Vtx X="-5" Y="55" Z="-31" S="112" T="112" R="13" G="70" B="151" A="255"/>
<Vtx X="-1" Y="54" Z="-29" S="176" T="-16" R="255" G="72" B="152" A="255"/>
<Vtx X="-7" Y="51" Z="-32" S="-16" T="176" R="17" G="79" B="158" A="255"/>
<Vtx X="18" Y="48" Z="-37" S="304" T="432" R="13" G="82" B="160" A="255"/>
<Vtx X="21" Y="43" Z="-37" S="496" T="496" R="81" G="45" B="169" A="255"/>
<Vtx X="16" Y="44" Z="-40" S="432" T="304" R="13" G="82" B="160" A="255"/>
<Vtx X="12" Y="50" Z="-33" S="112" T="304" R="1" G="94" B="171" A="255"/>
<Vtx X="9" Y="43" Z="-39" S="304" T="112" R="250" G="77" B="155" A="255"/>
<Vtx X="5" Y="49" Z="-36" S="112" T="112" R="233" G="89" B="168" A="255"/>
<Vtx X="3" Y="46" Z="-37" S="176" T="-16" R="244" G="95" B="172" A="255"/>
<Vtx X="5" Y="51" Z="-32" S="-16" T="176" R="240" G="80" B="159" A="255"/>
<Vtx X="44" Y="44" Z="4" S="304" T="432" R="90" G="82" B="37" A="255"/>
<Vtx X="43" Y="43" Z="-2" S="496" T="496" R="116" G="45" B="230" A="255"/>
<Vtx X="42" Y="48" Z="1" S="432" T="304" R="90" G="82" B="37" A="255"/>
<Vtx X="39" Y="43" Z="10" S="112" T="304" R="84" G="77" B="56" A="255"/>
<Vtx X="35" Y="50" Z="4" S="304" T="112" R="74" G="95" B="41" A="255"/>
<Vtx X="35" Y="49" Z="11" S="112" T="112" R="66" G="89" B="62" A="255"/>
<Vtx X="31" Y="51" Z="10" S="176" T="-16" R="76" G="79" B="63" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="34" Y="46" Z="14" S="-16" T="176" R="66" G="96" B="51" A="255"/>
<Vtx X="16" Y="63" Z="18" S="304" T="432" R="70" G="93" B="50" A="255"/>
<Vtx X="11" Y="62" Z="20" S="496" T="496" R="252" G="114" B="55" A="255"/>
<Vtx X="15" Y="61" Z="23" S="432" T="304" R="70" G="93" B="50" A="255"/>
<Vtx X="20" Y="59" Z="14" S="112" T="304" R="84" G="89" B="35" A="255"/>
<Vtx X="19" Y="55" Z="23" S="304" T="112" R="82" G="78" B="57" A="255"/>
<Vtx X="25" Y="55" Z="18" S="112" T="112" R="98" G="69" B="40" A="255"/>
<Vtx X="25" Y="51" Z="20" S="176" T="-16" R="92" G="80" B="35" A="255"/>
<Vtx X="26" Y="54" Z="14" S="-16" T="176" R="91" G="72" B="51" A="255"/>
<Vtx X="40" Y="37" Z="25" S="304" T="432" R="89" G="75" B="51" A="255"/>
<Vtx X="41" Y="32" Z="23" S="496" T="496" R="110" G="1" B="63" A="255"/>
<Vtx X="43" Y="37" Z="20" S="432" T="304" R="89" G="75" B="51" A="255"/>
<Vtx X="34" Y="40" Z="24" S="112" T="304" R="73" G="87" B="56" A="255"/>
<Vtx X="39" Y="40" Z="15" S="304" T="112" R="86" G="87" B="35" A="255"/>
<Vtx X="34" Y="46" Z="19" S="112" T="112" R="68" G="100" B="38" A="255"/>
<Vtx X="34" Y="46" Z="14" S="176" T="-16" R="66" G="96" B="51" A="255"/>
<Vtx X="30" Y="46" Z="20" S="-16" T="176" R="79" G="95" B="31" A="255"/>
<Vtx X="29" Y="61" Z="0" S="304" T="432" R="78" G="93" B="36" A="255"/>
<Vtx X="24" Y="62" Z="-3" S="496" T="496" R="45" G="114" B="225" A="255"/>
<Vtx X="25" Y="63" Z="3" S="432" T="304" R="78" G="93" B="36" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="59" Z="8" S="304" T="112" R="72" G="89" B="55" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="26" Y="54" Z="14" S="176" T="-16" R="91" G="72" B="51" A="255"/>
<Vtx X="27" Y="48" Z="14" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="31" Y="51" Z="10" S="-16" T="176" R="76" G="79" B="63" A="255"/>
<Vtx X="29" Y="55" Z="11" S="112" T="112" R="85" G="70" B="64" A="255"/>
<Vtx X="31" Y="55" Z="3" S="112" T="304" R="90" G="78" B="42" A="255"/>
<Vtx X="23" Y="48" Z="34" S="304" T="432" R="77" G="82" B="59" A="255"/>
<Vtx X="21" Y="43" Z="36" S="496" T="496" R="35" G="45" B="113" A="255"/>
<Vtx X="27" Y="44" Z="34" S="432" T="304" R="77" G="82" B="59" A="255"/>
<Vtx X="22" Y="50" Z="27" S="112" T="304" R="73" G="94" B="43" A="255"/>
<Vtx X="29" Y="43" Z="27" S="304" T="112" R="90" G="77" B="45" A="255"/>
<Vtx X="29" Y="49" Z="22" S="112" T="112" R="88" G="89" B="24" A="255"/>
<Vtx X="30" Y="46" Z="20" S="176" T="-16" R="79" G="95" B="31" A="255"/>
<Vtx X="25" Y="51" Z="20" S="-16" T="176" R="92" G="80" B="35" A="255"/>
</Vertex>

View file

@ -0,0 +1,268 @@
<Vertex Version="0">
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="80" G="167" B="214" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="80" G="167" B="214" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="84" G="191" B="187" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="67" G="153" B="223" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="83" G="163" B="234" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="74" G="157" B="229" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="48" G="142" B="228" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="88" G="165" B="0" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="85" G="175" B="207" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="85" G="175" B="207" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="61" G="150" B="221" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="99" G="190" B="211" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="88" G="190" B="193" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="95" G="191" B="201" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="111" G="203" B="224" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="83" G="203" B="176" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="76" G="167" B="208" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="76" G="167" B="208" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="102" G="191" B="218" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="60" G="163" B="195" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="62" G="153" B="215" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="61" G="157" B="205" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="44" G="165" B="180" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="48" G="142" B="228" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="85" G="172" B="214" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="85" G="172" B="214" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="59" G="166" B="189" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="91" G="170" B="234" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="88" G="165" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="82" G="171" B="209" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="111" G="203" B="224" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="95" G="176" B="230" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="99" G="185" B="221" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="79" G="172" B="203" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="79" G="172" B="203" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="88" G="166" B="239" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="80" G="185" B="188" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="64" G="170" B="189" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="70" G="176" B="186" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="83" G="203" B="176" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="44" G="165" B="180" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="252" G="167" B="90" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="252" G="167" B="90" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="18" G="191" B="108" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="251" G="153" B="74" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="233" G="163" B="83" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="242" G="157" B="78" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="142" B="55" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="212" G="165" B="76" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="175" B="98" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="175" B="98" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="150" B="70" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="245" G="190" B="108" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="11" G="190" B="108" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="191" B="109" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="228" G="203" B="112" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="28" G="203" B="112" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="238" G="191" B="108" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="23" G="163" B="83" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="4" G="167" B="90" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="4" G="167" B="90" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="5" G="153" B="74" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="14" G="157" B="78" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="44" G="165" B="76" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="171" B="94" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="142" B="55" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="250" G="172" B="95" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="250" G="172" B="95" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="29" G="166" B="85" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="230" G="170" B="90" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="237" G="185" B="104" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="231" G="176" B="96" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="212" G="165" B="76" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="228" G="203" B="112" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="6" G="172" B="95" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="6" G="172" B="95" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="227" G="166" B="85" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="19" G="185" B="104" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="26" G="170" B="90" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="25" G="176" B="96" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="28" G="203" B="112" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="44" G="165" B="76" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="180" G="167" B="208" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="180" G="167" B="208" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="154" G="191" B="218" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="194" G="153" B="215" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="208" G="142" B="228" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="212" G="165" B="180" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="195" G="157" B="205" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="196" G="163" B="195" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="171" G="175" B="207" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="171" G="175" B="207" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="195" G="150" B="221" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="168" G="190" B="193" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="157" G="190" B="211" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="161" G="191" B="201" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="173" G="203" B="176" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="145" G="203" B="224" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="176" G="167" B="214" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="176" G="167" B="214" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="172" G="191" B="187" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="173" G="163" B="234" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="189" G="153" B="223" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="182" G="157" B="229" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="168" G="165" B="0" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="208" G="142" B="228" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="177" G="172" B="203" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="177" G="172" B="203" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="168" G="166" B="239" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="192" G="170" B="189" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="176" G="185" B="188" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="186" G="176" B="186" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="212" G="165" B="180" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="173" G="203" B="176" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="171" G="172" B="214" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="197" G="166" B="189" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="157" G="185" B="221" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="165" G="170" B="234" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="171" G="172" B="214" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="161" G="176" B="230" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="145" G="203" B="224" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="174" G="171" B="209" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="168" G="165" B="0" A="255"/>
<Vtx X="-38" Y="39" Z="35" S="304" T="432" R="176" G="89" B="42" A="255"/>
<Vtx X="-36" Y="33" Z="43" S="496" T="496" R="172" G="65" B="69" A="255"/>
<Vtx X="-33" Y="42" Z="38" S="432" T="304" R="176" G="89" B="42" A="255"/>
<Vtx X="-37" Y="42" Z="25" S="112" T="304" R="189" G="103" B="33" A="255"/>
<Vtx X="-28" Y="47" Z="32" S="304" T="112" R="173" G="93" B="22" A="255"/>
<Vtx X="-30" Y="46" Z="23" S="112" T="112" R="182" G="99" B="27" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="176" T="-16" R="168" G="91" B="0" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="-16" T="176" R="208" G="114" B="28" A="255"/>
<Vtx X="-17" Y="69" Z="15" S="304" T="432" R="171" G="81" B="49" A="255"/>
<Vtx X="-12" Y="75" Z="8" S="496" T="496" R="195" G="106" B="35" A="255"/>
<Vtx X="-20" Y="69" Z="9" S="432" T="304" R="171" G="81" B="49" A="255"/>
<Vtx X="-20" Y="61" Z="20" S="112" T="304" R="157" G="66" B="45" A="255"/>
<Vtx X="-26" Y="61" Z="9" S="304" T="112" R="168" G="66" B="63" A="255"/>
<Vtx X="-25" Y="55" Z="16" S="112" T="112" R="161" G="65" B="55" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="176" T="-16" R="173" G="53" B="80" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="-16" T="176" R="145" G="53" B="32" A="255"/>
<Vtx X="-48" Y="42" Z="12" S="304" T="432" R="180" G="89" B="48" A="255"/>
<Vtx X="-54" Y="33" Z="11" S="496" T="496" R="154" G="65" B="38" A="255"/>
<Vtx X="-48" Y="39" Z="17" S="432" T="304" R="180" G="89" B="48" A="255"/>
<Vtx X="-40" Y="47" Z="10" S="112" T="304" R="196" G="93" B="61" A="255"/>
<Vtx X="-39" Y="42" Z="21" S="304" T="112" R="194" G="103" B="41" A="255"/>
<Vtx X="-34" Y="46" Z="16" S="112" T="112" R="195" G="99" B="51" A="255"/>
<Vtx X="-34" Y="47" Z="21" S="176" T="-16" R="208" G="114" B="28" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="-16" T="176" R="212" G="91" B="76" A="255"/>
<Vtx X="-19" Y="56" Z="37" S="304" T="432" R="171" G="84" B="42" A="255"/>
<Vtx X="-10" Y="59" Z="41" S="496" T="496" R="197" G="90" B="67" A="255"/>
<Vtx X="-16" Y="60" Z="33" S="432" T="304" R="171" G="84" B="42" A="255"/>
<Vtx X="-24" Y="50" Z="31" S="112" T="304" R="165" G="86" B="22" A="255"/>
<Vtx X="-19" Y="59" Z="24" S="304" T="112" R="157" G="71" B="35" A="255"/>
<Vtx X="-25" Y="52" Z="23" S="112" T="112" R="161" G="80" B="26" A="255"/>
<Vtx X="-25" Y="55" Z="20" S="176" T="-16" R="145" G="53" B="32" A="255"/>
<Vtx X="-27" Y="48" Z="17" S="-16" T="-16" R="174" G="85" B="47" A="255"/>
<Vtx X="-28" Y="50" Z="24" S="-16" T="176" R="168" G="91" B="0" A="255"/>
<Vtx X="-36" Y="60" Z="-1" S="304" T="432" R="177" G="84" B="53" A="255"/>
<Vtx X="-39" Y="59" Z="-10" S="496" T="496" R="168" G="90" B="17" A="255"/>
<Vtx X="-40" Y="56" Z="-1" S="432" T="304" R="177" G="84" B="53" A="255"/>
<Vtx X="-29" Y="59" Z="7" S="112" T="304" R="176" G="71" B="68" A="255"/>
<Vtx X="-38" Y="50" Z="7" S="304" T="112" R="192" G="86" B="67" A="255"/>
<Vtx X="-31" Y="52" Z="12" S="112" T="112" R="186" G="80" B="70" A="255"/>
<Vtx X="-34" Y="50" Z="14" S="176" T="-16" R="212" G="91" B="76" A="255"/>
<Vtx X="-29" Y="55" Z="14" S="-16" T="176" R="173" G="53" B="80" A="255"/>
<Vtx X="-11" Y="39" Z="-50" S="304" T="432" R="4" G="89" B="166" A="255"/>
<Vtx X="-19" Y="33" Z="-52" S="496" T="496" R="238" G="65" B="148" A="255"/>
<Vtx X="-16" Y="42" Z="-48" S="432" T="304" R="4" G="89" B="166" A="255"/>
<Vtx X="-3" Y="42" Z="-45" S="112" T="304" R="5" G="103" B="182" A="255"/>
<Vtx X="-13" Y="47" Z="-40" S="304" T="112" R="23" G="93" B="173" A="255"/>
<Vtx X="-5" Y="46" Z="-38" S="112" T="112" R="14" G="99" B="178" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="176" T="-16" R="44" G="91" B="180" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="-16" T="176" R="0" G="114" B="201" A="255"/>
<Vtx X="-4" Y="69" Z="-22" S="304" T="432" R="0" G="81" B="158" A="255"/>
<Vtx X="-1" Y="75" Z="-14" S="496" T="496" R="0" G="106" B="186" A="255"/>
<Vtx X="2" Y="69" Z="-22" S="432" T="304" R="0" G="81" B="158" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="-1" Y="55" Z="-30" S="112" T="112" R="0" G="65" B="147" A="255"/>
<Vtx X="5" Y="61" Z="-27" S="304" T="112" R="245" G="66" B="148" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="176" T="-16" R="228" G="53" B="144" A="255"/>
<Vtx X="-1" Y="48" Z="-32" S="-16" T="-16" R="0" G="85" B="162" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="-16" T="176" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="61" Z="-27" S="112" T="304" R="11" G="66" B="148" A="255"/>
<Vtx X="14" Y="42" Z="-48" S="304" T="432" R="252" G="89" B="166" A="255"/>
<Vtx X="17" Y="33" Z="-52" S="496" T="496" R="18" G="65" B="148" A="255"/>
<Vtx X="9" Y="39" Z="-50" S="432" T="304" R="252" G="89" B="166" A="255"/>
<Vtx X="11" Y="47" Z="-40" S="112" T="304" R="233" G="93" B="173" A="255"/>
<Vtx X="1" Y="42" Z="-45" S="304" T="112" R="251" G="103" B="182" A="255"/>
<Vtx X="3" Y="46" Z="-38" S="112" T="112" R="242" G="99" B="178" A="255"/>
<Vtx X="-1" Y="47" Z="-40" S="176" T="-16" R="0" G="114" B="201" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="-16" T="176" R="212" G="91" B="180" A="255"/>
<Vtx X="-23" Y="56" Z="-35" S="304" T="432" R="6" G="84" B="161" A="255"/>
<Vtx X="-31" Y="59" Z="-29" S="496" T="496" R="227" G="90" B="171" A="255"/>
<Vtx X="-21" Y="60" Z="-31" S="432" T="304" R="6" G="84" B="161" A="255"/>
<Vtx X="-15" Y="50" Z="-37" S="112" T="304" R="26" G="86" B="166" A="255"/>
<Vtx X="-11" Y="59" Z="-29" S="304" T="112" R="19" G="71" B="152" A="255"/>
<Vtx X="-7" Y="52" Z="-33" S="112" T="112" R="25" G="80" B="160" A="255"/>
<Vtx X="-5" Y="55" Z="-32" S="176" T="-16" R="28" G="53" B="144" A="255"/>
<Vtx X="-7" Y="50" Z="-37" S="-16" T="176" R="44" G="91" B="180" A="255"/>
<Vtx X="19" Y="60" Z="-31" S="304" T="432" R="250" G="84" B="161" A="255"/>
<Vtx X="28" Y="59" Z="-29" S="496" T="496" R="29" G="90" B="171" A="255"/>
<Vtx X="21" Y="56" Z="-35" S="432" T="304" R="250" G="84" B="161" A="255"/>
<Vtx X="9" Y="59" Z="-29" S="112" T="304" R="237" G="71" B="152" A="255"/>
<Vtx X="13" Y="50" Z="-37" S="304" T="112" R="230" G="86" B="166" A="255"/>
<Vtx X="5" Y="52" Z="-33" S="112" T="112" R="231" G="80" B="160" A="255"/>
<Vtx X="5" Y="50" Z="-37" S="176" T="-16" R="212" G="91" B="180" A="255"/>
<Vtx X="3" Y="55" Z="-32" S="-16" T="176" R="228" G="53" B="144" A="255"/>
<Vtx X="49" Y="39" Z="15" S="304" T="432" R="76" G="89" B="48" A="255"/>
<Vtx X="55" Y="33" Z="9" S="496" T="496" R="102" G="65" B="38" A="255"/>
<Vtx X="50" Y="42" Z="10" S="432" T="304" R="76" G="89" B="48" A="255"/>
<Vtx X="40" Y="42" Z="19" S="112" T="304" R="62" G="103" B="41" A="255"/>
<Vtx X="41" Y="47" Z="8" S="304" T="112" R="60" G="93" B="61" A="255"/>
<Vtx X="35" Y="46" Z="15" S="112" T="112" R="61" G="99" B="51" A="255"/>
<Vtx X="35" Y="50" Z="12" S="176" T="-16" R="44" G="91" B="76" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="47" Z="19" S="-16" T="176" R="48" G="114" B="28" A="255"/>
<Vtx X="21" Y="69" Z="8" S="304" T="432" R="85" G="81" B="49" A="255"/>
<Vtx X="13" Y="75" Z="6" S="496" T="496" R="61" G="106" B="35" A="255"/>
<Vtx X="18" Y="69" Z="13" S="432" T="304" R="85" G="81" B="49" A="255"/>
<Vtx X="27" Y="61" Z="7" S="112" T="304" R="88" G="66" B="63" A="255"/>
<Vtx X="21" Y="61" Z="18" S="304" T="112" R="99" G="66" B="45" A="255"/>
<Vtx X="26" Y="55" Z="14" S="112" T="112" R="95" G="65" B="55" A="255"/>
<Vtx X="26" Y="55" Z="18" S="176" T="-16" R="111" G="53" B="32" A="255"/>
<Vtx X="30" Y="55" Z="12" S="-16" T="176" R="83" G="53" B="80" A="255"/>
<Vtx X="34" Y="42" Z="36" S="304" T="432" R="80" G="89" B="42" A="255"/>
<Vtx X="37" Y="33" Z="41" S="496" T="496" R="84" G="65" B="69" A="255"/>
<Vtx X="39" Y="39" Z="33" S="432" T="304" R="80" G="89" B="42" A="255"/>
<Vtx X="29" Y="47" Z="30" S="112" T="304" R="83" G="93" B="22" A="255"/>
<Vtx X="38" Y="42" Z="23" S="304" T="112" R="67" G="103" B="33" A="255"/>
<Vtx X="31" Y="46" Z="21" S="112" T="112" R="74" G="99" B="27" A="255"/>
<Vtx X="35" Y="47" Z="19" S="176" T="-16" R="48" G="114" B="28" A="255"/>
<Vtx X="29" Y="50" Z="23" S="-16" T="176" R="88" G="91" B="0" A="255"/>
<Vtx X="41" Y="56" Z="-2" S="304" T="432" R="79" G="84" B="53" A="255"/>
<Vtx X="40" Y="59" Z="-12" S="496" T="496" R="88" G="90" B="17" A="255"/>
<Vtx X="37" Y="60" Z="-3" S="432" T="304" R="79" G="84" B="53" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="30" Y="59" Z="5" S="304" T="112" R="80" G="71" B="68" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="30" Y="55" Z="12" S="176" T="-16" R="83" G="53" B="80" A="255"/>
<Vtx X="28" Y="48" Z="15" S="-16" T="-16" R="82" G="85" B="47" A="255"/>
<Vtx X="35" Y="50" Z="12" S="-16" T="176" R="44" G="91" B="76" A="255"/>
<Vtx X="32" Y="52" Z="10" S="112" T="112" R="70" G="80" B="70" A="255"/>
<Vtx X="39" Y="50" Z="6" S="112" T="304" R="64" G="86" B="67" A="255"/>
<Vtx X="17" Y="60" Z="31" S="304" T="432" R="85" G="84" B="42" A="255"/>
<Vtx X="11" Y="59" Z="39" S="496" T="496" R="59" G="90" B="67" A="255"/>
<Vtx X="20" Y="56" Z="35" S="432" T="304" R="85" G="84" B="42" A="255"/>
<Vtx X="21" Y="59" Z="22" S="112" T="304" R="99" G="71" B="35" A="255"/>
<Vtx X="26" Y="50" Z="29" S="304" T="112" R="91" G="86" B="22" A="255"/>
<Vtx X="26" Y="52" Z="21" S="112" T="112" R="95" G="80" B="26" A="255"/>
<Vtx X="29" Y="50" Z="23" S="176" T="-16" R="88" G="91" B="0" A="255"/>
<Vtx X="26" Y="55" Z="18" S="-16" T="176" R="111" G="53" B="32" A="255"/>
</Vertex>

View file

@ -0,0 +1,10 @@
<Vertex Version="0">
<Vtx X="-107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="-107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="0" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="93" S="0" T="0" R="0" G="0" B="0" A="0"/>
<Vtx X="107" Y="98" Z="-93" S="0" T="0" R="0" G="0" B="0" A="0"/>
</Vertex>

Some files were not shown because too many files have changed in this diff Show more